.case-demo{--well-h:clamp(560px, 100vh, 1200px);--room:72px;perspective:800px;height:var(--well-h);place-content:center;gap:var(--space-24);background:radial-gradient(80% 55% at 50% 8%, #e07a5f29 0%, transparent 55%), radial-gradient(120% 90% at 50% 0%, var(--desk-glow) 0%, var(--desk) 62%);grid-column:span 6;display:grid;position:relative;overflow:hidden;container-type:inline-size}:root[data-theme=dark] .case-demo{background:radial-gradient(120% 90% at 50% 0%, var(--desk-glow) 0%, var(--desk) 62%)}.case-demo[data-failed]{--room:180px}.case-demo[data-touch]{height:auto;padding:var(--space-40) var(--tile-pad)}.case-demo[data-touch] iframe{display:none}.case-demo iframe{width:402px;max-width:none;height:812px;transform:scale(var(--s,1));transform-origin:0 0;opacity:0;pointer-events:none;transition:opacity var(--duration-move) var(--ease-interaction), visibility 0s;border:0;display:block;position:absolute;top:0;left:0}.case-demo[data-live]:not([data-court=armed]) iframe{visibility:hidden;transition-delay:0s, var(--duration-move)}.case-demo[data-live][data-court=armed] iframe{opacity:1;pointer-events:auto}.case-demo[data-live]:not([data-touch]){cursor:none}.case-demo[data-court=armed] .case-phone{cursor:auto}.case-phone{width:min(430px, 100cqw - 48px, (var(--well-h) - var(--room)) * .4565);display:block;position:relative}.case-demo[data-touch] .case-phone{width:min(280px,62vw)}.case-phone-wall{box-shadow:0 0 0 calc(2px * var(--s,1)) #050506;will-change:translate;background:linear-gradient(90deg,#2c2e34,#4b4e56 50%,#2c2e34);border-radius:16.0465%/7.64967%;position:absolute;inset:0}.case-phone-glare{opacity:0;pointer-events:none;will-change:opacity;border-radius:16.0465%/7.64967%;position:absolute;inset:0;overflow:hidden}.case-phone-glare>span{will-change:transform;background:linear-gradient(#0000004d 0%,#0000001f 28%,#0000 44% 52%,#ffffff1a 70%,#ffffff42 100%);position:absolute;top:50%;left:50%;translate:-50% -50%}.case-demo[data-court=armed] .case-phone-glare,.case-demo[data-touch] .case-phone-glare{visibility:hidden}.case-ghost{transition:opacity var(--duration-move) var(--ease-interaction);display:block;position:absolute;inset:0}.case-demo[data-live][data-court=armed] .case-ghost{opacity:0}.case-demo-start{cursor:inherit;background:0 0;border:0;padding:0;display:none;position:absolute;inset:0}.case-demo[data-live]:not([data-court=armed],[data-touch]) .case-demo-start{display:block}.case-demo-start:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.case-demo-hint{z-index:1;color:var(--text);text-transform:none;white-space:nowrap;pointer-events:none;opacity:0;will-change:translate;transition:opacity var(--duration-hint) var(--ease-interaction);align-items:center;display:none;position:absolute;top:0;left:0}.case-demo[data-live]:not([data-court=armed],[data-touch]) .case-demo-hint{display:inline-flex}.case-demo[data-court] .case-demo-hint{opacity:1;transition:none}.case-demo[data-court=over] .case-demo-hint{padding:var(--space-8) var(--space-12);background:var(--tile);box-shadow:inset 0 0 0 1px var(--rule)}.case-demo-hint svg{width:18px;height:18px;stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;fill:none;display:none}.case-demo-hint .case-demo-hint-take{display:none}.case-demo[data-court=over] .case-demo-hint .case-demo-hint-take{display:block}.case-skip{left:var(--space-24);top:var(--space-24);z-index:2;min-height:var(--touch);padding:var(--space-12) var(--space-20);color:var(--text);background:var(--tile);box-shadow:inset 0 0 0 1px var(--rule);align-items:center;display:inline-flex;position:absolute}.case-skip:not(:focus-visible){clip-path:inset(50%)}.case-demo-status{left:50%;bottom:var(--space-40);z-index:1;width:min(var(--measure-case), 100% - var(--space-40) * 2);text-transform:none;letter-spacing:.04em;color:var(--text-2);font-size:var(--text-detail-sub);text-align:center;pointer-events:none;transition:opacity var(--duration-morph) ease, visibility var(--duration-morph);line-height:1.5;position:absolute;translate:-50%}.case-demo-status a{color:var(--text);border-bottom:1px solid var(--rule-soft);pointer-events:auto}.case-demo-status a:hover{border-bottom-color:var(--accent)}.case-demo[data-live] .case-demo-status,.case-demo[data-touch] .case-demo-status{opacity:0;visibility:hidden}.case-demo[data-failed] .case-demo-status{opacity:1;visibility:visible}.case-demo-failed{display:none}.case-demo[data-failed] .case-demo-failed{display:inline}.case-demo[data-failed] .case-demo-loading{display:none}.case-demo-open{min-height:var(--touch);color:var(--text);padding:var(--space-12) var(--space-20);cursor:pointer;box-shadow:inset 0 0 0 1px var(--rule-soft);background:0 0;border:0;justify-content:center;align-items:center;display:none}.case-demo[data-touch] .case-demo-open{display:inline-flex}.case-modal{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;transition:translate var(--duration-sheet) var(--ease-sheet);border:0;margin:0;padding:0;inset:0;overflow:hidden;translate:0 100%}.case-modal[open]{flex-direction:column;display:flex}.case-modal[data-shown]{translate:0}.case-modal[data-dragging]{transition:none}.case-modal::backdrop{opacity:0;transition:opacity var(--duration-sheet) var(--ease-sheet);background:#0006}.case-modal[data-shown]::backdrop{opacity:1}:root[data-sheet] body:after{opacity:0}.grid{transition:scale var(--duration-sheet) var(--ease-sheet)}:root[data-sheet] .grid{transform-origin:50% var(--sheet-origin,0);scale:.94}.case-modal-body{flex:1;width:100%;min-height:0}.case-modal-body iframe{border:0;width:100%;height:100%;display:block}.case-modal-grab{width:100%;height:calc(var(--space-24) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 0 0;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none;place-items:center;display:grid}.case-modal-grab span{width:calc(var(--space-32) + var(--space-4));height:var(--space-4);border-radius:var(--radius-pill);background:var(--text-muted);opacity:.6}.case-modal-grab:focus-visible{outline-offset:calc(-1 * var(--space-4))}theme-sky{display:block}.ts-btn{appearance:none;aspect-ratio:1;width:100%;color:inherit;cursor:pointer;transition:transform var(--duration-tap) var(--ease-interaction);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;overflow:visible}@media (hover:hover) and (pointer:fine){.ts-btn:hover{transform:translateY(-1px)}}.ts-btn:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.ts-glyph{width:100%;height:100%;display:block;overflow:visible}.ts-disc{transform-box:fill-box;transform-origin:50%;transition:opacity .6s ease, transform .6s var(--ease-overshoot)}.ts-corona,.ts-glare{transform-box:fill-box;transform-origin:50%;transition:opacity .4s ease, transform .45s var(--ease-overshoot)}.ts-moon,.ts-moon-glow,.ts-night{opacity:0;transition:opacity var(--duration-settle) ease}.ts-ambient{animation:3s ease-in-out infinite paused ts-twinkle}@keyframes ts-twinkle{0%,to{opacity:var(--o,.5)}50%{opacity:.25}}.ts-dipper-line,.ts-dipper-star{transition:opacity .5s}.ts-extra{transition:opacity .6s}:root:not([data-theme=dark]) .ts-dipper-star,:root:not([data-theme=dark]) .ts-ambient,:root:not([data-theme=dark]) .ts-extra{fill:#59639e}:root:not([data-theme=dark]) .ts-dipper-line{stroke:#59639e}@keyframes ts-shimmer{0%,to{opacity:.95}50%{opacity:.6}}.ts-glyph.is-dark .ts-disc{opacity:0;transform:scale(.82)}.ts-glyph.is-dark .ts-corona,.ts-glyph.is-dark .ts-glare{opacity:0;transform:scale(.4)}.ts-glyph.is-dark .ts-moon,.ts-glyph.is-dark .ts-moon-glow,.ts-glyph.is-dark .ts-night{opacity:1}.ts-glyph.is-dark.is-seen .ts-ambient{animation-play-state:running}@media (hover:hover) and (pointer:fine){.ts-glyph:not(.is-dark):hover .ts-glare{transform:scale(1.16)}.ts-glyph:hover .ts-corona{transform:scale(1.32)}.ts-glyph.is-dark:hover .ts-dipper-line{opacity:.55}.ts-glyph.is-dark:hover .ts-dipper-star{opacity:1;animation:2.4s ease-in-out infinite ts-shimmer}.ts-glyph.is-dark:hover .ts-extra{opacity:var(--eo)}}@media (prefers-reduced-motion:reduce){.ts-disc,.ts-corona,.ts-glare,.ts-moon,.ts-moon-glow,.ts-night,.ts-dipper-line,.ts-dipper-star,.ts-extra{transition:none}.ts-ambient,.ts-glyph.is-dark:hover .ts-dipper-star{animation:none}}
