:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2937;background:#f5f7fb;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#f7f9fc 0%,#edf2f7 100%);min-height:100vh;margin:0}button,input,select{font:inherit}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.6}.app-shell{flex-direction:column;gap:1.5rem;min-height:100vh;padding:1.25rem;display:flex}.app-shell.is-fullscreen{gap:.75rem;height:100dvh;padding:.75rem;overflow:hidden}.toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.toolbar.is-fullscreen{justify-content:flex-end}.app-shell.is-fullscreen .toolbar{display:none}.toolbar-group{align-items:center;gap:.75rem;font-size:1.2rem;font-weight:700;display:inline-flex}.toolbar-actions{align-items:center;gap:1rem;display:inline-flex}.toolbar-actions.is-fullscreen{gap:0}.toolbar-settings{flex-wrap:wrap;align-items:center;gap:.75rem;display:inline-flex}.toolbar-toggle,.toolbar-delay{color:#334155;background:#fff;border-radius:1rem;align-items:center;gap:.65rem;min-height:3.5rem;padding:0 1rem;font-weight:700;display:inline-flex;box-shadow:0 6px 24px #0f172a14}.toolbar-toggle{cursor:pointer}.toolbar-toggle input{accent-color:#2563eb;width:1.1rem;height:1.1rem;margin:0}.toolbar-delay span{white-space:nowrap;color:#64748b}.toolbar-delay select{min-height:2.75rem;box-shadow:none;background:#f8fafc;border:1px solid #94a3b83d;padding:0 1rem}select,.secondary-button,.primary-button,.answer-input{border:none;border-radius:1rem;min-height:3.5rem}select,.secondary-button,.answer-input{background:#fff;box-shadow:0 6px 24px #0f172a14}select,.secondary-button,.primary-button{padding:0 1.25rem}.card{background:#ffffffdb;border-radius:2rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 50px #0f172a1a}.app-shell.is-fullscreen .card{justify-content:flex-start;gap:clamp(.55rem,1.2vh,.95rem);height:100%;padding:5rem 1.5rem 1.5rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:min(100%,56rem);display:grid}.stats.is-compact{justify-content:center;align-items:center;gap:.75rem;width:auto;display:inline-flex}.stat-item{background:#f8fafc;border-radius:1rem;flex-direction:column;align-items:center;gap:.35rem;padding:.9rem .75rem;display:flex}.stats.is-compact .stat-item{background:#f8fafceb;flex-direction:row;gap:.6rem;padding:.55rem .9rem}.stats.is-compact .stat-label{font-size:.92rem}.stats.is-compact .stat-value{font-size:1.1rem}.stat-label{color:#64748b;font-size:1rem;font-weight:700}.stat-value{font-size:clamp(1.4rem,3vw,2rem);font-weight:800}.practice-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(100%,32rem);display:grid}.practice-controls.is-fullscreen{z-index:3;gap:.65rem;width:min(100% - 3rem,34rem);transition:opacity .18s,transform .18s;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.practice-controls.is-fullscreen.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(-.4rem)}.caption{color:#4b5563;margin:0;font-size:1.4rem;font-weight:700}.caption.is-fullscreen{font-size:1rem}.stage-meta{flex-direction:column;align-items:center;gap:.65rem;width:min(100%,72rem);display:flex}.practice-stack{flex-direction:column;align-items:center;gap:1rem;width:min(100%,56rem);display:flex}.practice-stack.is-fullscreen{flex:1;gap:clamp(.45rem,1vh,.75rem);width:min(100%,72rem);min-height:0}.question-stage{border-radius:2rem;width:min(100%,56rem);min-height:clamp(14rem,28vw,19rem);position:relative;overflow:hidden;box-shadow:0 18px 45px #0f172a1f}.app-shell.is-fullscreen .question-stage{flex:auto;width:100%;min-height:clamp(14rem,40vh,28rem)}.hint-panel{background:#ffffffb8;border:1px solid #94a3b838;border-radius:1.5rem;width:min(100%,56rem);min-height:10rem;padding:.85rem 1rem;overflow:hidden}.hint-panel.is-fullscreen{flex:none;width:100%;min-height:clamp(7.5rem,18vh,10rem);padding:.75rem .9rem}.hint-panel-body{display:grid}.hint-panel-body>*{grid-area:1/1}.hint-panel-placeholder{min-height:8rem;transition:opacity .18s,transform .18s}.hint-panel.is-fullscreen .hint-panel-placeholder{min-height:clamp(5.8rem,13vh,7.2rem)}.hint-groups{opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;transform:translateY(.35rem)}.hint-panel.is-visible .hint-panel-placeholder{opacity:0;pointer-events:none;transform:translateY(-.35rem)}.hint-panel.is-visible .hint-groups{opacity:1;pointer-events:auto;transform:translateY(0)}.hint-total-box{background:0 0;border:none;border-radius:0;align-items:center;min-height:8rem;padding:.85rem 0;display:flex}.hint-panel.is-fullscreen .hint-total-box{min-height:clamp(5.8rem,13vh,7.2rem);padding:.2rem 0}.hint-total-box.is-ghost{border:none}.hint-total-clusters{flex-wrap:wrap;place-content:center flex-start;gap:.7rem;width:100%;display:flex}.hint-panel.is-fullscreen .hint-total-clusters{gap:.9rem}.hint-cluster{border-right:1px solid #94a3b847;flex-wrap:wrap;align-items:center;gap:.35rem;margin-right:.1rem;padding-right:.7rem;display:inline-flex}.hint-panel.is-fullscreen .hint-cluster{gap:.45rem;padding-right:.85rem}.hint-cluster:last-child{border-right:none;margin-right:0;padding-right:0}.hint-total-box.is-ghost .hint-cluster{border-right-color:#94a3b833;width:4.9rem;height:1.75rem}.hint-total-box.is-ghost .hint-cluster:before{content:"";background:#94a3b814;border-radius:999px;width:100%;height:100%;display:block}.hint-segment{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.hint-segment.is-highlight{border:2px dashed #64748b8c;border-radius:.85rem;padding:.22rem .34rem}.hint-panel.is-fullscreen .hint-segment.is-highlight{padding:.28rem .42rem}.hint-panel.is-subtraction .hint-segment.is-highlight{opacity:.72}.hint-icon{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:1.15rem;line-height:1;display:inline-flex}.hint-panel.is-fullscreen .hint-icon{width:clamp(1.45rem,2.5vh,1.9rem);height:clamp(1.45rem,2.5vh,1.9rem);font-size:clamp(1.1rem,1.9vh,1.35rem)}.question-card{--card-border-color:#94a3b82e;--card-highlight-color:#3b82f62e;--card-surface-start:#fff;--card-surface-middle:#f8fbff;--card-surface-end:#eef6ff;--card-accent-start:#2563eb;--card-accent-end:#0ea5e9;border:1px solid var(--card-border-color);background:radial-gradient(circle at top right, var(--card-highlight-color), transparent 32%), linear-gradient(135deg, var(--card-surface-start) 0%, var(--card-surface-middle) 52%, var(--card-surface-end) 100%);border-radius:2rem;justify-content:center;align-items:center;padding:2.25rem;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffffb8}.app-shell.is-fullscreen .question-card{padding:2.8rem 2rem 2rem}.question-card-accent{background:linear-gradient(90deg, var(--card-accent-start) 0%, var(--card-accent-end) 100%);opacity:.9;border-radius:999px;width:4.5rem;height:.5rem;position:absolute;top:1rem;left:1rem}.question-card.is-correct{--card-border-color:#16a34a47;--card-highlight-color:#22c55e29;--card-surface-start:#f4fff7;--card-surface-middle:#e9fbef;--card-surface-end:#dbf6e4;--card-accent-start:#16a34a;--card-accent-end:#22c55e}.question-card.is-error{--card-border-color:#dc262647;--card-highlight-color:#f8717129;--card-surface-start:#fff5f5;--card-surface-middle:#fdecec;--card-surface-end:#fbdede;--card-accent-start:#dc2626;--card-accent-end:#f87171}.question{letter-spacing:.08em;text-align:center;font-size:clamp(4rem,10vw,7rem);font-weight:800;position:relative}.app-shell.is-fullscreen .question{font-size:clamp(4.8rem,11.5vh,9.8rem);line-height:1.06}.fullscreen-float-button{z-index:2;color:#475569;opacity:0;pointer-events:none;background:#ffffffbd;border:1px solid #94a3b838;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;transition:opacity .18s,background-color .18s,box-shadow .18s;display:inline-flex;position:absolute;top:1rem;right:1rem;box-shadow:0 8px 18px #0f172a14}.fullscreen-float-button.is-visible{opacity:1;pointer-events:auto}.fullscreen-float-button svg{width:1.1rem;height:1.1rem}.app-shell.is-fullscreen .stats{width:min(100%,72rem)}.app-shell.is-fullscreen .stats.is-compact{width:auto}.app-shell.is-fullscreen .stats.is-compact .stat-item{padding:.45rem .8rem}.app-shell.is-fullscreen .stats.is-compact .stat-value{font-size:clamp(.95rem,1.9vh,1.1rem)}.app-shell.is-fullscreen .caption{font-size:1.15rem}.app-shell.is-fullscreen .caption.is-fullscreen{font-size:clamp(.8rem,1.6vh,1rem)}.app-shell.is-fullscreen .answer-panel{flex:none;gap:.6rem;width:min(100%,40rem)}.app-shell.is-fullscreen .answer-input{min-height:clamp(3.2rem,7vh,4rem);font-size:clamp(2rem,4.8vh,3.4rem)}.app-shell.is-fullscreen .practice-controls .primary-button,.app-shell.is-fullscreen .practice-controls .secondary-button{min-height:clamp(2.6rem,5vh,3rem);padding:0 .85rem;font-size:1rem}.app-shell.is-fullscreen .actions{gap:.7rem}.question-summary{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;width:min(100%,34rem);display:flex;position:relative}.question-summary-title{margin:0;font-size:clamp(2rem,5vw,3rem);font-weight:900}.question-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;display:grid}.summary-item{background:#ffffffc7;border-radius:1.25rem;flex-direction:column;gap:.35rem;padding:1rem .75rem;display:flex}.summary-label{color:#64748b;font-size:.95rem;font-weight:700}.summary-value{font-size:clamp(1.4rem,3vw,2rem);font-weight:900}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a57;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:linear-gradient(#fff 0%,#f8fbff 100%);border-radius:1.75rem;width:min(100%,40rem);padding:1.5rem;box-shadow:0 24px 60px #0f172a38}.modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.answer-panel{flex-direction:column;align-items:stretch;gap:1rem;width:min(100%,32rem);display:flex}.answer-input{text-align:center;width:100%;padding:0 1.25rem;font-size:clamp(2rem,6vw,3.5rem);font-weight:700}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.primary-button{color:#fff;background:#2563eb;font-weight:800;box-shadow:0 10px 24px #2563eb40}.secondary-button{color:#1f2937;font-weight:700}.file-input{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){.app-shell{padding:.75rem}.app-shell.is-fullscreen{padding:.5rem}.toolbar{flex-direction:column;align-items:stretch}.toolbar-group{justify-content:space-between}.toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.toolbar-settings{grid-column:1/-1}.toolbar-toggle,.toolbar-delay{justify-content:space-between;width:100%}.question-summary-grid,.modal-actions,.actions,.practice-controls{grid-template-columns:1fr}.app-shell.is-fullscreen .practice-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.stats.is-compact{flex-wrap:wrap;width:100%}.question-card{padding:1.5rem}.app-shell.is-fullscreen .question-stage{min-height:clamp(10rem,28vh,18rem)}.hint-panel{min-height:11rem;padding:.9rem}.app-shell.is-fullscreen .card{gap:.55rem;padding:3.75rem .75rem .75rem}.app-shell.is-fullscreen .practice-stack{gap:.5rem}.app-shell.is-fullscreen .question-card{padding:2.35rem .9rem 1rem}.app-shell.is-fullscreen .question{font-size:clamp(3.2rem,9vh,5.8rem)}.app-shell.is-fullscreen .answer-input{min-height:3rem;font-size:clamp(1.6rem,4vh,2.2rem)}.app-shell.is-fullscreen .practice-controls .primary-button,.app-shell.is-fullscreen .practice-controls .secondary-button{min-height:2.45rem;font-size:.92rem}.app-shell.is-fullscreen .hint-panel{min-height:clamp(6rem,15vh,7.8rem);padding:.55rem .65rem}.app-shell.is-fullscreen .hint-total-box,.app-shell.is-fullscreen .hint-panel-placeholder{min-height:clamp(4.8rem,11vh,6.2rem)}.app-shell.is-fullscreen .hint-icon{width:1.2rem;height:1.2rem;font-size:1rem}.fullscreen-float-button{width:2.25rem;height:2.25rem;top:.75rem;right:.75rem}}
