@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc6c75d91fb27f62-s.3vy-_l9ztcxef.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed5f1f9bced69653-s.p.2v4ibmotuyxuz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/574e5b2a8fe8e45b-s.1zpm-mgw3w1fq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/89ea96820aa96980-s.p.3pskbmi5y11f5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Fallback;src:local(Arial);ascent-override:95.6%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:99.37%}.oJXwjW_className{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.oJXwjW_variable{--f-ui:"Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.vFAKDG_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.vFAKDG_variable{--f-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.Rnn2SG_className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.Rnn2SG_variable{--f-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#eceff4;--panel:#fff;--panel-2:#f4f6fa;--ink:#172033;--ink-2:#535e76;--ink-3:#8790a5;--line:#d6dce5;--line-2:#e6eaf0;--accent:#2443c9;--accent-ink:#fff;--accent-soft:#e7ecfd;--dot:#dc3326;--go:#13804f;--warn:#b7740a;--grid:#c8d0dd;--canvas:#f8f9fc;--ui:var(--f-ui), "Segoe UI", system-ui, -apple-system, sans-serif;--display:var(--f-display), "Segoe UI", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1218;--panel:#161b24;--panel-2:#1c222d;--ink:#e7eaf1;--ink-2:#a6aec0;--ink-3:#737c90;--line:#2b3341;--line-2:#222935;--accent:#8ea2ff;--accent-ink:#0e1218;--accent-soft:#212a4d;--dot:#ff5b50;--go:#45d08f;--warn:#f1b43f;--grid:#29313f;--canvas:#12161e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1218;--panel:#161b24;--panel-2:#1c222d;--ink:#e7eaf1;--ink-2:#a6aec0;--ink-3:#737c90;--line:#2b3341;--line-2:#222935;--accent:#8ea2ff;--accent-ink:#0e1218;--accent-soft:#212a4d;--dot:#ff5b50;--go:#45d08f;--warn:#f1b43f;--grid:#29313f;--canvas:#12161e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:400 14px/1.45 var(--ui);-webkit-font-smoothing:antialiased;margin:0}button,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}.page{flex-direction:column;min-height:100%;display:flex}.page>main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:12px;min-height:56px;padding:8px 16px;display:flex}.brand-name{font:700 17px/1 var(--display);letter-spacing:-.01em}.brand-tag{font:700 10.5px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line);border-radius:4px;padding:3px 5px}.topbar .spacer{flex:1}.bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 16px;display:flex}.control{align-items:center;gap:8px;display:flex}.control-label{font:700 12px var(--ui);color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}.seg{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.seg button{appearance:none;color:var(--ink-2);font:700 13px var(--ui);white-space:nowrap;background:0 0;border:0;border-radius:7px;min-height:28px;padding:0 11px}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #1720331f, 0 0 0 1px var(--line)}.intro{color:var(--ink-2);max-width:70ch;margin:0;padding:14px 16px 0}.map-head{padding:10px 16px 0}.map-title{font:700 22px/1.2 var(--display);margin:0}.map-sub{color:var(--ink-2);margin:2px 0 0}.canvas{border:1px solid var(--line);background-color:var(--canvas);background-image:radial-gradient(circle, var(--grid) 1px, transparent 1.4px);background-size:22px 22px;background-attachment:local;border-radius:10px;flex:1;min-height:420px;margin:12px 16px;overflow:auto}.canvas-inner{place-items:center;width:max-content;min-width:100%;padding:28px;display:grid}.canvas svg{max-width:none;display:block}.pains{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:0 16px 16px;padding:12px 16px}.pains h2{font:700 12px var(--ui);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}.pains ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pains li{align-items:baseline;gap:10px;display:flex}.pdot-ui{background:var(--dot);color:#fff;width:18px;height:18px;font:700 10px/1 var(--ui);border-radius:50%;flex:none;place-items:center;display:inline-grid}.status{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.status i{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.status[data-state=ok] i{background:var(--go)}.status[data-state=unreachable] i{background:var(--dot)}.status[data-state=missing] i{background:var(--warn)}@media (max-width:600px){.canvas,.pains{border-inline:0;border-radius:0;margin-inline:0}}.narrow{align-content:start;gap:16px;width:100%;max-width:720px;margin:0 auto;padding:24px 16px;display:grid}.narrow h2{font:700 16px var(--display);margin:8px 0 0}.narrow h3{font:700 15px var(--ui);margin:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:10px;padding:16px;display:grid}.form{gap:12px;display:grid}.form.inline{grid-template-columns:1fr auto;align-items:center}.form.inline .error,.form.inline .ok{grid-column:1/-1}.field{color:var(--ink-2);gap:4px;font-size:13px;font-weight:700;display:grid}.inp{border:1px solid var(--line);background:var(--panel-2);min-width:0;height:38px;color:var(--ink);font:400 15px var(--ui);border-radius:8px;padding:0 10px}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--panel);outline:none}.btn{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--ink);font:700 14px var(--ui);border-radius:8px;justify-content:center;justify-self:start;align-items:center;gap:7px;padding:0 14px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.muted{color:var(--ink-2)}.notice{background:var(--accent-soft);border-radius:8px;margin:0;padding:10px 12px}.error{color:var(--dot);margin:0;font-weight:700}.ok{color:var(--go);margin:0;font-weight:700}a.brand-name{color:inherit;text-decoration:none}.customer{gap:12px;display:grid}.role{font:400 15px var(--ui)}.workshops .card{gap:4px}.workshop-name{font:700 16px var(--display);color:var(--ink);text-decoration:none}.workshop-name:hover{text-decoration:underline}.counts{color:var(--ink-2);font-size:13px}.new-workshop summary{list-style:none}.new-workshop summary::-webkit-details-marker{display:none}.new-workshop[open] summary{margin-bottom:12px}.new-workshop .form{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}.room{background:var(--panel);text-align:center;flex-direction:column;align-items:center;gap:3vh;min-height:100%;padding:3vh 4vw;display:flex}.room-back{color:var(--ink-2);align-self:flex-start;font-weight:700;text-decoration:none}.room-title{font:800 clamp(28px, 6vw, 72px)/1.1 var(--display);margin:0}.room-closed{color:var(--dot);font:700 clamp(18px, 2.5vw, 32px) var(--ui);margin:0}.room-body{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:5vw;display:flex}.room-qr{aspect-ratio:1;background:#fff;border-radius:12px;width:min(42vh,80vw);padding:12px}.room-qr svg{width:100%;height:100%;display:block}.room-steps{gap:1vh;display:grid}.room-label{color:var(--ink-2);font:700 clamp(16px, 2.2vw, 28px) var(--ui);text-transform:uppercase;letter-spacing:.08em;margin:0}.room-link{font:700 clamp(20px, 3.4vw, 48px) var(--ui);word-break:break-all;margin:0 0 3vh}.room-code{font:600 clamp(48px, 11vw, 160px)/1 var(--f-mono), ui-monospace, monospace;letter-spacing:.12em;color:var(--accent);margin:0}:root{--accent-line:#b9c5f5;--dot-soft:#fde8e6;--mono:var(--f-mono), ui-monospace, "Cascadia Mono", Consolas, monospace;--shadow:0 1px 2px #1720330f, 0 8px 24px #1720331a;--backdrop:#1016227a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--accent-line:#3a4785;--dot-soft:#3a1d1c;--shadow:0 1px 2px #0000004d, 0 8px 24px #0006;--backdrop:#0009}}:root[data-theme=dark]{--accent-line:#3a4785;--dot-soft:#3a1d1c;--shadow:0 1px 2px #0000004d, 0 8px 24px #0006;--backdrop:#0009}.editor-page{height:100%;min-height:0}.count{font:600 11.5px/1.5 var(--mono);background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:0 7px}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000;min-height:30px;padding-inline:8px}.btn.ghost:hover{background:var(--accent-soft)}.btn.big{min-height:48px;font-size:16px}.code-inp{font:600 22px var(--mono);letter-spacing:.2em;text-transform:uppercase}.steps-tools{flex-wrap:wrap;gap:2px;display:flex}.save-state{color:var(--ink-2);margin-left:auto;font-size:12.5px}.save-state.s-saved{color:var(--go)}.save-state.s-offline,.save-state.s-failed,.save-state.s-stale{color:var(--warn)}.save-state.s-closed,.save-state.s-notYours{color:var(--dot);font-weight:700}.dialog{border:1px solid var(--line);background:var(--panel);width:min(560px,100vw - 32px);color:var(--ink);box-shadow:var(--shadow);border-radius:12px;padding:20px}.dialog::backdrop{background:var(--backdrop)}.dialog h2{font:700 18px var(--display);margin:0 0 6px}.box{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--ink);font:400 15px/1.4 var(--ui);resize:vertical;border-radius:8px;padding:10px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.toasts{z-index:50;pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--panel);box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;font-size:14px}.sel-wrap{min-width:0;max-width:100%;display:inline-flex;position:relative}.sel-wrap:after{content:"";border-right:1.6px solid var(--ink-2);border-bottom:1.6px solid var(--ink-2);pointer-events:none;width:6px;height:6px;position:absolute;top:50%;right:11px;transform:translateY(-70%)rotate(45deg)}.sel-wrap select{appearance:none;border:1px solid var(--line);background:var(--panel);width:100%;min-width:0;height:30px;font:700 13px var(--ui);color:var(--ink);text-overflow:ellipsis;border-radius:7px;padding:0 28px 0 10px}.sel-wrap select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.sel-wrap.big select{height:34px;font-size:14px}.mobile-bar,.hint-touch{display:none}.workspace{flex:1;grid-template-columns:minmax(330px,440px) minmax(0,1fr);min-height:0;display:grid}.editor{background:var(--panel);border-right:1px solid var(--line);min-height:0;padding-block:16px 48px;padding-inline:16px;overflow:auto}.board{flex-direction:column;min-width:0;min-height:0;display:flex}.meta{flex-direction:column;gap:10px;margin-top:14px;display:flex}.title-input{width:calc(100% + 16px);color:var(--ink);font:700 23px/1.2 var(--display);letter-spacing:-.015em;background:0 0;border:1px solid #0000;border-radius:8px;margin-inline:-8px;padding:6px 8px}.title-input::placeholder{color:var(--ink-3);font-weight:600}.title-input:hover{border-color:var(--line)}.title-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--panel);outline:none}.meta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.steps-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:8px;margin-top:22px;padding-bottom:8px;display:flex}.steps-head h2{font:700 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0;display:flex}.steps{flex-direction:column;gap:2px;margin:8px 0 0;padding:0;list-style:none;display:flex}.step{border:1px solid #0000;border-radius:10px;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:8px 8px 8px 4px;display:grid;position:relative}@media (hover:hover){.step:hover{background:var(--panel-2)}}.step.is-sel{background:var(--accent-soft);border-color:var(--accent-line)}.rail{justify-content:center;padding-top:6px;display:flex;position:relative}.can-drag .rail{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.can-drag .rail:active{cursor:grabbing}.step.dragging{z-index:5;background:var(--panel);box-shadow:var(--shadow);border-color:var(--accent-line)}.step.drop-above{box-shadow:inset 0 3px 0 var(--accent)}.step.drop-below{box-shadow:inset 0 -3px 0 var(--accent)}body.drag-steps,body.drag-steps *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.step:not(:last-child) .rail:after{content:"";border-left:1.5px dashed var(--line);position:absolute;top:36px;bottom:-14px;left:50%}.badge{width:30px;height:26px;font:600 12px/1 var(--mono);color:var(--c-text);place-items:center;display:grid;position:relative}.badge:before{content:"";border:1.5px solid var(--c-step-s);background:var(--c-step-f);border-radius:6px;position:absolute;inset:0}.badge span{position:relative}.b-start:before{background:var(--c-start-f);border-color:var(--c-start-s);border-radius:13px}.b-end:before{background:var(--c-end-f);border-color:var(--c-end-s);border-radius:13px}.b-end{color:var(--c-end-t)}.b-decision:before{background:var(--c-dec-f);border-color:var(--c-dec-s);border-radius:3px;width:20px;height:20px;inset:3px auto auto 5px;transform:rotate(45deg)}.b-doc:before{background:var(--c-doc-f);border-color:var(--c-doc-s);border-radius:4px 4px 12px 2px}.b-wait:before{background:var(--c-wait-f);border-color:var(--c-wait-s);border-radius:4px 13px 13px 4px}.b-handoff:before{background:var(--c-hand-s);clip-path:polygon(0 0,72% 0,100% 50%,72% 100%,0 100%);border:0;border-radius:3px}.b-handoff:after{content:"";background:var(--c-hand-f);clip-path:polygon(0 0,71% 0,98% 50%,71% 100%,0 100%);position:absolute;inset:1.5px}.b-handoff span{z-index:1;margin-right:5px}.who.dept input{color:var(--c-hand-s)}.body{flex-direction:column;gap:6px;min-width:0;display:flex}.body textarea{resize:none;width:100%;min-height:36px;color:var(--ink);font:400 15.5px/1.4 var(--ui);background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 8px;display:block;overflow:hidden}@media (hover:hover){.step:hover .body textarea{border-color:var(--line);background:var(--panel)}}.body textarea:focus{background:var(--panel);box-shadow:0 0 0 3px var(--accent-soft);outline:none;border-color:var(--accent)!important}.meta-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.type-wrap select{width:120px}.who{border:1px solid var(--line);background:var(--panel);border-radius:7px;flex:120px;align-items:center;gap:6px;min-width:110px;max-width:200px;height:30px;padding:0 4px 0 9px;display:inline-flex}.who:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.who-dot{border-radius:50%;flex:none;width:9px;height:9px}.who input{width:100%;min-width:0;font:700 13px var(--ui);color:var(--ink);background:0 0;border:0;outline:none}.who input::placeholder{color:var(--ink-3);font-weight:400}.tools{gap:2px;margin-left:auto;display:inline-flex}.tool{appearance:none;width:28px;height:28px;color:var(--ink-3);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.tool:hover:not(:disabled){background:var(--line-2);color:var(--ink)}.tool:disabled{opacity:.3;cursor:default}.tool svg{width:16px;height:16px}.dot-btn circle{fill:#0000;stroke:currentColor;stroke-width:1.6px}.dot-btn[aria-pressed=true]{color:var(--dot)}.dot-btn[aria-pressed=true] circle{fill:var(--dot);stroke:var(--dot)}.branches{flex-direction:column;gap:5px;display:flex}.branch,.then{grid-template-columns:70px 16px minmax(0,1fr);align-items:center;gap:6px;display:grid}.branch input{border:1px solid var(--line);background:var(--panel);width:100%;height:30px;font:700 12.5px var(--ui);text-align:center;border-radius:999px;padding:0 8px}.branch input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.branch{grid-template-columns:70px 16px minmax(0,1fr) 28px}.br-yes input{color:var(--c-yes)}.br-no input{color:var(--c-no)}.br-alt input{color:var(--ink)}.add-branch{color:var(--accent);font:700 13px var(--ui);background:0 0;border:0;border-radius:6px;place-self:flex-start start;margin-left:2px;padding:4px 8px}.add-branch:hover{background:var(--accent-soft)}.arr{color:var(--ink-3);text-align:center}.then>span:first-child{font:700 11px var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);grid-column:1/3;padding-left:2px}.links{flex-direction:column;gap:5px;display:flex}.step:not(.is-sel):not(.has-jump):not(:focus-within) .links{display:none}.then{grid-template-columns:70px 16px minmax(0,1fr) 28px}.issue{background:var(--dot-soft);border-radius:8px;align-items:center;gap:8px;padding:4px 4px 4px 10px;display:flex}.issue input{min-width:0;height:28px;font:400 13.5px var(--ui);color:var(--ink);background:0 0;border:0;outline:none;flex:1}.pdot-ui{background:var(--dot);border-radius:50%;flex:none;width:12px;height:12px}.add-step{border:1.5px dashed var(--line);width:100%;height:42px;color:var(--ink-2);font:700 14px var(--ui);background:0 0;border-radius:10px;margin-top:8px}.add-step:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.hint{color:var(--ink-3);margin:10px 2px 0;font-size:12.5px}.hint kbd{font:600 11px var(--mono);border:1px solid var(--line);color:var(--ink-2);background:var(--panel-2);border-bottom-width:2px;border-radius:4px;padding:0 4px}.board-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:10px 16px;display:flex}.zoom{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.zoom button{appearance:none;background:var(--panel);min-width:32px;height:32px;font:700 15px var(--ui);color:var(--ink-2);border:0;padding:0 8px}.zoom button+button{border-left:1px solid var(--line)}.zoom button:hover{color:var(--ink);background:var(--panel-2)}.zoom .zoom-label{font:600 12px var(--mono);min-width:52px}.spacer{flex:1}.lanes-hint{background:var(--accent-soft);color:var(--ink);border-bottom:1px solid var(--line);flex:none;padding:8px 16px;font-size:13px}.board .canvas{background-color:var(--canvas);background-image:radial-gradient(circle, var(--grid) 1px, transparent 1.4px);cursor:grab;background-size:22px 22px;background-attachment:local;flex:1;min-height:0;position:relative;overflow:auto}.board .canvas.panning{cursor:grabbing}.board .canvas-inner{place-items:center;width:max-content;min-width:100%;min-height:100%;padding:28px;display:grid}.board .canvas svg{display:block}.board .canvas-empty{text-align:center;max-width:300px;color:var(--ink-2);font-size:15px}.board .canvas-empty b{font:700 18px var(--display);color:var(--ink);margin-bottom:6px;display:block}.chart .node{cursor:pointer}.chart .node:hover .n{filter:brightness(.97)}.chart .node:focus{outline:none}.chart .node:focus-visible .n{stroke:var(--c-sel);stroke-width:3px}.board-foot{background:var(--panel);border-top:1px solid var(--line);flex:none;max-height:34%;overflow:auto}.foot-body{grid-template-columns:minmax(0,1fr) auto;gap:12px 28px;padding:12px 16px 14px;display:grid}.foot-h{font:700 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin:0 0 6px;display:flex}.pain-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pain-list li{cursor:pointer;border-radius:6px;align-items:flex-start;gap:10px;font-size:13.5px;display:flex}.pain-list li:hover b{text-decoration:underline}.pain-list li.pain-empty{cursor:default;color:var(--ink-2)}.pd{background:var(--dot);color:#fff;width:20px;height:20px;font:700 11px/20px var(--ui);text-align:center;border-radius:50%;flex:none}.pain-list b{font-weight:700}.pain-list span.txt{color:var(--ink-2);display:block}.legend{color:var(--ink-2);grid-template-columns:repeat(2,auto);align-content:start;gap:6px 16px;font-size:12.5px;display:grid}.legend div{white-space:nowrap;align-items:center;gap:7px;display:flex}.legend svg{flex:none;width:26px;height:18px}@media (max-width:859px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace[data-pane=steps] .board,.workspace[data-pane=chart] .editor{display:none}.editor{border-right:0;padding-block:14px 32px}.mobile-bar{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line);flex:none;align-items:center;gap:10px;display:flex}.mobile-bar .seg{flex:1}.mobile-bar .seg button{flex:1;height:42px;font-size:15px}.btn{height:42px;font-size:15px}.inp{height:44px;font-size:16px}.sel-wrap select,.sel-wrap.big select{height:42px;font-size:16px}.seg button{height:36px;font-size:14px}.step{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:10px 6px 10px 2px}.rail{padding-top:10px}.step:not(:last-child) .rail:after{top:40px}.body{gap:8px}.body textarea{border-color:var(--line-2);background:var(--panel-2);min-height:46px;padding:10px 11px;font-size:16.5px}.meta-line{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;display:grid}.type-wrap select{width:100%}.who{min-width:0;max-width:none;height:42px}.who input{font-size:16px}.tools{grid-column:1/-1;gap:6px;margin-left:0}.step:not(.is-sel) .tools{display:none}.tool{background:var(--panel-2);border-radius:9px;width:46px;height:42px}.tool svg{width:18px;height:18px}.dot-btn{width:auto;font:700 14.5px var(--ui);align-items:center;gap:7px;margin-right:auto;padding:0 14px;display:inline-flex}.dot-btn:after{content:attr(data-label)}.branch,.then{grid-template-columns:78px 16px minmax(0,1fr);gap:8px}.branch input{height:42px;font-size:16px}.branch,.then{grid-template-columns:78px 16px minmax(0,1fr) 42px}.branch .tool,.then .tool{width:42px}.meta-line.no-who{grid-template-columns:minmax(0,1fr)}.add-branch{padding:10px;font-size:15px}.issue input{height:40px;font-size:16px}.add-step{height:52px;font-size:15.5px}.hint{font-size:13.5px}.board-bar{padding:8px 12px}.zoom button{height:38px}.board .canvas{touch-action:pan-x pan-y;cursor:default}.board .canvas-inner{padding:16px}.board-foot{max-height:45%}.board-bar .seg{flex:1}.board-bar .seg button{flex:1;padding:0 6px}.toasts{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}.steps-head{flex-wrap:wrap}@media (max-width:859px){.steps-tools{justify-content:space-between;width:100%}}.toast{pointer-events:auto;align-items:center;gap:14px;display:flex}.toast button{appearance:none;color:inherit;font:700 14px var(--ui);text-underline-offset:3px;background:0 0;border:0;padding:4px 6px;text-decoration:underline}.mapbar{align-items:center;gap:8px;display:flex}.mapbar .sel-wrap{flex:1}.btn.icon{width:38px;padding:0;font-size:18px;line-height:1}.menu-wrap{position:relative}.menu{z-index:20;background:var(--panel);border:1px solid var(--line);min-width:230px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu button{appearance:none;text-align:left;font:700 13.5px var(--ui);color:var(--ink);background:0 0;border:0;border-radius:7px;padding:9px 10px}.menu button:hover,.menu button:focus-visible{background:var(--panel-2)}.menu button.danger{color:var(--dot)}.menu hr{border:0;border-top:1px solid var(--line-2);margin:4px 2px}.linked-note{background:var(--accent-soft);border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:13.5px}@media (max-width:859px){.btn.icon{width:42px}.menu button{padding:13px 12px;font-size:15px}}.handed-in{color:var(--go);font-size:13.5px;font-weight:700}.wall{flex:1;min-height:0;overflow:auto}.wall-wrap{max-width:1280px;margin:0 auto;padding-block:26px 56px;padding-inline:16px}.wall-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.wall-title{font:800 32px/1.05 var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0}.wall-summary{color:var(--ink-2);margin:8px 0 0;font-size:15px}.wall-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wall-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:22px;display:grid}.wcard{appearance:none;text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.wcard:hover{border-color:var(--accent-line);box-shadow:var(--shadow)}.chip-ok{background:var(--l5b);color:var(--ink);align-self:flex-start}.chip-changed{background:var(--l3b);color:var(--ink);align-self:flex-start}.wthumb{background-color:var(--canvas);background-image:radial-gradient(circle, var(--grid) .8px, transparent 1.1px);border-bottom:1px solid var(--line-2);background-size:14px 14px;place-items:center;height:172px;padding:14px;display:grid}.wthumb svg{width:100%;height:100%}.wmeta{flex-direction:column;gap:5px;padding:12px 14px 14px;display:flex}.wtitle{font:700 16.5px/1.25 var(--display);letter-spacing:-.01em}.wsub{color:var(--ink-2);font-size:13px}.wchips{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:3px;font-size:12.5px;display:flex}.chip{height:22px;font:700 11.5px var(--ui);letter-spacing:.02em;border-radius:999px;align-items:center;gap:5px;padding:0 8px;display:inline-flex}.kind-as-is{background:var(--l6b);color:var(--ink)}.kind-to-be{background:var(--l1b);color:var(--ink)}.chip-dot{background:var(--dot-soft);color:var(--ink)}.chip-dot i{background:var(--dot);border-radius:50%;width:8px;height:8px}.wtime{font:500 11.5px var(--mono);color:var(--ink-3);margin-left:auto}.wall-empty,.wall-none{border:1.5px dashed var(--line);text-align:center;color:var(--ink-2);border-radius:14px;margin-top:24px;padding:36px 24px}.wall-empty b{font:700 19px var(--display);color:var(--ink);margin-bottom:6px;display:block}.wall-empty p{max-width:520px;margin:0 auto}.not-handed-in{border:1px solid var(--line);border-radius:14px;margin-top:24px;padding:14px 18px}.not-handed-in summary{cursor:pointer;font-weight:600}.wall-live{color:var(--ink-2);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.wall-live i{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.wall-live[data-live=on] i{background:var(--go)}.wcard{text-decoration:none}.chip-check{background:var(--accent-soft);color:var(--ink);align-self:flex-start}.viewer-head{background:var(--panel);border-bottom:1px solid var(--line);gap:4px;padding:14px 16px;display:grid}.viewer-page{height:100%}.viewer-page .board{flex:1;min-height:0}.room-links{justify-content:space-between;align-self:stretch;display:flex}.wall-link{color:var(--accent);font-weight:700;text-decoration:none}.tick{z-index:2;border:2px dashed var(--ink-3);background:var(--panel);width:38px;height:38px;color:var(--ink-3);font:700 18px/1 var(--ui);border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}button.tick:hover{border-color:var(--go);color:var(--go)}.tick-approved{border:2px solid var(--go);background:var(--go);color:var(--panel)}button.tick-approved:hover{color:var(--panel);filter:brightness(1.08)}.tick-changed{border:2px solid var(--l3);color:var(--l3);background:var(--panel)}.wcard-link{color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.wchanged{color:var(--ink-3);font-size:12px}.viewer-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.approve-error{z-index:2;background:var(--panel);border-radius:6px;padding:2px 6px;font-size:12px;position:absolute;top:54px;right:10px}.viewer-actions .approve-error{position:static}.wall-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.wall-tools .inp{width:min(320px,100%)}.wall-none{border:1.5px dashed var(--line);text-align:center;color:var(--ink-2);border-radius:14px;margin-top:24px;padding:36px 24px}.wcard-static{cursor:default}.show-room{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.room-on{color:var(--go);align-items:center;gap:6px;font-weight:700;display:inline-flex}.room-on:before{content:"";background:var(--go);border-radius:50%;width:8px;height:8px}.compare{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.compare-side{border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex}.compare-h{font:700 15px var(--ui);background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:8px;margin:0;padding:10px 16px;display:flex}.compare-h a{color:inherit}@media (max-width:859px){.compare{grid-template-columns:1fr}.compare-side{min-height:70vh}.show-room{align-items:flex-start}}.room-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.join-mode{width:100%}.join-mode button{flex:1;min-height:40px}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.closed-note{margin-top:12px}fieldset.plain:disabled .rail{cursor:default}.save-as{gap:6px;margin-left:auto;display:inline-flex}.save-as .btn{height:32px;padding:0 10px;font-size:13px}.wall-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wall-exports{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.check{align-items:flex-start;gap:10px;display:flex}.check input{width:18px;height:18px;margin-top:3px}.check span{gap:2px;font-weight:600;display:grid}.check small{font-weight:400}.btn.danger{color:var(--dot)}.btn.danger:not(:disabled):hover{border-color:var(--dot)}.chip-private{background:var(--accent-soft);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px}.danger-zone{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:40px;padding-top:18px;display:flex}.room-private{text-align:center;max-width:640px;margin:24px auto;font-size:18px}.topbar select.lang{width:auto;min-height:32px;padding:4px 8px}
