:root{--bg-dark:#0b1515;--bg-mid:#192828;--bg-light:#263d3d;--text-strong:#f0faf2;--text:#e6f7f0;--text-muted:#c7d8d8;--accent:#7bff90;--border:#1a2a2a;--surface-0:transparent;--surface-1:rgba(18,30,30,.85);--surface-2:rgba(15,28,28,.9);--shadow:0 10px 30px rgba(0,0,0,.35)}[data-theme=light]{--bg-dark:#f5f7f6;--bg-mid:#dce3e2;--bg-light:#cfd8d7;--text-strong:#122222;--text:#1a2a2a;--text-muted:#3a4a48;--accent:#7bff90;--border:#b6c0be;--surface-1:rgba(245,247,246,.9);--surface-2:#fff}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;background:var(--bg-dark);color:var(--text-strong);font-family:-apple-system,BlinkMacSystemFont,Inter,Helvetica Neue,sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 10%,rgba(62,208,166,.6) 0,rgba(39,63,63,.65) 60%,#0b1515 100%)}#app-root{position:relative;z-index:1}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:rgba(123,255,144,.25)}.surface{background:var(--surface-0)}.panel{background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.text{color:var(--text)}.muted{color:var(--text-muted)}.accent{color:var(--accent)}.border{border:1px solid var(--border)}.btn-primary{background:var(--accent);color:#122629;border:none;border-radius:100px;padding:12px 22px}.btn-ghost,.btn-primary{font-weight:600;cursor:pointer}.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:100px;padding:10px 20px}.container{max-width:1200px;margin:0 auto;padding:40px 24px}h1,h2,h3{line-height:1.25}h1{font-size:42px}h1,h2{font-weight:700}h2{font-size:26px}h3{font-size:20px;font-weight:600}article,main,section{background:transparent}.page-black{position:relative}.page-black:before{content:"";position:fixed;inset:0;background:#0b1515;z-index:0;pointer-events:none}.page-black>*{position:relative;z-index:1}