/* assembl lab · twin stage v1. The stage is a lit maquette on a paper table; everything laid over it is glass and type, quiet until touched. */
.tw{--tw-ink:var(--ink,#492B3E);--tw-paper:var(--paper,#FFFDFB);--tw-line:var(--line,#E4DADD);--tw-rose:var(--rose,#916A70);--tw-live:var(--live,#D9822B);--tw-mono:var(--mono,"IBM Plex Mono",ui-monospace,Menlo,monospace);--tw-sans:var(--display,"Instrument Sans",system-ui,sans-serif);
  --tw-glass:color-mix(in srgb,var(--tw-paper) 80%,transparent);--tw-shadow:0 1px 2px rgba(36,11,33,.06),0 12px 32px -18px rgba(36,11,33,.35);
  border:1px solid var(--tw-line)!important;border-radius:18px!important;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 30px 60px -40px rgba(36,11,33,.45)}
.tw canvas{outline:none}
:where(.tw) .views button,:where(.tw) .hud,:where(.tw) .badge,:where(.tw) .tag,.tw-btn,.tw-card,.tw-hover,.tw-pop,.tw-tour,.tw-following{-webkit-backdrop-filter:blur(12px) saturate(1.15);backdrop-filter:blur(12px) saturate(1.15)}
:where(.tw) .views button{background:var(--tw-glass);border-color:color-mix(in srgb,var(--tw-ink) 14%,transparent)}
:where(.tw) .views button[aria-pressed="true"]{background:var(--tw-ink);color:var(--tw-paper)}
:where(.tw) .views{right:auto;max-width:calc(100% - 360px)}
:where(.tw) .tag{background:var(--tw-glass);border-color:color-mix(in srgb,var(--tw-ink) 12%,transparent);border-radius:9px;box-shadow:var(--tw-shadow)}
:where(.tw) .hud,:where(.tw) .badge{background:var(--tw-glass)}
:where(.tw) .badge{right:140px}
.tw-ui{position:absolute;inset:0;pointer-events:none;font-family:var(--tw-sans);color:var(--tw-ink);z-index:2}
.tw-ui>*{pointer-events:auto}
.tw-tools{position:absolute;right:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:320px}
.tw-btn{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--tw-ink) 14%,transparent);background:var(--tw-glass);color:var(--tw-ink);border-radius:999px;padding:5px 11px;font:500 11.5px var(--tw-mono);cursor:pointer;line-height:1.3;transition:background .2s,border-color .2s,color .2s}
.tw-btn:hover{border-color:var(--tw-ink)}
.tw-btn:focus-visible,.tw-item:focus-visible,.tw-link:focus-visible,.tw-x:focus-visible,.tw-dial [tabindex]:focus-visible{outline:2px solid var(--tw-ink);outline-offset:2px}
.tw-btn[aria-expanded="true"],.tw-btn.tw-on,.tw-btn[aria-pressed="true"]{background:var(--tw-ink);color:var(--tw-paper);border-color:var(--tw-ink)}
.tw-btn.tw-primary{background:var(--tw-ink);color:var(--tw-paper);border-color:var(--tw-ink)}
.tw-btn[disabled]{opacity:.4;cursor:default}
.tw-ico{padding:5px 8px}.tw-ico svg{width:16px;height:16px;display:block}
.tw-ico[aria-pressed="false"] .tw-wave{display:none}.tw-ico[aria-pressed="true"] .tw-mute{display:none}
.tw-pop{z-index:3;position:absolute;right:12px;top:48px;width:min(300px,calc(100% - 24px));max-height:calc(100% - 64px);overflow:auto;background:var(--tw-glass);border:1px solid color-mix(in srgb,var(--tw-ink) 12%,transparent);border-radius:14px;box-shadow:var(--tw-shadow);padding:8px}
.tw-pop-h{font:500 10.5px var(--tw-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tw-rose);padding:4px 6px 8px}
.tw-item{display:grid;gap:1px;width:100%;text-align:left;appearance:none;border:0;background:transparent;color:var(--tw-ink);border-radius:9px;padding:7px 8px;cursor:pointer;font:500 13px var(--tw-sans)}
.tw-item span{font:400 11.5px var(--tw-mono);color:var(--tw-rose)}
.tw-item:hover,.tw-item[aria-pressed="true"]{background:color-mix(in srgb,var(--tw-ink) 8%,transparent)}
.tw-hover,.tw-card{position:absolute;left:0;top:0;min-width:170px;max-width:260px;background:var(--tw-glass);border:1px solid color-mix(in srgb,var(--tw-ink) 14%,transparent);border-radius:12px;box-shadow:var(--tw-shadow);padding:8px 10px 9px;font:400 12.5px/1.4 var(--tw-sans);will-change:transform}
.tw-hover{pointer-events:none}
.tw-hover::after,.tw-card::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;margin-left:-5px;background:inherit;border-right:1px solid color-mix(in srgb,var(--tw-ink) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--tw-ink) 14%,transparent);transform:rotate(45deg)}
.tw-pinned{border-color:var(--tw-ink)}
.tw-ch{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.tw-ch b{font:600 13px/1.25 var(--tw-sans);color:var(--tw-ink)}
.tw-cv{margin-top:3px;font:500 12px/1.45 var(--tw-mono);color:var(--tw-ink);font-variant-numeric:tabular-nums}
.tw-cv .m,.tw-cv small{color:var(--tw-rose)}.tw-cv .a{color:var(--tw-live)}.tw-cv .r{color:var(--alert,#B3261E)}.tw-cv .g{color:var(--good,#3F7A55)}
.tw-cf{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:6px;font:400 10.5px var(--tw-mono);color:var(--tw-rose)}
.tw-cf a{color:inherit}
.tw-truth{font:500 9.5px var(--tw-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:0 6px;color:var(--tw-rose)}
.tw-t-estimate{color:var(--tw-live)}.tw-t-live,.tw-t-reported,.tw-t-latestpublished{color:var(--good,#3F7A55)}
.tw-acts{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--tw-ink) 10%,transparent)}
.tw-link{appearance:none;border:0;background:none;padding:0;color:var(--tw-ink);font:500 11.5px var(--tw-mono);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:2px;cursor:pointer}
.tw-x{appearance:none;border:0;background:none;color:var(--tw-rose);font:400 18px/1 var(--tw-sans);cursor:pointer;padding:0 2px;margin:-3px -3px 0 0}
.tw-following{position:absolute;left:50%;top:52px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;background:var(--tw-glass);border:1px solid var(--tw-ink);border-radius:999px;padding:5px 12px;font:500 11.5px var(--tw-mono)}
.tw-tour{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);width:min(440px,calc(100% - 24px));background:var(--tw-glass);border:1px solid var(--tw-ink);border-radius:16px;box-shadow:var(--tw-shadow);padding:11px 14px 12px}
.tw-tour-h{display:flex;justify-content:space-between;gap:8px;font:500 10.5px var(--tw-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tw-rose)}
.tw-tour-t{display:block;margin-top:4px;font:600 16px/1.25 var(--tw-sans);color:var(--tw-ink)}
.tw-tour p{margin:4px 0 0;font:400 13.5px/1.5 var(--tw-sans);color:var(--body,#654A4E)}
.tw-tour p b{color:var(--tw-ink);font-weight:600}
.tw-tour-f{display:flex;align-items:center;gap:8px;margin-top:10px}
.tw-dots{display:flex;gap:4px;margin-right:auto}.tw-dots i{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--tw-ink) 18%,transparent)}.tw-dots i.on{background:var(--tw-ink);width:16px;border-radius:3px}.tw-dots i.done{background:var(--tw-ink)}
.tw:has(.tw-touring) .hud,.tw:has(.tw-touring) #tags{opacity:.35;transition:opacity .3s}
.tw-dial .tw-dhand.tw-held circle{fill:var(--tw-paper);stroke:var(--tw-ink);stroke-width:2}
.tw-dialwrap{position:absolute;right:10px;bottom:10px}
.tw-dial{display:block;filter:drop-shadow(0 6px 14px rgba(36,11,33,.18));touch-action:none;cursor:pointer;user-select:none}
.tw-dial .tw-months path{fill:color-mix(in srgb,var(--tw-rose) 38%,transparent);transition:fill .2s}
.tw-dial .tw-months path.on{fill:var(--tw-ink)}
.tw-dial .tw-months:focus-visible{outline:none}.tw-dial .tw-months:focus-visible path{stroke:var(--tw-ink);stroke-width:.8}
.tw-dial .tw-dtrack{fill:var(--tw-glass);stroke:color-mix(in srgb,var(--tw-ink) 22%,transparent);stroke-width:1}
.tw-dial .tw-dmarks line{stroke-width:2.2;stroke-linecap:round}
.tw-dial .tw-dhand line{stroke:var(--tw-ink);stroke-width:1.6;stroke-linecap:round}
.tw-dial .tw-dhand circle{fill:var(--tw-ink);stroke:var(--tw-paper);stroke-width:1.5}
.tw-dial .tw-dhand:focus-visible circle{stroke:var(--tw-rose);stroke-width:2.5}
.tw-dial text{font:500 10px var(--tw-mono);fill:var(--tw-ink)}.tw-dial .tw-dt2{font-size:8.5px;fill:var(--tw-rose);letter-spacing:.06em;text-transform:uppercase}
.tw-flash{animation:twflash 1.6s ease}
@keyframes twflash{0%,100%{box-shadow:0 0 0 0 transparent}20%{box-shadow:0 0 0 3px color-mix(in srgb,var(--live,#D9822B) 55%,transparent)}}
.tw-poster-img{display:block;width:100%;height:auto;min-height:300px;object-fit:cover}
html.tw-poster .tw>:not(canvas):not(.tw-poster-img),html.tw-poster .tw-ui,html.tw-poster .tw .views,html.tw-poster .tw .hud,html.tw-poster .tw .badge,html.tw-poster #tags,html.tw-poster #al-nav,html.tw-poster #assembl-ask,html.tw-poster .aa-launch{display:none!important}
@media (max-width:640px){
  :where(.tw) .views{max-width:none;right:12px}
  .tw-following{top:auto;bottom:96px}
  .tw-tools{top:auto;bottom:10px;right:10px;max-width:60%}
  .tw-pop{top:auto;bottom:48px}
  :where(.tw) .badge{right:12px;top:auto;bottom:92px}
  .tw-dialwrap{right:auto;left:10px;bottom:46px;transform:scale(.78);transform-origin:left bottom}
  .tw-hover,.tw-card{max-width:220px;font-size:12px}
  .tw-tour{bottom:10px}
  .tw-touring .tw-tools,.tw-touring .tw-dialwrap{visibility:hidden}
}
@media (prefers-reduced-motion:reduce){.tw-btn{transition:none}.tw-flash{animation:none;outline:2px solid var(--live,#D9822B)}}
