:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}:root{--app-bg:#f7f8fc;--surface:#fff;--surface-muted:#f6f8fc;--text-main:#1d2433;--text-muted:#71798a;--line:#e6e9f1;--line-strong:#ced5e3;--primary:#3568f4;--primary-hover:#2855dc;--primary-soft:#eaf0ff;--green:#1d9b7b;--green-soft:#e7f8f2;--amber:#d99113;--amber-soft:#fff4d6;--red:#eb6258;--red-soft:#fff0ed;--violet:#6f63e8;--violet-soft:#efedff;--orange:#f47c42;--orange-soft:#fff0e8;color:var(--text-main);background:var(--app-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;letter-spacing:0;font:15px/1.6 system-ui,Microsoft YaHei UI,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text-main);background:var(--app-bg);margin:0}button,select,input{font:inherit}button,a,label,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}#app{text-align:left;border:0;width:100%;max-width:none;min-height:100vh;margin:0;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text-main);letter-spacing:0;font-family:inherit;font-weight:700}h1{margin:0;font-size:30px;line-height:1.25}h2{margin:0;font-size:19px;line-height:1.4}.app-layout{min-height:100vh}.app-header{z-index:40;background:#fffffff5;border-bottom:1px solid #e7ebf5;height:68px;position:sticky;top:0;box-shadow:0 3px 16px #2d487c0d}.app-header-inner{justify-content:space-between;align-items:center;width:min(1160px,100%);height:100%;margin:0 auto;padding:0 34px;display:flex}.app-brand{color:var(--text-main);align-items:center;gap:11px;text-decoration:none;display:inline-flex}.app-brand>span:last-child{line-height:1.25;display:grid}.app-brand strong{font-size:16px}.app-brand small{color:#8290aa;font-size:10px;font-weight:600}.brand-mark{color:#fff;background:#3568f4;border:1px solid #2e5ee5;border-radius:8px;place-items:center;width:38px;height:38px;font-size:16px;display:grid;box-shadow:0 4px 12px #3568f43d,0 0 0 4px #edf2ff}.app-settings-link{min-height:36px;color:var(--text-muted);border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.app-settings-link:hover,.app-settings-link.router-link-active{color:var(--primary);background:#f0f4ff;border-color:#dce4f5}.main-content{min-height:100vh;margin-left:0}.page{width:min(1100px,100%);margin:0 auto;padding:36px 34px 60px}.page-header{justify-content:space-between;align-items:center;gap:20px;min-height:64px;margin-bottom:28px;display:flex}.compact-header{border-bottom:1px solid var(--line);padding-bottom:20px}.eyebrow{color:var(--text-muted);margin:0 0 4px;font-size:13px;font-weight:650}.primary-button,.secondary-button,.danger-button,.text-button,.icon-button{cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-weight:650;display:inline-flex}.primary-button{color:#fff;background:var(--primary);padding:8px 15px}.primary-button:hover{background:var(--primary-hover)}.secondary-button{border:1px solid var(--line-strong);color:var(--text-main);background:var(--surface);padding:8px 14px}.secondary-button:hover{background:var(--surface-muted)}.danger-button{color:#fff;background:var(--red);padding:8px 15px}.danger-button:disabled{opacity:.55;cursor:wait}.text-button{color:var(--primary);background:0 0;padding:5px 0}.icon-button{width:38px;min-height:38px;color:var(--text-main);background:var(--surface);padding:0}.large-button{min-height:46px;padding-inline:24px}.dashboard-header{align-items:flex-end}.dashboard-header>div:first-child>p:last-child{color:var(--text-muted);margin:7px 0 0}.dashboard-header .eyebrow{color:var(--primary)}.settings-header{align-items:flex-end}.settings-header>div>p:last-child{color:var(--text-muted);margin-top:7px}.settings-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:min(820px,100%);box-shadow:0 8px 22px #26375a0d}.settings-panel-heading{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:22px 24px;display:flex}.settings-provider-icon{color:#087784;background:#e9f8fa;border:1px solid #b9e0e5;border-radius:8px;flex:0 0 46px;place-items:center;width:46px;height:46px;display:grid}.settings-panel-heading>div:nth-child(2){flex:1;min-width:0}.settings-panel-heading h2{margin-bottom:2px}.settings-panel-heading p{color:var(--text-muted);font-size:13px}.settings-status{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.settings-status span{background:#a9b1bf;border-radius:50%;width:7px;height:7px}.settings-status.enabled{color:#08775e}.settings-status.enabled span{background:#1d9b7b}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;padding:23px 24px;display:grid}.settings-field{min-width:0;color:var(--text-main);gap:7px;font-size:13px;font-weight:650;display:grid}.settings-field-wide{grid-column:1/-1}.settings-thinking-control{background:#edf1f7;width:fit-content}.settings-thinking-control button{min-width:56px}.settings-field input{border:1px solid var(--line-strong);width:100%;min-height:40px;color:var(--text-main);background:var(--surface);border-radius:6px;outline:none;padding:8px 10px;font-size:14px;font-weight:400}.settings-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.settings-field small{color:var(--text-muted);font-size:11px;font-weight:400}.settings-secret-input{border:1px solid var(--line-strong);min-width:0;min-height:40px;color:var(--text-muted);border-radius:6px;align-items:center;gap:8px;padding-left:10px;display:flex}.settings-secret-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.settings-secret-input input{min-height:38px;box-shadow:none;border:0;padding-left:0}.settings-secret-input input:focus{box-shadow:none}.settings-enable-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0 24px;padding:17px 0;display:flex}.settings-enable-copy{gap:3px;display:grid}.settings-enable-copy strong{font-size:14px}.settings-enable-copy span{color:var(--text-muted);font-size:12px}.settings-panel-footer{justify-content:space-between;align-items:center;gap:16px;padding:18px 24px 22px;display:flex}.settings-panel-footer>span{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.success-banner{color:#166345;background:var(--green-soft);border:1px solid #b9e0d0;border-radius:7px;align-items:center;gap:7px;margin-bottom:14px;padding:10px 13px;display:flex}.home-daily-stats{align-items:center;gap:24px;display:flex}.home-daily-stats span{color:var(--text-muted);text-align:right;font-size:11px;display:grid}.home-daily-stats strong{color:var(--text-main);font-size:19px;line-height:1.25}.home-daily-stats span:first-child strong{color:var(--primary)}.home-daily-stats span:nth-child(2) strong{color:var(--green)}.home-daily-stats span:nth-child(3) strong{color:var(--red)}.home-progress-panel{background:#fff;border:1px solid #dce4f7;border-radius:8px;grid-template-columns:58px minmax(0,1fr);gap:18px;padding:25px;display:grid;box-shadow:0 14px 34px #27498e17}.home-progress-icon{color:#fff;background:linear-gradient(145deg,#69a3ff,#3568f4);border:1px solid #bed0ff;border-radius:8px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 8px 18px #3568f438,8px 8px #edf2ff}.home-progress-content{min-width:0}.home-progress-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.home-progress-heading span{color:var(--primary);font-size:11px;font-weight:750}.home-progress-heading h2{margin-top:2px;font-size:22px}.home-progress-heading-actions{align-items:center;gap:8px;display:flex}.home-progress-heading-actions>strong{color:var(--primary);font-size:26px;line-height:1.25}.home-progress-reset{border:1px solid var(--line);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#fff;border-radius:6px;place-items:center;padding:0;display:grid}.home-progress-reset:hover{border-color:var(--line-strong);color:var(--text-main);background:var(--surface-muted)}.home-progress-reset:disabled{opacity:.5;cursor:wait}.home-progress-content>p{color:var(--text-muted);margin:8px 0 12px;font-size:13px}.home-progress-track{background:#e6eaf2;border-radius:4px;height:7px;overflow:hidden}.home-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#55a1ff,#465af5);height:100%;display:block}.home-start-button{color:#fff;cursor:pointer;background:linear-gradient(100deg,#4e8bff,#354ff2);border:1px solid #315ee8;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;margin-top:18px;padding:8px 20px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #3555eb3d}.home-start-button:hover{background:linear-gradient(100deg,#427de9,#2d45d7)}.home-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.home-tool{border:1px solid var(--line);min-width:0;min-height:126px;color:var(--text-main);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:13px;padding:15px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;box-shadow:0 7px 18px #26375a0d}.home-tool:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 11px 22px #26375a17}.home-tool-content{flex:1;gap:2px;min-width:0;display:grid}.home-tool strong{font-size:15px}.home-tool small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.home-tool-metrics{border-top:1px solid #6d7c9926;align-items:flex-start;gap:14px;min-width:0;margin-top:9px;padding-top:8px;display:flex}.home-tool-metrics>span{min-width:0;color:var(--text-muted);white-space:nowrap;font-size:10px;display:grid}.home-tool-metrics b{color:var(--text-main);text-overflow:ellipsis;font-size:14px;line-height:1.2;overflow:hidden}.home-tool-icon{border:1px solid #0000;border-radius:8px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.home-tool--exam{background:#fffdf7;border-color:#f4df9d}.home-tool--exam .home-tool-icon{color:#9b6200;background:linear-gradient(145deg,#ffe47b,#ffc643);box-shadow:0 7px 14px #ebaf1b33}.home-tool--random{background:#f9fefc;border-color:#bfeadd}.home-tool--random .home-tool-icon{color:#08765c;background:linear-gradient(145deg,#8be0ca,#40bc9c);box-shadow:0 7px 14px #229b7b2e}.home-tool--wrong{background:#fbfaff;border-color:#d9d3ff}.home-tool--wrong .home-tool-icon{color:#fff;background:linear-gradient(145deg,#9388ff,#6558df);box-shadow:0 7px 14px #6558df33}.home-tool--record{background:#fffaf7;border-color:#ffd2bd}.home-tool--record .home-tool-icon{color:#fff;background:linear-gradient(145deg,#ffad78,#f4773f);box-shadow:0 7px 14px #f4773f33}.home-source-count{color:var(--text-muted);font-size:12px}.practice-launcher{grid-template-rows:repeat(2,minmax(82px,auto));grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:12px;margin-bottom:18px;display:grid}.practice-entry{border:1px solid var(--line);min-width:0;color:var(--text-main);background:var(--surface);cursor:pointer;font:inherit;text-align:left;border-radius:8px;align-items:center;gap:14px;padding:17px;transition:border-color .14s,transform .14s;display:flex}.practice-entry:hover{border-color:var(--line-strong);transform:translateY(-1px)}.practice-entry--primary{background:#eef6ff;border-color:#b9d4f4;grid-row:1/3;padding:24px}.practice-entry__icon{color:#fff;background:var(--primary);border-radius:8px;flex:0 0 52px;place-items:center;width:52px;height:52px;display:grid}.practice-entry:not(.practice-entry--primary) .practice-entry__icon{flex-basis:42px;width:42px;height:42px}.practice-entry__icon--random{background:var(--green)}.practice-entry__icon--wrong{background:var(--red)}.practice-entry__body{flex:1;gap:4px;min-width:0;display:grid}.practice-entry__body strong{font-size:16px}.practice-entry__kicker{color:var(--primary);font-size:11px;font-weight:750}.practice-entry--primary .practice-entry__body strong{font-size:22px}.practice-entry__body small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.practice-entry__progress-label{justify-content:space-between;align-items:center;width:min(100%,360px);margin-top:8px;display:flex}.practice-entry__progress-label b{color:var(--primary);font-size:13px}.practice-progress{background:#d5e4f6;border-radius:4px;width:min(100%,360px);height:7px;margin-top:0;overflow:hidden}.practice-progress span{border-radius:inherit;background:var(--primary);height:100%;display:block}.summary-band{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:repeat(4,1fr);display:grid}.summary-item{border-right:1px solid var(--line);min-width:0;color:var(--primary);align-items:center;gap:13px;padding:20px;display:flex}.summary-item:last-child{color:var(--red);border-right:0}.summary-item div{min-width:0;display:grid}.summary-item strong{color:var(--text-main);font-size:22px;line-height:1.2}.summary-item span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.section-block,.records-section{margin-top:30px}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.section-heading p{color:var(--text-muted);margin:2px 0 0;font-size:13px}.type-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.type-card,.quick-action{border:1px solid var(--line);min-width:0;color:var(--text-main);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:14px;display:flex}.type-card{align-items:flex-start;min-height:136px;padding:16px;position:relative;box-shadow:0 6px 18px #26375a0a}.type-card-open{z-index:1;border-radius:inherit;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.type-card-open:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.type-card:hover,.quick-action:hover{border-color:var(--line-strong);background:var(--surface-muted)}.type-card.tone-blue{background:#fbfcff;border-color:#d7e3ff}.type-card.tone-green{background:#f9fefc;border-color:#cdebe2}.type-card.tone-amber{background:#fffdf7;border-color:#f1dfaa}.type-card.tone-red{background:#fffaf9;border-color:#f4d3cf}.type-card-icon{border-radius:8px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.tone-blue .type-card-icon{color:#fff;background:linear-gradient(145deg,#6fa7ff,#3c70ed);box-shadow:0 6px 12px #3c70ed2e}.tone-green .type-card-icon{color:#08775e;background:linear-gradient(145deg,#a1e7d5,#62cbb0);box-shadow:0 6px 12px #2d9b7d29}.tone-amber .type-card-icon{color:#946000;background:linear-gradient(145deg,#ffe28a,#ffc95a);box-shadow:0 6px 12px #d9911329}.tone-red .type-card-icon{color:#fff;background:linear-gradient(145deg,#ff9a8f,#ee685e);box-shadow:0 6px 12px #eb62582e}.type-card-body{flex:1;gap:5px;min-width:0;display:grid}.type-card-title{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.type-card-title>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.type-card-progress-label,.type-card-metrics{justify-content:space-between;align-items:center;gap:10px;display:flex}.type-card-progress-label{margin-top:6px}.type-card-progress-label b{color:var(--text-main);font-size:11px}.type-card-progress{background:#e8ebf2;border-radius:3px;width:100%;height:5px;display:block;overflow:hidden}.type-card-progress>span{border-radius:inherit;height:100%;display:block}.tone-blue .type-card-progress>span{background:#4c7df2}.tone-green .type-card-progress>span{background:#39ad8f}.tone-amber .type-card-progress>span{background:#e5a52c}.tone-red .type-card-progress>span{background:#ef746b}.type-card-metrics{margin-top:2px}.type-card-arrow{align-self:center}.type-card-reset{z-index:2;width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.type-card-reset:hover{border-color:var(--line);color:var(--text-main);background:#fffc}.type-card-reset:disabled{opacity:.5;cursor:wait}.type-card-body strong,.quick-action strong{font-size:16px}.type-card-body span,.quick-action small{color:var(--text-muted);font-size:12px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.quick-action{padding:17px}.quick-action>span{flex:1;min-width:0;display:grid}.practice-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.quiz-focus-route .app-header{display:none}.quiz-focus-route,.quiz-focus-route .main-content{background:#fff}.practice-topbar{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;min-height:58px;margin-bottom:22px;padding-bottom:13px;display:grid}.practice-topbar>div{justify-items:center;line-height:1.25;display:grid}.practice-topbar h1{font-size:19px}.practice-topbar span{color:var(--text-muted);margin-top:3px;font-size:10px}.practice-topbar-button{color:#657083;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.practice-topbar-button:hover{color:var(--primary);background:#f0f3f9}.practice-settings-trigger{color:#929baa;justify-self:end}.practice-topbar-spacer{justify-self:end;width:36px;height:36px}.practice-settings-body{gap:12px;margin:18px 0;display:grid}.practice-settings-backdrop{z-index:70;background:#1623447a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.practice-settings-sheet{background:var(--surface);border:1px solid #e2e7f4;border-radius:8px;width:min(600px,100%);padding:20px;box-shadow:0 22px 54px #1b2a503d}.practice-settings-sheet>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.practice-settings-sheet>header h2{color:#26334c}.practice-settings-sheet>header .icon-button{color:var(--primary);background:#eef3ff}.practice-settings-sheet .segmented-control{background:#f1f3f8;border-color:#e0e5f0}.practice-settings-sheet .segmented-control button.active{color:var(--primary);background:#fff;box-shadow:0 3px 8px #2d487c1a}.practice-settings-sheet .count-chip.active{color:#2857dc;background:#edf2ff;border-color:#68e;box-shadow:0 3px 8px #3568f41a}.practice-settings-sheet .custom-count-control:focus-within{border-color:#68e;box-shadow:0 0 0 3px #edf2ff}.practice-settings-sheet .custom-count-control button{color:#2d5ee8;background:#eef3ff}.practice-settings-done{background:linear-gradient(100deg,#4e8bff,#354ff2);border:1px solid #315ee8;width:100%;box-shadow:0 8px 18px #3555eb33}.practice-setting-row{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;display:grid}.practice-setting-label{color:var(--text-muted);font-size:13px;font-weight:650}.practice-count-row{grid-template-columns:74px minmax(0,1fr) auto}.practice-count-row>small{color:var(--text-muted);white-space:nowrap;font-size:12px}.practice-auto-next-row{cursor:pointer;grid-template-columns:74px minmax(0,1fr) auto}.practice-auto-next-copy{gap:2px;display:grid}.practice-auto-next-copy strong{color:var(--text-main);font-size:13px}.practice-auto-next-copy small{color:var(--text-muted);font-size:11px}.practice-switch{width:42px;height:24px;display:block;position:relative}.practice-switch input{opacity:0;width:1px;height:1px;position:absolute}.practice-switch>span{background:#c9cfdb;border-radius:12px;transition:background .14s;position:absolute;inset:0}.practice-switch>span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .14s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #2734523d}.practice-switch input:checked+span{background:var(--primary)}.practice-switch input:checked+span:after{transform:translate(18px)}.practice-switch input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.practice-count-controls{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.count-chip{border:1px solid var(--line-strong);min-height:34px;color:var(--text-muted);background:var(--surface);cursor:pointer;font:inherit;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:650}.count-chip:hover,.count-chip.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.custom-count-control{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;height:34px;display:inline-flex;overflow:hidden}.custom-count-control:focus-within{border-color:var(--primary)}.custom-count-control input{width:82px;min-width:0;color:var(--text-main);font:inherit;background:0 0;border:0;outline:0;padding:0 9px;font-size:13px}.custom-count-control button{border:0;border-left:1px solid var(--line);color:var(--primary);background:var(--surface-muted);cursor:pointer;padding:0 10px;font-weight:650}.toolbar-group{align-items:center;gap:10px;display:flex}.segmented-control{border:1px solid var(--line);background:#e9edf2;border-radius:7px;align-items:center;min-height:36px;padding:3px;display:inline-flex}.segmented-control button{min-height:28px;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:4px 12px;font-size:13px;font-weight:650;display:inline-flex}.segmented-control button.active{color:var(--text-main);background:var(--surface);box-shadow:0 1px 2px #141e281a}.select-control{border:1px solid var(--line-strong);height:36px;color:var(--text-main);background:var(--surface);border-radius:6px;padding:0 30px 0 10px}.progress-line{background:#e5e9f2;border-radius:2px;height:4px;margin-bottom:18px;overflow:hidden}.progress-line span{background:linear-gradient(90deg,#5aa1ff,#4059f3);height:100%;transition:width .18s;display:block}.quiz-layout,.review-layout{grid-template-columns:minmax(0,1fr) 244px;align-items:start;gap:18px;display:grid}.quiz-workspace{min-width:0}.practice-quiz-layout{width:min(760px,100%);margin:0 auto}.practice-quiz-layout .question-panel{box-shadow:none;background:0 0;border:0;padding:4px 0 0}.practice-quiz-layout .type-badge{color:#d85625;background:#fff0e7}.practice-quiz-layout .type-multiple{color:#08775e;background:#e4f8f1}.practice-quiz-layout .type-judge{color:#9c6800;background:#fff3ce}.practice-quiz-layout .type-case{color:#6252d6;background:#eeebff}.practice-quiz-layout .question-position{color:var(--primary);font-weight:700}.quiz-page .question-actions .primary-button{background:linear-gradient(100deg,#4e8bff,#354ff2);border:1px solid #315ee8;box-shadow:0 7px 16px #3555eb33}.question-panel,.question-palette,.exam-setup,.score-panel,.exam-record,.attempt-row{border:1px solid var(--line);background:var(--surface);border-radius:8px}.question-panel{padding:24px}.question-heading,.question-meta,.palette-heading,.answer-result-title{align-items:center;display:flex}.question-heading,.palette-heading{justify-content:space-between;gap:12px}.question-meta{gap:9px}.type-badge{color:var(--primary);background:var(--primary-soft);border-radius:4px;align-items:center;padding:2px 7px;font-size:12px;font-weight:700;display:inline-flex}.type-multiple{color:var(--green);background:var(--green-soft)}.type-judge{color:var(--amber);background:var(--amber-soft)}.type-case{color:var(--red);background:var(--red-soft)}.question-position,.detail-name{color:var(--text-muted);font-size:12px}.detail-name{text-overflow:ellipsis;white-space:nowrap;max-width:45%;overflow:hidden}.case-context{border-left:3px solid var(--amber);background:#fff9ec;margin-top:18px;padding:15px}.case-context strong{font-size:13px}.case-context p{color:#4f5965;white-space:pre-wrap;margin:5px 0 0}.question-content{white-space:pre-wrap;margin:22px 0;font-size:19px;font-weight:650;line-height:1.75}.options-list{gap:10px;display:grid}.option-item{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:7px;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:10px;min-height:48px;padding:9px 13px;display:grid}.option-item:hover:not(.disabled){background:#f7faff;border-color:#9bbbe9}.option-item.selected{border-color:var(--primary);background:var(--primary-soft)}.option-item.is-right{color:#165e3e;background:var(--green-soft);border-color:#72bd9a}.option-item.is-wrong{color:#8d2525;background:var(--red-soft);border-color:#dc9292}.option-item input{opacity:0;width:1px;height:1px;position:absolute}.option-key{border:1px solid var(--line-strong);background:var(--surface);border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:750;display:grid}.option-item.selected .option-key{border-color:var(--primary);color:#fff;background:var(--primary)}.option-item.is-right .option-key{border-color:var(--green);color:#fff;background:var(--green)}.option-item.is-wrong .option-key{border-color:var(--red);color:#fff;background:var(--red)}.option-text{white-space:pre-wrap;min-width:0}.option-status{justify-self:end}.answer-result{border-radius:7px;margin-top:18px;padding:14px 16px}.answer-result.correct{color:#165e3e;background:var(--green-soft)}.answer-result.incorrect{color:#8d2525;background:var(--red-soft)}.answer-result-title{gap:7px}.answer-result p{margin:5px 0 0}.analysis-text{opacity:.9;border-top:1px solid;padding-top:7px}.ai-analysis-block{border-top:1px solid #c9e5e8;gap:10px;margin-top:14px;padding-top:14px;display:grid}.ai-analysis-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.ai-analysis-actions>span{color:var(--text-muted);font-size:12px}.ai-analysis-button{color:#087784;cursor:pointer;background:#effbfc;border:1px solid #9ad1d7;border-radius:6px;align-items:center;gap:7px;width:fit-content;min-height:36px;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex}.ai-analysis-button:hover{background:#e3f7f8;border-color:#5cb4be}.ai-analysis-content{background:#f1fbfc;border:1px solid #c9e5e8;border-left:3px solid #39a9b3;border-radius:0 6px 6px 0;min-width:0;padding:14px 16px}.ai-analysis-heading{color:#087784;border-bottom:1px solid #c9e5e8;align-items:center;gap:7px;padding-bottom:7px;display:flex}.markdown-content{overflow-wrap:anywhere;color:#34515a;min-width:0;margin-top:7px;line-height:1.7}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#245b65;margin:14px 0 6px;font-size:15px;line-height:1.5}.markdown-content h1,.markdown-content h2{border-bottom:1px solid #c9e5e8;padding-bottom:4px}.markdown-content strong{color:#174c56;font-weight:750}.markdown-content em{color:#52737a}.markdown-content del{color:#718a8e}.markdown-content p{white-space:pre-wrap;margin:7px 0}.markdown-content ul,.markdown-content ol{margin:7px 0;padding-left:22px}.markdown-content li+li{margin-top:4px}.markdown-content li.task-list-item{margin-left:-22px;list-style:none}.markdown-content li.task-list-item input{accent-color:#178b97;vertical-align:middle;margin:0 6px 0 0}.markdown-content blockquote{color:#52737a;background:#ffffff8c;border-left:3px solid #83c8ce;margin:9px 0;padding:5px 12px}.markdown-content code{color:#245b65;font-family:var(--mono);background:#dff2f4;border-radius:4px;padding:2px 5px;font-size:12px;display:inline}.markdown-content pre{color:#dceff1;background:#23434a;border-radius:5px;max-width:100%;margin:9px 0;padding:10px 12px;overflow-x:auto}.markdown-content pre code{color:inherit;white-space:pre;background:0 0;padding:0;display:block}.markdown-content table{border-collapse:collapse;max-width:100%;margin:9px 0;font-size:12px;display:block;overflow-x:auto}.markdown-content th,.markdown-content td{text-align:left;white-space:nowrap;border:1px solid #b9dfe3;padding:6px 9px}.markdown-content th{color:#245b65;background:#dff2f4}.markdown-content hr{border:0;border-top:1px solid #b9dfe3;margin:14px 0}.markdown-content a{color:#087784;text-decoration:underline}.question-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.question-palette{padding:16px;position:sticky;top:20px}.palette-heading{margin-bottom:12px}.palette-heading-copy{min-width:0;display:grid}.palette-toggle{color:#8993a4;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:0 0 30px;place-items:center;width:30px;height:30px;padding:0;display:grid}.palette-toggle:hover{color:var(--primary);background:#f0f4ff;border-color:#dce4f5}.palette-heading span{color:var(--text-muted);font-size:12px}.palette-grid{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.palette-grid button{aspect-ratio:1;border:1px solid var(--line);min-width:0;color:var(--text-muted);background:var(--surface-muted);cursor:pointer;border-radius:5px;font-size:12px}.palette-grid button.answered{color:var(--primary);background:var(--primary-soft);border-color:#8bb0e7}.palette-grid button.current{outline:2px solid var(--primary);outline-offset:1px}.palette-grid button.correct{color:var(--green);background:var(--green-soft);border-color:#72bd9a}.palette-grid button.wrong{color:var(--red);background:var(--red-soft);border-color:#dc9292}.palette-submit{width:100%;margin-top:14px}@media (width>=961px){.exam-quiz-layout.palette-collapsed,.review-layout.palette-collapsed{grid-template-columns:minmax(0,1fr) 54px}.question-palette.is-collapsed{padding:10px 8px}.question-palette.is-collapsed .palette-heading{justify-content:center;margin-bottom:0}.question-palette.is-collapsed .palette-heading-copy{display:none}.question-palette.is-collapsed .palette-submit{width:36px;min-height:36px;margin:12px auto 0;padding:0;font-size:0}.question-palette.is-collapsed .palette-submit svg{width:17px;height:17px}}.exam-setup{max-width:720px;padding:26px}.setup-section+.setup-section{margin-top:26px}.setup-section h2{margin-bottom:12px}.check-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.check-option{border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:center;gap:9px;min-height:44px;padding:9px 12px;display:flex}.check-option input{opacity:0;position:absolute}.check-option span{border:1px solid var(--line-strong);color:#0000;border-radius:4px;place-items:center;width:22px;height:22px;display:grid}.check-option:has(input:checked){background:var(--primary-soft);border-color:#8bb0e7}.check-option input:checked+span{border-color:var(--primary);color:#fff;background:var(--primary)}.count-control{width:fit-content}.exam-setup>.large-button{margin-top:28px}.score-panel{align-items:center;gap:20px;margin-bottom:18px;padding:20px;display:flex}.score-ring{width:88px;height:88px;color:var(--red);border:7px solid #dc9292;border-radius:50%;flex:0 0 88px;justify-content:center;align-items:baseline;padding-top:17px;display:flex}.score-ring.passed{color:var(--green);border-color:#72bd9a}.score-ring strong{font-size:31px;line-height:1}.score-ring span{font-size:12px}.score-summary{flex:1}.score-summary p{color:var(--text-muted);margin:2px 0 0}.wrong-filter{margin-bottom:18px}.wrong-meta{color:var(--text-muted);margin-bottom:9px;font-size:12px}.exam-record-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.records-header-actions{align-items:center;gap:14px;display:flex}.clear-history-backdrop{z-index:80;background:#1623447a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.clear-history-dialog{background:var(--surface);border:1px solid #f0cccc;border-radius:8px;width:min(440px,100%);padding:20px;box-shadow:0 22px 54px #1b2a503d}.clear-history-dialog>header,.clear-history-dialog>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.clear-history-dialog>p{color:var(--text-muted);margin:18px 0;font-size:13px;line-height:1.65}.clear-history-dialog>footer{justify-content:flex-end;margin-top:20px}.clear-history-confirmation{color:var(--text-main);gap:7px;font-size:13px;font-weight:650;display:grid}.clear-history-confirmation input{border:1px solid var(--line-strong);width:100%;min-height:40px;color:var(--text-main);background:#fff;border-radius:6px;outline:none;padding:8px 10px}.clear-history-confirmation input:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.exam-record{align-items:center;gap:14px;padding:15px;display:flex}.exam-score{width:48px;height:48px;color:var(--red);background:var(--red-soft);border-radius:6px;flex:0 0 48px;place-items:center;font-size:18px;font-weight:750;display:grid}.exam-score.passed{color:var(--green);background:var(--green-soft)}.exam-record-main{min-width:0;display:grid}.exam-record-main span{color:var(--text-muted);font-size:13px}.exam-record-main small{color:var(--text-muted);align-items:center;gap:5px;display:flex}.attempt-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.attempt-row{align-items:flex-start;gap:12px;min-width:0;padding:13px 15px;display:flex}.attempt-status{border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.attempt-status.correct{color:var(--green);background:var(--green-soft)}.attempt-status.wrong{color:var(--red);background:var(--red-soft)}.attempt-content{flex:1;min-width:0}.attempt-content>div{justify-content:space-between;gap:10px;display:flex}.attempt-content small{color:var(--text-muted)}.attempt-content p{text-overflow:ellipsis;white-space:nowrap;margin:7px 0 0;overflow:hidden}.loading-block,.empty-state,.empty-row,.error-banner{border:1px solid var(--line);background:var(--surface);border-radius:7px}.loading-block,.empty-state{min-height:180px;color:var(--text-muted);justify-content:center;align-items:center;gap:9px;display:flex}.empty-state{flex-direction:column}.empty-row{color:var(--text-muted);text-align:center;padding:24px}.error-banner{color:#8d2525;background:var(--red-soft);border-color:#e8b5b5;margin-bottom:14px;padding:10px 13px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.home-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-launcher{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-entry--primary{grid-area:auto/1/auto/-1}.summary-band{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(2){border-right:0}.summary-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.quiz-layout,.review-layout{grid-template-columns:minmax(0,1fr)}.question-palette{order:-1;position:static}.question-palette.is-collapsed{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 12px;display:grid}.question-palette.is-collapsed .palette-heading{justify-content:flex-start;margin-bottom:0}.question-palette.is-collapsed .palette-heading-copy{align-items:baseline;gap:7px;display:flex}.question-palette.is-collapsed .palette-submit{width:auto;min-height:34px;margin-top:0;padding:5px 11px}.palette-grid{grid-template-columns:repeat(10,1fr)}}@media (width<=760px){.app-header{height:60px}.app-header-inner{padding:0 15px}.app-settings-link span{display:none}.app-settings-link{justify-content:center;width:34px;height:34px;padding:0}.app-brand .brand-mark{width:34px;height:34px}.main-content{margin-left:0}.page{padding:22px 15px 48px}.quiz-focus-route .quiz-page{padding-top:0}.practice-topbar{z-index:20;background:#fff;min-height:62px;margin:0 -15px 22px;padding:7px 15px;position:sticky;top:0}.practice-topbar h1{font-size:18px}.practice-topbar-button{width:34px;height:34px}.page-header{min-height:auto;margin-bottom:20px}.settings-header{align-items:stretch}.settings-header>button{align-self:flex-start}.settings-panel-heading{padding:18px 15px}.settings-fields{grid-template-columns:1fr;padding:20px 15px}.settings-field-wide{grid-column:auto}.settings-thinking-control{width:100%}.settings-thinking-control button{flex:1}.settings-enable-row{align-items:flex-start;margin:0 15px}.settings-enable-copy span{max-width:260px}.settings-panel-footer{flex-direction:column;align-items:stretch;padding:17px 15px 20px}.settings-panel-footer .primary-button{width:100%}h1{font-size:25px}.dashboard-header{flex-direction:column;align-items:stretch}.home-daily-stats{justify-content:space-between;gap:12px}.home-daily-stats span{text-align:left;flex:1}.home-progress-panel{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:18px 15px}.home-progress-icon{width:48px;height:48px}.home-progress-heading h2{font-size:19px}.home-progress-heading-actions>strong{font-size:22px}.home-start-button{width:100%}.home-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.home-tool{text-align:center;background:0 0;border-color:#0000;flex-direction:column;align-items:center;gap:7px;min-height:142px;padding:7px 2px}.home-tool:hover{background:var(--surface-muted);border-color:#0000}.home-tool small{display:none}.home-tool strong{white-space:nowrap;font-size:12px}.home-tool-content{justify-items:center;width:100%}.home-tool-metrics{flex-direction:column;align-items:stretch;gap:3px;width:100%;margin-top:4px;padding-top:6px}.home-tool-metrics>span{text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.home-tool-metrics b{margin-right:2px;font-size:11px}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.type-card{flex-direction:column;align-items:stretch;gap:10px;min-height:166px;padding:12px}.type-card-icon{flex-basis:38px;width:38px;height:38px}.type-card-arrow{display:none}.type-card-body strong{font-size:14px}.type-card-body span{white-space:normal}.type-card-title{flex-direction:column;align-items:flex-start;gap:0}.type-card-title>span{white-space:normal}.type-card-progress-label,.type-card-metrics{flex-direction:column;align-items:flex-start;gap:0}.quick-grid,.exam-record-grid{grid-template-columns:1fr}.records-header-actions>svg{display:none}.practice-toolbar{flex-direction:column;align-items:stretch}.practice-settings-backdrop{align-items:end;padding:0}.practice-settings-sheet{width:100%;max-height:82dvh;padding:20px 15px calc(18px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;overflow-y:auto}.practice-settings-sheet:before{content:"";background:#d9deea;border-radius:2px;width:38px;height:4px;margin:-9px auto 14px;display:block}.practice-setting-row,.practice-count-row{grid-template-columns:1fr;gap:8px}.practice-auto-next-row{grid-template-columns:minmax(0,1fr) auto}.practice-auto-next-row>.practice-setting-label{grid-column:1/-1}.practice-count-row>small{white-space:normal}.practice-count-controls{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.count-chip{padding-inline:6px}.custom-count-control{grid-column:1/-1}.custom-count-control input{flex:1;width:auto}.toolbar-group{justify-content:space-between}.scrollable{max-width:100%;overflow-x:auto}.question-panel{padding:18px 15px}.practice-quiz-layout .question-panel{padding:0}.question-content{margin:18px 0;font-size:17px}.option-item{grid-template-columns:28px minmax(0,1fr) 18px;padding:9px 10px}.question-actions{flex-wrap:wrap}.question-actions>button{flex:1}.ai-analysis-actions{flex-direction:column;align-items:flex-start}.ai-analysis-button{width:100%}.ai-analysis-content{padding:12px}.palette-grid{grid-template-columns:repeat(8,1fr)}.score-panel{flex-wrap:wrap;align-items:flex-start}.score-summary{min-width:calc(100% - 112px)}.score-panel>button{width:100%}.check-grid{grid-template-columns:1fr}}@media (width<=480px){.practice-launcher{grid-template-columns:1fr}.practice-entry--primary{grid-column:auto;padding:19px 16px}.practice-entry--primary .practice-entry__icon{flex-basis:46px;width:46px;height:46px}.practice-entry--primary .practice-entry__body strong{font-size:19px}.summary-band{grid-template-columns:1fr}.summary-item{border-right:0;border-bottom:1px solid var(--line)}.summary-item:nth-child(3){border-bottom:1px solid var(--line)}.summary-item:last-child{border-bottom:0}.dashboard-header{align-items:stretch}.home-progress-panel{grid-template-columns:1fr}.home-progress-icon,.home-source-count{display:none}.toolbar-group{flex-direction:column;align-items:stretch}.toolbar-group .segmented-control,.select-control{width:100%}.toolbar-group .segmented-control button{flex:1}.palette-grid{grid-template-columns:repeat(6,1fr)}.question-heading{align-items:flex-start}.home-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-tool{min-height:134px;padding:10px 6px}.detail-name{display:none}}
