:root{--play-scroll-slack: 8vh;color-scheme:dark;--bg: #12140f;--bg-elevated: #1c1f17;--ink: #f3efe4;--muted: #b7b09e;--line: #3a3d32;--accent: #d7f25a;--accent-ink: #1a1d14;--card: #191c16;--shadow: 0 18px 40px rgba(0, 0, 0, .28);font-family:IBM Plex Sans,Segoe UI,sans-serif;line-height:1.45;font-weight:430;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 500px at 10% -10%,#2a311c 0%,transparent 55%),var(--bg)}button,a{font:inherit}.app{max-width:1080px;margin:0 auto;padding:32px 20px 64px}.eyebrow{margin:0 0 8px;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;color:var(--accent)}h1,h2{font-family:"IBM Plex Serif",Georgia,serif;font-weight:560;letter-spacing:-.03em;margin:0}.select-screen__header{max-width:640px;margin-bottom:36px}.select-screen__header h1{font-size:clamp(2.2rem,5vw,3.4rem)}.select-screen__lede{color:var(--muted);margin:12px 0 0}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.game-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}.game-card:hover,.game-card:focus-visible{transform:translateY(-3px);border-color:var(--accent);outline:none}.game-card__meta{display:flex;justify-content:space-between;align-items:center}.game-card__order{font-variant-numeric:tabular-nums;color:var(--accent)}.game-card__status{font-size:.75rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 8px}.game-card__title{margin:0;font-size:1.1rem;line-height:1.3}.placeholder-panel__focus li{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#24281d;border:1px solid var(--line)}.game-shell__header{display:grid;grid-template-columns:88px 1fr 88px;align-items:start;gap:12px;margin-bottom:28px}.game-shell__heading{text-align:center}.game-shell__heading h1{font-size:clamp(1.6rem,4vw,2.4rem)}.back-button{appearance:none;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:999px;padding:8px 14px;cursor:pointer}.back-button:hover,.back-button:focus-visible{border-color:var(--accent);outline:none}.placeholder-panel{background:var(--card);border:1px dashed var(--line);border-radius:20px;padding:28px;min-height:320px}.placeholder-panel__kicker{margin:0 0 12px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.placeholder-panel__hint{color:var(--muted)}.placeholder-panel__focus{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}@media(max-width:640px){.game-shell__header{grid-template-columns:1fr}.game-shell__heading{text-align:left}}html.session-lock,html.session-lock body,html.session-lock #root{height:100dvh;overflow:hidden;overscroll-behavior:none}.tap-pre{max-width:720px}.tap-pre__header h1{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:8px}.tap-pre__header .back-button{margin-bottom:16px}.signal-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:20px 0}.signal-panel p{margin:0 0 12px}.signal-panel ul{margin:0;padding-left:18px;color:var(--muted)}.tap-label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.9rem}.tap-textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:12px;resize:vertical}.tap-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.tap-btn{appearance:none;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:999px;padding:10px 16px;cursor:pointer}.tap-btn--accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tap-play{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;background:var(--bg)}.tap-play__bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);flex-shrink:0}.tap-play__count,.tap-play__game{margin:0;font-variant-numeric:tabular-nums;color:var(--muted)}.play-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}.play-area:after{content:"";position:absolute;left:0;right:0;top:100%;height:var(--play-scroll-slack);background:inherit;pointer-events:none}.play-area{position:relative;flex:0 0 auto;height:100%;min-height:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain;background:#15170f}.play-area__banner{position:absolute;left:50%;top:18px;transform:translate(-50%);margin:0;color:var(--muted);pointer-events:none}.cowboy-play .tap-play__bar{gap:14px;background:linear-gradient(180deg,#241d14,#1b1710);border-bottom:1px solid #4a3a24}.cowboy-score{color:var(--accent);font-weight:600}.cowboy-area{background:#2b2519;cursor:none}.cowboy-layer{position:absolute;inset:0;pointer-events:none}.cowboy-target{position:absolute;left:0;top:0;pointer-events:none;background:#b8925c;border:2px solid #6e5433;display:grid;place-items:center;will-change:transform}.cowboy-target--civilian{background:#7fa8c9;border-color:#35566f}.cowboy-target--civilian:before{content:"";position:absolute;top:-7px;width:82%;height:8px;border-radius:4px;background:#f1e0b8;box-shadow:0 -5px 0 -1px #f1e0b8}.cowboy-target__ring{position:absolute;border-radius:50%;border:2px solid rgba(38,28,16,.55)}.cowboy-target__ring--body{width:75%;height:48%}.cowboy-target__ring--bullseye{width:35%;height:22%;background:#261c1040}.cowboy-reticle{position:absolute;left:0;top:0;width:26px;height:26px;pointer-events:none;border:1px solid rgba(243,239,228,.85);border-radius:50%;will-change:transform}.cowboy-reticle:before,.cowboy-reticle:after{content:"";position:absolute;background:#f3efe4d9}.cowboy-reticle:before{left:50%;top:-8px;width:1px;height:42px;transform:translate(-50%)}.cowboy-reticle:after{top:50%;left:-8px;height:1px;width:42px;transform:translateY(-50%)}.cowboy-fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 16px 16px;margin:18px 0 0}.cowboy-fieldset legend{color:var(--muted);font-size:.85rem;padding:0 6px}.cowboy-choices{display:flex;flex-wrap:wrap;gap:8px}.cowboy-row{display:flex;gap:8px;align-items:center}.subject-tags{margin-top:8px}.subject-tags .tap-btn{font-size:.8rem;padding:4px 10px;border-radius:999px}.cowboy-input{font:inherit;flex:1;min-width:0;color:var(--ink);background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.cowboy-hint,.cowboy-warning{margin:10px 0 0;color:var(--muted);font-size:.85rem}.cowboy-warning{color:#d8a58f}.tap-btn:disabled,.cowboy-input:disabled{opacity:.4;cursor:not-allowed}.cowboy-fieldset:disabled{opacity:.45}.cowboy-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0 0}.cowboy-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.cowboy-stat dt{color:var(--muted);font-size:.78rem}.cowboy-stat dd{margin:4px 0 0;font-size:1.15rem;font-variant-numeric:tabular-nums}.cowboy-error{color:#ef7d6a;margin:14px 0 0}.cowboy-raw{margin-top:12px;width:100%;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem}.swipe-play .tap-play__bar{gap:14px;background:linear-gradient(180deg,#1b2027,#14181d);border-bottom:1px solid #2f3a46}.swipe-area{background:#1a1e17;cursor:grab}.swipe-area:active{cursor:grabbing}.swipe-layer{position:absolute;inset:0;pointer-events:none}.swipe-card{position:absolute;left:0;top:0;pointer-events:none;display:grid;place-items:center;box-shadow:0 20px 44px #0000006b;border:1px solid rgba(0,0,0,.28);will-change:transform}.swipe-card__arrow{font-size:5.5rem;line-height:1;font-weight:600}.swipe-card--exit{transition:transform .2s cubic-bezier(.22,.61,.36,1),opacity .2s linear}.swipe-card--reject{animation:swipe-reject .2s ease-out}@keyframes swipe-reject{0%,to{filter:none}50%{filter:brightness(.72)}}.swipe-arrows{display:flex;gap:10px;margin:10px 0 0;font-size:1.5rem;color:var(--accent)}.swipe-polar__title{margin:26px 0 6px;font-size:1.1rem}.swipe-polar{overflow-x:auto;margin-top:10px}.swipe-polar__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.86rem}.swipe-polar__table th,.swipe-polar__table td{text-align:right;padding:7px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.swipe-polar__table th:first-child,.swipe-polar__table td:first-child{text-align:left}.swipe-polar__table th{color:var(--muted);font-weight:500;letter-spacing:.04em}.swipe-polar__table tr.is-empty td{color:var(--muted);opacity:.55}.swipe-polar__glyph{color:var(--accent)}.dragdrop-play .tap-play__bar{gap:14px;background:linear-gradient(180deg,#1d2320,#151a18);border-bottom:1px solid #33413b}.dragdrop-area{background:#171b19;cursor:grab}.dragdrop-area:active{cursor:grabbing}.dragdrop-layer{position:absolute;inset:0;pointer-events:none}.dragdrop-slot,.dragdrop-piece{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.dragdrop-slot{border:2px dashed #7d8f86;background:transparent}.dragdrop-piece{background:#9fd4b8;border:1px solid rgba(0,0,0,.3);box-shadow:0 14px 30px #00000061}.dragdrop-piece--locked{background:var(--accent);border-color:var(--accent)}.dragdrop-slot--locked{border-style:solid;border-color:var(--accent)}.dragdrop-size-hint{color:var(--muted);font-size:.78em}.typing-play .tap-play__bar{gap:14px;background:linear-gradient(180deg,#1e1c26,#16151c);border-bottom:1px solid #3a3648}.typing-area{display:grid;place-content:center;gap:26px;padding:24px;background:#16181a;cursor:text}.typing-layer{display:grid;gap:22px;justify-items:center;width:min(720px,90vw)}.typing-prompt{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(1.1rem,2.6vw,1.7rem);line-height:1.6;letter-spacing:.02em;text-align:center;color:var(--ink);-webkit-user-select:none;user-select:none}.typing-input{width:100%;padding:14px 16px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(1rem,2.2vw,1.4rem);color:var(--ink);background:#101214;border:1px solid var(--line);border-radius:12px;outline:none}.typing-input:focus{border-color:var(--accent)}.typing-clock{position:absolute;left:0;top:0;height:3px;background:var(--accent);opacity:.55}.captcha-play .tap-play__bar{gap:14px;background:linear-gradient(180deg,#241f1a,#1a1613);border-bottom:1px solid #4a3e30}.captcha-area{display:grid;place-content:center;gap:22px;padding:20px;background:#1a1714;cursor:text}.captcha-layer{display:grid;gap:22px;justify-items:center}.captcha-plate{display:block;border-radius:10px;box-shadow:0 16px 34px #0006}.captcha-input{width:220px;padding:12px 14px;text-align:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.5rem;letter-spacing:.4em;text-indent:.4em;color:var(--ink);background:#101214;border:1px solid var(--line);border-radius:12px;outline:none}.captcha-input:focus{border-color:var(--accent)}.captcha-censored{color:#ef7d6a}.keypad{display:grid;gap:6px;width:min(560px,94vw);padding:8px;background:#101214;border:1px solid var(--line);border-radius:14px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.keypad__row{display:flex;gap:6px}.keypad__key{flex:1 1 0;min-width:0;padding:12px 2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.85rem,3.2vw,1.05rem);color:var(--ink);background:#1b1e21;border:1px solid var(--line);border-radius:8px;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}.keypad__key:active{background:var(--accent);color:#101214}.longpress-play .tap-play__bar{background:linear-gradient(180deg,#26221a,#1a1713);border-bottom:1px solid #4a4128}.longpress-area{display:grid;place-content:center;background:#16150f;cursor:pointer}.longpress-layer{position:absolute;inset:0}.longpress-group{position:absolute;left:0;top:0;display:grid;justify-items:center;gap:38px;will-change:transform}.longpress-track{position:relative;width:480px;height:56px;overflow:hidden;border-radius:28px;background:#23211a;border:1px solid var(--line);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none}.longpress-track:not(.longpress-track--live){opacity:.45;cursor:default}.longpress-fill{position:absolute;left:0;top:0;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;will-change:transform;background:linear-gradient(90deg,#8fb84a 0%,var(--accent) 100%)}.longpress-fill--over{background:#ef7d6a}.longpress-fill--settled{filter:brightness(1.3)}.longpress-danger{position:absolute;top:0;height:100%;pointer-events:none;background:#ef7d6a24;border-left:1px solid rgba(239,125,106,.4)}.longpress-band{position:absolute;top:0;height:100%;visibility:hidden;pointer-events:none;background:#f3efe41a;border-left:1px solid rgba(243,239,228,.22);border-right:1px solid rgba(243,239,228,.22)}.longpress-track--armed .longpress-band,.longpress-track--armed .longpress-target{visibility:visible}.longpress-target{position:absolute;top:-2px;width:2px;height:calc(100% + 4px);visibility:hidden;pointer-events:none;background:var(--ink);box-shadow:0 0 0 1px #00000073}.longpress-label{margin:0;color:var(--muted);font-weight:500;user-select:none;-webkit-user-select:none;pointer-events:none}.longpress-track--held{border-color:var(--accent)}.longpress-nodata{color:#ef7d6a}.trail-play .tap-play__bar{background:linear-gradient(180deg,#1b2320,#141a18);border-bottom:1px solid #2f453c}.trail-area{background:#121714;cursor:crosshair}.trail-layer{position:absolute;inset:0}.trail-ink{position:absolute;left:0;top:0;pointer-events:none}.trail-dot{position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;border:1px solid #37453e;background:#f3efe408;will-change:transform;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-weight:600;line-height:1;color:#f3efe49e;-webkit-user-select:none;user-select:none}.trail-dot--due{border-color:var(--accent);color:var(--accent);background:#d7f25a24}.trail-dot--reached{background:#f3efe480;border-color:var(--ink);color:#10150f}.trail-pooling{color:#d8a58f}.zoomfit-play .tap-play__bar{background:linear-gradient(180deg,#1b2320,#141a18);border-bottom:1px solid #2f453c}.zoomfit-area{background:#121714;cursor:default}.zoomfit-layer{position:absolute;inset:0}.zoomfit-ring{position:absolute;left:0;top:0;box-sizing:border-box;border-radius:50%;border-style:solid;border-color:#d7f25a8c;pointer-events:none;will-change:transform}.zoomfit-disc{position:absolute;left:0;top:0;border-radius:50%;background:#8fb84a6b;pointer-events:none;will-change:transform}.zoomfit-pooling{color:#d8a58f}.tiltland-area{background:#101613;cursor:default}.tiltland-layer{position:absolute;inset:0}.tiltland-cell{position:absolute;top:0;left:0;box-sizing:border-box;border:2px solid var(--accent);border-radius:4px;background:#b6cc5714;will-change:transform}.tiltland-cell.is-landed{background:#b6cc5752;border-color:#b6cc57}.tiltland-cell.is-lost{border-color:#7a4a4a;background:#7a4a4a2e}.tiltland-marble{position:absolute;top:0;left:0;border-radius:50%;background:#e8ecd8;box-shadow:0 1px 4px #0000008c;will-change:transform}.tiltland-marble.is-idle{opacity:.35}.select-screen__note{margin:20px 0 0;max-width:62ch;font-size:.9rem;color:var(--muted)}.shake-area{background:#16120f;cursor:default;display:grid;place-items:center}.shake-layer{position:absolute;inset:0;display:grid;place-items:center}.shake-lock{width:128px;height:152px}.shake-lock svg{width:100%;height:100%;overflow:visible}.shake-lock__shackle{stroke:var(--accent);transform-box:view-box;transform-origin:69px 54px;transition:transform .3s cubic-bezier(.2,.9,.3,1.5),stroke .16s ease}.shake-lock__body{fill:var(--accent);fill-opacity:.16;stroke:var(--accent);stroke-width:5;transition:fill-opacity .2s ease,stroke .16s ease}.shake-lock__keyhole{fill:var(--accent);fill-opacity:.75;transition:fill .16s ease}.shake-lock.is-broken .shake-lock__shackle{transform:rotate(40deg) translateY(-5px);stroke:#d7e88a}.shake-lock.is-broken .shake-lock__body{fill-opacity:.42;stroke:#d7e88a}.shake-lock.is-broken .shake-lock__keyhole{fill:#16120f}.shake-lock.is-lost .shake-lock__shackle,.shake-lock.is-lost .shake-lock__body{stroke:#7a4a4a}.shake-lock.is-lost .shake-lock__body{fill:#7a4a4a;fill-opacity:.14}.shake-lock.is-lost .shake-lock__keyhole{fill:#7a4a4a}@media(prefers-reduced-motion:reduce){.shake-lock__shackle{transition:stroke .16s ease}.shake-lock.is-broken .shake-lock__shackle{transform:rotate(40deg) translateY(-5px)}}.shake-meter{position:absolute;right:22px;top:12%;bottom:12%;width:26px;border:1px solid rgba(232,236,216,.28);border-radius:13px;overflow:hidden;background:#0000004d}.shake-meter__fill{position:absolute;left:0;right:0;bottom:0;background:#b6cc57}.shake-meter__line{position:absolute;left:-6px;right:-6px;height:2px;background:#e8ecd8}.shake-skip{position:absolute;left:18px;bottom:18px;padding:4px 12px;font-size:.85rem}div.cowboy-warning>p{margin:0 0 8px}div.cowboy-warning>p:last-child,div.cowboy-warning>ul:last-child{margin-bottom:0}div.cowboy-warning>ul{margin:0;padding-left:20px}div.cowboy-warning>ul>li+li{margin-top:6px}.tap-play__step{color:var(--muted);font-weight:430}.tap-play__state{font-size:.8rem;color:var(--muted)}.tap-play__tools{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-shrink:0;padding:10px 14px;border-top:1px solid var(--line);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.tap-play__tools .tap-btn{flex:1}.play-area--gate{display:grid;place-items:center;padding:24px}.motion-gate{max-width:520px;display:flex;flex-direction:column;gap:14px}.log-viewer{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000009e}.log-viewer__panel{display:flex;flex-direction:column;gap:10px;width:min(960px,100%);max-height:calc(100dvh - 32px);min-height:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg-elevated);box-shadow:var(--shadow)}.log-viewer__head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;flex-shrink:0}.contribute-box{min-height:360px;overflow:auto;padding:16px;border-radius:10px;background:#fafbfa;color:#222}.contribute-actions{display:flex;gap:8px}.contribute-panel{overflow-y:auto;overscroll-behavior:contain}.contribute-debug__rows{max-height:min(50dvh,480px);overflow-y:auto;overscroll-behavior:contain}.ads-mock{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:90px;margin-bottom:12px;padding:14px 16px;border:1px dashed var(--line);border-radius:10px;background:var(--panel, rgba(255, 255, 255, .04));color:inherit;font:inherit;text-align:left;cursor:pointer}.ads-mock__tag{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ads-mock__title{font-size:1.15rem;font-weight:600}.ads-mock__unit{font-size:.8rem;color:var(--muted)}.log-viewer__body{min-height:0;overflow:auto;overscroll-behavior:contain}.log-rows{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.log-rows__row{display:flex;gap:8px;align-items:baseline;padding:4px 6px;border-radius:6px;background:#00000038}.log-rows__row code{flex:1;min-width:0;overflow-x:auto;white-space:pre;font-size:.78rem;color:var(--muted)}.log-rows__copy{flex-shrink:0;padding:2px 8px;font-size:.72rem}.play-flash{position:absolute;inset:0;pointer-events:none;border:3px solid transparent;border-radius:inherit;animation:play-flash-fade .48s ease-out forwards}.play-flash--good{border-color:#b6cc57e6;box-shadow:inset 0 0 42px #b6cc5738}.play-flash--bad{border-color:#c98a8ae6;box-shadow:inset 0 0 42px #c98a8a38}@keyframes play-flash-fade{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.play-flash{animation:none;opacity:.55}}.zoomfit-ring--angled:after,.zoomfit-disc--angled:after{content:"";position:absolute;left:50%;top:0;width:3px;height:26%;transform:translate(-50%);border-radius:2px}.zoomfit-ring--angled:after{background:#d7f25abf}.zoomfit-disc--angled:after{background:#f3efe4d9}.multitap-area{background:#16141a;cursor:default}.multitap-layer,.multitap-pad{position:absolute;inset:0;display:grid;place-items:center}.multitap-prompt{margin:0;font-family:"IBM Plex Serif",serif;font-size:clamp(5rem,22vw,11rem);font-weight:600;line-height:1;color:var(--muted);user-select:none;-webkit-user-select:none;pointer-events:none}.multitap-pad--live .multitap-prompt{color:var(--ink)}.multitap-dots{position:absolute;left:50%;bottom:12%;transform:translate(-50%);display:flex;gap:14px;margin:0;padding:0;list-style:none;pointer-events:none}.multitap-dots__dot{width:20px;height:20px;border-radius:50%;background:var(--accent)}@media(prefers-reduced-motion:reduce){.multitap-dots__dot{transition:none}}.play-area.play-area--done{cursor:default}.game-card--mix{margin-top:18px;border-style:dashed;border-color:var(--accent);background:transparent}button.game-card{font:inherit;text-align:left;cursor:pointer}.game-card__window{margin:0;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.tap-play__step.is-unlocked{color:var(--accent)}.log-tone--good td{color:#7ddba0}.log-tone--warn td{color:#e8c07a}.log-tone--bad td{color:#e88a8a}.lifecycle{--tone: var(--muted);display:flex;flex-direction:column;gap:8px}.lifecycle-tone--good{--tone: #7ddba0}.lifecycle-tone--warn{--tone: #e8c07a}.lifecycle-tone--bad{--tone: #e88a8a}.lifecycle__muted{margin:0;color:var(--muted);font-size:.8rem}.lifecycle__banner{margin-bottom:6px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--tone) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--tone) 11%,transparent)}.lifecycle__banner-row{display:flex;gap:9px;align-items:center;margin-bottom:6px;font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--tone)}.lifecycle__banner-row .lifecycle__muted{margin-left:auto}.lifecycle__dot{width:9px;height:9px;border-radius:50%;background:var(--tone)}.lifecycle__group{border:1px solid var(--line);border-left:3px solid var(--session-hue, var(--muted));border-radius:9px;background:#00000038}.lifecycle-edge--warn{border-color:#e8c07a;border-left-color:var(--session-hue, var(--muted))}.lifecycle-edge--bad{border-color:#e88a8a;border-left-color:var(--session-hue, var(--muted))}.lifecycle__group-head{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;width:100%;padding:10px 12px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.lifecycle__swatch{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--session-hue, var(--muted))}.lifecycle__title{flex:1 1 12rem;min-width:0;overflow-wrap:anywhere;font-size:.88rem;font-weight:600}.lifecycle__meta{display:flex;gap:10px;margin-left:auto;color:var(--muted);font-size:.8rem}.lifecycle__rows{display:flex;flex-direction:column;gap:6px;margin:0;padding:0 10px 10px;list-style:none}.lifecycle__row{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg-elevated);font-family:IBM Plex Mono,ui-monospace,monospace}.lifecycle__row.is-state{border-color:color-mix(in srgb,var(--tone) 45%,transparent)}.lifecycle__row-line{display:flex;gap:8px;align-items:baseline}.lifecycle__stamp{flex-shrink:0;font-size:.7rem;color:var(--muted)}.lifecycle__text{min-width:0;overflow-wrap:anywhere;font-size:.8rem;color:var(--tone)}.lifecycle__row.is-state .lifecycle__text{font-weight:700}.lifecycle__detail{margin:4px 0 0 22px;overflow-wrap:anywhere;font-size:.74rem;color:var(--muted)}.lifecycle__label{margin:12px 0 0;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.lifecycle__states{display:flex;flex-direction:column;gap:8px;margin:0}.lifecycle__state{display:flex;gap:12px}.lifecycle__state dt{flex-shrink:0;width:110px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;font-weight:700;color:var(--tone)}.lifecycle__state dd{margin:0;font-size:.8rem;color:var(--muted)}.sdk-log{--tone: var(--muted);display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none}.sdk-log__row{padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#00000038;font-family:IBM Plex Mono,ui-monospace,monospace}.sdk-log__line{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.sdk-log__check{font-size:.7rem;font-weight:700;color:var(--ink);white-space:nowrap}.sdk-log__level{font-size:.7rem;font-weight:700;color:var(--tone)}.sdk-log__event{font-size:.8rem;color:var(--ink)}.sdk-log__session{margin-left:auto;padding:1px 8px;font-family:inherit;font-size:.72rem}.sdk-log__ids{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.sdk-log__id{padding:1px 8px;font-family:inherit;font-size:.72rem}.sdk-log__body{margin-top:4px;overflow-wrap:anywhere;font-size:.8rem;color:var(--tone)}.mock-badge{margin-left:6px;padding:1px 6px;border:1px solid var(--line);border-radius:4px;font-size:11px;color:var(--muted)}.mock-badge--on,.tap-btn.mock-btn--on{border-color:#e5484d;color:#ff6b6b}.mock-phase{margin-bottom:12px}.mock-phase__title{margin:8px 0 4px;font-size:13px;color:var(--accent)}.mock-row{padding:6px 0;border-bottom:1px solid var(--line)}.mock-row__head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.mock-row__title{font-size:13px}.mock-row__select{width:100%;margin-top:4px;padding:4px;background:transparent;color:inherit;border:1px solid var(--line);border-radius:4px}.mock-row__note,.mock-row__expect{margin:4px 0 0;font-size:12px;color:var(--muted)}.mock-row__expect{padding-left:18px}.mock-tag{padding:0 5px;border:1px solid var(--line);border-radius:4px;font-size:10px;color:var(--muted)}.mock-tag--on{border-color:#e5484d;color:#ff6b6b}.sdk-model{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line, rgba(127, 127, 127, .35));border-radius:8px}.sdk-model__title{font-size:.75rem;font-weight:700;margin-bottom:4px}.sdk-model__facts{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;margin:0 0 4px;font-size:.8rem}.sdk-model__facts dt{color:var(--muted)}.sdk-model__facts dd{margin:0;font-variant-numeric:tabular-nums}.mock-banner{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
