@font-face{font-family:HuWenMingChaoTi;src:url(/assets/HuWenMingChaoTi.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#101613;--ink-2:#17211b;--ink-3:#213026;--paper:#e7dcc2;--paper-2:#cbbd9e;--paper-3:#9d8f70;--line:#d4be913d;--line-strong:#eed29675;--text:#f2e8cf;--muted:#b9aa88;--jade:#63c08d;--jade-dark:#244f38;--cinnabar:#cf5e44;--gold:#d8aa59;--blue:#5db9ff;--blue-dark:#14364f;--shadow:#00000070;background:#080d0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button{font:inherit}body{color:var(--text);background:linear-gradient(#040708b3,#070c0af5),url(/assets/academy-arena.png) 50%/cover no-repeat fixed}.app-shell{background:radial-gradient(circle at 48% 16%,#5db9ff1f,#0000 24rem),linear-gradient(90deg,#080c0ae0,#080c0a6b 45%,#080c0ae0);min-height:100vh;padding:14px}.top-bar{border:1px solid var(--line);max-width:1720px;box-shadow:0 18px 50px var(--shadow);background:#0c1210d1;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:14px;margin:0 auto 12px;padding:10px 12px;display:grid}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.seal-mark{width:42px;height:42px;color:var(--gold);background:linear-gradient(145deg,#421c14e6,#18231ccc);border:1px solid #d8aa5994;border-radius:8px;place-items:center;font-family:HuWenMingChaoTi,serif;font-size:26px;line-height:1;display:grid}.brand-lockup strong{letter-spacing:0;font-family:HuWenMingChaoTi,Noto Serif TC,serif;font-size:28px;line-height:1.05;display:block}.brand-lockup small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.top-stats,.top-actions,.mini-deck,.keyword-row{align-items:center;gap:8px;display:flex}.stat-pill,.top-actions button{border:1px solid var(--line);background:#18201bd6;border-radius:7px;min-height:42px}.stat-pill{min-width:104px;padding:6px 10px}.stat-pill span{color:var(--muted);font-size:11px;display:block}.stat-pill strong{color:var(--paper);margin-top:2px;font-size:16px;display:block}.top-actions button,.ghost-button,.feedback-strip button{color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.top-actions button{padding:0 13px}.top-actions button:hover,.ghost-button:hover,.feedback-strip button:hover{border-color:var(--line-strong);background:#2b3930eb;transform:translateY(-1px)}.game-grid{grid-template-columns:320px minmax(560px,1fr) 360px;gap:12px;max-width:1720px;margin:0 auto;display:grid}.left-rail,.right-rail,.battle-stage{min-width:0}.left-rail,.right-rail{flex-direction:column;gap:12px;display:flex}.battle-stage{grid-template-rows:auto minmax(250px,1fr) auto auto auto;gap:12px;display:grid}.panel{border:1px solid var(--line);box-shadow:0 18px 46px var(--shadow);background:linear-gradient(#151e19eb,#0d1310eb),radial-gradient(circle at 20% 0,#d8aa5914,#0000 14rem);border-radius:8px}.panel-title{color:var(--paper);align-items:center;gap:8px;padding-bottom:9px;font-size:14px;font-weight:700;display:flex}.deck-panel,.chapters-panel,.evidence-panel,.mastery-panel,.battle-log{padding:14px}.deck-strength{background:#0a0e0c8f;border:1px solid #d8aa5933;border-radius:7px;grid-template-columns:1fr auto auto;align-items:baseline;gap:4px;margin-bottom:12px;padding:9px 10px;display:grid}.deck-strength span,.deck-strength small{color:var(--muted);font-size:12px}.deck-strength strong{color:var(--gold);font-size:25px}.mini-deck{align-items:stretch}.mini-card{aspect-ratio:.68;border:1px solid var(--line);min-width:0;color:var(--paper);cursor:pointer;background:linear-gradient(#27362de0,#0e1511f2);border-radius:7px;flex:1}.mini-card span{border:1px solid #e7dcc242;border-radius:7px;place-items:center;width:36px;height:36px;margin:8px auto 5px;font-family:HuWenMingChaoTi,serif;font-size:22px;display:grid}.mini-card small{color:var(--muted);font-size:12px;display:block}.mini-card.is-active,.action-card.is-active{border-color:var(--jade);box-shadow:inset 0 0 0 1px #63c08d33,0 0 24px #63c08d33}.mini-card.is-complete,.action-card.is-complete,.mastery-row.is-complete{background:linear-gradient(#254f38db,#0e1c15eb);border-color:#63c08d80}.chapter-chip{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;background:#0e1511c7;border-radius:7px;justify-content:space-between;align-items:center;padding:8px 9px;display:flex}.chapter-chip.wide{width:100%;margin-bottom:10px}.chapter-grid{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.chapter-chip:not(.wide){justify-items:center;min-height:54px;padding:6px;display:grid}.chapter-chip strong{font-family:HuWenMingChaoTi,serif;font-size:19px;line-height:1}.chapter-chip span{color:var(--muted);font-size:11px}.chapter-chip.is-selected{border-color:var(--blue);background:#14364fb8}.chapter-chip.is-clear{border-color:#63c08d80}.duel-hud{grid-template-columns:1fr 96px 1fr;align-items:center;gap:14px;padding:12px;display:grid}.combatant{min-width:0}.combatant>div:first-child{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.combatant strong{color:var(--paper);font-size:15px}.combatant span{color:var(--muted);font-size:12px}.hp-bar,.meter{background:#040708bd;border:1px solid #e7dcc229;border-radius:99px;height:9px;overflow:hidden}.hp-bar i,.meter i{border-radius:inherit;background:linear-gradient(90deg, var(--jade), var(--blue));height:100%;display:block}.combatant.is-hostile .hp-bar i{background:linear-gradient(90deg, var(--cinnabar), #f0a05f)}.round-seal{background:radial-gradient(circle,#d8aa5947,#0000 64%),#0b100ee0;border:1px solid #d8aa596b;border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto;line-height:1;display:grid}.round-seal strong{color:var(--gold);margin-top:-5px;font-size:28px}.round-seal span{color:var(--muted);font-size:11px}.quote-board{color:#211b13;background:linear-gradient(90deg,#1c150c33,#0000 18% 82%,#1c150c2e),linear-gradient(#f7eed8f5,#d0c2a1f5);border:1px solid #eed2967a;border-radius:8px;align-content:center;min-height:284px;padding:34px 38px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 44px #00000061}.quote-board:before{content:"";pointer-events:none;opacity:.28;background:linear-gradient(90deg,#0000 0 98%,#5f492a3d 98% 100%) 0 0/42px 42px,linear-gradient(#533e231f 1px,#0000 1px) 0 0/100% 36px;position:absolute;inset:0}.quote-meta{z-index:1;gap:8px;margin-bottom:18px;display:flex;position:relative}.quote-meta span{color:#644321;background:#fffcf073;border:1px solid #4c371f38;border-radius:5px;padding:4px 8px;font-size:13px}.quote-board h1{z-index:1;letter-spacing:0;max-width:900px;margin:0;font-family:HuWenMingChaoTi,Noto Serif TC,serif;font-size:clamp(30px,3.2vw,52px);font-weight:400;line-height:1.55;position:relative}.ghost-button{z-index:2;color:#2b2113;background:#fff7e0ad;border:1px solid #553e214d;border-radius:7px;min-height:38px;padding:0 12px;position:absolute;bottom:20px;right:28px}.opponent-panel{grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.eyeline{color:var(--cinnabar);margin-bottom:3px;font-size:12px;font-weight:700;display:block}.opponent-panel p{color:var(--paper-2);margin:0;font-size:14px}.mastery-badge{color:#ffd7c9;white-space:nowrap;background:#461a1370;border:1px solid #cf5e4457;border-radius:7px;padding:8px 10px}.action-cards{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.action-card{border:1px solid var(--line);min-height:158px;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(#222f27f0,#0b110ef5),radial-gradient(circle at 30% 0,#5db9ff1f,#0000 8rem);border-radius:8px;grid-template-rows:auto auto 1fr auto;padding:14px;display:grid;position:relative;box-shadow:0 14px 30px #00000052}.card-index{width:34px;height:34px;color:var(--gold);border:1px solid #d8aa5966;border-radius:7px;place-items:center;font-family:HuWenMingChaoTi,serif;font-size:20px;display:grid}.action-card strong{color:var(--paper);margin-top:9px;font-family:HuWenMingChaoTi,serif;font-size:22px;font-weight:400}.action-card span:not(.card-index){color:var(--muted);margin-top:6px;font-size:13px;line-height:1.45}.action-card em{color:var(--gold);border:1px solid #d8aa5947;border-radius:5px;justify-self:start;margin-top:12px;padding:4px 8px;font-size:12px;font-style:normal}.challenge-panel{min-height:220px;padding:16px}.challenge-panel.is-empty{color:var(--muted);text-align:center;place-items:center;display:grid}.challenge-panel.is-empty strong,.challenge-panel.is-empty span{display:block}.challenge-panel.is-empty strong{color:var(--paper);margin-bottom:5px}.challenge-head{grid-template-columns:1fr auto;align-items:start;gap:16px;margin-bottom:12px;display:grid}.challenge-head span{color:var(--blue);font-size:12px;font-weight:700}.challenge-head h2{color:var(--paper);white-space:pre-line;margin:4px 0 0;font-family:HuWenMingChaoTi,Noto Serif TC,serif;font-size:22px;font-weight:400;line-height:1.45}.challenge-head>strong{color:var(--blue);background:#14364f6b;border:1px solid #5db9ff5c;border-radius:7px;padding:7px 10px}.option-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.option-grid button{border:1px solid var(--line);min-height:78px;color:var(--text);text-align:left;cursor:pointer;background:#0c1210c2;border-radius:7px;padding:12px;line-height:1.5}.option-grid button:hover:not(:disabled){border-color:var(--line-strong);background:#1f2b24e6}.option-grid button.is-selected{border-color:var(--cinnabar);background:#461a1394}.option-grid button.is-answer{border-color:var(--jade);background:#244f38b8}.feedback-strip{background:#05080780;border:1px solid #e7dcc233;border-radius:7px;grid-template-columns:1fr auto;align-items:center;gap:14px;margin-top:12px;padding:11px 12px;display:grid}.feedback-strip strong,.feedback-strip span{display:block}.feedback-strip strong{color:var(--gold)}.feedback-strip span{max-height:74px;color:var(--paper-2);font-size:13px;line-height:1.55;overflow:auto}.feedback-strip button{border:1px solid var(--line);background:#222f27eb;border-radius:7px;min-height:40px;padding:0 16px}.battle-log p{color:var(--muted);margin:5px 0 0;font-size:13px}.evidence-block{border-top:1px solid var(--line);padding:12px 0}.evidence-block h3{color:var(--gold);margin:0 0 7px;font-size:14px}.evidence-block p{max-height:220px;color:var(--paper-2);white-space:pre-wrap;margin:0;font-family:HuWenMingChaoTi,Noto Serif SC,serif;font-size:16px;line-height:1.72;overflow:auto}.keyword-row{border-top:1px solid var(--line);flex-wrap:wrap;padding-top:12px}.keyword-row span{color:var(--paper);background:#18201bc7;border:1px solid #d8aa593d;border-radius:6px;padding:5px 8px;font-size:12px}.mastery-row{border:1px solid var(--line);background:#0c1210a3;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:58px;padding:9px 10px;display:grid}.mastery-row+.mastery-row{margin-top:8px}.mastery-row span{color:var(--paper);font-family:HuWenMingChaoTi,serif;font-size:19px}.mastery-row small{color:var(--muted);line-height:1.35}.clear-condition{border-top:1px solid var(--line);margin-top:14px;padding-top:13px}.clear-condition strong,.clear-condition span{display:block}.clear-condition strong{color:var(--gold)}.clear-condition span{color:var(--muted);margin:4px 0 10px;font-size:13px}@media (width<=1320px){.game-grid{grid-template-columns:280px minmax(520px,1fr)}.right-rail{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}}@media (width<=980px){.app-shell{padding:8px}.top-bar,.game-grid,.right-rail{grid-template-columns:1fr}.top-stats{grid-template-columns:repeat(2,1fr);display:grid}.top-actions{justify-content:stretch}.top-actions button{flex:1}.left-rail{order:2}.battle-stage{order:1}.right-rail{order:3}.duel-hud,.opponent-panel,.challenge-head,.feedback-strip{grid-template-columns:1fr}.round-seal{width:68px;height:68px}.quote-board{min-height:240px;padding:26px 22px 72px}.action-cards,.option-grid{grid-template-columns:1fr}.action-card{min-height:126px}}@media (width<=560px){.brand-lockup strong{font-size:24px}.brand-lockup small{font-size:11px}.chapter-grid{grid-template-columns:repeat(4,1fr)}.quote-board h1{font-size:28px}.ghost-button{left:22px;right:22px}}
