.camera-frame{color:var(--frame-color);position:relative;container-type:inline-size}.camera-frame--featured{color:var(--frame-accent)}.camera-frame__media{background:var(--ink);border:0;border-radius:9%/13%;width:97%;height:97.6%;position:absolute;top:1.2%;left:1.5%}.camera-frame__placeholder{object-fit:cover}.camera-frame__no-camera{color:var(--muted);justify-content:center;align-items:center;display:flex}.camera-frame__no-camera svg{width:18%;height:auto}.camera-frame__art{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.camera-frame__name{max-width:70%;font-family:var(--font-ui);white-space:nowrap;text-overflow:ellipsis;color:var(--paper);background:var(--ink);border:2px solid;padding:.25em .9em;font-size:clamp(14px,6cqi,30px);font-weight:700;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%,35%)}.camera-frame--featured .camera-frame__name{border-color:var(--frame-accent)}.camera-frame--custom .camera-frame__name{border-color:currentColor}@property --frame-hue{syntax:"<number>";inherits:false;initial-value:0}.camera-frame--rainbow{color:hsl(var(--frame-hue) 75% 50%);animation:24s linear infinite frame-rainbow}@keyframes frame-rainbow{to{--frame-hue:360}}.camera-frame--ember{animation:7s ease-in-out infinite alternate frame-ember}@keyframes frame-ember{0%{color:#7a1f12}50%{color:#a55900}to{color:#c98a1c}}.camera-frame--chameleon{animation:16s ease-in-out infinite alternate frame-chameleon}@keyframes frame-chameleon{0%{color:#3f6b4a}50%{color:#2f7a72}to{color:#6b8a3a}}.camera-frame--fade{color:var(--fade-a);animation:6s ease-in-out infinite alternate frame-fade}@keyframes frame-fade{0%{color:var(--fade-a)}to{color:var(--fade-b)}}@media (prefers-reduced-motion:reduce){.camera-frame--custom{animation:none}}.stage-fit{width:100%;height:100%;position:relative;overflow:hidden}.stage{transform-origin:50%;width:1920px;height:1080px;color:var(--paper);font-family:var(--font-ui);position:absolute;top:50%;left:50%}.stage__background{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__layout{box-sizing:border-box;flex-direction:column;height:100%;display:flex;position:relative}.stage__title{flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.stage__title h1{font-family:var(--font-stage-title);letter-spacing:.04em;color:var(--paper);background:var(--ink);border-bottom:4px solid var(--rust);flex:none;margin:0;padding:4px 28px 0;font-size:58px;font-weight:400;line-height:1.1}.stage__title--case{flex-direction:row;align-items:flex-end;gap:24px}.stage__case-title{min-width:0;font-family:var(--font-stage-title);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;color:var(--paper);background:var(--ink);border-bottom:4px solid var(--rust);margin:0;padding:4px 20px 0;font-size:40px;line-height:1.2;overflow:hidden}.stage__waiting{color:var(--paper-2);background:#16130fb3;margin:6px 0 0;padding:2px 12px;font-size:22px}.stage__top{flex:none;justify-content:flex-start;align-items:stretch;display:flex}.stage__top--idle{justify-content:center}.stage__top .camera-frame{align-self:center}.stage__guests{flex:none;justify-content:center;display:flex}.stage__guests .camera-frame{flex:none}.case-panel{min-width:0;color:var(--ink);background:var(--paper);border:4px solid var(--ink);border-left:10px solid var(--rust);flex:1;grid-template-columns:40% 1fr;gap:24px;padding:24px;display:grid;overflow:hidden}.case-panel--text-only{grid-template-columns:1fr}.case-panel__media{flex-direction:column;gap:12px;min-height:0;display:flex}.case-panel__main-image{object-fit:contain;flex:auto;width:100%;min-height:0}.case-panel__extra-images{flex:none;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.case-panel__extra-images img{object-fit:cover;border:2px solid var(--ink);width:100%;height:110px}.case-panel__text{flex-direction:column;gap:16px;min-height:0;display:flex;overflow:hidden}.case-panel__summary{font-family:var(--font-heading);margin:0;font-size:28px;line-height:1.3}.case-panel__tips{margin:0;padding-left:1.6em;font-size:22px;line-height:1.3}.case-panel__tips li+li{margin-top:6px}.case-panel__tips li::marker{color:var(--rust);font-weight:700}.case-panel__solution{min-height:0;color:var(--paper);background:var(--ink);border-left:8px solid var(--verdict);flex-direction:column;flex:1;align-items:flex-start;padding:14px 18px;display:flex}.case-panel__solution.is-solved{--verdict:var(--green)}.case-panel__solution.is-given-up{--verdict:var(--red)}.case-panel__verdict{text-transform:uppercase;letter-spacing:.08em;background:var(--verdict);align-items:center;gap:8px;padding:2px 10px;font-size:20px;font-weight:700;display:inline-flex}.case-panel__solution h2{text-transform:uppercase;letter-spacing:.08em;color:var(--paper-2);margin:10px 0 4px;font-size:18px;font-weight:500}.case-panel__solution-body{flex:1;align-self:stretch;min-height:0;overflow:hidden}.case-panel__solution-body p{margin:0;line-height:1.3}.case-panel__solution-body p.is-scrolling{animation:solution-scroll var(--scroll-duration) linear infinite}@keyframes solution-scroll{0%,15%{transform:translateY(0)}85%,to{transform:translateY(calc(-1 * var(--scroll-distance)))}}.case-panel--revealed{grid-template-columns:28% 1fr}.case-panel--revealed.case-panel--text-only{grid-template-columns:1fr}.case-panel--revealed .case-panel__summary{flex:none;font-size:22px}::view-transition-group(.stage-move){animation-duration:.45s;animation-timing-function:ease-in-out}::view-transition-group(.stage-enter){animation-duration:.45s;animation-timing-function:ease-in-out}::view-transition-group(.stage-exit){animation-duration:.45s;animation-timing-function:ease-in-out}::view-transition-new(.stage-enter):only-child{animation:.45s ease-out both stage-zoom-in}::view-transition-old(.stage-exit):only-child{animation:.3s ease-in both stage-zoom-out}@keyframes stage-zoom-in{0%{transform:scale(0)}}@keyframes stage-zoom-out{to{opacity:0;transform:scale(0)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}:root{--ink:#16130f;--ink-2:#241f19;--ink-3:#3a3128;--paper:#e9e2d0;--paper-2:#d6cdb6;--paper-3:#f4efe3;--line:#bfb396;--muted:#6f6656;--rust:#a55900;--rust-dark:#7f4400;--green:#4f6b35;--red:#8e3426;--amber:#b07a1c;--frame-color:var(--ink);--frame-accent:var(--rust);--font-ui:"Roboto", system-ui, sans-serif;--font-heading:"Roboto Slab", Georgia, serif;--font-stage-title:"Special Elite", "Courier New", monospace;--radius:2px;--font-app:"DM Sans", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--radius-app:4px;--danger-solid:#c2272f;--bg:#f7f7f8;--surface:#fff;--raised:#efeff1;--field:#fff;--hover:#e5e5ea;--border:#e0e0e6;--border-strong:#92929c;--text:#0e0e10;--text-muted:#53535f;--accent:#9146ff;--accent-hover:#772ce8;--accent-text:#6b21d8;--accent-subtle:#f1eaff;--on-accent:#fff;--success:#0b7a4b;--success-subtle:#e5f4ec;--danger:#c2272f;--danger-subtle:#fdecec;--warning:#995200;--warning-subtle:#fdf1df;--focus:#9146ff;--scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e0e10;--surface:#18181b;--raised:#1f1f23;--field:#0e0e10;--hover:#2a2a30;--border:#2f2f35;--border-strong:#6b6b76;--text:#efeff1;--text-muted:#adadb8;--accent:#9146ff;--accent-hover:#772ce8;--accent-text:#bf94ff;--accent-subtle:#2a1a47;--success:#4cc38a;--success-subtle:#12261c;--danger:#ff7a7a;--danger-subtle:#2e1517;--warning:#f0b45b;--warning-subtle:#2b2111;--focus:#a970ff;--scheme:dark}}:root[data-theme=dark]{--bg:#0e0e10;--surface:#18181b;--raised:#1f1f23;--field:#0e0e10;--hover:#2a2a30;--border:#2f2f35;--border-strong:#6b6b76;--text:#efeff1;--text-muted:#adadb8;--accent:#9146ff;--accent-hover:#772ce8;--accent-text:#bf94ff;--accent-subtle:#2a1a47;--success:#4cc38a;--success-subtle:#12261c;--danger:#ff7a7a;--danger-subtle:#2e1517;--warning:#f0b45b;--warning-subtle:#2b2111;--focus:#a970ff;--scheme:dark}html,body{background:0 0;margin:0}body{font-family:var(--font-ui);color:var(--ink);font-size:15px;line-height:1.45}*,:before,:after{box-sizing:border-box}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;line-height:1.2}h1{margin:0 0 16px;font-size:24px}h2{margin:0 0 12px;font-size:17px}h3{margin:0 0 8px;font-size:16px}h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 0 6px;font-size:14px}html:has(.app){color-scheme:var(--scheme);background:var(--bg)}.app{min-height:100vh;font-family:var(--font-app);color:var(--text);background:var(--bg);color-scheme:var(--scheme);-webkit-font-smoothing:antialiased;accent-color:var(--accent);font-size:14px;line-height:1.5}.app :is(h1,h2,h3,h4):not(.stage *){font-family:var(--font-app);color:var(--text);letter-spacing:-.01em}.app h1:not(.stage *){margin:0 0 20px;font-size:22px;font-weight:650}.app h2:not(.stage *){margin:0 0 14px;font-size:15px;font-weight:600}.app h3:not(.stage *){margin:0 0 8px;font-size:15px;font-weight:600}.app h4:not(.stage *){text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:20px 0 8px;font-size:12px;font-weight:600}.app a:not(.btn,.stage *){color:var(--accent-text);text-underline-offset:2px}.app :where(p:not(.stage *)){margin:0 0 12px}.app :where(p:not(.stage *):last-child){margin-bottom:0}.app :focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--text-muted)}.hint{color:var(--text-muted);margin:12px 0 0;font-size:13px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:28px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.topbar__brand{letter-spacing:-.01em;color:var(--text);white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.app a.topbar__brand{color:var(--text)}.brand-mark{width:30px;height:30px;color:var(--on-accent);background:var(--accent);border-radius:var(--radius-app);flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar__nav{align-self:stretch;gap:4px;display:flex}.app .topbar__nav a{color:var(--text-muted);border-top:2px solid #0000;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 10px;font-weight:500;text-decoration:none;transition:color .12s;display:inline-flex}.app .topbar__nav a:hover{color:var(--text)}.app .topbar__nav a.active{color:var(--text);border-bottom-color:var(--accent)}.topbar__end{align-items:center;gap:12px;margin-left:auto;display:flex}.topbar__user{border-left:1px solid var(--border);align-items:center;gap:8px;padding-left:12px;font-weight:500;display:inline-flex}.avatar{object-fit:cover;border-radius:var(--radius-app);flex:none;width:26px;height:26px}@media (width<=760px){.topbar{flex-wrap:wrap;gap:4px 16px;height:auto;padding:10px 16px 0}.topbar__end{gap:8px}.topbar__name{display:none}.topbar__nav{order:3;width:100%;height:44px;margin:0 -10px}}.segmented{background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-app);gap:2px;padding:2px;display:inline-flex}.segmented button{min-width:28px;height:26px;font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;transition:color .12s,background-color .12s;display:inline-flex}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{color:var(--text);background:var(--surface);box-shadow:0 0 0 1px var(--border)}.app__main{padding:28px 24px 48px}@media (width<=760px){.app__main{padding:20px 16px 40px}}.page{max-width:1440px;margin:0 auto}.page--narrow{max-width:760px}.page__head{flex-wrap:wrap;align-items:center;gap:12px 16px;min-height:36px;margin-bottom:20px;display:flex}.app .page__head h1{margin:0}.page__head>:last-child:not(:first-child){margin-left:auto}.page__actions{flex-wrap:wrap;gap:8px;display:flex}.page-message{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:72px 20px;display:flex}.breadcrumb{align-items:center;gap:4px;margin-bottom:6px;font-size:13px;font-weight:500;display:inline-flex}.app a.breadcrumb{color:var(--text-muted);text-decoration:none}.app a.breadcrumb:hover{color:var(--text)}.columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.column{flex-direction:column;gap:20px;min-width:0;display:flex}@media (width<=1000px){.columns{grid-template-columns:minmax(0,1fr)}}.stack{flex-direction:column;gap:20px;display:flex}.app .stack>h1{margin:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-app);padding:20px}.page--narrow .panel+.panel{margin-top:20px}.panel__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.app .panel__head :is(h2,h3){margin:0}.btn{height:34px;font:inherit;color:var(--text);white-space:nowrap;background:var(--raised);border-radius:var(--radius-app);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{color:var(--on-accent);background:var(--accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--success{color:var(--success);background:var(--success-subtle);border-color:color-mix(in srgb, var(--success) 35%, transparent)}.btn--success:hover:not(:disabled){background:color-mix(in srgb, var(--success) 18%, var(--surface))}.btn--danger{color:var(--danger);background:var(--danger-subtle);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 18%, var(--surface))}.btn--destructive{color:#fff;background:var(--danger-solid)}.btn--destructive:hover:not(:disabled){background:color-mix(in srgb, var(--danger-solid) 85%, #000)}.btn--ghost{color:var(--text-muted);background:0 0}.btn--ghost:hover:not(:disabled){color:var(--text);background:var(--hover)}.btn--small{gap:6px;height:28px;padding:0 10px;font-size:13px}.btn[aria-pressed=true]{color:var(--accent-text);background:var(--accent-subtle);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.icon-btn{width:32px;height:32px;color:var(--text-muted);border-radius:var(--radius-app);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s;display:inline-flex}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--hover)}.icon-btn--danger:hover:not(:disabled){color:var(--danger);background:var(--danger-subtle)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.button-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form .field{margin-bottom:0}.field>span{color:var(--text);font-size:13px;font-weight:500}.field>small{font-size:12px}.field--inline{flex-direction:row;align-items:center;gap:12px}.field--grow{flex:1;margin:0}.app :is(input:not([type=checkbox],[type=radio],[type=color]),select,textarea){width:100%;min-height:36px;font:inherit;color:var(--text);background:var(--field);border:1px solid var(--border-strong);border-radius:var(--radius-app);padding:7px 10px;transition:border-color .12s}.app :is(input:not([type=checkbox],[type=radio],[type=color]),select,textarea):hover:not(:disabled){border-color:var(--text-muted)}.app :is(input,select,textarea):focus-visible{border-color:var(--focus);outline:2px solid var(--focus);outline-offset:0}.app input::placeholder,.app textarea::placeholder{color:var(--text-muted);opacity:.8}.app input[readonly]{background:var(--raised)}.app input[type=checkbox]{width:16px;height:16px;margin:0}.app .field--inline select{width:auto}.app input[aria-invalid=true],.app textarea[aria-invalid=true]{border-color:var(--danger)}textarea{resize:vertical}.inline-form{align-items:flex-end;gap:10px;display:flex}.checks{border:0;flex-wrap:wrap;gap:16px;margin:0;padding:0;display:flex}.checks label,.checkbox{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.checkbox{margin-top:14px;display:flex}.copy-field{gap:8px;display:flex}.app .copy-field input{font-family:var(--font-mono);text-overflow:ellipsis;font-size:12.5px}.form-error,.form-success{align-items:flex-start;gap:6px;margin:4px 0;font-weight:500;display:flex}.form-error{color:var(--danger)}.form-success{color:var(--success)}.form-error:before,.form-success:before{content:"";background:currentColor;flex:none;width:16px;height:16px;margin-top:.1em;-webkit-mask:none 50%/contain no-repeat;mask:none 50%/contain no-repeat}.form-error:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E")}.form-success:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}small.form-error{margin:0;font-size:12px}small.form-error:before{width:14px;height:14px}.form-footer{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.notice{color:var(--text);background:var(--danger-subtle);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-left:3px solid var(--danger);border-radius:var(--radius-app);align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 8px 10px 12px;display:flex}.notice__icon{color:var(--danger);flex:none;margin-top:2px}.notice__body{flex:1;padding-top:1px}.notice .icon-btn{width:26px;height:26px;margin:-2px 0}.link-with-icon{align-items:center;gap:6px;display:inline-flex}.loading{color:var(--text-muted);align-items:center;gap:8px;display:inline-flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{color:var(--text-muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-app);flex-direction:column;align-items:center;gap:10px;padding:28px 16px;display:flex}.empty-state__icon{width:40px;height:40px;color:var(--text-muted);background:var(--raised);border-radius:var(--radius-app);justify-content:center;align-items:center;display:inline-flex}.app .empty-state p{max-width:420px;margin:0}.dialog{width:min(440px,100vw - 32px);font-family:var(--font-app);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-app);padding:0;font-size:14px;line-height:1.5;box-shadow:0 16px 48px #00000047}.dialog::backdrop{background:#00000080}.dialog__body{padding:22px 22px 20px}.dialog h2{font-family:var(--font-app);letter-spacing:-.01em;margin:0 0 8px;font-size:17px;font-weight:600}.dialog p{color:var(--text-muted);margin:0}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.list{margin:0;padding:0;list-style:none}.list__row{border-top:1px solid var(--border);align-items:center;gap:12px;min-height:48px;padding:8px 10px;display:flex}.list__row:first-child{border-top:0}.list__row:has(>a.list__main):hover{background:var(--hover)}.list__row.is-current{background:var(--accent-subtle);box-shadow:inset 3px 0 0 var(--accent)}.list__main{min-width:0;color:inherit;flex-wrap:wrap;flex:1;align-items:center;gap:4px 10px;text-decoration:none;display:flex}.app a.list__main{color:inherit;text-decoration:none}.list--dense .list__row{min-height:42px;padding:5px 8px}.tag{height:20px;color:var(--text-muted);white-space:nowrap;background:var(--raised);border-radius:3px;align-items:center;padding:0 6px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.tag--warn{color:var(--warning);background:var(--warning-subtle)}.tag--accent{color:var(--accent-text);background:var(--accent-subtle)}.tag--success{color:var(--success);background:var(--success-subtle)}.badge{white-space:nowrap;height:24px;color:var(--text-muted);background:var(--raised);border-radius:3px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge--active{color:var(--accent-text);background:var(--accent-subtle)}.badge--solved{color:var(--success);background:var(--success-subtle)}.badge--given-up{color:var(--danger);background:var(--danger-subtle)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-app);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px}.table th{text-transform:uppercase;letter-spacing:.04em;height:38px;color:var(--text-muted);white-space:nowrap;background:var(--raised);padding-block:0;font-size:12px;font-weight:600}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:color-mix(in srgb, var(--hover) 55%, transparent)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .center{text-align:center}.table .check{width:1px}.table a:not(.btn){font-weight:600;text-decoration:none}.table a:not(.btn):hover{text-decoration:underline}.user-cell{flex-wrap:wrap;align-items:center;gap:4px 8px;display:inline-flex}.user-cell__id{margin-top:2px;font-size:12px;display:block}.thumb{object-fit:cover;background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-app);flex:none;width:96px;height:64px;display:block}.thumb--empty{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.thumb--main{object-fit:contain;width:200px;height:140px}.thumb.is-disabled{opacity:.35}.placeholder-field{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.table .placeholder-field{flex-wrap:nowrap}.table .placeholder-field .thumb{width:48px;height:32px}.table .placeholder-field .btn{height:28px;padding:0 10px;font-size:13px}.color-field{gap:8px;display:flex}.app .color-field input[type=color]{background:var(--field);border:1px solid var(--border-strong);border-radius:var(--radius-app);flex:none;width:44px;height:36px;padding:3px}.upload{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.socket-status{color:var(--warning);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.socket-status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.socket-status--open{color:var(--success)}.socket-status--closed{color:var(--danger)}.case-detail__body{align-items:flex-start;gap:16px;display:flex}.app .case-detail__body p{margin:0}.solution-box{background:var(--raised);border-left:3px solid var(--accent);border-radius:0 var(--radius-app) var(--radius-app) 0;margin-top:16px;padding:12px 14px}.solution-box strong{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.app .solution-box p{margin:0}.toggle-list{counter-reset:tip;margin:0;padding:0;list-style:none}.toggle-list li{border-top:1px solid var(--border);counter-increment:tip;align-items:center;gap:12px;padding:8px 0;display:flex}.toggle-list li:first-child{border-top:0}.toggle-list li:before{content:counter(tip);width:24px;height:24px;color:var(--text-muted);background:var(--raised);border-radius:3px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.toggle-list li>span:first-child{flex:1;min-width:0}.toggle-list li.is-shown:before{color:var(--on-accent);background:var(--accent)}.toggle-list li.is-shown>span:first-child{font-weight:500}.image-toggles{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.image-toggles li{flex-direction:column;gap:6px;display:flex}.image-toggles .thumb{aspect-ratio:3/2;width:100%;height:auto}.image-toggles li.is-shown .thumb{outline:2px solid var(--accent);outline-offset:1px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:16px;display:grid}.slot-grid .field{margin:0}.edit-list{margin:0 0 12px;padding-left:22px}.edit-list li{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.edit-list li::marker{color:var(--text-muted);font-size:13px}.reorder{flex:none;display:inline-flex}.image-edit{align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.lead{font-size:15px}.app h2.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:12px 0 -8px;font-size:12px;font-weight:600}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar .page__actions{margin-left:auto}.toolbar__hint{margin:10px 0 20px}.search-field{width:min(280px,100%);color:var(--text-muted);align-items:center;display:flex;position:relative}.search-field svg{pointer-events:none;position:absolute;left:10px}.app .search-field input{padding-left:34px}.list--scroll{max-height:460px;overflow-y:auto}.list__chevron{color:var(--text-muted);margin-left:auto}.round-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-app);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:20px;padding:14px 20px;display:flex}@media (width>=761px){.round-bar{z-index:10;box-shadow:0 0 0 12px var(--bg);position:sticky;top:68px}}.app .round-bar h1{margin:0 0 4px}.round-bar__meta{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.round-bar__case{font-weight:600}.round-bar__actions{flex-wrap:wrap;gap:8px;display:flex}.slot-info{align-items:center;gap:12px;font-weight:500;display:flex}.slot-info__icon{width:36px;height:36px;color:var(--text-muted);background:var(--raised);border-radius:var(--radius-app);flex:none;justify-content:center;align-items:center;display:inline-flex}.slot-info--on .slot-info__icon,.slot-info--featured .slot-info__icon{color:var(--accent-text);background:var(--accent-subtle)}.vdo-help{background:var(--raised);border-radius:var(--radius-app);margin:20px 0;padding:16px}.app .vdo-help h3{margin-bottom:10px;font-size:13px}.steps{counter-reset:step;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;min-height:22px;padding-left:32px;position:relative}.steps li:before{content:counter(step);width:22px;height:22px;color:var(--on-accent);background:var(--accent);border-radius:3px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:0;left:0}.vdo-help .hint{margin-top:10px}.case-editor .field+.field{margin-top:16px}.action-bar{z-index:5;background:var(--surface);border-top:1px solid var(--border);margin:20px -24px -48px;padding:12px 24px;position:sticky;bottom:0}.action-bar .form-error,.action-bar .form-success{margin:0}.action-bar__end{margin-left:auto}@media (width<=760px){.action-bar{margin:20px -16px -40px;padding:12px 16px}}.sign-in{justify-content:center;align-items:center;padding:20px;display:flex}.sign-in__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-app);width:100%;max-width:420px;padding:32px}.sign-in__top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.sign-in__switches{gap:8px;display:flex}.app .sign-in__card h1{margin:0 0 6px;font-size:22px}.app .sign-in__card .sign-in__intro{color:var(--text-muted);margin-bottom:24px}.sign-in__twitch{width:100%;height:40px}.dev-login{border-top:1px dashed var(--border);margin-top:28px;padding-top:20px}.dev-login .checks{margin-top:4px}.dev-login .btn{margin-top:14px}.game-view{width:100vw;height:100vh;overflow:hidden}.game-view__notice{color:var(--paper);background:var(--ink);margin:16px;padding:6px 12px;display:inline-block}.app .stage-fit{-webkit-font-smoothing:auto;accent-color:auto;font-size:15px;line-height:1.45}.preview{aspect-ratio:16/9;background:var(--ink-3);margin-bottom:12px}@media (prefers-reduced-motion:reduce){.app :is(.btn,.icon-btn,.segmented button,.topbar__nav a,input,select,textarea){transition:none}.spin{animation-duration:3s}}
