:root{color-scheme:light;--bg: #f4f6f9;--surface: #ffffff;--surface-alt: #f9fafb;--text: #0f172a;--muted: #475569;--border: #cbd5e1;--accent: #0f766e;--accent-strong: #115e59;--danger: #b91c1c;--shadow: 0 24px 48px rgba(15, 23, 42, .08);font-family:Geist,IBM Plex Sans,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,#e2e8f0 0%,var(--bg) 30%,#eef2ff 100%);color:var(--text)}a{color:inherit}.shell{margin:0 auto;max-width:1080px;min-height:100vh;padding:1.5rem 1rem 3rem;display:grid;grid-template-rows:auto 1fr auto;gap:1.5rem}.header{background:color-mix(in srgb,var(--surface) 92%,#e2e8f0 8%);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;flex-direction:column;gap:.25rem}.brand a{font-size:1.05rem;font-weight:700;text-decoration:none}.brand p{margin:0;color:var(--muted);font-size:.9rem}.progress{display:inline-flex;align-items:center;gap:.45rem}.dot{width:1.6rem;height:1.6rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-alt);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700}.dot.active{border-color:var(--accent);background:var(--accent);color:#fff}.line{width:1rem;height:2px;background:var(--border)}.main{display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow);padding:1.4rem;display:grid;gap:1rem}.hero h1{margin:0;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1}.hero p{margin:0}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.catalog-card{border:1px solid var(--border);border-radius:.85rem;padding:.9rem;background:var(--surface-alt);display:grid;gap:.75rem}.checkbox-row{display:inline-flex;align-items:center;gap:.45rem;font-weight:600}.form{display:grid;gap:.85rem}.challenge-panel{display:grid;gap:.35rem;padding:.6rem .7rem;border:1px dashed var(--border);border-radius:.65rem;background:var(--surface-alt)}.challenge-widget{min-height:1px}.field{display:grid;gap:.35rem}.field span{font-size:.88rem;font-weight:600}input,select{width:100%;border:1px solid var(--border);border-radius:.65rem;padding:.55rem .65rem;font:inherit;color:inherit;background:#fff}input:focus,select:focus,.button:focus{outline:2px solid var(--accent);outline-offset:2px}.button{border:1px solid var(--border);border-radius:.7rem;padding:.55rem .8rem;background:#fff;color:var(--text);font:inherit;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease,box-shadow .12s ease}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.65;cursor:not-allowed;transform:none}.button.primary{border-color:var(--accent);background:linear-gradient(130deg,var(--accent),var(--accent-strong));color:#fff}.muted{margin:0;color:var(--muted)}.error{margin:0;color:var(--danger)}.receipt{border:1px solid var(--border);border-radius:.75rem;background:var(--surface-alt);padding:.85rem;display:grid;gap:.35rem}.receipt p{margin:0}.footer{display:flex;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:.85rem}.footer a{text-decoration:none}@media(max-width:720px){.shell{padding:1rem .75rem 2rem}.header{flex-direction:column;align-items:flex-start}}
