:root{color:#0d0d0d;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f2f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.app-shell{background:radial-gradient(circle at 0 0,#6cd9ba47,#0000 32rem),radial-gradient(circle at 100% 100%,#f2c3353d,#0000 28rem),#f2f2f2;place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card,.dashboard{background:#f2f2f2;border:1px solid #468c7852;border-radius:28px;width:min(100%,480px);padding:28px;box-shadow:0 24px 60px #0d0d0d24}.brand{color:#0d0d0d;align-items:center;gap:10px;width:fit-content;margin-bottom:40px;font-weight:800;display:flex}.brand-mark{letter-spacing:-.08em;background:#6cd9ba;border:3px solid #0d0d0d;border-radius:15px 15px 15px 4px;place-items:center;width:48px;height:48px;font-size:.8rem;display:grid}.brand-name{letter-spacing:-.04em;font-size:1.05rem}.auth-copy h1,.dashboard-copy h1{letter-spacing:-.07em;max-width:12ch;margin:0;font-size:clamp(2.25rem,10vw,3.75rem);line-height:.94}.auth-copy>p:last-child,.dashboard-copy>p:last-child{color:#468c78;margin:16px 0 0;font-size:1rem;line-height:1.5}.eyebrow{color:#468c78;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:800}.auth-form{gap:18px;margin-top:32px;display:grid}.auth-form label{color:#0d0d0d;gap:8px;font-size:.9rem;font-weight:700;display:grid}.auth-form input{color:#0d0d0d;background:#f2f2f2;border:2px solid #468c78;border-radius:12px;outline:none;width:100%;min-height:52px;padding:0 14px}.auth-form input:focus{border-color:#0d0d0d;box-shadow:0 0 0 4px #6cd9ba7a}.button{border:2px solid #0d0d0d;border-radius:12px;min-height:52px;padding:0 18px;font-weight:800}.button--primary{color:#0d0d0d;background:#f2c335;box-shadow:4px 4px #0d0d0d}.button--primary:hover:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px #0d0d0d}.button--secondary{color:#0d0d0d;background:#6cd9ba;width:100%}.text-button{color:#468c78;text-underline-offset:3px;background:0 0;border:0;margin-top:24px;padding:6px 0;font-size:.9rem;font-weight:800;text-decoration:underline}.form-message{border-radius:10px;margin:0;padding:12px;font-size:.9rem;line-height:1.4}.form-message--error{background:#f2c335;border:1px solid #0d0d0d}.form-message--success{background:#6cd9ba;border:1px solid #468c78;margin-top:28px}.dashboard{gap:32px;display:grid}.dashboard .brand{margin-bottom:0}.dashboard-placeholder{background:#6cd9ba3d;border:2px dashed #468c78;border-radius:18px;gap:12px;padding:24px;display:grid}.dashboard-placeholder span{color:#f2c335;text-shadow:1px 1px #0d0d0d;font-size:2rem}.dashboard-placeholder p{margin:0;font-weight:650;line-height:1.5}.loading{color:#468c78;align-items:center;gap:12px;font-weight:800;display:flex}.loading-dot{background:#f2c335;border-radius:999px;width:16px;height:16px;animation:.8s ease-in-out infinite alternate bounce;box-shadow:2px 2px #0d0d0d}@keyframes bounce{to{transform:translateY(-8px)}}@media (width>=640px){.auth-card,.dashboard{padding:40px}}
