:root {
  --ink:#1c2421;
  --muted:#69716d;
  --paper:#f5f1e8;
  --paper-light:#fffdf7;
  --jade:#1d5c50;
  --jade-dark:#123f37;
  --jade-pale:#dce9e2;
  --red:#b74934;
  --gold:#c28d3d;
  --line:#4d4b44;
  --soft-line:rgba(28,36,33,.14);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Serif SC","Songti SC","STSong",Georgia,serif}
button{font:inherit}
a{color:inherit}

.app-shell{isolation:isolate;min-height:100vh;overflow:hidden;padding:0 4.6vw 36px;position:relative}
.paper-texture{background-image:radial-gradient(rgba(18,64,55,.1) .5px,transparent .7px),radial-gradient(rgba(150,104,60,.08) .45px,transparent .7px);background-position:0 0,7px 9px;background-size:14px 14px,19px 19px;inset:0;mix-blend-mode:multiply;opacity:.42;pointer-events:none;position:fixed;z-index:-1}
.topbar{align-items:center;border-bottom:1px solid var(--soft-line);display:flex;justify-content:space-between;margin:0 auto;max-width:1380px;min-height:78px}
.brand{align-items:center;color:var(--ink);display:flex;gap:11px;text-decoration:none}
.brand-seal{border:1px solid var(--red);border-radius:50%;color:var(--red);display:grid;font-size:20px;height:36px;line-height:1;place-items:center;width:36px}
.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.1em}.brand small{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.17em;margin-top:3px}
.topbar-links{display:flex;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;gap:18px}.topbar-links a{color:var(--muted);text-decoration:none}.topbar-links a:hover,.topbar-links a:focus-visible{color:var(--jade);text-decoration:underline;text-underline-offset:5px}
.scoreboard{align-items:center;color:var(--muted);display:flex;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;gap:12px}.scoreboard b{color:var(--jade);font-size:14px}.scoreboard i{background:var(--soft-line);height:14px;width:1px}

