*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;overflow:hidden;background:#d6eefb}button,input{font:inherit}.answer-choices{height:100%;display:grid;grid-template-rows:repeat(3,minmax(72px,1fr));gap:clamp(10px,1.9vh,20px)}.answer-button{width:100%;min-height:72px;border:none;border-radius:18px;background:linear-gradient(135deg,#fff,#dff2ff);box-shadow:0 4px 10px #08203317;color:#082033;font-size:clamp(2rem,8vmin,3.6rem);font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.answer-button:hover{box-shadow:0 8px 20px #08203329}.answer-button:active{transform:scale(.99)}.answer-button:focus-visible{outline:3px solid #1294d8;outline-offset:3px}.answer-button:disabled{cursor:not-allowed;filter:saturate(.35);box-shadow:0 2px 8px #08203314}.feedback-banner{width:100%;border-radius:18px;border:1px solid rgba(9,32,51,.1);padding:clamp(10px,1.8vw,18px);text-align:center}.feedback-banner.success{background:#caf9e0d1}.feedback-banner.error{background:#ffe2d6e0}.feedback-message{margin:0;font-size:clamp(1.1rem,2.8vw,1.7rem);font-weight:800}.feedback-time{margin:4px 0 0;color:#274f67;font-size:clamp(.95rem,2.1vw,1.15rem);font-weight:700;font-variant-numeric:tabular-nums}.problem-card{border-radius:20px;padding:clamp(14px,2vw,22px);background:#ebf7ffe6;border:1px solid rgba(9,32,51,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.problem-label{margin:0;color:#2f627f;font-size:clamp(.9rem,1.9vw,1.06rem);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.problem-text{margin:0;font-size:clamp(2.2rem,11vmin,5rem);line-height:1;font-variant-numeric:tabular-nums}.start-gate{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.start-card{width:min(760px,100%);background:#ffffffc7;border:1px solid rgba(9,32,51,.14);border-radius:26px;padding:clamp(18px,3.6vw,34px);display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1.8vh,16px);text-align:center}.start-chip{margin:0;padding:6px 12px;border-radius:999px;background:#d3edfc;color:#114666;font-weight:700;font-size:clamp(.8rem,1.6vw,.96rem);letter-spacing:.05em;text-transform:uppercase}.start-title{margin:0;font-size:clamp(1.5rem,4.4vw,2.5rem);line-height:1.1}.start-description{margin:0;max-width:60ch;color:#2c5d79;font-weight:600;font-size:clamp(.98rem,2.4vw,1.25rem)}.start-button{width:min(400px,100%);min-height:74px;border:none;border-radius:18px;background:linear-gradient(135deg,#0f8ece,#0d6fa4);color:#fff;font-size:clamp(1.1rem,3vw,1.6rem);font-weight:800;cursor:pointer;transition:transform .12s ease,filter .12s ease}.start-button:active{transform:scale(.99)}.start-button:disabled{cursor:wait;filter:saturate(.6)}.success-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;background:#14a34ae6;animation:successFadeIn .2s ease;pointer-events:none}.success-content{text-align:center;color:#fff;padding:clamp(18px,4vw,42px)}.success-icon{width:clamp(68px,9vmin,96px);height:clamp(68px,9vmin,96px);margin:0 auto clamp(10px,2vh,16px);animation:successPopIn .3s ease}.success-icon svg{width:100%;height:100%}.success-title{margin:0;font-size:clamp(2rem,6vmin,3.4rem);font-weight:900;line-height:1}.success-time-label{margin:clamp(8px,1.8vh,16px) 0 0;font-size:clamp(1.05rem,2.8vmin,1.5rem);font-weight:700;opacity:.95;text-transform:uppercase;letter-spacing:.08em}.success-time-value{margin:4px 0 0;font-size:clamp(3.2rem,14vmin,7.2rem);font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 5px 20px rgba(0,0,0,.28)}@keyframes successFadeIn{0%{opacity:0}to{opacity:1}}@keyframes successPopIn{0%{transform:scale(0)}70%{transform:scale(1.18)}to{transform:scale(1)}}.timer-display{border-radius:16px;border:1px solid rgba(9,32,51,.12);background:#ffffffe6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:clamp(10px,1.7vw,16px)}.timer-display.active{box-shadow:0 0 0 3px #26aaea33}.timer-label{font-size:clamp(.92rem,2vw,1.08rem);color:#315f78;font-weight:700}.timer-value{font-size:clamp(1.25rem,3.4vw,2rem);color:#0f415f;font-variant-numeric:tabular-nums}:root{--panel-bg: rgba(255, 255, 255, .74);--panel-border: rgba(9, 32, 51, .12);--text-main: #082033;--text-soft: #2d5e7a}.app-shell{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;width:100%;display:flex;flex-direction:column;gap:clamp(10px,2vh,24px);padding-top:calc(10px + env(safe-area-inset-top));padding-right:calc(14px + env(safe-area-inset-right));padding-bottom:calc(12px + env(safe-area-inset-bottom));padding-left:calc(14px + env(safe-area-inset-left));background:radial-gradient(140% 120% at 8% 0%,#fff,#eef8ff 45%,#d6eefb),linear-gradient(135deg,#ddf2fc,#eff9ff);color:var(--text-main);overflow:hidden}.quickmath-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.quickmath-title{margin:0;font-size:clamp(1.5rem,3.8vw,2.6rem);letter-spacing:.03em;text-transform:lowercase;line-height:1}.quickmath-subtitle{margin:0;font-size:clamp(.92rem,2vw,1.2rem);font-weight:700;color:var(--text-soft)}.practice-layout{flex:1;min-height:0;display:grid;gap:clamp(12px,2vh,24px)}.problem-panel,.choices-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:24px;padding:clamp(12px,2.4vw,24px);min-height:0}.problem-panel{display:flex;flex-direction:column;gap:clamp(10px,2vh,18px)}.practice-help{margin:0;text-align:center;font-size:clamp(.95rem,2.2vw,1.2rem);font-weight:650;color:var(--text-soft)}.feedback-slot{min-height:clamp(90px,16vh,160px);display:flex;align-items:center;justify-content:center}.feedback-placeholder{margin:0;text-align:center;color:#4f788f;font-size:clamp(.9rem,2.1vw,1.08rem);font-weight:600}.choices-panel{display:flex;flex-direction:column;justify-content:center}@media(orientation:portrait){.quickmath-header{align-items:flex-start;gap:4px}.practice-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}}@media(orientation:landscape){.practice-layout{grid-template-columns:minmax(290px,44%) 1fr;grid-template-rows:1fr;align-items:stretch}}@media(max-width:840px){.problem-panel,.choices-panel{border-radius:18px}}
