:root{--bg: #fbfaf8;--surface: #ffffff;--ink: #1b1a17;--muted: #6b6860;--line: #e6e3dc;--accent: #3b5bdb;--accent-ink: #ffffff;--accent-soft: #e8edff;--safe: #1f7a4d;--safe-soft: #e3f3ea;--careful: #a8680a;--careful-soft: #fdf1d8;--danger: #b42323;--danger-soft: #fde7e7;--code-bg: #14161b;--code-ink: #e8eaf0;--code-muted: #8b93a7;--radius: 12px;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 4px 14px rgb(0 0 0 / .04);--mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, Menlo, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #101114;--surface: #17191e;--ink: #ecebe7;--muted: #9a978e;--line: #2a2d34;--accent: #8da2ff;--accent-ink: #101114;--accent-soft: #1f2640;--safe: #5fd196;--safe-soft: #12301f;--careful: #f0b95a;--careful-soft: #34280f;--danger: #ff8a8a;--danger-soft: #3a1717;--code-bg: #0b0c0f;--shadow: 0 1px 2px rgb(0 0 0 / .4);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #101114;--surface: #17191e;--ink: #ecebe7;--muted: #9a978e;--line: #2a2d34;--accent: #8da2ff;--accent-ink: #101114;--accent-soft: #1f2640;--safe: #5fd196;--safe-soft: #12301f;--careful: #f0b95a;--careful-soft: #34280f;--danger: #ff8a8a;--danger-soft: #3a1717;--code-bg: #0b0c0f;--shadow: 0 1px 2px rgb(0 0 0 / .4);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}h1,h2,h3{line-height:1.25;margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(1.7rem,4vw,2.3rem)}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 1em}a{color:var(--accent);text-underline-offset:2px}code{font-family:var(--mono);font-size:.9em;background:var(--accent-soft);padding:.1em .35em;border-radius:5px}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:1040px;margin:0 auto;padding:0 16px}.narrow{max-width:800px}.muted{color:var(--muted)}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--surface);padding:8px 12px;z-index:100}main{padding:28px 0 64px}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;gap:14px;min-height:58px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}.brand{font-weight:700;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px}.brand img{width:24px;height:24px;border-radius:6px}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{color:var(--muted);text-decoration:none;padding:4px 10px;border-radius:8px;font-size:.95rem}.nav a:hover,.nav a[aria-current=page]{color:var(--ink);background:var(--accent-soft)}.tools{margin-left:auto;display:flex;gap:8px;align-items:center}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}.seg button{background:none;border:0;padding:4px 10px;font-size:.82rem;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.icon-btn{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:4px 10px;font-size:.85rem;color:var(--muted)}.icon-btn:hover{color:var(--ink);border-color:var(--accent)}kbd{font-family:var(--mono);font-size:.75rem;border:1px solid var(--line);border-radius:4px;padding:0 5px;background:var(--bg)}dialog#search-dialog{border:1px solid var(--line);border-radius:14px;padding:0;width:min(640px,calc(100vw - 24px));background:var(--surface);color:var(--ink);margin-top:12vh;box-shadow:0 20px 60px #0000004d}dialog#search-dialog::backdrop{background:#00000073}#search-input{width:100%;border:0;border-bottom:1px solid var(--line);padding:16px 18px;font:inherit;font-size:1.05rem;background:transparent;color:inherit}#search-input:focus{outline:none}#search-results{list-style:none;margin:0;padding:6px;max-height:52vh;overflow:auto}#search-results a{display:block;padding:10px 12px;border-radius:9px;text-decoration:none;color:inherit}#search-results a:hover,#search-results a.active{background:var(--accent-soft)}#search-results .t{font-weight:600}#search-results .m{font-size:.83rem;color:var(--muted)}.search-empty{padding:18px;color:var(--muted)}.hero{padding:18px 0 10px}.hero p{color:var(--muted);font-size:1.1rem;max-width:620px}.hero-search{width:100%;max-width:560px;display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--muted);box-shadow:var(--shadow);text-align:left}.hero-search:hover{border-color:var(--accent)}.section-title{margin:36px 0 12px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card h3{margin:0 0 4px;color:var(--ink)}.card p{margin:0 0 8px;color:var(--muted);font-size:.92rem}.topic-card{display:flex;gap:14px;align-items:flex-start}.mark{flex:none;width:44px;height:44px;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-weight:700;display:grid;place-items:center}.mini-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.mini-list a{text-decoration:none}.badges{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.badge{font-size:.74rem;padding:1px 9px;border-radius:99px;border:1px solid var(--line);color:var(--muted);background:var(--bg);white-space:nowrap}.badge.safe{color:var(--safe);background:var(--safe-soft);border-color:transparent}.badge.careful{color:var(--careful);background:var(--careful-soft);border-color:transparent}.badge.destructive{color:var(--danger);background:var(--danger-soft);border-color:transparent}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:3px 13px;font-size:.88rem;color:var(--muted)}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.field{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:9px 12px;font:inherit;color:inherit}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0 8px}.filters .field{flex:1 1 240px;max-width:380px}.cat-section{margin-top:28px}.cat-section h2{font-size:1.05rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.crumbs{font-size:.9rem;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted)}.scenario-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.fav{flex:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 12px;color:var(--muted);white-space:nowrap}.fav[aria-pressed=true]{color:var(--careful);border-color:var(--careful);background:var(--careful-soft)}.lead{font-size:1.1rem;color:var(--muted);margin:10px 0 16px}.anchors{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:.9rem;margin:0 0 8px}.warn{border-left:4px solid var(--careful);background:var(--careful-soft);padding:12px 16px;border-radius:8px;margin:16px 0}.warn.destructive{border-color:var(--danger);background:var(--danger-soft)}.warn strong{display:block;margin-bottom:2px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:18px 0}.panel h2{font-size:1.1rem}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.checklist label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.checklist input{margin-top:6px}.steps{list-style:none;counter-reset:step;margin:0;padding:0}.steps>li{counter-increment:step;position:relative;padding:0 0 22px 46px}.steps>li:before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:.9rem}.steps>li:not(:last-child):after{content:"";position:absolute;left:15px;top:36px;bottom:4px;width:2px;background:var(--line)}.steps h3{margin:4px 0 8px}.steps p{margin:8px 0}.note{font-size:.92rem;color:var(--muted);border-left:3px solid var(--line);padding-left:10px}.code{border-radius:10px;background:var(--code-bg);color:var(--code-ink);overflow:hidden;margin:8px 0}.code+.code{margin-top:10px}.code-head{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 0 14px;min-height:30px;font-size:.75rem;color:var(--code-muted);font-family:var(--mono)}.copy{background:#ffffff14;border:0;color:var(--code-ink);border-radius:6px;padding:2px 10px;font-size:.78rem}.copy:hover{background:#ffffff2e}.code pre{margin:0;padding:6px 14px 14px;overflow-x:auto}.code code{background:none;color:inherit;padding:0;font-size:.9rem;white-space:pre;display:block}html[data-shell=ps] code.v-bash,html[data-shell=bash] code.v-ps{display:none}.out{margin:8px 0}.out summary{font-size:.88rem;color:var(--muted);cursor:pointer}.out pre{margin:6px 0 0;padding:10px 14px;background:var(--bg);border:1px dashed var(--line);border-radius:8px;overflow-x:auto;font-family:var(--mono);font-size:.85rem}details.qa{border-top:1px solid var(--line);padding:10px 0}details.qa:first-of-type{border-top:0}details.qa summary{cursor:pointer;font-weight:600}details.qa p{margin:8px 0 0;color:var(--muted)}.err-list{display:grid;gap:12px}.err{border-left:3px solid var(--danger);padding-left:12px}.err strong{display:block}.notes textarea{width:100%;min-height:90px;resize:vertical}.notes small{color:var(--muted)}.terms{display:flex;gap:6px;flex-wrap:wrap}.terms a{text-decoration:none}.related{list-style:none;padding:0;margin:0;display:grid;gap:6px}.prose h2{font-size:1.1rem;margin-top:1.4em}.prose h2:first-child{margin-top:0}.prose table{width:100%;border-collapse:collapse;font-size:.9rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}.prose th{background:var(--accent-soft)}.prose ul,.prose ol{padding-left:1.3em}.q-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.q-grid label{display:grid;gap:4px;font-weight:600;font-size:.92rem}.q-grid .field{font-weight:400}.result h3{margin-top:1.2em}.result ul{padding-left:1.2em}.stat{display:inline-block;background:var(--accent-soft);border-radius:10px;padding:8px 14px;margin:4px 8px 4px 0}.stat b{display:block;font-size:1.2rem}.learn-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden}#bar{height:100%;width:0;background:var(--accent);transition:width .25s}.flash{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;margin:16px 0;min-height:260px;box-shadow:var(--shadow)}.flash h2{font-size:1.35rem}.flash-a{border-top:1px dashed var(--line);margin-top:16px;padding-top:14px}.btn{background:var(--accent);color:var(--accent-ink);border:0;border-radius:10px;padding:8px 18px;font-weight:600}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 8px}.gloss dt{font-weight:700;margin-top:18px;font-family:var(--mono)}.gloss dd{margin:2px 0 0;color:var(--muted)}.gloss dt:target{background:var(--accent-soft);border-radius:6px;padding:2px 6px}.cheat-grid{columns:2 340px;column-gap:24px}.cheat-group{break-inside:avoid;margin-bottom:18px}.cheat-group h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px}.cheat-item{break-inside:avoid;margin-bottom:10px}.cheat-item .code{margin:3px 0 0}.cheat-item .code pre{padding:8px 12px}.cheat-item a{font-size:.9rem}footer.site-footer{border-top:1px solid var(--line);padding:22px 0 40px;color:var(--muted);font-size:.88rem}[hidden]{display:none!important}@media print{.site-header,.site-footer,.no-print,dialog{display:none!important}body{background:#fff;color:#000;font-size:11px}main{padding:0}.code{background:#f3f3f3;color:#000;border:1px solid #ccc}.code-head{display:none}.code pre{padding:4px 8px}.cheat-grid{columns:2}}@media(max-width:640px){.scenario-head{flex-direction:column}.tools{margin-left:0;width:100%;justify-content:space-between}}
