/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.lab-panel{--lab-bg: #121212;--lab-panel: #222222;--lab-panel-2: #2c2c2c;--lab-border: #3a3a3a;--lab-text: #ececec;--lab-muted: #a3a3a3;--lab-accent: #8f8cff;--lab-accent-strong: #33318f;--lab-accent-2: #dbe617;--lab-good: #b7d89b;--lab-bad: #e0574a;--text: #ececec;--text-2: #cfd3da;--muted: #98a2b0;--line: #3a3a3a;--accent: #8f8cff;--accent-soft: #2b2a55;--accent-line: #3b3f70;--bg-subtle: #2c2c2c;--surface: #222222;--surface-2: #2c2c2c;--code-bg: #0f1116;--code-fg: #dbe617;--green: #b7d89b;--green-soft: #1e2a18;color:var(--lab-text)}.lab-panel{width:400px;flex:none;display:flex;flex-direction:column;background:#191919;border-right:1px solid var(--lab-border);min-height:0}.lab-head{padding:12px 14px;border-bottom:1px solid var(--lab-border)}.lab-title{font-weight:700;font-size:14px}.lab-score{display:flex;justify-content:space-between;color:var(--lab-muted);font-size:12px;margin:4px 0 6px}.lab-bar{height:4px;border-radius:2px;background:var(--lab-panel-2);overflow:hidden}.lab-bar div{height:100%;background:var(--lab-accent);transition:width .3s}.lab-body{flex:1;overflow-y:auto;padding:10px 12px 24px}.lab-task{border-bottom:1px solid var(--lab-border)}.lab-task-head{width:100%;display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--lab-text);padding:12px 2px;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.lab-task-head span{flex:1}.lab-panel .ok{color:var(--lab-good)}.lab-task-body{padding-bottom:14px}.lab-step{background:var(--lab-panel);border-radius:6px;padding:10px 12px;margin-bottom:8px;border-left:3px solid var(--lab-border)}.lab-step.done{border-left-color:var(--lab-good)}.lab-step-head{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:4px}.lab-step-head span{flex:1}.lab-step-head em{font-style:normal;font-weight:400;color:var(--lab-muted);font-size:11px}.lab-panel .lab-md{font-size:12.5px;line-height:1.55}.lab-panel .lab-md p{margin:0 0 8px}.lab-md ul{margin:6px 0;padding-left:18px}.lab-md li{margin:3px 0}.lab-q-title{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--lab-muted);margin:14px 2px 8px}.lab-q{background:var(--lab-panel);border-radius:6px;padding:10px 12px;margin-bottom:8px}.lab-q-prompt{margin:0 0 8px;font-size:13px}.lab-q-options{display:flex;flex-direction:column;gap:5px}.lab-q-options button{display:flex;align-items:baseline;gap:8px;text-align:left;background:var(--lab-bg);border:1px solid var(--lab-border);color:var(--lab-text);border-radius:6px;padding:7px 10px;font-size:12.5px;cursor:pointer}.lab-q-options button:hover:not(:disabled){border-color:var(--lab-accent)}.lab-q-options button:disabled{cursor:default;opacity:.7}.lab-q-options .letter{font-weight:700;color:var(--lab-muted)}.lab-q-options button.chosen{border-color:var(--lab-accent);background:#8f8cff1f}.lab-q-options button.wrong{border-color:var(--lab-bad)}.lab-q-options button.right{border-color:var(--lab-good);opacity:1;background:#b7d89b1a}.lab-check{margin-top:8px;width:100%;background:var(--lab-accent-strong);border:none;color:#fff;border-radius:6px;padding:8px;font-size:12.5px;font-weight:700;cursor:pointer}.lab-check:disabled{opacity:.45;cursor:default}.lab-feedback{margin-top:8px;padding:9px 10px;border-radius:6px;font-size:12.5px}.lab-feedback.ok{background:#b7d89b1a;border:1px solid var(--lab-good)}.lab-feedback.no{background:#e0574a1f;border:1px solid var(--lab-bad)}.lab-feedback .fb-title{font-weight:700;display:flex;align-items:center;gap:6px}.lab-feedback.ok .fb-title{margin-bottom:4px}.lab-reset{margin-top:16px;display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--lab-muted);font-size:12px;cursor:pointer}.lab-reset:hover{color:var(--lab-text)}.bh-root{--bh-bg: #121212;--bh-canvas: #121212;--bh-panel: #222222;--bh-panel-2: #2c2c2c;--bh-border: #3a3a3a;--bh-text: #ececec;--bh-muted: #a3a3a3;--bh-accent: #8f8cff;--bh-accent-strong: #33318f;--bh-accent-2: #dbe617;--bh-good: #b7d89b;--bh-bad: #e0574a;--text: #ededf0;--text-2: #d0d0d6;--muted: #8d8d99;--line: #3a3a3a;--bg-subtle: #2c2c2c;--surface: #222222;--surface-2: #2c2c2c;--accent: #8f8cff;--accent-soft: #2b2a55;--green: #b7d89b;--green-soft: #1e2a18;--code-bg: #121212;--code-fg: #dbe617;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bh-bg);color:var(--bh-text);font:13px/1.45 Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column;overflow:hidden}.bh-root button{font-family:inherit}.bh-topbar{display:flex;align-items:center;gap:14px;padding:8px 12px;background:var(--bh-panel);border-bottom:1px solid var(--bh-border);flex-wrap:wrap}.bh-brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.3px}.bh-brand svg{color:var(--bh-accent)}.bh-nav{display:flex;gap:4px}.bh-nav button{display:flex;align-items:center;gap:6px;background:none;border:1px solid transparent;color:var(--bh-muted);border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.bh-nav button:hover{color:var(--bh-text)}.bh-nav button.active{color:var(--bh-text);background:var(--bh-panel-2);border-color:var(--bh-border)}.bh-btn{display:inline-flex;align-items:center;gap:5px;background:var(--bh-panel-2);color:var(--bh-text);border:1px solid var(--bh-border);border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;text-decoration:none}.bh-btn:hover{border-color:var(--bh-accent)}.bh-btn:disabled{opacity:.5;cursor:default}.bh-spacer{flex:1}.bh-stats{color:var(--bh-muted);font-size:11px}.bh-exit{color:var(--bh-muted)}.bh-main{flex:1;display:flex;min-height:0}.bh-stage{flex:1;position:relative;min-width:0;min-height:0;display:flex}.bh-pane,.bh-explore{flex:1;position:relative;min-width:0;display:flex}.bh-canvas-wrap{flex:1;position:relative;min-width:0;background:var(--bh-canvas)}.bh-canvas{position:absolute;top:0;right:0;bottom:0;left:0}@media (min-width: 1200px){.bh-canvas{right:384px}}.bh-canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--bh-muted);text-align:center;padding:0 24px;pointer-events:none}.bh-left{position:absolute;top:12px;left:12px;width:340px;max-width:calc(100% - 24px);z-index:5}.bh-tabs{display:flex;background:var(--bh-panel);border-radius:4px;margin-bottom:8px}.bh-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;background:none;border:none;color:var(--bh-text);padding:10px 6px;font-size:11px;font-weight:600;letter-spacing:.4px;cursor:pointer;border-bottom:2px solid transparent}.bh-tabs button.active{color:var(--bh-accent);border-bottom-color:var(--bh-accent)}.bh-tab-body{background:var(--bh-panel);border-radius:4px;padding:8px}.bh-hint{color:var(--bh-muted);font-size:11px;margin:6px 2px 2px}.bh-cypher-note{color:var(--bh-muted);font-size:12px;margin:4px}.bh-cypher-note code{background:var(--bh-bg);padding:1px 5px;border-radius:4px;color:var(--bh-accent-2)}.bh-search{position:relative}.bh-search input,.bh-picked{width:100%;box-sizing:border-box;background:var(--bh-bg);border:1px solid var(--bh-border);border-radius:4px;color:var(--bh-text);padding:8px 10px;font-size:12px;font-family:inherit}.bh-search input:focus{outline:none;border-color:var(--bh-accent)}.bh-picked{display:flex;align-items:center;gap:7px;cursor:pointer;text-align:left}.bh-picked .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bh-results{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow-y:auto;background:var(--bh-panel);border:1px solid var(--bh-border);border-radius:4px;z-index:20;box-shadow:0 10px 28px #0009}.bh-results button{width:100%;display:flex;align-items:center;gap:7px;background:none;border:none;border-bottom:1px solid var(--bh-border);color:var(--bh-text);padding:8px 10px;font-size:12px;text-align:left;cursor:pointer}.bh-results button:hover{background:var(--bh-panel-2)}.bh-results .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bh-results .type{color:var(--bh-muted);font-size:10px}.bh-noresult{padding:10px;color:var(--bh-muted);font-size:12px}.bh-dot-icon{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;color:#0b0d10;flex:none}.bh-path-fields{display:flex;gap:6px;align-items:center}.bh-path-fields>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.bh-swap{background:var(--bh-accent-strong);border:none;border-radius:4px;color:#fff;width:30px;height:30px;display:grid;place-items:center;cursor:pointer}.bh-right{position:absolute;top:12px;right:12px;width:360px;max-width:calc(100% - 24px);max-height:calc(100% - 76px);display:flex;flex-direction:column;z-index:5}.bh-info-head{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--bh-panel);border-radius:4px;margin-bottom:8px}.bh-info-title{font-weight:700;font-size:12.5px;word-break:break-word}.bh-icon-btn{background:none;border:none;color:var(--bh-text);cursor:pointer;padding:0;display:grid}.bh-info-body{background:var(--bh-panel);border-radius:4px;padding:6px 10px 10px;overflow-y:auto}.bh-info-none{background:var(--bh-panel);border-radius:4px;padding:10px 14px;font-size:12.5px}.bh-sec-head{width:100%;display:flex;align-items:center;gap:10px;background:none;border:none;border-top:1px solid var(--bh-border);color:var(--bh-text);padding:12px 2px;font-size:12.5px;font-weight:700;cursor:pointer;text-align:left}.bh-info-body>.bh-sec-head:first-child{border-top:none}.bh-sec-head.static{cursor:default;border-top:none}.bh-sec-head.empty{color:#6f6f6f;cursor:default}.bh-sec-head span:first-of-type{flex:1}.bh-count{background:var(--bh-panel-2);border-radius:3px;padding:1px 10px;min-width:16px;text-align:center}.bh-sec-body{padding-bottom:8px}.bh-kv{display:flex;justify-content:space-between;gap:10px;padding:5px 6px;font-size:11.5px;flex-wrap:wrap}.bh-kv:nth-child(odd){background:var(--bh-panel-2)}.bh-kv .k{font-weight:700}.bh-kv .v{text-align:right;word-break:break-all;margin-left:auto}.bh-item{width:100%;display:flex;align-items:center;gap:7px;background:none;border:none;color:var(--bh-text);padding:5px 6px;font-size:12px;text-align:left;cursor:pointer;word-break:break-all}.bh-item:nth-child(2n){background:var(--bh-panel-2)}.bh-item:hover{color:var(--bh-accent)}.bh-pathbtn{margin-top:10px;width:100%;background:var(--bh-accent-strong);color:#fff;border:none;border-radius:4px;padding:9px;font-weight:700;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.bh-pathbtn:hover{filter:brightness(1.2)}.bh-bottombar{position:absolute;left:12px;bottom:12px;display:flex;gap:4px;z-index:6;flex-wrap:wrap}.bh-bottombar button{display:flex;align-items:center;gap:6px;background:var(--bh-panel);color:var(--bh-text);border:none;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer}.bh-bottombar button:hover{background:var(--bh-panel-2)}.bh-ingest{flex:1;overflow-y:auto;padding:20px 24px}.bh-ingest.drag{outline:2px dashed var(--bh-accent);outline-offset:-8px}.bh-ingest-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bh-ingest-head h2{margin:0;font-size:18px}.bh-upload{display:flex;align-items:center;gap:7px;background:var(--bh-accent-strong);color:#fff;border:none;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer}.bh-upload:disabled{opacity:.6;cursor:default}.bh-ingest-note{color:var(--bh-muted);font-size:12px;max-width:720px}.bh-archives{background:var(--bh-panel);border-radius:4px;padding:10px 12px;margin:12px 0;max-width:900px}.bh-archives-title{font-weight:700;margin-bottom:6px}.bh-archive{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--bh-border);flex-wrap:wrap}.bh-archive>div{flex:1;min-width:220px;display:flex;flex-direction:column}.bh-archive code{color:var(--bh-accent-2);font-size:12px}.bh-archive span{color:var(--bh-muted);font-size:11px}.bh-import-error{color:var(--bh-bad);font-size:12px}.bh-ingest-grid{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-top:12px}.bh-ingest-table{flex:2 1 520px;background:var(--bh-panel);border-radius:4px;overflow:hidden}.bh-ingest-row{width:100%;display:grid;grid-template-columns:2fr 1.1fr 1.2fr .8fr 1fr;gap:10px;padding:12px 16px;background:none;border:none;border-top:1px solid var(--bh-border);color:var(--bh-text);font-size:12.5px;text-align:left;cursor:pointer;font-family:inherit}.bh-ingest-row.head{font-weight:700;border-top:none;cursor:default}.bh-ingest-row.active{box-shadow:inset 3px 0 0 var(--bh-accent)}.bh-ingest-row span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.bh-ingest-row b{color:var(--bh-accent);font-weight:500}.bh-ingest-row em{font-style:normal;word-break:break-all}.bh-ingest-emptyrow{padding:16px;color:var(--bh-muted);border-top:1px solid var(--bh-border)}.bh-status{font-style:normal;font-size:11.5px;display:flex;align-items:center;gap:6px}.bh-status:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bh-good)}.bh-status.no:before{background:var(--bh-bad)}.bh-ingest-files{flex:1 1 300px;background:var(--bh-panel);border-radius:4px}.bh-ingest-files-head{display:flex;align-items:center;gap:8px;padding:14px 16px;font-weight:700;box-shadow:inset 3px 0 0 var(--bh-accent-strong)}.bh-ingest-file{padding:9px 16px 9px 40px;border-top:1px solid var(--bh-border);display:flex;flex-direction:column;gap:2px}.bh-ingest-file b{word-break:break-all;font-size:12.5px}@media (max-width: 900px){.bh-main{flex-direction:column;overflow-y:auto}.lab-panel{width:100%;max-height:50vh;border-right:none;border-bottom:1px solid var(--bh-border)}.bh-stage{min-height:70vh}.bh-right{position:absolute;top:auto;bottom:56px;max-height:45%}.bh-stats{display:none}}.bh-question{position:absolute;bottom:60px;left:12px;width:360px;max-width:calc(100% - 24px);background:var(--bh-panel);border:1px solid var(--bh-border);border-radius:8px;z-index:7;box-shadow:0 8px 24px #00000080;overflow:hidden}.bh-question .q-head{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--bh-panel-2);border-bottom:1px solid var(--bh-border);font-weight:700;font-size:12px}.bh-question .q-body{padding:12px}.bh-question .q-prompt{font-size:13px;margin:0 0 10px}.bh-question .q-status{font-size:12px;color:var(--bh-muted);margin-bottom:8px}.bh-question .q-status.armed{color:var(--bh-accent)}.bh-mc{display:flex;flex-direction:column;gap:6px}.bh-mc button{text-align:left;background:var(--bh-canvas);border:1px solid var(--bh-border);color:var(--bh-text);border-radius:6px;padding:8px 10px;font-size:12px;cursor:pointer}.bh-mc button:hover,.bh-mc button.chosen{border-color:var(--bh-accent)}.bh-feedback{margin-top:10px;padding:10px;border-radius:6px;font-size:12px}.bh-feedback.ok{background:#43c4631f;border:1px solid var(--bh-good)}.bh-feedback.no{background:#e0574a1f;border:1px solid var(--bh-bad)}.bh-feedback .fb-title{font-weight:700;display:flex;align-items:center;gap:6px;margin-bottom:4px}.bh-qbtns{display:flex;gap:8px;margin-top:10px}.bh-qbtns button{flex:1;border-radius:6px;padding:7px;font-size:12px;font-weight:700;cursor:pointer;border:1px solid var(--bh-border);background:var(--bh-panel-2);color:var(--bh-text)}.bh-qbtns button.primary{background:var(--bh-accent);border-color:var(--bh-accent);color:#fff}.pt-root{--pt-bg: #0f1116;--pt-panel: #1a1d24;--pt-panel-2: #232833;--pt-border: #2c313c;--pt-text: #e6e9ee;--pt-muted: #93a0b1;--pt-accent: #8f8cff;--pt-green: #6ee7a0;--pt-red: #fb7a75;--pt-amber: #f0c674;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--pt-bg);color:var(--pt-text);font:13px/1.45 Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column;overflow:hidden}.pt-root button{font-family:inherit}.pt-topbar{display:flex;align-items:center;gap:12px;padding:9px 14px;background:var(--pt-panel);border-bottom:1px solid var(--pt-border)}.pt-brand{display:flex;align-items:center;gap:8px;font-weight:700}.pt-brand svg{color:var(--pt-accent)}.pt-spacer{flex:1}.pt-btn{display:inline-flex;align-items:center;gap:6px;background:var(--pt-panel-2);color:var(--pt-text);border:1px solid var(--pt-border);border-radius:6px;padding:6px 11px;font-size:12px;cursor:pointer}.pt-btn:hover{border-color:var(--pt-accent)}.pt-list{flex:1;overflow-y:auto;padding:24px;max-width:860px;width:100%;margin:0 auto;box-sizing:border-box}.pt-list-lead{color:var(--pt-muted);font-size:13px;margin:0 0 18px}.pt-card{width:100%;display:flex;gap:14px;text-align:left;background:var(--pt-panel);border:1px solid var(--pt-border);border-radius:10px;padding:16px;margin-bottom:12px;cursor:pointer;color:inherit}.pt-card:hover{border-color:var(--pt-accent)}.pt-card-ico{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--pt-panel-2);color:var(--pt-accent)}.pt-card-body{display:flex;flex-direction:column;gap:5px;min-width:0}.pt-card-title{font-weight:700;font-size:15px}.pt-card-sum{color:var(--pt-muted);font-size:12.5px}.pt-card-meta{color:var(--pt-muted);font-size:11.5px}.pt-card-meta code{background:var(--pt-bg);padding:1px 5px;border-radius:4px;color:var(--pt-amber)}.pt-main{flex:1;display:flex;min-height:0}.pt-stage{flex:1;min-width:0;display:flex;padding:12px}.pt-term{flex:1;min-width:0;display:flex;flex-direction:column;background:#0b0d11;border:1px solid var(--pt-border);border-radius:8px;overflow:hidden}.pt-term-body{flex:1;overflow-y:auto;padding:12px 14px;font:12.5px/1.5 SF Mono,JetBrains Mono,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.pt-line{min-height:1em}.pt-line.prompt{color:var(--pt-muted)}.pt-line.out{color:#d6dde6}.pt-line.err{color:var(--pt-red)}.pt-input-row{display:flex;gap:8px;align-items:baseline}.pt-prompt{color:var(--pt-green);flex:none}.pt-input{flex:1;min-width:0;background:none;border:none;outline:none!important;box-shadow:none!important;color:var(--pt-text);font:inherit;caret-color:var(--pt-accent)}@media (max-width: 900px){.pt-main{flex-direction:column;overflow-y:auto}.pt-stage{min-height:60vh}}.nx-root{--nx-bg: #0f1116;--nx-panel: #1a1d24;--nx-panel-2: #232833;--nx-border: #2c313c;--nx-text: #e6e9ee;--nx-muted: #93a0b1;--nx-accent: #57b894;--nx-accent-strong: #1f6f52;--nx-good: #6ee7a0;--nx-red: #fb7a75;--nx-amber: #f0c674;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--nx-bg);color:var(--nx-text);font:13px/1.45 Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column;overflow:hidden}.nx-root button{font-family:inherit}.nx-topbar{display:flex;align-items:center;gap:12px;padding:9px 14px;background:var(--nx-panel);border-bottom:1px solid var(--nx-border)}.nx-brand{display:flex;align-items:center;gap:8px;font-weight:700}.nx-brand svg{color:var(--nx-accent)}.nx-spacer{flex:1}.nx-btn{display:inline-flex;align-items:center;gap:6px;background:var(--nx-panel-2);color:var(--nx-text);border:1px solid var(--nx-border);border-radius:6px;padding:6px 11px;font-size:12px;cursor:pointer}.nx-btn:hover{border-color:var(--nx-accent)}.nx-list{flex:1;overflow-y:auto;padding:24px;max-width:860px;width:100%;margin:0 auto;box-sizing:border-box}.nx-list-lead{color:var(--nx-muted);margin:0 0 18px}.nx-card{width:100%;display:flex;gap:14px;text-align:left;background:var(--nx-panel);border:1px solid var(--nx-border);border-radius:10px;padding:16px;cursor:pointer;color:inherit}.nx-card:hover{border-color:var(--nx-accent)}.nx-card-ico{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--nx-panel-2);color:var(--nx-accent)}.nx-card-body{display:flex;flex-direction:column;gap:5px;min-width:0}.nx-card-title{font-weight:700;font-size:15px}.nx-card-sum{color:var(--nx-muted);font-size:12.5px}.nx-card-meta{color:var(--nx-muted);font-size:11.5px}.nx-main{flex:1;display:flex;min-height:0}.nx-stage{flex:1;min-width:0;display:flex;gap:10px;padding:10px}.nx-editor{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;background:#0b0d11;border:1px solid var(--nx-border);border-radius:8px;overflow:hidden}.nx-editor-head{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--nx-panel);border-bottom:1px solid var(--nx-border)}.nx-file{font:11.5px SF Mono,Menlo,monospace;color:var(--nx-muted)}.nx-reload{background:var(--nx-accent-strong);border:none;color:#fff;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}.nx-reload:disabled{opacity:.45;cursor:default}.nx-code{flex:1;display:flex;min-height:0;overflow:hidden}.nx-gutter{flex:none;padding:10px 8px;text-align:right;color:#5b6470;background:#0b0d11;font:12.5px/1.55 SF Mono,JetBrains Mono,Menlo,monospace;overflow:hidden;-webkit-user-select:none;user-select:none}.nx-textarea{flex:1;min-width:0;resize:none;border:none;outline:none;background:#0b0d11;color:var(--nx-text);padding:10px 12px;font:12.5px/1.55 SF Mono,JetBrains Mono,Menlo,monospace;white-space:pre;-moz-tab-size:4;tab-size:4}.nx-test{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-top:1px solid var(--nx-border);font:11.5px SF Mono,Menlo,monospace}.nx-test.ok{color:var(--nx-good)}.nx-test.bad{color:var(--nx-red)}.nx-test pre{margin:0;white-space:pre-wrap;word-break:break-word}.nx-test svg{flex:none;margin-top:1px}.nx-browser{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--nx-border);border-radius:8px;overflow:hidden}.nx-omnibox{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--nx-panel);border-bottom:1px solid var(--nx-border)}.nx-refresh{background:var(--nx-panel-2);border:1px solid var(--nx-border);color:var(--nx-text);border-radius:6px;width:28px;height:28px;display:grid;place-items:center;cursor:pointer}.nx-address{flex:1;min-width:0;background:#0b0d11;border:1px solid var(--nx-border);border-radius:999px;color:var(--nx-text);padding:6px 14px;font:12px SF Mono,Menlo,monospace}.nx-address:focus{outline:none;border-color:var(--nx-accent)}.nx-status{flex:none;font:11.5px SF Mono,Menlo,monospace;padding:3px 9px;border-radius:999px}.nx-status.ok{background:#6ee7a026;color:var(--nx-good)}.nx-status.redir{background:#f0c67426;color:var(--nx-amber)}.nx-status.bad{background:#fb7a7526;color:var(--nx-red)}.nx-quick{display:flex;gap:6px;flex-wrap:wrap;padding:7px 10px;background:var(--nx-panel);border-bottom:1px solid var(--nx-border)}.nx-quick button{background:var(--nx-panel-2);border:1px solid var(--nx-border);color:var(--nx-muted);border-radius:5px;padding:3px 8px;font:11px SF Mono,Menlo,monospace;cursor:pointer}.nx-quick button:hover,.nx-quick button.active{color:var(--nx-text);border-color:var(--nx-accent)}.nx-note{padding:5px 10px;background:#12151b;color:var(--nx-muted);font:11px SF Mono,Menlo,monospace;border-bottom:1px solid var(--nx-border)}.nx-viewport{flex:1;min-height:0;background:#fff}.nx-frame{width:100%;height:100%;border:none;background:#fff}.nx-raw{margin:0;height:100%;overflow:auto;padding:14px;background:#0b0d11;color:var(--nx-good);font:12.5px/1.5 SF Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-word}@media (max-width: 1000px){.nx-main{flex-direction:column;overflow-y:auto}.nx-stage{flex-direction:column}.nx-editor,.nx-browser{min-height:44vh}}.nx-term{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;background:#0b0d11;border:1px solid var(--nx-border);border-radius:8px;overflow:hidden}.nx-term-body{flex:1;overflow-y:auto;padding:12px 14px;font:12.5px/1.5 SF Mono,JetBrains Mono,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.nx-tline{min-height:1em}.nx-tline.prompt{color:var(--nx-muted)}.nx-tline.out{color:#d6dde6}.nx-tline.err{color:var(--nx-red)}.nx-input-row{display:flex;gap:8px;align-items:baseline}.nx-prompt{color:var(--nx-good);flex:none}.nx-input{flex:1;min-width:0;background:none;border:none;outline:none!important;box-shadow:none!important;color:var(--nx-text);font:inherit;caret-color:var(--nx-accent)}.nano{flex:1;display:flex;flex-direction:column;min-height:0;background:#0b0d11;font:12.5px/1.5 SF Mono,JetBrains Mono,Menlo,monospace}.nano-top{display:flex;align-items:center;gap:12px;padding:6px 12px;background:#d9dde3;color:#14161a;font-weight:600}.nano-top .nano-file{font-weight:400}.nano-mod{margin-left:auto;font-style:italic}.nano-body{flex:1;min-height:0;resize:none;border:none;outline:none;background:#0b0d11;color:var(--nx-text);padding:10px 12px;font:inherit;white-space:pre;-moz-tab-size:4;tab-size:4}.nano-prompt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:#2b2f38;color:var(--nx-text)}.nano-prompt button{background:var(--nx-panel-2);border:1px solid var(--nx-border);color:var(--nx-text);border-radius:5px;padding:4px 10px;font:11.5px SF Mono,Menlo,monospace;cursor:pointer}.nano-keys{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:7px 12px;background:#d9dde3;color:#14161a}.nano-keys b{background:#14161a;color:#d9dde3;padding:1px 5px;border-radius:3px}.nano-keys .nano-hint{color:#4b5563;font-style:italic}.nano-btn{margin-left:0;background:var(--nx-accent-strong);border:none;color:#fff;border-radius:5px;padding:4px 10px;font:11.5px SF Mono,Menlo,monospace;cursor:pointer}.wd-root{--wd-bg: #0f1116;--wd-panel: #1a1d24;--wd-panel-2: #232833;--wd-border: #2c313c;--wd-text: #e6e9ee;--wd-muted: #93a0b1;--wd-accent: #8f8cff;--wd-win: #ffffff;--wd-win-2: #f0f0f0;--wd-ink: #000000;--wd-ink-2: #5f6368;--wd-line: #d9d9d9;--wd-blue: #0078d7;--wd-sel: #cce8ff;--wd-sel-line: #99d1ff;--wd-hover: #e5f3ff;--wd-bad: #c42b1c;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--wd-bg);color:var(--wd-text);font:13px/1.45 Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;flex-direction:column;overflow:hidden}.wd-root button,.wd-root input,.wd-root select,.wd-root textarea{font-family:inherit}.wd-topbar{display:flex;align-items:center;gap:12px;padding:9px 14px;background:var(--wd-panel);border-bottom:1px solid var(--wd-border)}.wd-brand{display:flex;align-items:center;gap:8px;font-weight:700}.wd-brand svg{color:var(--wd-accent)}.wd-spacer{flex:1}.wd-btn{display:inline-flex;align-items:center;gap:6px;background:var(--wd-panel-2);color:var(--wd-text);border:1px solid var(--wd-border);border-radius:6px;padding:6px 11px;font-size:12px;cursor:pointer}.wd-btn:hover{border-color:var(--wd-accent)}.wd-list{flex:1;overflow-y:auto;padding:24px;max-width:860px;width:100%;margin:0 auto;box-sizing:border-box}.wd-list-lead{color:var(--wd-muted);font-size:13px;margin:0 0 18px}.wd-card{width:100%;display:flex;gap:14px;text-align:left;background:var(--wd-panel);border:1px solid var(--wd-border);border-radius:10px;padding:16px;margin-bottom:12px;cursor:pointer;color:inherit}.wd-card:hover{border-color:var(--wd-accent)}.wd-card-ico{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--wd-panel-2);color:var(--wd-accent)}.wd-card-body{display:flex;flex-direction:column;gap:5px;min-width:0}.wd-card-title{font-weight:700;font-size:15px}.wd-card-sum{color:var(--wd-muted);font-size:12.5px}.wd-card-meta{color:var(--wd-muted);font-size:11.5px}.wd-main{flex:1;display:flex;min-height:0}.wd-stage{flex:1;min-width:0;display:flex;padding:12px}.wd-desktop{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;border:1px solid var(--wd-border);overflow:hidden;color:var(--wd-ink);font:12px/1.35 Segoe UI,Segoe UI Variable,Tahoma,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;-webkit-user-select:none;user-select:none;cursor:default}.wd-desktop button,.wd-desktop input,.wd-desktop select,.wd-desktop textarea{font-family:inherit;font-size:inherit}.wd-desktop button{cursor:default}.wd-desktop button:disabled{opacity:.4}.wd-ico{flex:none;display:inline-block;vertical-align:-3px}.wd-desktop .mono{font-family:Consolas,Cascadia Mono,SF Mono,Menlo,monospace}.wd-area{flex:1;min-height:0;position:relative;overflow:hidden;display:flex;background:radial-gradient(60% 70% at 72% 48%,rgba(120,200,255,.85),transparent 62%),conic-gradient(from 200deg at 72% 48%,#0078d700,#5ab4ff59 40deg,#003c8c00 90deg,#5ab4ff40,#003c8c00 210deg),linear-gradient(120deg,#00264d,#004a8f 45%,#0067c0 70%,#003a78)}.wd-surface{flex:1;min-width:0;min-height:0;position:relative;outline:none}.wd-surface.details{overflow-y:auto;background:#fff;padding-bottom:24px}.wd-item{border:1px solid transparent}.wd-item.cut{opacity:.5}.wd-item-name{overflow:hidden;text-overflow:ellipsis}.wd-surface.icons .wd-item{position:absolute;width:78px;height:90px;padding:4px 2px 2px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:3px;color:#fff;text-align:center;text-shadow:0 1px 2px #000,0 0 4px rgba(0,0,0,.8)}.wd-surface.icons .wd-item .wd-ico{filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.wd-surface.icons .wd-item-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;max-width:100%}.wd-surface.icons .wd-item:hover{background:#ffffff1f;border-color:#ffffff2e}.wd-surface.icons .wd-item.selected{background:#8cc8ff52;border-color:#aad7ff99}.wd-surface.icons:focus .wd-item.cursor{border-style:dotted;border-color:#ffffffd9}.wd-cols,.wd-surface.details .wd-item{display:grid;grid-template-columns:20px minmax(120px,1fr) 150px 70px;align-items:center;column-gap:6px;padding:2px 8px}.wd-cols{position:sticky;top:0;z-index:1;grid-template-columns:minmax(146px,1fr) 150px 70px;padding:4px 8px;background:#fff;color:#4c607a;border-bottom:1px solid #e5e5e5}.wd-cols span+span{border-left:1px solid #e5e5e5;padding-left:6px;margin-left:-6px}.wd-surface.details .wd-item{white-space:nowrap;height:22px;box-sizing:border-box}.wd-surface.details .wd-item:hover{background:var(--wd-hover)}.wd-surface.details .wd-item.selected{background:var(--wd-sel)}.wd-surface.details:focus .wd-item.selected{border-color:var(--wd-sel-line)}.wd-item-meta{color:#6d6d6d;overflow:hidden;text-overflow:ellipsis}.wd-item-meta.size{text-align:right}.wd-rename{min-width:0;border:1px solid var(--wd-blue);padding:0 2px;background:#fff;color:#000;outline:none;text-shadow:none}.wd-rename.icon{width:100%;box-sizing:border-box;text-align:center}.wd-band{position:fixed;z-index:200000;background:#0078d74d;border:1px solid rgba(0,120,215,.9);pointer-events:none}.wd-ghost{position:fixed;z-index:200001;pointer-events:none;padding:3px 8px;background:#fff;border:1px solid #a0a0a0;box-shadow:2px 2px 4px #0000004d;color:#000;font:12px Segoe UI,sans-serif}.wd-ghost b{margin-left:6px;padding:0 5px;background:var(--wd-blue);color:#fff;border-radius:8px;font-weight:400}.wd-win{position:absolute;display:flex;flex-direction:column;background:var(--wd-win);border:1px solid #9d9d9d;box-shadow:0 6px 22px #00000059;min-width:320px;min-height:200px}.wd-win.active{border-color:var(--wd-blue);box-shadow:0 10px 36px #00000080}.wd-win.max{top:0;right:0;bottom:0;left:0;border:none}.wd-titlebar{flex:none;height:30px;display:flex;align-items:center;gap:8px;padding-left:8px;background:#fff;color:#999;touch-action:none}.wd-win.active .wd-titlebar,.wd-msgbox .wd-titlebar{color:#000}.wd-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-titlebar button{width:46px;height:30px;display:grid;place-items:center;background:none;border:none;color:inherit}.wd-titlebar button:hover{background:#e5e5e5;color:#000}.wd-titlebar button.close:hover{background:#e81123;color:#fff}.wd-win-body{flex:1;min-height:0;display:flex;position:relative}.wd-win-body>*{flex:1;min-width:0;min-height:0}.wd-resize{position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;cursor:nwse-resize}.wd-toolbar{flex:none;display:flex;align-items:center;gap:4px;padding:5px 8px;background:#fff;border-bottom:1px solid #e5e5e5}.wd-toolbar button{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;background:none;border:1px solid transparent;color:#000;white-space:nowrap}.wd-toolbar button.ico{width:26px;padding:0;justify-content:center;color:#4a4a4a}.wd-toolbar button:hover:not(:disabled){background:var(--wd-hover);border-color:var(--wd-sel)}.wd-status{flex:none;padding:3px 10px;background:#fff;border-top:1px solid #e5e5e5;color:#333;white-space:pre;overflow:hidden;text-overflow:ellipsis}.wd-status.err{color:var(--wd-bad)}.wd-status.cells{display:flex;justify-content:flex-end;padding:0;background:var(--wd-win-2)}.wd-status.cells span{padding:3px 14px;border-left:1px solid #d0d0d0;min-width:90px}.wd-empty{color:#6d6d6d;margin:14px}.wd-empty.center{text-align:center}.wd-explorer{display:flex;flex-direction:column}.wd-address{flex:1;min-width:60px;height:24px;box-sizing:border-box;border:1px solid #d9d9d9;padding:0 6px;background:#fff;color:#000;-webkit-user-select:text;user-select:text}.wd-address:focus{outline:none;border-color:var(--wd-blue)}.wd-explorer-main{flex:1;min-height:0;display:flex}.wd-places{flex:none;width:168px;padding:4px 0;border-right:1px solid #e5e5e5;overflow-y:auto;background:#fff}.wd-places-head{padding:6px 10px 3px;color:#000}.wd-places button{width:100%;display:flex;align-items:center;gap:6px;background:none;border:1px solid transparent;padding:3px 10px;color:#000;text-align:left}.wd-places button.indent{padding-left:24px}.wd-places button:hover{background:var(--wd-hover)}.wd-places button.on{background:var(--wd-sel)}.wd-notepad{display:flex;flex-direction:column}.wd-menubar{flex:none;position:relative;display:flex;background:#fff}.wd-menubar>button{background:none;border:1px solid transparent;padding:2px 8px;color:#000}.wd-menubar>button:hover,.wd-menubar>button.on{background:var(--wd-hover);border-color:var(--wd-sel)}.wd-dropdown{position:absolute;top:100%;left:0;z-index:5}.wd-notepad textarea{flex:1;min-height:0;resize:none;border:none;border-top:1px solid #e5e5e5;outline:none;padding:2px 4px;background:#fff;color:#000;font:14px/1.35 Consolas,Lucida Console,SF Mono,Menlo,monospace;-webkit-user-select:text;user-select:text;cursor:text}.wd-mmc{display:flex;flex-direction:column;position:relative}.wd-mmc-main{flex:1;min-height:0;display:flex}.wd-mmc-side{flex:none;width:190px;padding:12px;overflow-y:auto;border-right:1px solid #e5e5e5;background:#fff}.wd-mmc-side h4{margin:0 0 12px;font-size:13px;font-weight:600}.wd-mmc-side p{margin:0 0 12px}.wd-link{background:none;border:none;padding:0;color:#06c;text-decoration:underline;cursor:pointer!important}.wd-mmc-tree{flex:none;width:200px;padding:6px 4px;border-right:1px solid #e5e5e5;background:#fff;overflow:auto;white-space:nowrap}.wd-mmc-tree div{display:flex;align-items:center;gap:5px;padding:2px 6px}.wd-mmc-tree .indent{margin-left:18px}.wd-mmc-tree .on{background:var(--wd-sel)}.wd-table-wrap{flex:1;min-width:0;min-height:0;overflow:auto;background:#fff;outline:none}.wd-table{width:100%;border-collapse:collapse}.wd-table th{position:sticky;top:0;text-align:left;font-weight:400;padding:4px 8px;background:#fff;border-bottom:1px solid #e5e5e5;border-right:1px solid #e5e5e5;color:#4c607a;white-space:nowrap}.wd-table td{padding:2px 8px;white-space:nowrap;border:1px solid transparent;border-width:1px 0}.wd-table td.clip{max-width:190px;overflow:hidden;text-overflow:ellipsis}.wd-table tbody tr:hover{background:var(--wd-hover)}.wd-table tbody tr.selected{background:var(--wd-sel)}.wd-table-wrap:focus tr.selected td{border-color:var(--wd-sel-line)}.wd-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:150000;display:grid;place-items:center;background:transparent}.wd-modal.inner{z-index:10}.wd-props,.wd-msgbox{background:var(--wd-win-2);border:1px solid var(--wd-blue);box-shadow:0 10px 36px #00000080}.wd-props{width:min(400px,94%);max-height:96%;display:flex;flex-direction:column}.wd-props-title{padding:7px 10px;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-tabs{display:flex;padding:8px 8px 0}.wd-tabs button{margin-right:-1px;padding:3px 9px;background:var(--wd-win-2);border:1px solid #d9d9d9;border-bottom:none;color:#000;position:relative;top:1px}.wd-tabs button.on{background:#fff;padding-bottom:5px;margin-top:-2px;z-index:1}.wd-props-body{flex:1;min-height:0;overflow-y:auto;margin:0 8px;padding:12px;background:#fff;border:1px solid #d9d9d9}.wd-form{display:grid;grid-template-columns:max-content 1fr;gap:9px 12px;align-items:baseline;-webkit-user-select:text;user-select:text}.wd-form .wide{grid-column:1 / -1}.wd-form hr{width:100%;margin:2px 0;border:none;border-top:1px solid #d9d9d9}.wd-form-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid #d9d9d9}.wd-field{min-height:20px;box-sizing:border-box;padding:2px 5px;border:1px solid #d9d9d9;background:#fff}.wd-field.tall{min-height:44px}.wd-form select{height:23px;border:1px solid #adadad;background:#fff;color:#000}.wd-form-buttons{display:flex;gap:6px}.wd-check{display:flex;align-items:center;gap:6px}.wd-grouplist{list-style:none;margin:0;padding:4px;min-height:90px;border:1px solid #d9d9d9}.wd-grouplist li{display:flex;align-items:center;gap:6px;padding:2px 4px}.wd-props-foot,.wd-msgbox-foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 8px}.wd-props-foot button,.wd-msgbox-foot button,.wd-form-buttons button{min-width:78px;height:23px;padding:0 10px;background:#e1e1e1;border:1px solid #adadad;color:#000}.wd-props-foot button:hover:not(:disabled),.wd-msgbox-foot button:hover,.wd-form-buttons button:hover:not(:disabled){background:var(--wd-hover);border-color:var(--wd-blue)}.wd-props-foot button.primary,.wd-msgbox-foot button.primary{border:2px solid var(--wd-blue)}.wd-msgbox{width:min(380px,92%)}.wd-msgbox-body{display:flex;gap:14px;padding:20px 16px;background:#fff;align-items:flex-start}.wd-msgbox-body p{margin:4px 0 0;white-space:pre-line;word-break:break-word;-webkit-user-select:text;user-select:text}.wd-msgbox-ico{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:19px;font-weight:700;background:var(--wd-blue)}.wd-msgbox-ico.error{background:#e81123}.wd-msgbox-ico.warning{background:#f7b500;color:#000;border-radius:4px}.wd-menu{min-width:190px;padding:3px 0;background:#f2f2f2;border:1px solid #a0a0a0;box-shadow:3px 3px 6px #0000004d;color:#000}.wd-ctx{position:absolute;z-index:300000}.wd-menu-row{position:relative}.wd-menu-row.sep{margin-top:4px;padding-top:4px;border-top:1px solid #d7d7d7}.wd-menu-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px 12px 4px 28px;background:none;border:none;color:#000;text-align:left;white-space:nowrap}.wd-menu-item.bold{font-weight:600}.wd-menu-item kbd{font:inherit;color:#333}.wd-menu-item:hover:not(:disabled),.wd-menu-row:hover>.wd-menu-item:not(:disabled){background:#91c9f7}.wd-submenu{display:none;position:absolute;left:calc(100% - 3px);top:-4px}.wd-menu-row:hover>.wd-submenu{display:block}.wd-ps{display:flex;background:#012456;color:#eeedf0;cursor:text}.wd-ps-body{flex:1;min-width:0;overflow-y:auto;padding:2px 4px;font:14px/1.3 Consolas,Lucida Console,SF Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text}.wd-ps-line{min-height:1.3em}.wd-ps-line.err{color:#ff5f5f;background:#000;width:fit-content}.wd-ps-input-row{display:flex;align-items:baseline}.wd-ps-prompt{flex:none;white-space:pre}.wd-ps.cmd{background:#0c0c0c;color:#ccc}.wd-ps.cmd .wd-ps-input-row input{color:#ccc}.wd-ps-input-row input{flex:1;min-width:0;padding:0;background:none;border:none;outline:none;color:#f9f1a5;font:inherit;caret-color:#fff}.wd-start{position:absolute;left:0;bottom:0;z-index:100000;width:320px;height:min(420px,92%);display:flex;background:#1f1f1ff7;color:#fff;box-shadow:4px 0 18px #00000073}.wd-start-rail{flex:none;width:48px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:8px}.wd-start-user{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#4a4a4a}.wd-start-list{flex:1;min-width:0;overflow-y:auto;padding:8px 0}.wd-start-letter{padding:9px 12px 5px;font-size:13px}.wd-start-item{width:100%;display:flex;align-items:center;gap:10px;padding:6px 12px;background:none;border:none;color:#fff;font-size:13px;text-align:left}.wd-start-item:hover{background:#ffffff24}.wd-taskbar{flex:none;height:40px;display:flex;align-items:stretch;background:#101820;color:#fff}.wd-start-btn{width:48px;display:grid;place-items:center;background:none;border:none;color:#fff}.wd-start-btn:hover,.wd-start-btn.on{background:#ffffff1f;color:#429ce3}.wd-tasks{flex:1;min-width:0;display:flex;gap:1px;overflow:hidden}.wd-task{position:relative;min-width:0;max-width:170px;display:flex;align-items:center;gap:8px;padding:0 10px;background:none;border:none;color:#fff}.wd-task span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-task:after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;background:#76b9ed}.wd-task:hover{background:#ffffff1a}.wd-task.active{background:#ffffff2e}.wd-task.active:after{left:0;right:0}.wd-tray{flex:none;display:flex;align-items:stretch}.wd-lang{display:grid;place-items:center;padding:0 8px;font-size:12px}.wd-clock{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 8px;font-size:12px;line-height:1.35}.wd-lang:hover,.wd-clock:hover{background:#ffffff1a}.wd-peek{width:6px;margin-left:4px;background:none;border:none;border-left:1px solid #5c6166}.wd-peek:hover{background:#fff3}.wd-desktop :is(button,select,input[type=checkbox]):focus-visible{outline:1px dotted #000;outline-offset:-3px}.wd-taskbar :is(button):focus-visible,.wd-start :is(button):focus-visible{outline-color:#fff}@keyframes wd-open{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.wd-win{animation:wd-open .14s ease-out}.wd-win.snap{top:0;bottom:0;width:50%;height:auto}.wd-win.snap.left{left:0}.wd-win.snap.right{right:0}.wd-win.dialog{background:var(--wd-win-2)}.wd-snaphint{position:absolute;z-index:90000;margin:6px;background:#ffffff38;border:1px solid rgba(255,255,255,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.wd-snaphint.top{top:0;right:0;bottom:0;left:0}.wd-snaphint.left{top:0;right:50%;bottom:0;left:0}.wd-snaphint.right{top:0;right:0;bottom:0;left:50%}@media (prefers-reduced-motion: reduce){.wd-win{animation:none}}.wd-tabs.flat{padding:0 6px;background:#fff;border-bottom:1px solid #e5e5e5}.wd-tabs.flat button{border:none;background:none;padding:6px 12px;top:0}.wd-tabs.flat button.on{border-bottom:2px solid var(--wd-blue);margin-top:0;padding-bottom:4px}.wd-table th.num,.wd-table td.num{text-align:right}.wd-table td.clip.wide{max-width:320px;color:#555}.wd-footbar{flex:none;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--wd-win-2);border-top:1px solid #d9d9d9}.wd-footbar button,.wd-pushbutton{min-width:90px;height:24px;padding:0 12px;background:#e1e1e1;border:1px solid #adadad;color:#000}.wd-footbar button:hover:not(:disabled),.wd-pushbutton:hover{background:var(--wd-hover);border-color:var(--wd-blue)}.wd-mmc-tree button{width:100%;display:flex;align-items:center;gap:5px;padding:2px 6px;background:none;border:none;color:#000;text-align:left}.wd-mmc-tree .indent2{margin-left:36px;width:calc(100% - 36px)}.wd-mmc-tree button:hover{background:var(--wd-hover)}.wd-eventpane{flex:1;min-width:0;display:flex;flex-direction:column}.wd-toolbar>span{padding:0 4px}.wd-address.short{flex:none;width:150px;margin-left:auto}.wd-level{display:inline-grid;place-items:center;width:14px;height:14px;margin-right:6px;border-radius:50%;background:#2f7fd6;color:#fff;font-size:10px;font-weight:700}.wd-level.warn{background:#f7b500;color:#000;border-radius:2px}.wd-level.err{background:#e81123}.wd-eventdetail{flex:none;height:34%;overflow-y:auto;padding:10px 12px;border-top:1px solid #d9d9d9;background:var(--wd-win-2);-webkit-user-select:text;user-select:text}.wd-eventdetail p{margin:6px 0}.wd-eventdetail span{color:#555}.wd-propsheet,.wd-run{display:flex;flex-direction:column;background:var(--wd-win-2)}.wd-propsheet .wd-props-body{margin:0 8px}.wd-field.grow{flex:1}.wd-run{padding:14px 14px 0;gap:12px}.wd-run p{display:flex;gap:12px;align-items:flex-start;margin:0}.wd-run label{display:flex;align-items:center;gap:10px}.wd-run input{flex:1;height:23px;border:1px solid #7a7a7a;padding:0 5px}.wd-run input:focus{outline:none;border-color:var(--wd-blue)}.wd-run .wd-props-foot{margin-top:auto}.wd-browser{display:flex;flex-direction:column;position:relative}.wd-tabstrip{flex:none;display:flex;padding:6px 8px 0;background:#dee1e6}.wd-tab{display:flex;align-items:center;gap:7px;max-width:240px;padding:6px 12px;background:#fff;border-radius:6px 6px 0 0}.wd-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wd-omnibox{flex:1;min-width:0;display:flex;align-items:center;height:26px;border:1px solid #d9d9d9;border-radius:13px;background:#f1f3f4;overflow:hidden}.wd-omnibox:focus-within{background:#fff;border-color:var(--wd-blue)}.wd-omnibox input{flex:1;min-width:0;height:100%;border:none;outline:none;background:none;padding:0 8px;color:#000;-webkit-user-select:text;user-select:text}.wd-toolbar button.wd-siteinfo{height:22px;margin-left:2px;padding:0 8px;border-radius:11px;color:#3c4043}.wd-toolbar button.wd-siteinfo.bad{color:#c5221f;background:#fce8e6}.wd-browser-view{flex:1;min-height:0;position:relative;display:flex;background:#fff}.wd-page{flex:1;min-width:0;overflow:auto;-webkit-user-select:text;user-select:text;cursor:auto}.wd-siteinfo-pop{position:absolute;z-index:4;top:4px;left:96px;width:300px;padding:12px 14px;background:#fff;border:1px solid #c8c8c8;border-radius:6px;box-shadow:0 6px 20px #00000040}.wd-siteinfo-pop p{display:flex;gap:6px;margin:8px 0;color:#137333}.wd-siteinfo-pop p.bad{color:#c5221f}.wd-siteinfo-pop p svg{flex:none;margin-top:2px}.wd-siteinfo-pop dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:3px 10px;color:#333}.wd-siteinfo-pop dt{color:#666}.wd-siteinfo-pop dd{margin:0}.wd-linkstatus{position:absolute;left:0;bottom:0;z-index:5;max-width:80%;padding:2px 8px;background:#f1f3f4;border:1px solid #c8c8c8;border-left:none;border-bottom:none;border-radius:0 4px 0 0;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd-mail{display:flex;position:relative}.wd-mail-folders{flex:none;width:170px;padding:8px 0;background:#1f3a5f;color:#fff}.wd-mail-account{padding:6px 14px 12px;font-size:11px;opacity:.8;overflow:hidden;text-overflow:ellipsis}.wd-mail-folders button{width:100%;display:flex;justify-content:space-between;padding:7px 14px;background:none;border:none;color:#fff;text-align:left}.wd-mail-folders button:hover{background:#ffffff1a}.wd-mail-folders button.on{background:#fff3;box-shadow:inset 3px 0 0 var(--wd-blue)}.wd-mail-list{flex:none;width:250px;overflow-y:auto;border-right:1px solid #e0e0e0;background:#fff}.wd-mail-list button{width:100%;display:grid;grid-template-columns:1fr auto;gap:1px 8px;padding:9px 12px;background:none;border:none;border-bottom:1px solid #eee;border-left:3px solid transparent;color:#333;text-align:left}.wd-mail-list button:hover{background:var(--wd-hover)}.wd-mail-list button.on{background:var(--wd-sel)}.wd-mail-list button.unread{border-left-color:var(--wd-blue)}.wd-mail-list button.unread .subj{color:var(--wd-blue);font-weight:600}.wd-mail-list .from{display:flex;align-items:center;gap:5px;font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wd-mail-list .subj{grid-column:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wd-mail-list .date{grid-row:1;grid-column:2;color:#777;font-size:11px}.wd-mail-read{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff}.wd-mail-body{flex:1;min-height:0;overflow-y:auto;padding:16px 22px;font-size:13.5px;line-height:1.55;-webkit-user-select:text;user-select:text;cursor:auto}.wd-mail-body h3{margin:0 0 12px;font-size:18px;font-weight:600}.wd-mail-from{display:flex;gap:10px;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eee}.wd-avatar{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--wd-blue);color:#fff;font-size:16px}.wd-mail-from .addr{color:#666;font-size:12px}.wd-mail-body a{color:#0563c1;cursor:pointer}.wd-mail-cta{display:inline-block;padding:9px 22px;background:#0067b8;color:#fff!important;text-decoration:none}.wd-mail-source{margin:0 0 14px;padding:10px 12px;background:#f6f6f6;border:1px solid #ddd;font:12px/1.5 Consolas,SF Mono,Menlo,monospace;white-space:pre-wrap;word-break:break-all}.wd-attach{display:inline-flex;align-items:center;gap:10px;margin-top:6px;padding:8px 10px;border:1px solid #d9d9d9;background:#fafafa}.wd-attach small{display:block;color:#777}.wd-attach button{height:24px;padding:0 10px;background:#e1e1e1;border:1px solid #adadad;color:#000}.wd-photos{display:flex;flex-direction:column;background:#1f1f1f;outline:none}.wd-toolbar.dark{background:#2b2b2b;border-bottom-color:#3a3a3a}.wd-toolbar.dark button,.wd-toolbar.dark .wd-toolbar-note{color:#fff}.wd-toolbar.dark button:hover{background:#444!important;border-color:#555!important}.wd-toolbar-note{margin-left:auto;color:#555}.wd-photos-stage{flex:1;min-height:0;display:flex;align-items:stretch}.wd-photos-stage .nav{width:38px;background:none;border:none;color:#fff;font-size:28px}.wd-photos-stage .nav:hover{background:#ffffff1f}.wd-photo{flex:1;margin:14px 4px}.wd-music{display:flex;flex-direction:column;background:#1b1b1b;color:#fff}.wd-music-list{flex:1;min-height:0;overflow-y:auto;padding:14px 18px}.wd-music-list h4{margin:0 0 12px;font-size:20px;font-weight:300}.wd-music-list button{width:100%;display:grid;grid-template-columns:22px 1fr 1fr 44px;align-items:center;gap:10px;padding:8px;background:none;border:none;border-bottom:1px solid #2c2c2c;color:#fff;text-align:left}.wd-music-list button:hover{background:#2a2a2a}.wd-music-list button.on{color:#4cc2ff}.wd-music-list small{color:#aaa}.wd-music-bar{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--wd-blue)}.wd-music-bar .now{width:150px;display:flex;flex-direction:column;overflow:hidden;white-space:nowrap}.wd-music-bar button{width:32px;height:32px;display:grid;place-items:center;background:none;border:none;border-radius:50%;color:#fff}.wd-music-bar button.play{border:2px solid #fff}.wd-music-bar button:hover:not(:disabled){background:#fff3}.wd-music-bar input{flex:1;min-width:40px;accent-color:#fff}.wd-settings{display:flex;background:#fff}.wd-settings-nav{flex:none;width:190px;padding:18px 0;background:#f2f2f2}.wd-settings-nav h4{margin:0 18px 14px;font-size:14px;font-weight:600}.wd-settings-nav div{padding:9px 18px}.wd-settings-nav .on{box-shadow:inset 4px 0 0 var(--wd-blue);background:#e5e5e5}.wd-settings-main{flex:1;min-width:0;overflow-y:auto;padding:18px 24px}.wd-settings-main h3{margin:0 0 14px;font-size:24px;font-weight:300}.wd-settings-main h5{margin:18px 0 8px;font-size:13px;font-weight:400}.wd-preview{width:280px;aspect-ratio:16 / 9;position:relative;border:1px solid #999}.wd-preview-bar{position:absolute;left:0;right:0;bottom:0;height:9%}.wd-preview-bar span{display:block;width:8%;height:100%}.wd-swatches{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.wd-swatches button{width:74px;height:46px;border:2px solid transparent;padding:0;outline:1px solid #bbb}.wd-swatches.small button{width:34px;height:34px}.wd-swatches button.on{border-color:#fff;outline:2px solid #000}.wd-calc{display:flex;flex-direction:column;padding:6px;background:#e6e6e6;outline:none}.wd-calc-expr{height:20px;padding:0 8px;text-align:right;color:#666}.wd-calc-display{padding:4px 8px 12px;text-align:right;font-size:34px;font-weight:600;overflow:hidden;white-space:nowrap}.wd-calc-keys{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.wd-calc-keys button{background:#f0f0f0;border:1px solid transparent;font-size:16px;color:#000}.wd-calc-keys button.num{background:#fafafa;font-weight:600}.wd-calc-keys button.eq{grid-column:span 4;background:var(--wd-blue);color:#fff;min-height:38px}.wd-calc-keys button:hover{border-color:#aaa;background:#dcdcdc}.wd-paint{display:flex;flex-direction:column}.wd-paint .wd-toolbar label{display:flex;align-items:center;gap:6px;margin-left:8px}.wd-palette{display:flex;gap:3px;margin-left:8px}.wd-palette button{width:20px;height:20px;padding:0;border:1px solid #888}.wd-palette button.on{outline:2px solid var(--wd-blue);outline-offset:1px}.wd-paint-stage{flex:1;min-height:0;overflow:auto;padding:8px;background:#c9d3e0;outline:none}.wd-paint-stage canvas{width:640px;max-width:100%;background:#fff;box-shadow:1px 1px 4px #0000004d;cursor:crosshair;touch-action:none}.wd-start-rail{gap:4px}.wd-start-rail button{width:40px;height:40px;display:grid;place-items:center;background:none;border:none;color:#fff}.wd-start-rail button:hover{background:#ffffff24}.wd-trayicon{position:relative;width:26px;display:grid;place-items:center;background:none;border:none;color:#fff}.wd-trayicon:hover,button.wd-clock:hover{background:#ffffff1a}.wd-trayicon.badge:after{content:"";position:absolute;top:9px;right:3px;width:7px;height:7px;border-radius:50%;background:#4cc2ff}button.wd-clock{background:none;border:none;color:#fff}.wd-flyout{position:absolute;right:0;bottom:0;z-index:100000;background:#1f1f1ff7;color:#fff;box-shadow:-2px -2px 16px #00000073}.wd-calendar{width:300px;padding:16px 18px}.wd-calendar .big{font-size:34px;font-weight:300;font-variant-numeric:tabular-nums}.wd-calendar .date{color:#76b9ed;margin-bottom:14px}.wd-calendar .month{margin-bottom:8px}.wd-calendar .month:first-letter{text-transform:uppercase}.wd-calendar .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.wd-calendar .grid span{padding:6px 0}.wd-calendar .grid .head{color:#aaa;font-size:11px}.wd-calendar .grid .today{background:var(--wd-blue)}.wd-volume{width:320px;padding:14px 16px}.wd-volume .row{display:flex;align-items:center;gap:10px;margin-top:10px}.wd-volume button{background:none;border:none;color:#fff;display:grid}.wd-volume input{flex:1;accent-color:var(--wd-blue)}.wd-volume b{width:30px;text-align:right;font-size:20px;font-weight:300}.wd-network{display:flex;gap:12px;padding:16px 18px;width:260px}.wd-network div{display:flex;flex-direction:column;gap:2px}.wd-network span{color:#bbb}.wd-actions-center{top:0;width:320px;padding:14px;overflow-y:auto}.wd-actions-center .head{display:flex;justify-content:space-between;margin-bottom:12px}.wd-actions-center .head button{background:none;border:none;color:#76b9ed}.wd-actions-center p{color:#aaa;text-align:center;margin-top:40px}.wd-toast{display:flex;flex-direction:column;gap:2px;text-align:left;color:#fff;background:#2b2b2b;border:1px solid #444;padding:10px 12px}.wd-toast small{color:#aaa}.wd-toast.inlist{margin-bottom:8px}@keyframes wd-toast-in{0%{transform:translate(110%)}to{transform:none}}.wd-toast.popup{position:absolute;right:12px;bottom:12px;z-index:95000;width:330px;box-shadow:0 6px 20px #00000080;animation:wd-toast-in .25s ease-out}.wd-session{background:#000;color:#fff;align-items:center;justify-content:center;outline:none}.wd-session.shutting,.wd-session.booting{background:#0067c0}.wd-session.login:before,.wd-session.lock:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040}.wd-session.login:before{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0006}.wd-session-center{display:flex;flex-direction:column;align-items:center;gap:18px;font-size:18px;font-weight:300}@keyframes wd-spin{to{transform:rotate(360deg)}}.wd-spinner{width:42px;height:42px;border-radius:50%;border:3px dotted #fff;animation:wd-spin 1.6s linear infinite}.wd-power-on{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;border:2px solid #666;background:none;color:#ccc;cursor:pointer!important}.wd-power-on:hover{border-color:#fff;color:#fff}.wd-lock{position:absolute;left:40px;bottom:60px;text-shadow:0 1px 6px rgba(0,0,0,.5)}.wd-lock .time{font-size:84px;font-weight:200;line-height:1}.wd-lock .date{font-size:30px;font-weight:300;margin-top:6px}.wd-login{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.wd-login-avatar{width:150px;height:150px;display:grid;place-items:center;border-radius:50%;background:#ffffff40;overflow:hidden}.wd-login h2{margin:6px 0;font-size:30px;font-weight:300}.wd-login .row{display:flex}.wd-login input{width:230px;height:32px;box-sizing:border-box;padding:0 10px;border:2px solid rgba(255,255,255,.6);background:#00000059;color:#fff;font-size:14px}.wd-login input:focus{outline:none;background:#fff;color:#000;border-color:#fff}.wd-login .row button{width:34px;border:none;background:#ffffff4d;color:#fff;font-size:17px}.wd-login small{color:#ffffffbf}@media (max-width: 900px){.wd-main{flex-direction:column;overflow-y:auto}.wd-stage{min-height:75vh}}:root,:root[data-theme=light]{--bg: #f7f7f8;--bg-tint: #eef0fb;--bg-subtle: #f1f1f3;--surface: #ffffff;--surface-2: #fafafa;--line: #e6e6e9;--line-strong: #d6d6da;--text: #18181b;--text-2: #45454c;--muted: #76767f;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef0fe;--accent-line: #d7daf9;--accent-contrast: #ffffff;--accent-glow: rgba(79, 70, 229, .22);--green: #15803d;--green-soft: #ebfaef;--green-line: #bfe6cb;--amber: #a16207;--amber-soft: #fdf6e7;--amber-line: #efdfb4;--red: #b91c1c;--red-soft: #fdf1f0;--red-line: #f2c8c5;--code-bg: #f2f2f5;--code-fg: #3a3f83;--shadow-sm: 0 1px 1px rgba(24, 24, 27, .04), 0 1px 3px rgba(24, 24, 27, .05);--shadow-md: 0 1px 2px rgba(24, 24, 27, .04), 0 4px 8px -2px rgba(24, 24, 27, .06), 0 12px 24px -8px rgba(24, 24, 27, .08);--shadow-lg: 0 1px 2px rgba(24, 24, 27, .05), 0 8px 16px -4px rgba(24, 24, 27, .08), 0 24px 48px -16px rgba(24, 24, 27, .16);--ring: 0 0 0 3px var(--accent-glow);--hi: inset 0 1px 0 rgba(255, 255, 255, .55);--hi-strong: inset 0 1px 0 rgba(255, 255, 255, .28);--term-bg: #101215;--term-bar-a: #23262c;--term-bar-b: #1a1d22;--term-fg: #e6e6e6;--term-muted: #8b9299;--term-green: #7ee787;--term-blue: #79b8ff;--term-edge: rgba(255, 255, 255, .08);--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-pill: 999px;--t: .15s cubic-bezier(.3, 0, .2, 1)}:root[data-theme=dark]{--bg: #131316;--bg-tint: #1e1f2e;--bg-subtle: #202024;--surface: #1c1c20;--surface-2: #27272a;--line: #2e2e34;--line-strong: #3f3f47;--text: #ededf0;--text-2: #c4c4cc;--muted: #8d8d99;--accent: #8b93f8;--accent-hover: #a3a9fb;--accent-soft: #232541;--accent-line: #3b3f70;--accent-contrast: #12121c;--accent-glow: rgba(139, 147, 248, .26);--green: #6ee7a0;--green-soft: #14241b;--green-line: #2c5c3f;--amber: #f0c674;--amber-soft: #252013;--amber-line: #574a28;--red: #fb7a75;--red-soft: #2b1918;--red-line: #6b3330;--code-bg: #26262c;--code-fg: #aebdfb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 20px -8px rgba(0, 0, 0, .6);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .5), 0 24px 48px -16px rgba(0, 0, 0, .75);--hi: inset 0 1px 0 rgba(255, 255, 255, .06);--hi-strong: inset 0 1px 0 rgba(255, 255, 255, .16);--term-bg: #0c0e11;--term-bar-a: #1d2026;--term-bar-b: #15181c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:650;line-height:1.25;letter-spacing:-.018em;margin:0}h1{font-size:30px}h2{font-size:22px}h3{font-size:17px}h4{font-size:15px}p{margin:0 0 var(--s-3)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-variant-ligatures:none}.label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.label svg{width:13px;height:13px}.ico{flex:0 0 auto}::selection{background:var(--accent-soft)}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-xs)}.screen{max-width:1160px;margin:0 auto;padding:var(--s-7) var(--s-5) var(--s-8)}.screen.narrow{max-width:820px}.back-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 8px 4px 4px;cursor:pointer;font:inherit;font-size:14px;color:var(--muted);margin-bottom:var(--s-4);border-radius:var(--r-sm);transition:color var(--t),background var(--t)}.back-link:hover{color:var(--accent);background:var(--accent-soft)}.back-link svg{width:16px;height:16px}.page-head{margin-bottom:var(--s-6)}.page-head .meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}.page-head h1{font-size:32px;margin-bottom:var(--s-2)}.lede{color:var(--muted);font-size:16px;max-width:62ch;margin:0}.btn{font-family:inherit;font-size:14px;font-weight:600;letter-spacing:-.005em;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-line);padding:9px 16px;border-radius:var(--r-sm);box-shadow:none;transition:background var(--t),color var(--t),border-color var(--t),box-shadow var(--t);white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn svg{width:16px;height:16px;flex:0 0 auto;opacity:.9}.btn{--btn-bg: var(--bg-subtle);--btn-fg: var(--text);--btn-line: transparent}.btn:hover{--btn-bg: var(--accent-soft);--btn-fg: var(--accent);--btn-line: var(--accent-line)}.btn:active{--btn-bg: var(--accent-soft);transform:none}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn.primary{--btn-bg: var(--accent);--btn-fg: var(--accent-contrast);--btn-line: transparent;box-shadow:0 4px 14px -6px var(--accent-glow)}.btn.primary:hover{--btn-bg: var(--accent-hover);--btn-fg: var(--accent-contrast);--btn-line: transparent;box-shadow:0 8px 20px -6px var(--accent-glow)}.btn.primary:active{box-shadow:0 2px 8px -6px var(--accent-glow)}.btn.primary svg{opacity:1}.btn.secondary{--btn-bg: transparent;--btn-fg: var(--accent);--btn-line: var(--accent-line)}.btn.secondary:hover{--btn-bg: var(--accent-soft);--btn-fg: var(--accent);--btn-line: var(--accent)}.btn.ghost{--btn-bg: transparent;--btn-fg: var(--muted);--btn-line: transparent}.btn.ghost:hover{--btn-bg: var(--bg-subtle);--btn-fg: var(--text);--btn-line: transparent}.btn.danger{--btn-bg: var(--red-soft);--btn-fg: var(--red);--btn-line: transparent}.btn.danger:hover{--btn-bg: var(--red);--btn-fg: var(--accent-contrast);--btn-line: transparent}:root[data-theme=dark] .btn.danger:hover{--btn-fg: #1a0f0f}.btn.block{width:100%}.btn.lg{padding:12px 20px;font-size:15px;border-radius:var(--r-md)}.btn.lg svg{width:18px;height:18px}.btn.sm{padding:6px 12px;font-size:13px}.btn.sm svg{width:15px;height:15px}.btn:disabled{opacity:.42;cursor:default;box-shadow:none}.btn:disabled:hover{--btn-bg: var(--bg-subtle);--btn-fg: var(--text);--btn-line: transparent;box-shadow:none}.btn.ghost:disabled:hover{--btn-bg: transparent;--btn-fg: var(--muted)}.link{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--accent)}.link:hover{text-decoration:underline}.actions{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;line-height:1;padding:5px 10px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--bg-subtle);color:var(--muted)}.pill svg{width:13px;height:13px}.pill.easy{color:var(--green);background:var(--green-soft)}.pill.medium{color:var(--amber);background:var(--amber-soft)}.pill.hard{color:var(--red);background:var(--red-soft)}.pill.accent{color:var(--accent);background:var(--accent-soft)}.pill.done{color:var(--green);background:var(--green-soft)}.tag{display:inline-flex;align-items:center;font-size:12px;padding:3px 9px;border-radius:var(--r-xs);background:var(--bg-subtle);color:var(--muted);border:1px solid transparent}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.chip-mono{font-family:var(--mono);font-size:13px;background:var(--code-bg);color:var(--code-fg);padding:2px 7px;border-radius:var(--r-xs)}.copy-chip{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--mono);font-size:13px;cursor:pointer;background:var(--code-bg);color:var(--code-fg);border:1px solid transparent;padding:5px 9px;border-radius:var(--r-xs);max-width:100%;transition:border-color var(--t),background var(--t)}.copy-chip:hover{border-color:var(--accent-line);background:var(--accent-soft)}.copy-chip .copy-ico{display:inline-flex;color:var(--muted)}.copy-chip .copy-ico svg{width:14px;height:14px}.copy-chip.copied .copy-ico{color:var(--green)}.copy-chip span.val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-toggle{position:fixed;top:14px;right:16px;z-index:60;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 13px;box-shadow:var(--shadow-sm);transition:color var(--t),border-color var(--t),background var(--t)}.theme-toggle svg{width:15px;height:15px}.theme-toggle:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.md{color:var(--text-2);font-size:15px;line-height:1.65}.md>*:first-child{margin-top:0}.md>*:last-child{margin-bottom:0}.md h1{font-size:24px;margin:var(--s-6) 0 var(--s-3);color:var(--text)}.md h2{font-size:20px;margin:var(--s-6) 0 var(--s-3);color:var(--text)}.md h3{font-size:16px;margin:var(--s-5) 0 var(--s-2);color:var(--text)}.md h4{font-size:15px;margin:var(--s-4) 0 var(--s-2);color:var(--text)}.md p{margin:0 0 var(--s-3)}.md strong{color:var(--text);font-weight:650}.md ul,.md ol{margin:0 0 var(--s-3);padding-left:22px}.md li{margin:4px 0}.md li::marker{color:var(--muted)}.md hr{border:none;border-top:1px solid var(--line);margin:var(--s-5) 0}.md blockquote{display:flex;align-items:flex-start;gap:var(--s-3);margin:var(--s-4) 0;padding:var(--s-3) var(--s-4);background:var(--accent-soft);border:none;border-left:3px solid var(--accent);border-radius:var(--r-sm);color:var(--text-2)}.md blockquote>.bq-ico{flex:0 0 auto;color:var(--accent);margin-top:3px}.md blockquote>.bq-ico svg{width:16px;height:16px;display:block}.md blockquote>.bq-body{min-width:0;flex:1}.md blockquote>*:last-child{margin-bottom:0}.md code.chip{font-family:var(--mono);font-size:.86em;background:var(--code-bg);color:var(--code-fg);padding:1px 5px;border-radius:var(--r-xs);word-break:break-word}.md .table-wrap{overflow-x:auto;margin:var(--s-4) 0;border-radius:var(--r-sm);background:var(--surface-2)}.md table{border-collapse:collapse;width:100%;font-size:14px}.md thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg-subtle)}.md tbody td{padding:9px 12px;border-bottom:none;vertical-align:top}.md tbody tr:nth-child(odd){background:color-mix(in srgb,var(--bg-subtle) 55%,transparent)}.md tbody td:first-child{color:var(--muted);white-space:nowrap}.code-block{position:relative;margin:var(--s-4) 0;background:var(--term-bg);border-radius:var(--r-sm);border:1px solid var(--term-edge);box-shadow:var(--shadow-sm),inset 0 0 0 1px #ffffff08;overflow:hidden}.code-block pre{margin:0;padding:13px 15px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.65;color:var(--term-fg)}.code-block.shell pre{color:var(--term-green)}.code-block .prompt{color:var(--term-blue);-webkit-user-select:none;user-select:none}.code-block .copy-btn{position:absolute;top:7px;right:7px;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-ui);font-size:11px;font-weight:500;cursor:pointer;background:#ffffff12;color:var(--term-muted);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xs);padding:4px 8px;opacity:.5;transition:opacity var(--t),color var(--t),background var(--t)}.code-block .copy-btn svg{width:13px;height:13px}.code-block:hover .copy-btn,.code-block .copy-btn:focus{opacity:1}.code-block .copy-btn:hover{color:var(--term-fg);background:#ffffff1f}.code-block .copy-btn.copied{color:var(--term-green);opacity:1}.hero{position:relative;margin-bottom:var(--s-6);border-radius:var(--r-lg);padding:var(--s-6) var(--s-6) var(--s-5);background:radial-gradient(120% 140% at 12% -20%,var(--bg-tint) 0%,transparent 62%),linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);box-shadow:var(--shadow-md);overflow:hidden}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(70% 100% at 100% 0%,var(--accent-glow) 0%,transparent 55%);opacity:.35}.hero>*{position:relative;z-index:1}.brand{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-pill);padding:5px 13px;margin-bottom:var(--s-4)}.brand svg{width:15px;height:15px}.hero h1{font-size:38px;letter-spacing:-.032em;margin-bottom:var(--s-3)}.hero .lede{font-size:17px}.stats-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-6);background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);margin:var(--s-5) 0 0;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.stat .label{margin-top:2px}.stat-value{font-size:24px;font-weight:650;letter-spacing:-.02em;display:flex;align-items:baseline;gap:5px;line-height:1.2}.stat-value .of{color:var(--muted);font-weight:500;font-size:16px}.stat-bar{flex:1;min-width:160px;display:flex;flex-direction:column;justify-content:center;gap:7px}.bar{height:7px;border-radius:var(--r-pill);background:var(--bg-subtle);overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.bar>i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#22d3ee));transition:width .4s ease}.cards{display:grid;gap:var(--s-4);margin-top:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.card{display:flex;flex-direction:column;gap:var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--t),border-color var(--t),transform var(--t)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-2px)}.card-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.card-top .spacer{margin-left:auto}.card-host{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.card-host svg{width:14px;height:14px;opacity:.75}.card-title{font-size:19px}.card-summary{color:var(--muted);font-size:14px;margin:0;flex:1}.card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-2);padding-top:var(--s-4);border-top:1px solid var(--line)}.card-score{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);white-space:nowrap}.card-score svg{width:15px;height:15px;opacity:.8}.card-score b{color:var(--text);font-weight:600}.card-buttons{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-left:auto}.card-buttons .btn{white-space:nowrap}.brief-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:var(--s-6);align-items:start}.brief-main{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5) var(--s-6);box-shadow:var(--shadow-sm)}.brief-side{position:sticky;top:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);box-shadow:var(--shadow-md)}.side-card+.side-card{margin-top:0}.side-card h3{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--s-3)}.side-card h3 svg{width:14px;height:14px}.side-card h3+*{margin-top:0}.access-list{display:flex;flex-direction:column;gap:var(--s-3);margin:0 0 var(--s-5)}.access-row{display:flex;flex-direction:column;gap:5px}.access-row .label{font-size:10.5px}.obj-preview{list-style:none;margin:0 0 var(--s-4);padding:0}.obj-preview li{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);font-size:14px;color:var(--text-2);padding:8px 10px;border-radius:var(--r-xs)}.obj-preview li>span:first-child{min-width:0;flex:1 1 auto;overflow-wrap:anywhere;word-break:break-word}.obj-preview li:nth-child(odd){background:var(--surface-2)}.obj-preview .pts{flex:0 0 auto;align-self:flex-start;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--bg-subtle);border-radius:var(--r-pill);padding:2px 8px}.side-note{display:flex;align-items:flex-start;gap:7px;font-size:13px;line-height:1.5;color:var(--muted);margin:var(--s-3) 0 0}.side-note svg{width:14px;height:14px;flex:0 0 auto;margin-top:3px}.trainer{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.topbar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) 150px var(--s-3) var(--s-4);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm);flex:0 0 auto;z-index:50}.topbar-title{display:flex;align-items:center;gap:var(--s-3);min-width:0}.topbar-title strong{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)}.host-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--green);background:var(--green-soft);border:1px solid transparent;border-radius:var(--r-pill);padding:4px 11px}.host-chip svg{width:13px;height:13px}.host-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.drawer-btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13.5px;font-weight:550;cursor:pointer;background:var(--bg-subtle);color:var(--text-2);border:1px solid transparent;border-radius:var(--r-sm);padding:7px 12px;transition:background var(--t),color var(--t),border-color var(--t)}.drawer-btn svg{width:16px;height:16px}.drawer-btn:hover{border-color:var(--accent-line);color:var(--accent)}.drawer-btn.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.confirm-bar{display:inline-flex;align-items:center;gap:var(--s-2);font-size:13px;color:var(--text-2);background:var(--amber-soft);border:1px solid var(--amber-line);border-radius:var(--r-sm);padding:4px 6px 4px 12px}.trainer-body{flex:1;min-height:0;display:grid;grid-template-columns:0 minmax(0,1fr) 320px;transition:grid-template-columns .22s cubic-bezier(.3,0,.2,1)}.trainer-body.with-drawer{grid-template-columns:370px minmax(0,1fr) 320px}.task-drawer{min-width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);flex:0 0 auto;background:var(--surface-2)}.drawer-head .label{font-size:11px}.drawer-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;border-radius:var(--r-xs);transition:color var(--t),background var(--t)}.drawer-close svg{width:16px;height:16px}.drawer-close:hover{color:var(--text);background:var(--bg-subtle)}.drawer-body{overflow-y:auto;padding:var(--s-4);font-size:14px}.drawer-body .md{font-size:14px}.drawer-body .md table{font-size:13px}.drawer-body .md thead th{padding:6px 8px}.drawer-body .md tbody td{padding:7px 8px}.drawer-body .md tbody td:first-child{white-space:normal}.drawer-body .md code.chip{font-size:.82em}.drawer-body .md h2{font-size:16px}.drawer-body .md h3{font-size:14px}.terminal-col{min-width:0;min-height:0;display:flex;flex-direction:column}.tabs{display:flex;gap:6px;padding:var(--s-3) var(--s-3) 0}.tab{font-family:var(--mono);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;background:var(--bg-subtle);color:var(--muted);border:1px solid transparent;border-radius:var(--r-sm);padding:6px 11px;transition:color var(--t),background var(--t),border-color var(--t)}.tab:hover{color:var(--text-2)}.tab.active{color:var(--green);border-color:var(--green-line);background:var(--green-soft)}.tab svg{width:13px;height:13px;opacity:.85}.tab .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.terminal-card{flex:1;min-height:0;margin:var(--s-3);display:flex;flex-direction:column;background:var(--term-bg);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--term-edge)}.terminal-bar{display:flex;align-items:center;gap:var(--s-2);padding:9px 12px;background:linear-gradient(180deg,var(--term-bar-a),var(--term-bar-b));border-bottom:1px solid rgba(0,0,0,.55);box-shadow:inset 0 1px #ffffff0f;flex:0 0 auto}.terminal-bar .dots{display:inline-flex;gap:6px}.terminal-bar .dots i{width:11px;height:11px;border-radius:50%;display:inline-block;box-shadow:inset 0 -1px 1px #00000040}.terminal-bar .dots i:nth-child(1){background:#ff5f57}.terminal-bar .dots i:nth-child(2){background:#febc2e}.terminal-bar .dots i:nth-child(3){background:#28c840}.terminal-title{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--term-muted)}.terminal-title svg{width:13px;height:13px}.terminal-holder{flex:1;min-height:0;margin:8px 4px 8px 10px;background:var(--term-bg);overflow:hidden}.terminal-holder .xterm{height:100%}.side-panel{min-width:0;overflow-y:auto;border-left:1px solid var(--line);background:var(--surface);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-5)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}.metric{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-3) var(--s-3) var(--s-2);box-shadow:var(--shadow-sm)}.metric .value{font-size:22px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.25}.metric .value .of{font-size:14px;color:var(--muted);font-weight:500}.panel-section>h3{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--s-3)}.panel-section>h3 svg{width:14px;height:14px}.panel-section>h3 .count{margin-left:auto;font-variant-numeric:tabular-nums;letter-spacing:0}.obj-progress{height:6px;border-radius:var(--r-pill);background:var(--bg-subtle);overflow:hidden;margin-bottom:var(--s-3)}.obj-progress>i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--green),color-mix(in srgb,var(--green) 65%,var(--accent)));transition:width .45s cubic-bezier(.3,0,.2,1)}.objectives{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.objectives li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:var(--s-2);align-items:start;padding:9px 10px;border-radius:var(--r-xs);color:var(--muted);font-size:14px;transition:background var(--t),color var(--t)}.objectives li .check{width:18px;height:18px;border-radius:50%;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line-strong);color:transparent;transition:background .2s,border-color .2s,color .2s}.objectives li .check svg{width:12px;height:12px}.objectives li.done{color:var(--text);background:var(--green-soft)}.objectives li.done .check{background:var(--green);border-color:var(--green);color:var(--accent-contrast)}:root[data-theme=light] .objectives li.done .check{color:#fff}.objectives .points{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}.objectives li.done .points{color:var(--green);font-weight:600}.objectives li.pop .check{animation:pop .55s cubic-bezier(.34,1.56,.64,1)}.objectives li.pop{animation:rowflash 1s ease-out}.objectives.static li:not(.done) .check{border-color:var(--red-line);color:var(--red)}@keyframes pop{0%{transform:scale(.3)}60%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes rowflash{0%{background:color-mix(in srgb,var(--green) 32%,transparent)}to{background:var(--green-soft)}}.hint-note{background:var(--amber-soft);border:1px solid var(--amber-line);border-left:3px solid var(--amber);border-radius:var(--r-sm);padding:var(--s-3);margin-bottom:var(--s-3);font-size:13.5px}.hint-note .hint-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:5px}.hint-note .hint-head .label{color:var(--amber)}.hint-note .penalty{font-size:11px;font-weight:600;color:var(--amber);white-space:nowrap}.hint-note .md{font-size:13.5px;color:var(--text-2)}.score-hero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-6);background:radial-gradient(110% 160% at 0% 0%,var(--bg-tint) 0%,transparent 60%),linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5) var(--s-6);box-shadow:var(--shadow-md);margin-bottom:var(--s-6)}.score-big{display:flex;align-items:baseline;gap:var(--s-2)}.score-big .num{font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1;background:linear-gradient(180deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;background-clip:text;color:transparent}.score-big .max{font-size:20px;color:var(--muted)}.score-hero .divider{width:1px;align-self:stretch;background:var(--line)}.score-facts{display:flex;flex-wrap:wrap;gap:var(--s-6)}.fact .value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.result-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:var(--s-6);border-radius:var(--r-md);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.result-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:10px 12px;background:var(--bg-subtle);border-bottom:1px solid var(--line)}.result-table td{padding:12px;border-bottom:none;vertical-align:top}.result-table tbody tr:nth-child(2n){background:var(--surface-2)}.result-table td.st{width:30px}.result-table td.st svg{width:17px;height:17px;display:block;margin-top:1px}.result-table td.pts{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.result-table tr.ok td.st{color:var(--green)}.result-table tr.fail td.st{color:var(--red)}.result-table tr.fail{color:var(--muted)}.result-table .why{display:block;color:var(--muted);font-size:13px;margin-top:3px}.section{margin:var(--s-7) 0}.section>h2{margin-bottom:var(--s-4)}.section-head{display:flex;align-items:center;gap:9px;margin-bottom:var(--s-4)}.section-head svg{width:18px;height:18px;color:var(--muted);flex:0 0 auto}.section-head h2{margin:0}.tech-cards{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tech-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--t),transform var(--t)}.tech-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.tech-card .tid{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid transparent;border-radius:var(--r-pill);padding:3px 9px;margin-bottom:var(--s-2)}.tech-card .tid svg{width:12px;height:12px}.tech-card .tname{font-weight:600;font-size:14.5px;margin-bottom:4px}.tech-card .tnote{color:var(--muted);font-size:13px}.timeline{list-style:none;margin:0;padding:0;font-size:13px;border-radius:var(--r-md);overflow:hidden}.timeline li{display:flex;gap:var(--s-3);padding:7px 12px;border-bottom:none}.timeline li:nth-child(odd){background:var(--surface-2)}.timeline .t{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:52px}.timeline .cmd{font-family:var(--mono);color:var(--text-2);word-break:break-all}.herrings{list-style:none;margin:0;padding:0}.herrings li{display:flex;align-items:baseline;gap:var(--s-2);padding:10px 12px;border-radius:var(--r-xs);font-size:14px;color:var(--muted)}.herrings li:nth-child(odd){background:var(--surface-2)}.herrings li svg{width:15px;height:15px;color:var(--amber);flex:0 0 auto;align-self:center}.solution-screen{max-width:1160px}.sol-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s-7);align-items:start}.toc{position:sticky;top:var(--s-5)}.toc .label{display:flex;margin-bottom:var(--s-3)}.toc ol{list-style:none;margin:0;padding:0}.toc a{display:flex;align-items:center;gap:8px;padding:7px 0 7px var(--s-3);font-size:14px;color:var(--muted);border-left:2px solid var(--line);transition:color var(--t),border-color var(--t)}.toc a svg{width:15px;height:15px;flex:0 0 auto}.toc a:hover{color:var(--accent);border-left-color:var(--accent);text-decoration:none}.sol-main{min-width:0}.principle{background:var(--accent-soft);border:none;border-left:3px solid var(--accent);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-5)}.principle .label{color:var(--accent)}.principle p{margin:6px 0 0;font-size:16px;color:var(--text)}.goals{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);box-shadow:var(--shadow-sm)}.goals h3{display:flex;align-items:center;gap:8px;margin-bottom:var(--s-3)}.goals h3 svg{width:17px;height:17px;color:var(--accent)}.goals ul{margin:0;padding:0;list-style:none}.goals li{display:flex;align-items:flex-start;gap:9px;margin:8px 0;color:var(--text-2)}.goals li svg{width:16px;height:16px;color:var(--green);flex:0 0 auto;margin-top:4px}.goals li .md p{margin:0}.empty-solution{color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:var(--s-6);text-align:center}.solution-phase{margin:var(--s-7) 0;scroll-margin-top:var(--s-4)}.phase-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-2)}.phase-badge{width:34px;height:34px;border-radius:var(--r-sm);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.phase-badge svg{width:18px;height:18px}.phase-note{font-size:14px;font-weight:400;color:var(--muted)}.phase-intro{color:var(--muted);margin:0 0 var(--s-4);max-width:72ch}.phase-investigate{--phase: var(--accent);--phase-soft: var(--accent-soft);--phase-line: var(--accent-line)}.phase-remediate{--phase: var(--amber);--phase-soft: var(--amber-soft);--phase-line: var(--amber-line)}.phase-verify{--phase: var(--green);--phase-soft: var(--green-soft);--phase-line: var(--green-line)}.phase-badge{background:var(--phase-soft);border:1px solid var(--phase-line);color:var(--phase)}.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);margin-top:var(--s-4);box-shadow:var(--shadow-sm)}.step-head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3)}.step-head h4{font-size:16px}.step-num{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--phase-soft);border:1px solid var(--phase-line);color:var(--phase);font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.step-phase-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--phase);opacity:.75}.step-phase-ico svg{width:16px;height:16px}.step .code-block{margin-top:0}.step-output{margin:calc(-1 * var(--s-2)) 0 var(--s-4)}.step-output>button{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:4px 0;cursor:pointer;font:inherit;font-size:13px;color:var(--muted);transition:color var(--t)}.step-output>button svg{width:14px;height:14px}.step-output>button:hover{color:var(--accent)}.step-output pre{background:var(--term-bg);color:var(--term-fg);border-radius:var(--r-sm);padding:12px 14px;margin:var(--s-2) 0 0;overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.6;border:1px solid var(--term-edge)}.step-why{margin-bottom:var(--s-3)}.box{border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);margin:var(--s-3) 0;font-size:14px;border-left:3px solid transparent}.box .md{font-size:14px}.box .md p:last-child{margin-bottom:0}.box-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--s-2)}.box-label svg{width:14px;height:14px}.box.theory{background:var(--accent-soft);border:none;border-left:3px solid var(--accent)}.box.theory .box-label{color:var(--accent)}.box.pitfall{background:var(--amber-soft);border:none;border-left:3px solid var(--amber)}.box.pitfall .box-label{color:var(--amber)}.alternatives{margin:var(--s-3) 0;font-size:14px}.alternatives ul{margin:0;padding-left:20px;color:var(--muted)}.alternatives li{margin:4px 0}.alternatives li .md{font-size:14px}.alternatives li .md p{margin:0}.step .pill.objective{margin-top:var(--s-3)}@media (max-width: 1100px){.sol-grid{grid-template-columns:1fr;gap:var(--s-5)}.toc{position:static}.toc ol{display:flex;flex-wrap:wrap;gap:var(--s-2)}.toc a{border-left:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 13px}.toc a:hover{border-color:var(--accent-line)}.brief-grid{grid-template-columns:1fr}.brief-side{position:static}}@media (max-width: 1000px){.trainer-body,.trainer-body.with-drawer{grid-template-columns:minmax(0,1fr) 300px}.task-drawer{position:absolute;top:0;bottom:0;left:0;width:min(380px,85vw);z-index:40;box-shadow:var(--shadow-lg);border-right:1px solid var(--line);animation:drawer-in .22s cubic-bezier(.3,0,.2,1)}.trainer-body:not(.with-drawer) .task-drawer{display:none}.trainer-body{position:relative}}@keyframes drawer-in{0%{transform:translate(-100%);opacity:.4}to{transform:translate(0);opacity:1}}@media (max-width: 760px){.screen{padding:var(--s-6) var(--s-4) var(--s-7)}.hero{padding:var(--s-5) var(--s-4)}.hero h1{font-size:30px}.page-head h1,h1{font-size:26px}.cards{grid-template-columns:1fr}.stats-strip,.score-hero{gap:var(--s-4);padding:var(--s-4)}.score-hero .divider{display:none}.brief-main{padding:var(--s-4)}.topbar{flex-wrap:wrap;padding:var(--s-3) var(--s-4) var(--s-3) var(--s-4)}.topbar-title strong{max-width:40vw}.topbar-actions{width:100%;margin-left:0;justify-content:flex-end}.theme-toggle{top:auto;bottom:12px;right:12px}.trainer{height:auto;min-height:100dvh}.trainer-body,.trainer-body.with-drawer{display:flex;flex-direction:column}.terminal-col{min-height:62vh}.side-panel{border-left:none;border-top:1px solid var(--line)}.task-drawer{position:fixed;top:0;bottom:0;left:0;width:min(360px,92vw);z-index:70}.step{padding:var(--s-4)}.md .table-wrap{margin-left:calc(-1 * var(--s-2));margin-right:calc(-1 * var(--s-2))}}.rvb-promo{margin:var(--s-6) 0 0;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--red-soft) 70%,var(--surface)) 0%,var(--surface) 45%,color-mix(in srgb,var(--accent-soft) 70%,var(--surface)) 100%);box-shadow:var(--shadow-sm)}.rvb-promo-body{padding:var(--s-5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4);justify-content:space-between}.rvb-promo-head{display:flex;gap:var(--s-4);align-items:flex-start;min-width:260px;flex:1}.rvb-promo-ico{flex:0 0 auto;width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--accent-contrast);background:linear-gradient(135deg,var(--red) 0%,var(--accent) 100%);box-shadow:var(--shadow-sm),var(--hi)}.rvb-promo-head h2{font-size:20px;margin:0 0 4px}.rvb-promo-head p{margin:0;color:var(--muted);font-size:14px;max-width:58ch}.rvb-promo-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.rvb-mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin:var(--s-5) 0}.rvb-mode-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:var(--s-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--s-3)}.rvb-mode-card h2{font-size:20px;margin:0}.rvb-mode-card p{margin:0;color:var(--muted);font-size:14px;flex:1}.rvb-mode-ico{width:46px;height:46px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--accent-contrast);box-shadow:var(--shadow-sm),var(--hi)}.rvb-mode-card.red .rvb-mode-ico{background:linear-gradient(135deg,var(--red) 0%,#d64545 100%)}.rvb-mode-card.blue .rvb-mode-ico{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%)}.rvb-mode-card.red{border-top:3px solid var(--red)}.rvb-mode-card.blue{border-top:3px solid var(--accent)}.rvb-baseline-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin:var(--s-5) 0}.rvb-baseline-card{text-align:left;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--s-4);cursor:pointer;transition:border-color var(--t),box-shadow var(--t),transform var(--t);display:flex;flex-direction:column;gap:var(--s-2);color:var(--text);font:inherit}.rvb-baseline-card:hover{border-color:var(--accent-line);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.rvb-baseline-card.sel{border-color:var(--accent);box-shadow:var(--ring)}.rvb-baseline-head{display:flex;align-items:center;gap:8px;font-size:16px}.rvb-baseline-head svg{color:var(--muted)}.rvb-baseline-summary{margin:0;color:var(--muted);font-size:14px}.rvb-baseline-facts{margin:4px 0 0;padding-left:18px;color:var(--text-2);font-size:13px}.rvb-baseline-facts li{margin:3px 0}.rvb-field{margin:var(--s-4) 0;display:flex;flex-direction:column;gap:var(--s-2)}.rvb-input{width:100%;font:14px var(--font-ui);color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:9px 12px}.rvb-input.mono{font-family:var(--mono);font-size:13px}.rvb-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}select.rvb-input{cursor:pointer}.rvb-textarea{width:100%;font:14px var(--font-ui);color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:10px 12px;resize:vertical;line-height:1.55}.rvb-textarea.mono{font-family:var(--mono);font-size:12.5px}.rvb-textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.rvb-share-row{display:flex;gap:var(--s-2);align-items:stretch}.rvb-share-row .rvb-input{flex:1}.rvb-note{display:flex;align-items:flex-start;gap:9px;margin-top:var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);font-size:14px}.rvb-note svg{flex:0 0 auto;margin-top:2px}.rvb-note.ok{background:var(--green-soft);color:var(--green);border:1px solid var(--green-line)}.rvb-note.err{background:var(--red-soft);color:var(--red);border:1px solid var(--red-line)}.rvb-red-panel{gap:var(--s-4)}.rvb-red-panel .btn.block{margin-top:auto}.rvb-diff-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-2)}.rvb-diff-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.rvb-diff-count b{color:var(--text)}.rvb-diff-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.rvb-diff-list li{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:var(--r-xs);background:var(--surface-2);font-size:13px}.rvb-diff-cat{flex:0 0 auto;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border-radius:var(--r-pill);padding:2px 8px}.rvb-diff-title{flex:1;min-width:0;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rvb-diff-pts{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.rvb-diff-empty{display:flex;align-items:flex-start;gap:9px;padding:var(--s-3);border-radius:var(--r-sm);background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-line);font-size:13px}.rvb-diff-empty svg{flex:0 0 auto;margin-top:1px}.rvb-saved-group{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin:var(--s-4) 0 var(--s-2)}.rvb-saved-list{list-style:none;margin:0 0 var(--s-4);padding:0;display:flex;flex-direction:column;gap:var(--s-2)}.rvb-saved-row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:var(--s-3) var(--s-4)}.rvb-saved-main{flex:1;min-width:180px}.rvb-saved-head{display:flex;align-items:center;gap:8px;font-size:14px}.rvb-saved-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin-top:3px}.rvb-saved-result{display:inline-flex;align-items:center;gap:5px;color:var(--green)}.rvb-saved-result svg{width:13px;height:13px}.rvb-saved-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.rvb-result-share{border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-soft);padding:var(--s-4)}.rvb-result-share .section-head{margin-bottom:var(--s-2)}.rvb-result-share .section-head svg{color:var(--accent)}@media (max-width: 760px){.rvb-mode-cards,.rvb-baseline-grid{grid-template-columns:1fr}.rvb-promo-body{flex-direction:column;align-items:flex-start}.rvb-red-panel{border-left:none;border-top:1px solid var(--line)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.pill.blackbox,.host-chip.blackbox{color:var(--text-2);background:var(--bg-subtle);border-color:var(--line-strong)}.metrics.single{grid-template-columns:1fr}.blackbox-note{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);padding:var(--s-3)}.blackbox-count{font-weight:650;font-size:15px;color:var(--text-1);margin-bottom:6px}.blackbox-note p{margin:0;font-size:12px;line-height:1.55;color:var(--text-3)}.obj-hidden{display:flex;gap:8px;align-items:flex-start;margin:0 0 var(--s-4);padding:var(--s-3);border:1px dashed var(--line-strong);border-radius:var(--r-sm);font-size:12px;line-height:1.55;color:var(--text-3)}.obj-hidden svg{flex:none;margin-top:2px}.switch-row{display:flex;gap:10px;align-items:flex-start;margin:0 0 var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer}.switch-row:hover{border-color:var(--line-strong)}.switch-row.on{border-color:var(--accent-line);background:var(--accent-soft)}.switch-row input{position:absolute;opacity:0;width:0;height:0}.switch-track{flex:none;margin-top:2px;width:34px;height:20px;border-radius:999px;background:var(--line-strong);transition:background var(--t, .14s) ease;display:block}.switch-track i{display:block;width:14px;height:14px;margin:3px;border-radius:50%;background:#fff;transition:transform var(--t, .14s) ease}.switch-row.on .switch-track{background:var(--accent)}.switch-row.on .switch-track i{transform:translate(14px)}.switch-row input:focus-visible+.switch-track{box-shadow:var(--ring)}.switch-text{display:flex;flex-direction:column;gap:3px}.switch-title{display:flex;gap:6px;align-items:center;font-size:13px;font-weight:600;color:var(--text-1)}.switch-note{font-size:11.5px;line-height:1.5;color:var(--text-3)}.score-bonus{display:flex;gap:6px;align-items:center;margin-top:4px;font-size:12px;color:var(--text-3)}.tab.locked{opacity:.55;cursor:not-allowed}.tab.locked:hover{color:var(--text-3)}.tab-chain{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:0 var(--s-3);font-size:11.5px;color:var(--text-3);font-family:var(--mono, ui-monospace, monospace)}.tab-chain .chain-node{display:inline-flex;align-items:center;gap:2px}.tab-chain b{font-weight:600;color:var(--text-2)}.tab-chain svg{width:12px;height:12px;opacity:.7}.objectives li .title{overflow-wrap:anywhere;word-break:break-word;min-width:0}.objectives .points{white-space:nowrap}.result-table td{overflow-wrap:anywhere;word-break:break-word}.result-table td.pts{white-space:nowrap}.hint-note .md,.hint-note .md *,.md code.chip{overflow-wrap:anywhere}.md code.chip.copyable{cursor:pointer;position:relative;transition:background var(--t),color var(--t)}.md code.chip.copyable:hover{background:var(--accent-soft);color:var(--accent)}.md code.chip.copyable:focus-visible{outline:none;box-shadow:var(--ring)}.md code.chip.copyable.copied{background:var(--green-soft);color:var(--green)}.copy-flash{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--green);color:#fff;box-shadow:var(--shadow-sm)}.copy-flash svg{width:11px;height:11px}.account-bar{position:fixed;top:14px;left:16px;z-index:60;display:inline-flex;align-items:center;gap:6px}.account-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--text-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 12px;font-size:13px;font-weight:500;box-shadow:var(--shadow-sm);max-width:46vw;overflow:hidden}.account-chip svg{width:15px;height:15px;opacity:.8;flex:0 0 auto}.account-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-role{color:var(--accent);background:var(--accent-soft);border-radius:var(--r-pill);padding:0 8px;font-size:11px;font-weight:600;flex:0 0 auto}.account-action{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 12px;box-shadow:var(--shadow-sm);transition:color var(--t),border-color var(--t),background var(--t)}.account-action svg{width:14px;height:14px}.account-action:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.platform-nav{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-5)}.auth-card{max-width:440px;margin:var(--s-6) auto 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-6);box-shadow:var(--shadow-md)}.auth-title{font-size:26px;letter-spacing:-.02em;margin:var(--s-3) 0 var(--s-2)}.auth-form{display:flex;flex-direction:column;gap:var(--s-4);margin:var(--s-5) 0 var(--s-3)}.auth-error{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--red);background:var(--red-soft);border:1px solid var(--red-line);border-radius:var(--r-sm);padding:9px 12px;font-size:14px;margin:var(--s-3) 0}.auth-error svg{flex:0 0 auto}.field{display:flex;flex-direction:column;gap:6px}.field.inline{flex-direction:row;align-items:center;gap:var(--s-3)}.field.grow{flex:1}.field-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-2)}.field-label svg{width:14px;height:14px;opacity:.8}.field input,.field select,.field textarea{font-family:inherit;font-size:14px;color:var(--text);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:9px 11px;width:100%;transition:border-color var(--t),box-shadow var(--t)}.field textarea{resize:vertical;font-family:var(--mono);font-size:13px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.field select{cursor:pointer}.link-btn{display:inline-block;margin-top:var(--s-4);background:none;border:none;cursor:pointer;font-family:inherit;font-size:14px;color:var(--accent);text-decoration:underline}.link-btn.inline{margin:0 0 0 8px;font-size:13px}.muted-note{color:var(--muted);font-size:14px}.course-card .course-progress{display:flex;align-items:center;gap:var(--s-3);margin:var(--s-2) 0}.course-card .course-progress .bar{flex:1;height:6px;border-radius:var(--r-pill);background:var(--bg-subtle);overflow:hidden}.course-card .course-progress .bar>i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.course-items{list-style:none;margin:var(--s-5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.course-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--shadow-sm)}.course-item.locked{opacity:.72}.course-item-head{display:flex;align-items:flex-start;gap:var(--s-3)}.course-item-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.course-item.locked .course-item-icon{background:var(--bg-subtle);color:var(--muted)}.course-item.theory .course-item-icon{background:var(--bg-tint);color:var(--accent)}.course-item-body{flex:1;min-width:0}.course-item-body h3{margin:2px 0 0;font-size:16px;overflow-wrap:anywhere}.course-item-kind{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.req-badge{color:var(--amber);background:var(--amber-soft);border-radius:var(--r-pill);padding:0 7px;font-size:10.5px;text-transform:none;letter-spacing:0}.done-badge{color:var(--green);background:var(--green-soft);border-radius:var(--r-pill);padding:0 7px;font-size:10.5px;text-transform:none;letter-spacing:0}.done-badge.big{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;font-size:13px}.course-item-actions{flex:0 0 auto;display:flex;align-items:center}.locked-note{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.course-theory{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line)}.course-theory-foot{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;margin-top:var(--s-4)}.teacher-toolbar{display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:flex-end;justify-content:space-between;margin-bottom:var(--s-4)}.teacher-toolbar-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.progress-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:720px}.progress-table th,.progress-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.progress-table th{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;background:var(--surface)}.progress-table th svg{width:13px;height:13px;vertical-align:-2px;margin-right:4px;opacity:.8}.progress-table tbody tr:hover{background:var(--surface-2)}.progress-table .cell-name{font-weight:600;color:var(--text)}.progress-table .cell-email,.progress-table .cell-date{color:var(--muted)}.progress-table .cell-num{font-variant-numeric:tabular-nums;white-space:nowrap}.stage-tag{display:inline-block;border-radius:var(--r-pill);padding:2px 9px;font-size:12px;font-weight:500;background:var(--bg-subtle);color:var(--muted)}.stage-tag.active{background:var(--accent-soft);color:var(--accent)}.stage-tag.done{background:var(--green-soft);color:var(--green)}.panel{margin-top:var(--s-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5);box-shadow:var(--shadow-sm)}.inline-form{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:flex-end}.inline-form .field{flex:1;min-width:180px}.inline-form.new-course{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px dashed var(--line)}.enroll-result{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--s-3);color:var(--green);background:var(--green-soft);border:1px solid var(--green-line);border-radius:var(--r-sm);padding:9px 12px;font-size:14px}.enroll-result svg{flex:0 0 auto}.temp-pass{font-family:var(--mono);background:var(--surface);color:var(--text);padding:2px 7px;border-radius:var(--r-xs);border:1px solid var(--line-strong)}.course-admin-list{display:flex;flex-direction:column;gap:var(--s-3)}.course-admin-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);align-items:flex-start;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.course-admin-row h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:15px}.add-item-form{width:100%;margin-top:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s-4)}.add-item-row{display:flex;flex-wrap:wrap;gap:var(--s-3)}.add-item-row .field{flex:1;min-width:160px}.add-item-actions{display:flex;gap:var(--s-2)}.checkbox-row{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-2);cursor:pointer}.checkbox-row input{width:16px;height:16px}@media (max-width: 640px){.account-bar{top:auto;bottom:12px;left:12px}.teacher-toolbar{align-items:stretch}.teacher-toolbar-actions{justify-content:flex-start}.course-item-head{flex-wrap:wrap}.course-item-actions{width:100%}}.netmap{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;background:var(--surface, var(--bg-subtle));border:1px solid var(--border);border-radius:10px;padding:7px 10px;margin-bottom:8px}.nm-zone{display:flex;align-items:center;gap:6px}.nm-arrow{color:var(--muted);font-size:12px}.nm-zone-inner{display:flex;flex-direction:column;gap:3px}.nm-zlabel{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.nm-hosts{display:flex;flex-wrap:wrap;gap:4px}.nm-host{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1;padding:5px 8px;border-radius:7px;border:1.5px solid var(--border);background:var(--bg-subtle);color:var(--muted);cursor:pointer;white-space:nowrap}.nm-host b{font-weight:600}.nm-host:disabled{cursor:default}.nm-host.active{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.nm-host.nm-attacker{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.nm-host.nm-owned,.nm-host.nm-wiped{color:var(--red);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.nm-host.nm-clean{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 40%,transparent)}.nm-host.locked{opacity:.6}.nm-mark{font-size:11px}
