*{box-sizing:border-box}html,body{color:#1f2937;height:100%;margin:0;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}#app{background:#fff;position:fixed;inset:0}#stage{position:absolute;inset:0}#board{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;height:100%;display:block}#board[data-tool=select]{cursor:default}#board[data-tool=hand]{cursor:grab}#board[data-tool=text]{cursor:text}:root{--ink:#0f172a;--ink-2:#475569;--muted:#94a3b8;--line:#e2e8f0;--hover:#f1f5f9;--accent:#2563eb;--accent-bg:#e8f0fe;--accent-ink:#1d4ed8;--danger:#dc2626;--shadow:0 1px 2px #0f172a0f, 0 10px 28px #0f172a1f}.bar{z-index:10;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff5;border-radius:14px;align-items:center;gap:2px;padding:5px;display:flex;position:absolute}.top{gap:4px;top:12px;left:50%;transform:translate(-50%)}.side{flex-direction:column;top:50%;left:12px;transform:translateY(-50%)}.bottom{gap:12px;padding:6px 14px;bottom:12px;left:50%;transform:translate(-50%)}.grp{align-items:center;gap:2px;display:flex}.bar button{min-width:34px;height:34px;color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font:500 13px Segoe UI,system-ui,sans-serif;transition:background .12s,color .12s,transform 60ms;display:inline-flex;position:relative}.bar button .ic{flex:none}.bar button.icon,.side button{width:34px;padding:0}.side button{width:38px;height:38px}.bar button:hover:not(:disabled){background:var(--hover);color:var(--ink)}.bar button:active:not(:disabled){transform:scale(.96)}.bar button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bar button:disabled{opacity:.35;cursor:default}.bar button.active{background:var(--accent-bg);color:var(--accent-ink)}.bar button .chev{opacity:.6;margin-left:-2px;transition:transform .15s}.bar button[aria-expanded=true]{background:var(--hover);color:var(--ink)}.bar button[aria-expanded=true] .chev{transform:rotate(180deg)}.bar .run.active{color:#15803d;background:#dcfce7}.bar .run.active .ic{filter:drop-shadow(0 0 3px #16a34a73)}.seg{background:var(--hover);border-radius:10px;align-items:center;margin-left:4px;padding:2px;display:inline-flex}.seg button{border-radius:8px;min-width:28px;height:28px}.seg button:hover:not(:disabled){background:#fff;box-shadow:0 1px 2px #0f172a1a}.zoom{font-variant-numeric:tabular-nums;min-width:54px!important}.sep{background:var(--line);flex:none;width:1px;height:20px;margin:0 6px}.sep.h{width:22px;height:1px;margin:6px 0}.bar button[data-tip]:after{content:attr(data-tip);z-index:60;pointer-events:none;opacity:0;background:var(--ink);color:#fff;white-space:normal;text-align:left;border-radius:7px;width:max-content;max-width:260px;padding:5px 9px;font:500 12px/1.35 Segoe UI,system-ui,sans-serif;transition:opacity .12s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)}.bar button[data-tip]:hover:after{opacity:1;transition-delay:.45s}.top button[data-tip]:after{top:calc(100% + 10px);bottom:auto}.side button[data-tip]:after{top:50%;bottom:auto;left:calc(100% + 12px);transform:translateY(-50%)}.bar button[aria-expanded=true]:after{display:none}.menu-wrap{display:inline-flex;position:relative}.menu{z-index:40;border:1px solid var(--line);min-width:250px;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 10px);left:0}.menu[hidden]{display:none}.menu-right{left:auto;right:0}.menu-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:6px 10px 5px;font-size:11px;font-weight:600}.menu-sep{background:var(--line);height:1px;margin:5px 6px}.bar .menu-item{text-align:left;width:100%;height:36px;color:var(--ink);border-radius:8px;justify-content:flex-start;gap:10px;padding:0 10px;font-size:13.5px;display:flex}.bar .menu-item .ic{color:var(--ink-2)}.bar .menu-item span:not(.lang-badge):not(.lang-ico):not(.ext){flex:1}.bar .menu-item kbd{color:var(--muted);margin-left:auto;font:11.5px Segoe UI,system-ui,sans-serif}.bar .menu-item.danger,.bar .menu-item.danger .ic{color:var(--danger)}.bar .menu-item.danger:hover:not(:disabled){color:var(--danger);background:#fef2f2}.lang-badge{background:var(--c);color:#fff;border-radius:5px;flex:none;place-items:center;width:28px;height:20px;font:700 11px Segoe UI,system-ui,sans-serif;display:grid}#colors{align-items:center;gap:8px;display:flex}.swatch{width:24px!important;min-width:24px!important;height:24px!important;box-shadow:0 0 0 1px var(--line)!important;border:2px solid #fff!important;border-radius:50%!important;padding:0!important;transition:transform .1s!important}.swatch:hover{transform:scale(1.12)}.swatch.active{box-shadow:0 0 0 2px var(--accent)!important}.size{color:var(--ink-2);align-items:center;gap:10px;font:500 13px Segoe UI,system-ui,sans-serif;display:flex}.size input[type=range]{width:120px;accent-color:var(--accent);cursor:pointer;height:4px}.text-editor{z-index:5;resize:none;white-space:pre;background:0 0;border:1px dashed #3b82f6;outline:none;min-width:80px;margin:0;padding:0;line-height:1.3;position:absolute;overflow:hidden}.text-editor.in-note{white-space:pre-wrap;overflow-wrap:anywhere;border:0;min-width:0}#library{z-index:10;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;width:312px;padding:10px;display:none;position:absolute;top:70px;bottom:70px;right:12px;box-shadow:0 4px 16px #0000001a}#library.open{display:flex}.lib-head{justify-content:space-between;align-items:center;display:flex}.lib-head button{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:4px 8px;font-size:13px}.lib-head button:hover{background:#f3f4f6}.lib-hint{color:#6b7280;margin:6px 0 8px;font-size:12px;line-height:1.35}#lib-list{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;grid-template-columns:repeat(3,1fr);align-content:start;gap:6px;padding-right:2px;display:grid;overflow-y:auto}#lib-list::-webkit-scrollbar{width:5px}#lib-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}#lib-list::-webkit-scrollbar-track{background:0 0}#lib-list h3{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;grid-column:1/-1;margin:6px 0 0;font-size:12px}.lib-item{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px;font-size:12px;display:flex}.lib-item:hover{background:#f3f4f6}.lib-item.active{background:#dbeafe;border-color:#3b82f6}.badge{color:#fff;text-align:center;background:#f59e0b;border-radius:9px;min-width:18px;margin-left:4px;padding:0 5px;font-size:12px;line-height:18px;display:inline-block}.badge.err{background:#dc2626}.badge.hidden{display:none}#checks{z-index:10;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;width:330px;max-height:58vh;padding:10px 12px;display:none;position:absolute;bottom:70px;left:76px;overflow-y:auto;box-shadow:0 4px 16px #0000001f}#checks.open{display:flex}.chk-head{justify-content:space-between;align-items:center;display:flex}.chk-head button{cursor:pointer;color:#6b7280;background:0 0;border:0;font-size:20px}#chk-status{color:#6b7280;margin:4px 0 6px;font-size:13px}#chk-status.ok{color:#15803d;font-weight:600}#chk-status.warn{color:#b45309;font-weight:600}#chk-issues{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}#chk-issues li{cursor:pointer;background:#f9fafb;border-radius:8px;gap:8px;padding:7px 8px;font-size:13px;line-height:1.35;display:flex}#chk-issues li:hover{background:#f3f4f6}#chk-issues .dot{color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid}.sev-error .dot{background:#dc2626}.sev-warn .dot{background:#f59e0b}.sev-info .dot{background:#3b82f6}#chk-notes h4,#chk-table h4{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin:12px 0 4px;font-size:12px}#chk-notes p{margin:3px 0;font-size:13px}#chk-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:13px}#chk-table th,#chk-table td{text-align:center;border-bottom:1px solid #f1f5f9;padding:3px 10px}#chk-table th{color:#6b7280;font-weight:600}#chk-table tr.cur td{background:#dbeafe;font-weight:700}#props{gap:8px;padding:6px 12px;font-size:13px;display:none;bottom:70px;left:50%;transform:translate(-50%)}#props.open{display:flex}#props-value{border:1px solid #d1d5db;border-radius:6px;width:90px;padding:5px 8px;font-size:14px}#props-unit{color:#6b7280}.ex{color:#6b7280;flex-direction:column;gap:3px;margin:6px 0 2px;font-size:12px;display:flex}.ex select{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:6px 8px;font-size:13px}#checks{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}#checks::-webkit-scrollbar{width:5px}#checks::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}#chk-issues .what{font-weight:600}#chk-issues .fix{color:#374151;margin-top:3px}#chk-issues .fix b{color:#1d4ed8}.tip{background:#eff6ff;border-radius:8px;margin:4px 0;padding:6px 8px;font-size:13px}#wirebar{align-items:center;gap:4px;padding:6px 10px;font-size:13px;display:none;bottom:70px;left:50%;transform:translate(-50%)}#wirebar.open{display:flex}#wirebar .lbl,#wirebar .hint{color:#6b7280;padding:0 4px}#wirebar button{min-width:0;height:30px;padding:0 10px;font-size:13px}#wirebar .when-wire{display:none}#wirebar.has-wire .when-wire{align-items:center;display:inline-flex}#wirebar .sep.when-wire{display:none}#wirebar.has-wire .sep.when-wire{display:inline-block}#wirebar,#wirebar *{white-space:nowrap}.lib-actions{gap:6px;display:flex}.lib-head button{align-items:center;gap:5px;display:inline-flex}.lib-head button.active{color:#1d4ed8;background:#dbeafe;border-color:#3b82f6}#library{padding:8px 10px 10px}.lib-tabs{background:#f1f5f9;border-radius:9px;gap:4px;margin-bottom:8px;padding:3px;display:flex}.lib-tabs button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 4px;font-size:13px;font-weight:600}.lib-tabs button.active{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #0000001f}.lib-body{flex-direction:column;flex:1;min-height:0;display:flex}#library[data-tab=circuit] [data-body=uml],#library[data-tab=uml] [data-body=circuit]{display:none}#uml-list{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;grid-template-columns:repeat(3,1fr);align-content:start;gap:6px;padding-right:2px;display:grid;overflow-y:auto}#uml-list::-webkit-scrollbar{width:5px}#uml-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}#uml-list h3{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;grid-column:1/-1;margin:6px 0 0;font-size:12px}#uml-list .lib-item{text-align:center;font-size:11.5px}#uml-list .lib-item.wide{grid-column:span 1}#uml-card,#code-card,#mermaid-card,#note-card,#tree-card{flex-direction:column;align-items:stretch;gap:8px;width:300px;padding:12px;display:none;top:70px;bottom:auto;left:76px;transform:none}#uml-card.open,#code-card.open,#mermaid-card.open,#note-card.open,#tree-card.open{display:flex}#uml-card .uc-head,#code-card .uc-head,#mermaid-card .uc-head,#note-card .uc-head{font-size:14px}#uml-card label,#code-card label,#mermaid-card label,#note-card label{color:#6b7280;flex-direction:column;gap:3px;font-size:12px;display:flex}#uml-card label[hidden],#uml-card .uc-row[hidden]{display:none}#uml-card input,#uml-card textarea,#uml-card select,#code-card input[type=text],#code-card textarea,#code-card select,#note-card select,#mermaid-card input[type=text],#mermaid-card textarea,#mermaid-card select{color:#111827;resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:6px 8px;font:13px Segoe UI,system-ui,sans-serif}#uml-card textarea,#code-card textarea,#mermaid-card textarea{font-family:Consolas,Cascadia Mono,monospace;font-size:12.5px}#uml-card input:focus,#uml-card textarea:focus,#uml-card select:focus,#code-card input:focus,#code-card textarea:focus,#code-card select:focus,#mermaid-card input:focus,#mermaid-card textarea:focus,#mermaid-card select:focus{border-color:#3b82f6;outline:2px solid #bfdbfe}.uc-row{gap:8px;display:flex}.uc-row label{flex:1}#wirebar .when-conn{align-items:center;gap:4px;display:none}#wirebar.conn-mode .when-conn{display:inline-flex}#wirebar.conn-mode .lbl:first-child{display:none}#uml-list{overflow-x:hidden}#uml-list .lib-item{min-width:0}.uml-check{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:0 0 8px;padding:7px 10px;font-size:13px;font-weight:600}.uml-check:hover{background:#dbeafe}body.uml-card-open #checks{width:318px;left:392px}.uml-actions{gap:6px;margin-bottom:8px;display:flex}.uml-actions .uml-check{flex:1;margin:0}.uml-check.java{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.uml-check.java:hover{background:#dcfce7}.uml-check{justify-content:center;align-items:center;gap:6px;display:inline-flex}#code-dialog{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#code-dialog[hidden]{display:none}.cd-card{background:#fff;border-radius:14px;flex-direction:column;width:min(800px,100%);height:min(520px,100%);display:flex;overflow:hidden;box-shadow:0 24px 70px #0f172a66}.cd-head{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 12px 10px 16px;display:flex}.cd-title{flex-direction:column;min-width:0;margin-right:auto;line-height:1.2;display:flex}.cd-title strong{color:var(--ink);font-size:14px}.cd-title span{color:var(--muted);font-size:11.5px}.cd-langs{background:var(--hover);border-radius:10px;gap:2px;padding:3px;display:flex}.cd-langs button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font:600 12.5px Segoe UI,system-ui,sans-serif;display:inline-flex}.cd-langs button:hover{color:var(--ink)}.cd-langs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0f172a26}.cd-langs .lang-badge{border-radius:4px;width:22px;height:16px;font-size:9.5px}.cd-x{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.cd-x:hover{background:var(--hover);color:var(--ink)}.cd-opts{color:var(--ink-2);border-bottom:1px solid #f1f5f9;align-items:center;gap:18px;padding:7px 16px;font-size:12.5px;display:flex}.cd-opts label{align-items:center;gap:7px;display:flex}.cd-opts label[hidden]{display:none}.cd-opts input[type=text]{border:1px solid #cbd5e1;border-radius:6px;width:150px;padding:4px 8px;font-size:12.5px}.cd-opts input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.cd-opts .disabled{opacity:.5}.cd-body{flex:1;min-height:0;display:flex}#cd-files{border-right:1px solid var(--line);scrollbar-width:thin;background:#f8fafc;flex-direction:column;flex:none;gap:2px;width:150px;padding:8px;display:flex;overflow-y:auto}#cd-files button{text-align:left;cursor:pointer;color:#334155;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:6px 8px;font:12.5px Consolas,Cascadia Mono,monospace;overflow:hidden}#cd-files button:hover{background:#e2e8f0}#cd-files button.active{background:var(--accent-bg);color:var(--accent-ink);font-weight:700}.cd-main{background:#0f172a;flex-direction:column;flex:1;min-width:0;display:flex}#cd-warn{color:#fde68a;background:#422006;flex:none;max-height:64px;padding:6px 14px;font-size:12px;line-height:1.4;overflow-y:auto}#cd-warn[hidden]{display:none}#cd-code{color:#e2e8f0;tab-size:4;white-space:pre;scrollbar-width:thin;scrollbar-color:#334155 transparent;flex:1;min-height:0;margin:0;padding:12px 16px;font:12.5px/1.55 Consolas,Cascadia Mono,monospace;overflow:auto}#cd-code .jk{color:#f472b6}#cd-code .jt{color:#7dd3fc}#cd-code .js{color:#86efac}#cd-code .jc{color:#94a3b8;font-style:italic}#cd-code .ja{color:#fcd34d}.cd-foot{border-top:1px solid var(--line);align-items:center;gap:8px;padding:8px 12px 8px 16px;display:flex}#cd-count{color:var(--muted);margin-right:auto;font-size:12px}.cd-foot button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:7px 12px;font:500 12.5px Segoe UI,system-ui,sans-serif}.cd-foot button:hover:not(:disabled){background:var(--hover)}.cd-foot button:disabled{opacity:.4;cursor:default}.cd-foot button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.cd-foot button.primary:hover:not(:disabled){background:var(--accent-ink)}.cd-foot button:focus-visible,.cd-langs button:focus-visible,.cd-x:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lang-ico{flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.lang-ico .lang-svg{width:20px;height:20px;display:block}.cd-langs .lang-ico{width:18px;height:18px}.cd-langs .lang-ico .lang-svg{width:16px;height:16px}#code-card,#mermaid-card{width:380px}#code-card textarea,#mermaid-card textarea{white-space:pre;min-height:150px;overflow:auto}.cc-opts{justify-content:space-between;align-items:center;gap:10px;display:flex}#code-card label.chk,#mermaid-card label.chk,#note-card label.chk{color:var(--ink-2);flex-direction:row;align-items:center;gap:7px;font-size:13px}#code-card label.chk input,#mermaid-card label.chk input,#note-card label.chk input{width:15px;height:15px;accent-color:var(--accent)}.cc-theme{background:var(--hover);border-radius:9px;padding:2px;display:inline-flex}.cc-theme button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:4px 12px;font:600 12px Segoe UI,system-ui,sans-serif}.cc-theme button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0f172a26}body.uml-card-open #checks{left:392px}#cd-code .jn{color:#fdba74}#cd-code .jf{color:#c4b5fd}.cd-foot #cd-add{margin-right:4px}#toast{z-index:45;background:var(--ink);color:#fff;max-width:min(560px,100vw - 32px);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font:13px/1.4 Segoe UI,system-ui,sans-serif;display:flex;position:fixed;bottom:76px;left:50%;transform:translate(-50%)}#toast[hidden]{display:none}#toast button{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:7px;flex:none;padding:5px 10px;font:600 12px Segoe UI,system-ui,sans-serif}#toast button:hover{background:#ffffff3d}#toast button[hidden],#library[data-tab=circuit] [data-body=diagrams],#library[data-tab=uml] [data-body=diagrams],#library[data-tab=diagrams] [data-body=circuit],#library[data-tab=diagrams] [data-body=uml]{display:none}#diag-list{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;grid-template-columns:repeat(3,1fr);align-content:start;gap:6px;padding-right:2px;display:grid;overflow:hidden auto}#diag-list::-webkit-scrollbar{width:5px}#diag-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}#diag-list h3{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;grid-column:1/-1;margin:6px 0 0;font-size:12px}#diag-list .lib-item{text-align:center;min-width:0;font-size:11.5px}.lib-tabs button{padding:6px 2px;font-size:12.5px}#embeds{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}#embeds iframe{transform-origin:0 0;background:#fff;border:0;position:absolute;top:0;left:0}#board{z-index:1;position:relative}#board.through{pointer-events:none}#embed-dialog,#pdf-dialog,#welcome,#ask{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#embed-dialog[hidden],#pdf-dialog[hidden],#welcome[hidden],#ask[hidden]{display:none}.em-card{background:#fff;border-radius:14px;flex-direction:column;gap:10px;width:min(520px,100%);padding:18px 20px 16px;font-family:Segoe UI,system-ui,sans-serif;display:flex;box-shadow:0 24px 70px #0f172a66}.em-head{color:var(--ink);justify-content:space-between;align-items:center;font-size:15px;display:flex}.em-head button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;width:30px;height:30px;font-size:22px;line-height:1}.em-head button:hover{background:var(--hover)}.em-lead,.em-note{color:var(--ink-2);margin:0;font-size:13px;line-height:1.45}.em-note{color:var(--muted);font-size:12px}#em-url{border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;font:14px Segoe UI,system-ui,sans-serif}#em-url:focus{border-color:var(--accent);outline:2px solid #bfdbfe}#em-error{color:var(--danger);font-size:12.5px}#em-error[hidden]{display:none}.em-chips{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.em-chips button{border:1px solid var(--line);color:var(--ink-2);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font:500 12px Segoe UI,system-ui,sans-serif}.em-chips button:hover{background:var(--hover);color:var(--ink)}.em-foot{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.em-foot button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 14px;font:500 13px Segoe UI,system-ui,sans-serif}.em-foot button:hover{background:var(--hover)}.em-foot button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.em-foot button.primary:hover{background:var(--accent-ink)}#mermaid-card textarea{white-space:pre;min-height:170px;font:12.5px/1.5 Consolas,Cascadia Mono,monospace;overflow:auto}#mc-status{min-height:18px;font-size:12.5px;line-height:1.4}#mc-status.ok{color:#15803d}#mc-status.busy{color:var(--muted)}#mc-status.bad{color:var(--danger)}.mc-link{color:var(--accent-ink);cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:2px 0;font:600 12.5px Segoe UI,system-ui,sans-serif}.mc-link:hover{text-decoration:underline}#md-dialog{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#md-dialog[hidden]{display:none}.md-card{width:min(640px,100%)}#md-text{resize:vertical;white-space:pre;border:1px solid #cbd5e1;border-radius:9px;min-height:180px;padding:10px 12px;font:12.5px/1.5 Consolas,Cascadia Mono,monospace}#md-text:focus{border-color:var(--accent);outline:2px solid #bfdbfe}#md-error{color:var(--danger);font-size:12.5px;line-height:1.4}#md-error[hidden]{display:none}.em-foot .left{margin-right:auto}.lib-item.text{text-align:center;background:#f8fafc;justify-content:center;min-height:40px;padding:8px 4px;font-size:12px}.lib-item.text:hover{background:var(--accent-bg)}#note-card,#tree-card{gap:0;width:300px;padding:0;overflow:hidden}#note-card[data-kind=text] [data-f=sticky],#note-card[data-kind=sticky] [data-f=text]{display:none}.nc-head{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;padding:14px 16px 12px;display:flex}.nc-head strong{color:var(--ink);font-size:15px}.nc-head span{color:var(--muted);font-size:12px}.nc-sec{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.nc-sec:last-child{border-bottom:0}.nc-row{flex-direction:row;justify-content:space-between;align-items:center}.nc-lab{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.nc-lab b{color:var(--ink);letter-spacing:0;font-size:12px}.nc-fonts{grid-template-columns:1fr 1fr;gap:8px;display:grid}:is(#note-card,#tree-card) .nc-fonts button{border:1.5px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:2px;width:100%;height:62px;padding:6px 4px}:is(#note-card,#tree-card) .nc-fonts button:hover{background:var(--hover);border-color:#cbd5e1}:is(#note-card,#tree-card) .nc-fonts button.active{border-color:var(--accent);background:var(--accent-bg)}.nc-aa{color:var(--ink);font-size:26px;line-height:1.1}.nc-fn{color:var(--ink-2);font:500 11px Segoe UI,system-ui,sans-serif}:is(#note-card,#tree-card) input[type=range]{width:100%;accent-color:var(--accent);border:0;height:4px;margin:4px 0;padding:0}.nc-seg{background:var(--hover);border-radius:10px;gap:2px;padding:3px;display:flex}:is(#note-card,#tree-card) .nc-seg button{width:32px;min-width:0;height:30px;color:var(--ink-2);border-radius:8px;padding:0;font:600 14px Segoe UI,system-ui,sans-serif}:is(#note-card,#tree-card) .nc-seg button.i{font-family:Georgia,serif;font-style:italic}:is(#note-card,#tree-card) .nc-seg button.u{text-decoration:underline}:is(#note-card,#tree-card) .nc-seg button.s{text-decoration:line-through}:is(#note-card,#tree-card) .nc-seg button.active{color:var(--accent-ink);background:#fff;box-shadow:0 1px 3px #0f172a2e}.nc-swatches,.nc-sw-list{grid-template-columns:repeat(9,24px);justify-content:space-between;align-items:center;gap:4px;display:grid}.nc-swatches .nc-sw-list{display:contents}#nc-marks,#nc-tones{grid-template-columns:repeat(6,24px);justify-content:start;gap:12px}:is(#note-card,#tree-card) .nc-sw-list button,.nc-custom{box-sizing:border-box;cursor:pointer;border:2px solid #0f172a1f;border-radius:50%;width:24px;min-width:0;height:24px;padding:0;transition:transform .1s;display:block}:is(#note-card,#tree-card) .nc-sw-list button:hover,.nc-custom:hover{background-clip:padding-box;transform:scale(1.12)}:is(#note-card,#tree-card) .nc-sw-list button.active,.nc-custom.active{border-color:var(--accent);box-shadow:inset 0 0 0 2px #fff}:is(#note-card,#tree-card) .nc-sw-list button.none{background:linear-gradient(135deg,#fff 44%,#ef4444 44% 56%,#fff 56%)}.nc-custom{background:conic-gradient(#ef4444,#f59e0b,#10b981,#3b82f6,#8b5cf6,#ef4444);position:relative;overflow:hidden}.nc-custom input{opacity:0;cursor:pointer;border:0;width:40px;height:40px;padding:0;position:absolute;inset:-6px}.nc-seg.wide{width:100%}.nc-seg.wide button{flex:1;width:auto;font-size:12.5px}.tc-btn{border:1px solid var(--line);height:34px;color:var(--ink-2);background:#fff;border-radius:9px;flex:1;gap:8px;font:600 13px Segoe UI,system-ui,sans-serif}.tc-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}#tree-card .tc-btn.primary:hover:not(:disabled){background:var(--accent-ink);color:#fff}.tc-btn.danger{color:var(--danger);background:#fff5f5;border-color:#fecaca}#tree-card .tc-btn.danger:hover:not(:disabled){color:var(--danger);background:#fee2e2}.tc-btn kbd{color:inherit;background:#0f172a1a;border-radius:4px;padding:1px 5px;font:600 10.5px Segoe UI,system-ui,sans-serif}.tc-btn.primary kbd{background:#ffffff40}#tree-card .nc-row{gap:8px}#tc-fills,#tc-lines{grid-template-columns:repeat(8,24px);justify-content:space-between;gap:6px}#tc-fills{grid-template-columns:repeat(8,24px)}.tree-editor{z-index:5;resize:none;text-align:center;white-space:pre;box-sizing:border-box;color:#111827;border:2px solid #2563eb;border-radius:12px;outline:none;margin:0;position:absolute;overflow:hidden}:is(#note-card,#tree-card){scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;max-height:calc(100vh - 150px);overflow-y:auto}.nc-head,.nc-sec{flex:none}.tc-btn{flex:1 1 0;min-width:0}.tc-btn:disabled{background:var(--hover);border-color:#0000}#tc-fonts{grid-template-columns:repeat(4,1fr);gap:6px}#tree-card #tc-fonts button{height:44px;padding:0}#tc-fonts .nc-fn{display:none}#tc-fonts .nc-aa{font-size:22px}.nc-hint{color:var(--muted);margin:0;font-size:11.5px;line-height:1.45}.bar .menu-item .ext{background:var(--hover);color:var(--ink-2);border-radius:6px;flex:none;margin-left:auto;padding:2px 7px;font:600 11px Consolas,Cascadia Mono,monospace}.bar .menu-item .ext+kbd{margin-left:4px}.bar .menu-item:hover .ext{background:#fff}.pd-card{gap:14px;width:min(560px,100%)}.pd-row{flex-direction:column;gap:6px;display:flex}.pd-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pd-card .nc-seg.wide button{width:auto;min-width:0;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:0 8px;font:600 12.5px Segoe UI,system-ui,sans-serif}.pd-card .nc-seg.wide button:hover:not(:disabled){color:var(--ink)}.pd-card .nc-seg.wide button.active{color:var(--accent-ink);background:#fff;box-shadow:0 1px 3px #0f172a2e}.pd-card .nc-seg.wide button:disabled{opacity:.4;cursor:default}.pd-chk{color:var(--ink-2);align-items:center;gap:8px;font-size:13px;display:flex}.pd-chk input{width:15px;height:15px;accent-color:var(--accent)}.pd-prev{background:var(--hover);border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.pd-sum{color:var(--ink);font:600 12.5px Segoe UI,system-ui,sans-serif}.pd-pages{scrollbar-width:thin;align-items:flex-start;gap:10px;min-height:60px;padding-bottom:4px;display:flex;overflow-x:auto}.pd-pages figure{flex-direction:column;flex:none;align-items:center;gap:4px;margin:0;display:flex}.pd-thumb{background:#fff;border-radius:4px;width:auto;height:150px;box-shadow:0 1px 4px #0f172a40}.pd-pages figcaption{color:var(--muted);font-size:11px}.pd-more{color:var(--ink-2);white-space:nowrap;align-self:center;font-size:12px}:is(#note-card,#tree-card){border-radius:16px;box-shadow:0 8px 24px #0f172a1a}.tc-btn{flex:none;height:36px}.nc-row>.tc-btn{flex:1 1 0}.tc-btn.primary{box-shadow:none}:is(#note-card,#tree-card) .nc-seg{border-radius:11px;padding:3px}:is(#note-card,#tree-card) .nc-seg button.active,.pd-card .nc-seg.wide button.active{box-shadow:0 1px 2px #0f172a1f}:is(#note-card,#tree-card) .nc-seg.wide button{border-radius:8px;height:32px;font:600 12.5px Segoe UI,system-ui,sans-serif}:is(#note-card,#tree-card) .nc-sw-list button.active,.nc-custom.active{box-shadow:none;border:2px solid var(--accent);outline-offset:-4px;outline:2px solid #fff}:is(#note-card,#tree-card) .nc-sw-list button:hover,.nc-custom:hover{filter:brightness(.96);transform:none}:is(#note-card,#tree-card) .nc-fonts button{border-radius:10px}:is(#note-card,#tree-card) .nc-fonts button.active{box-shadow:none}:is(#note-card,#tree-card) .nc-fonts button:active{transform:none}#brand{z-index:12;border:1px solid var(--line);color:var(--ink);background:#fffffff5;border-radius:14px;align-items:center;gap:8px;padding:4px 14px 4px 4px;text-decoration:none;display:flex;position:fixed;top:14px;left:14px;box-shadow:0 1px 2px #0f172a0f}#brand img{border-radius:10px;display:block}#brand span{letter-spacing:.2px;font:700 25px/1 Caveat,Segoe Print,cursive}#brand b{color:var(--accent);font-weight:700}@media (width<=1100px){#brand span{display:none}#brand{padding-right:4px}}#present-bar{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.55;background:#0f172ad1;border-color:#0000;align-items:center;gap:4px;padding:5px;transition:opacity .2s;display:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}#present-bar:hover{opacity:1}#present-bar button{color:#e2e8f0}#present-bar button:hover:not(:disabled){color:#fff;background:#ffffff24}#present-bar #pr-exit{margin-left:4px;padding:0 12px;font-weight:600}#pr-count{text-align:center;color:#e2e8f0;min-width:56px;font:600 13px Segoe UI,system-ui,sans-serif}body.presenting #present-bar{display:flex}body.presenting .bar:not(#present-bar),body.presenting #brand,body.presenting #library,body.presenting #checks,body.presenting #toast,body.presenting #uml-card,body.presenting #code-card,body.presenting #mermaid-card,body.presenting #note-card,body.presenting #tree-card{display:none!important}body.presenting #board{cursor:default}.wl-card-wrap{gap:16px;width:min(640px,100%);padding:22px 24px 18px}.wl-head{align-items:center;gap:14px;display:flex}.wl-head img{border-radius:14px;flex:none}.wl-head h2{color:var(--ink);margin:0;font-size:20px}.wl-head p{color:var(--ink-2);margin:3px 0 0;font-size:13px;line-height:1.4}.wl-head button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;align-self:flex-start;width:30px;height:30px;margin-left:auto;font-size:22px;line-height:1}.wl-head button:hover{background:var(--hover)}.wl-list{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.wl-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;font-family:Segoe UI,system-ui,sans-serif;transition:border-color .12s,background .12s,transform .12s;display:flex}.wl-card:hover{border-color:var(--tone);background:#fafbff;transform:translateY(-1px)}.wl-card strong{color:var(--ink);font-size:14px}.wl-card span:not(.wl-icon){color:var(--ink-2);font-size:12px;line-height:1.35}.wl-dot{background:var(--tone);opacity:.9;border-radius:8px;width:26px;height:26px;margin-bottom:6px}.wl-tips{color:var(--muted);margin:0;font-size:12px}.wl-tips b{color:var(--ink-2);margin-right:6px}.em-foot .wl-off{margin-right:auto}@media (width<=560px){.wl-list{grid-template-columns:repeat(2,1fr)}}#ask{z-index:60}.ask-card{gap:12px;width:min(420px,100%)}.ask-field{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.ask-field[hidden],#ask-message[hidden]{display:none}.ask-field input{text-transform:none;letter-spacing:0;color:var(--ink);border:1px solid #cbd5e1;border-radius:9px;padding:10px 12px;font:14px Segoe UI,system-ui,sans-serif}.ask-field input:focus{border-color:var(--accent);outline:2px solid #bfdbfe}.em-foot button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.em-foot button.danger:hover{background:#b91c1c}.wl-icon{color:#fff;background:linear-gradient(145deg, var(--tone), color-mix(in srgb, var(--tone) 70%, #0f172a));width:46px;height:46px;box-shadow:0 4px 10px color-mix(in srgb, var(--tone) 35%, transparent);border-radius:13px;place-items:center;margin-bottom:8px;display:grid}.wl-card:hover .wl-icon{transform:scale(1.06)}.wl-icon{transition:transform .12s}.ask-choices{flex-direction:column;gap:8px;margin-top:2px;display:flex}.ask-choices[hidden],#ask-foot[hidden]{display:none}.ask-choices button{height:40px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;font:600 13.5px Segoe UI,system-ui,sans-serif}.ask-choices button:hover{background:var(--hover)}.ask-choices button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.ask-choices button.primary:hover{background:var(--accent-ink)}.ask-choices button.danger{color:var(--danger);background:#fff5f5;border-color:#fecaca}.ask-choices button.danger:hover{background:#fee2e2}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/patrick-hand-latin-400-normal-B7HHA2Vw.woff2)format("woff2"),url(/assets/patrick-hand-latin-400-normal-Df9_VoRQ.woff)format("woff")}
