.tt-viewer{--tt-bg: var(--bg, #faf8f4);--tt-surface: var(--cream, #f5f2ed);--tt-raised: var(--white, #fff);--tt-ink: var(--ink, #1a1815);--tt-muted: var(--muted, #6b6560);--tt-line: var(--border, #e4dfd8);--tt-accent: var(--orange, #d4731a);--tt-accent-ink: #fff;--tt-teal: var(--teal-dark, #077590);--tt-groove: rgba(26, 24, 21, .045);--tt-stage-bg: #f3efe8;--tt-plaque: var(--ink, #1a1815);--tt-plaque-ink: var(--parchment, #faf8f4);--tt-display: "Space Grotesk", "Instrument Sans", system-ui, sans-serif;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;color:var(--tt-ink)}@media (max-width: 960px){.tt-viewer{grid-template-columns:minmax(0,1fr)}}.tt-viewer--stacked{grid-template-columns:minmax(0,1fr)}.tt-viewer [hidden]{display:none!important}.tt-stage{position:relative;border:1px solid var(--tt-line);border-radius:16px;overflow:hidden;height:min(74vh,680px);min-height:440px;background:repeating-radial-gradient(circle at 50% 58%,transparent 0 9px,var(--tt-groove) 9px 10px),var(--tt-stage-bg)}.tt-poster{position:absolute;inset:56px 16px 84px;display:flex;align-items:center;justify-content:center;transition:opacity .5s}.tt-poster img{width:auto;height:auto;max-width:100%;max-height:100%;mix-blend-mode:darken;-webkit-mask-image:linear-gradient(#000 90%,transparent),linear-gradient(90deg,transparent,#000 10%,#000 88%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(#000 90%,transparent),linear-gradient(90deg,transparent,#000 10%,#000 88%,transparent);mask-composite:intersect}.tt-stage[data-state=ready] .tt-poster{opacity:0;pointer-events:none}.tt-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;opacity:0;transition:opacity .5s}.tt-stage[data-state=ready] canvas{opacity:1}.tt-stage canvas:active{cursor:grabbing}.tt-stage.is-hovering canvas{cursor:pointer}.tt-status{position:absolute;left:16px;right:16px;bottom:16px;margin:0;text-align:center;color:var(--tt-muted);font-size:14px;pointer-events:none}.tt-status:empty{display:none}.tt-stage[data-state=error] .tt-status{color:var(--tt-ink);background:color-mix(in srgb,var(--tt-raised) 92%,transparent);border:1px solid var(--tt-line);border-radius:10px;padding:10px 12px}.tt-stage:not([data-state=ready]) .tt-top,.tt-stage:not([data-state=ready]) .tt-dock{visibility:hidden}svg.tt-ov{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}svg.tt-ov line{stroke:var(--tt-plaque);stroke-width:1.5}svg.tt-ov circle{fill:var(--tt-raised);stroke:var(--tt-plaque);stroke-width:2}.tt-plaques{position:absolute;inset:0;pointer-events:none}.tt-plaque{position:absolute;pointer-events:none;background:var(--tt-plaque);color:var(--tt-plaque-ink);font:600 11px/1.25 var(--tt-display);letter-spacing:.07em;text-transform:uppercase;padding:7px 9px;border-radius:5px;max-width:190px;transform:translate(-50%,-50%);text-align:center}.tt-tip{position:absolute;pointer-events:none;transform:translate(-50%,calc(-100% - 12px));background:var(--tt-plaque);color:var(--tt-plaque-ink);font:600 12px/1 Instrument Sans,sans-serif;padding:7px 9px;border-radius:6px;white-space:nowrap}.tt-top{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;pointer-events:none}.tt-top>*{pointer-events:auto}.tt-seg{display:inline-flex;background:color-mix(in srgb,var(--tt-raised) 90%,transparent);border:1px solid var(--tt-line);border-radius:999px;padding:3px;backdrop-filter:blur(8px)}.tt-seg button{border:0;background:transparent;border-radius:999px;padding:8px 14px;font:600 13px/1 Instrument Sans,sans-serif;color:var(--tt-muted);cursor:pointer}.tt-seg button[aria-selected=true]{background:var(--tt-ink);color:var(--tt-bg)}.tt-cam{display:inline-flex;gap:6px}.tt-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--tt-line);background:color-mix(in srgb,var(--tt-raised) 90%,transparent);color:var(--tt-ink);cursor:pointer;backdrop-filter:blur(8px)}.tt-icon[aria-pressed=true]{border-color:var(--tt-accent);color:var(--tt-accent)}.tt-icon svg{width:18px;height:18px}.tt-dock{position:absolute;left:12px;right:12px;bottom:12px;background:color-mix(in srgb,var(--tt-raised) 92%,transparent);backdrop-filter:blur(10px);border:1px solid var(--tt-line);border-radius:14px;padding:10px}.tt-rail{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tt-lbl{font:600 11px/1 Instrument Sans,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tt-muted);white-space:nowrap}.tt-rail input{flex:1 1 160px;min-width:0;accent-color:var(--tt-accent)}.tt-btn{font:600 13px/1 Instrument Sans,sans-serif;color:var(--tt-ink);background:var(--tt-surface);border:1px solid var(--tt-line);border-radius:9px;padding:9px 12px;cursor:pointer;white-space:nowrap}.tt-btn:hover{border-color:var(--tt-muted)}.tt-btn--primary{background:var(--tt-accent);color:var(--tt-accent-ink);border-color:var(--tt-accent)}.tt-btn:disabled{opacity:.45;cursor:default}.tt-viewer button:focus-visible,.tt-viewer input:focus-visible,.tt-viewer select:focus-visible,.tt-viewer a:focus-visible{outline:2px solid var(--tt-teal);outline-offset:2px}.tt-steps{display:flex;gap:8px;align-items:stretch}.tt-strip{flex:1;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;min-width:0;padding-bottom:2px}.tt-step{flex:0 0 auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;text-align:left;border:1px solid var(--tt-line);border-radius:10px;background:var(--tt-raised);color:var(--tt-ink);padding:7px 10px 7px 7px;font:600 12px/1.15 Instrument Sans,sans-serif;cursor:pointer;max-width:150px}.tt-step b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--tt-surface);border:1px solid var(--tt-line);font:700 11px/1 var(--tt-display)}.tt-step.is-done b{background:var(--tt-teal);border-color:var(--tt-teal);color:var(--tt-raised)}.tt-step[aria-current=step]{border-color:var(--tt-accent);box-shadow:inset 0 0 0 1px var(--tt-accent)}.tt-step[aria-current=step] b{background:var(--tt-accent);border-color:var(--tt-accent);color:var(--tt-accent-ink)}.tt-ctrl{display:flex;gap:6px;align-items:center}.tt-side{display:grid;gap:14px;min-width:0}.tt-panel{border:1px solid var(--tt-line);border-radius:16px;background:var(--tt-surface);padding:18px;display:grid;gap:10px}.tt-kicker{font:600 11px/1 Instrument Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--tt-teal)}.tt-panel :is(h2,h3){font:700 24px/1.12 var(--tt-display);margin:0;letter-spacing:-.015em;text-wrap:balance}.tt-panel p{margin:0;color:var(--text-body, #2a2725)}.tt-issue{border-top:1px solid var(--tt-line);padding-top:10px;font-size:15px}.tt-panel .tt-issue{color:var(--tt-muted)}.tt-issue b{color:var(--tt-ink)}.tt-more{font-weight:600;font-size:15px;color:var(--tt-teal)}.tt-more:hover{text-decoration:underline}.tt-chips :is(h3,h4){font:600 11px/1 Instrument Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--tt-muted);margin:0 0 7px}.tt-chips{display:grid;gap:12px}.tt-row{display:flex;flex-wrap:wrap;gap:6px}.tt-chip{font:500 13px/1 Instrument Sans,sans-serif;padding:7px 10px;border-radius:999px;border:1px solid var(--tt-line);background:transparent;color:var(--tt-ink);cursor:pointer}.tt-chip[aria-pressed=true]{background:var(--tt-ink);color:var(--tt-bg);border-color:var(--tt-ink)}.tt-chip:disabled{opacity:.4;cursor:default}.tt-viewer select{font:600 14px/1.2 Instrument Sans,sans-serif;color:var(--tt-ink);background:var(--tt-raised);border:1px solid var(--tt-line);border-radius:10px;padding:10px;width:100%}.tt-prog{height:6px;border-radius:3px;background:var(--tt-line);overflow:hidden}.tt-prog i{display:block;height:100%;background:var(--tt-accent);width:10%;transition:width .4s}.tt-tabs{display:flex;gap:4px;border-bottom:1px solid var(--tt-line)}.tt-tabs button{border:0;background:none;padding:8px 10px;font:600 12px/1 Instrument Sans,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tt-muted);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.tt-tabs button[aria-selected=true]{color:var(--tt-ink);border-color:var(--tt-accent)}.tt-pager{display:flex;gap:8px}.tt-pager .tt-btn{flex:1}@media (max-width: 560px){.tt-stage{height:78vh;height:78svh;min-height:520px}.tt-step{max-width:120px}.tt-rail{flex-wrap:nowrap;gap:10px}.tt-rail .tt-lbl{display:none}.tt-rail input{flex:1 1 auto}.tt-poster{inset:64px 8px 120px}}@media (prefers-reduced-motion: reduce){.tt-prog i,.tt-poster,.tt-stage canvas{transition:none}}
