:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:radial-gradient(circle at top,rgba(255,199,77,.08),transparent 28%),linear-gradient(180deg,#0b0703,#080503);color:#f0e7d3}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{padding:48px 32px;background:radial-gradient(circle at top right,hsla(0,0%,100%,.05),transparent 28%),radial-gradient(circle at 20% 30%,rgba(255,199,77,.12),transparent 12%),linear-gradient(180deg,#090502,#050301)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 10%,rgba(255,199,77,.06),transparent 15%),radial-gradient(circle at 85% 10%,hsla(0,0%,100%,.04),transparent 8%);opacity:.9}.page-shell{max-width:1100px;margin:0 auto;gap:40px}.hero,.page-shell{display:flex;flex-direction:column}.hero{gap:18px}.hero-contributor,.hero-home,.hero-viewer{max-width:720px}.hero-home{text-align:center;margin:0 auto}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.8rem;color:#d6b76f;margin:0}h1{color:#fff;font-size:clamp(2.5rem,4vw,4.8rem);line-height:1.03}h1,p{margin:0}p{color:#d9ceac}.hero-contributor p,.hero-home p,.hero-viewer p{color:#d8caa0;max-width:56rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px;gap:24px;margin-top:24px}.card{display:block;padding:28px;border:1px solid rgba(255,199,77,.14);border-radius:28px;background:hsla(0,0%,100%,.03);color:inherit;text-decoration:none;box-shadow:0 32px 80px rgba(0,0,0,.18);transition:transform .22s ease,border-color .22s ease,background .22s ease}.card:hover{transform:translateY(-4px);border-color:rgba(255,199,77,.24);background:hsla(0,0%,100%,.06)}.card-subtitle{display:inline-block;margin-bottom:18px;color:#f4dfa1;letter-spacing:.18em;font-size:.8rem;text-transform:uppercase}.card h2{margin:0;font-size:1.9rem;color:#fff}.card p{margin-top:14px;color:#cec1a0;line-height:1.75}.card-action{display:inline-flex;align-items:center;margin-top:22px;color:#ffcf68;font-weight:600}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:24px;gap:24px}.contributor-box,.gallery-placeholder,.panel,.status-card{padding:28px;background:hsla(0,0%,100%,.03);border-radius:28px;border:1px solid rgba(255,199,77,.12)}.status-card{min-height:140px}.card-label,.module-note,.panel-meta{color:#d8caa0;font-size:.95rem}.status-card h2{margin:12px 0 0;font-size:2.75rem;color:#fff}.panel-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}.panel-header h2{margin:10px 0 0;font-size:2.2rem}.panel-meta{margin:0;color:#b8a67d}.module-list{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.module-row{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;padding:20px;border-radius:22px;background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.06)}.module-name{margin:0 0 6px;font-size:1rem;font-weight:600;color:#f7f0dc}.module-note{margin:0;color:#c7b590;font-size:.95rem}.module-status{align-self:center;font-size:.95rem;font-weight:600;color:#f3d88a;text-transform:uppercase;letter-spacing:.08em}.module-status.complete{color:#a8ff8c}.module-status.in-progress{color:#ffd167}.module-status.not-started,.module-status.unknown{color:#d8b182}.module-empty{padding:28px;border-radius:22px;background:hsla(0,0%,100%,.02);border:1px dashed rgba(255,199,77,.18)}.contributor-panel h2,.gallery-placeholder h2{margin:0 0 12px;font-size:1.8rem}.contributor-box p,.gallery-placeholder p,.module-empty p{margin-top:12px}.form-row{display:grid;grid-gap:16px;gap:16px}button,input{width:100%;padding:16px 18px;border-radius:18px;font-size:1rem}input{border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);color:#f8efd8}input::placeholder{color:hsla(39,70%,91%,.6)}button{border:none;background:#ffc65f;color:#100700;font-weight:700;cursor:pointer}button:hover{background:#e9b743}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#ff8f73}.success{color:#a1e79f}@media (max-width:760px){body{padding:28px 20px}.hero-home{text-align:left}.panel-header{flex-direction:column;align-items:flex-start}}