:root{color-scheme:dark;--paper:#eee9db;--muted:#a5b9b6;--accent:#8ce4df;--gold:#d9c597;--line:rgba(183,209,198,.22);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#1a3037;color:var(--paper)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:default}#world,.vignette,.grain,#damage-flash{position:fixed;inset:0;width:100%;height:100%}#world{display:block;touch-action:none}.vignette{pointer-events:none;background:radial-gradient(ellipse at 65% 45%,transparent 25%,rgba(7,22,27,.5) 100%)}.grain{pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}#damage-flash{pointer-events:none;opacity:0;box-shadow:inset 0 0 180px 25px #ad393c;transition:opacity .2s}.brand{position:fixed;left:42px;top:30px;z-index:3;display:flex;gap:13px;align-items:center;letter-spacing:4px;font-family:"Songti SC","STSong",serif;font-size:19px}.brand small{display:block;margin-top:5px;font-family:monospace;letter-spacing:2.7px;font-size:8px;color:#bbc9c1}.seal{border:1px solid #c2cbb7;outline:1px solid #9baf9a;outline-offset:-5px;width:43px;height:43px;display:grid;place-items:center;font-size:25px;letter-spacing:0;color:#e5d8b5}.utilities{position:fixed;right:36px;top:31px;z-index:12;display:flex;gap:10px;align-items:center}.utilities button{border:1px solid var(--line);background:rgba(19,38,42,.4);backdrop-filter:blur(8px);padding:9px 13px;font-size:12px;color:#c2d0c8;min-width:37px;min-height:37px;transition:background .2s}.utilities button:hover{background:#385255}.utilities span{font-size:10px;color:var(--accent);margin-left:7px}#menu{position:fixed;inset:0;background:linear-gradient(90deg,rgba(8,25,30,.94),rgba(12,31,35,.78) 30%,transparent 68%);overflow:auto}.intro-copy{width:440px;margin-left:max(42px,6vw);padding-top:clamp(112px,14vh,150px);padding-bottom:85px}.eyebrow{font-size:10px;letter-spacing:4px;color:#b7c7bd;display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow i{width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}h1{font-family:"Songti SC","STSong","Noto Serif SC",serif;font-size:clamp(43px,4.6vw,68px);font-weight:500;letter-spacing:5px;line-height:1.25;margin:0 0 20px}h1 span{color:var(--gold)}.lead{font-size:12px;color:#b2c0ba;line-height:1.9;letter-spacing:1px;margin-bottom:30px}.choose-label{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:13px;font-size:11px;letter-spacing:1px}.choose-label small{color:#829e9b;font-size:9px;letter-spacing:0}#majors{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.major{height:38px;border:1px solid rgba(158,182,172,.15);color:#b4c2bc;display:flex;gap:7px;align-items:center;justify-content:center;font-size:11px;background:rgba(26,48,51,.44);transition:all .18s}.major:hover{border-color:#7caba5;background:rgba(91,133,126,.23)}.major .sig{font-family:Georgia,serif;font-size:13px;opacity:.6}.major.selected{background:rgba(113,166,151,.22);border-color:var(--accent);color:#e3f5e9;box-shadow:inset 0 0 15px #90c4ad0d}.major.selected .sig{color:var(--accent);opacity:1}.major-info{min-height:98px;padding:17px 0 15px}.major-info .info-top{display:flex;align-items:center;gap:13px;margin-bottom:9px}.info-top strong{font-family:"Songti SC",serif;font-size:18px;letter-spacing:3px;font-weight:500}.info-top span{font-size:10px;color:var(--accent);letter-spacing:1px}.major-info p{font-size:11px;color:#aabeb5;margin:0 0 9px}.skill-preview{display:flex;align-items:center;gap:8px;color:#7f9a96;font-size:9px}.skill-preview b{font-weight:400;color:#b8c7bd}.skill-preview i{font-style:normal;opacity:.4}.primary{width:100%;height:50px;background:#d7d4b7;color:#1c3437;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-size:13px;letter-spacing:3px;transition:background .2s,transform .2s}.primary:hover{background:#f0e5bd;transform:translateY(-1px)}.primary b{font-size:24px;font-weight:300;line-height:1}.continue{width:100%;padding:12px 2px;border-bottom:1px solid var(--line);font-size:12px;color:#c3d5c6;text-align:left;letter-spacing:1px}.continue span{float:right}.menu-meta{display:flex;gap:11px;align-items:center;font-size:9px;color:#79948f;margin-top:16px;letter-spacing:.4px}.menu-meta i{width:2px;height:2px;background:#80978c}.hero-caption{position:fixed;right:16%;bottom:18%;display:flex;flex-direction:column;gap:10px;text-align:center;pointer-events:none}.hero-caption>span:not(.caption-line){font-family:"Songti SC",serif;font-size:18px;letter-spacing:6px}.caption-line{height:35px;width:1px;background:linear-gradient(transparent,#b6c4a5);margin:0 auto 6px}.hero-caption small{font-size:9px;color:#bbc9bf;letter-spacing:2px}.menu-footer{position:fixed;left:42px;right:36px;bottom:25px;display:flex;justify-content:space-between;color:#92a8a1;font-size:9px;letter-spacing:2px}.menu-footer b{font-family:monospace;font-size:8px;margin-left:12px;color:#b9c9bf;font-weight:400}#hud{position:fixed;inset:0;pointer-events:none}.playing .brand{display:none}.playing .utilities{top:auto;bottom:25px;right:26px}.health-block{position:absolute;top:35px;width:min(29vw,390px)}.player-health{left:36px}.enemy-health{right:36px}.fighter-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fighter-label span{font-family:"Songti SC",serif;font-size:22px;letter-spacing:3px}.fighter-label em{font-style:normal;color:#b7c7bc;font-size:10px;letter-spacing:2px}.health-track{height:7px;background:#111f25a6;border:1px solid #b0bfa736}.health-track>div{height:100%;width:100%;background:linear-gradient(90deg,#498e8c,#b6e4cc);transition:width .16s}.enemy-health .health-track>div{margin-left:auto;background:linear-gradient(90deg,#dfaa83,#bd6d62)}.health-details{display:flex;justify-content:space-between;font-size:10px;color:#b6c7c1;margin-top:7px;min-height:15px;letter-spacing:1px}.stamina-track{height:3px;width:65%;background:#1d3135;margin-top:8px}.stamina-track>div{height:100%;background:#ccbd84;transition:width .1s}.stamina-label{font-size:8px;color:#b4aa83;display:block;margin-top:5px;letter-spacing:2px}.stage-hud{position:absolute;top:31px;left:50%;transform:translateX(-50%);text-align:center}.stage-hud strong{display:block;font-family:"Songti SC",serif;font-size:15px;letter-spacing:5px;font-weight:400;margin:13px 0 7px}.stage-hud small{font:9px monospace;letter-spacing:2px;color:#a7b6ac}#stage-dots{display:flex;gap:9px;justify-content:center;padding:3px}#stage-dots i{display:block;width:5px;height:5px;border:1px solid #a8b9a472;transform:rotate(45deg)}#stage-dots i.done{background:#a2bca2}#stage-dots i.active{background:#eddbb0;border-color:#eddbb0;box-shadow:0 0 10px #e3cba4}.enemy-action{position:absolute;top:150px;left:50%;transform:translateX(-50%);padding:8px 20px;color:#f7c4aa;background:linear-gradient(90deg,transparent,#512b2b99,transparent);font-size:12px;letter-spacing:2px;opacity:0;transition:opacity .15s;white-space:nowrap}.enemy-action.show{opacity:1}#toast{position:absolute;top:190px;left:50%;transform:translateX(-50%);color:#d6e9d5;font-size:12px;letter-spacing:1px;opacity:0;transition:opacity .2s;text-align:center;background:#122f36c9;backdrop-filter:blur(10px);padding:11px 22px;border:1px solid #77988c45;max-width:85vw}#toast.show{opacity:1}#toast.warning{color:#f3c5a8}.bottom-hud{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);width:min(550px,65vw)}#skills{display:flex;justify-content:center;gap:7px;pointer-events:auto}.skill{position:relative;border:1px solid #a4bbae4d;background:#11282dd4;backdrop-filter:blur(8px);height:76px;width:99px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:7px;overflow:hidden;transition:border .2s}.skill:hover:not(:disabled){border-color:var(--accent)}.skill kbd{background:none;border:0;font:15px Georgia,serif;color:#d9d4b4}.skill .skill-name{font-size:10px;letter-spacing:1px;z-index:1}.skill .cooldown{position:absolute;inset:0;background:#0c1e25db;display:none;align-items:center;justify-content:center;font:20px Georgia;color:#e3dac0}.skill.cooling .cooldown{display:flex}.skill.locked{opacity:.5}.skill.locked kbd{font-size:9px;line-height:17px;color:#97a8a1}.skill.locked .skill-name{color:#82968f}.skill .ready-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);opacity:.6}.skill.locked .ready-line{display:none}.controls{margin-top:13px;display:flex;justify-content:center;gap:14px;color:#8fa69e;font-size:9px;white-space:nowrap}.controls kbd{font-family:inherit;color:#d0d7c9;font-size:9px;margin-right:3px}.arena-note{position:absolute;left:35px;bottom:33px;display:flex;flex-direction:column;gap:9px;font-size:10px;letter-spacing:1px;color:#c7d4c4}.arena-note small{font-size:9px;color:#8fa89f;max-width:130px;line-height:1.8}#stage-intro{position:fixed;inset:35% 0 auto;text-align:center;pointer-events:none;text-shadow:0 2px 30px #10272a;z-index:5;animation:intro 2.1s both}#stage-intro small{font-size:11px;letter-spacing:6px;color:var(--gold)}#stage-intro h2{font-family:"Songti SC",serif;font-size:48px;letter-spacing:12px;font-weight:400;margin:17px 0}#stage-intro p{font-size:12px;letter-spacing:4px;color:#d0dbca}@keyframes intro{0%{opacity:0;transform:translateY(8px)}20%,70%{opacity:1;transform:none}100%{opacity:0}}#floaters{position:fixed;inset:0;pointer-events:none;overflow:hidden}.floater{position:absolute;font:24px Georgia,serif;text-shadow:0 2px 5px #152b30;animation:float .8s ease-out forwards}.floater.damage{color:#ffb09b;font-size:21px}.floater.word{font-family:inherit;font-size:13px;letter-spacing:2px}@keyframes float{0%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-65px)}}#modal{position:fixed;inset:0;background:#081e24b8;backdrop-filter:blur(13px);z-index:20;display:grid;place-items:center;padding:25px}.modal-panel{max-width:570px;width:100%;max-height:90vh;overflow:auto;background:linear-gradient(135deg,#233c3fee,#112c33f5);border:1px solid #a6bd9c4d;padding:38px 42px;box-shadow:0 30px 90px #071b2580}.modal-eyebrow{font:10px monospace;color:var(--gold);letter-spacing:4px;text-align:center}.modal-panel h2{font-family:"Songti SC",serif;font-weight:400;font-size:39px;letter-spacing:6px;text-align:center;margin:17px 0}.modal-panel .subtitle{text-align:center;font-size:12px;color:#b6c5ba;line-height:1.9;margin-bottom:25px}.modal-panel h3{font-size:13px;letter-spacing:2px;font-weight:400;color:#d8d0b2;margin:24px 0 13px}.modal-panel p{font-size:12px;color:#aebfb7;line-height:1.9}.modal-panel .secondary{width:100%;border:1px solid var(--line);padding:13px;margin-top:10px;font-size:12px;color:#c7d0bf;letter-spacing:2px}.modal-panel .secondary:hover{background:#4a686133}.upgrade{display:flex;gap:18px;align-items:center;border-block:1px solid var(--line);padding:20px 0;margin:23px 0}.upgrade .upgrade-mark{height:52px;width:52px;flex-shrink:0;border:1px solid #9dbb9e78;display:grid;place-items:center;font-family:"Songti SC",serif;font-size:26px;color:var(--gold)}.upgrade strong{font-size:14px;font-weight:400;letter-spacing:2px}.upgrade small{display:block;font-size:11px;color:#9fb6ad;margin-top:8px;line-height:1.8}.modal-stats{display:flex;justify-content:space-evenly;margin:26px 0;color:#bbccbd;text-align:center}.modal-stats b{font:24px Georgia;display:block;color:#e7ddbc;margin-bottom:8px}.modal-stats span{font-size:10px;letter-spacing:2px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px;color:#bbcabf}.help-grid kbd{display:inline-block;min-width:72px;color:#e4d9b4;font-family:inherit}.help-skill{border-bottom:1px solid #8fae9226;padding:9px 0}.help-skill strong{font-size:12px;font-weight:400;color:#d9d6bc}.help-skill p{font-size:11px;margin:5px 0}.help-skill small{color:#87aba2;font-size:10px;margin-left:10px}.hidden{display:none!important}#loading{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#132d34;transition:opacity .6s}#loading .loading-mark{font-family:"Songti SC",serif;font-size:45px;color:#d7d0ab;border:1px solid #b5bc9b5e;padding:17px;animation:loading 2s infinite}#loading p{font-size:12px;letter-spacing:4px;margin-top:25px;color:#c2d0c0}#loading small{font-size:10px;color:#829d94;letter-spacing:2px}@keyframes loading{50%{opacity:.4}}#touch{position:fixed;inset:0;pointer-events:none;z-index:6}#joystick{position:absolute;left:30px;bottom:155px;width:100px;height:100px;border-radius:50%;border:1px solid #c5d6be66;background:#233e4055;pointer-events:auto;touch-action:none}#joystick span{position:absolute;left:30px;top:30px;width:40px;height:40px;border:1px solid #d9dbbd99;background:#809f8a88;border-radius:50%;pointer-events:none}.touch-actions{position:absolute;right:25px;bottom:145px;width:170px;height:120px;pointer-events:auto}.touch-actions button{position:absolute;border:1px solid #c7d0b670;background:#18343e99;backdrop-filter:blur(6px);border-radius:50%;width:52px;height:52px;touch-action:none;font-size:11px}.touch-actions [data-action="guard"]{left:0;top:4px}.touch-actions [data-action="heavy"]{right:10px;top:0}.touch-actions [data-action="dodge"]{left:16px;bottom:0}.touch-actions .attack{right:0;bottom:-6px;width:65px;height:65px;background:#acbba752;color:#f3eacb}@media(max-height:800px) and (min-width:801px){.intro-copy{padding-top:105px;width:410px}.eyebrow{margin-bottom:15px}h1{font-size:49px;margin-bottom:12px}.lead{margin-bottom:20px;font-size:11px}.major{height:34px}.major-info{min-height:89px;padding:13px 0}.primary{height:45px}.menu-meta{margin-top:12px}.brand{top:24px}.hero-caption{bottom:15%}}@media(max-width:1000px){.intro-copy{margin-left:38px;width:390px}.arena-note{display:none}.bottom-hud{width:510px}.playing .utilities{bottom:135px;right:20px}.health-block{width:30vw}.skill{width:92px}.hero-caption{right:10%}}@media(max-width:800px){.brand{left:22px;top:22px;font-size:16px}.seal{width:36px;height:36px;font-size:22px}.utilities{right:18px;top:22px;gap:6px}.utilities button{font-size:10px;padding:7px 9px;min-width:31px;min-height:32px}#menu{background:linear-gradient(90deg,#0d252bef,#102c31cf 50%,#102c3160)}.intro-copy{width:min(425px,calc(100vw - 44px));margin-left:22px;padding-top:105px;padding-bottom:70px}.eyebrow{margin-bottom:16px}h1{font-size:47px}.lead{font-size:11px}.hero-caption{display:none}.menu-footer{left:22px;right:18px;font-size:8px;bottom:17px}.menu-footer span:last-child{display:none}.health-block{top:22px;width:36vw}.player-health{left:18px}.enemy-health{right:18px}.fighter-label span{font-size:16px}.fighter-label em{font-size:8px;letter-spacing:0}.stage-hud{top:23px}.stage-hud strong{font-size:10px;letter-spacing:1px}.stage-hud small{font-size:8px;letter-spacing:0}#stage-dots{gap:5px}#stage-dots i{width:4px;height:4px}.health-details{font-size:8px;letter-spacing:0}.enemy-action{top:115px;font-size:10px}#toast{top:149px;font-size:10px;width:max-content}.bottom-hud{width:calc(100vw - 36px);bottom:20px}.skill{height:66px;max-width:96px;width:19%;padding:8px 2px}.skill .skill-name{font-size:9px;letter-spacing:0}.controls{font-size:8px;gap:9px;flex-wrap:wrap}.playing .utilities{bottom:105px;right:18px}.modal-panel{padding:28px 24px}.modal-panel h2{font-size:32px}.help-grid{font-size:10px}.help-grid kbd{min-width:65px}#stage-intro h2{font-size:36px;letter-spacing:6px}.stamina-label{display:none}}@media(pointer:coarse){.playing .controls{display:none}.playing .utilities{bottom:100px}.bottom-hud{bottom:19px}.playing .arena-note{display:none}}@media(max-height:650px) and (orientation:landscape){.intro-copy{padding-top:90px}.brand{top:18px}.utilities{top:18px}.menu-footer{display:none}#menu{overflow:auto}.hero-caption{bottom:18%}.bottom-hud{bottom:12px}.skill{height:55px;gap:4px}.controls{margin-top:7px}.health-block{top:16px}.stage-hud{top:16px}.enemy-action{top:90px}.playing .utilities{bottom:15px}#joystick{bottom:95px;width:85px;height:85px}#joystick span{left:22px;top:22px}.touch-actions{bottom:100px}#toast{top:120px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Title and novel credit, requested by the author. */
.character-links{display:flex;justify-content:space-between;margin:-4px 0 12px;color:#a8bbaa;font-size:9px;letter-spacing:1px}.character-links button{padding:5px 0}.character-links button:hover{color:var(--paper)}
.intro-copy h1{font-size:clamp(42px,4.6vw,62px);letter-spacing:4px;line-height:1.25;white-space:nowrap;margin-bottom:13px}
.intro-copy h1 span{display:block;letter-spacing:8px}
.novel-note{font-size:10px;line-height:1.8;color:#b6c2ad;margin:0 0 17px;letter-spacing:.2px}
@media(max-height:800px) and (min-width:801px){.intro-copy h1{font-size:43px}.novel-note{margin-bottom:13px;font-size:9px}.lead{margin-bottom:16px}}
@media(max-width:800px){.intro-copy h1{font-size:44px}.novel-note{font-size:9px}.brand{letter-spacing:2px}}

@media(max-width:480px){.major{gap:4px;padding:0 3px;font-size:10px;white-space:nowrap}.major .sig{font-size:11px}.choose-label small{font-size:8px}}

/* The campus revision uses warm stone, muted greens and natural light. */
:root{--paper:#ede6d5;--gold:#d7bd8c}
.vignette{background:radial-gradient(ellipse at 62% 42%,transparent 34%,rgba(19,22,17,.42) 100%)}
#menu{background:linear-gradient(90deg,rgba(18,26,24,.95),rgba(21,30,27,.79) 32%,transparent 67%)}
.major{background:rgba(35,44,36,.48)}.major.selected{background:rgba(128,147,109,.22)}
.utilities button{background:rgba(30,39,33,.57)}
.health-track{box-shadow:0 1px 6px #18231b8c}.health-details,.fighter-label,.stage-hud{text-shadow:0 1px 6px #152119}
.playing .utilities{bottom:25px}.playing .arena-note small{max-width:160px}
@media(max-width:800px){.utilities{top:72px;right:20px}.brand{top:21px}.intro-copy{padding-top:130px}.playing .utilities{top:auto;bottom:105px}.menu-footer span:last-child{display:none}.controls span:last-child{display:none}}
@media(max-height:650px) and (orientation:landscape){.utilities{top:20px}.intro-copy{padding-top:95px}.playing .utilities{top:auto;bottom:20px}}

#majors{grid-template-columns:repeat(7,1fr);gap:6px}.major{height:86px;position:relative;display:block;padding:0;overflow:hidden}.major img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.65) brightness(.75);transition:filter .2s,transform .3s}.major:hover img,.major.selected img{filter:saturate(.9) brightness(1);transform:scale(1.04)}.major-label{position:absolute;bottom:0;left:0;right:0;padding:13px 0 6px;display:flex;justify-content:center;align-items:center;gap:4px;background:linear-gradient(transparent,#10211ee8);font-size:10px}.major .sig{font-size:10px}.portrait-card{position:fixed;right:38px;top:145px;width:210px;padding:0;text-align:left;border:1px solid #cfceb044;background:#20332ed9;box-shadow:0 10px 40px #14261c3d}.portrait-card>img{display:block;width:100%;height:264px;object-fit:cover;object-position:50% 25%}.portrait-card>div{padding:15px 16px}.portrait-card small{display:block;color:#aebda9;font-size:9px;letter-spacing:2px}.portrait-card strong{display:block;font-family:"Songti SC",serif;letter-spacing:3px;font-size:19px;font-weight:400;margin:8px 0}.portrait-card span{font-size:9px;color:#c4c6ae;letter-spacing:1px}.portrait-full{display:block;max-height:49vh;max-width:100%;margin:0 auto 15px;object-fit:contain}.hero-caption{right:17%;bottom:13%}
@media(min-width:801px) and (max-height:800px){.intro-copy{padding-top:96px}.intro-copy h1{font-size:38px}.eyebrow{margin-bottom:12px}.major{height:70px}.lead{margin-bottom:14px}.major-info{min-height:80px;padding:11px 0}.portrait-card{top:110px;width:175px}.portrait-card>img{height:230px}.menu-meta{font-size:8px}}
@media(max-width:1100px){.portrait-card{display:none}.hero-caption{right:14%}}
@media(max-width:800px){#majors{grid-template-columns:repeat(5,1fr)}.major{height:70px}.intro-copy h1{font-size:38px}.lead{margin-bottom:20px}.novel-note{font-size:9px}.major-label{font-size:9px}.hero-caption{display:none}.intro-copy{padding-bottom:70px}.menu-footer{position:absolute}}

/* Keep selection copy limited to usable game information. */
.major-info{min-height:74px}.skill-preview{margin-top:12px}.novel-note{margin-bottom:28px}.menu-footer{justify-content:flex-end}

/* Shared skills remain readable without hover, including on touch screens. */
.common-skills{margin:18px 0 16px}.common-skills h2{font-size:12px;font-weight:500;letter-spacing:1px;margin:0 0 10px;color:#d6ddcf}.common-skills h2 small{font-size:9px;font-weight:400;color:#9aafa1;margin-left:9px}
#common-skill-cards,.common-skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.common-skill-card{background:#152d29c9;border:1px solid #a4bbaa3d;padding:12px;text-align:left}.common-skill-title{display:flex;gap:9px;align-items:center}.common-skill-title kbd{font:15px Georgia;color:#e5d3a8;border:1px solid #b9bd945e;padding:3px 7px}.common-skill-title strong{font-size:12px;font-weight:500;letter-spacing:1px}.common-skill-card p{font-size:10px;color:#c3d8c8;line-height:1.7;margin:8px 0}.common-skill-card small{font-size:9px;color:#a2b6ab;line-height:1.7}.common-skill-card .skill-explanation{font-size:12px;color:#e2e9db}.common-skill-card .skill-usage{font-size:11px;color:#afc3b9}
.help-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.modal-panel .help-heading h2{font-size:29px;letter-spacing:3px;text-align:left;margin:0}.help-close{border:1px solid #b2c7b36b;padding:9px 12px;white-space:nowrap;font-size:11px}.modal-panel .common-skill-grid{grid-template-columns:1fr}.help-heading+h3{margin-top:19px}
.skill{height:86px;gap:5px}.skill-effect{font-size:8px;letter-spacing:0;color:#bed7ca;white-space:nowrap}.skill.cooling .cooldown{inset:4px 4px auto auto;padding:3px 5px;font-size:12px;background:#152a29e8;border:1px solid #73958c}.skill.cooling{border-color:#6e8e8269}.health-details{gap:6px}#player-status,#enemy-status{line-height:1.5}
@media(max-width:800px){.skill{height:76px;gap:4px}.skill-effect{font-size:7px}.common-skill-card{padding:10px}.common-skill-card p{font-size:9px}.common-skill-card small{font-size:8px}.common-skill-title{gap:6px}.common-skill-title strong{font-size:11px}}
@media(max-width:360px){#common-skill-cards{grid-template-columns:1fr}.skill-effect{font-size:6px}}

/* Optional Li support: compact team health, clear from attack warnings. */
#ally-roster{position:absolute;left:35px;top:165px;width:180px;padding:12px;background:#142c28d9;border:1px solid #9bbda046;pointer-events:none}#ally-roster strong{font-size:11px;color:#b7e5cc;font-weight:500}#ally-roster>div{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:12px}#ally-roster span{font-size:9px;color:#c7d7c9}#ally-roster i{display:block;height:3px;background:#071e1c;margin-top:5px}#ally-roster b{display:block;height:100%;background:#8bc7a7}#ally-roster .down{opacity:.4}.summon-option{margin:12px 0;border-top:1px solid #91b6a63d}.summon-option p{font-size:11px;line-height:1.8}
@media(max-width:800px){#ally-roster{top:auto;bottom:185px;left:12px;width:128px;padding:8px}#ally-roster>div{gap:7px}#ally-roster span{font-size:8px}}
.modal-panel .story-quote{font-family:"Songti SC","STSong",serif;font-size:21px;line-height:1.8;letter-spacing:1px;text-align:center;color:#e7d5ad;margin:20px 0 23px;padding:14px 0;border-block:1px solid #b9c7a432}
@media(max-width:600px){.modal-panel .story-quote{font-size:18px;letter-spacing:.5px;margin:16px 0;padding:11px 0}}
