:root{font-family:'Varela Round',sans-serif;color:#493760;background:#eaf9fc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(at 10% 35%,#f2e6ff,transparent 55%),radial-gradient(at 95% 5%,#fff1c0,transparent 55%);min-height:100vh}header,main,footer{max-width:1050px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between}header img{object-fit:contain}a{color:#604080}h1,h2,h3,button{font-family:Fredoka,'Varela Round',sans-serif}h1{font-size:clamp(2.4rem,6vw,3.8rem);margin:12px 0}h2{font-size:2rem}h3{font-size:1.6rem;margin-top:0}.intro,.back{text-align:center}.intro>span{color:#6d5585}.intro p{font-size:1.25rem}#status{min-height:30px;text-align:center;line-height:1.7;max-width:650px;margin:20px auto}.card{background:#fffdf8;border:2px solid #e8dced;border-radius:28px;padding:30px;box-shadow:0 10px 0 #6d48820a}.narrow{max-width:490px;margin:auto}.switch{display:flex;gap:10px;margin-bottom:24px}.switch button{flex:1}.switch [aria-pressed=true]{background:#ead9fb;border-color:#79559d}label{display:grid;gap:9px;margin:18px 0;font-size:1.1rem}input{width:100%;font:inherit;padding:14px;border:2px solid #cdbcdc;border-radius:12px;background:white;color:#39294c;min-height:48px}button{font-size:1.1rem;padding:13px 20px;border-radius:16px;border:2px solid #d6c5e1;background:#f5effc;color:#493760;cursor:pointer;min-height:48px}.primary{width:100%;background:#76519c;color:white;border-color:#76519c;font-size:1.3rem;margin-top:16px}button:disabled{opacity:.65;cursor:default}.text{border:0;background:transparent;text-decoration:underline;padding:9px}.note{font-size:1rem;line-height:1.8;color:#61596e}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}.wide button{margin:5px}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer{text-align:center;font-size:.95rem}footer a{margin-inline-start:20px}[hidden]{display:none!important}:focus-visible{outline:3px solid #634088;outline-offset:4px}@media(max-width:600px){header,main,footer{padding:18px}header img{width:140px;height:95px}.grid{grid-template-columns:1fr}.card{padding:23px}.wide button{width:100%;margin:6px 0}.intro>span{font-size:.9rem}}
