:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--blue:#0b57d0;--blue-strong:#073f9b;--blue-soft:#e8f0fe;--green:#137333;--green-soft:#e6f4ea;--red:#c5221f;--red-soft:#fce8e6;--yellow:#b06000;--yellow-soft:#fef7e0;--ink:#172033;--muted:#617086;--line:#dbe3ef;--surface:#fff;--canvas:#f4f7fb;--shadow:0 16px 38px #172a4b17;--radius:22px;--font:"Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:#e8edf5;min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 10% -10%,#0b57d021,#0000 30rem),#e8edf5;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline-offset:3px;outline:3px solid #0b57d03d}input:focus-visible{outline-offset:3px;outline:3px solid #0b57d03d}select:focus-visible{outline-offset:3px;outline:3px solid #0b57d03d}summary:focus-visible{outline-offset:3px;outline:3px solid #0b57d03d}[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #0b57d03d}a:focus-visible{outline-offset:3px;outline:3px solid #0b57d03d}button:disabled{cursor:not-allowed}a{color:inherit}.app-shell{background:var(--canvas);width:min(100%,860px);min-height:100dvh;margin:0 auto;position:relative;overflow:clip;box-shadow:0 0 70px #1f304b29}.app-header{z-index:20;min-height:70px;padding:max(12px, env(safe-area-inset-top)) 18px 10px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #dbe3efd1;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand-button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-button>span:last-child{gap:1px;display:grid}.brand-button strong{letter-spacing:-.02em;font-size:1rem}.brand-button small{color:var(--muted);font-size:.68rem;font-weight:700}.brand-mark{color:#fff;background:linear-gradient(145deg,#1769e0 0 54%,#0b57d0 54% 100%);border-radius:14px 14px 14px 5px;flex:none;place-items:center;width:42px;height:42px;display:inline-grid;position:relative;overflow:hidden;box-shadow:0 8px 18px #0b57d03d}.brand-mark:before,.brand-mark:after{content:"";border-radius:99px;position:absolute}.brand-mark:before{background:#fbbc04;width:22px;height:6px;top:7px;right:-5px;transform:rotate(-18deg)}.brand-mark:after{background:#34a853;width:16px;height:7px;bottom:5px;left:-4px;transform:rotate(20deg)}.brand-mark span{z-index:1;font-size:1.05rem;font-weight:900;position:relative}.header-status{align-items:center;gap:7px;display:flex}.streak-pill,.offline-pill{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.offline-pill{color:var(--yellow);background:var(--yellow-soft);border-color:#f4dda3}.app-main{min-height:calc(100dvh - 70px)}.screen{width:100%;padding:22px 18px calc(104px + env(safe-area-inset-bottom))}.home-screen,.list-screen,.progress-screen,.setup-screen{gap:16px;display:grid}.home-hero{justify-content:space-between;align-items:center;gap:16px;padding:6px 4px 4px;display:flex}.hero-copy{min-width:0}.update-chip,.question-count-pill,.domain-badge,.legacy-chip{letter-spacing:.01em;border-radius:999px;align-items:center;width:fit-content;min-height:26px;padding:0 10px;font-size:.68rem;font-weight:850;display:inline-flex}.update-chip{color:var(--blue-strong);background:var(--blue-soft)}.home-hero h1{letter-spacing:-.075em;margin:12px 0 7px;font-size:clamp(2.1rem,9vw,3.6rem);line-height:1.03}.home-hero h1 em{color:var(--blue);font-style:normal}.home-hero p{color:var(--muted);margin:0;font-size:.82rem;font-weight:650}.progress-ring{--value:0deg;background:conic-gradient(var(--blue) var(--value), #dfe7f3 var(--value));border-radius:50%;flex:none;place-items:center;width:104px;height:104px;display:grid;position:relative;box-shadow:0 12px 30px #172a4b1a}.progress-ring:before{border-radius:inherit;content:"";background:#fff;width:82px;height:82px;position:absolute}.progress-ring>div{place-items:center;display:grid;position:relative}.progress-ring strong{letter-spacing:-.04em;font-size:1.25rem;line-height:1}.progress-ring span{color:var(--muted);margin-top:4px;font-size:.63rem;font-weight:800}.daily-card,.readiness-card,.bank-note,.setup-card,.score-card,.progress-card,.data-actions{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:1px solid #dbe3efeb}.daily-card{gap:14px;padding:20px;display:grid}.daily-card-top{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.daily-card-top>div{gap:3px;display:grid}.daily-card-top>div>span,.section-heading>div>span,.feedback-card span,.score-card span,.data-actions h2{color:var(--muted);letter-spacing:.04em;font-size:.72rem;font-weight:850}.daily-card-top strong{letter-spacing:-.05em;font-size:1.9rem;line-height:1.1}.daily-card-top strong small{color:var(--muted);font-size:.78rem}.goal-open,.goal-done{border-radius:10px;padding:7px 10px;font-size:.68rem;font-weight:900}.goal-open{color:var(--blue-strong);background:var(--blue-soft)}.goal-done{color:var(--green);background:var(--green-soft)}.goal-track,.domain-progress-track{background:#e8edf5;border-radius:999px;height:8px;overflow:hidden}.goal-track span,.domain-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#0b57d0,#3986f5);height:100%;transition:width .3s;display:block}.primary-button,.secondary-button{cursor:pointer;border-radius:16px;min-height:52px;padding:0 18px;font-weight:850;transition:transform .14s,box-shadow .14s,background .14s}.primary-button{border:1px solid var(--blue);color:#fff;background:var(--blue);box-shadow:0 10px 24px #0b57d038}.primary-button:hover:not(:disabled){background:var(--blue-strong);box-shadow:0 13px 27px #0b57d047}.secondary-button{border:1px solid var(--line);color:var(--blue-strong);background:#fff}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.quick-grid button:active,.option-button:active:not(:disabled){transform:scale(.98)}.primary-button:disabled{box-shadow:none;background:#b8c7dc;border-color:#b8c7dc}.hero-start{justify-content:space-between;align-items:center;width:100%;margin-top:2px;display:flex}.hero-start strong,.setup-start span,.review-start span,.next-dock span{font-size:1.2rem}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.quick-grid button{border:1px solid var(--line);min-width:0;min-height:132px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:18px;align-content:start;justify-items:start;gap:5px;padding:14px 10px;display:grid;box-shadow:0 9px 22px #172a4b0e}.quick-grid button:hover{border-color:#b8c9e4;box-shadow:0 12px 26px #172a4b16}.quick-icon{border-radius:12px;place-items:center;width:38px;height:38px;margin-bottom:4px;font-size:.8rem;font-weight:900;display:grid}.quick-icon.blue{color:var(--blue-strong);background:var(--blue-soft)}.quick-icon.red{color:var(--red);background:var(--red-soft)}.quick-icon.yellow{color:var(--yellow);background:var(--yellow-soft)}.quick-grid strong{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.quick-grid small{color:var(--muted);font-size:.62rem;line-height:1.45}.readiness-card{padding:18px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading h1,.section-heading h2{letter-spacing:-.045em;margin:3px 0 0;line-height:1.18}.section-heading h1{font-size:1.75rem}.section-heading h2{font-size:1.13rem}.section-heading.compact{align-items:flex-end}.section-heading button,.section-heading a{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.72rem;font-weight:850;text-decoration:none}.question-count-pill{color:var(--blue-strong);background:var(--blue-soft)}.domain-mini-list,.domain-progress-list{gap:13px;margin-top:18px;display:grid}.domain-mini-list>div{grid-template-columns:8px minmax(84px,auto) minmax(70px,1fr) 35px;align-items:center;gap:9px;display:grid}.domain-dot{background:var(--blue);border-radius:50%;width:8px;height:8px;display:inline-block}.domain-dot.green,.domain-badge.green{background:var(--green-soft);color:var(--green)}.domain-dot.green{background:var(--green)}.domain-dot.yellow,.domain-badge.yellow{background:var(--yellow-soft);color:var(--yellow)}.domain-dot.yellow{background:#e6a300}.domain-dot.red,.domain-badge.red{background:var(--red-soft);color:var(--red)}.domain-dot.red{background:var(--red)}.domain-dot.blue,.domain-badge.blue{background:var(--blue-soft);color:var(--blue-strong)}.domain-dot.blue{background:var(--blue)}.domain-mini-list>div>span:nth-child(2){justify-content:space-between;align-items:center;gap:5px;font-size:.72rem;font-weight:800;display:flex}.domain-mini-list small{color:var(--muted);font-size:.58rem}.domain-mini-list>div>div{background:#e8edf5;border-radius:99px;height:6px;overflow:hidden}.domain-mini-list i{border-radius:inherit;background:var(--blue);height:100%;display:block}.domain-mini-list>div>strong{text-align:right;font-size:.7rem}.bank-note{box-shadow:none;align-items:flex-start;gap:12px;padding:15px;display:flex}.bank-note-icon{width:31px;height:31px;color:var(--green);background:var(--green-soft);border-radius:10px;flex:none;place-items:center;font-weight:900;display:grid}.bank-note strong{font-size:.76rem}.bank-note p{color:var(--muted);margin:3px 0 0;font-size:.66rem;line-height:1.55}.bottom-nav{z-index:30;width:min(100%,860px);min-height:72px;padding:8px 8px max(8px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-top:1px solid #dbe3efe6;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#7b8798;cursor:pointer;background:0 0;border:0;border-radius:14px;place-items:center;gap:1px;min-width:0;min-height:51px;padding:4px 2px;display:grid;position:relative}.bottom-nav button.active{color:var(--blue);background:#f0f5ff}.bottom-nav button>span{font-size:1rem;font-weight:900;line-height:1}.bottom-nav button>strong{font-size:.58rem}.bottom-nav button>i{color:#fff;background:var(--red);border:2px solid #fff;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.5rem;font-style:normal;font-weight:900;display:grid;position:absolute;top:2px;right:calc(50% - 20px)}.setup-card{padding:18px}.setup-card h2{margin:0 0 14px;font-size:.9rem}.mode-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.mode-grid button{border:1px solid var(--line);min-height:91px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:16px;grid-template-rows:1fr 1fr;grid-template-columns:34px 1fr;align-items:center;padding:13px;display:grid}.mode-grid button.active{border-color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px var(--blue)}.mode-grid button>span{width:29px;height:29px;color:var(--blue);background:#f1f5fb;border-radius:9px;grid-row:1/3;place-items:center;font-weight:900;display:grid}.mode-grid button.active>span{color:#fff;background:var(--blue)}.mode-grid strong{font-size:.75rem}.mode-grid small{color:var(--muted);font-size:.62rem}.setup-fields{gap:15px;display:grid}.setup-fields h2{margin-bottom:-2px}.setup-fields label,.count-field{gap:7px;display:grid}.setup-fields label>span,.count-field>span{color:var(--muted);font-size:.68rem;font-weight:850}.setup-fields select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#f8fafe;border-radius:13px;padding:0 39px 0 13px;font-size:.75rem;font-weight:720}.count-options{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.count-options button{border:1px solid var(--line);min-height:43px;color:var(--muted);cursor:pointer;background:#fff;border-radius:12px;font-size:.75rem;font-weight:850}.count-options button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.setup-start,.review-start{justify-content:space-between;align-items:center;width:100%;display:flex}.focus-mode{background:#fff;min-height:100dvh}.focus-mode .app-main{min-height:100dvh}.practice-screen{min-height:100dvh;padding-bottom:calc(96px + env(safe-area-inset-bottom));background:#fff}.practice-header{z-index:25;min-height:62px;padding:max(9px, env(safe-area-inset-top)) 15px 8px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-bottom:1px solid #edf1f6;grid-template-columns:40px minmax(0,1fr) 46px;align-items:center;gap:12px;display:grid;position:sticky;top:0}.practice-header>button{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);cursor:pointer;background:#fff;border-radius:13px;font-size:1.25rem}.practice-header>div{background:#e4eaf3;border-radius:99px;height:7px;overflow:hidden}.practice-header>div>span{border-radius:inherit;background:var(--blue);height:100%;transition:width .26s;display:block}.practice-header>strong{text-align:right;font-size:.88rem}.practice-header>strong small{color:var(--muted);font-size:.62rem}.question-wrap{width:min(100%,720px);margin:0 auto;padding:20px 18px 34px}.question-meta-row{align-items:center;gap:7px;display:flex}.question-meta-row>span:not(.domain-badge,.legacy-chip){color:var(--muted);font-size:.64rem;font-weight:750}.domain-badge{min-height:24px;padding:0 9px}.legacy-chip{min-height:24px;color:var(--yellow);background:var(--yellow-soft)}.bookmark-button{color:#8a96a7;cursor:pointer;background:#f4f7fb;border:0;border-radius:11px;width:36px;height:36px;margin-left:auto;font-size:1.2rem}.bookmark-button.active{color:#c88700;background:var(--yellow-soft)}.selection-hint{justify-content:space-between;align-items:center;gap:12px;margin-top:15px;display:flex}.selection-hint>span,.selection-hint>strong{color:var(--muted);font-size:.68rem;font-weight:850}.selection-hint>strong{color:var(--blue-strong);background:var(--blue-soft);border-radius:8px;padding:5px 9px}.confidence-control{align-items:center;gap:3px;display:flex}.confidence-control>span{color:var(--muted);margin-right:3px;font-size:.6rem;font-weight:800}.confidence-control button{border:1px solid var(--line);color:#7d899a;cursor:pointer;background:#fff;border-radius:9px;width:30px;height:28px;padding:0;font-size:.66rem;font-weight:850}.confidence-control button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.question-wrap h1{letter-spacing:-.025em;white-space:pre-line;margin:17px 0 22px;font-size:clamp(1.1rem,4.6vw,1.55rem);line-height:1.72}.option-list{gap:11px;display:grid}.option-button{border:1px solid var(--line);width:100%;min-height:62px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:17px;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:11px;padding:14px;display:grid;box-shadow:0 5px 14px #172a4b09}.option-button:hover:not(:disabled){background:#f9fbff;border-color:#9db5da}.option-button.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#f4f8ff}.option-button.correct{background:var(--green-soft);border-color:#7fc696;box-shadow:inset 0 0 0 1px #7fc696}.option-button.wrong{background:var(--red-soft);border-color:#e1a09b;box-shadow:inset 0 0 0 1px #e1a09b}.option-button:disabled{color:var(--ink);opacity:1}.option-letter{width:32px;height:32px;color:var(--muted);background:#f7f9fc;border:1px solid #cdd7e6;border-radius:10px;place-items:center;font-size:.7rem;font-weight:900;display:grid}.option-button.selected .option-letter{border-color:var(--blue);color:#fff;background:var(--blue)}.option-button.correct .option-letter{border-color:var(--green);color:#fff;background:var(--green)}.option-button.wrong .option-letter{border-color:var(--red);color:#fff;background:var(--red)}.option-button>span:nth-child(2){white-space:pre-line;padding-top:3px;font-size:.78rem;font-weight:680;line-height:1.65}.option-button>strong{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.option-button.wrong>strong{background:var(--red)}.answer-button{width:100%;margin-top:16px}.feedback-card{background:#f6fbf7;border:1px solid #b8d9c2;border-radius:21px;gap:15px;margin-top:20px;padding:18px;display:grid}.feedback-card.wrong{background:#fff9f8;border-color:#edc2be}.feedback-result{align-items:center;gap:12px;display:flex}.feedback-result>span{color:#fff;background:var(--green);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-size:1.1rem;font-weight:900;display:grid}.feedback-card.wrong .feedback-result>span{background:var(--red)}.feedback-result div{gap:2px;display:grid}.feedback-result strong{font-size:.98rem}.feedback-result small{color:var(--muted);font-size:.64rem;line-height:1.45}.key-takeaway{background:#fff;border-radius:15px;padding:14px;box-shadow:0 7px 18px #172a4b0d}.key-takeaway>span{color:var(--green);text-transform:uppercase}.feedback-card.wrong .key-takeaway>span{color:var(--red)}.key-takeaway p,.memory-card p,.legacy-note li{margin:6px 0 0;font-size:.74rem;font-weight:640;line-height:1.72}.memory-card{background:var(--yellow-soft);border:1px solid #f4dda3;border-radius:15px;align-items:flex-start;gap:10px;padding:14px;display:flex}.memory-icon{background:#fff3c4;border-radius:10px;flex:none;place-items:center;width:31px;height:31px;display:grid}.memory-card strong{color:#8a4d00;font-size:.72rem}.memory-card p{color:#674714}.explanation-details,.legacy-note{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.explanation-details summary,.legacy-note summary{color:var(--ink);cursor:pointer;padding:14px;font-size:.72rem;font-weight:850}.explanation-details>div{gap:10px;padding:0 12px 12px;display:grid}.explanation-details article{background:#f7f9fc;border-radius:12px;align-items:flex-start;gap:9px;padding:12px;display:flex}.explanation-details article.correct{background:var(--green-soft)}.explanation-details article>span{width:24px;height:24px;color:var(--muted);background:#fff;border-radius:8px;flex:none;place-items:center;font-size:.63rem;font-weight:900;display:grid}.explanation-details article strong{font-size:.68rem}.explanation-details article p{color:var(--muted);margin:5px 0 0;font-size:.67rem;line-height:1.7}.legacy-note{background:var(--yellow-soft);border-color:#f4dda3}.legacy-note ul{margin:0;padding:0 28px 15px 34px}.legacy-note li{color:#765320;font-size:.66rem}.next-dock{z-index:30;padding:10px 18px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;position:fixed;bottom:0;left:0;right:0}.next-dock button{justify-content:space-between;align-items:center;width:min(100%,684px);margin:0 auto;display:flex}.review-summary{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.review-summary button{border:1px solid var(--line);min-height:83px;color:var(--ink);cursor:pointer;background:#fff;border-radius:17px;place-items:center;gap:3px;display:grid}.review-summary button.active{border-color:var(--blue);background:var(--blue-soft)}.review-summary strong{font-size:1.3rem}.review-summary span{color:var(--muted);font-size:.62rem;font-weight:800}.question-list,.term-list{gap:10px;display:grid}.question-list article{border:1px solid var(--line);background:#fff;border-radius:17px;padding:15px}.question-list-meta{align-items:center;gap:7px;display:flex}.question-list-meta>span:not(.domain-badge){color:var(--muted);font-size:.62rem;font-weight:750}.question-list article>p{margin:10px 0;font-size:.73rem;font-weight:690;line-height:1.55}.question-list article>div:last-child{color:var(--muted);align-items:center;gap:12px;font-size:.62rem;font-weight:750;display:flex}.question-list article>div:last-child button{color:#c88700;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:1.1rem}.empty-state{text-align:center;justify-items:center;padding:48px 20px;display:grid}.empty-state>span{width:58px;height:58px;color:var(--green);background:var(--green-soft);border-radius:20px;place-items:center;font-size:1.3rem;font-weight:900;display:grid}.empty-state h2{margin:15px 0 5px;font-size:1rem}.empty-state p{max-width:300px;color:var(--muted);margin:0 0 18px;font-size:.7rem;line-height:1.65}.search-box{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:51px;padding:0 13px;display:grid}.search-box>span{color:var(--muted);font-size:1.2rem}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.76rem}.search-box input::placeholder{color:#98a4b5}.search-box button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:#edf1f6;border:0;border-radius:9px}.filter-scroll{scrollbar-width:none;gap:7px;padding:2px 0;display:flex;overflow-x:auto}.filter-scroll::-webkit-scrollbar{display:none}.filter-scroll button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:0 12px;font-size:.64rem;font-weight:800}.filter-scroll button.active{border-color:var(--blue);color:#fff;background:var(--blue)}.term-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.term-card summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:15px;list-style:none;display:grid}.term-card summary::-webkit-details-marker{display:none}.term-card summary>div{min-width:0}.term-card summary strong{font-size:.82rem;display:block}.term-card summary small{color:var(--blue);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.57rem;font-weight:750;display:block;overflow:hidden}.term-card summary p{color:var(--muted);margin:7px 0 0;font-size:.68rem;line-height:1.6}.term-card summary>i{color:var(--muted);font-size:1rem;font-style:normal;transition:transform .16s}.term-card[open] summary>i{transform:rotate(45deg)}.term-detail{gap:11px;padding:0 15px 15px 58px;display:grid}.term-detail>p,.term-detail>div p{color:var(--muted);margin:0;font-size:.68rem;line-height:1.65}.term-detail>div{background:var(--blue-soft);border-radius:12px;padding:11px}.term-detail>div strong{color:var(--blue-strong);margin-bottom:4px;font-size:.64rem;display:block}.term-detail .term-legacy{color:#765320;background:var(--yellow-soft);border-radius:10px;padding:10px}.term-detail>button{border:1px solid var(--line);width:fit-content;min-height:35px;color:var(--blue);cursor:pointer;background:#fff;border-radius:10px;padding:0 12px;font-size:.64rem;font-weight:850}.term-detail>button.learned{color:var(--green);background:var(--green-soft);border-color:#94c9a4}.score-card{grid-template-columns:auto 1fr;align-items:center;gap:22px;padding:22px;display:grid}.score-card .progress-ring{width:116px;height:116px}.score-card .progress-ring:before{width:91px;height:91px}.score-card>div:last-child{grid-template-columns:1fr 1fr;gap:3px 15px;display:grid}.score-card>div:last-child>strong{margin-bottom:10px;font-size:1.5rem}.score-card>div:last-child>strong small{color:var(--muted);font-size:.65rem}.progress-card{padding:18px}.domain-progress-list>div{border-top:1px solid #edf1f6;padding-top:13px}.domain-progress-list>div:first-child{border-top:0;padding-top:0}.domain-progress-list>div>div:first-child{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.domain-progress-list>div>div:first-child strong{font-size:.7rem}.domain-progress-list>div>div:first-child small{color:var(--muted);font-size:.56rem}.domain-progress-track{height:7px;margin-top:9px}.domain-progress-list p{color:var(--muted);justify-content:space-between;margin:6px 0 0;font-size:.59rem;display:flex}.domain-progress-list p strong{color:var(--ink)}.week-chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:7px;height:160px;margin-top:18px;display:grid}.week-chart>div{grid-template-rows:102px auto auto;place-items:end center;gap:4px;display:grid}.week-chart>div>span{background:#edf2f8;border-radius:10px;align-items:flex-end;width:100%;height:100%;padding:0 5px;display:flex}.week-chart i{background:linear-gradient(#5594ed, var(--blue));border-radius:7px;width:100%;min-height:3px;display:block}.week-chart strong{font-size:.63rem}.week-chart small{color:var(--muted);font-size:.57rem}.bank-health-grid{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:16px;display:grid}.bank-health-grid>div{background:#f4f7fb;border-radius:13px;justify-items:center;gap:3px;padding:12px 4px;display:grid}.bank-health-grid strong{font-size:1.05rem}.bank-health-grid span{color:var(--muted);font-size:.55rem;font-weight:800}.bank-health-card>p{color:var(--muted);margin:12px 0 0;font-size:.63rem;line-height:1.6}.data-actions{box-shadow:none;grid-template-columns:repeat(3,1fr);gap:8px;padding:17px;display:grid}.data-actions h2{grid-column:1/-1;margin:0 0 4px}.data-actions button{border:1px solid var(--line);min-height:41px;color:var(--blue);cursor:pointer;background:#fff;border-radius:11px;padding:0 8px;font-size:.6rem;font-weight:800}.data-actions button.danger{color:var(--red)}.completion-screen,.loading-screen,.error-screen{text-align:center;align-content:center;justify-items:center;min-height:100dvh;padding:32px 20px;display:grid}.completion-mark{color:#fff;background:var(--green);border-radius:25px;place-items:center;width:72px;height:72px;font-size:1.7rem;font-weight:900;display:grid;box-shadow:0 17px 34px #1373333d}.completion-screen>span{color:var(--blue);letter-spacing:.14em;margin-top:20px;font-size:.62rem;font-weight:900}.completion-screen h1,.error-screen h1{letter-spacing:-.05em;margin:8px 0 5px;font-size:1.7rem}.completion-screen>p,.error-screen>p{color:var(--muted);margin:0;font-size:.72rem}.result-score{box-shadow:var(--shadow);background:#fff;border-radius:22px;justify-items:center;margin:28px 0;padding:20px 44px;display:grid}.result-score strong{letter-spacing:-.06em;font-size:2.4rem}.result-score strong small{color:var(--muted);font-size:.8rem}.result-score span{color:var(--muted);font-size:.68rem;font-weight:800}.completion-actions{gap:9px;width:min(100%,340px);display:grid}.loading-screen{color:var(--ink);background:var(--canvas);gap:14px}.loading-screen p{color:var(--muted);margin:0;font-size:.72rem;font-weight:750}.loading-bar{background:#dce4f0;border-radius:99px;width:min(72vw,280px);height:7px;overflow:hidden}.loading-bar span{border-radius:inherit;background:var(--blue);width:45%;height:100%;animation:1.2s ease-in-out infinite alternate loading;display:block}@keyframes loading{0%{transform:translate(-20%)}to{transform:translate(145%)}}.error-screen{gap:10px}.error-screen .primary-button{margin-top:12px}.toast,.update-notice{z-index:60;border-radius:14px;width:min(100% - 36px,460px);margin:0 auto;position:fixed;left:18px;right:18px;box-shadow:0 15px 38px #172a4b3d}.toast{bottom:calc(86px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:#263449;padding:13px 15px;font-size:.7rem;font-weight:750}.update-notice{bottom:calc(86px + env(safe-area-inset-bottom));color:#fff;background:#263449;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px 11px 15px;font-size:.68rem;font-weight:750;display:flex}.update-notice button{min-height:32px;color:var(--blue-strong);cursor:pointer;background:#fff;border:0;border-radius:9px;padding:0 11px;font-size:.64rem;font-weight:850}@media (min-width:680px){.screen{padding-left:36px;padding-right:36px}.home-screen{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.home-hero,.daily-card,.quick-grid,.bank-note{grid-column:1/-1}.daily-card{grid-template-columns:1fr 1.5fr;align-items:center}.daily-card-top{align-items:center}.goal-track,.hero-start{grid-column:1/-1}.quick-grid button{min-height:122px}.setup-screen,.list-screen,.progress-screen{width:min(100%,700px);margin:0 auto}.question-wrap h1{line-height:1.62}}@media (max-width:380px){.screen{padding-left:13px;padding-right:13px}.home-hero h1{font-size:2rem}.progress-ring{width:94px;height:94px}.progress-ring:before{width:74px;height:74px}.quick-grid{gap:6px}.quick-grid button{min-height:126px;padding:12px 8px}.quick-grid strong{font-size:.69rem}.score-card{gap:15px;padding:17px}.score-card .progress-ring{width:105px;height:105px}.score-card .progress-ring:before{width:82px;height:82px}.domain-mini-list>div{grid-template-columns:8px 85px minmax(50px,1fr) 32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.app-header,.bottom-nav,.next-dock,.update-notice,.toast{display:none!important}.app-shell{box-shadow:none}}
