@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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}:root{--bg:#f3f4f6;--surface:#fff;--surface-2:#f1f3f5;--border:#dde1e6;--border-strong:#c3c9d1;--fg:#1f2329;--fg-muted:#5c6470;--placeholder:#8b929c;--danger:#c92a2a;--danger-soft:#fff5f5;--danger-line:#ffc9c9;--warn-bg:#fff4d6;--warn-fg:#8a5a00;--ok:#2b7a37;--ok-soft:#ebfbee;--tip-bg:#1f2329;--tip-fg:#fff;--backdrop:#14181e73;--code-bg:#eef0f3;--accent:#3b5bdb;--accent-soft:#edf2ff;--on-accent:#fff;--ring:3px solid color-mix(in srgb, var(--accent) 45%, transparent);--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-pill:999px;--shadow:0 2px 10px #00000012, 0 1px 2px #0000000d;--shadow-lift:0 8px 24px #00000029;--shadow-dialog:0 20px 60px #00000040;--font-sans:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs:12px;--text-sm:13px;--text:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--leading:1.45;--leading-tight:1.25;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--control-h:40px;--control-h-sm:32px;--topbar-h:56px;--content-w:1100px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#15181d;--surface:#1e2228;--surface-2:#262a31;--border:#343a43;--border-strong:#4a515c;--fg:#e4e7eb;--fg-muted:#9aa3ae;--placeholder:#6b7380;--danger:#ff6b6b;--danger-soft:#3a1f22;--danger-line:#6b2f33;--warn-bg:#3d3216;--warn-fg:#ffd166;--ok:#69db7c;--ok-soft:#1c3322;--tip-bg:#e4e7eb;--tip-fg:#15181d;--backdrop:#0009;--code-bg:#2c313a;--accent:#7c96ff;--accent-soft:#252d4a;--on-accent:#0f1320;--shadow:0 2px 10px #0006, 0 1px 2px #0000004d;--shadow-lift:0 8px 24px #00000080;--shadow-dialog:0 20px 60px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15181d;--surface:#1e2228;--surface-2:#262a31;--border:#343a43;--border-strong:#4a515c;--fg:#e4e7eb;--fg-muted:#9aa3ae;--placeholder:#6b7380;--danger:#ff6b6b;--danger-soft:#3a1f22;--danger-line:#6b2f33;--warn-bg:#3d3216;--warn-fg:#ffd166;--ok:#69db7c;--ok-soft:#1c3322;--tip-bg:#e4e7eb;--tip-fg:#15181d;--backdrop:#0009;--code-bg:#2c313a;--accent:#7c96ff;--accent-soft:#252d4a;--on-accent:#0f1320;--shadow:0 2px 10px #0006, 0 1px 2px #0000004d;--shadow-lift:0 8px 24px #00000080;--shadow-dialog:0 20px 60px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-accent=blue]{--accent:#3b5bdb;--accent-soft:#edf2ff;--on-accent:#fff}:root[data-accent=teal]{--accent:#087f5b;--accent-soft:#e6fcf5;--on-accent:#fff}:root[data-accent=orange]{--accent:#c2410c;--accent-soft:#fff1e6;--on-accent:#fff}:root[data-accent=violet]{--accent:#6741d9;--accent-soft:#f3f0ff;--on-accent:#fff}:root[data-accent=pink]{--accent:#c2255c;--accent-soft:#fff0f6;--on-accent:#fff}:root[data-accent=cyan]{--accent:#0b7285;--accent-soft:#e3fafc;--on-accent:#fff}:root[data-accent=green]{--accent:#2b7a37;--accent-soft:#ebfbee;--on-accent:#fff}:root[data-accent=slate]{--accent:#1f2a44;--accent-soft:#e9ecf5;--on-accent:#fff}:root[data-theme=dark][data-accent=blue]{--accent:#7c96ff;--accent-soft:#252d4a;--on-accent:#0f1320}:root[data-theme=dark][data-accent=teal]{--accent:#38d9a9;--accent-soft:#173a31;--on-accent:#0f1a17}:root[data-theme=dark][data-accent=orange]{--accent:#ff922b;--accent-soft:#3d2614;--on-accent:#1f1206}:root[data-theme=dark][data-accent=violet]{--accent:#b197fc;--accent-soft:#2e2650;--on-accent:#160f2b}:root[data-theme=dark][data-accent=pink]{--accent:#f783ac;--accent-soft:#3d1f2c;--on-accent:#250b16}:root[data-theme=dark][data-accent=cyan]{--accent:#3bc9db;--accent-soft:#123338;--on-accent:#06191c}:root[data-theme=dark][data-accent=green]{--accent:#69db7c;--accent-soft:#1c3322;--on-accent:#0a1a0d}:root[data-theme=dark][data-accent=slate]{--accent:#c9d4f0;--accent-soft:#2a3142;--on-accent:#11161f}@media (prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=blue]{--accent:#7c96ff;--accent-soft:#252d4a;--on-accent:#0f1320}:root:not([data-theme=light])[data-accent=teal]{--accent:#38d9a9;--accent-soft:#173a31;--on-accent:#0f1a17}:root:not([data-theme=light])[data-accent=orange]{--accent:#ff922b;--accent-soft:#3d2614;--on-accent:#1f1206}:root:not([data-theme=light])[data-accent=violet]{--accent:#b197fc;--accent-soft:#2e2650;--on-accent:#160f2b}:root:not([data-theme=light])[data-accent=pink]{--accent:#f783ac;--accent-soft:#3d1f2c;--on-accent:#250b16}:root:not([data-theme=light])[data-accent=cyan]{--accent:#3bc9db;--accent-soft:#123338;--on-accent:#06191c}:root:not([data-theme=light])[data-accent=green]{--accent:#69db7c;--accent-soft:#1c3322;--on-accent:#0a1a0d}:root:not([data-theme=light])[data-accent=slate]{--accent:#c9d4f0;--accent-soft:#2a3142;--on-accent:#11161f}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--text);line-height:var(--leading);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,h2,h3,h4{line-height:var(--leading-tight);font-weight:700}h1{font-size:var(--text-2xl);margin:0 0 var(--space-4)}h2{font-size:var(--text-lg);margin:var(--space-5) 0 var(--space-2)}h3{font-size:var(--text);margin:var(--space-4) 0 6px}h4{font-size:var(--text-sm);margin:var(--space-3) 0 var(--space-1);text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted)}p{margin:0 0 var(--space-3)}a{color:var(--accent);text-underline-offset:2px}hr{border:0;border-top:1px solid var(--border);margin:var(--space-5) 0}img,svg,video{max-width:100%}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.92em}code{background:var(--code-bg);border-radius:4px;padding:1px 5px}pre{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--code-bg);overflow-x:auto}pre code{background:0 0;padding:0}kbd{border:1px solid var(--border-strong);background:var(--surface);font-size:var(--text-xs);border-bottom-width:2px;border-radius:4px;padding:1px 6px}:focus-visible{outline:var(--ring);outline-offset:1px}button,input,textarea,select{font:inherit;color:inherit}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea){min-height:var(--control-h);border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;max-width:100%;padding:8px 10px}:where(textarea){resize:vertical;min-height:80px;line-height:var(--leading)}:where(input,textarea)::placeholder{color:var(--placeholder)}:where(input,select,textarea):focus-visible{border-color:var(--accent)}:where(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}:where(input[type=checkbox],input[type=radio]){vertical-align:-3px;width:18px;height:18px;margin:0}fieldset{border:0;margin:0;padding:0}legend{padding:0;font-weight:600}label{cursor:default}table{border-collapse:collapse;width:100%}th,td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:var(--text-sm);color:var(--fg-muted);font-weight:600}@media (prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) :before,:root:not([data-motion=full]) :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.muted{color:var(--fg-muted)}.small{font-size:var(--text-sm)}.mono{font-family:var(--font-mono)}.nowrap{white-space:nowrap}.spacer{flex:1}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.stack{gap:var(--space-3);flex-direction:column;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:8px 14px;font-weight:600;position:absolute;top:8px;left:-999px}.skip-link:focus{left:8px}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;height:var(--topbar-h);align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--surface);border-bottom:1px solid var(--border);flex:none;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);padding:0 var(--space-1);min-width:0;font-weight:800;font-size:var(--text-lg);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;display:flex;overflow:hidden}.logo{background:var(--accent);width:28px;height:28px;color:var(--on-accent);border-radius:7px;flex:none;place-items:center;font-size:15px;display:inline-grid}.logo svg{width:16px;height:16px}.topbar-title{min-width:0;font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.topbar-actions{align-items:center;gap:var(--space-1);display:flex}.suite-mark{min-height:var(--control-h-sm);border-radius:var(--radius-pill);color:var(--fg-muted);font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:600;text-decoration:none;display:inline-flex}.suite-mark:before{content:"";background:conic-gradient(var(--fg-muted) 0 25%, transparent 0 50%, var(--fg-muted) 0 75%, transparent 0);width:10px;height:10px;box-shadow:inset 0 0 0 1.5px var(--fg-muted);border-radius:3px}.suite-mark:hover{background:var(--surface-2);color:var(--fg)}@media (width<=560px){.suite-mark{gap:0;padding:0 9px;font-size:0}}.page{width:100%;max-width:var(--content-w);padding:var(--space-5) var(--space-4) var(--space-7);margin:0 auto}.page-head{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.page-head h1{flex:1;margin:0}.suite-footer{gap:var(--space-2) var(--space-4);padding:var(--space-4);color:var(--fg-muted);font-size:var(--text-sm);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;display:flex}.suite-footer a{color:inherit}.btn{min-height:var(--control-h);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--fg-muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger:hover{filter:brightness(1.08)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--accent-soft)}.btn.small{min-height:var(--control-h-sm);font-size:var(--text-sm);padding:0 10px}.btn.block{width:100%;display:flex}.btn.on,.btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default;filter:none}.icon-btn{width:var(--control-h);height:var(--control-h);color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--surface-2)}.icon-btn.on,.icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.icon-btn.small{width:var(--control-h-sm);height:var(--control-h-sm)}.icon-btn:disabled{opacity:.3;cursor:default}.link-btn{min-height:36px;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;font-weight:600;display:inline-flex}.link-btn:hover{text-decoration:underline}.btn-group{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.segmented{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.segmented button{min-height:var(--control-h-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:0 10px;font-weight:600}.segmented button:hover{background:var(--surface-2)}.segmented button.on,.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.switch{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.switch input{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:10px;flex:none;width:36px;height:20px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(16px)}.field{margin-bottom:var(--space-3);flex-direction:column;gap:6px;display:flex}.field>label,.field>.label{font-weight:600;font-size:var(--text-sm)}.field .hint{color:var(--fg-muted);font-size:var(--text-sm)}.field .error{color:var(--danger);font-size:var(--text-sm)}.field input,.field select,.field textarea{width:100%}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger)}.search{align-items:center;display:flex;position:relative}.search input{width:100%;padding-left:34px}.search>svg,.search>.icon{color:var(--fg-muted);pointer-events:none;position:absolute;left:11px}.card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card.flat{box-shadow:none}a.card,button.card{color:inherit;text-align:left;cursor:pointer;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:block}a.card:hover,button.card:hover{border-color:var(--accent);box-shadow:var(--shadow-lift)}.card-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--accent-soft);color:var(--fg);align-items:flex-start;gap:10px;display:flex}.notice.warn{background:var(--warn-bg);color:var(--warn-fg)}.notice.danger{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-line)}.notice.ok{background:var(--ok-soft);color:var(--ok)}.notice>:last-child{margin-bottom:0}.badge{border-radius:var(--radius-pill);background:var(--surface-2);min-height:22px;color:var(--fg-muted);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;font-weight:700;display:inline-flex}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.chip{min-height:var(--control-h-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:16px;align-items:center;gap:6px;padding:0 12px;font-size:14px;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.on,.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.tabs button,.tabs a{min-height:var(--control-h);padding:0 var(--space-3);color:var(--fg-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;font-weight:600;text-decoration:none;display:inline-flex}.tabs button:hover,.tabs a:hover{color:var(--fg)}.tabs .on,.tabs [aria-selected=true],.tabs [aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.dialog{border-radius:var(--radius-lg);width:min(480px,100vw - 24px);max-height:calc(100vh - 24px);box-shadow:var(--shadow-dialog);color:var(--fg);background:var(--surface);border:0;padding:0}.dialog.full{width:min(960px,100vw - 24px)}.dialog::backdrop{background:var(--backdrop)}.dialog-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-1) 20px;display:flex}.dialog-head h2{flex:1;margin:0;font-size:18px}.dialog-body{padding:var(--space-2) 20px 20px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);padding:0 20px 20px;display:flex}.menu{min-width:200px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lift)}.menu button,.menu a{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex}.menu button:hover,.menu a:hover{background:var(--surface-2)}.menu .danger{color:var(--danger)}.menu hr{margin:var(--space-1) 0}.toast-region{z-index:60;gap:var(--space-2);flex-direction:column;align-items:center;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius);background:var(--tip-bg);min-height:44px;color:var(--tip-fg);box-shadow:var(--shadow-lift);align-items:center;gap:10px;padding:6px 6px 6px 16px;font-size:14px;display:flex}.toast:not(:has(button)){padding-right:16px}.toast .btn{min-height:32px;color:var(--tip-fg);border-color:color-mix(in srgb, var(--tip-fg) 40%, transparent);background:0 0}.toast .icon-btn{color:var(--tip-fg)}.toast .icon-btn:hover{background:color-mix(in srgb, var(--tip-fg) 12%, transparent)}.tip{width:32px;height:32px;color:var(--fg-muted);cursor:help;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.tip:hover,.tip:focus-visible{color:var(--accent)}.tip-text{z-index:30;background:var(--tip-bg);width:max-content;max-width:min(340px,80vw);color:var(--tip-fg);box-shadow:var(--shadow);font-size:var(--text-sm);font-weight:400;line-height:var(--leading);text-align:left;white-space:pre-line;pointer-events:none;border-radius:8px;padding:10px 12px;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip:hover .tip-text,.tip:focus-visible .tip-text,.tip:focus-within .tip-text{display:block}.tip.start .tip-text{left:-4px;transform:none}.tip.end .tip-text{left:auto;right:-4px;transform:none}.meter{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.meter>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .3s;display:block}.empty{align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);text-align:center;color:var(--fg-muted);flex-direction:column;display:flex}.empty h2{color:var(--fg);margin:0}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite tools-ict-spin}@keyframes tools-ict-spin{to{transform:rotate(360deg)}}:root{--paper:#fbfbfc;--paper-surface:#fff;--paper-fg:#1f2329;--paper-muted:#5c6470;--paper-grid:#d3d7dd;--paper-tint:#00000008;--paper-hatch:#0000000a;--paper-code:#0000000f;--paper-line:#00000014;--arrow:#343a40;--phone-line:#adb5bd;--phone-label:#868e96;--warn:#e67700;--hue-wheel:conic-gradient(red, yellow, lime, cyan, blue, magenta, red)}:root[data-theme=dark]{--warn:#ffa94d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--warn:#ffa94d}}html,body,#app{height:100%}body{overscroll-behavior:none}.app{height:100%;min-height:0}.topbar{gap:10px}.logo{position:relative}.logo:after{content:"";border:3px solid var(--on-accent);border-radius:4px;position:absolute;inset:7px 6px}.topbar .tabs{background:var(--bg);border:0;border-radius:10px;flex:none;gap:4px;padding:4px;overflow:visible}.topbar .tabs a{min-height:0;color:var(--fg-muted);border:0;border-radius:7px;margin:0;padding:6px 14px}.topbar .tabs a.on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}.ex-title{align-items:center;gap:8px;min-width:0;display:flex}.ex-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.ex-title .muted,.item-text .muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-name{cursor:text;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px dashed #0000;border-radius:8px;min-width:0;max-width:260px;min-height:40px;padding:0 10px;font-weight:600;overflow:hidden}.doc-name:hover{border-color:var(--border-strong)}.doc-name.unsaved{color:var(--fg-muted);cursor:pointer;font-style:italic;font-weight:500}.btn.save.dirty{border-color:var(--accent);color:var(--accent)}.suite-mark{flex:none}.btn{border-radius:var(--radius);min-height:44px;padding:0 16px}.btn.big{min-height:52px;padding:0 22px;font-size:17px}.btn.danger{background:var(--surface);border-color:var(--border-strong);color:var(--danger)}.btn.danger:hover{border-color:var(--danger);filter:none}.icon-btn{border-radius:var(--radius);width:44px;height:44px;list-style:none}.icon-btn::-webkit-details-marker{display:none}.icon-btn.danger{color:var(--danger)}.icon{flex:none;max-width:none}.dropdown{position:relative}.menu-items{z-index:30;flex-direction:column;min-width:260px;padding:6px;display:flex;position:absolute;top:48px;right:0}.menu-items>button{border-radius:8px;min-height:44px;padding:0 12px}.toggle{background:var(--border-strong);border-radius:999px;flex:none;width:34px;height:20px;margin-left:auto;position:relative}.toggle:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(14px)}.menu-row{border-top:1px solid var(--border);gap:4px;margin-top:4px;padding:6px;display:flex}.menu-row+.menu-row{border-top:0;margin-top:0;padding-top:0}.menu .menu-row button{border:1px solid var(--border);border-radius:8px;flex:1;justify-content:center;width:auto;min-height:36px;padding:0 6px;font-weight:600}.menu .menu-row button.on{background:var(--fg);color:var(--surface);border-color:var(--fg)}.stage{flex:1;min-height:0;position:relative;overflow:hidden}.canvas{touch-action:none;-webkit-user-select:none;user-select:none;background-color:var(--paper);background-image:radial-gradient(circle, var(--paper-grid) 1.4px, transparent 1.6px);cursor:default;position:absolute;inset:0;overflow:hidden}.canvas[data-tool=node],.canvas[data-tool=container],.canvas[data-tool=arrow]{cursor:crosshair}.canvas[data-tool=pen]{cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><circle cx='12' cy='12' r='5' fill='%23e03131' stroke='white' stroke-width='2'/></svg>") 12 12,crosshair}.canvas[data-tool=eraser]{cursor:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'><circle cx='16' cy='16' r='13' fill='white' fill-opacity='.6' stroke='%23343a40' stroke-width='2'/></svg>") 16 16,cell}.world{transform-origin:0 0;color:var(--paper-fg);line-height:normal;position:absolute;top:0;left:0}.world svg,.md-preview svg{max-width:none}.layer{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.node{cursor:grab;flex-direction:column;display:flex;position:absolute}.node .outline{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.node .outline>*{fill:color-mix(in srgb, var(--c) 18%, var(--paper-surface));stroke:var(--c);stroke-width:5px}.node .outline{filter:drop-shadow(0 5px 0 color-mix(in srgb, var(--c) 40%, transparent))}.node.selected .outline{filter:drop-shadow(0 8px 0 color-mix(in srgb, var(--c) 40%, transparent))}.node-body{text-align:center;overflow-wrap:anywhere;flex-direction:column;flex:1;justify-content:center;padding:14px 18px;font-size:18px;font-weight:500;line-height:1.3;display:flex;position:relative}.node.nowrap .node-body{white-space:nowrap;overflow-wrap:normal}.node-measure.node-body{visibility:hidden;pointer-events:none;flex:none;width:max-content;padding:0;position:absolute;top:0;left:0}.shape-ellipse .node-body{padding:14% 16%}.shape-diamond .node-body{padding:18% 24%}.nowrap.shape-ellipse .node-body{padding:9% 12%}.nowrap.shape-diamond .node-body{padding:7% 17%}.shape-stadium .node-body{padding:14px 30px}.shape-parallelogram .node-body,.shape-hexagon .node-body{padding:14px 34px}.shape-document .node-body{padding:12px 18px 26px}.shape-note .node-body{text-align:left;padding:14px 28px 14px 18px}.shape-cloud .node-body{padding:16% 18%}.nowrap.shape-cloud .node-body{padding:12% 15%}.shape-circle .node-body{padding:15%}.shape-doubleCircle .node-body{padding:20%}.shape-dot .node-body{display:none}.shape-actor .node-body{justify-content:flex-start;padding:84px 4px 2px}.shape-actor .outline>:first-child{fill:color-mix(in srgb, var(--c) 18%, var(--paper-surface))}.shape-cylinder .node-body{padding-top:32px}.compartment{padding:4px 0}.compartment+.compartment{border-top:4px solid var(--c);text-align:left;margin:0 -18px;padding:6px 18px}.compartment>:first-child{margin-top:0}.compartment>:last-child{margin-bottom:0}.compartment p{margin:0 0 4px}.compartment ul,.compartment ol{margin:0;padding-left:0;list-style:none}.compartment li{font-family:var(--font-mono);font-size:16px;font-weight:400}.compartment h1,.compartment h2,.compartment h3{font-size:20px;line-height:inherit;margin:0 0 4px}.compartment h4{font-size:1em;line-height:inherit;color:inherit;text-transform:none;letter-spacing:normal;margin:1.33em 0}.compartment code{background:var(--paper-code);border-radius:4px;padding:1px 4px;font-size:.9em}.compartment pre{background:0 0;border-radius:0;margin:1em 0;padding:0}.compartment.blank{min-height:30px}.node.editable .compartment.blank{background:repeating-linear-gradient(-45deg, transparent 0 6px, var(--paper-hatch) 6px 12px)}.container{pointer-events:none;position:absolute}.container .frame{position:absolute;top:0;left:0;overflow:visible}.frame-line{fill:color-mix(in srgb, var(--c) 8%, transparent);stroke:var(--c);stroke-width:6px}.container.dashed .frame-line{stroke-dasharray:20 12}.frame-hit{fill:none;stroke:#0000;stroke-width:40px;pointer-events:stroke;cursor:grab}.container-title{border:4px solid var(--c);background:var(--paper-surface);min-width:64px;max-width:calc(100% - 32px);min-height:44px;color:var(--paper-fg);box-shadow:0 4px 0 color-mix(in srgb, var(--c) 40%, transparent);white-space:nowrap;text-overflow:ellipsis;pointer-events:auto;cursor:grab;border-radius:10px;padding:7px 16px;font-size:18px;font-weight:700;position:absolute;top:-22px;left:16px;overflow:hidden}.arrow-hit{stroke:#0000;stroke-width:44px;stroke-linecap:round;pointer-events:stroke;cursor:grab}.arrow-label{fill:var(--paper-fg);paint-order:stroke;stroke:var(--paper);stroke-width:8px;stroke-linejoin:round;pointer-events:all;cursor:grab;font-size:20px;font-weight:700}.arrow.draft{opacity:.6}.ink path{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.sel-outline{fill:none;stroke:var(--accent)}.grip circle:not(.grip-hit){fill:var(--paper-surface);stroke:var(--accent)}.grip.end.free circle:not(.grip-hit){fill:color-mix(in srgb, var(--accent) 12%, var(--paper-surface))}.grip-hit{fill:#0000;pointer-events:all;cursor:grab}.grip[data-role=resize] .grip-hit{cursor:nwse-resize}.drop-target{fill:color-mix(in srgb, var(--accent) 10%, transparent);stroke:var(--accent)}.draft-box{fill:var(--paper-tint);stroke:var(--paper-muted);stroke-dasharray:10 8}.toolbar{z-index:5;flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;left:12px}.toolbar .group{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:2px;padding:4px;display:flex}.tool{cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.tool:hover{background:var(--surface-2)}.tool.active{background:var(--accent);color:var(--on-accent)}.tool:disabled{opacity:.3;cursor:default;background:0 0}.swatches{flex-direction:column;align-items:center;gap:4px;padding:4px 0;display:flex}.swatch{border:3px solid var(--surface);width:30px;height:30px;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;border-radius:50%;padding:0}.swatch.on{box-shadow:0 0 0 3px var(--fg)}.inspector{z-index:5;background:var(--surface);border:1px solid var(--border);width:300px;max-height:calc(100% - 24px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;padding:14px;display:flex;position:absolute;top:12px;right:12px;overflow:auto}.inspector.compact{width:auto;padding:8px;top:auto;bottom:16px;right:50%;transform:translate(50%)}.inspector-title{font-size:16px;font-weight:700}.field{margin-bottom:0}.field>span{color:var(--fg-muted);font-size:13px;font-weight:600}.field>label.check{font-size:inherit;font-weight:inherit}.seg{flex-wrap:wrap;gap:4px;display:flex}.seg button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-width:44px;height:40px;display:inline-flex}.seg button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.colors{flex-wrap:wrap;gap:6px;display:flex}.swatch.custom{background:var(--hue-wheel);position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.check{cursor:pointer;align-items:center;gap:8px;min-height:36px;display:flex}.check input{width:20px;height:20px}.info-tip{vertical-align:middle;display:inline-flex}.info-btn{width:28px;height:28px;color:var(--fg-muted);cursor:help;background:0 0;border:0;border-radius:50%;place-items:center;margin:-4px 0;padding:0;display:inline-grid}.info-btn:hover,.info-btn[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}.info-btn svg{width:18px;height:18px}.info-bubble{z-index:1000;background:var(--tip-bg);color:var(--tip-fg);text-transform:none;letter-spacing:normal;box-shadow:var(--shadow-lift);white-space:normal;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.45;position:fixed}.builder-flags{border-top:1px solid var(--border);padding-top:10px}.readonly-badge{background:var(--paper-fg);color:var(--paper-surface);z-index:4;text-align:center;border-radius:999px;max-width:calc(100% - 32px);padding:8px 14px;font-size:13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.toast{z-index:6;background:var(--paper-fg);min-height:0;color:var(--paper-surface);text-align:center;border-radius:999px;max-width:calc(100% - 32px);padding:10px 16px;font-weight:600;display:block;position:absolute;top:14px;left:50%;transform:translate(-50%)}.phone-frame{overflow:visible}.phone-body{fill:none;stroke:var(--phone-line);stroke-width:4px}.phone-screen{fill:none;stroke:var(--phone-line);stroke-width:2px;stroke-dasharray:10 8}.phone-bar{fill:var(--paper-hatch)}.phone-bar.hatch{fill:url(#phone-hatch)}#phone-hatch line{stroke:var(--paper-line);stroke-width:6px}.phone-label{fill:var(--phone-label);font-size:15px;font-weight:600}.dialog{max-height:calc(100dvh - 24px)}.dialog.wide{width:min(860px,100vw - 24px)}.dialog input:not([type=checkbox]):not([type=color]),.dialog textarea{border-radius:var(--radius);width:100%;min-height:44px;padding:10px 12px}.dialog input[aria-invalid=true]{border-color:var(--danger)}.dialog textarea{font-family:var(--font-mono);font-size:15px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.hint{color:var(--fg-muted);margin:8px 0 0;font-size:13px;line-height:1.45}.hint.error-text{color:var(--danger)}.code-input{font:600 20px/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.notice{margin:0;font-size:14px}.actions .howto{align-self:center;margin:0 auto 0 0}.instructions{white-space:pre-wrap;margin:0;font-size:16px;line-height:1.5}.md-editor{grid-template-columns:1fr 1fr;gap:12px;display:grid}.md-editor .hint{grid-column:1/-1;margin:0}.md-editor textarea{min-height:220px}.md-preview{border:3px solid var(--c);cursor:default;background:color-mix(in srgb, var(--c) 14%, var(--paper-surface));color:var(--paper-fg);border-radius:6px;line-height:normal;position:relative}.builder{grid-template-columns:1fr 1fr;gap:20px;display:grid}.builder-form,.builder-share{flex-direction:column;gap:12px;display:flex}.size-meter{background:var(--surface-2);border-radius:8px;height:28px;position:relative;overflow:hidden}.size-meter-bar{background:color-mix(in srgb, var(--ok) 35%, var(--surface));position:absolute;inset:0 auto 0 0}.size-meter.warn .size-meter-bar{background:color-mix(in srgb, var(--warn) 40%, var(--surface))}.size-meter.over .size-meter-bar{background:color-mix(in srgb, var(--danger) 40%, var(--surface))}.size-meter span{padding:0 10px;font-size:13px;font-weight:600;line-height:28px;display:block;position:relative}.qr svg{border-radius:8px;width:100%;max-width:320px;margin:0 auto;display:block}.qr-present{z-index:100;background:var(--paper-surface);color:var(--paper-fg);cursor:zoom-out;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:fixed;inset:0}.qr-present h1{text-align:center;margin:0;font-size:clamp(22px,4vw,44px)}.qr-present p{color:var(--paper-muted);margin:0;font-size:clamp(16px,2vw,24px)}.qr.big svg{width:min(78vh,90vw);max-width:none;height:auto}.send{flex-direction:column;gap:6px;display:flex}.send .actions{justify-content:stretch}.send .actions>*{flex:1}.link-box{word-break:break-all;width:100%;color:var(--fg-muted);font-size:13px!important}.send .seg{flex-wrap:nowrap;margin:10px 0 4px}.send .seg button{white-space:nowrap;flex:1 1 0;gap:6px;min-width:0;padding-inline:8px;font-weight:600}@media (width<=480px){.send .seg .icon{display:none}}.hint.lead{align-items:center;gap:2px;margin:4px 0 2px;display:flex}.ai-text summary{color:var(--fg-muted);cursor:pointer;margin-top:10px;font-size:13px}.ai-text textarea{margin-top:6px}.ai-box{word-break:normal;white-space:pre-wrap;font-family:var(--font-mono)}.library{grid-template-columns:220px 1fr;gap:16px;min-height:360px;display:grid}.folders{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding-right:12px;display:flex}.folder{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 10px;display:flex}.folder:hover{background:var(--surface-2)}.folder.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.folder.add{color:var(--fg-muted)}.folder-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.folder .count{color:var(--fg-muted);font-size:12px}.items{flex-direction:column;gap:8px;min-width:0;display:flex}.items-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.items-head h3{margin:0 4px 0 0;font-size:17px}.item-list{flex-direction:column;gap:4px;max-height:55dvh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.item-list li{border:1px solid var(--border);border-radius:10px;align-items:center;gap:4px;padding-right:4px;display:flex}.item-list li.current{border-color:var(--accent)}.item-open{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;min-height:52px;padding:6px 10px;display:flex}.item-text{flex-direction:column;min-width:0;display:flex}.item-text strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.item-text .muted{font-size:13px}.item-actions{flex:none;display:flex}.icon-btn.move{position:relative}.icon-btn.move select{opacity:0;cursor:pointer;position:absolute;inset:0}.empty-folder{padding:20px 0}.splash{text-align:center;height:100%;color:var(--fg-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.splash h1{color:var(--fg);margin:0}.splash p{margin:0}@media (width<=720px){:root{--topbar-h:52px}.brand-name,.btn .label{display:none}.mode-practice .btn .label,.mode-builder .btn .label{display:inline}.mode-builder .btn.save .label,.btn.save:disabled,.mode-practice .brand,.mode-result .brand{display:none}.topbar{gap:6px;padding:0 8px}.mode-practice .topbar .btn.primary{padding:0 12px}.topbar .tabs a{padding:6px 10px}.toolbar{top:auto;bottom:max(10px, env(safe-area-inset-bottom));scrollbar-width:none;flex-flow:row;justify-content:safe center;gap:4px;left:8px;right:8px;overflow-x:auto}.toolbar .group{flex-direction:row;flex:none;padding:2px}.tool{width:42px;height:42px}.tool.zoom-step{display:none}.swatches{flex-direction:row;padding:0 4px}.inspector{width:auto;max-height:45%;inset:auto 8px 76px}.inspector.compact{bottom:72px;left:50%;right:auto;transform:translate(-50%)}.readonly-badge{bottom:76px}.md-editor,.builder{grid-template-columns:1fr}.md-editor textarea{min-height:160px}.doc-name{max-width:120px;padding:0 6px}.library{grid-template-columns:1fr;min-height:0}.folders{border-right:0;border-bottom:1px solid var(--border);scrollbar-width:none;flex-direction:row;padding:0 0 8px;overflow-x:auto}.folder{flex:none}.item-actions .icon-btn{width:38px}}
