:root{--bg:#0b0812;--bg-soft:#141021;--card:#191327;--card-edge:#2a2140;--text:#ece9f6;--text-dim:#a49dbd;--brand:#8b5cf6;--brand-2:#2dd4bf;--violet:#8b5cf6;--teal:#2dd4bf;--amber:#f5a623;--rose:#fb7185;--sky:#38bdf8;--lime:#a3e635;--radius:14px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:var(--brand-2);text-decoration:none}a:hover{text-decoration:underline}.portal-shell{flex-direction:column;min-height:100vh;display:flex}.portal-header{border-bottom:1px solid var(--card-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#141021d9;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:.6rem;font-size:1.05rem;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand .dot{background:linear-gradient(135deg, var(--violet), var(--teal));width:12px;height:12px;box-shadow:0 0 12px var(--violet);border-radius:50%}.brand small{color:var(--text-dim);margin-left:.4rem;font-weight:400}.nav{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.nav a{color:var(--text-dim);font-size:.95rem}.nav a:hover,.nav a.active{color:var(--text);text-decoration:none}.nav .signout{color:var(--rose)}.portal-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:2.5rem 1.5rem}.portal-footer{border-top:1px solid var(--card-edge);text-align:center;color:var(--text-dim);padding:1.2rem 1.5rem;font-size:.85rem}.hero{text-align:center;padding:2rem 0 1rem}.hero h1{background:linear-gradient(90deg, var(--violet), var(--teal));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 .6rem;font-size:clamp(1.8rem,4vw,2.6rem)}.hero p{color:var(--text-dim);max-width:640px;margin:.4rem auto}.section-title{margin:2.2rem 0 .9rem;font-size:1.35rem}.section-sub{color:var(--text-dim);margin-top:-.4rem}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1.2rem;display:grid}.card{background:var(--card);border:1px solid var(--card-edge);border-radius:var(--radius);color:var(--text);padding:1.1rem 1.2rem;transition:transform .12s,border-color .12s;display:block}.card:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-2px)}.card .icon{font-size:1.5rem}.card h3{margin:.4rem 0 .3rem;font-size:1.05rem}.card p{color:var(--text-dim);margin:0;font-size:.92rem}.acc-violet{--accent:var(--violet)}.acc-teal{--accent:var(--teal)}.acc-amber{--accent:var(--amber)}.acc-rose{--accent:var(--rose)}.acc-sky{--accent:var(--sky)}.acc-lime{--accent:var(--lime)}.card[style],.card.acc-violet,.card.acc-teal,.card.acc-amber,.card.acc-rose,.card.acc-sky,.card.acc-lime{border-left:3px solid var(--accent,var(--brand))}.theme-head{align-items:center;gap:.55rem;margin:2rem 0 .6rem;font-size:1.15rem;display:flex}.theme-head .chip{font-size:1.1rem}.faq-card{background:var(--card);border:1px solid var(--card-edge);border-left:3px solid var(--accent,var(--brand));border-radius:var(--radius);padding:1rem 1.2rem}.faq-card .q{align-items:flex-start;gap:.7rem;margin:0 0 .4rem;font-size:1rem;font-weight:600;display:flex}.faq-card .q .icon{font-size:1.4rem;line-height:1.2}.faq-card .a{color:var(--text-dim);margin:.55rem 0 0 2.1rem}.faq-card details{margin:.5rem 0 0 2.1rem}.faq-card summary{cursor:pointer;color:var(--brand-2);font-size:.9rem}.article{max-width:720px;margin:0 auto}.article h1{line-height:1.25}.article .crumb{color:var(--text-dim);font-size:.9rem}.rich h2{margin-top:2rem}.rich p{color:#d8d3ea}.idea-card{background:var(--card);border:1px solid var(--card-edge);border-left:3px solid var(--accent,var(--brand));border-radius:var(--radius);padding:1.2rem 1.4rem}.idea-card .hook{margin:0 0 .4rem;font-size:1.08rem;font-weight:650}.idea-card .body{color:var(--text-dim);margin:0 0 .8rem}.tag{border:1px solid var(--card-edge);color:var(--text-dim);border-radius:999px;margin:.15rem .25rem .15rem 0;padding:.08rem .65rem;font-size:.78rem;display:inline-block}.tag.angle{color:var(--accent,var(--brand));border-color:var(--accent,var(--brand))}.variants{border-top:1px dashed var(--card-edge);margin-top:.8rem;padding-top:.7rem}.variants .platform{color:var(--text);font-weight:600}.variants blockquote{border-left:2px solid var(--card-edge);color:var(--text-dim);white-space:pre-wrap;margin:.3rem 0 .8rem;padding-left:.8rem;font-size:.92rem}.disclosure{color:var(--amber);margin-top:.7rem;font-size:.82rem}.callout{border:1px solid var(--card-edge);border-radius:var(--radius);background:linear-gradient(135deg,#8b5cf61f,#2dd4bf14);margin-top:2rem;padding:1rem 1.3rem}.callout h3{margin-top:0}.login-wrap{max-width:380px;margin:6vh auto}.login-wrap form{background:var(--card);border:1px solid var(--card-edge);border-radius:var(--radius);flex-direction:column;gap:.8rem;padding:1.4rem;display:flex}.login-wrap input{background:var(--bg-soft);border:1px solid var(--card-edge);color:var(--text);border-radius:8px;padding:.65rem .8rem;font-size:.95rem}.login-wrap button{background:linear-gradient(90deg, var(--violet), var(--teal));color:#0b0812;cursor:pointer;border:0;border-radius:8px;padding:.7rem;font-size:.95rem;font-weight:700}.login-error{color:var(--rose);font-size:.88rem}
