:root{--bg0:#0b1f17;--bg1:#123028;--bg2:#1a3d32;--ink:#f0e6d2;--muted:#a8b5a0;--accent:#7dcea0;--accent-2:#e8c547;--danger:#e07a5f;--line:rgba(240,230,210,0.14);--font-display:"Fraunces","Iowan Old Style",Georgia,serif;--font-body:"Source Sans 3","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,rgba(125,206,160,.18),transparent 55%),radial-gradient(900px 500px at 90% 0,rgba(232,197,71,.12),transparent 50%),linear-gradient(180deg,var(--bg0),var(--bg1) 40%,var(--bg0));color:var(--ink);font-family:var(--font-body);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-display);font-weight:550;letter-spacing:-.02em;line-height:1.15}.shell{width:min(1100px,calc(100% - 2rem));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);margin-bottom:2rem}.brand{font-family:var(--font-display);font-size:1.35rem;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}.nav{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;font-size:.95rem}.nav a{color:var(--muted);text-decoration:none}.nav a:hover{color:var(--ink)}.hero{padding:2.5rem 0 2rem;animation:rise .7s ease both}.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);max-width:14ch;margin:0 0 .75rem}.hero p{max-width:48ch;color:var(--muted);font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg2);color:var(--ink);border-radius:999px;padding:.7rem 1.2rem;font:inherit;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px);border-color:var(--accent)}.btn-primary{background:var(--accent);color:#0b1f17;border-color:transparent;font-weight:600}.btn-ghost{background:transparent}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1rem;gap:1rem;margin:2rem 0}.panel{border:1px solid var(--line);border-radius:1rem;padding:1.25rem;background:rgba(18,48,40,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rise .6s ease both}.panel h3{margin:0 0 .5rem;font-size:1.2rem}.muted{color:var(--muted)}.meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem;font-size:.8rem;color:var(--muted)}.chip.ok{color:var(--accent);border-color:rgba(125,206,160,.4)}.chip.warn{color:var(--accent-2);border-color:rgba(232,197,71,.4)}.progress{height:10px;border-radius:999px;background:rgba(240,230,210,.08);overflow:hidden;margin:.75rem 0}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0;transition:width .5s ease}form.stack{display:grid;grid-gap:.85rem;gap:.85rem;max-width:520px}label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.92rem;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(0,0,0,.25);color:var(--ink);border-radius:.65rem;padding:.7rem .85rem;font:inherit}textarea{min-height:120px;resize:vertical}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:.65rem .4rem;border-bottom:1px solid var(--line);vertical-align:top}.comment{border-left:2px solid var(--accent);padding:.5rem 0 .5rem .85rem;margin:.75rem 0}.footer{margin:4rem 0 2rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.error{color:var(--danger)}.help-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem;margin:1.5rem 0 1.25rem}.help-level{display:grid;grid-gap:.25rem;gap:.25rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:1rem;background:rgba(18,48,40,.45);color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.help-level:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px)}.help-level span{color:var(--muted);font-size:.9rem}.help-level.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(125,206,160,.35)}.help-doc h2{margin-top:.35rem}.help-doc h3{margin-top:1.6rem}.help-flow{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:1rem 0;color:var(--muted);font-size:.95rem}.help-flow span:nth-child(odd){border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;color:var(--ink);background:rgba(0,0,0,.2)}.help-pre{overflow-x:auto;padding:1rem;border-radius:.75rem;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--accent);font-size:.85rem;line-height:1.45}.doc-accordion{display:grid;grid-gap:.65rem;gap:.65rem;margin:1rem 0 1.5rem}.doc-details{border:1px solid var(--line);border-radius:.85rem;background:rgba(0,0,0,.18);overflow:hidden}.doc-details[open]{border-color:rgba(125,206,160,.35)}.doc-details summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding:.9rem 1.1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.doc-details summary::-webkit-details-marker{display:none}.doc-details summary:before{content:"+";color:var(--accent);font-weight:700;margin-right:.35rem}.doc-details[open] summary:before{content:"−"}.doc-details-title{font-family:var(--font-display);font-size:1.05rem}.doc-details-path{color:var(--muted);font-size:.8rem}.doc-details-body{padding:0 1.1rem 1.15rem;border-top:1px solid var(--line)}.doc-md{max-width:72ch}.doc-md .doc-h{margin:1.25rem 0 .5rem;font-family:var(--font-display)}.doc-md .doc-hr{border:none;border-top:1px solid var(--line);margin:1.25rem 0}.doc-md li,.doc-md p{color:var(--ink)}.doc-md p{color:var(--muted)}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:.5rem;gap:.5rem}.map-cell{border:1px solid var(--line);border-radius:.65rem;padding:.75rem;display:grid;grid-gap:.25rem;gap:.25rem;min-height:72px}.map-cell span{color:var(--muted);font-size:.85rem}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:640px){.site-header{flex-direction:column;align-items:flex-start}}