.intro-strip{margin:0 auto;max-width:1260px;padding:42px 0 20px}.eyebrow{color:var(--red);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:700;letter-spacing:.17em;margin:0 0 9px}.intro-strip h1{font-size:clamp(32px,4.5vw,56px);font-weight:500;letter-spacing:-.06em;line-height:1.12;margin:0}.intro-strip h1 em{color:var(--jade);font-style:normal}
.discipline-switch{align-items:center;border-bottom:1px solid var(--soft-line);display:flex;gap:8px;margin:0 auto 26px;max-width:1260px;padding-bottom:17px}.discipline-switch>span{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.14em;margin-right:7px}.discipline-switch>button{align-items:baseline;background:rgba(255,253,247,.5);border:1px solid var(--soft-line);color:#5f6762;cursor:pointer;display:flex;gap:9px;min-height:39px;padding:8px 15px}.discipline-switch>button strong{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:650}.discipline-switch>button small{color:var(--gold);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px}.discipline-switch>button:hover,.discipline-switch>button:focus-visible{border-color:var(--jade);color:var(--jade)}.discipline-switch>button.active{background:var(--jade);border-color:var(--jade);color:#fff}.discipline-switch>button.active small{color:#f2d6a0}.learning-path{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;letter-spacing:.04em;margin-left:auto}
.mobile-context-bar,.mobile-board-controls{display:none}

.trainer-layout{align-items:start;display:grid;gap:clamp(28px,5vw,76px);grid-template-columns:minmax(300px,360px) minmax(550px,680px);justify-content:center;margin:0 auto;max-width:1260px}
.library-panel{background:rgba(255,255,255,.28);border:1px solid var(--soft-line);padding:22px}
.library-heading{align-items:baseline;border-bottom:1px solid var(--soft-line);display:flex;justify-content:space-between;padding-bottom:13px}.library-heading span{font-size:20px}.library-heading strong{color:var(--gold);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;letter-spacing:.11em}
.module-group{margin-top:17px}.module-group h2{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.15em;margin:0 0 8px}.module-list{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.module-list button{align-items:center;background:rgba(255,253,247,.55);border:1px solid var(--soft-line);color:#555e5a;cursor:pointer;display:flex;gap:8px;min-height:38px;padding:7px 8px;text-align:left;transition:background .16s,border-color .16s,color .16s}.module-list button>span{border:1px solid rgba(183,73,52,.35);border-radius:50%;color:var(--red);display:grid;font-size:9px;height:21px;place-items:center;width:21px}.module-list button strong{font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:600}.module-list button em{color:var(--gold);font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;font-style:normal;margin-left:auto}.module-list button:hover{border-color:var(--jade);color:var(--jade)}.module-list button.active{background:var(--jade);border-color:var(--jade);color:#fff}.module-list button.active>span{border-color:rgba(255,255,255,.55);color:#fff}.module-list button.active em{color:#f1d39f}
.active-module-card{border-left:2px solid var(--gold);margin-top:20px;padding:3px 0 3px 13px}.active-module-card span{color:var(--muted);display:block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.11em}.active-module-card strong{color:var(--jade-dark);display:block;font-size:16px;margin:4px 0}.active-module-card p{color:#69716d;font-size:11px;line-height:1.6;margin:0}
.life-picker{border-top:1px solid var(--soft-line);margin-top:17px;padding-top:15px}.life-picker>div:first-child{align-items:baseline;display:flex;justify-content:space-between}.life-picker span{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.1em}.life-picker strong{color:var(--red);font-size:18px}.life-grid{display:grid;gap:4px;grid-template-columns:repeat(6,1fr);margin-top:8px}.life-grid button{background:transparent;border:1px solid var(--soft-line);color:#626a66;cursor:pointer;font-size:11px;padding:5px 0}.life-grid button:hover,.life-grid button.active{background:var(--red);border-color:var(--red);color:#fff}
.level-card{background:rgba(255,255,255,.42);border-left:2px solid var(--gold);margin-top:18px;padding:11px 13px}.level-card>div:first-child{align-items:baseline;display:flex;justify-content:space-between}.level-card span,.level-card small{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.07em}.level-card strong{color:var(--jade-dark);font-size:12px}.level-card small{display:block}.level-track{background:rgba(29,92,80,.11);height:3px;margin:8px 0 6px;overflow:hidden}.level-track i{background:var(--gold);display:block;height:100%;transition:width .2s ease}
.practice-duration{border-top:1px solid var(--soft-line);margin-top:15px;padding-top:13px}.practice-duration>div:first-child{align-items:baseline;display:flex;justify-content:space-between}.practice-duration span{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.08em}.practice-duration strong{color:var(--red);font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px}.practice-duration>div:last-child{display:grid;gap:4px;grid-template-columns:repeat(4,1fr);margin-top:8px}.practice-duration button{background:transparent;border:1px solid var(--soft-line);color:var(--muted);cursor:pointer;font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;padding:6px 2px}.practice-duration button:hover,.practice-duration button.active{background:var(--jade);border-color:var(--jade);color:#fff}
.reset-button{background:none;border:0;border-bottom:1px solid rgba(105,113,109,.35);color:#7b817e;cursor:pointer;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;margin-top:13px;padding:2px 0}.reset-button:hover{color:var(--red)}

.board-stage{min-width:0;text-align:center}.grid-chart{aspect-ratio:1;background:var(--paper-light);border:3px solid #292823;border-radius:17px;box-shadow:0 18px 42px rgba(36,30,21,.14);display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);margin:0 auto;max-width:660px;overflow:hidden;position:relative;width:100%}
.center-prompt{align-content:center;background:linear-gradient(145deg,#fffef9,#f5eddc);border:1.5px solid var(--line);display:grid;grid-column:2/4;grid-row:2/4;justify-items:center;padding:22px;position:relative;text-align:center;z-index:2}.center-prompt>span{color:var(--red);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em}.center-prompt h2{color:var(--jade-dark);font-size:clamp(21px,2.5vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.3;margin:12px 0 8px;max-width:270px}.center-prompt p{color:var(--muted);font-size:11px;line-height:1.55;margin:0;max-width:260px}.answer-guide-button{background:transparent;border:0;border-bottom:1px solid rgba(29,92,80,.38);color:var(--jade);cursor:pointer;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;margin-top:13px;padding:3px 1px}.answer-guide-button:hover,.answer-guide-button.active{border-color:var(--red);color:var(--red)}.answer-guide-button:disabled{cursor:default;opacity:.4}.instant-feedback{font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:650;line-height:1.5;margin-top:11px;min-height:15px}.instant-feedback.idle{color:#7a817d}.instant-feedback.correct{color:var(--jade)}.instant-feedback.wrong{color:var(--red)}.countdown{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;margin-top:10px}.countdown b{color:var(--red);font-size:12px}.restart-session{background:var(--jade);border:0;color:#fff;cursor:pointer;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;margin-top:16px;padding:9px 20px}.restart-session:hover{background:var(--jade-dark)}
.target-sequence{display:flex;gap:6px;margin-top:13px}.target-sequence b{align-items:center;background:#fff;border:1px solid var(--soft-line);color:#969b98;display:flex;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;height:27px;justify-content:center;position:relative;width:27px}.target-sequence b.current{background:var(--jade);border-color:var(--jade);color:#fff;transform:translateY(-2px)}.target-sequence b.done{background:var(--jade-pale);color:var(--jade)}.target-sequence b.done::after{content:"✓";font-size:7px;position:absolute;right:1px;top:-1px}.target-progress{color:var(--gold);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;margin-top:13px}.target-progress b{font-size:14px}
.grid-cell{align-items:center;background:rgba(255,253,246,.88);border:0;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:0;min-width:0;outline:1.4px solid #55534c;outline-offset:-1px;padding:10px;position:relative;text-align:center;transition:background .15s,box-shadow .15s;z-index:1}.grid-cell:hover{background:#fff;box-shadow:inset 0 0 0 2px var(--jade);z-index:3}.grid-cell:focus-visible{outline:3px solid var(--gold);outline-offset:-4px;z-index:4}.grid-cell:disabled{cursor:default;filter:saturate(.55);opacity:.72}.grid-cell:disabled:hover{box-shadow:none}.grid-cell strong{font-size:clamp(13px,1.55vw,19px);font-weight:500;line-height:1.3;max-width:100%;overflow-wrap:anywhere}.grid-cell small{color:currentColor;font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;letter-spacing:.07em;margin-top:7px;opacity:.78}.grid-cell.is-blank>span{height:1px;width:1px}.grid-cell.is-inactive{background:repeating-linear-gradient(135deg,#f2eee4,#f2eee4 7px,#e9e4d8 7px,#e9e4d8 8px);opacity:.48}.grid-cell.is-source{background:#f6e8d6;box-shadow:inset 3px 0 0 var(--red)}.grid-cell.is-source strong{color:var(--red)}.grid-cell.is-guide{cursor:default}.grid-cell.is-guide:hover{background:rgba(255,253,246,.88);box-shadow:none}.grid-cell.is-guide.is-answer-key{background:#f6e8d6;box-shadow:inset 0 0 0 3px var(--gold);color:var(--red);z-index:3}.grid-cell.is-solved{background:var(--jade);box-shadow:inset 0 0 0 2px var(--jade-dark);color:#fff;z-index:3}.grid-cell.is-wrong{background:var(--red);box-shadow:inset 0 0 0 2px #7e3225;color:#fff;z-index:3}.grid-cell.is-solved strong,.grid-cell.is-wrong strong{animation:reveal .18s ease-out both;color:#fff}.grid-cell.is-solved small,.grid-cell.is-wrong small{color:#fff}.answer-burst{align-items:center;border:2px solid rgba(255,255,255,.78);border-radius:50%;box-shadow:0 3px 10px rgba(28,36,33,.2);display:flex;font-family:ui-sans-serif,system-ui,sans-serif;font-size:18px;font-weight:800;height:30px;justify-content:center;pointer-events:none;position:absolute;right:8px;top:8px;width:30px;z-index:8}.answer-burst.correct{animation:resultCorner .52s ease-out both;background:var(--jade);color:#fff}.answer-burst.wrong{animation:resultCorner .62s ease-out both;background:var(--red);color:#fff}
@keyframes reveal{from{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}
@keyframes resultCorner{0%{opacity:0;transform:scale(.35) rotate(-12deg)}28%{opacity:1;transform:scale(1.16) rotate(0)}72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}
.board-note{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.1em;margin-top:15px}.board-note span{background:var(--red);border-radius:50%;display:inline-block;height:5px;margin:0 7px 1px 0;width:5px}

.yijing-question-card{background:var(--paper-light);border:3px solid #292823;border-radius:17px;box-shadow:0 18px 42px rgba(36,30,21,.14);margin:0 auto;max-width:680px;min-height:620px;overflow:hidden;padding:24px 34px 30px;position:relative;width:100%}.yijing-question-card::before{border:1px solid var(--soft-line);content:"";inset:15px;pointer-events:none;position:absolute}.yijing-question-meta{align-items:center;color:var(--muted);display:flex;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;justify-content:space-between;letter-spacing:.11em;position:relative;z-index:1}.yijing-question-meta b{color:var(--red)}.yijing-prompt{padding:26px 0 8px;position:relative;z-index:1}.yijing-prompt h2{color:var(--jade-dark);font-size:clamp(24px,2.5vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.3;margin:0}.yijing-prompt p{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.55;margin:8px auto 0;max-width:440px}.yijing-visual{align-items:center;display:flex;justify-content:center;min-height:220px;position:relative;z-index:1}.yijing-visual.bagua{min-height:315px}.yijing-visual.hexagram{min-height:245px}.yijing-visual>div>small{color:var(--gold);display:block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;letter-spacing:.12em;margin-top:18px}.trigram-lines{display:flex;flex-direction:column;gap:17px;margin:auto;width:190px}.trigram-lines i{display:block;height:19px}.trigram-lines i.yang{background:var(--ink);border-radius:2px}.trigram-lines i.yin{display:flex;gap:18px}.trigram-lines i.yin b{background:var(--ink);border-radius:2px;display:block;flex:1}.trigram-lines.compact{gap:5px;width:54px}.trigram-lines.compact i{height:5px}.trigram-lines.compact i.yin{gap:6px}.concept-visual{align-items:center;display:flex;flex-direction:column;justify-content:center}.concept-visual span{color:var(--gold);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;letter-spacing:.18em}.concept-visual strong{color:var(--ink);font-size:72px;font-weight:500;line-height:1;margin-top:15px}.hexagram-visual{align-items:center;display:flex;flex-direction:column}.hexagram-lines{display:flex;flex-direction:column;gap:9px;width:180px}.hexagram-lines i{display:block;height:11px;position:relative}.hexagram-lines i.yang{background:var(--ink);border-radius:1px}.hexagram-lines i.yin{display:flex;gap:16px}.hexagram-lines i.yin b{background:var(--ink);border-radius:1px;display:block;flex:1}.hexagram-lines i.moving{box-shadow:0 0 0 2px rgba(194,141,61,.4)}.hexagram-lines i.moving.yang,.hexagram-lines i.moving.yin b{background:var(--gold)}.hexagram-lines i em{background:var(--red);border-radius:50%;color:#fff;font-family:ui-sans-serif,system-ui,sans-serif;font-size:7px;font-style:normal;height:18px;line-height:18px;position:absolute;right:-29px;text-align:center;top:-4px;width:18px}.hexagram-visual>small{margin-top:16px!important}.bagua-board{display:grid!important;gap:7px;grid-template-columns:repeat(3,86px);grid-template-rows:repeat(3,86px);margin:0!important}.bagua-board>button{align-content:center;background:#fffcf4;border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;display:grid;justify-items:center;min-height:0;padding:5px}.bagua-board>button:hover,.bagua-board>button:focus-visible{border-color:var(--jade);box-shadow:inset 0 0 0 1px var(--jade)}.bagua-board>button:disabled{cursor:default}.bagua-board>button span{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px}.bagua-board>button strong{font-size:22px;font-weight:500;line-height:1.1;margin-top:3px}.bagua-board>button small{color:currentColor;font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;letter-spacing:0;margin:2px 0 0}.bagua-board>button.is-answer-key{background:#f6e8d6;border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold);color:var(--red)}.bagua-board>button.is-solved{background:var(--jade);border-color:var(--jade-dark);color:#fff}.bagua-board>button.is-wrong{background:var(--red);border-color:#7e3225;color:#fff}.bagua-board>button.is-solved span,.bagua-board>button.is-wrong span{color:#fff}.bagua-center{align-content:center;background:linear-gradient(145deg,#fffef9,#f5eddc);border:1px solid var(--line);display:grid;grid-column:2;grid-row:2;justify-items:center;margin:0!important}.bagua-center strong{color:var(--jade-dark);font-size:16px;font-weight:500}.bagua-center small{color:var(--gold);font-size:8px;letter-spacing:.08em;margin:5px 0 0}.yijing-options{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px auto 0;max-width:560px;position:relative;z-index:1}.yijing-options>button{align-content:center;background:#fffcf4;border:1px solid var(--soft-line);color:var(--ink);cursor:pointer;display:grid;gap:4px;justify-items:center;min-height:66px;padding:8px 5px;position:relative}.yijing-options>button:hover,.yijing-options>button:focus-visible{border-color:var(--jade);box-shadow:inset 0 0 0 1px var(--jade)}.yijing-options>button:disabled{cursor:default}.yijing-options>button strong{font-size:18px;font-weight:500}.yijing-options>button small{color:var(--muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:8px;line-height:1.35;overflow-wrap:anywhere}.yijing-options>button.is-answer-key{background:#f6e8d6;border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold);color:var(--red)}.yijing-options>button.is-solved{background:var(--jade);border-color:var(--jade-dark);color:#fff}.yijing-options>button.is-wrong{background:var(--red);border-color:#7e3225;color:#fff}.yijing-options>button.is-solved small,.yijing-options>button.is-wrong small{color:#fff}.yijing-options>button.is-solved .trigram-lines i.yang,.yijing-options>button.is-wrong .trigram-lines i.yang,.yijing-options>button.is-solved .trigram-lines i.yin b,.yijing-options>button.is-wrong .trigram-lines i.yin b{background:#fff}.yijing-finished{align-content:center;display:grid;justify-items:center;min-height:550px;position:relative;z-index:1}.yijing-finished>span{color:var(--red);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em}.yijing-finished h2{color:var(--jade-dark);font-size:32px;font-weight:500;margin:14px 0 8px}.yijing-finished p{color:var(--muted);font-size:12px;margin:0;max-width:360px}

.mobile-training-sheet{background:transparent;border:0;height:100dvh;margin:0;max-height:none;max-width:none;padding:0;width:100vw}.mobile-training-sheet::backdrop{background:rgba(10,18,16,.48);backdrop-filter:blur(2px)}.mobile-sheet-surface{background:var(--paper-light);border:1px solid var(--soft-line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 50px rgba(18,28,24,.24);display:flex;flex-direction:column;margin-left:auto;margin-right:auto;max-height:min(82dvh,720px);overflow:hidden;width:min(100%,640px)}.mobile-sheet-header{align-items:center;border-bottom:1px solid var(--soft-line);display:flex;justify-content:space-between;padding:16px}.mobile-sheet-header span{color:var(--red);display:block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em}.mobile-sheet-header h2{font-size:22px;font-weight:500;margin:4px 0 0}.mobile-sheet-header button{background:transparent;border:1px solid var(--soft-line);color:var(--jade-dark);cursor:pointer;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;min-height:44px;min-width:56px;padding:8px 12px}.mobile-sheet-body{overscroll-behavior:contain;overflow-y:auto;padding:4px 16px calc(20px + env(safe-area-inset-bottom));scrollbar-gutter:stable}.mobile-sheet-current{border-left:2px solid var(--gold);margin:16px 0 4px;padding:2px 0 2px 12px}.mobile-sheet-current span{color:var(--muted);display:block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px}.mobile-sheet-current strong{color:var(--jade-dark);display:block;font-size:18px;margin:4px 0}.mobile-sheet-current p{color:var(--muted);font-size:14px;line-height:1.55;margin:0}

@media(min-width:801px){
  .app-shell{zoom:.75}
  .brand strong{font-size:18px}.brand small{font-size:11px}.topbar-links,.scoreboard{font-size:13px}.scoreboard b{font-size:16px}
  .eyebrow{font-size:12px}.discipline-switch>span{font-size:11px}.discipline-switch>button strong{font-size:15px}.discipline-switch>button small{font-size:11px}.learning-path{font-size:12px}
  .library-heading span{font-size:22px}.library-heading strong,.module-group h2{font-size:12px}.module-list button>span{font-size:11px}.module-list button strong{font-size:13px}.module-list button em{font-size:10px}
  .active-module-card span,.life-picker span,.level-card span,.level-card small,.practice-duration span,.reset-button{font-size:11px}.active-module-card strong{font-size:19px}.active-module-card p{font-size:13px}.life-picker strong{font-size:20px}.life-grid button{font-size:13px}.level-card strong,.practice-duration strong{font-size:14px}.practice-duration button{font-size:10px}
  .center-prompt>span,.answer-guide-button,.countdown,.board-note{font-size:11px}.center-prompt h2{font-size:clamp(24px,2.7vw,35px)}.center-prompt p{font-size:13px}.instant-feedback,.target-progress{font-size:12px}.target-sequence b{font-size:13px}.grid-cell strong{font-size:clamp(15px,1.7vw,21px)}.grid-cell small{font-size:10px}
  .yijing-question-meta,.yijing-visual>div>small,.bagua-board>button span{font-size:11px}.yijing-prompt h2{font-size:clamp(27px,2.7vw,34px)}.yijing-prompt p,.yijing-finished p{font-size:13px}.concept-visual span{font-size:12px}.hexagram-lines i em{font-size:8px}.bagua-board>button small,.bagua-center small,.yijing-options>button small{font-size:10px}.bagua-center strong{font-size:18px}.yijing-options>button strong{font-size:20px}.yijing-finished>span{font-size:11px}.yijing-finished h2{font-size:35px}
}
@media(max-width:1050px){.trainer-layout{grid-template-columns:minmax(270px,320px) minmax(470px,1fr);gap:28px}.grid-chart{max-width:590px}.intro-strip{padding-top:36px}.yijing-question-card{max-width:620px}}
@media(max-width:800px){
  html{scroll-padding-top:120px}
  .app-shell{overflow:visible;padding:0 16px calc(24px + env(safe-area-inset-bottom))}
  .topbar{min-height:52px}.topbar-links{display:none}.scoreboard{gap:8px}.scoreboard i:last-of-type,.scoreboard span:last-child{display:none}
  .intro-strip{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
  .discipline-switch{background:rgba(245,241,232,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--soft-line);gap:8px;margin:0 -16px;max-width:none;min-height:56px;overflow:visible;padding:6px 16px;position:sticky;top:0;z-index:30}
  .discipline-switch>span,.learning-path{display:none}.discipline-switch>button{flex:1;justify-content:center;min-height:44px;padding:8px 12px;white-space:nowrap}.discipline-switch>button strong{font-size:15px}.discipline-switch>button small{font-size:11px}
  .mobile-context-bar{align-items:center;background:rgba(255,253,247,.96);border:1px solid var(--soft-line);display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto auto;margin:0 0 12px;min-height:56px;padding:6px 8px;position:sticky;top:56px;z-index:29}
  .mobile-current-module{min-width:0;padding-left:4px}.mobile-current-module span{color:var(--muted);display:block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;letter-spacing:.08em}.mobile-current-module strong{color:var(--jade-dark);display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-level-chip{color:var(--red);font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;white-space:nowrap}.mobile-context-bar>button{background:transparent;border:1px solid var(--soft-line);color:var(--jade-dark);cursor:pointer;font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;min-height:44px;min-width:52px;padding:8px}
  .mobile-context-bar>button:hover,.mobile-context-bar>button:focus-visible,.mobile-sheet-header button:hover,.mobile-sheet-header button:focus-visible{border-color:var(--jade);outline:2px solid rgba(29,92,80,.16);outline-offset:1px}
  .trainer-layout{display:block;margin:0 auto;max-width:680px}.library-panel{display:none}.board-stage{outline:none;scroll-margin-top:120px;width:100%}.board-stage:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
  .brand{min-height:44px}.grid-chart{border-radius:11px;max-width:650px}.center-round-controls{display:none}.center-prompt{padding:16px}.center-prompt>span{font-size:12px}.center-prompt h2{font-size:clamp(19px,4.8vw,27px);margin:8px 0 6px;max-width:280px}.center-prompt p{font-size:13px;line-height:1.45;max-width:260px}.grid-cell{padding:7px}.grid-cell strong{font-size:clamp(13px,3.4vw,17px)}.grid-cell small{display:none}.answer-burst{height:26px;right:5px;top:5px;width:26px}
  .mobile-board-controls{align-items:center;display:flex;flex-direction:column;padding:12px 8px 0}.mobile-board-controls .answer-guide-button,.yijing-question-card>.answer-guide-button{align-items:center;background:rgba(255,253,247,.72);border:1px solid rgba(29,92,80,.28);display:inline-flex;font-size:14px;justify-content:center;margin-top:8px;min-height:44px;min-width:132px;padding:9px 14px}.mobile-board-controls .instant-feedback,.yijing-question-card>.instant-feedback{font-size:13px;line-height:1.5;margin-top:8px;max-width:100%;min-height:20px}.mobile-board-controls .target-sequence{margin-top:0}.mobile-board-controls .target-sequence b{font-size:12px;height:32px;width:32px}.mobile-board-controls .target-progress,.yijing-question-card>.target-progress{font-size:13px;margin-top:4px}.board-note{font-size:12px;letter-spacing:.02em;line-height:1.55;margin:12px auto 0;max-width:560px}
  .yijing-question-card{border-radius:11px;max-width:650px;min-height:0;padding:20px 24px 24px}.yijing-question-card::before{inset:11px}.yijing-question-meta{font-size:12px}.yijing-prompt{padding:20px 0 8px}.yijing-prompt h2{font-size:clamp(22px,5vw,29px)}.yijing-prompt p{font-size:14px}.yijing-visual{min-height:190px}.yijing-visual.bagua{min-height:0;padding:12px 0}.yijing-visual.hexagram{min-height:220px}.yijing-visual>div>small{font-size:12px}.bagua-board{grid-template-columns:repeat(3,min(22vw,86px));grid-template-rows:repeat(3,min(22vw,86px))}.bagua-board>button span,.bagua-board>button small,.bagua-center small{font-size:12px}.bagua-board>button strong,.bagua-center strong{font-size:18px}.yijing-options{gap:8px;margin-top:12px}.yijing-options.long-options{grid-template-columns:repeat(2,minmax(0,1fr))}.yijing-options>button{min-height:68px;padding:10px 6px}.yijing-options>button strong{font-size:17px}.yijing-options>button small{font-size:12px;line-height:1.4}.yijing-finished{min-height:360px}.yijing-finished>span{font-size:12px}.yijing-finished p{font-size:14px}.restart-session{font-size:14px;min-height:44px}
  .mobile-training-sheet[open]{align-items:end;display:grid;inset:0;justify-items:center}
  .mobile-sheet-body .module-list{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-sheet-body .module-list button{min-height:48px}.mobile-sheet-body .module-list button strong{font-size:14px}.mobile-sheet-body .module-list button em{font-size:11px}.mobile-sheet-body .module-group h2{font-size:12px;margin-bottom:8px}
  .mobile-sheet-body .active-module-card span,.mobile-sheet-body .life-picker span,.mobile-sheet-body .level-card span,.mobile-sheet-body .level-card small,.mobile-sheet-body .practice-duration span{font-size:12px}.mobile-sheet-body .active-module-card strong{font-size:19px}.mobile-sheet-body .active-module-card p{font-size:14px}.mobile-sheet-body .level-card strong,.mobile-sheet-body .practice-duration strong{font-size:14px}.mobile-sheet-body .life-grid button,.mobile-sheet-body .practice-duration button{font-size:13px;min-height:44px}.mobile-sheet-body .reset-button{font-size:13px;min-height:44px;width:100%}
}
@media(max-width:520px){
  .app-shell{padding-left:12px;padding-right:12px}.topbar{gap:8px;min-height:48px}.brand{gap:8px}.brand-seal{font-size:17px;height:30px;width:30px}.brand strong{font-size:14px}.brand small{display:none}.scoreboard{font-size:11px}.scoreboard span:first-child,.scoreboard i:first-of-type{display:none}.scoreboard b{font-size:14px}
  .discipline-switch{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.discipline-switch>button{gap:6px;padding:7px 8px}.discipline-switch>button strong{font-size:14px}.discipline-switch>button small{font-size:10px}
  .mobile-context-bar{gap:6px;grid-template-columns:minmax(0,1fr) auto auto auto;margin-left:-2px;margin-right:-2px;padding:6px}.mobile-current-module{padding-left:2px}.mobile-current-module strong{font-size:14px}.mobile-level-chip{font-size:10px}.mobile-context-bar>button{font-size:12px;min-width:48px;padding:7px 6px}
  .mobile-sheet-header{padding:12px}.mobile-sheet-header h2{font-size:20px}.mobile-sheet-body{padding-left:12px;padding-right:12px}.mobile-sheet-body .module-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-sheet-body .life-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-sheet-body .life-grid button{padding:6px 0}
  .grid-chart{border-width:2px;max-width:430px}.center-prompt{padding:9px}.center-prompt h2{font-size:clamp(18px,5vw,22px);margin:7px 0 5px;max-width:170px}.center-prompt p{font-size:12px;max-width:165px}.grid-cell{padding:5px}.grid-cell strong{font-size:clamp(13px,3.7vw,15px)}.answer-burst{border-width:1px;font-size:14px;height:24px;right:4px;top:4px;width:24px}
  .yijing-question-card{border-width:2px;padding:18px 18px 22px}.yijing-question-card::before{inset:9px}.yijing-question-meta{font-size:11px}.yijing-prompt{padding:18px 0 6px}.yijing-prompt h2{font-size:22px}.yijing-prompt p{font-size:13px}.yijing-visual{min-height:170px}.yijing-visual.hexagram{min-height:205px}.trigram-lines{gap:14px;width:150px}.trigram-lines i{height:15px}.trigram-lines i.yin{gap:14px}.concept-visual strong{font-size:58px}.trigram-lines.compact{gap:4px;width:44px}.trigram-lines.compact i{height:4px}.trigram-lines.compact i.yin{gap:5px}.yijing-options{gap:7px}.yijing-options>button{min-height:66px;padding:9px 5px}.yijing-options>button strong{font-size:16px}.yijing-options>button small{font-size:12px}
}
@media(max-width:360px){.app-shell{padding-left:10px;padding-right:10px}.discipline-switch{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.mobile-context-bar{gap:4px}.mobile-level-chip{font-size:9px}.mobile-context-bar>button{min-width:46px}.mobile-sheet-body .life-grid{grid-template-columns:repeat(4,minmax(44px,1fr))}.center-prompt h2{font-size:18px;max-width:145px}.center-prompt p{font-size:11px;max-width:145px}.yijing-question-card{padding-left:16px;padding-right:16px}.yijing-prompt h2{font-size:20px}.yijing-options.long-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mobile-sheet-surface,.grid-cell strong,.answer-burst{animation:none!important;transition:none!important}}
