*,*:before,*:after{box-sizing:border-box}html,body,#root,.shell,.main{max-width:100vw;overflow-x:hidden}.canvas-wrap,.page,.top-status,.toolbar{overflow-x:hidden}:root{--sidebar-w: 380px;--toolbar-h: 56px;--inset-bot: env(safe-area-inset-bottom, 0px);--bg:#efe6d8;--paper:#f3ebe0;--surface-1:#f9f3e7;--surface-2:#ede3d5;--text:#2b2b2b;--text-soft:#5b584f;--ink-1:#1f1b17;--ink-2:#3b3128;--ink-3:#8f8478;--brand-1:#7C3AED;--brand-2:#E879F9;--brand-ink:#4C1D95;--danger:#ea4335;--success:#16a34a;--warn:#f59e0b;--line:rgba(40,30,20,.14);--btn-bg:#fbf6ed;--chip-bg:#fbf6ed;--input-bg:transparent;--chip-stripe-ink:rgba(40,30,20,.08);--lined-ink:rgba(40,30,20,.08);--inset-highlight:rgba(255,255,255,.45);--shadow-color: rgba(0,0,0,.15);--sketch-shadow:2px 2px 0 var(--shadow-color);--paper-noise:url("data:image/svg+xml;utf8,  <svg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'>    <filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/>    <feComponentTransfer><feFuncA type='table' tableValues='0 0 0 0.05 0.1'/></feComponentTransfer></filter>    <rect width='100%' height='100%' filter='url(%23n)'/></svg>")}@font-face{font-family:ImpainterHand;src:local("Patrick Hand"),local("Gloria Hallelujah"),local("Comic Neue"),local("Comic Sans MS");ascent-override:90%;font-display:swap}html,body,#root{height:100%}body{margin:0;color:var(--text);background:radial-gradient(1200px 800px at 20% -10%,#ffffff,transparent 60%),radial-gradient(1200px 800px at 120% 110%,#ffffff,transparent 60%),var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";letter-spacing:.2px}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:var(--paper-noise);opacity:.28;mix-blend-mode:multiply;z-index:0}html[data-theme=sketch-sand]{--bg:#efe6d8;--paper:#f3ebe0;--surface-1:#f9f3e7;--surface-2:#ede3d5;--text:#2b2b2b;--text-soft:#5b584f;--ink-1:#1f1b17;--ink-2:#3b3128;--ink-3:#8f8478;--brand-1:#7C3AED;--brand-2:#E879F9;--brand-ink:#4C1D95;--line:rgba(40,30,20,.14);--btn-bg:#fbf6ed;--chip-bg:#fbf6ed;--input-bg:transparent;--chip-stripe-ink:rgba(40,30,20,.08);--lined-ink:rgba(40,30,20,.08);--inset-highlight:rgba(255,255,255,.45);--shadow-color: rgba(0,0,0,.15);--sketch-shadow:2px 2px 0 var(--shadow-color)}html[data-theme=pro-ivory]{--bg:#f6f5f1;--paper:#faf9f6;--surface-1:#ffffff;--surface-2:#f4f3ef;--text:#1f2937;--text-soft:#6b7280;--ink-1:#111827;--ink-2:#1f2937;--ink-3:#9ca3af;--brand-1:#2563eb;--brand-2:#3b82f6;--brand-ink:#1d4ed8;--danger:#dc2626;--success:#16a34a;--warn:#d97706;--line:rgba(3,7,18,.08);--line-strong:rgba(3,7,18,.12);--btn-bg:#ffffff;--chip-bg:#ffffff;--input-bg:#ffffff;--chip-stripe-ink:transparent;--lined-ink:transparent;--inset-highlight:transparent;--shadow-color: rgba(17,24,39,.12);--sketch-shadow: none}html[data-theme=pro-ivory] body{background:radial-gradient(900px 700px at 15% -10%,#ffffff,transparent 60%),radial-gradient(900px 700px at 110% 110%,#ffffff,transparent 60%),var(--bg)}html[data-theme=pro-ivory] body:before{opacity:.12}html[data-theme=pro-ivory] .brand-title,html[data-theme=pro-ivory] .section-title,html[data-theme=pro-ivory] .field-title{font-family:inherit;letter-spacing:0;font-weight:800;color:var(--text)}html[data-theme=pro-ivory] .sidebar{border-right:1px solid var(--line-strong);box-shadow:none}html[data-theme=pro-ivory] .top-status{border-bottom:1px solid var(--line-strong);box-shadow:none}html[data-theme=pro-ivory] .card,html[data-theme=pro-ivory] .modal-card{background:var(--surface-1);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 6px 18px #1118270f}html[data-theme=pro-ivory] .card.soft{background:var(--surface-2)}html[data-theme=pro-ivory] .card.lined,html[data-theme=pro-ivory] .card.tinted,html[data-theme=pro-ivory] .card.highlight{background:var(--surface-1)}html[data-theme=pro-ivory] .field-card{border:1px solid var(--line-strong);box-shadow:0 6px 18px #1118270f}html[data-theme=pro-ivory] .field-head{background:var(--surface-1);border-bottom:1px solid var(--line)}html[data-theme=pro-ivory] .field-card.striped .field-head,html[data-theme=pro-ivory] .field-card.striped-alt .field-head,html[data-theme=pro-ivory] .field-card.striped-warn .field-head{background:var(--surface-1)}html[data-theme=pro-ivory] .hr{border-top:1px solid var(--line)}html[data-theme=pro-ivory] .modal-header,html[data-theme=pro-ivory] .modal-footer{border-bottom:1px solid var(--line)}html[data-theme=pro-ivory] .modal-footer{border-top:1px solid var(--line);border-bottom:0}html[data-theme=pro-ivory] .icon-btn,html[data-theme=pro-ivory] .tool-btn{border:1px solid var(--line-strong);background:#fff;border-radius:8px;box-shadow:none}html[data-theme=pro-ivory] .tool-btn.active{background:#fff;outline:2px solid color-mix(in oklab,var(--brand-1) 35%,transparent);outline-offset:0}html[data-theme=pro-ivory] .input,html[data-theme=pro-ivory] select.input{border:1px solid var(--line-strong);background:#fff;box-shadow:none;border-radius:8px}html[data-theme=pro-ivory] .input:focus{border-color:var(--brand-1)}html[data-theme=pro-ivory] .badge{background:var(--chip-bg);border:1px solid var(--line-strong);box-shadow:none;font-weight:700}html[data-theme=pro-ivory] .toolbar{border-top:1px solid var(--line-strong);box-shadow:none}html[data-theme=pro-ivory] .room-card{border:1px solid var(--line-strong);box-shadow:0 6px 18px #1118270f;transform:none}html[data-theme=pro-ivory] .room-card:hover{transform:none;box-shadow:0 10px 24px #11182714}html[data-theme=pro-ivory] .room-card .square{border:1px solid var(--line-strong);box-shadow:none;background:linear-gradient(180deg,#fff,#f6f7fb)}html[data-theme=pro-ivory] .time-badge{border:1px solid var(--line-strong);background:#fff;box-shadow:none}html[data-theme=pro-ivory] .time-progress{height:6px;border:0;background:var(--surface-2);border-radius:999px}html[data-theme=pro-ivory] .time-progress__bar{background:var(--brand-2);border-radius:999px}html[data-theme=pro-ivory] .time-progress__bar.warn{background:#f59e0b}html[data-theme=pro-ivory] .time-progress__bar.danger{background:#ef4444}html[data-theme=pro-ivory] .modal{background:#00000047}html[data-theme=pro-ivory] .hover-float:hover,html[data-theme=pro-ivory] .tilt-on-hover:hover{transform:none!important;box-shadow:0 10px 24px #11182714!important}html[data-theme=pro-ivory] .vr{border-right:0}html[data-theme=pro-onyx]{--bg:#0f0f11;--paper:#141418;--surface-1:#1a1a1e;--surface-2:#222228;--text:#e5e7eb;--text-soft:#9ca3af;--ink-1:#f3f4f6;--ink-2:#9ca3af;--ink-3:#6b7280;--brand-1:#3b82f6;--brand-2:#60a5fa;--brand-ink:#2563eb;--danger:#ef4444;--success:#22c55e;--warn:#f59e0b;--line:rgba(255,255,255,.1);--line-strong:rgba(255,255,255,.16);--btn-bg:#1f1f25;--chip-bg:#1f1f25;--input-bg:#1f1f25;--chip-stripe-ink:transparent;--lined-ink:transparent;--inset-highlight:transparent;--shadow-color:rgba(0,0,0,.6);--sketch-shadow:none}html[data-theme=pro-onyx] body{background:radial-gradient(1000px 760px at 15% -10%,#17171b,transparent 60%),radial-gradient(1000px 760px at 110% 110%,#17171b,transparent 60%),var(--bg)}html[data-theme=pro-onyx] body:before{opacity:.08}html[data-theme=pro-onyx] .brand-title,html[data-theme=pro-onyx] .section-title,html[data-theme=pro-onyx] .field-title{font-family:inherit;letter-spacing:0;font-weight:800;color:var(--text)}html[data-theme=pro-onyx] .sidebar{border-right:1px solid var(--line-strong);box-shadow:none}html[data-theme=pro-onyx] .top-status{border-bottom:1px solid var(--line-strong);box-shadow:none}html[data-theme=pro-onyx] .card,html[data-theme=pro-onyx] .modal-card{background:var(--surface-1);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 10px 26px #00000059}html[data-theme=pro-onyx] .card.soft{background:var(--surface-2)}html[data-theme=pro-onyx] .card.lined,html[data-theme=pro-onyx] .card.tinted,html[data-theme=pro-onyx] .card.highlight{background:var(--surface-1)}html[data-theme=pro-onyx] .field-card{border:1px solid var(--line-strong);box-shadow:0 10px 26px #00000059}html[data-theme=pro-onyx] .field-head{background:var(--surface-1);border-bottom:1px solid var(--line)}html[data-theme=pro-onyx] .field-card.striped .field-head,html[data-theme=pro-onyx] .field-card.striped-alt .field-head,html[data-theme=pro-onyx] .field-card.striped-warn .field-head{background:var(--surface-1)}html[data-theme=pro-onyx] .hr{border-top:1px solid var(--line)}html[data-theme=pro-onyx] .modal-header,html[data-theme=pro-onyx] .modal-footer{border-bottom:1px solid var(--line)}html[data-theme=pro-onyx] .modal-footer{border-top:1px solid var(--line);border-bottom:0}html[data-theme=pro-onyx] .icon-btn,html[data-theme=pro-onyx] .tool-btn{border:1px solid var(--line-strong);background:var(--surface-1);border-radius:8px;box-shadow:none;color:var(--text)}html[data-theme=pro-onyx] .tool-btn.active{background:var(--surface-1);outline:2px solid color-mix(in oklab,var(--brand-1) 35%,transparent);outline-offset:0}html[data-theme=pro-onyx] .input,html[data-theme=pro-onyx] select.input{border:1px solid var(--line-strong);background:var(--surface-1);color:var(--text);box-shadow:none;border-radius:8px}html[data-theme=pro-onyx] .input:focus{border-color:var(--brand-1)}html[data-theme=pro-onyx] .badge{background:var(--chip-bg);border:1px solid var(--line-strong);box-shadow:none;font-weight:700;color:var(--text)}html[data-theme=pro-onyx] .toolbar{border-top:1px solid var(--line-strong);box-shadow:none}html[data-theme=pro-onyx] .room-card{border:1px solid var(--line-strong);box-shadow:0 10px 26px #00000059;transform:none;background:var(--surface-1);color:var(--text)}html[data-theme=pro-onyx] .room-card:hover{transform:none;box-shadow:0 14px 32px #00000073}html[data-theme=pro-onyx] .room-card .square{border:1px solid var(--line-strong);box-shadow:none;background:linear-gradient(180deg,#1f1f24,#24242a)}html[data-theme=pro-onyx] .time-badge{border:1px solid var(--line-strong);background:var(--surface-2);box-shadow:none;color:var(--text)}html[data-theme=pro-onyx] .time-progress{height:6px;border:0;background:var(--surface-2);border-radius:999px}html[data-theme=pro-onyx] .time-progress__bar{background:var(--brand-2);border-radius:999px}html[data-theme=pro-onyx] .time-progress__bar.warn{background:#f59e0b}html[data-theme=pro-onyx] .time-progress__bar.danger{background:#ef4444}html[data-theme=pro-onyx] .modal{background:#0000008c}html[data-theme=pro-onyx] .hover-float:hover,html[data-theme=pro-onyx] .tilt-on-hover:hover{transform:none!important;box-shadow:0 14px 32px #00000073!important}html[data-theme=pro-onyx] .vr{border-right:0}html[data-theme=sketch-inkwell]{--bg:#0d1117;--paper:#131820;--surface-1:#161c24;--surface-2:#1b212a;--text:#e6edf3;--text-soft:#9ca3af;--ink-1:#f0f6fc;--ink-2:#58a6ff;--ink-3:#79c0ff;--brand-1:#06b6d4;--brand-2:#0ea5e9;--brand-ink:#0891b2;--line:rgba(120,200,255,.16);--btn-bg:#18212c;--chip-bg:#1b2732;--input-bg:#151d27;--chip-stripe-ink:rgba(80,150,220,.15);--lined-ink:rgba(80,150,220,.12);--inset-highlight:rgba(255,255,255,.05);--shadow-color:rgba(0,0,0,.7);--sketch-shadow:2px 2px 0 var(--shadow-color)}html[data-theme=retro-terminal]{--bg:#000000;--paper:#000000;--surface-1:#000000;--surface-2:#000000;--text:#00ff66;--text-soft:#33cc66;--ink-1:#00ff66;--ink-2:#33cc66;--ink-3:#009944;--brand-1:#00ff66;--brand-2:#33ff99;--brand-ink:#00cc55;--danger:#ff0033;--success:#00ff66;--warn:#ffff33;--line:rgba(0,255,100,.35);--btn-bg:#000000;--chip-bg:#000000;--input-bg:#000000;--chip-stripe-ink:transparent;--lined-ink:transparent;--inset-highlight:transparent;--shadow-color:transparent;--sketch-shadow:none}html[data-theme=retro-terminal] body{background:var(--bg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Courier New,monospace}html[data-theme=retro-terminal] body:before{opacity:0}html[data-theme=retro-terminal] .card,html[data-theme=retro-terminal] .modal-card,html[data-theme=retro-terminal] .field-card,html[data-theme=retro-terminal] .room-card{background:#000;color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:none}html[data-theme=retro-terminal] .hr{border-top:1px dashed var(--line)}html[data-theme=retro-terminal] .input,html[data-theme=retro-terminal] select.input{background:#000;color:var(--text);border:1px solid var(--line);box-shadow:none}html[data-theme=retro-terminal] .btn,html[data-theme=retro-terminal] .icon-btn,html[data-theme=retro-terminal] .tool-btn{background:#000;color:var(--text);border:1px solid var(--line);box-shadow:none;transform:none}html[data-theme=retro-terminal] .btn.primary{background:#001f0f;border-color:var(--ink-2)}html[data-theme=retro-terminal] .badge{background:#000;color:var(--text);border:1px solid var(--line);box-shadow:none}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;gap:0;height:100%;position:relative;z-index:1}.sidebar{background:var(--paper);border-right:2px solid var(--ink-2);box-shadow:var(--sketch-shadow);padding:14px;display:flex;flex-direction:column;gap:12px;color:var(--text)}.main{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface-1);color:var(--text)}.mobile-topbar{display:none;align-items:center;gap:8px;height:54px;padding:6px 10px;background:var(--paper);border-bottom:2px solid var(--ink-2)}.mobile-topbar .menu-btn{all:unset;cursor:pointer;padding:6px 10px;font-weight:900;border:2px solid var(--ink-2);background:var(--btn-bg);border-radius:10px;box-shadow:var(--sketch-shadow);color:var(--text)}.sidebar-backdrop{display:none}@media (max-width:980px){.shell{grid-template-columns:1fr}.mobile-topbar{display:flex}.sidebar{position:fixed;inset:54px auto 0 0;width:var(--sidebar-w);max-width:86vw;transform:translate(-101%);transition:transform .2s ease;z-index:1000;pointer-events:auto;border-right:0}body.sidebar-open .sidebar{transform:translate(0)}body.sidebar-open{overflow:hidden}body.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible;overflow:hidden}}.row{display:flex;align-items:center;gap:8px}.col{display:grid;gap:8px}.hr{height:0;border-top:2px dashed var(--ink-2);opacity:.5;margin:8px 0}.vr{width:12px;height:28px;border-right:2px dashed var(--ink-2);opacity:.25}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mut{color:var(--text-soft)}.hint{color:var(--text-soft);font-size:12px}.brand{display:flex;align-items:center;gap:10px;color:var(--brand-2)}.brand-logo{width:28px;height:28px}.brand-title{font-family:ImpainterHand,inherit;letter-spacing:.5px;font-weight:900;font-size:18px}.card,.modal-card{background:var(--surface-1);border:2px solid var(--ink-2);border-radius:16px;box-shadow:0 0 0 2px var(--inset-highlight) inset,var(--sketch-shadow);padding:12px;color:var(--text)}.card.soft{background:var(--surface-2)}.card.lined{background:linear-gradient(0deg,color-mix(in oklab,var(--surface-1) 92%,transparent) 0 100%),repeating-linear-gradient(0deg,var(--lined-ink) 0,var(--lined-ink) 8px,transparent 8px,transparent 20px)}.card.tinted{background:linear-gradient(0deg,var(--surface-1) 0,color-mix(in oklab,var(--surface-1) 92%,var(--paper)) 100%)}.card.highlight{background:repeating-linear-gradient(-3deg,#f8eec4f2 0 10px,#f8eec4bf 10px 20px);border-color:#8a6e2f}.section-title{font-family:ImpainterHand,inherit;font-weight:900;color:var(--brand-ink);letter-spacing:.4px}.btn{cursor:pointer;border:2px solid var(--ink-2);background:var(--btn-bg);border-radius:12px;padding:8px 12px;font-weight:800;box-shadow:var(--sketch-shadow);transition:transform .06s ease,box-shadow .06s ease,background .1s ease,opacity .1s ease,color .1s ease;color:var(--text)}.btn:hover{transform:translate(-1px,-1px) rotate(-.3deg);box-shadow:3px 3px color-mix(in oklab,var(--shadow-color) 100%,transparent)}.btn:active{transform:translate(0);box-shadow:var(--sketch-shadow)}.btn[disabled]{opacity:.6;cursor:not-allowed}.btn.primary{color:#fff;background:repeating-linear-gradient(6deg,var(--brand-1) 0,var(--brand-1) 8px,var(--brand-2) 8px,var(--brand-2) 16px);border-color:var(--brand-ink)}.btn.danger{color:#fff;background:repeating-linear-gradient(6deg,#dc2626 0 8px,#ef4444 8px 16px);border-color:#7f1d1d}.btn.ghost{background:var(--surface-2)}.tool-btn,.icon-btn{border:2px solid var(--ink-2);background:var(--btn-bg);border-radius:10px;padding:6px 8px;box-shadow:var(--sketch-shadow);cursor:pointer;transition:transform .06s ease,box-shadow .06s ease,background .1s ease,opacity .1s ease;color:var(--text)}.tool-btn.active{background:linear-gradient(0deg,var(--btn-bg) 0,var(--btn-bg) 60%),repeating-linear-gradient(0deg,color-mix(in oklab,var(--brand-2) 18%,transparent),color-mix(in oklab,var(--brand-2) 18%,transparent) 6px,transparent 6px,transparent 12px)}.tool-btn:hover,.icon-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px color-mix(in oklab,var(--shadow-color) 100%,transparent)}.input,select.input{border:2px solid var(--ink-2);background:var(--input-bg);border-radius:10px;padding:8px 10px;outline:none;box-shadow:var(--sketch-shadow);color:var(--text)}.input::placeholder{color:color-mix(in oklab,var(--text) 40%,transparent)}.input:focus{border-color:var(--brand-ink)}.list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.item{background:var(--surface-1);border:2px solid var(--ink-2);border-radius:12px;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px;box-shadow:var(--sketch-shadow);color:var(--text)}.badge{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--ink-2);border-radius:999px;padding:4px 8px;font-weight:900;font-size:12px;background:linear-gradient(0deg,var(--chip-bg) 0,var(--chip-bg) 60%),repeating-linear-gradient(0deg,var(--chip-stripe-ink),var(--chip-stripe-ink) 6px,transparent 6px,transparent 12px);box-shadow:var(--sketch-shadow);color:var(--text)}.badge.tiny{font-size:11px;padding:2px 6px}.badge.neutral{background:var(--chip-bg)}.badge.red{color:#fff;border-color:#7f1d1d;background:repeating-linear-gradient(6deg,#b91c1c 0 8px,#ef4444 8px 16px)}.badge.green{color:#fff;border-color:#064e3b;background:repeating-linear-gradient(6deg,#10b981 0 8px,#34d399 8px 16px)}.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:12px;background:#00000059}html[data-theme=sketch-inkwell] .modal{background:#0009}.modal-card{width:min(92vw,640px);background:var(--surface-1);color:var(--text)}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;border-bottom:2px dashed var(--ink-2);padding:8px}.modal-footer{border-top:2px dashed var(--ink-2);border-bottom:0}.modal-header h3{margin:0;font-family:ImpainterHand,inherit;letter-spacing:.3px}.modal-x{all:unset;cursor:pointer;font-weight:900;line-height:1;border:2px solid var(--ink-2);background:var(--btn-bg);padding:2px 8px;border-radius:10px;box-shadow:var(--sketch-shadow);color:var(--text)}.modal-body{padding:10px;display:grid;gap:8px}.top-status{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:10px 16px;border-bottom:2px solid var(--ink-2);background:var(--paper);box-shadow:var(--sketch-shadow);color:var(--text)}.ts-left,.ts-right{display:flex;align-items:center;gap:8px;min-width:0}.ts-left{justify-content:flex-start}.ts-right{justify-content:flex-end}.ts-center{justify-self:center;display:flex;align-items:center;gap:8px;min-width:0}.truncate{max-width:32ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vr-dot{width:10px;height:10px;border-radius:999px;background:var(--ink-2);opacity:.25;margin:0 2px}.time-badge{display:inline-flex;align-items:center;padding:4px 8px;border:2px solid var(--ink-2);border-radius:10px;font-weight:900;background:var(--chip-bg);box-shadow:var(--sketch-shadow);color:var(--text)}.time-badge.warn{background:color-mix(in oklab,var(--chip-bg),#ffea9a 40%);border-color:#8a6e2f}.time-badge.danger{background:color-mix(in oklab,var(--chip-bg),#ffc9d0 45%);border-color:#7f1d1d}html[data-theme=sketch-inkwell] .time-badge.warn{background:color-mix(in oklab,var(--chip-bg),#8b6b00 35%)}html[data-theme=sketch-inkwell] .time-badge.danger{background:color-mix(in oklab,var(--chip-bg),#7a1f2a 35%)}.pulse{animation:pulse 1s ease-in-out infinite}.pulse-fast{animation:pulse .6s ease-in-out infinite}@keyframes pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}.time-progress{grid-column:1/-1;height:10px;background:color-mix(in oklab,var(--paper),#000 4%);border-top:2px dashed var(--ink-2);border-bottom:2px dashed var(--ink-2)}.time-progress__bar{height:100%;background:repeating-linear-gradient(90deg,color-mix(in oklab,var(--brand-2) 35%,transparent) 0 12px,color-mix(in oklab,var(--brand-1) 22%,transparent) 12px 24px)}.time-progress__bar.warn{background:repeating-linear-gradient(90deg,#f59e0b73 0 12px,#f59e0b33 12px 24px)}.time-progress__bar.danger{background:repeating-linear-gradient(90deg,#ef444480 0 12px,#ef444440 12px 24px)}.toolbar{position:sticky;bottom:0;background:var(--paper);border-top:2px solid var(--ink-2);padding:8px 12px;height:var(--toolbar-h);display:flex;align-items:center;z-index:20;gap:10px;color:var(--text)}.tb-left,.tb-right{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.tb-left{justify-content:flex-start}.tb-right{justify-content:flex-end}.tb-group{display:flex;align-items:center;gap:8px;min-width:0}.tb-scroll{display:flex;align-items:center;gap:6px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-width:clamp(160px,36vw,420px)}.tb-scroll::-webkit-scrollbar{height:6px}.tb-scroll::-webkit-scrollbar-thumb{background:#00000026;border-radius:999px}.canvas-wrap{position:relative;height:100%;min-height:0;width:100%;overflow:hidden;contain:layout paint}canvas{display:block;width:100%;height:100%;background:#fff;touch-action:none}.room-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.room-card{cursor:pointer;display:grid;gap:8px;justify-items:center;padding:12px;border:2px solid var(--ink-2);border-radius:14px;background:var(--surface-1);box-shadow:var(--sketch-shadow);transition:transform .06s ease,box-shadow .06s ease;color:var(--text)}.room-card:hover{transform:translate(-1px,-1px) rotate(-.3deg);box-shadow:3px 3px color-mix(in oklab,var(--shadow-color) 100%,transparent)}.room-card .label{font-weight:900;font-family:ImpainterHand,inherit}.room-card .square{width:70px;height:70px;border-radius:12px;border:2px solid var(--ink-2);box-shadow:var(--sketch-shadow)}.room-card .square.public{background:repeating-linear-gradient(135deg,color-mix(in oklab,var(--brand-1) 28%,transparent) 0 10px,color-mix(in oklab,var(--brand-2) 18%,transparent) 10px 20px)}.room-card .square.private{background:repeating-linear-gradient(135deg,color-mix(in oklab,#10b981 28%,transparent) 0 10px,color-mix(in oklab,#34d399 18%,transparent) 10px 20px)}.player-left .badge.tiny{margin-left:4px}.score-badge{background:var(--chip-bg)}.accuse-spotlight:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 40% at 60% 40%,#0000000d,#0000001f);pointer-events:none}.glass{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface-1)!important}.gradient-border{border:2px solid var(--ink-2)!important;box-shadow:var(--sketch-shadow)!important}.has-shine:after{display:none!important}.hover-float{transition:transform .09s ease,box-shadow .09s ease}.hover-float:hover{transform:translate(-1px,-1px) rotate(-.3deg);box-shadow:3px 3px color-mix(in oklab,var(--shadow-color) 100%,transparent)!important}.tilt-on-hover:hover{transform:translate(-1px,-1px) rotate(-.4deg)}.ripple{position:relative;overflow:hidden}.ripple:after{display:none}.block-disabled[aria-disabled=true]{opacity:.6;pointer-events:none}.page{padding:16px clamp(12px,3vw,28px) 24px;height:100%;overflow:auto;display:grid;gap:12px;align-content:start;color:var(--text)}.page-title{margin:4px 2px 0;font-size:26px;line-height:1.2;font-family:ImpainterHand,inherit;letter-spacing:.3px;color:var(--brand-ink)}.page-summary .summary-row{display:flex;flex-wrap:wrap;gap:8px}.stack,.form-card{display:grid;gap:12px}.form-field{display:grid;gap:6px}.form-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;grid-auto-rows:1fr}.form-tile{display:grid;align-content:start;gap:6px;padding:10px;background:var(--surface-1);border:2px solid var(--ink-2);border-radius:12px;box-shadow:var(--sketch-shadow);min-height:118px;color:var(--text)}.check-row{display:flex;align-items:center;gap:8px}.form-actions{display:flex;gap:10px;justify-content:flex-start}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0}.board-wrap,.canvas-wrap{position:relative;height:100%;min-height:0}.board-canvas,.canvas-wrap>canvas{width:100%;height:100%;display:block;background:#fff;touch-action:none}.board-overlay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.board-overlay--locked{background:#fff9}html[data-theme=sketch-inkwell] .board-overlay--locked{background:#00000073}.board-overlay__card{pointer-events:auto;color:var(--text);font-weight:700;border-radius:12px;border:2px solid var(--ink-2);background:var(--surface-1);padding:10px 14px;box-shadow:var(--sketch-shadow)}.field-card{border:2px solid var(--ink-2);border-radius:16px;background:var(--surface-1);box-shadow:var(--sketch-shadow);overflow:hidden;color:var(--text)}.field-head{padding:8px 12px;border-bottom:2px dashed var(--ink-2);background:linear-gradient(0deg,color-mix(in oklab,var(--surface-1) 92%,transparent) 0 100%),repeating-linear-gradient(-6deg,color-mix(in oklab,var(--brand-2) 24%,transparent) 0,color-mix(in oklab,var(--brand-2) 24%,transparent) 8px,transparent 8px,transparent 16px)}.field-card.striped .field-head{background:linear-gradient(0deg,color-mix(in oklab,var(--surface-1) 92%,transparent) 0 100%),repeating-linear-gradient(-6deg,color-mix(in oklab,var(--brand-1) 26%,transparent) 0,color-mix(in oklab,var(--brand-1) 26%,transparent) 8px,transparent 8px,transparent 16px)}.field-card.striped-alt .field-head{background:linear-gradient(0deg,color-mix(in oklab,var(--surface-1) 92%,transparent) 0 100%),repeating-linear-gradient(-6deg,color-mix(in oklab,#10b981 26%,transparent) 0,color-mix(in oklab,#10b981 26%,transparent) 8px,transparent 8px,transparent 16px)}.field-card.striped-warn .field-head{background:linear-gradient(0deg,color-mix(in oklab,var(--surface-1) 92%,transparent) 0 100%),repeating-linear-gradient(-6deg,color-mix(in oklab,#f59e0b 26%,transparent) 0,color-mix(in oklab,#f59e0b 26%,transparent) 8px,transparent 8px,transparent 16px)}.field-title{font-family:ImpainterHand,inherit;font-weight:900;letter-spacing:.3px;color:var(--brand-ink);display:flex;align-items:center;gap:8px}.field-body{padding:12px;display:grid;gap:10px}.field-tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch}.field-tile{display:grid;gap:6px;align-content:start;border:2px solid var(--ink-2);border-radius:12px;background:var(--surface-1);padding:10px;box-shadow:var(--sketch-shadow);min-height:104px;color:var(--text)}@media (max-width: 860px){.toolbar{height:auto;padding-top:10px;padding-bottom:calc(10px + var(--inset-bot));flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 10px}.toolbar .vr{display:none}.tb-left{width:100%;overflow:hidden;gap:10px}.tb-right{width:100%;justify-content:space-between;gap:8px}.tb-right .badge{flex:0 0 auto}}@media (max-width: 720px){.top-status{grid-template-columns:auto 1fr auto;padding:6px 8px;gap:8px;border-bottom:1px solid var(--line);box-shadow:none;background:var(--paper)}.ts-left,.ts-center,.ts-right{min-width:0}.vr-dot{display:none}.time-badge{padding:3px 6px;font-weight:800}.time-progress{height:6px;border-top:1px dashed var(--ink-2);border-bottom:1px dashed var(--ink-2)}.toolbar{height:auto;padding:6px 8px calc(8px + var(--inset-bot));gap:8px;border-top:1px solid var(--line);box-shadow:none;background:var(--paper);flex-wrap:wrap;align-items:center}.toolbar .vr{display:none}.tb-left,.tb-right{flex:1 1 100%;gap:8px;align-items:center}.tb-left{justify-content:center}.tb-right{justify-content:space-between}.tb-scroll{max-width:none;flex:1 1 100%;justify-content:center;padding-bottom:0}.tool-btn,.icon-btn{padding:6px 8px;border-radius:12px}.tb-group .icon-btn[style*="width: 28px"]{width:26px!important;height:26px!important}.tb-group .icon-btn[style*="width: 44px"]{width:40px!important;height:28px!important}.tb-right .btn.ghost{padding:8px 10px;min-width:auto}.tb-right .btn.danger{padding:8px 12px;border-radius:12px;font-weight:800}}.top-status,.toolbar{max-width:100vw;overflow-x:hidden}@media (max-width: 420px){.badge{font-size:11px;padding:3px 7px}.time-badge{padding:3px 7px}.truncate{max-width:16ch}.brand-title{font-size:16px}.modal-card{width:min(94vw,580px)}}.summary-compact .summary-row{gap:6px;flex-wrap:wrap}.form-grid.three-col{grid-template-columns:repeat(3,minmax(220px,1fr))}.form-grid.two-col{grid-template-columns:repeat(1,minmax(220px,1fr))}@media (max-width: 860px){.form-grid.three-col,.form-grid.two-col{grid-template-columns:1fr}}.hint-dot{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;font-weight:900;font-size:12px;line-height:1;border:2px solid var(--ink-2);background:var(--chip-bg);color:var(--text);box-shadow:var(--sketch-shadow);cursor:help}.expand-btn{width:100%;display:flex;justify-content:flex-start;gap:8px;margin:8px 0;background:var(--surface-2)}.sticky-actions{position:sticky;bottom:12px;display:flex;gap:10px;justify-content:flex-end;padding-top:8px;background:linear-gradient(180deg,transparent,color-mix(in oklab,var(--paper) 80%,transparent) 60%)}
