:root{--bg:#0f172a;--card:#1e293b;--field:#0f172a;--border:#334155;--text:#f1f5f9;--muted:#94a3b8;--label:#cbd5e1;--coral:#f87171;--sand:#d6c7b0;--mint:#6ee7b7;--green:#10b981;--teal:#0d9488;--gold:#fbbf24;--danger:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}a{color:var(--mint)}.topbar{color:#1f2937;background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;min-height:56px;padding:10px 26px;display:flex}.brand{color:#1f2937;font-family:Lato,sans-serif;font-size:1.25rem;font-weight:300;text-decoration:none}.topbar nav{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.topbar nav a,.topbar .link{color:#475569;font-family:Lato,sans-serif;font-size:.95rem;text-decoration:none}.topbar nav a:hover,.topbar .link:hover,.topbar nav a.active{color:#0f172a}.topbar nav a.active{text-decoration:underline;-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:6px;text-decoration-thickness:2px}.hero{text-align:center;padding:56px 16px 8px}.hero-title{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,6vw,2.3rem);font-weight:800}.gradient-text{background:linear-gradient(90deg, var(--coral) 0%, #f9a8a8 30%, var(--sand) 60%, var(--mint) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{color:#bfdbfe;max-width:420px;margin:14px auto 0;font-size:.95rem;line-height:1.5}main{padding:48px 16px 64px}.card{background:var(--card);border:1px solid var(--border);border-radius:24px;margin:0 auto;padding:32px;box-shadow:0 24px 48px #00000059}.narrow{max-width:448px}.wide{max-width:760px}.center{text-align:center}.card-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:8px;display:flex}.icon-tile{background:#f871711f;border:1px solid #f8717140;border-radius:16px;place-items:center;width:64px;height:64px;margin-bottom:18px;font-size:1.9rem;display:grid}.card-header h2{margin:0;font-size:1.3rem;font-weight:700}.card-sub{color:var(--muted);margin:6px 0 0;font-size:.82rem}h2{margin:0;font-size:1.2rem}form.card,.card.narrow{flex-direction:column;gap:16px;display:flex}label{letter-spacing:.04em;text-transform:uppercase;color:var(--label);flex-direction:column;gap:8px;font-size:.78rem;font-weight:700;display:flex}label.inline{flex-direction:row;align-items:center;gap:10px;display:inline-flex}label.plain{letter-spacing:normal;text-transform:none;font-size:.95rem;font-weight:500}input,select{font:inherit;letter-spacing:normal;text-transform:none;color:var(--text);background:var(--field);border:1px solid var(--border);border-radius:12px;outline:none;padding:13px 16px;font-size:1rem;font-weight:500;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #10b98140}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);padding:0}input[type=number]{width:110px}button{font:inherit;color:#fff;background:linear-gradient(90deg, var(--green), var(--teal));cursor:pointer;border:none;border-radius:12px;padding:14px 22px;font-size:1rem;font-weight:700;transition:transform .1s,filter .15s;box-shadow:0 10px 24px #10b98140}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:default}button.secondary{color:var(--label);border:1px solid var(--border);box-shadow:none;background:0 0}button.danger{color:var(--danger);box-shadow:none;background:0 0;border:1px solid #f8717166}button.small{padding:8px 14px;font-size:.88rem}button.big{padding:16px 40px;font-size:1.1rem}button.link{box-shadow:none;background:0 0;padding:0;font-weight:400}.muted{color:var(--muted)}.links{text-align:center;color:var(--muted);margin:4px 0 0;font-size:.88rem}.error{color:#fecaca;background:#f871711f;border-radius:10px;margin:0;padding:10px 14px;font-size:.9rem}.notice{color:#a7f3d0;background:#10b9811f;border-radius:10px;padding:12px 16px}.row{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.row.spread{justify-content:space-between}.row.centered{justify-content:center}table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.95rem}th{letter-spacing:.04em;text-align:left;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 8px;font-size:.75rem;font-weight:700}td{overflow-wrap:anywhere;border-bottom:1px solid #33415599;padding:12px 8px}.list{margin:8px 0 0;padding:0;list-style:none}.list li{background:var(--field);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:12px 16px;display:flex}.season{background:var(--field);border:1px solid var(--border);border-radius:16px;margin-top:24px;padding:20px}.badge{vertical-align:middle;color:var(--mint);background:#10b9811f;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.wheel-wrap{width:min(420px,100%);margin:28px auto;position:relative}.wheel{filter:drop-shadow(0 18px 30px #00000073);width:100%;height:auto;display:block}.pointer{z-index:1;color:var(--gold);text-shadow:0 3px 6px #00000080;font-size:2.3rem;line-height:1;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.result{background:var(--field);border:1px solid #10b98159;border-radius:16px;max-width:420px;margin:0 auto 22px;padding:18px;animation:.5s ease-out pop}.result p{margin:4px 0}.result-name{font-size:2rem;font-weight:800}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.result{animation:none}}@media (width<=520px){.card{padding:24px 18px}.topbar{padding:10px 16px}.hero{padding-top:36px}main{padding-top:32px}}button.google{color:#1f2937;background:#fff;justify-content:center;align-items:center;gap:12px;display:flex;box-shadow:0 10px 24px #00000040}.name-editor{align-items:center;gap:8px;display:flex}.name-editor input{width:100%;min-width:0;padding:8px 12px;font-size:.95rem}
