:root{--bg:#0f0b1a;--card:#1a1330;--ink:#f1e9ff;--mut:#a996c9;--acc:#f2b84b;--acc2:#8b5cf6;--ok:#3ddc97;--err:#ff6b6b}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#2a1a4d,var(--bg));color:var(--ink);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}
a{color:var(--acc)}.top{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #2b2145}
.brand{font-weight:800;font-size:22px;color:var(--ink);text-decoration:none}.brand span{color:var(--acc)}.right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chip{background:#261c42;border:1px solid #3a2c60;border-radius:999px;padding:4px 10px;font-size:13px;color:var(--ink);text-decoration:none}.chip.ok{border-color:var(--ok);color:var(--ok)}.chip.warn{border-color:var(--acc);color:var(--acc)}
.wrap{max-width:1040px;margin:0 auto;padding:20px}.hero{text-align:center;padding:30px 10px}.hero.small{padding:14px 0}.hero h1{margin:0 0 8px;font-size:34px}.hero p{color:var(--mut);margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}@media(max-width:800px){.grid2,.grid3{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid #2b2145;border-radius:14px;padding:18px;margin-top:16px}.grid2 .card,.grid3 .card{margin-top:0}.card h2{margin:0 0 8px;font-size:18px}
label{display:block;margin:10px 0;font-size:14px;color:var(--mut)}input,select,textarea{width:100%;margin-top:6px;background:#120d22;color:var(--ink);border:1px solid #3a2c60;border-radius:10px;padding:10px;font:inherit}
.btn{display:inline-block;margin-top:10px;background:#2c2150;color:var(--ink);border:1px solid #4a3a7a;border-radius:10px;padding:10px 16px;font:inherit;cursor:pointer;text-decoration:none}.btn.primary{background:linear-gradient(90deg,var(--acc),#f59e0b);color:#1a1000;border:0;font-weight:700}.btn.sm{padding:7px 12px;font-size:14px}.btn.ghost{background:transparent}
.link{background:none;border:0;color:var(--mut);cursor:pointer;font:inherit}.inline{display:inline}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.row input{margin:0;flex:1}
.muted{color:var(--mut);font-size:14px}.alert{border-radius:10px;padding:12px 14px;margin-bottom:12px}.alert.ok{background:#12301f;color:var(--ok)}.alert.err{background:#3a1520;color:var(--err)}
.ask{border-color:var(--acc)}.pending{border-color:var(--acc2)}.list{list-style:none;padding:0;margin:0}.list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #2b2145}
.cards{display:flex;gap:12px;margin:14px 0;flex-wrap:wrap}.tcard{flex:1;min-width:120px;background:#120d22;border:1px solid var(--acc2);border-radius:12px;padding:14px;text-align:center}.tcard small{display:block;color:var(--mut)}.tcard b{display:block;font-size:18px;margin-top:4px}.tcard.rev{border-style:dashed}
.prose{white-space:normal;line-height:1.7}.reading h1{margin:6px 0}.foot{max-width:1040px;margin:30px auto;padding:0 20px 30px;color:var(--mut);font-size:13px;text-align:center}
/* v3 */
.tabs{position:sticky;bottom:0;display:flex;justify-content:space-around;background:#140f24;border-top:1px solid #2b2145;padding:8px 0 max(8px,env(safe-area-inset-bottom));z-index:5}.tabs a{color:var(--mut);text-decoration:none;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px}.tabs a i{font-style:normal;font-size:20px}.tabs a.on{color:var(--acc)}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}@media(max-width:800px){.types{grid-template-columns:repeat(2,1fr)}}
.type{background:var(--card);border:1px solid #2b2145;border-radius:14px;padding:16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:4px;transition:.15s}.type:hover{border-color:var(--acc)}.type .ticon{font-size:30px}.type small{color:var(--mut)}.type em{font-style:normal;color:var(--acc);font-size:12px;margin-top:6px}
.card.soft{background:#171128;color:var(--mut);font-size:14px}.readers-row{font-size:28px;letter-spacing:8px;margin-bottom:8px}.btn.big{padding:14px 22px;font-size:17px;width:100%;text-align:center}
.steps{color:var(--mut);padding-left:18px}.stack>*+*{margin-top:12px}.upl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:600px){.upl{grid-template-columns:1fr}}
.drop{border:1px dashed #4a3a7a;border-radius:12px;padding:18px 10px;text-align:center;cursor:pointer;color:var(--mut);display:block}.drop input{display:none}.drop:has(input:valid:not([value=""]))~*{}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.pill{border:1px solid #3a2c60;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:14px;color:var(--ink);margin:0}.pill input{display:none}.pill:has(input:checked){background:var(--acc);color:#1a1000;border-color:var(--acc)}
.avatar{width:44px;height:44px;border-radius:50%;background:#2c2150;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}.avatar.big{width:72px;height:72px;font-size:36px;margin:0 auto 10px}.waiting{text-align:center;padding:10px}
.bubble{display:flex;gap:12px;margin:14px 0}.msg{background:#120d22;border:1px solid #3a2c60;border-radius:4px 16px 16px 16px;padding:14px 16px;flex:1}
.bal small{color:var(--mut);letter-spacing:.08em;font-size:11px}.big-num{font-size:40px;font-weight:800;margin:6px 0}.big-num span{font-size:18px;color:var(--mut)}.bal.credit .big-num{color:var(--acc)}
.list li span:first-child{flex:1}.card h3{margin:14px 0 6px;font-size:15px}
