/* YEB Tool App Visual Primitives
   Shared presentation utilities for trusted first-party tool applications.
   No diagnostic/business logic lives here. */
:root{
  --yeb-app-green:#004741;
  --yeb-app-deep:#002d29;
  --yeb-app-sand:#f0ede4;
  --yeb-app-paper:#f8f6ef;
  --yeb-app-ink:#123b35;
  --yeb-app-muted:#536b63;
  --yeb-app-line:#00474126;
  --yeb-app-warm:#d2c5a7;
  --yeb-app-focus:#bc8b38;
  --yeb-app-soft-green:#e2e8de;
  --yeb-app-soft-warm:#efe7d9;
  --yeb-app-ease:cubic-bezier(.2,.8,.2,1);
}
.yeb-app-dots{position:relative;isolation:isolate}
.yeb-app-dots::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(0,71,65,.16) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
.yeb-app-dots--dark::before{background-image:radial-gradient(rgba(240,237,228,.15) 1px,transparent 1px)}
.yeb-app-ink{display:inline;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='18' viewBox='0 0 360 18' preserveAspectRatio='none'%3E%3Cpath d='M4 12Q108 3 190 10T356 7M22 16Q168 8 329 13' fill='none' stroke='%23bba77c' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:0 100%;background-size:100% .22em;padding-bottom:.08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.yeb-app-concept{position:relative;overflow:hidden;border:1px solid var(--yeb-app-line);border-radius:12px;background-color:rgba(226,232,222,.72);background-image:radial-gradient(rgba(0,71,65,.16) 1px,transparent 1px);background-size:22px 22px;min-height:112px;padding:14px;isolation:isolate}
.yeb-app-concept::after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(210,197,167,.34);border-radius:50%;right:-70px;top:-92px;transform:rotate(18deg);pointer-events:none}
.yeb-app-concept-label{position:absolute;left:13px;top:10px;font-size:9px;line-height:1.2;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(18,59,53,.58)}
.yeb-app-paper{background:#fffaf0;border:1px solid rgba(0,71,65,.20);box-shadow:0 10px 24px rgba(0,45,41,.07);border-radius:7px}
.yeb-app-paper-stack{position:relative;isolation:isolate}
.yeb-app-paper-stack::before,.yeb-app-paper-stack::after{content:"";position:absolute;inset:7px 10px -7px;z-index:-1;border:1px solid rgba(0,71,65,.16);background:#ede7d8;border-radius:7px;transform:rotate(-1.6deg)}
.yeb-app-paper-stack::after{inset:11px 15px -11px 5px;background:#f5f0e5;transform:rotate(1.2deg);z-index:-2}
.yeb-app-system-label{font-size:10px;line-height:1.2;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--yeb-app-green)}
.yeb-app-transition{position:relative;overflow:hidden;border:1px solid rgba(240,237,228,.16);background:var(--yeb-app-deep);color:var(--yeb-app-sand);border-radius:12px;padding:20px}
.yeb-app-transition::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(240,237,228,.12) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent 90%)}
.yeb-app-float{animation:yeb-app-float 5.5s ease-in-out infinite}
.yeb-app-float--slow{animation-duration:7.2s;animation-delay:-1.1s}
.yeb-app-drift{animation:yeb-app-drift 8s ease-in-out infinite}
.yeb-app-draw{stroke-dasharray:160;stroke-dashoffset:160;animation:yeb-app-draw 2.2s var(--yeb-app-ease) forwards}
@keyframes yeb-app-float{50%{transform:translateY(-4px) rotate(.35deg)}}
@keyframes yeb-app-drift{50%{transform:translateX(4px)}}
@keyframes yeb-app-draw{to{stroke-dashoffset:0}}
@media(max-width:640px){
  .yeb-app-concept{min-height:58px;padding:8px 9px;border-radius:8px;background-size:18px 18px}
  .yeb-app-concept::after{width:110px;height:110px;right:-52px;top:-62px}
  .yeb-app-concept-label{font-size:7px;left:8px;top:6px}
  .yeb-app-paper-stack::before,.yeb-app-paper-stack::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .yeb-app-float,.yeb-app-float--slow,.yeb-app-drift,.yeb-app-draw{animation:none!important;transform:none!important;transition:none!important}
}
