:root{--ink:#0a1f2e;--ink2:#0e2536;--cream:#f5f1ea;--paper:#faf7f1;--signal:#ff5b2e;--signal-soft:#ff8b65;--stone:#9aa6b2;--mist:#6b7785;--rule:hsla(38,35%,94%,.1);--rule2:hsla(38,35%,94%,.16)}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:radial-gradient(900px 600px at 15% -10%,rgba(255,91,46,.1),transparent 60%),radial-gradient(800px 500px at 100% 0,rgba(34,211,238,.06),transparent 55%),var(--ink);color:var(--cream);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}.app{display:grid;grid-template-rows:54px 1fr;height:100vh}.hdr{gap:12px;padding:0 18px;border-bottom:1px solid var(--rule);background:linear-gradient(180deg,hsla(0,0%,100%,.03),transparent)}.brand,.hdr{display:flex;align-items:center}.brand{gap:10px;font-weight:650;font-size:15px;letter-spacing:-.01em}.diamond{width:17px;height:17px;border-radius:5px;transform:rotate(45deg);background:linear-gradient(135deg,var(--signal),var(--signal-soft));box-shadow:0 0 16px rgba(255,91,46,.6)}.muted{color:var(--mist);font-weight:500}.small{font-size:12px}.grow{flex:1 1}.body{display:grid;grid-template-columns:1fr 360px;min-height:0}.canvas-wrap{position:relative;min-width:0;overflow:hidden}.legend{position:absolute;left:14px;bottom:14px;padding:11px 13px;border-radius:12px;background:rgba(8,16,24,.55);border:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;color:var(--stone);display:flex;flex-direction:column;gap:6px}.legend .row{display:flex;align-items:center;gap:8px}.legend .sw{width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor}.hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);font-size:12px;color:var(--mist);background:rgba(8,16,24,.5);border:1px solid var(--rule);border-radius:20px;padding:5px 13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel{border-left:1px solid var(--rule);background:hsla(0,0%,100%,.015);display:grid;grid-template-rows:auto 1fr;min-height:0}.tabs{display:flex;gap:18px;padding:14px 18px 0}.tabs button{all:unset;cursor:pointer;font-size:13px;color:var(--mist);padding-bottom:9px;border-bottom:2px solid transparent}.tabs button.on{color:var(--cream);border-color:var(--signal)}.pane{overflow:auto;padding:16px 16px 28px}.ask,.search{display:flex;gap:8px;margin-bottom:14px}.ask textarea,.search input{flex:1 1;background:hsla(38,35%,94%,.05);border:1px solid var(--rule2);border-radius:10px;padding:9px 11px;color:var(--cream);font:inherit;font-size:13px;outline:none}.ask textarea:focus,.search input:focus{border-color:rgba(255,91,46,.5)}.ask textarea{height:48px;resize:none}.ask button,.search button{all:unset;cursor:pointer;background:var(--signal);color:#fff;font-size:12.5px;font-weight:600;padding:0 14px;border-radius:10px;display:grid;place-items:center}.ask button:hover,.search button:hover{background:var(--signal-soft)}.pill{display:inline-block;font-size:11px;font-weight:600;color:#ffd9cb;background:rgba(255,91,46,.16);border:1px solid rgba(255,91,46,.3);border-radius:20px;padding:3px 10px;text-transform:capitalize}.doc h2{font-size:19px;margin:12px 0 8px;letter-spacing:-.01em}.body-md{font-size:13.5px;line-height:1.7;color:var(--stone);white-space:pre-wrap}.sect{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);font-weight:600;margin:20px 0 9px}.link{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--stone);padding:7px 9px;border-radius:8px;cursor:pointer}.link:hover{background:hsla(38,35%,94%,.05);color:var(--cream)}.lt{margin-left:auto;font-size:10px;color:var(--mist);text-transform:uppercase}.res{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:9px;cursor:pointer;border:1px solid transparent}.res:hover{background:hsla(38,35%,94%,.04);border-color:var(--rule)}.res b{font-size:13px}.res span{font-size:11.5px;color:var(--mist);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.answer{font-size:14px;line-height:1.7;color:var(--cream);white-space:pre-wrap;background:hsla(38,35%,94%,.04);border:1px solid var(--rule);border-radius:12px;padding:13px 14px}.chip{display:inline-block;font-size:12px;color:var(--stone);border:1px solid var(--rule2);border-radius:8px;padding:5px 10px;margin:0 6px 6px 0;cursor:pointer}.chip:hover{color:var(--cream);border-color:var(--signal)}.empty{font-size:13px;color:var(--mist);padding:10px 2px}.hdr-btn{font-size:12.5px;color:var(--cream);text-decoration:none;border:1px solid var(--rule2);border-radius:9px;padding:6px 12px;transition:.15s}.hdr-btn:hover{border-color:var(--signal);color:#ffd9cb}.open-ws{display:inline-block;font-size:12.5px;color:var(--signal-soft);text-decoration:none;margin:2px 0 6px;cursor:pointer}.open-ws:hover{color:var(--signal)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:hsla(38,35%,94%,.12);border-radius:6px}.ws{--w-ink:#0a1f2e;--w-ink2:#122a3c;--w-ink3:#1c3344;--w-cream:#f5f1ea;--w-paper:#faf7f1;--w-sand:#ece6da;--w-signal:#ff5b2e;--w-signal-soft:#ff8b65;--w-signal-quiet:#ffd4c2;--w-signal-tint:#fff1ec;--w-stone:#4a5560;--w-mist:#7d8a96;--w-rule:rgba(10,31,46,.1);--w-rule-strong:rgba(10,31,46,.2);display:grid;grid-template-columns:264px 1fr 320px;height:100vh;background:var(--w-paper);color:var(--w-ink)}.ws-side{background:var(--w-ink);flex-direction:column;padding:16px 12px;overflow:auto}.ws-brand,.ws-side{color:var(--w-cream);display:flex}.ws-brand{align-items:center;gap:10px;font-weight:650;font-size:15px;letter-spacing:-.01em;padding:6px 8px 14px;text-decoration:none}.ws-brand .scope{margin-left:auto;font-size:11px;font-weight:500;color:hsla(38,35%,94%,.5)}.ws-search{display:flex;align-items:center;gap:9px;height:34px;padding:0 11px;border-radius:10px;background:hsla(38,35%,94%,.07);border:1px solid hsla(38,35%,94%,.1);color:hsla(38,35%,94%,.55);font-size:13px;cursor:pointer;margin-bottom:8px}.ws-search kbd{margin-left:auto;font:inherit;font-size:10.5px;background:hsla(38,35%,94%,.1);border-radius:5px;padding:2px 6px}.ws-new{all:unset;cursor:pointer;display:flex;align-items:center;gap:9px;padding:7px 11px;border-radius:9px;font-size:13px;font-weight:500;color:#ffd9cb;background:rgba(255,91,46,.14);box-shadow:inset 0 0 0 1px rgba(255,91,46,.25);margin-bottom:6px;transition:.15s}.ws-new:hover{background:rgba(255,91,46,.22)}.ws-h{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:hsla(38,35%,94%,.38);font-weight:600;margin:14px 8px 7px}.ws-item{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:9px;font-size:13.5px;color:hsla(38,35%,94%,.78);cursor:pointer;transition:.15s;border:none;background:none;width:100%;text-align:left;font-family:inherit}.ws-item:hover{background:hsla(38,35%,94%,.07);color:var(--w-cream)}.ws-item.on{background:rgba(255,91,46,.16);color:#ffd9cb;box-shadow:inset 0 0 0 1px rgba(255,91,46,.28)}.ws-item .dot{width:8px;height:8px;border-radius:50%;flex:none;background:currentColor;box-shadow:0 0 8px currentColor}.ws-item .k{margin-left:auto;font-size:10.5px;color:hsla(38,35%,94%,.35);flex:none}.ws-item .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-foot{margin-top:auto;padding:12px 9px 4px;font-size:11.5px;color:hsla(38,35%,94%,.4);line-height:1.7;border-top:1px solid hsla(38,35%,94%,.1)}.ws-foot b{color:hsla(38,35%,94%,.7);font-weight:600}.ws-main{overflow:auto;position:relative;min-width:0}.ws-top{position:-webkit-sticky;position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:14px;height:52px;padding:0 26px;background:hsla(40,47%,96%,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--w-rule)}.ws-crumb{font-size:12.5px;color:var(--w-mist);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-crumb b{color:var(--w-stone);font-weight:600}.ws-err{font-size:12px;color:#c0392b;flex:none}.ws-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex:none}.ws-iconbtn{width:32px;height:32px;border-radius:9px;border:1px solid var(--w-rule);background:transparent;color:var(--w-stone);display:grid;place-items:center;cursor:pointer;font-size:14px;transition:.15s;text-decoration:none}.ws-iconbtn:hover{border-color:var(--w-rule-strong);background:var(--w-cream)}.ws-iconbtn:disabled{opacity:.4;cursor:default}.ws-save{all:unset;cursor:pointer;font-size:13px;font-weight:600;color:#fff;background:var(--w-signal);padding:8px 15px;border-radius:10px;box-shadow:0 2px 10px rgba(255,91,46,.3);transition:.15s}.ws-save:hover{background:var(--w-signal-soft)}.ws-save:disabled{opacity:.45;cursor:default;box-shadow:none}.ws-doc{max-width:740px;margin:0 auto;padding:40px 30px 120px}.ws-pill{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;color:var(--w-ink);background:var(--w-cream);border:1px solid var(--w-rule);padding:4px 11px;border-radius:20px;text-transform:capitalize}.ws-title{width:100%;border:none;background:transparent;outline:none;font-family:inherit;font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:16px 0 8px;color:var(--w-ink);padding:0}.ws-title::placeholder{color:var(--w-mist)}.ws-meta{font-size:12.5px;color:var(--w-mist);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center}.ws-meta b{color:var(--w-stone);font-weight:500}.ws-ro{font-size:12px;color:var(--w-mist);background:var(--w-cream);border:1px solid var(--w-rule);border-radius:8px;padding:6px 10px;margin-bottom:14px;display:inline-block}.ws-center{display:grid;place-items:center;color:var(--w-mist);font-size:14px}.ws-editor .ProseMirror{outline:none;font-size:16.5px;line-height:1.8;color:#16293a;min-height:320px}.ws-editor .ProseMirror p{margin:0 0 17px}.ws-editor .ProseMirror h1{font-size:26px;font-weight:700;letter-spacing:-.015em;color:var(--w-ink);margin:32px 0 12px}.ws-editor .ProseMirror h2{font-size:20px;font-weight:650;letter-spacing:-.01em;color:var(--w-ink);margin:30px 0 12px}.ws-editor .ProseMirror h3{font-size:17px;font-weight:650;color:var(--w-ink);margin:24px 0 10px}.ws-editor .ProseMirror ol,.ws-editor .ProseMirror ul{margin:0 0 17px;padding-left:22px}.ws-editor .ProseMirror li{margin:6px 0}.ws-editor .ProseMirror strong{font-weight:650;color:var(--w-ink)}.ws-editor .ProseMirror blockquote{margin:22px 0;padding:4px 0 4px 18px;border-left:3px solid var(--w-sand);color:var(--w-stone);font-style:italic;font-size:16px}.ws-editor .ProseMirror code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;background:var(--w-cream);border:1px solid var(--w-rule);border-radius:6px;padding:1.5px 6px}.ws-editor .ProseMirror pre{background:var(--w-ink);color:var(--w-cream);border-radius:12px;padding:14px 16px;margin:0 0 17px;overflow:auto}.ws-editor .ProseMirror pre code{background:none;border:none;color:inherit;padding:0;font-size:13px}.ws-editor .ProseMirror hr{border:none;border-top:1px solid var(--w-rule-strong);margin:26px 0}.ws-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--w-mist);pointer-events:none;height:0}.ws-rail{background:var(--w-cream);border-left:1px solid var(--w-rule);overflow:auto;padding:20px 18px}.ws-rail .hd{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--w-stone)}.ws-ask{margin:14px 0 6px;background:var(--w-paper);border:1px solid var(--w-rule);border-radius:14px;padding:11px;box-shadow:0 1px 2px rgba(10,31,46,.04)}.ws-ask textarea{width:100%;border:none;background:transparent;resize:none;font:inherit;font-size:13.5px;color:var(--w-ink);outline:none;line-height:1.5;height:40px}.ws-ask .row{display:flex;align-items:center;margin-top:6px}.ws-ask .hint{font-size:11px;color:var(--w-mist)}.ws-askbtn{all:unset;cursor:pointer;margin-left:auto;font-size:12.5px;font-weight:600;color:#fff;background:var(--w-signal);padding:6px 13px;border-radius:8px;transition:.15s}.ws-askbtn:hover{background:var(--w-signal-soft)}.ws-askbtn:disabled{opacity:.5;cursor:default}.ws-ans{font-size:13.5px;line-height:1.65;color:var(--w-ink3);margin:10px 2px 4px;white-space:pre-wrap}.ws-q{font-size:13px;font-weight:600;color:var(--w-ink);background:var(--w-paper);border:1px solid var(--w-rule);border-radius:10px;padding:8px 11px;margin:14px 0 2px}.ws-newchat{all:unset;cursor:pointer;margin-left:auto;font-size:11px;font-weight:600;color:var(--w-signal);text-transform:none;letter-spacing:0}.ws-newchat:hover{color:var(--w-signal-soft)}.ws-sect{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--w-mist);margin:24px 0 10px}.ws-rel{padding:9px 10px;border-radius:10px;cursor:pointer;transition:.15s}.ws-rel:hover{background:var(--w-paper)}.ws-rel .top{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--w-ink);font-weight:500}.ws-rel .top .ttl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-rel .pct{margin-left:auto;font-size:11px;color:var(--w-signal);font-weight:600;font-family:JetBrains Mono,ui-monospace,monospace;flex:none}.ws-rel .bar{height:3px;border-radius:3px;background:var(--w-sand);margin-top:7px;overflow:hidden}.ws-rel .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--w-signal),var(--w-signal-soft));border-radius:3px}.ws-bl{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--w-stone);padding:7px 10px;border-radius:9px;cursor:pointer;transition:.15s}.ws-bl:hover{background:var(--w-paper);color:var(--w-ink)}.ws-bl .t{margin-left:auto;font-size:10px;color:var(--w-mist);text-transform:uppercase;letter-spacing:.04em;flex:none}.ws-prov{font-size:12.5px;line-height:1.8}.ws-chip,.ws-prov{color:var(--w-stone)}.ws-chip{display:inline-block;font-size:12px;border:1px solid var(--w-rule-strong);background:var(--w-paper);border-radius:8px;padding:4px 9px;margin:8px 6px 0 0;cursor:pointer;transition:.15s}.ws-chip:hover{color:var(--w-ink);border-color:var(--w-signal)}.ws-empty{font-size:12.5px;color:var(--w-mist);padding:2px}.ws-note{font-size:12px;color:var(--w-signal);font-weight:600;flex:none}.ws-drop{position:fixed;inset:0;z-index:50;background:rgba(10,31,46,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;pointer-events:none}.ws-drop-card{font-size:15px;font-weight:600;color:var(--w-ink);background:var(--w-paper);border:2px dashed var(--w-signal);border-radius:16px;padding:26px 38px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.ws ::-webkit-scrollbar-thumb{background:var(--w-sand)}.ws .ws-side::-webkit-scrollbar-thumb{background:hsla(38,35%,94%,.14)}.ck-overlay{position:fixed;inset:0;z-index:60;background:rgba(6,14,20,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:14vh}.ck{width:min(640px,92vw);background:#0e2536;border:1px solid hsla(38,35%,94%,.14);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden;color:#f5f1ea}.ck input{width:100%;outline:none;background:transparent;color:#f5f1ea;font:inherit;font-size:16px;padding:16px 18px;border:none;border-bottom:1px solid hsla(38,35%,94%,.1)}.ck input::placeholder{color:hsla(38,35%,94%,.4)}.ck-list{max-height:46vh;overflow:auto;padding:8px}.ck-row{display:flex;align-items:flex-start;gap:11px;padding:9px 11px;border-radius:10px;font-size:13.5px;cursor:pointer;color:hsla(38,35%,94%,.85)}.ck-row.on{background:rgba(255,91,46,.16);color:#ffd9cb;box-shadow:inset 0 0 0 1px rgba(255,91,46,.28)}.ck-row .lbl{flex:1 1;min-width:0}.ck-row .lbl,.ck-row .snip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck-row .snip{font-size:11.5px;color:hsla(38,35%,94%,.5);font-weight:400}.ck-row .hint{margin-left:auto;flex:none}.ck-foot,.ck-row .hint{font-size:11px;color:hsla(38,35%,94%,.4)}.ck-foot{display:flex;gap:14px;padding:9px 16px;border-top:1px solid hsla(38,35%,94%,.1)}.ck-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:70;background:#0e2536;color:#f5f1ea;border:1px solid rgba(255,91,46,.4);border-radius:12px;padding:10px 16px;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.4)}.ws-flash{animation:wsflash 2.4s ease-out}@keyframes wsflash{0%{background:rgba(255,91,46,.3);box-shadow:0 0 0 6px rgba(255,91,46,.18)}to{background:transparent;box-shadow:none}}.ws-tagrow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-6px 0 16px}.ws-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--w-signal);background:var(--w-signal-tint);border:1px solid var(--w-signal-quiet);border-radius:14px;padding:3px 10px}.ws-tag i{font-style:normal;cursor:pointer;opacity:.55;font-size:13px}.ws-tag i:hover{opacity:1}.ws-taginput{border:1px dashed var(--w-rule-strong);background:transparent;border-radius:14px;padding:3px 10px;font:inherit;font-size:12px;color:var(--w-stone);outline:none;width:74px}.ws-taginput:focus{border-color:var(--w-signal);color:var(--w-ink)}.ws-wikilink{color:var(--w-signal);background:var(--w-signal-tint);border-radius:4px;padding:0 2px;cursor:pointer;transition:.12s}.ws-wikilink:hover{background:var(--w-signal-quiet)}.ws-sug{position:fixed;z-index:80;min-width:220px;background:#fff;border:1px solid var(--w-rule-strong);border-radius:12px;box-shadow:0 14px 40px rgba(10,31,46,.18);padding:5px;font-size:13px}.ws-sug-row{padding:7px 10px;border-radius:8px;cursor:pointer;color:var(--w-ink3)}.ws-sug-row.on{background:var(--w-signal-tint);color:var(--w-ink)}.ws-sug-hint{padding:5px 10px 3px;font-size:10.5px;color:var(--w-mist);border-top:1px solid var(--w-rule);margin-top:4px}.ws-ver{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--w-stone);padding:6px 10px;border-radius:8px}.ws-ver:hover{background:var(--w-paper)}.ws-ver .ttl{color:var(--w-ink3)}.ws-ver .by{margin-left:auto;font-size:10.5px;color:var(--w-mist);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.ws-ver button{all:unset;cursor:pointer;font-size:13px;color:var(--w-mist);padding:0 3px}.ws-ver button:hover{color:var(--w-signal)}.keys-wrap{height:100vh;overflow:auto;background:var(--paper);color:#0a1f2e;display:flex;justify-content:center;padding:48px 20px}.keys-card{width:min(720px,100%)}.keys-back{font-size:13px;color:#7d8a96;text-decoration:none}.keys-card h1{font-size:28px;letter-spacing:-.02em;margin:14px 0 6px}.keys-sub{font-size:13.5px;color:#4a5560;margin:0 0 22px;line-height:1.6}.keys-new{display:flex;gap:10px;margin-bottom:14px}.keys-new input{flex:1 1;border:1px solid rgba(10,31,46,.2);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;outline:none;background:#fff}.keys-new input:focus{border-color:#ff5b2e}.keys-new button{all:unset;cursor:pointer;background:#ff5b2e;color:#fff;font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:10px}.keys-new button:disabled{opacity:.45;cursor:default}.keys-err{font-size:13px;color:#c0392b;margin-bottom:12px}.keys-fresh{background:#fff1ec;border:1px solid #ffd4c2;border-radius:12px;padding:14px;font-size:13.5px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px}.keys-fresh code{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:#fff;border:1px solid rgba(10,31,46,.12);border-radius:8px;padding:8px 10px;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}.keys-fresh button{all:unset;cursor:pointer;align-self:flex-start;font-size:12.5px;font-weight:600;color:#ff5b2e}.keys-empty{font-size:13.5px;color:#7d8a96;padding:18px 2px}.keys-table{width:100%;border-collapse:collapse;font-size:13.5px}.keys-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7d8a96;padding:8px 10px;border-bottom:1px solid rgba(10,31,46,.15)}.keys-table td{padding:10px;border-bottom:1px solid rgba(10,31,46,.08)}.keys-table tr.revoked td{opacity:.45}.keys-table code{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.keys-table button{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;color:#c0392b}