:root {
  --gk-ink: #42271e;
  --gk-ink-soft: #6c3d2c;
  --gk-paper: #f8efe5;
  --gk-paper-strong: #fffaf4;
  --gk-accent: #df6534;
  --gk-gold: #c58b45;
  --edu-jade: #df6534;
  --gk-line: rgba(92, 48, 31, .18);
  --gk-muted: #806b62;
  --gk-radius: 18px;
  --gk-shadow: 0 24px 64px rgba(91, 45, 27, .14);
}

.gk-page{min-height:100vh;background:var(--gk-paper);color:var(--gk-ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif}
.gk-page::before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 63px,rgba(111,55,32,.035) 64px),linear-gradient(135deg,rgba(223,101,52,.1),transparent 44%);z-index:0}
.gk-shell{position:relative;z-index:1;width:min(1280px,calc(100% - 40px));margin:0 auto;padding:42px 0 64px}
.gk-eyebrow{font:700 12px/1.2 "Arial Narrow",sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--gk-accent)}
.gk-button{min-height:46px;border:0;border-radius:999px;padding:0 22px;font-weight:800;cursor:pointer;transition:transform .2s ease,background .2s ease;color:#fff;background:var(--gk-accent)}
.gk-button:hover{transform:translateY(-2px)}
.gk-button:focus-visible,.gk-field input:focus-visible,.gk-field select:focus-visible,.gk-option:focus-visible{outline:3px solid #ffb29f;outline-offset:3px}

.gk-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--gk-line);margin-bottom:28px}
.gk-brand{font-family:Georgia,"Songti SC",serif;font-size:22px;font-weight:800}.gk-brand small{display:block;margin-top:5px;font:700 10px/1 monospace;letter-spacing:.18em;color:var(--gk-accent)}
.gk-actions{display:flex;gap:10px;flex-wrap:wrap}.gk-button.secondary{background:transparent;color:var(--gk-ink);border:1px solid var(--gk-line)}.gk-button.dark{background:var(--gk-ink)}
.gk-profile-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:30px;align-items:start}
.gk-intro-panel{position:sticky;top:24px;min-height:560px;padding:34px;border-radius:var(--gk-radius);background:var(--gk-ink);color:#fff;overflow:hidden}
.gk-intro-panel h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(38px,5vw,60px);line-height:1.08;margin:50px 0 20px}.gk-intro-panel p{color:#c6ceda;line-height:1.8}.gk-index{position:absolute;right:24px;bottom:22px;color:rgba(255,255,255,.35);font:700 11px/1.5 monospace;text-align:right}
.gk-form-card,.gk-panel{background:var(--gk-paper-strong);border:1px solid var(--gk-line);border-radius:var(--gk-radius);box-shadow:var(--gk-shadow)}
.gk-form-card{padding:32px}.gk-form-card h2{font-family:Georgia,"Songti SC",serif;font-size:32px;margin:0 0 8px}.gk-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.gk-field{display:grid;gap:8px}.gk-field.full{grid-column:1/-1}.gk-field span{font-size:13px;font-weight:800}.gk-field input,.gk-field select{min-height:48px;border:1px solid var(--gk-line);border-radius:10px;background:#fff;padding:0 13px;font:inherit;color:var(--gk-ink)}.gk-form-error{min-height:22px;color:#b53822;font-weight:700}

.gk-dashboard-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:24px}.gk-person{display:flex;align-items:center;gap:16px}.gk-avatar{width:68px;height:68px;border-radius:16px;display:grid;place-items:center;background:var(--gk-ink);color:#fff;font-family:Georgia,serif;font-size:32px}.gk-name-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.gk-person h1{margin:0;font-family:Georgia,"Songti SC",serif;font-size:clamp(30px,4vw,48px)}.gk-exam-countdown{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border:1px solid var(--gk-gold);border-radius:999px;background:#fff8e7;color:#76531e;font-size:13px;font-weight:800}.gk-person p{margin:6px 0 0;color:var(--gk-muted)}
.gk-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.gk-panel{padding:26px}.gk-panel h2{font-family:Georgia,"Songti SC",serif;margin:0 0 20px}.gk-progress-list{display:grid;gap:18px}.gk-progress-row{display:grid;grid-template-columns:70px 1fr 55px;align-items:center;gap:14px}.gk-progress-track{height:10px;background:#e6e0d6;border-radius:20px;overflow:hidden}.gk-progress-track i{display:block;height:100%;background:var(--gk-accent);border-radius:inherit}.gk-progress-row strong{text-align:right;font-family:monospace}.gk-task-list{display:grid;gap:12px}.gk-task{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--gk-line)}.gk-task i{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--gk-line);border-radius:50%;font-style:normal}.gk-task.done i{background:var(--gk-ink);color:#fff}.gk-start{margin-top:22px;width:100%}.gk-weak-list{display:grid;gap:10px}.gk-weak-item{padding:12px 14px;background:#f0ebe1;border-left:4px solid var(--gk-gold);border-radius:8px}.gk-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.gk-module{padding:18px;border:1px solid var(--gk-line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.gk-module b{display:block;margin-bottom:8px}.gk-module span{font-size:12px;color:var(--gk-muted)}

.gk-theory-layout{display:grid;grid-template-columns:260px 1fr;gap:24px}.gk-category-panel{padding:22px;background:var(--gk-ink);color:#fff;border-radius:var(--gk-radius);align-self:start}.gk-category-panel h2{font-family:Georgia,"Songti SC",serif;margin:0 0 18px}.gk-category-list{display:grid;gap:8px}.gk-category-button{min-height:44px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:transparent;color:#d8deea;text-align:left;padding:0 13px;cursor:pointer}.gk-category-button.active{background:var(--gk-accent);border-color:var(--gk-accent);color:#fff;font-weight:800}

/* 海棠艺考设置页沿用同一套暖纸与橙色强调。 */
.product-exam #eduSettings{--edu-ink:#42271e;--edu-muted:#806b62;--edu-jade:#df6534;--edu-jade-dark:#a84624;--edu-jade-pale:#f8ded0;--edu-paper:#f8efe5;--edu-gold:#c58b45;color:var(--edu-ink);background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.9),transparent 34%),linear-gradient(135deg,rgba(223,101,52,.1),transparent 48%),#f8efe5}
.product-exam #eduSettings .theory-head,.product-exam #eduSettings .settings-group{border-color:rgba(92,48,31,.18);background:rgba(255,250,244,.96);box-shadow:0 16px 42px rgba(91,45,27,.08)}
.product-exam #eduSettings .settings-row+.settings-row{border-top-color:rgba(92,48,31,.1)}
.product-exam #eduSettings .settings-theme-row button.on{border-color:#df6534;background:#df6534}
.product-exam #eduSettings .settings-row-btn:hover{border-color:#df6534;color:#b64a25}
[data-theme="dark"] .product-exam #eduSettings{--edu-ink:#f3e7df;--edu-muted:#bbaaa0;--edu-jade:#e87543;--edu-jade-dark:#f28a5b;--edu-jade-pale:#41291f;--edu-paper:#171311;--edu-gold:#d9a35c;color:var(--edu-ink);background:radial-gradient(circle at 12% 0%,rgba(232,117,67,.12),transparent 36%),#171311}
[data-theme="dark"] .product-exam #eduSettings .theory-head,[data-theme="dark"] .product-exam #eduSettings .settings-group{border-color:rgba(239,177,144,.17);background:rgba(37,28,24,.96);box-shadow:0 16px 42px rgba(0,0,0,.24)}
.gk-question-card{min-height:560px;padding:30px}.gk-question-meta{display:flex;justify-content:space-between;font:700 11px/1 monospace;letter-spacing:.12em;color:var(--gk-muted)}.gk-question-progress{height:6px;background:#e7e1d7;border-radius:10px;margin:16px 0 40px;overflow:hidden}.gk-question-progress i{display:block;height:100%;background:var(--gk-accent)}.gk-question-card h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(26px,4vw,42px);line-height:1.35;margin:0 0 30px}.gk-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gk-option{min-height:62px;padding:12px 16px;border:1px solid var(--gk-line);border-radius:11px;background:#fff;color:var(--gk-ink);font:700 15px/1.5 inherit;text-align:left;cursor:pointer}.gk-option:hover{border-color:var(--gk-accent)}.gk-option.correct{background:#e4f2e8;border-color:#3f8b59;color:#236039}.gk-option.wrong{background:#fae7e2;border-color:#ce5d45;color:#9d3825}.gk-option:disabled{cursor:default;opacity:1}.gk-explanation{min-height:78px;margin:22px 0 12px;padding:16px 18px;border-left:4px solid var(--gk-gold);background:#f2ede3;line-height:1.75}.gk-question-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.gk-question-actions .gk-button:disabled{opacity:.35;cursor:not-allowed;transform:none}.gk-result{text-align:center;padding:50px 28px}.gk-result-score{font:800 clamp(64px,10vw,112px)/1 Georgia,serif;color:var(--gk-accent)}.gk-result h1{font-family:Georgia,"Songti SC",serif}
.gk-theory-notation{margin:-12px 0 26px;padding:16px;border:1px solid var(--gk-line);border-radius:14px;background:#fff;overflow-x:auto}.gk-theory-notation .staff-svg{display:block;width:100%;min-width:440px;height:auto}.gk-option.notation{display:grid;align-content:center;gap:8px;min-height:130px;overflow-x:auto}.gk-option.notation .staff-svg{display:block;width:100%;min-width:280px;height:auto}.gk-option.notation span{font-size:13px;color:var(--gk-muted)}
.gk-dictation-hero{max-width:850px;margin:46px 0 30px}.gk-dictation-hero h1,.gk-dictation-intro h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(38px,6vw,68px);line-height:1.08;margin:10px 0 18px}.gk-dictation-hero p,.gk-dictation-intro>p{max-width:720px;color:var(--gk-muted);line-height:1.8}.gk-dictation-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gk-dictation-mode{min-height:210px;padding:25px;border:1px solid var(--gk-line);border-radius:16px;background:#fffaf4;text-align:left;color:var(--gk-ink);cursor:pointer;box-shadow:0 13px 36px rgba(91,45,27,.08);transition:transform .2s ease,border-color .2s ease}.gk-dictation-mode:hover{transform:translateY(-4px);border-color:var(--gk-gold)}.gk-dictation-mode i{display:block;color:var(--gk-gold);font:800 12px/1 monospace;letter-spacing:.16em}.gk-dictation-mode b{display:block;margin:28px 0 9px;font:700 27px/1.15 Georgia,"Songti SC",serif}.gk-dictation-mode span,.gk-dictation-mode small{display:block;color:var(--gk-muted);line-height:1.6}.gk-dictation-mode small{margin-top:18px;font-weight:800;color:var(--gk-accent)}.gk-dictation-intro{max-width:920px;margin:54px auto;padding:42px}.gk-dictation-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0}.gk-dictation-facts div{padding:20px;border:1px solid var(--gk-line);border-radius:12px;background:#fff}.gk-dictation-facts strong{display:block;font:800 32px/1 Georgia,serif}.gk-dictation-facts span{display:block;margin-top:8px;color:var(--gk-muted)}.gk-dictation-status{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:14px 18px;border:1px solid var(--gk-line);border-radius:14px;background:rgba(248,239,229,.95);backdrop-filter:blur(12px)}.gk-dictation-status b{display:block;margin-top:5px}.gk-timer{min-width:116px;padding:10px 16px;border-radius:10px;background:var(--gk-ink);color:#fff;text-align:center;font:800 27px/1 ui-monospace,Consolas,monospace}.gk-timer.warning{background:#a43b2d}.gk-dictation-question{max-width:980px;margin:0 auto;text-align:center}.gk-dictation-question h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(25px,4vw,38px);margin:8px 0}.gk-dictation-question>p{color:var(--gk-muted)}.gk-dictation-play{width:76px;height:76px;margin:18px auto;border:0;border-radius:50%;background:var(--gk-accent);color:#fff;font-size:27px;cursor:pointer;box-shadow:0 12px 28px rgba(223,101,52,.26)}.gk-dictation-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.gk-dictation-option{min-height:150px;padding:12px;border:1px solid var(--gk-line);border-radius:13px;background:#fff;cursor:pointer;overflow:auto}.gk-dictation-option:hover{border-color:var(--gk-accent)}.gk-dictation-option.selected{border:3px solid var(--gk-accent);background:#fff0e7;box-shadow:0 0 0 3px rgba(223,101,52,.11)}.gk-dictation-option .staff-svg{display:block;width:100%;min-width:300px;height:auto}.gk-dictation-breakdown{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px 0}.gk-dictation-breakdown span{padding:9px 13px;border-radius:999px;background:#f3e4d5;font-weight:800}
.gk-toast{position:fixed;left:50%;bottom:28px;z-index:1000;transform:translate(-50%,20px);padding:12px 18px;border-radius:999px;background:var(--gk-ink);color:#fff;opacity:0;pointer-events:none;transition:.22s}.gk-toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:860px){.gk-dashboard-head,.gk-profile-layout,.gk-dashboard-grid,.gk-theory-layout{grid-template-columns:1fr}.gk-intro-panel{position:relative;min-height:360px}.gk-category-panel{position:relative}.gk-category-list{grid-template-columns:repeat(3,1fr)}.gk-module-grid{grid-template-columns:1fr 1fr}.gk-dictation-modes{grid-template-columns:1fr 1fr}.gk-dictation-status{grid-template-columns:1fr auto}.gk-dictation-status .gk-button{grid-column:1/-1}.gk-dictation-options{grid-template-columns:1fr}}
@media(max-width:580px){.gk-shell{width:min(100% - 24px,1280px);padding-top:20px}.gk-topbar{align-items:flex-start}.gk-actions{justify-content:flex-end}.gk-form-card,.gk-panel,.gk-question-card{padding:20px}.gk-form-grid,.gk-options,.gk-module-grid,.gk-dictation-modes,.gk-dictation-facts{grid-template-columns:1fr}.gk-field.full{grid-column:auto}.gk-category-list{grid-template-columns:1fr 1fr}.gk-progress-row{grid-template-columns:58px 1fr 46px}.gk-question-card{min-height:0}.gk-question-actions{position:sticky;bottom:8px;background:rgba(244,240,231,.94);padding:10px 0}.gk-button{padding:0 16px}.gk-dictation-intro{padding:24px}.gk-dictation-status{position:relative}.gk-dictation-option{min-height:125px}.gk-dictation-option .staff-svg{min-width:250px}}
@media(prefers-reduced-motion:reduce){.gk-button,.gk-toast{transition:none}}
.gk-category-button{min-height:58px;padding:8px 13px}.gk-category-button b,.gk-category-button small{display:block}.gk-category-button small{margin-top:4px;opacity:.72}.gk-question-meta{align-items:center;gap:12px}.gk-question-meta .gk-timer{min-width:90px;padding:8px 12px;font-size:16px;letter-spacing:0}.gk-dictation-option.theory{display:grid;place-items:center;min-height:92px;padding:18px;font-size:17px;font-weight:800;text-align:center}
.gk-dictation-option.correct{border:3px solid #3f8b59;background:#e4f2e8}.gk-dictation-option.wrong{border:3px solid #ce5d45;background:#fae7e2}.gk-dictation-option:disabled{cursor:default;opacity:1}
.gk-dictation-mode:disabled{cursor:not-allowed;opacity:.55;transform:none}
