:root{--bg:#0e0b12;--surface:#17121d;--surface-2:#211827;--text:#f8f2ed;--muted:#b8abb9;--accent:#c99a62;--accent-2:#8f2f54;--line:rgba(255,255,255,.11);--danger:#bd4f5c;--success:#4c9b79;--radius:18px;--shadow:0 24px 60px rgba(0,0,0,.34);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 8%,rgba(143,47,84,.22),transparent 30%),radial-gradient(circle at 90% 12%,rgba(201,154,98,.12),transparent 28%);z-index:-1}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}input,textarea{width:100%;border:1px solid var(--line);background:#100c14;color:var(--text);border-radius:12px;padding:.9rem 1rem;outline:none}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,154,98,.13)}textarea{resize:vertical}label{display:grid;gap:.45rem;font-weight:700}label small,.small-copy,.muted{color:var(--muted);font-weight:400}.site-header,.admin-topbar{min-height:76px;padding:0 clamp(1rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(14,11,18,.88);backdrop-filter:blur(18px);z-index:20}.brand{font-family:Georgia,serif;font-weight:800;letter-spacing:.18em;font-size:1.2rem}.brand span{font-family:Inter,sans-serif;font-size:.65rem;color:var(--accent);letter-spacing:.12em}.site-header nav,.admin-topbar nav{display:flex;gap:1.4rem;align-items:center}.site-header nav a,.admin-topbar nav a{color:var(--muted);font-weight:700;font-size:.92rem}.site-header nav a:hover,.admin-topbar nav a:hover{color:var(--text)}.nav-cta{border:1px solid var(--accent);padding:.6rem 1rem;border-radius:999px;color:var(--text)!important}.menu-button{display:none;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:.55rem .8rem}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center;padding:clamp(3rem,8vw,7rem) clamp(1.2rem,7vw,7rem);max-width:1500px;margin:auto}.hero-copy{max-width:760px}.eyebrow{display:block;color:var(--accent);letter-spacing:.18em;font-size:.76rem;font-weight:900;margin-bottom:1rem}.hero h1,.form-page h1,.legal-page h1,.admin-shell h1,.login-card h1{font:700 clamp(2.8rem,7vw,6.6rem)/.95 Georgia,serif;letter-spacing:-.045em;margin:.1em 0 .35em}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:1rem;margin:2rem 0;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;padding:.82rem 1.15rem;color:var(--text);background:transparent;font-weight:800;cursor:pointer;transition:.18s ease}.button:hover{transform:translateY(-1px);border-color:var(--accent)}.button.primary{background:linear-gradient(135deg,var(--accent-2),#5c2139);border-color:#a24466;box-shadow:0 10px 28px rgba(143,47,84,.24)}.button.ghost{background:rgba(255,255,255,.025)}.button.danger{border-color:rgba(189,79,92,.6);color:#ffdce0}.button.small{padding:.5rem .75rem;font-size:.85rem}.button.wide{width:100%;margin-top:.65rem}.safety-line{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.84rem}.safety-line span:before{content:"✓";color:var(--accent);margin-right:.4rem}.portrait-placeholder{aspect-ratio:4/5;border:1px solid var(--line);border-radius:40% 40% var(--radius) var(--radius);background:linear-gradient(160deg,rgba(201,154,98,.17),rgba(143,47,84,.23)),repeating-linear-gradient(135deg,transparent 0 20px,rgba(255,255,255,.018) 20px 21px);display:grid;place-content:center;text-align:center;box-shadow:var(--shadow)}.portrait-placeholder span{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);letter-spacing:.18em;color:rgba(255,255,255,.72)}.portrait-placeholder small{color:var(--muted)}.section-space{padding:clamp(4rem,9vw,8rem) clamp(1.2rem,7vw,7rem)}.content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;max-width:1400px;margin:auto}.content-grid h2,.dark-section h2,.cta-section h2{font:700 clamp(2.3rem,5vw,4.5rem)/1 Georgia,serif;margin:0}.prose{color:var(--muted);font-size:1.06rem}.dark-section{background:rgba(255,255,255,.025);border-block:1px solid var(--line)}.section-heading{max-width:1400px;margin:0 auto 3rem}.rules-layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw}.rule-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.rule-cards article,.metric-grid article{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:1.3rem;display:grid;gap:.4rem}.rule-cards strong{font-family:Georgia,serif;font-size:1.4rem}.rule-cards span{color:var(--muted)}.text-link{color:var(--accent);font-weight:800}.cta-section{text-align:center;padding:clamp(5rem,10vw,9rem) 1.2rem;background:linear-gradient(135deg,rgba(143,47,84,.22),rgba(201,154,98,.1));border-block:1px solid var(--line)}.cta-section p{color:var(--muted);max-width:650px;margin:1rem auto 2rem}.site-footer{display:flex;justify-content:space-between;gap:2rem;padding:3rem clamp(1.2rem,7vw,7rem);color:var(--muted)}.site-footer nav{display:flex;gap:1rem;flex-wrap:wrap}.site-footer strong{color:var(--text);letter-spacing:.15em}.age-gate{position:fixed;inset:0;z-index:100;background:rgba(4,3,5,.92);backdrop-filter:blur(18px);display:grid;place-items:center;padding:1rem}.age-card{max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(1.5rem,5vw,3rem);text-align:center;box-shadow:var(--shadow)}.age-mark{display:grid;place-items:center;width:80px;height:80px;border:1px solid var(--accent);border-radius:50%;margin:auto;color:var(--accent);font:700 2rem Georgia,serif}.age-card h2{font:700 2.4rem Georgia,serif;margin:.7rem 0}.age-card p{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.1rem,3vw,1.8rem);box-shadow:0 14px 40px rgba(0,0,0,.16)}.form-page,.legal-page,.install-shell,.login-shell{max-width:1050px;margin:auto;padding:clamp(3rem,8vw,7rem) 1.2rem}.form-intro{max-width:800px;margin-bottom:2rem}.request-form,.stack-form{display:grid;gap:1.15rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-stack{display:grid;gap:.75rem;border-block:1px solid var(--line);padding:1.2rem 0}.checkbox-stack label{display:flex;align-items:flex-start;font-weight:500}.checkbox-stack input{width:auto;margin:.35rem .7rem 0 0}.flash{max-width:1200px;margin:1rem auto;padding:1rem 1.2rem;border-radius:12px;border:1px solid var(--line)}.flash-success{background:rgba(76,155,121,.15);border-color:rgba(76,155,121,.45)}.flash-error{background:rgba(189,79,92,.15);border-color:rgba(189,79,92,.48)}.flash-info{background:rgba(201,154,98,.12);border-color:rgba(201,154,98,.4)}.notice{padding:1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--muted)}.install-page,.admin-login-page{min-height:100vh}.install-shell,.login-shell{display:grid;place-items:center;min-height:calc(100vh - 76px)}.install-shell .panel,.login-card{width:min(100%,620px)}.private-shell{max-width:1400px;margin:auto;padding:clamp(2rem,5vw,4rem) 1.2rem;display:grid;grid-template-columns:340px 1fr;gap:1.2rem}.private-sidebar{align-self:start;position:sticky;top:96px}.private-sidebar h1{font:700 2.8rem Georgia,serif;margin:.2rem 0 1.5rem}.status-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--line)}.status-row span{color:var(--muted)}.chat-panel{padding:0;overflow:hidden}.chat-panel>header{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.5rem;border-bottom:1px solid var(--line)}.chat-panel h2{margin:0;font-family:Georgia,serif}.live-dot{font-size:.78rem;color:var(--muted)}.live-dot:before{content:"";display:inline-block;width:8px;height:8px;background:var(--success);border-radius:50%;margin-right:.4rem}.chat-messages{height:58vh;min-height:430px;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.chat-messages.static{height:460px;min-height:0}.message{max-width:min(78%,680px);padding:.8rem 1rem;border-radius:15px;background:var(--surface-2);border:1px solid var(--line);align-self:flex-start}.message.client{align-self:flex-end;background:rgba(143,47,84,.22)}.message.system{align-self:center;text-align:center;color:var(--muted);font-size:.9rem}.message small{display:block;color:var(--muted);font-size:.72rem;margin-top:.35rem}.chat-form{display:flex;gap:.75rem;padding:1rem;border-top:1px solid var(--line);align-items:flex-end}.chat-form textarea{min-height:72px}.chat-form .button{height:48px}.admin-shell{max-width:1500px;margin:auto;padding:2rem clamp(1rem,4vw,4rem) 5rem}.admin-shell.narrow{max-width:1000px}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.admin-heading h1{font-size:clamp(2.4rem,5vw,4.5rem)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.metric-grid span{color:var(--muted)}.metric-grid strong{font:700 2.5rem Georgia,serif}.panel-title{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.panel-title h2{margin:0;font-family:Georgia,serif}.panel-title span{color:var(--muted);font-size:.85rem}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:.9rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.badge{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:800}.status-new{border-color:var(--accent);color:var(--accent)}.status-approved{border-color:var(--success);color:#8ed9b8}.status-blocked,.status-rejected{border-color:var(--danger);color:#ff9daa}.admin-two-column{display:grid;grid-template-columns:.85fr 1.15fr;gap:1rem}.stack{display:grid;gap:1rem;align-content:start}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.action-grid form,.action-grid .button{width:100%}.token-box{margin-bottom:1rem;padding:1.2rem;border:1px solid var(--accent);border-radius:var(--radius);background:rgba(201,154,98,.1)}.copy-row{display:flex;gap:.7rem;margin:.7rem 0}.back-link{display:block;color:var(--muted);margin-bottom:1rem}.tribute-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:.7rem;align-items:end}.tribute-list{display:grid;gap:.5rem;margin-top:1rem}.tribute-list>div{display:grid;grid-template-columns:100px 1fr auto;gap:.7rem;padding:.7rem 0;border-top:1px solid var(--line)}code{background:#0b0810;padding:.15rem .35rem;border-radius:5px}
@media(max-width:900px){.site-header nav{display:none;position:absolute;left:1rem;right:1rem;top:70px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.menu-button{display:block}.admin-topbar nav a:not(:last-child){display:none}.hero,.content-grid,.rules-layout,.private-shell,.admin-two-column{grid-template-columns:1fr}.hero{padding-top:3rem}.portrait-placeholder{max-height:620px}.private-sidebar{position:static}.metric-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.site-footer{flex-direction:column}.tribute-form{grid-template-columns:1fr}.chat-messages{height:50vh}.detail-list>div{grid-template-columns:1fr}.admin-heading{align-items:flex-start;flex-direction:column}.rule-cards{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.hero h1{font-size:3.2rem}.rule-cards,.metric-grid{grid-template-columns:1fr}.site-header{min-height:66px}.admin-topbar{padding-inline:1rem}.chat-form{flex-direction:column;align-items:stretch}.chat-form .button{width:100%}.message{max-width:92%}.copy-row{flex-direction:column}.action-grid{grid-template-columns:1fr}}
