:root{font-family:ui-rounded,'SF Pro Rounded',system-ui,-apple-system,sans-serif;color:#28243e;background:#f7f2ff;--accent:#7050a3;--soft:#ece1fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#fff1d3,transparent 55%),#f7f2ff;min-height:100dvh;padding: max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}main{max-width:1080px;margin:auto}button,input,select{font:inherit;font-size:20px}button,.button{min-height:64px;border:2px solid transparent;border-radius:22px;padding:14px 22px;background:white;color:#302640;font-weight:750;box-shadow:0 4px 0 #30264012;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:active{transform:translateY(2px);box-shadow:none}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:4px solid #b97500;outline-offset:3px}.primary{background:var(--accent);color:white}.secondary{background:var(--soft)}.big{font-size:26px;min-height:86px}.danger{border-color:#856d76}h1{font-size:clamp(32px,5vw,52px);letter-spacing:-1.5px;line-height:1.1;margin:18px 0}h2{font-size:28px}h3{font-size:22px}p{line-height:1.6}small,.muted{color:#635b70}header,.row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}header{justify-content:space-between;margin-bottom:22px}.brand{font-weight:850;letter-spacing:-1px;font-size:25px}.eyebrow{text-transform:uppercase;font-size:14px;letter-spacing:2px;font-weight:800;color:var(--accent)}.intro{text-align:center;margin:40px auto 28px}.intro p{font-size:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.card{border-radius:30px;padding:28px;background:#fff;box-shadow:0 8px 28px #38205b09;border:1px solid #e4dcec}.profile{display:flex;align-items:center;text-align:left;gap:22px;min-height:174px;border:3px solid var(--accent);background:var(--soft)}.profile strong{display:block;font-size:28px}.avatar{font-size:64px}.pill{border-radius:30px;background:white;padding:12px 18px;font-weight:700}.goal{margin:30px auto;max-width:700px;background:#fff8e5}.meter{height:18px;background:#e8e0cd;border-radius:20px;overflow:hidden}.meter span{display:block;height:100%;background:#b87913;transition:width .4s}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.home-hero{text-align:center;padding:28px}.home-controls h2{margin-top:28px}.home-controls .home-actions{margin:0}.home-controls .themes{display:grid;grid-template-columns:1fr 1fr}.home-controls .themes button{padding:12px}.mascot{font-size:100px;display:block}.home-actions{max-width:620px;margin:22px auto;display:grid;gap:16px}.themes{display:flex;gap:12px;flex-wrap:wrap}.selected{border-color:var(--accent);background:var(--soft)}.question-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:28px;align-items:start}.question-card{min-height:350px}.prompt{font-size:clamp(32px,3.8vw,44px);line-height:1.35;margin:18px 0}.dots{display:flex;gap:9px;align-items:center}.dot{width:16px;height:16px;border:2px solid var(--accent);border-radius:50%}.dot.filled{background:var(--accent)}.answer{font-size:36px;text-align:center;border:2px solid var(--accent);border-radius:20px;min-height:76px;padding:12px;background:white;overflow-wrap:anywhere}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.numpad button{min-height:72px;font-size:27px;padding:10px}.numpad .check{grid-column:span 2;background:var(--accent);color:white}.choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choices button{font-size:28px;min-height:100px;border:2px solid #ded2ea}.answer-panel{min-width:0;width:100%}.feedback{background:#edf5e9;border:2px solid #adcba1;margin:0;scroll-margin-block:20px}.feedback h2{font-size:26px;margin:0 0 12px}.feedback p{margin:12px 0}.feedback .row{display:grid}.feedback.miss{background:#fff6e7;border-color:#dac297}.visual{margin:20px auto;text-align:center}.visual svg{max-width:100%;max-height:230px;color:var(--accent)}.objects{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.object{font-size:32px;padding:6px;position:relative;min-width:64px;min-height:64px;background:#f7f2ff}.object.marked{background:#d5edcc;outline:3px solid #4e7445}.object.removed:after{content:'╱';position:absolute;inset:0;color:#655369;font-size:52px}.object.removed{opacity:.55}.added{border:2px dashed var(--accent)}.reward{text-align:center}.reward .star-total{font-size:68px}.shelf{min-height:130px;background:#fff6df;border-bottom:10px solid #d2ab80;display:flex;gap:20px;align-items:center;justify-content:center;font-size:52px;flex-wrap:wrap}.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}.shop button{display:flex;flex-direction:column;gap:8px;align-items:center;border:2px solid #e4dcec}.shop .emoji{font-size:44px}.locked .emoji{filter:grayscale(.8);opacity:.6}.gate{max-width:390px;margin:35px auto;text-align:center}.pin-dots{font-size:40px;letter-spacing:14px;min-height:60px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:8px;font-weight:650}input,select{width:100%;min-height:64px;padding:14px;border:2px solid #c4b7cf;border-radius:15px;background:white;color:#28243e}input[type=checkbox]{width:30px;min-height:30px}.toggle{flex-direction:row;align-items:center;min-height:64px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:16px}th,td{text-align:left;padding:14px 9px;border-bottom:1px solid #e5deed}th{background:#f6f1fc}dialog{max-width:620px;width:calc(100% - 32px);border:0;border-radius:28px;padding:28px;color:#28243e}dialog::backdrop{background:#28243e80}.stack{display:grid;gap:18px}.spaced{margin-top:24px}.close-row{display:flex;justify-content:flex-end}.confetti{position:fixed;inset:0;pointer-events:none;z-index:20}.star-burst{position:fixed;inset:35% 0 auto;text-align:center;font-size:70px;pointer-events:none;z-index:21;animation:burst 1s ease-out forwards}#notice:not(:empty){background:#fff0c9;border-radius:16px;padding:16px;margin:auto auto 18px;max-width:1080px}.screen{animation:enter .22s ease-out}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes burst{from{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.4) translateY(-70px)}}@media(max-width:899px),(orientation:portrait){.question-layout,.home-layout{grid-template-columns:minmax(0,1fr)}.question-card{min-height:0}.answer-panel{max-width:640px;width:100%;margin:auto}.visual svg{max-height:180px}.intro{margin-top:20px}.form-grid{grid-template-columns:1fr}.card{padding:20px}.avatar{font-size:50px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.profile span{min-width:0}.profile strong,h1,p{overflow-wrap:anywhere}.numpad .check{grid-column:1 / -1}

h1[tabindex="-1"]:focus:not(:focus-visible){outline:none}

.coin-visual svg{max-height:330px}

.update-banner{padding:.65rem 1rem;border-radius:12px;background:var(--soft,#eee4fb);text-align:center;font-size:.9rem;}
