.profile-import-description[data-v-9ae47715]{color:var(--color-muted);margin-top:0;line-height:1.7}.profile-import-label[data-v-9ae47715]{margin:1.25rem 0 .45rem;font-weight:800;display:block}.profile-import-textarea[data-v-9ae47715]{border:1px solid var(--color-border);width:100%;min-height:10rem;color:var(--color-ink);resize:vertical;background:#fff;border-radius:.75rem;padding:.75rem;font:.82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.profile-import-notice[data-v-9ae47715]{color:#218b6d;min-height:1.7rem;margin:.75rem 0;font-weight:700;line-height:1.5}.profile-import-notice--error[data-v-9ae47715]{color:#c94242}.profile-import-submit[data-v-9ae47715]{width:100%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#29304a;--color-ink:#29304a;--color-muted:#71768a;--color-paper:#fffdf8;--color-canvas:#fff8ed;--color-border:#eadff4;--color-accent:#ff8a5c;--color-accent-hover:#ea6840;--color-focus:#246da8;--color-yellow:#ffd65a;--color-orange-dark:#ea6840;--color-mint:#72d8bc;--color-pink:#ffb8ca;--color-pink-soft:#ffd4df;--color-lavender:#cbbcff;--radius-card:1rem;--shadow-card:0 .4rem 1.4rem #48341e14;--shadow-legacy:0 14px 0 #ffb8ca38, 0 22px 46px #4e41281c;background:#fff8ed;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(circle at 9% 14%, #ffd65a6b 0 66px, transparent 67px), radial-gradient(circle at 91% 82%, #72d8bc57 0 105px, transparent 106px), radial-gradient(circle, #ffb8ca3d 0 3px, transparent 3.5px) 0 0 / 42px 42px, var(--color-canvas);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,a{color:inherit;font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.app-shell{width:min(100% - 2rem,68rem);min-height:100vh;padding-block:1rem calc(8rem + env(safe-area-inset-bottom,0px));margin-inline:auto}.app-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.brand{color:var(--color-ink);font-size:1.15rem;font-weight:800;text-decoration:none}.app-header nav{flex-wrap:wrap;gap:.4rem;display:flex}.app-header nav a{color:var(--color-muted);border-radius:999px;padding:.55rem .75rem;text-decoration:none}.app-header nav a.router-link-active{color:var(--color-accent-hover);background:#f8e4d6;font-weight:700}.app-header nav .profile-import-trigger{color:#a94e6a;cursor:pointer;white-space:nowrap;background:#fff4f6;border:1px solid #e5a2b1;border-radius:999px;padding:.5rem .75rem;font-weight:700}.app-header nav .profile-import-trigger:hover{background:#ffe8ed}.app-header nav .profile-import-trigger:disabled{cursor:default;opacity:.58}.legacy-practice-route{display:none}.persistence-notice{background:#fff4df;border:1px solid #c65d35;border-radius:.75rem;margin-block:1rem;padding:1rem}.persistence-notice p{margin:0;line-height:1.5}.navigation-notice{color:#8a3d55;background:#fff1f3;border:2px solid #f2a0a8;border-radius:.9rem;margin-block:1rem;padding:.8rem 1rem;font-weight:800}.navigation-notice p{margin:0;line-height:1.5}.page-content{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-paper);max-width:46rem;box-shadow:var(--shadow-card);margin:clamp(2rem,8vh,5rem) auto;padding:clamp(1.25rem,5vw,3rem)}.practice-page{max-width:72rem}.page-content h1,.error-panel h1{margin-block:.25rem .75rem;font-size:clamp(1.6rem,5vw,2.4rem)}.page-content p,.error-panel p{line-height:1.7}.eyebrow{color:var(--color-accent-hover);letter-spacing:.08em;font-size:.85rem;font-weight:800}.setup-note{color:var(--color-muted);background:#fff4df;border-radius:.75rem;margin-top:2rem;padding:1rem}.error-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-paper);width:min(100% - 2rem,38rem);margin:10vh auto;padding:2rem}.button,.icon-button{background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:.75rem;min-height:2.75rem;font-weight:700}.button{padding:.65rem 1rem}.button:hover{background:var(--color-accent-hover)}.button:disabled{cursor:default;opacity:.58}.icon-button{width:2.75rem;color:var(--color-muted);background:0 0;font-size:1.5rem}.modal-backdrop{z-index:1000;background:#241e188c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-panel{border-radius:var(--radius-card);background:var(--color-paper);width:min(100%,38rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-card);overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem .75rem 1.5rem;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-content{padding:1.5rem}.page-intro,.topic-description{color:var(--color-muted)}.field-label,.count-picker legend{margin:1.5rem 0 .5rem;font-weight:800;display:block}.select-control{border:1px solid var(--color-border);width:100%;min-height:3rem;color:var(--color-ink);font:inherit;background:#fff;border-radius:.75rem;padding:.6rem .75rem}.count-picker{border:0;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0;padding:0;display:flex}.count-picker legend{width:100%}.choice-card{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:.75rem;align-items:center;gap:.5rem;min-width:8rem;padding:.8rem 1rem;display:flex}.choice-card.selected{border-color:var(--color-accent);background:#fff1e8;font-weight:800}.start-button{width:100%;margin-top:.5rem;font-size:1.1rem}.session-stats{background:#fff1e8;border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:1rem 0;padding:.9rem 1rem;display:flex}.session-stats strong{font-size:1.2rem}.question-board-scroll{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.question-board{grid-template-columns:repeat(var(--board-columns), minmax(3.2rem, 1fr));background:#fff;border:2px solid #f2b8c8;border-radius:.8rem;gap:0;width:max-content;min-width:100%;padding:.45rem;display:grid;box-shadow:inset 0 0 0 .2rem #fff,0 .45rem 1.1rem #42486914}.board-header,.question-cell{border-bottom:1px solid #efcbd4;border-right:1px solid #efcbd4;justify-content:center;align-items:center;min-width:3.2rem;min-height:3.6rem;display:flex;position:relative}.board-header{color:#545c79;background:#fff1f5;font-size:1.05rem;font-weight:800}.board-header.corner{color:#fff;background:linear-gradient(145deg,#ffb4c8,#ff8eac);font-size:1.35rem}.question-cell{color:var(--color-ink);cursor:pointer;font:inherit;background:#fff;border-top:0;border-left:0;border-radius:0;padding:.15rem;font-size:1rem;font-weight:700;overflow:hidden}.question-number{color:#a18ca4;pointer-events:none;font-size:.62rem;font-weight:900;line-height:1;position:absolute;top:.2rem;left:.3rem}.cell-answer{font-variant-numeric:tabular-nums;min-height:1.2em}.correct-mark{color:#f67;pointer-events:none;border:.18rem solid #f67;border-radius:50%;place-items:center;font-size:1.1rem;line-height:1;display:grid;position:absolute;inset:.25rem .35rem;transform:rotate(-8deg)}.question-cell.active{z-index:1;outline-offset:-2px;background:#eef6ff;border-color:#6aa9ff;outline:2px solid #6aa9ff;font-weight:800}.question-cell.solved{color:#208a6d;background:#eafff8}.question-cell.mistaken:not(.solved){color:#c94242;background:#fff0eb}.question-cell:disabled{cursor:default}.answer-panel,.ready-panel,.completion-panel{border:1px solid var(--color-border);background:#fffdf8;border-radius:.9rem;margin-top:1.25rem;padding:clamp(1rem,4vw,1.5rem)}@media (width>=56rem){.practice-page--active{grid-template-columns:minmax(0,1fr) minmax(18rem,20rem);grid-template-areas:"topic topic""heading heading""stats stats""board answer""stop stop";align-items:start;column-gap:clamp(1.25rem,3vw,2rem);display:grid}.practice-page--active>.eyebrow{grid-area:topic}.practice-page--active>h1{grid-area:heading}.practice-page--active>.session-stats{grid-area:stats}.practice-page--active>.question-board-scroll{grid-area:board}.practice-page--active>.answer-panel{grid-area:answer;min-width:0;margin-top:0}.practice-page--active>.text-button{grid-area:stop}}.completion-panel h2{color:#de587a;margin-top:0}.result-summary{background:#fff8fa;border:3px solid #ffd0dc;border-radius:1rem;gap:.55rem;padding:.8rem;display:grid}.result-summary p{background:#fff;border-radius:.7rem;justify-content:space-between;gap:.75rem;margin:0;padding:.6rem .7rem;font-weight:800;display:flex}.result-summary p:first-child{color:#218b6d}.result-summary p:last-child{color:#d64d4d}.board-completion-message{color:#68578d;text-align:center;margin:1rem 0 0;font-size:1.05rem;font-weight:900}.expression-prompt,.text-prompt{white-space:pre-line;text-align:center;min-height:3.5rem;margin:.5rem 0 1rem;font-size:clamp(1.35rem,5vw,2rem);font-weight:800;line-height:1.5}.math-operator{color:var(--color-accent-hover);margin-inline:.45rem;display:inline-block}.prompt-fraction{vertical-align:middle;text-align:center;flex-direction:column;min-width:1.2em;margin-inline:.12em;font-size:.82em;line-height:1.05;display:inline-flex}.prompt-fraction-part{padding-inline:.14em;display:block}.prompt-fraction-bar{border-top:.1em solid;display:block}.input-mode-picker{gap:.5rem;margin-bottom:.65rem;display:flex}.input-mode-button{border:1px solid var(--color-border);min-height:2.5rem;color:var(--color-muted);cursor:pointer;background:#fff;border-radius:.6rem;flex:1;font-weight:700}.input-mode-button[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent-hover);background:#fff1e8}.answer-input{border:2px solid var(--color-border);width:100%;min-height:3.5rem;color:var(--color-ink);font:inherit;text-align:center;background:#fff;border-radius:.7rem;padding:.5rem .75rem;font-size:1.6rem}.answer-input:focus{border-color:var(--color-focus);outline:2px solid var(--color-focus);outline-offset:2px}.answer-editor{gap:.65rem;display:grid}.answer-fields{justify-content:center;align-items:end;gap:.55rem;min-width:0;display:flex}.answer-editor--multi .answer-fields{flex-wrap:wrap}.answer-field{flex:6rem;gap:.25rem;min-width:0;display:grid}.answer-field-label{color:var(--color-muted);text-align:center;font-size:.85rem;font-weight:800}.answer-fields:not(.answer-fields--fraction) .answer-field:only-child{flex:0 18rem;width:min(100%,18rem)}.answer-suffix{white-space:nowrap;padding-bottom:.7rem}.answer-fields--fraction{grid-template-rows:auto auto auto;grid-template-columns:5rem;justify-content:center;align-items:end;gap:.25rem;display:grid}.answer-fields--fraction .fraction-bar{border-top:3px solid var(--color-ink);grid-area:2/1;width:5rem;height:0;margin:0}.answer-fields--fraction:not(.answer-fields--mixed-fraction) .answer-field:first-of-type{grid-area:1/1}.answer-fields--fraction:not(.answer-fields--mixed-fraction) .answer-field:nth-of-type(2){grid-area:3/1}.answer-fields--mixed-fraction{grid-template-rows:3.5rem 0 3.5rem;grid-template-columns:minmax(6rem,9rem) 5rem;column-gap:.55rem}.answer-fields--mixed-fraction .fraction-bar{grid-column:2}.answer-fields--mixed-fraction .answer-field:first-of-type{grid-area:2/1;height:3.5rem;position:relative;transform:translateY(1.75rem)}.answer-fields--mixed-fraction .answer-field:first-of-type .answer-field-label{position:absolute;bottom:calc(100% + .25rem);left:0;right:0}.answer-fields--mixed-fraction .answer-field:nth-of-type(2){grid-area:1/2}.answer-fields--mixed-fraction .answer-field:nth-of-type(3){grid-area:3/2}.answer-clear-button{color:#3d7468;cursor:pointer;background:#effff9;border:1px solid #9ddfce;border-radius:.75rem;justify-self:center;min-height:2.25rem;padding:.35rem 1rem;font-weight:800}.answer-clear-button:disabled{cursor:default;opacity:.48}.number-keypad{grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.75rem;display:grid}.number-key{border:1px solid var(--color-border);min-height:2.8rem;color:var(--color-ink);cursor:pointer;background:#fff;border-radius:.6rem;font-weight:800}.number-key.action{color:var(--color-muted);white-space:pre-line;font-size:.8rem;line-height:1.15}.number-key:hover{background:#fff1e8}.number-key:disabled{cursor:default;opacity:.48}.number-key.decimal-key{grid-area:5/2}.feedback-message{min-height:1.7rem;color:var(--color-accent-hover);margin-block:.7rem;font-weight:700}.check-button{width:100%;min-height:3rem}.text-button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;margin:1rem auto 0;padding:.4rem .6rem;text-decoration:underline;display:block}.history-list{gap:.75rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.history-record{border:1px solid var(--color-border);background:#fff;border-radius:.75rem;padding:1rem}.history-record h2{margin:0 0 .5rem;font-size:1.15rem}.history-record p{margin:.35rem 0}.history-record time{color:var(--color-muted);margin-top:.6rem;font-size:.9rem;display:block}@media (width<=38rem){.app-shell{width:min(100% - 1rem,68rem);padding-top:.5rem}.app-header{flex-direction:column;align-items:flex-start;gap:.5rem}.app-header nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;width:100%;display:grid}.app-header nav a{text-align:center;padding:.45rem .25rem;font-size:.78rem}.app-header nav .profile-import-trigger{white-space:normal;padding:.45rem .25rem;font-size:.78rem}.page-content{border-radius:1rem;width:100%;margin-block:1rem;padding:1rem .8rem}.session-stats{justify-content:flex-start}}@media (width<=22rem){.app-header nav{grid-template-columns:repeat(2,minmax(0,1fr))}.session-stats{grid-template-columns:1fr 1fr;display:grid}.session-stats span:last-child{grid-column:1/-1}}
