:root{color-scheme:dark;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;--bg: #050505;--bg-soft: #0f1012;--panel: #121316;--panel-strong: #17191d;--text: #f3f4f6;--muted: #a0a6b3;--accent: #8ce8ff;--accent-warm: #ffd08a;--border: #2a2f38}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(140,232,255,.14),transparent 45%),radial-gradient(circle at 90% 100%,rgba(255,208,138,.15),transparent 35%),linear-gradient(170deg,#040404,#0a0b0c 60%,#101215);color:var(--text)}#root{min-height:100vh}.page-shell{width:min(1200px,92vw);margin:0 auto;padding:3.5rem 0 4rem}.hero{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;margin-bottom:2.5rem;animation:rise .52s ease both}.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--accent)}.hero h1{margin:0;font-size:clamp(2rem,6vw,4.2rem);line-height:1;letter-spacing:-.03em}.hero-copy{margin:.8rem 0 0;color:var(--muted);max-width:55ch}.logout-btn{border:1px solid var(--border);background:#ffffff05;color:var(--text);padding:.65rem 1rem;border-radius:999px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.logout-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.project-card{grid-column:span 6;min-height:280px;padding:1.4rem;border-radius:20px;border:1px solid var(--border);background:linear-gradient(155deg,#ffffff05,#fff0),var(--panel);text-decoration:none;color:inherit;display:flex;flex-direction:column;justify-content:space-between;gap:.7rem;transition:transform .25s ease,border-color .25s ease,background-color .25s ease;animation:rise .62s ease both}.project-card:hover{border-color:#8ce8ffb3;transform:translateY(-4px);background-color:var(--panel-strong)}.project-category{margin:0;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.project-card h3{margin:0;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.02em}.project-tagline{margin:0;font-size:1.04rem;color:#dce2eb}.project-description{margin:0;color:var(--muted)}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.status-pill{border:1px solid rgba(255,208,138,.5);color:var(--accent-warm);border-radius:999px;padding:.3rem .65rem;font-size:.78rem}.open-link{color:#d0d7e2;font-size:.92rem}.auth-shell,.setup-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card,.setup-card{width:min(560px,100%);border:1px solid var(--border);background:linear-gradient(165deg,#ffffff05,#fff0);border-radius:20px;padding:1.5rem}.auth-card h1,.setup-card h1{margin:0 0 .4rem}.auth-copy{color:var(--muted);margin:0 0 1.2rem}.google-signin-btn{width:100%;margin-top:.2rem;background:linear-gradient(100deg,#8ce8ff2e,#ffd08a24);border:1px solid rgba(140,232,255,.4);color:var(--text);padding:.72rem;border-radius:10px;cursor:pointer;font-weight:600}.google-signin-btn:disabled,.logout-btn:disabled{cursor:default;opacity:.7}.allowlist-hint,.status-message,.setup-card p{color:var(--muted);margin:.8rem 0 0}.status-message.success{color:#9effc6}.status-message.error{color:#ffafaf}code{color:#f2d6aa}@media (max-width: 900px){.hero{flex-direction:column;margin-bottom:1.7rem}.project-card{grid-column:span 12;min-height:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
