:root{--gold:#d6bc83;--pale:#f1e4c6;--muted:#acb5aa;--ink:#112321;--edge:#8b805c;--school:#b97769;--serif:'STKaiti','KaiTi','Noto Serif CJK SC','Songti SC',serif;--sans:'PingFang SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#172322;color:var(--pale);font:14px/1.5 var(--sans);user-select:none}button,input,select{font:inherit}button{cursor:pointer;color:var(--pale);border:1px solid #9c89675c;background:linear-gradient(#36423c,#1e302c);padding:8px 16px;transition:filter .15s,border-color .15s}button:hover{filter:brightness(1.22);border-color:var(--gold)}button:disabled{opacity:.42;cursor:default}button.primary{background:linear-gradient(120deg,#b89556,#685535);color:#fff2d1;border-color:#d7be84;letter-spacing:3px}button.ghost{background:#0c1c1966}button.small{padding:5px 10px;font-size:12px}.hidden{display:none!important}a{color:#bdd8d1}input,select{color:var(--pale);background:#182521;border:1px solid #93856777;padding:7px;min-width:0}input[type=range]{padding:0;accent-color:#bb9c63}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{letter-spacing:4px;color:var(--gold)}small,.muted{color:var(--muted)}#gameCanvas{position:fixed;inset:0;display:block;outline:none}#app{position:fixed;inset:0;pointer-events:none}#app button,#app input,#app select,#app a,.interactive{pointer-events:auto}#loading{position:fixed;inset:0;z-index:1000;background:radial-gradient(ellipse at 50% 35%,#36534a,#102323 75%);display:flex;align-items:center;justify-content:center;flex-direction:column}#loading h1{font-size:52px;letter-spacing:14px;margin:16px 0 12px}#loading small{position:absolute;bottom:32px;letter-spacing:3px}.seal{border:1px solid #e9c9908c;outline:1px solid #e9c99044;outline-offset:5px;padding:8px 6px;font-family:var(--serif);font-size:22px;letter-spacing:3px;color:#e0c394}.panel{background:linear-gradient(130deg,#172b29f5,#0d1c1cf5);border:1px solid #a48b5c96;box-shadow:0 12px 80px #0007,inset 0 0 0 4px #ae987914}.frame:before,.frame:after{content:'';position:absolute;pointer-events:none;border:1px solid #bea97d70;width:28px;height:28px}.frame:before{left:7px;top:7px;border-right:0;border-bottom:0}.frame:after{right:7px;bottom:7px;border-left:0;border-top:0}#creation{position:absolute;inset:0;background:linear-gradient(90deg,#0d1c1cf0,transparent 64%),linear-gradient(0deg,#071c1cc9,transparent 34%);pointer-events:auto}#createLeft{position:absolute;top:4.2%;left:4%;width:355px;max-height:91%;overflow:auto;padding:22px 24px 20px}#createLeft .eyebrow{font-size:10px;letter-spacing:4px;color:#b6c2b9;margin-bottom:9px}#createLeft h1{font-size:34px;letter-spacing:8px;margin-bottom:2px}#createLeft .intro{font:13px/1.7 var(--serif);color:#b8bda8;margin-bottom:16px}#schoolGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:14px}#schoolGrid button{padding:8px 0;font-family:var(--serif);font-size:17px;border:1px solid #68716d63;background:#132422a8}#schoolGrid button.active{color:var(--pale);border-color:var(--gold);background:linear-gradient(130deg,#66573a88,#1d3732);box-shadow:inset 0 -2px var(--school)}#schoolTitle{display:flex;align-items:baseline;gap:14px}#schoolTitle h2{font-size:30px;letter-spacing:5px;margin:0}#schoolTitle span{font-size:11px;color:#b9c3bd}#schoolMotto{font:16px var(--serif);letter-spacing:3px;margin:8px 0 13px}#schoolText{font-size:12px;color:#d1d4c5;line-height:1.8;border-top:1px solid #9d92603b;padding-top:12px;min-height:103px}#schoolText p{margin:0 0 5px}.formrow{display:grid;grid-template-columns:55px 1fr;align-items:center;gap:10px;margin:10px 0;font-size:12px;color:#c3c8b7}.formrow .options{display:flex;gap:5px}.formrow .options>*{flex:1;padding:5px 0;font-size:12px}.options button.active{border-color:var(--gold);background:#5e553a88}#dye{width:100%;height:29px;padding:3px}#startGame{width:100%;font:19px var(--serif);margin:6px 0 8px;padding:12px}#continueGame{width:100%;padding:8px}.sourceNote{font-size:10px;line-height:1.6;color:#a7b7af;margin-top:12px;text-align:center}#createCalligraphy{position:absolute;right:8%;top:10%;writing-mode:vertical-rl;font:74px/1.5 var(--serif);letter-spacing:16px;text-shadow:0 2px 10px #0008;color:#f0e7c5}#createCalligraphy small{font-size:15px;letter-spacing:5px;margin-top:22px;color:#d0d8c4}#previewHint{position:absolute;bottom:8%;left:50%;font:15px var(--serif);letter-spacing:4px;text-shadow:0 2px 4px #000;color:#dfdfc4}.versionTag{position:absolute;bottom:13px;right:20px;font-size:10px;color:#cfddcc99;letter-spacing:2px}#hud{position:absolute;inset:0;text-shadow:0 1px 3px #000}#areaHeader{position:absolute;left:28px;top:24px}#areaHeader .big{font:26px var(--serif);letter-spacing:6px;color:#e0d3a6}#areaHeader .small{font-size:10px;letter-spacing:2px;color:#bbcabd;margin-top:3px}#worldMood{position:absolute;top:23px;left:50%;transform:translateX(-50%);font:13px var(--serif);letter-spacing:3px;color:#b2c8c0}#miniWrap{position:absolute;right:22px;top:22px;width:190px;height:190px;background:#19332deb;border:1px solid #c3a873;border-radius:50%;box-shadow:0 3px 18px #0009,inset 0 0 0 4px #314d40;overflow:visible;pointer-events:auto;cursor:pointer}#miniMap{width:100%;height:100%;border-radius:50%}#miniTitle{position:absolute;left:50%;transform:translateX(-50%);top:-10px;background:#22382b;padding:1px 12px;font:14px var(--serif);white-space:nowrap;border:1px solid #a592644d}#miniNorth{position:absolute;top:9px;left:50%;font:12px var(--serif);transform:translateX(-50%);color:#e6d9b4}#miniCoords{position:absolute;bottom:-25px;width:100%;text-align:center;font-size:10px;color:#c4d0bb}#tracker{position:absolute;right:23px;top:251px;width:241px;padding:0 0 15px 14px;border-left:1px solid #b29b5869;background:linear-gradient(90deg,#10222291,transparent);font-size:12px;line-height:1.8}#questTitle{font:19px var(--serif);letter-spacing:2px;color:#e0c17b;margin-bottom:7px}#questText{color:#d4d8bf}#questDistance{color:#a7d2c0;margin:6px 0}#sideQuest{color:#a4bbad;border-top:1px solid #94926346;margin-top:9px;padding-top:9px;font-size:11px}.questButtons{display:flex;gap:5px;margin-top:10px}#factionScore{position:absolute;top:52px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:1px;display:flex;gap:16px}#factionScore .hao{color:#a0d4e9}#factionScore .evil{color:#dc9990}#targetFrame{position:absolute;top:94px;left:50%;transform:translateX(-50%);width:272px;text-align:center}#targetName{font:17px var(--serif);letter-spacing:2px}.targetSub{font-size:10px;color:#d1c4a3}#targetFrame .meter{height:10px;margin:6px 0 3px}.meter{position:relative;height:15px;background:#0e1717c9;border:1px solid #9c987663;box-shadow:inset 0 1px 3px #0008;overflow:hidden}.meter .fill{height:100%;width:100%;background:linear-gradient(#9c4f4a,#72332c);transition:width .1s linear}.meter span{position:absolute;inset:0;text-align:center;font-size:10px;line-height:13px;color:#f5e7d3;text-shadow:0 1px 3px #000}.meter.mana .fill{background:linear-gradient(#557f93,#324859)}.meter.qi .fill{background:linear-gradient(#adba8e,#667b5c)}.meter.resource .fill{background:linear-gradient(#c4a866,#746135)}.meter.resource.mj .fill{background:linear-gradient(90deg,#9f714c,#9bafd0)}#playerFrame{position:absolute;left:27px;bottom:110px;width:280px;background:linear-gradient(90deg,#0e1c1cbc,transparent);padding:8px 11px 7px 47px}#portrait{position:absolute;left:0;bottom:17px;width:39px;height:57px;border:1px solid #b09967;background:linear-gradient(140deg,#344740,#19221b);display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font:20px var(--serif);color:var(--school)}#playerName{font:16px var(--serif);margin-bottom:6px;letter-spacing:1px}#playerFrame .meter{margin:3px 0}.playerMeta{font-size:10px;color:#c4c7ae;margin:3px 0}#statusStrip{position:absolute;bottom:207px;left:71px;display:flex;gap:5px;font-size:10px;color:#e1d9b2}#statusStrip span{padding:1px 5px;background:#172824cc;border:1px solid #a18e586e}#actionBar{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:end;gap:7px;background:linear-gradient(0deg,#102222de,transparent);padding:16px 18px 9px;border-bottom:1px solid #be9e5c8a}.skill{width:57px;height:60px;position:relative;padding:0;border:1px solid #c0aa7a;box-shadow:0 0 0 2px #172522,0 3px 10px #0007;background:#1e2923}.skill img{width:100%;height:100%;object-fit:cover;display:block}.skill .key{position:absolute;top:1px;left:4px;font:12px var(--sans);text-shadow:0 2px 4px #000;font-weight:bold}.skill .cd{position:absolute;inset:0;background:#061212ad;display:flex;align-items:center;justify-content:center;font-size:22px}.skill .skillName{position:absolute;top:64px;left:-7px;right:-7px;font:10px var(--serif);white-space:nowrap;text-align:center;color:#ddd4b2}.skill.disabled{filter:grayscale(.85);opacity:.65}.skill.pressed{box-shadow:0 0 13px var(--school)}#lightBar{display:flex;gap:4px;padding-left:6px;border-left:1px solid #a9986870;margin-bottom:0}#lightBar button{width:40px;height:42px;padding:0;font:15px var(--serif);position:relative;background:linear-gradient(130deg,#506157,#1b2c27)}#lightBar button span{font:9px var(--sans);position:absolute;bottom:-17px;left:0;width:100%;text-align:center;color:#c5c3a6}#hotbarLabel{position:absolute;top:-7px;left:20px;font:11px var(--serif);color:#d3c499;letter-spacing:2px}#bottomMenu{position:absolute;right:19px;bottom:19px;display:flex;gap:4px}#bottomMenu button{background:#1c2c2588;padding:6px 10px;font:13px var(--serif);border:1px solid #9d927759}#controlHint{position:absolute;left:28px;bottom:19px;width:260px;font-size:10px;line-height:1.8;color:#becab9;letter-spacing:.6px}#feed{position:absolute;left:29px;bottom:255px;width:330px;font-size:11px;line-height:1.9;color:#c8c1a1;display:flex;flex-direction:column-reverse}#feed .entry{padding:2px 5px;background:linear-gradient(90deg,#0e211e85,transparent)}#toasts{position:absolute;top:22%;left:50%;transform:translateX(-50%);width:min(630px,75vw);text-align:center;display:flex;flex-direction:column;gap:7px;z-index:60}.toast{animation:toastIn .25s ease-out;font:17px/1.7 var(--serif);text-shadow:0 1px 6px #000,0 0 14px #000;letter-spacing:1px;color:#efddae}.toast:before,.toast:after{content:' — ';color:#ccb57588}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#interactPrompt{position:absolute;left:50%;bottom:185px;transform:translateX(-50%);font:16px var(--serif);letter-spacing:2px;background:linear-gradient(90deg,transparent,#122b24cb,transparent);padding:8px 34px;white-space:nowrap}kbd{font:11px var(--sans);border:1px solid #c5ae7c99;background:#20372eee;border-radius:3px;padding:2px 6px;margin-right:9px;color:#f4e1b9}#castBar{position:absolute;left:50%;bottom:126px;width:284px;transform:translateX(-50%)}#castName{text-align:center;font:14px var(--serif);letter-spacing:2px;margin-bottom:5px}.cast .fill{background:linear-gradient(#bfc09a,#847e52)}#castBar .meter{height:12px}#movementState{position:absolute;left:50%;bottom:98px;transform:translateX(-50%);font:11px var(--serif);letter-spacing:2px;color:#c2d6c3}#labels{position:absolute;inset:0;overflow:hidden;pointer-events:none}.nametag{position:absolute;transform:translate(-50%,-100%);text-align:center;font:12px var(--serif);white-space:nowrap;text-shadow:0 1px 4px #000,0 1px 2px #000}.nametag .bar{height:4px;width:65px;margin:3px auto;background:#122321bb;border:1px solid #897d5d7a}.nametag .bar i{display:block;height:100%;background:var(--school)}.floattext{position:absolute;font:bold 19px var(--serif);text-shadow:0 1px 3px #000;transform:translate(-50%,-50%);pointer-events:none}.floattext.minor{font-size:14px}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 150px #16241b4a}#downScreen{position:absolute;inset:0;background:radial-gradient(ellipse,transparent,#521e2385);display:flex;align-items:center;justify-content:center;flex-direction:column}#downScreen h2{font:37px var(--serif);color:#e8c4a7}#downScreen .actions{display:flex;gap:12px}#downScreen p{font:16px var(--serif)}.overlay{position:absolute;inset:0;background:#07171691;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:50}.window{position:relative;padding:32px;width:600px;max-width:94vw;max-height:91vh;overflow:auto}.window>h2{font-size:29px;margin:0 0 20px}.close{position:absolute;right:13px;top:10px;border:0;background:none;font:25px var(--serif);padding:0 10px;color:#d2c59c}.section{padding:17px 0;border-top:1px solid #9c8f6652}.section h3{font-size:20px;color:#e3c990;margin-bottom:8px}.section p{font-size:12px;color:#c2cabb;line-height:1.9;margin:5px 0}.section label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:14px 0;gap:20px}.section input[type=range]{width:230px}.pauseButtons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pauseButtons .wide{grid-column:1/-1}#pauseName{text-align:center;font:36px var(--serif);letter-spacing:10px;color:#e5ce98;margin-bottom:23px}#saveNote{font-size:11px;margin-top:15px;color:#a5b5a8;text-align:center}.settingsRow{display:flex;align-items:center;gap:10px}.separator{height:1px;background:linear-gradient(90deg,transparent,#b29c6588,transparent);margin:18px 0}#dialogue{z-index:42;backdrop-filter:none;background:#0714112b;align-items:flex-end;padding-bottom:9vh}#dialogue .window{width:760px;padding:26px 38px;background:linear-gradient(135deg,#1d302af5,#142623f5);border-top:2px solid #bea56c}#dialogSpeaker{font:24px var(--serif);color:#e0c48c;letter-spacing:4px;margin-bottom:15px}#dialogText{font:19px/1.9 var(--serif);letter-spacing:1px;white-space:pre-line;color:#ece4c5;margin-bottom:22px}#dialogChoices{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}#dialogChoices button{font:15px var(--serif);padding:8px 18px}#cinema{position:absolute;inset:0;pointer-events:none;z-index:40}#cinema:before,#cinema:after{content:'';position:absolute;left:0;right:0;height:11%;background:#071310}#cinema:before{top:0}#cinema:after{bottom:0}#cinemaTitle{position:absolute;left:6%;top:3%;font:22px var(--serif);letter-spacing:6px;color:#d7c298}#cinemaText{position:absolute;bottom:4%;left:10%;width:80%;text-align:center;font:21px var(--serif);letter-spacing:2px;z-index:1;color:#f2e8d0}#skipScene{position:absolute;right:27px;top:4%;z-index:1;background:none;border:1px solid #81764c66;padding:3px 11px;font-size:11px}#mapOverlay{background:#0b211ee0}#mapWindow{width:min(1100px,96vw);height:min(890px,94vh);padding:24px 27px 20px;display:flex;flex-direction:column;background:linear-gradient(130deg,#ded1b1,#bdbda0);color:#293d36;border:1px solid #d6bb7f;box-shadow:0 0 100px #0009}#mapWindow h2{color:#3b4c3e;font-size:29px;margin:0}#mapWindow .mapHeading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #677a5f66;padding-bottom:8px}#mapWindow .close{color:#3f5145;top:8px}#mapPoem{font:19px var(--serif);letter-spacing:3px;text-align:center;margin:14px 0;color:#3a503e;flex-shrink:0}#mapBody{display:flex;flex:1;min-height:0;gap:19px}#mapCanvasWrap{flex:1;position:relative;min-width:0;border:1px solid #67775d88}#fullMap{width:100%;height:100%;cursor:crosshair;display:block}#mapLegend{width:197px;overflow:auto;padding:8px 3px;font:12px/1.8 var(--sans)}#mapLegend h3{font-size:19px;margin-bottom:8px;color:#3d5142}#mapLegend p{font-size:11px;line-height:1.7;margin-bottom:12px}#mapLegend button{width:100%;text-align:left;background:#647d5812;color:#334a3c;border:0;border-bottom:1px solid #61745b33;padding:6px 4px;font:14px var(--serif)}#mapLegend button:hover{background:#63734e33}#mapLegend .mapCaution{border:1px solid #9a775170;padding:8px;color:#71563c;font-size:10px;margin-top:14px}#mapFooter{font:11px var(--sans);display:flex;justify-content:space-between;color:#5c6750;padding-top:10px}#tooltip{position:absolute;width:265px;padding:14px 17px;z-index:90;background:#122521f7;border:1px solid #bc9f63;pointer-events:none;box-shadow:0 4px 35px #0009}#tooltip h3{font:20px var(--serif);color:#ead4a5;margin:0 0 8px}#tooltip p{font-size:11px;line-height:1.9;color:#d4dccd;margin:5px 0}#tooltip .meta{color:#beb184}.skillList{display:grid;grid-template-columns:1fr 1fr;gap:11px}.skillList article{border:1px solid #85906b50;padding:12px;font-size:12px}.skillList img{width:40px;height:40px;float:left;margin-right:10px;border:1px solid #b8995e}.skillList h3{font:17px var(--serif);margin:0 0 5px;color:#dfc995}.skillList p{clear:both;padding-top:8px;line-height:1.7;color:#c5cebb;margin:0}.inventoryGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inventoryGrid div{padding:15px;border:1px solid #a18e5e55;background:#47604a22}.inventoryGrid b{font:20px var(--serif);color:#d0c09a}.inventoryGrid p{font-size:11px;margin:5px 0}.sourceItem{border-top:1px solid #81876355;padding:12px 0}.sourceItem a{font:16px var(--serif);text-decoration:none}.sourceItem p{font-size:11px;line-height:1.8;color:#b2bda7;margin:7px 0 0}.battleRow{padding:10px;border:1px solid #81957855;margin:8px 0;display:flex;justify-content:space-between}.battleRow strong{font:17px var(--serif)}.helpTable{width:100%;border-collapse:collapse;font-size:12px}.helpTable td{padding:7px;border-bottom:1px solid #657a6044}.helpTable td:first-child{color:#d9c895;white-space:nowrap}.danger{color:#e9aca0!important}.fileButton{position:relative;overflow:hidden}.fileButton input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}#debugLine{position:absolute;left:25px;top:90px;font:10px monospace;color:#b4cab494;display:none}@media(max-width:1100px){#createLeft{left:2%;width:322px;top:2%;max-height:96%;padding:15px 18px}#schoolText{min-height:0;font-size:11px}#schoolMotto{font-size:14px;margin:6px 0 10px}.formrow{margin:7px 0}#createCalligraphy{right:4%;font-size:55px}#actionBar{left:51%;bottom:23px;gap:5px;padding:12px 8px 9px}.skill{width:49px;height:51px}.skill .skillName{top:55px;font-size:9px}#lightBar button{width:31px;height:35px;font-size:13px}#playerFrame{width:232px;bottom:117px;left:18px}#feed{width:265px;left:18px;bottom:264px}#tracker{width:205px;font-size:11px;top:218px}#miniWrap{width:156px;height:156px}#bottomMenu{bottom:106px;right:15px;flex-direction:column}#controlHint{font-size:9px;width:230px;bottom:15px;left:17px}#mapPoem{font-size:15px;letter-spacing:1px}#mapLegend{width:172px}#mapWindow{padding:18px}#statusStrip{bottom:214px}#previewHint{left:40%;font-size:12px}}@media(max-height:720px){#createLeft h1{font-size:27px}#schoolTitle h2{font-size:23px}#createLeft .intro{margin-bottom:10px}#schoolGrid button{padding:5px}#schoolText{font-size:10px}#schoolMotto{margin:6px 0;font-size:12px}#createLeft{padding:14px 19px}#startGame{padding:9px;font-size:16px}#tracker{top:228px}#dialogText{font-size:17px}.sourceNote{font-size:9px}#miniWrap{width:156px;height:156px}#mapPoem{margin:8px 0}}

/* R2: lacquer, aged bronze and rice-paper accents. Native gameplay stays visible. */
:root{--gold:#cbb686;--pale:#f2e9d6;--muted:#b2bbb9;--ink:#141d25;--edge:#8f846c}
button{background:linear-gradient(180deg,#30383c,#1c252c);border-color:#9b886557;box-shadow:inset 0 1px #d5c6a110}
.panel{background:linear-gradient(130deg,#19242cef,#111b23f2)!important;border-color:#a18b665c!important;box-shadow:0 14px 80px #0005,inset 0 0 55px #8976550a}
#creation{background:linear-gradient(90deg,#0e1927bd,transparent 60%,#10192326)}
#createLeft{top:4%;left:4%;width:390px;max-height:91%;padding:27px 29px 20px;border:1px solid #aa947457;border-radius:2px;backdrop-filter:blur(14px);overflow-y:auto;scrollbar-width:thin}
#createLeft:before{border-color:#a997714a}
#createLeft h1{font-size:37px;letter-spacing:9px;margin:3px 0 4px}#createLeft .intro{margin-bottom:16px;font:14px var(--serif);color:#c5c1b2;letter-spacing:2px}.eyebrow{font-size:10px;letter-spacing:4px;color:#b7a688}
#schoolGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
#schoolGrid button{padding:5px 2px 4px;background:#121d2580;position:relative;border:1px solid #c9bd9440;border-radius:2px;transition:background .2s,box-shadow .2s;min-width:0}
#schoolGrid button img{display:block;object-fit:contain;width:32px;height:32px;margin:0 auto 1px;filter:sepia(.4) brightness(1.35);opacity:.72}
#schoolGrid button span{font:13px var(--serif);letter-spacing:2px}
#schoolGrid button.selected{background:linear-gradient(140deg,#9a7d424a,#b1ad7828);border-color:#d6bd86;box-shadow:inset 0 0 12px #c6a46617,0 0 9px #d0a65a22}
#schoolGrid button.selected img{opacity:1;filter:sepia(.35) brightness(1.6)}
#schoolTitle{margin:16px 0 2px}#schoolTitle h2{font-size:27px;letter-spacing:7px}#schoolTitle span{font-size:11px;color:#c6b998}#schoolMotto{font-size:15px;margin:6px 0 11px;color:#e3d4b5;letter-spacing:1px}#schoolText{font-size:11px;line-height:1.85;min-height:0;border-top:1px solid #9c85672c;padding-top:9px}#schoolText p{margin-bottom:5px}
.formrow{margin:10px 0}.formrow>label,.formrow>span{font-size:12px;letter-spacing:2px;color:#c3b69d}.options button{font-size:11px;padding:6px 11px}input{background:#111b2388!important;border-color:#b4a88a3b!important}#startGame{margin-top:8px;padding:12px;letter-spacing:7px;background:linear-gradient(110deg,#b39b6b,#71634a);border-color:#d7c197;box-shadow:inset 0 1px #e7dcb955;font-size:18px}#continueGame{font-size:12px;padding:6px}.sourceNote{margin-top:10px;line-height:1.65;font-size:9px;color:#92a2a8}
#creationArt{position:absolute;left:36%;right:3%;top:3%;bottom:2%;pointer-events:none;isolation:isolate;overflow:hidden;mask-image:linear-gradient(to bottom,#000 0%,#000 87%,transparent 100%)}
#creationRole{position:absolute;width:100%;height:95%;object-fit:contain;object-position:center bottom;bottom:0;z-index:2;filter:drop-shadow(10px 15px 30px #091621b8)}
#creationSeal{position:absolute;width:310px;height:310px;object-fit:contain;left:40%;top:10%;opacity:.09;filter:brightness(3) sepia(1);z-index:0}
.artHalo{position:absolute;inset:10% 10% 6%;background:radial-gradient(ellipse,#d5d8c543,#b7c9c518 43%,transparent 69%);z-index:1}
#creationArt[data-school=tiance] #creationRole{width:115%;left:-8%;height:93%}
#creationArt[data-school=chunyang] #creationRole{height:97%}
#artCaption{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);font:10px var(--sans);letter-spacing:2px;color:#c4cdc8;text-shadow:0 1px 3px #000;z-index:3;white-space:nowrap}
#toggleArt{position:absolute;right:3.5%;bottom:6%;font:12px var(--serif);letter-spacing:1px;z-index:5;background:#101c2580;border-color:#ac9b705e}
#createCalligraphy{right:4%;top:9%;font-size:67px;letter-spacing:12px;text-shadow:0 3px 14px #182b25;writing-mode:vertical-rl;color:#eee6d6;z-index:4}#createCalligraphy small{font-size:11px;letter-spacing:5px;color:#cfd6c6;display:block;margin-top:18px}
#creationVerse{position:absolute;left:40%;top:11%;font:17px/2.4 var(--serif);writing-mode:vertical-rl;letter-spacing:5px;color:#e0d9c4;text-shadow:0 2px 5px #0007;z-index:4;opacity:.72}
#previewHint{left:46%;bottom:2.5%;font:12px var(--serif);letter-spacing:4px;color:#dce0d4}.versionTag{right:3%;bottom:1.5%;font:9px var(--sans);letter-spacing:2px;color:#aebbb6}
/* Game frames: reduce screen occupation and restore the traditional unit-frame / hotbar hierarchy. */
#areaHeader{left:27px;top:22px;border-left:2px solid #c7b68b85;padding-left:14px;background:linear-gradient(90deg,#192a2c47,transparent);padding-right:40px}#areaName{font-size:28px!important;letter-spacing:7px}#areaDetail{font-size:10px!important;letter-spacing:2px;color:#d6decd}#worldMood{left:43px;top:90px;color:#ced9d2;font-size:10px;letter-spacing:1px}
#factionScore{top:20px;background:linear-gradient(90deg,transparent,#111e29a8,transparent);border-bottom:1px solid #c1ab7644;padding:8px 35px;font-size:12px;letter-spacing:2px}
#miniWrap{right:25px;top:23px;width:170px;height:170px;background:#20343b;border:3px solid #3f3e36;border-radius:50%;box-shadow:0 0 0 1px #c2b18a99,0 0 0 5px #17242b85,0 8px 25px #0005}
#miniTitle{font:14px var(--serif);letter-spacing:4px;bottom:8px}#miniCoords{font:9px var(--sans);color:#d1d4c9;white-space:nowrap;margin-top:5px}
#tracker{right:24px;top:240px;width:238px;padding:12px 10px 14px 15px;border-left:1px solid #c4b37a66;background:linear-gradient(90deg,#1827309c,#192b3322);font-size:12px;text-shadow:0 1px 3px #111}
#questTitle{font:17px var(--serif);color:#ead392;letter-spacing:2px;margin-bottom:8px}#questText{font:12px/1.8 var(--sans);color:#ebeee4}#questDistance{font-size:11px;color:#d4c78f;letter-spacing:1px}.questButtons{opacity:.8}
#playerFrame{left:30px;bottom:86px;width:290px;padding:11px 12px 10px 76px;background:linear-gradient(120deg,#111e29db,#23353fc7);border:1px solid #b29d7359;box-shadow:inset 0 0 0 3px #13222c99,0 8px 30px #0004;border-radius:2px}
#portrait{left:9px;top:17px;width:57px;height:66px;border:1px solid #c1a97680;border-radius:50% 50% 5px 5px;background:radial-gradient(ellipse at 50% 40%,#5b606466,#10202a);overflow:hidden;box-shadow:0 0 0 2px #2e3e4766}
#portrait img{width:46px;height:46px;object-fit:contain;position:absolute;left:4px;top:4px;filter:brightness(1.9) sepia(.55)}#portrait span{position:absolute;bottom:0;left:0;width:100%;text-align:center;font:11px var(--serif);letter-spacing:3px;background:#0f1b229c;padding:3px 0;color:#dac79f}
#playerName{font:14px var(--serif);letter-spacing:2px;color:#ecddbd;margin-bottom:5px}.meter{height:14px!important;border:1px solid #071216b0!important;box-shadow:inset 0 1px 2px #0007,0 1px #c0ad7919;background:#07111bd4;border-radius:2px;overflow:hidden}.meter .fill{background:linear-gradient(#994e5a,#622c3c 55%,#873c4f);box-shadow:inset 0 1px #ffcba425}.meter span{font:9px var(--sans);line-height:12px;letter-spacing:.4px;text-shadow:0 1px 2px #000}.meter.mana .fill{background:linear-gradient(#4c7caa,#2b446b 62%,#365982)}.meter.resource .fill{background:linear-gradient(#b89c5a,#786139)}.meter.qi .fill{background:linear-gradient(#6ca798,#3e776b)}#qiText{font-size:8px}.meter.qi{height:10px!important}.playerMeta{font-size:8px!important;letter-spacing:.1px;color:#9facad;white-space:nowrap;margin-top:5px}#resourcePips{display:flex;gap:4px;position:absolute;bottom:-7px;left:78px}#resourcePips i{display:block;width:15px;height:7px;transform:skewX(-15deg);border:1px solid #b09f707d;background:linear-gradient(90deg,#d9bc77 var(--charge,0%),#15222be6 var(--charge,0%));box-shadow:0 1px 3px #000}#resourcePips i.full{box-shadow:0 0 5px #e2c57666}.mingjiao#resourcePips i{width:36px;height:6px}.mingjiao#resourcePips i:nth-child(2){background:linear-gradient(90deg,#a3d6e4 var(--charge,0%),#15222be6 var(--charge,0%))}
#statusStrip{left:32px;bottom:235px}#statusStrip span,#targetStatus span{display:inline-block;border:1px solid #bca77966;background:#172736da;padding:2px 5px;color:#dbd5b5;font-size:10px;line-height:1.4}
#targetFrame{top:75px;left:50%;width:270px;background:linear-gradient(110deg,#17232fd4,#17242fab);border:1px solid #b5a17970;padding:9px 13px;box-shadow:inset 0 0 0 3px #101c2680,0 7px 18px #0003;border-radius:2px}#targetName{font:16px var(--serif);letter-spacing:3px}#targetMeta{font-size:9px;margin-top:4px;letter-spacing:.4px}#targetStatus{display:flex;gap:4px;position:absolute;top:100%;margin-top:4px;left:0;flex-wrap:wrap;min-width:270px}#targetStatus .dot{border-color:#886da0;background:#302541e0}#targetCast{height:13px;position:relative;margin-top:6px;background:#11191f;border:1px solid #89785888}#targetCast i{height:100%;display:block;background:linear-gradient(#c1a264,#7b5b35)}#targetCast span{position:absolute;inset:0;font:9px var(--sans);text-align:center;color:#fff1d7}
#actionBar{bottom:34px;left:55%;padding:13px 14px 11px;background:linear-gradient(180deg,#192a31b8,#0c1721dc);border:1px solid #a28c645c;box-shadow:inset 0 0 0 3px #2b35383b,0 5px 25px #0003;gap:9px;border-radius:2px}
.skill{width:54px;height:55px;border:1px solid #c3ac797a;box-shadow:inset 0 0 0 2px #0b151d,0 1px 5px #0006;border-radius:2px;overflow:visible;padding:3px;position:relative}.skill img{border-radius:1px;filter:saturate(.8) contrast(1.05)}.skill .key{left:3px;top:0;font:11px var(--sans);z-index:4;text-shadow:0 1px 3px #000;background:#12202a9c;padding:0 3px}.skill .skillName{top:59px;font:10px var(--serif);white-space:nowrap;color:#ddd5bb;letter-spacing:.5px}.skill .cooldownSweep{position:absolute;inset:3px;pointer-events:none}.skill .cd{z-index:3;background:none!important;font:21px var(--sans);color:#fff3d8;text-shadow:0 1px 3px #000}.skill.queued{outline:1px solid #eddb93;box-shadow:0 0 11px #eacc6977}.skill.pressed{box-shadow:0 0 12px #ecd18787;border-color:#f4de9e}.skill.disabled img{filter:grayscale(.7) brightness(.55)}
#lightBar{gap:4px}#lightBar button{width:33px;height:36px;background:linear-gradient(#475652,#263934);border:1px solid #b0a78566;font-size:14px}#lightBar button span{font-size:8px;bottom:-16px}#hotbarLabel{font-size:10px;letter-spacing:2px;top:-10px;left:12px;background:linear-gradient(90deg,#182934,transparent);padding:0 8px}
#feed{bottom:255px;left:29px;font-size:10px;width:310px;color:#c5c9bd}#feed .entry{background:linear-gradient(90deg,#101e2796,transparent);border-left:1px solid #6d7d7144;padding-left:8px}#controlHint{bottom:17px;left:32px;font-size:9px;width:295px;color:#bdc8c6}
#bottomMenu{right:22px;bottom:24px;gap:3px}#bottomMenu button{padding:5px 9px;font-size:11px;background:#13232e9c;border-color:#ac957555}
#interactPrompt{bottom:210px;padding:8px 36px;background:linear-gradient(90deg,transparent,#0e2331c7,transparent);font-size:17px;color:#f0e0b7}#castBar{bottom:157px;left:55%;width:283px}#castName{font-size:12px}#castBar .meter{height:13px!important}.cast .fill{background:linear-gradient(#d1b66a,#8e723e)}#movementState{bottom:128px;left:55%;font-size:11px}#skillQueue{position:absolute;bottom:105px;left:55%;transform:translateX(-50%);font:10px var(--serif);color:#ead695;letter-spacing:2px}
#dialogue .window{background:linear-gradient(125deg,#152431f5,#1e3038f5);border-top:1px solid #c8b285;border-bottom:1px solid #ae98654f;box-shadow:0 0 0 5px #1324319c,0 20px 70px #0005}#dialogSpeaker{font-size:24px;border-left:2px solid #bba064;padding-left:14px}#dialogText{font:18px/1.85 var(--serif)}.vignette{box-shadow:inset 0 0 135px #20302e36}
#mapWindow{background:linear-gradient(135deg,#e1d5b7,#c4c1a5);border:1px solid #c9b382;box-shadow:0 0 0 6px #253036cc,0 0 0 7px #a6936366,0 20px 80px #0009}#mapPoem{font:18px/1.7 var(--serif);letter-spacing:3px;color:#4f5140}#mapCanvasWrap{box-shadow:inset 0 0 25px #59462c47;border:1px solid #7a79624d}.mapCaution{font-size:9px!important}
#photoBadge{position:absolute;bottom:22px;right:28px;font:12px var(--serif);letter-spacing:3px;color:#e6e5d4;text-shadow:0 1px 3px #000}
body.photo-mode #hud>*{display:none!important}body.photo-mode #photoBadge{display:block!important}body.photo-mode #toasts{display:none}
@media(max-width:1250px){#createLeft{width:345px;left:3%;padding:20px 23px;top:3%}#creationArt{left:33%;right:1%}#schoolText{font-size:10px}.formrow{margin:8px 0}#schoolGrid button img{width:28px;height:28px}#playerFrame{width:255px;padding-left:69px;left:19px;bottom:105px}#actionBar{left:55%;bottom:31px}.skill{width:46px;height:49px}.skill .skillName{top:52px;font-size:9px}#lightBar button{width:28px}#tracker{width:218px}#bottomMenu{bottom:109px;right:17px;flex-direction:column}#feed{bottom:266px;width:275px;font-size:9px}#controlHint{left:21px;font-size:8px;width:240px}#targetFrame{top:71px}#miniWrap{width:155px;height:155px}#tracker{top:226px}#mapPoem{font-size:15px}}
@media(max-height:760px){#createLeft{top:2%;max-height:95%;padding-top:14px;padding-bottom:12px}#createLeft h1{font-size:28px;letter-spacing:7px}#schoolGrid button img{width:25px;height:25px}#schoolGrid button span{font-size:12px}#schoolTitle{margin-top:9px}#schoolMotto{margin:4px 0 7px;font-size:13px}.formrow{margin:6px 0}#schoolText{line-height:1.55;font-size:10px}.sourceNote{font-size:8px;margin-top:6px}#continueGame{padding:3px}#startGame{padding:8px;font-size:16px}}

/* Explicitly reset inherited writing mode and opposing anchors. */
#miniTitle{top:auto;bottom:-9px;height:23px;line-height:20px;background:#172831e8;writing-mode:horizontal-tb;border-color:#beaa7666;padding:1px 13px;font-size:12px;z-index:2}#miniNorth{top:5px;text-shadow:0 1px 3px #000}#miniCoords{margin-top:12px;font-size:8px}#portrait{writing-mode:horizontal-tb;bottom:auto}#portrait span{writing-mode:horizontal-tb;line-height:1.1;letter-spacing:3px}#artCaption{background:#11202b88;padding:3px 9px;font-size:9px}
