/* R3 — handcrafted classic PC-client jade/cloud chrome. No UI screenshots used as controls. */
:root{--ui-scale:1;--jade:#6faaa1;--jade-light:#b3d2b5;--jade-dark:#183f3d;--gold:#d4c190;--pale:#e7e6d1;--edge:#75a59a;--paper:#e9e1c5;--ink:#244038;--sans:'Microsoft YaHei','PingFang SC','Noto Sans CJK SC',sans-serif;--serif:'Noto Serif CJK SC','Songti SC','SimSun',serif}
*{scrollbar-width:thin;scrollbar-color:#7bafa0 #1c3533}button,input,select{font-family:var(--sans)}button{border:1px solid #72988b;background:linear-gradient(#35635c,#23423f 49%,#1b3531 51%,#304d42);color:#e7dfb9;border-radius:2px;box-shadow:inset 0 0 0 1px #142e2e,inset 0 2px #a1c3a531;transition:filter .12s,background .12s}button:hover{border-color:#d5d4a0;filter:brightness(1.2)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ecd48d;outline-offset:2px}button:active{filter:brightness(.85)}button:disabled{filter:grayscale(.7);opacity:.5;cursor:default}button.primary{background:linear-gradient(#779b77,#435e42 48%,#35523b 52%,#5c7747);border-color:#c2c895;color:#fff2c8;text-shadow:0 1px 3px #172d20}.frame:before,.frame:after{pointer-events:none}input:not([type=checkbox]):not([type=range]):not([type=color]),select{background:#112f2e;border:1px solid #6b9284;color:#e4e4c8;border-radius:2px;padding:6px 9px;box-shadow:inset 0 1px 5px #061f26b0}input[type=checkbox]{accent-color:#688e52;width:13px;height:13px;cursor:pointer}input[type=range]{accent-color:#9cb98e}a{color:#cee5c1}.muted{color:#a9c0b7}.panel,.client-card{background:linear-gradient(135deg,#284f48f5,#163935f7)!important;border:1px solid #80b3a1!important;box-shadow:inset 0 0 0 2px #132f2c,inset 0 0 0 3px #668c765a,0 7px 25px #00171688}.client-cap,.client-title{height:37px;flex-shrink:0;background-image:var(--client-cloud),linear-gradient(#5f958a,#2e615b 55%,#254d44);background-size:140px 42px,100% 100%;border-bottom:1px solid #b3c2a3;box-shadow:inset 0 1px #d1dfb866,inset 0 -2px #193d32;padding:7px 15px;color:#f0e4b6;text-shadow:0 1px 3px #123730;font:17px/22px var(--serif);letter-spacing:3px}.client-title{position:relative;height:36px;padding:5px 15px;cursor:move}.client-title:after{content:'';position:absolute;inset:2px 3px;border:1px solid #b8d8b436;border-radius:2px;pointer-events:none}.close{right:7px;top:5px;padding:0;width:24px;height:24px;line-height:22px;font-size:24px;z-index:5;background:linear-gradient(#568173,#21433c);border:1px solid #a8b897;color:#eadab1;box-shadow:inset 0 0 0 1px #193e35;border-radius:2px}.interactive{cursor:pointer}
/* Character creation — school bar, portrait, and independent appearance/name column. */
#creation{background:linear-gradient(90deg,#102b31e8 0%,#102b3180 24%,transparent 43%,#18363018 65%,#102c31cc 91%),linear-gradient(0deg,#0c2b31ee,transparent 24%)}#creationBrand{position:absolute;top:35px;left:4%;display:flex;gap:18px;align-items:center;color:#e4dbb9;pointer-events:none}#creationBrand h1{font:37px var(--serif);letter-spacing:9px;margin:0 0 5px;text-shadow:0 2px 7px #041d25}#creationBrand span{font:11px var(--serif);letter-spacing:5px;color:#b7c8b6}.brandSeal{border:1px solid #af7659;padding:8px 4px;background:#622f29c9;writing-mode:vertical-rl;font:23px var(--serif);letter-spacing:5px;box-shadow:inset 0 0 0 3px #742c2544;outline:1px solid #cbad755c;outline-offset:3px}#createSteps{position:absolute;top:26px;left:50%;transform:translateX(-50%);font:12px var(--serif);white-space:nowrap;color:#94b3a9;display:flex;gap:17px}#createSteps .active{color:#ede7bd}#createSteps i{font-style:normal;color:#7e9984}#localRealm{position:absolute;right:4%;top:35px;width:205px;border-top:1px solid #97b19a83;border-bottom:1px solid #97b19a4f;padding:8px 13px;display:grid;grid-template-columns:60px 1fr;align-items:center;gap:4px;font:12px var(--serif);color:#b7cdc0}#localRealm strong{font-size:21px;letter-spacing:7px;color:#efe8c3}#localRealm span{grid-column:1/-1;font:10px var(--sans);text-align:right;color:#95b2a7}
#createLeft.schoolInfo{top:155px;left:4%;width:280px;bottom:183px;max-height:none;padding:0;border:0;background:none!important;backdrop-filter:none;overflow:auto;box-shadow:none}#createLeft:before,#createLeft:after{display:none}#createLeft .eyebrow{letter-spacing:4px;color:#86a99c;font-size:10px;margin-bottom:13px}#schoolTitle{margin:0;display:block}#schoolTitle h2{font:43px var(--serif);letter-spacing:14px;margin:0 0 6px;color:#f0e5c0}#schoolTitle span{font:12px var(--serif);color:#b7c99d;letter-spacing:3px}#schoolMotto{font:14px/1.9 var(--serif);color:#ddd4ad;letter-spacing:2px;margin:20px 0;padding:11px 0;border-top:1px solid #76998055;border-bottom:1px solid #76998055}#schoolText{min-height:0;color:#b2c7b9;font-size:12px;line-height:1.9}.schoolWeapon{font:14px var(--serif);color:#d3d8b8;margin-bottom:15px}.schoolSection{margin:13px 0}.schoolSection>span{font:12px var(--serif);letter-spacing:3px;color:#d7c895}.schoolSection p{font:11px/1.85 var(--sans);margin:6px 0 0;color:#aec5b8}#creationSkills{display:flex;gap:6px;margin:15px 0 9px}#creationSkills img{width:38px;height:38px;border:1px solid #b4b08a;box-shadow:0 1px 4px #001c20}#schoolText>small{color:#92aea2;font-size:10px}#creationArt{top:6%;left:25%;right:18%;bottom:15%;mask-image:linear-gradient(180deg,transparent,#000 8%,#000 87%,transparent)}#creationRole{height:100%;width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 15px #14282066)}#creationArt[data-school=tiance] #creationRole{width:116%;left:-7%;height:100%}#creationSeal{width:350px;right:1%;top:13%;opacity:.1}#createCalligraphy{right:24%;top:12%;font-size:55px;color:#e4d8b271;writing-mode:vertical-rl;letter-spacing:12px;text-shadow:0 2px 7px #071b2966}#createCalligraphy small{font:12px var(--serif);letter-spacing:7px;margin-top:20px;color:#b2c6ad}#previewHint{left:50%;bottom:190px;transform:translateX(-50%);font:12px var(--serif);letter-spacing:5px;color:#d6e1c3}#toggleArt{position:absolute;left:50%;right:auto;bottom:154px;transform:translateX(-50%);font-size:11px;padding:4px 17px;background:#1c3a34cc;color:#c8d7b5;border-color:#7b9c7c88}
#createForm{position:absolute;top:162px;right:4%;width:250px;background:#173c3688;border:1px solid #84ad9766;box-shadow:inset 0 0 0 3px #092c2444}#createFormFields{padding:14px 17px 0}.formrow{margin:0 0 18px;display:block}.formrow>label,.formrow>.label{font:12px var(--serif);color:#d5d6b7;letter-spacing:3px;display:block;margin-bottom:8px}.formrow input[type=text]{width:100%;height:31px}.formrow .choices{display:flex;gap:5px}.formrow .choices button,.formrow button{flex:1;font:12px var(--serif);padding:6px 4px}.formrow button.selected{background:linear-gradient(#738a59,#435b3c);border-color:#cdc9a1;box-shadow:inset 0 0 0 1px #527252}.formrow input[type=color]{width:35px;height:25px;padding:2px;background:#21473d;border:1px solid #93ae86;vertical-align:middle}.creation-caution{font:10px/1.7 var(--sans);color:#92b2a1;margin:0 17px 15px}#dyeSwatches{display:inline-flex;gap:5px;margin-left:7px;vertical-align:middle}#dyeSwatches button{width:19px;height:19px;min-width:0;flex:none;padding:0;background:var(--dye);border-color:#9bad91;box-shadow:inset 0 0 0 2px #1a303f}#createActions{position:absolute;right:4%;bottom:178px;width:250px;display:flex;gap:8px}#createActions button{font:15px var(--serif);height:38px;padding:5px 9px;letter-spacing:2px;flex:1}#startGame{background:linear-gradient(#9b9c64,#596445 47%,#3f5639 52%,#6f794c);border-color:#d4c295;color:#fff0c5}#schoolGrid{position:absolute;left:50%;bottom:53px;transform:translateX(-50%);width:min(970px,88vw);display:grid;grid-template-columns:repeat(10,1fr);gap:9px;padding:12px 10px 8px;border-top:1px solid #a3b59777;background:linear-gradient(90deg,transparent,#173c3577 20%,#173c3577 80%,transparent)}#schoolGrid button{padding:7px 3px 6px;min-width:0;border:1px solid #789e8544;background:linear-gradient(#244d426b,#122e2c7a);border-radius:0}#schoolGrid button img{width:39px;height:39px;filter:sepia(.1) brightness(1.35);opacity:.77;margin:0 auto 3px}#schoolGrid button span{font-size:13px;letter-spacing:4px;margin-left:4px}#schoolGrid button.selected{border-color:#d2cd9b;background:linear-gradient(#8596674d,#4a665942);box-shadow:inset 0 0 15px #c3da8859,0 0 9px #cedaa322}#schoolGrid button.selected img{filter:brightness(1.6);opacity:1}.creation-source{position:absolute;left:4%;bottom:16px;max-width:68%;font:10px var(--sans);color:#8ea99b;margin:0}#creation .versionTag{position:absolute;right:4%;bottom:17px;font:9px var(--sans);color:#75998b}#createSources{padding:0 5px;font:10px var(--sans);background:none;border:none;color:#c5cda9}
/* Persistent world HUD: compact 12-slot bars rather than dashboard cards. */
#clientStatus{position:absolute;left:50%;top:7px;transform:translateX(-50%);display:flex;gap:9px;color:#d0e3caba;font:10px var(--sans);text-shadow:0 1px 3px #071b1d;white-space:nowrap}#clientStatus i{font-style:normal;color:#96b79b66}#areaTitle{top:14%;left:50%;font:36px var(--serif);letter-spacing:13px;color:#eee5c6;transition:opacity .5s}#areaSubtitle{font-size:12px;letter-spacing:5px;margin-top:8px}#playerFrame{left:19px;top:24px;bottom:auto;width:254px;height:93px;padding:7px 10px 7px 72px;background:linear-gradient(90deg,#163c37ef,#17372dc9 85%,transparent);border:0;box-shadow:none;transform:scale(var(--ui-scale));transform-origin:top left;overflow:visible}#playerFrame:before{inset:0;border:0;border-top:1px solid #a9c69d7a;border-bottom:1px solid #8da99369;background-image:var(--client-cloud);background-size:140px 42px;opacity:.38}#playerFrame:after{display:none}#portrait{width:60px;height:62px;left:3px;top:7px;border:3px ridge #93b59c;border-radius:50% 50% 35% 35%;background:radial-gradient(#487460,#133b38);box-shadow:0 0 0 1px #1a3932,0 3px 9px #092921;font-size:22px;overflow:hidden}#portrait img{width:100%;height:100%;object-fit:contain;filter:brightness(1.5)}#playerLevel{position:absolute;left:19px;top:63px;border:1px solid #acbc8a;border-radius:8px;padding:0 6px;background:#253e31;color:#f1d798;font:10px var(--sans)}#playerName{font:13px var(--serif);letter-spacing:1px;max-width:158px;color:#f3e7c4;padding:0;height:18px;margin:0 0 1px;text-shadow:0 1px 2px #092c27}.meter{height:11px;border:1px solid #728d74;border-radius:0;box-shadow:inset 0 0 0 1px #061d23;background:#112a28c9;overflow:hidden;position:relative;margin-bottom:3px}.meter .fill{border:0;border-radius:0;height:100%;box-shadow:inset 0 1px #fffff05e,inset 0 -2px #051d2177}.hp .fill{background:linear-gradient(#be554b,#8b1d24 52%,#692021)}.mp .fill{background:linear-gradient(#608bcb,#335e9b 52%,#294373)}.qi .fill{background:linear-gradient(#acd28c,#679a5b 52%,#366047)}.resource .fill{background:linear-gradient(#dbcb78,#9f8a3d 52%,#7b6633)}.meter span{font:9px/9px var(--sans);text-shadow:0 1px 2px #071917;letter-spacing:0}#playerFrame .hp,#playerFrame .mp{height:12px}#playerFrame .resource{height:9px}#playerFrame .qi{display:none}#resourcePips{display:flex;position:absolute;left:74px;top:69px;gap:3px;height:7px}#resourcePips i{width:14px;height:6px;border-radius:1px;border-color:#b6bf8b}#resourcePips .resourceLabel{font-size:8px;height:8px;line-height:8px}#playerMeta{font:9px var(--sans);color:#a9c09e;margin-top:9px;letter-spacing:0;white-space:nowrap}#qiOrb{position:absolute;top:31px;left:282px;width:64px;height:64px;border-radius:50%;border:4px ridge #84b19c;box-shadow:0 0 0 1px #143d38,inset 0 0 11px #000b,0 4px 9px #0c242757;background:radial-gradient(circle at 40% 28%,#81a8844a,#163d39 55%,#0d2625);overflow:hidden;transform:scale(var(--ui-scale));transform-origin:top left;--qi:100%;text-align:center;pointer-events:auto}.orbWater{position:absolute;bottom:0;left:0;width:100%;height:var(--qi);background:radial-gradient(ellipse at 40% 10%,#b5d08d94,transparent 50%),linear-gradient(#82ab7899,#315d57c2 70%,#194246);border-top:1px solid #c2ddaa66;transition:height .12s}#orbValue{position:relative;display:block;font:17px var(--serif);color:#eff4c5;margin-top:11px;text-shadow:0 1px 2px #193b24}#qiOrb small{position:relative;font:9px var(--serif);color:#d3e4b2;letter-spacing:1px}#statusStrip{top:119px;bottom:auto;left:28px;transform:scale(var(--ui-scale));transform-origin:top left;gap:4px;width:310px}#statusStrip span{font:10px var(--sans);padding:3px 5px;border:1px solid #b6c99680;background:#1b403ba1}.hide-status-numbers #playerFrame .meter span,.hide-status-numbers #targetFrame .meter span{visibility:hidden}
#targetFrame{left:50%;top:35px;bottom:auto;width:275px;min-height:70px;padding:8px 12px 8px 64px;transform:translateX(-50%) scale(var(--ui-scale));transform-origin:top center;background:linear-gradient(90deg,#163b35e3,#20423cc9 85%,transparent);border:0;box-shadow:none}#targetFrame:before{border:0;border-bottom:1px solid #92ba9380;border-top:1px solid #a1c19b6b;background-image:var(--client-cloud);background-size:140px 42px;opacity:.5}#targetPortrait{position:absolute;left:5px;top:5px;width:50px;height:51px;border:3px ridge #91b297;border-radius:50%;overflow:hidden;background:#143f36}#targetPortrait img{width:100%;height:100%;object-fit:contain;filter:brightness(1.3)}#targetName{font:13px var(--serif);letter-spacing:1px;color:#ead6ac}#targetType{font:9px var(--sans);padding:1px 0 3px;color:#c4cfa8}#targetFrame .meter{height:13px}#targetStates{font:10px var(--sans);margin-top:4px}#targetCast{height:9px;font-size:8px}#targetOfTarget{position:absolute;left:calc(50% + 150px);top:60px;border:1px solid #a4b7926b;background:#163b35bc;color:#d9d9b3;font:10px var(--sans);padding:5px 9px;transform:scale(var(--ui-scale));transform-origin:top left;max-width:180px}#battleScore{position:absolute;left:50%;top:6px;transform:translateX(-50%);font:10px var(--sans);padding:0;border:0;background:none;display:none}
#miniWrap{right:29px;top:34px;width:174px;height:174px;padding:5px;border:5px ridge #84ac9b;border-radius:50%;background:#224d42;box-shadow:0 1px 1px #c0d3a770,inset 0 0 0 1px #12362c,0 2px 15px #082a2577;overflow:visible;transform:scale(var(--ui-scale));transform-origin:top right;pointer-events:auto}#miniWrap:before,#miniWrap:after{display:none}#miniMap{width:100%;height:100%;border-radius:50%;border:1px solid #153830;display:block}#miniTitle{position:absolute;top:-29px;left:-17px;width:198px;height:24px;display:flex;justify-content:center;align-items:center;font:13px var(--serif);color:#eddfba;letter-spacing:3px;background-image:var(--client-cloud),linear-gradient(#4b8076,#1e4b43);background-size:140px 42px;border:1px solid #afcaa484;border-radius:5px 5px 35% 35%;padding:2px 8px;text-shadow:0 1px 2px #133b2e}#miniCoords{top:auto;bottom:-33px;left:-10px;width:190px;font:9px var(--sans);color:#d1ddb6;text-shadow:0 1px 2px #062819;background:none;letter-spacing:0;padding:2px 0;text-align:center}#worldMood{position:absolute;top:216px;right:19px;width:190px;font:10px var(--serif);text-shadow:0 1px 2px #062819;letter-spacing:1px;text-align:center;transform:scale(var(--ui-scale));transform-origin:top right;color:#b5cbb0}#miniTools{position:absolute;right:-14px;bottom:-8px;display:flex;gap:2px}#miniTools button,#miniJournal,#miniSettings,#miniToggle{width:23px;height:23px;padding:0;border-radius:50%;font:16px/20px var(--serif);border:1px solid #b3b58a;box-shadow:0 0 0 1px #214c40;background:linear-gradient(#58856e,#2b5143);color:#d6d5a7}#miniTools img,#miniJournal img,#miniSettings img{width:100%;height:100%;border-radius:50%}#miniToggle{position:absolute;right:-13px;top:-21px;font-size:11px}#miniJournal{position:absolute;left:-18px;bottom:21px}#miniSettings{position:absolute;right:-18px;top:28px}#miniWrap.folded{height:0;width:174px;padding:0;border:0;box-shadow:none}#miniWrap.folded>*:not(#miniTitle):not(#miniToggle){display:none}#miniWrap.folded #miniTitle{top:0}#miniWrap.folded #miniToggle{top:3px}
#tracker{top:259px;right:16px;width:246px;padding:7px 9px 12px;border:0;border-left:1px solid #86a98a77;background:linear-gradient(90deg,#163c3290,transparent);box-shadow:none;font:12px var(--sans);transform:scale(var(--ui-scale));transform-origin:top right}#tracker:before,#tracker:after{display:none}#trackerHeading{display:flex;align-items:center;height:26px;border-bottom:1px solid #77996b70;margin-bottom:8px}#trackerHeading img{width:21px;height:21px;margin-right:5px}#trackerHeading button{background:none;border:0;box-shadow:none;padding:0;color:#b9d39b;font:12px var(--serif)}#trackerFold{margin-left:auto;width:23px;color:#d0d9aa!important}#questTitle{font:14px var(--serif);color:#e3d691;margin:6px 0 7px;letter-spacing:1px}#questDesc{font:11px/1.8 var(--sans);color:#d2dbbc;margin:0}#questDistance{font:10px var(--sans);color:#a1c6a0;margin:7px 0}#sideObjectives{font:10px/1.7 var(--sans);border:0;padding:4px 0;color:#b8cab0}#questLocate{font:10px var(--serif);background:#264a3666;border-color:#688b675c;box-shadow:none;padding:3px 8px;color:#c5d2ac}#tracker.folded>*:not(#trackerHeading){display:none}#tracker.folded{padding-bottom:0}#questOverhead{position:absolute;transform:translate(-50%,-100%);width:28px;height:32px;filter:drop-shadow(0 0 5px #f6c663)}#questOverhead img{width:28px;height:28px}.nametag{font:12px var(--serif);text-shadow:0 1px 2px #02281a,0 0 4px #051d1e}.nametag .bar{height:5px;width:65px;border-color:#bfdaaa70;box-shadow:0 0 3px #001e19}.nametag .bar i{box-shadow:inset 0 1px #ffffdf44}.legacy-feed{display:none!important}
#chatWindow{position:absolute;left:13px;bottom:37px;width:333px;height:174px;color:#dbdec5;background:linear-gradient(90deg,#092c2799,#092c271f);font:11px var(--sans);pointer-events:auto;transform:scale(var(--ui-scale));transform-origin:bottom left;display:flex;flex-direction:column;border-left:1px solid #7d9b7c55}#chatTabs{display:flex;align-items:center;height:25px;flex-shrink:0;padding-left:2px;border-top:1px solid #92b18780;border-bottom:1px solid #8fa77622;background:linear-gradient(90deg,#244c3aad,#163c3030)}#chatTabs button{font:11px var(--serif);border:0;background:none;box-shadow:none;color:#9fba94;padding:4px 9px;border-right:1px solid #adc7a42b;border-radius:0}#chatTabs button.active{color:#f0dfac;background:#6c8b4f40;border-bottom:1px solid #b0c888}#chatCollapse{margin-left:auto;font-size:14px!important}#chatMessages{flex:1;overflow:auto;min-height:0;padding:5px 5px 2px;line-height:1.65;scrollbar-width:thin;text-shadow:0 1px 2px #09251f}.chatLine{overflow-wrap:anywhere;margin:0 0 3px}.chatLine time{color:#739981;font-size:9px;margin-right:4px}.chatLine.system{color:#d8d49b}.chatLine.battle{color:#d5b990}.chatLine.local{color:#e2e7dc}.chatLine b{font-weight:normal;color:#a8cdb3}#chatForm{display:flex;align-items:center;gap:4px;flex-shrink:0;height:26px;padding:1px 2px;background:#0e312997;border-top:1px solid #7f9c7466}#chatForm label{color:#bed1a6;font:11px var(--serif);width:25px;margin-left:3px}#chatForm input{padding:2px 1px;border:0;background:transparent;box-shadow:none;min-width:0;flex:1;font:10px var(--sans);height:22px}#chatForm input::placeholder{color:#91b1989c;font-size:9px}#chatForm button{width:23px;height:22px;padding:0;border:0;background:transparent;box-shadow:none}#chatWindow.collapsed{height:52px}#chatWindow.collapsed #chatMessages{display:none}
#actionBar{position:absolute;left:50%;bottom:29px;top:auto;display:flex;align-items:center;gap:3px;padding:6px 8px;width:auto;height:52px;border:1px solid #97b691aa;background-image:var(--client-cloud),linear-gradient(#335f4beb,#214237ef);background-size:140px 42px,100% 100%;box-shadow:inset 0 0 0 2px #112e27,inset 0 3px #bad5a539,0 2px 7px #041d18;transform:translateX(-50%) scale(var(--ui-scale));transform-origin:bottom center;border-radius:2px}#actionBar:before{content:'';position:absolute;left:-10px;right:-10px;top:7px;bottom:7px;border:1px solid #a0bb907d;border-radius:10px;pointer-events:none}#actionBar:after{display:none}#skillSlots{gap:3px!important;height:38px}#actionBar .skill{width:38px;height:38px;padding:0;border:1px solid #bbc196;background:#142f28;border-radius:1px;box-shadow:0 0 0 1px #11251f,inset 0 0 0 1px #aacba347;overflow:visible}#actionBar .skill>img{width:100%;height:100%;border-radius:0;object-fit:cover}#actionBar .skill .key{position:absolute;left:3px;top:0;right:auto;background:none;box-shadow:none;font:bold 11px var(--sans);color:#fff6c6;text-shadow:0 1px 2px #000,0 0 3px #000;padding:0}#actionBar .skill .skillName{display:none;top:43px;bottom:auto;font:9px var(--serif);letter-spacing:0;color:#e3ddb0;white-space:nowrap}.show-skill-names #actionBar .skill .skillName{display:block}#actionBar .skill .cd{font:18px var(--sans);color:#fbf4d4;text-shadow:0 1px 4px #03190e}#actionBar .cooldownSweep{inset:0;pointer-events:none;border-radius:0}#actionBar .skill.outOfRange .key{color:#ff7770}#actionBar .skill.noResource img{filter:grayscale(.6) brightness(.55)}#hotbarLabel{position:absolute;left:5px;top:-64px;font:10px var(--serif);letter-spacing:2px;color:#d2dab9;text-shadow:0 1px 2px #183120;white-space:nowrap}#lightBar{position:static;display:flex;gap:3px;border:0;margin:0;padding:0;height:38px}#actionBar .utilitySlot,#lightBar button{position:relative;width:38px;height:38px;padding:0;flex:none;border:1px solid #adbb8a;background:#16352a;border-radius:1px;box-shadow:0 0 0 1px #102c22;overflow:visible}#actionBar .utilitySlot img{width:100%;height:100%;display:block;border:0;opacity:.92}#actionBar .utilitySlot>b{position:absolute;left:2px;top:0;right:auto;bottom:auto;font:bold 9px var(--sans);color:#f4e9bc;text-shadow:0 1px 2px #000}#actionBar .utilityCount{position:absolute;bottom:1px;right:2px;font:10px var(--sans);color:#ececcc;text-shadow:0 1px 3px #09251c}#actionBar .utilityCooldown{position:absolute;inset:0;text-align:center;padding-top:8px;font:17px var(--sans);color:#fff0c9;text-shadow:0 1px 5px #041208}#actionBar .utilityCooldown:not(:empty){background:#10291aa3}#actionBar .utilitySlot.engaged{outline:1px solid #efe097;box-shadow:0 0 8px #c3d476}#secondaryBar{position:absolute;left:7px;bottom:55px;display:flex;gap:3px;padding:2px 1px;background:#193a29a8;border:1px solid #90af7a55;height:44px}#secondaryBar .utilitySlot{opacity:.86}#secondaryBar .utilitySlot:hover{opacity:1}#toggleSecond{position:absolute;right:-19px;top:2px;width:15px;height:18px;font-size:10px;line-height:12px;padding:0;border-color:#90a779;background:#284d39}#bottomMenu{position:absolute;right:18px;bottom:29px;display:flex;flex-direction:row;gap:3px;transform:scale(var(--ui-scale));transform-origin:bottom right;pointer-events:auto}#bottomMenu button{width:32px;height:40px;background:transparent;border:0;box-shadow:none;padding:0;position:relative}#bottomMenu img{width:29px;height:29px;border:1px solid #87a67e99;border-radius:50%}#bottomMenu span{display:block;font:9px var(--serif);letter-spacing:1px;line-height:12px;color:#cbd8b1;text-shadow:0 1px 3px #041e18}#experienceBar{position:absolute;bottom:0;left:0;width:100%;height:12px;border-top:1px solid #acc39266;background:#0d3029d9;box-shadow:inset 0 1px #031c16;pointer-events:auto}#experienceBar>i{position:absolute;left:0;top:1px;bottom:1px;background:linear-gradient(#abcb92,#648854);box-shadow:0 0 4px #92af6380}#experienceBar span{position:relative;display:block;text-align:center;font:9px/10px var(--sans);letter-spacing:1px;color:#d9e2c1;text-shadow:0 1px 2px #0b321e}#controlHint{left:17px;bottom:17px;width:auto;font:9px var(--sans);letter-spacing:0;color:#adc9a6b3;line-height:12px;transform:scale(var(--ui-scale));transform-origin:bottom left}#movementState{bottom:159px;font:11px var(--serif);color:#d5ddbc;text-shadow:0 1px 2px #06281a}#skillQueue{bottom:142px;font:10px var(--serif);color:#d2dabb}#castBar{left:50%;bottom:189px;top:auto;width:274px;transform:translateX(-50%) scale(var(--ui-scale));transform-origin:bottom center;padding:4px 8px;background:#15392f8f;border:1px solid #9cba83a3;border-radius:2px}#castName{font:12px var(--serif);letter-spacing:1px;margin:0 0 3px;color:#f0e5b6}#castBar .meter{height:11px;margin:0}#castBar .fill{background:linear-gradient(#cad58b,#8faa5f,#516938)}#interactPrompt{left:50%;bottom:246px;transform:translateX(-50%) scale(var(--ui-scale));transform-origin:bottom center;padding:8px 17px;border:1px solid #bbc48b6b;background:linear-gradient(90deg,transparent,#103b31db 14%,#153e30db 85%,transparent);color:#e3e6bf;font:13px var(--serif);letter-spacing:1px;box-shadow:none}#interactPrompt kbd{border-color:#aabc8d;background:#315544;color:#e3e8bc;border-radius:2px}#toasts{top:24%;width:440px;max-width:82vw}#toasts>div{font:14px var(--serif);padding:8px 14px;background:linear-gradient(90deg,transparent,#16382ce8,transparent);border:0;color:#ebe2b6;box-shadow:none;text-align:center}.floattext{font-size:20px;font-weight:bold;color:#f0ddb0}#debugLine{top:152px;left:20px}.vignette{box-shadow:inset 0 0 120px #09262126}
body[data-layout=combat] #playerFrame{top:auto;bottom:236px;transform-origin:bottom left}body[data-layout=combat] #qiOrb{top:auto;bottom:254px;transform-origin:bottom left}body[data-layout=combat] #statusStrip{top:auto;bottom:214px;transform-origin:bottom left}
/* Shared windows — all visible elements below have live handlers. */
.overlay{background:#071f252b;backdrop-filter:none;z-index:50}.window.clientWindow{width:760px;max-width:95vw;max-height:92vh;padding:0;overflow:hidden;display:flex;flex-direction:column;border:2px solid #8eb5a2!important;border-radius:3px;background:#224a42!important;box-shadow:0 0 0 1px #173930,0 8px 30px #00181bae,inset 0 0 0 2px #204637}.clientWindow:before,.clientWindow:after{display:none}#panelTitlebar{margin:1px;flex-shrink:0}#panelContent{padding:14px 17px;overflow:auto;min-height:0;color:#d9dfc5;font:12px/1.65 var(--sans);background:linear-gradient(115deg,#335b482b,#1a3b34b8)}#panelContent>h2:first-child{font:24px var(--serif);color:#e9ddb3;margin:3px 0 15px}#panelContent h3{font:15px var(--serif);color:#cfce9c;margin:13px 0 9px}#panelContent .section{border-color:#9eb58c44;padding:13px 0}.panelNote{font:10px/1.8 var(--sans);color:#a3bca9;margin:13px 0 4px}.panelFoot{min-height:38px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #90ac8355;padding:8px 0 0;font:11px/1.6 var(--sans);color:#b7c9a8;gap:8px}.panelFoot button{padding:5px 13px;white-space:nowrap;font-size:11px}.clientTabs{display:flex;gap:4px;border-bottom:1px solid #9bb99188;padding:0 0 1px;margin-bottom:12px;align-items:flex-end}.clientTabs button{min-width:55px;padding:5px 15px;font:12px var(--serif);border-radius:4px 4px 0 0;border-bottom:0;background:linear-gradient(#3d6c58,#274b3e);color:#b6c9a2;box-shadow:inset 0 1px #b6c99b55}.clientTabs button.active{color:#f2e9c8;border-color:#cfce9f;background:linear-gradient(#7e9470,#415b3b)}.parchment{background:radial-gradient(ellipse at top,#f2ebd9,#dfd6b9 90%);color:#354b3c;box-shadow:inset 0 0 35px #a0854920;border:1px solid #c5c39a}.parchment h2,.parchment h3{color:#345545!important}.parchment p{color:#465545}.window[data-kind=character]{width:695px}.window[data-kind=inventory]{width:740px}.window[data-kind=journal]{width:870px}.window[data-kind=school]{width:790px}.window[data-kind=settings],.window[data-kind=interface],.window[data-kind=keybindings]{width:752px}.window[data-kind=help],.window[data-kind=sources]{width:770px}
#characterBody{display:flex;gap:15px;min-height:346px}.paperdoll{position:relative;flex:1;min-width:0;display:flex;justify-content:space-between;gap:6px;padding:6px 3px 40px;background:radial-gradient(ellipse at 50% 85%,#6b926526,transparent 65%);border:1px solid #92ad7544}#equipmentLeft,#equipmentRight{display:flex;flex-direction:column;gap:21px;padding-top:28px;position:relative;z-index:2}.equipSlot{width:55px;height:55px;position:relative;padding:2px;background:radial-gradient(#416643,#133e34);border:2px ridge #92b289;flex-shrink:0}.equipSlot img{width:100%;height:100%}.equipSlot>b{position:absolute;right:4px;bottom:1px;font:12px var(--serif);color:#f1deb0;text-shadow:0 1px 3px #092b25}.equipSlot>span{display:block;position:absolute;bottom:-18px;left:-5px;width:60px;text-align:center;font:10px var(--serif);letter-spacing:2px;color:#bdd1aa}.rarity-3{border-color:#85b0cb}.rarity-4,.rarity-5{border-color:#c89bd4}#characterPreview{position:relative;flex:1;min-width:100px;display:flex;flex-direction:column;align-items:center}#characterPreview>span{position:absolute;top:6px;color:#e9e4b9;font:16px var(--serif);letter-spacing:3px;z-index:2;text-shadow:0 1px 4px #142f24}#portraitCanvasHost{height:301px;width:100%;background:radial-gradient(#83a37b38,#173e3455);overflow:hidden;border-radius:45% 45% 10% 10%;mask-image:linear-gradient(0deg,#000 89%,transparent);position:relative}#characterCanvas{width:100%;height:100%;display:block;cursor:ew-resize}#characterPreview>small{position:absolute;bottom:6px;font-size:9px;color:#b3cba9;text-shadow:0 1px 2px #113221}.characterDurability{position:absolute;bottom:8px;left:12px;right:12px;display:flex;align-items:center;gap:9px;font-size:10px;color:#b5cba1}.characterDurability>div{height:7px;flex:1;background:#102f28;border:1px solid #92ae7b66}.characterDurability i{display:block;height:100%;background:linear-gradient(#bdd094,#5d905e)}.characterStats{width:215px;flex-shrink:0;border-left:1px solid #91b19055;padding:0 0 0 13px}.characterStats h3{text-align:center;background:linear-gradient(90deg,transparent,#63815544,transparent);letter-spacing:5px;padding:5px;margin:0 0 6px!important}.statIdentity{position:relative;padding:3px 0 12px 39px;min-height:48px;margin-bottom:7px;border-bottom:1px solid #9baf8360;display:flex;flex-direction:column}.statIdentity img{width:32px;height:32px;position:absolute;left:0;top:5px;object-fit:contain;filter:brightness(1.4)}.statIdentity strong{font:16px var(--serif);color:#e2dfb2;letter-spacing:4px}.statIdentity span{font:9px var(--sans);color:#a8bca2;line-height:1.8}.statRow{display:flex;justify-content:space-between;padding:4px 5px;font:11px var(--sans);border-bottom:1px solid #7e9b7514}.statRow:nth-child(even){background:#6c8b6130}.statRow span{color:#bacfae}.statRow b{font-weight:normal;color:#e1dfad}.affiliationPage{padding:30px 20px;width:100%;text-align:center;font-size:13px;line-height:2;color:#bfcdaa}.affiliationPage>img{width:76px;height:76px;border:2px ridge #b7be94;border-radius:50%}.affiliationPage>h2{font:25px var(--serif);color:#e7dba9;letter-spacing:4px}.affiliationPage button{padding:7px 25px}
.bagToolbar{display:flex;align-items:center;gap:9px;margin-bottom:12px}.bagToolbar .clientTabs{flex:1;margin:0}.bagToolbar button{font-size:11px}.bagLayout{display:grid;grid-template-columns:352px 1fr;gap:15px}#bagGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;align-content:start;padding:9px;background:#102f28;border:1px solid #719a734d;min-height:294px} .bagItem{position:relative;width:48px;height:48px;padding:2px;border:1px solid #83a47a;background:radial-gradient(#416949,#143428);border-radius:1px;box-shadow:inset 0 0 0 1px #102b24;overflow:visible} .bagItem img{width:100%;height:100%;object-fit:contain}.bagEmpty{border-color:#59785266;background:#163329;box-shadow:inset 0 0 7px #062119} .bagItem b{position:absolute;right:3px;bottom:1px;font:11px var(--sans);color:#f3e9b4;text-shadow:0 1px 3px #00180d} .bagItem small{position:absolute;left:2px;top:0;font:9px var(--sans);color:#e1d2a0} .bagItem.active{outline:2px solid #e3dba0;border-color:#daddad}#bagDescription{padding:16px;border:1px solid #94b1814f;background:#204137e0;font:12px/1.8 var(--sans);min-width:0;min-height:290px}#bagDescription>img{width:53px;height:53px;float:left;margin-right:12px;margin-bottom:10px;border:1px solid #a6b989}#bagDescription h3{font:19px var(--serif)!important;color:#e4ddb1!important;margin:3px 0 5px!important}#bagDescription>p{clear:both;color:#b9cba9;padding-top:8px;font-size:11px}#bagDescription button{padding:5px 17px;margin-top:14px}.bagMoney{display:flex;gap:14px;border-top:1px solid #8da77e55;margin-top:13px;padding-top:10px;font:11px var(--sans);align-items:center}.bagMoney b{color:#e5d6a1;font-weight:normal}.bagMoney button{margin-left:auto;padding:5px 12px;font-size:11px}.bagFooter{display:flex;justify-content:space-between;padding:9px 3px;color:#c0cba7}
.journalTop{display:flex;justify-content:space-between;align-items:center;font:11px var(--sans);color:#b7caa7;padding:0 0 10px}.journalTop input{vertical-align:middle}.journalColumns{display:flex;gap:12px;min-height:408px}.journalList{width:222px;flex-shrink:0;border:1px solid #849f7777;background:#173b32;padding:9px 5px;overflow:auto;max-height:480px}.journalGroup{font:13px var(--serif);color:#d7d399;padding:8px 7px;margin:0;border-bottom:1px solid #859e7655}.journalList button{display:flex;align-items:center;gap:7px;text-align:left;width:100%;border:0;border-radius:0;box-shadow:none;font:12px var(--serif);padding:9px 7px;background:none;color:#bdcfa6}.journalList button.selected{background:linear-gradient(90deg,#78936387,#4b6d4440);color:#f5e4b1;border-left:2px solid #e0d29b;padding-left:5px}.journalList button small{font:9px var(--sans);color:#9baf8b;margin-left:auto;white-space:nowrap}.journalList button.done{color:#839d83}.journalList button img{width:18px;height:18px;flex-shrink:0}#journalDetail{flex:1;padding:22px 26px;min-width:0;display:flex;flex-direction:column}#journalDetail>h2{font:24px var(--serif);letter-spacing:3px;margin:0 0 10px;padding-bottom:13px;border-bottom:1px solid #66765455}.questState{font:11px var(--sans);color:#65795a;margin-bottom:13px}#journalDetail>p{font:13px/2 var(--serif);margin:5px 0 15px}.objective{background:#97a57720;border:1px solid #8ba0755c;padding:10px 13px;margin-bottom:14px}.objective h3{font-size:14px!important;margin:2px 0 6px!important}.objective p{font:12px/1.85 var(--sans);margin:0}.questReward{border-top:1px solid #8ca17255;padding-top:9px;margin-top:auto}.questReward h3{font-size:14px!important}.questReward p{font-size:11px}.journalActions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.journalActions button{font-size:11px;padding:5px 12px}
.schoolPanelTop{display:flex;gap:14px;align-items:center;border-bottom:1px solid #89a9776b;padding:0 2px 13px;margin-bottom:12px}.schoolPanelTop>img{width:45px;height:45px;object-fit:contain;filter:brightness(1.4)}.schoolPanelTop h2{font:24px var(--serif);letter-spacing:7px;margin:0;color:#ebdfb5}.schoolPanelTop span{font:11px var(--serif);color:#b5ca9e;letter-spacing:2px}.schoolPanelTop>button,.heartMode{margin-left:auto}.schoolPanelTop>button{padding:6px 15px;font-size:11px}.martialColumns{display:flex;gap:12px}.martialList{width:215px;flex-shrink:0;background:#14372d;padding:7px;border:1px solid #739566}.martialList button{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #76926940;box-shadow:none;border-radius:0;background:transparent;padding:8px 5px;text-align:left;min-height:55px}.martialList button.active{background:linear-gradient(90deg,#6d915460,#375b3860);outline:1px solid #a8b9856b}.martialList img{width:38px;height:38px;border:1px solid #98ac7e}.martialList span{font:14px var(--serif);color:#e0d6a5}.martialList small{display:block;font:9px var(--sans);margin-top:4px;color:#9eb897}.martialList b{font:11px var(--sans);margin-left:auto;color:#b7c999}.martialDetail{flex:1;min-width:0;padding:18px 23px}.martialHero{min-height:58px}.martialHero img{float:left;width:52px;height:52px;border:2px ridge #779475;margin-right:14px}.martialHero h2{font:23px var(--serif);letter-spacing:3px;margin:1px 0 5px}.martialHero small{font:11px var(--sans);color:#657d53}.martialNumbers{display:flex;gap:9px;justify-content:space-between;border-top:1px solid #78956466;border-bottom:1px solid #78956466;padding:9px 0;margin:12px 0;font:11px var(--sans);color:#456541}.martialDetail>p{font:12px/1.9 var(--serif);margin:11px 0}.martialDetail>h3{margin:14px 0 7px!important}.martialPractice{border-top:1px solid #93a57566;padding:10px 0 0;color:#517344;font:12px/1.9 var(--sans)}.martialPractice small{font-size:10px;color:#647b53}.martialFoot{font:11px/1.85 var(--sans);color:#aeca9c;border-top:1px solid #8caa7555;padding:9px 3px 0;margin-top:12px}.martialFoot p{margin:4px 0}.martialFoot b{color:#d6d49b;font:12px var(--serif);margin-right:8px}
.settingsColumns{display:flex;gap:15px;min-height:412px}.settingsNav{width:154px;flex-shrink:0;background:#183b33;border-right:1px solid #93ac7e55;padding:8px 10px 8px 0}.settingsNav button{width:100%;text-align:left;padding:9px 8px;border:0;border-bottom:1px solid #91aa7133;background:none;box-shadow:none;font:12px var(--serif);color:#b4c99e;border-radius:0;margin-bottom:4px}.settingsNav button.active{background:linear-gradient(90deg,#6a8a5480,#32513b70);color:#f1e4b8;border-left:2px solid #dbce96;padding-left:6px}.settingsMain{flex:1;min-width:0;padding:0 3px 0 0;max-height:65vh;overflow:auto}.settingsMain h3{padding:3px 8px 6px;margin:7px 0 9px!important;border-bottom:1px solid #869f6977;letter-spacing:2px}.settingRow{display:flex;align-items:center;gap:8px;justify-content:space-between;font:12px var(--sans);color:#c9d9b0;min-height:32px;padding:3px 10px;border-bottom:1px solid #74956620}.settingRow select{font-size:11px;max-width:245px;padding:4px 7px}.settingRow input[type=range]{width:195px}.settingRow input[type=checkbox]{margin-right:9px}.settingRow output{font-size:11px;color:#e1d398;margin-left:auto}.settingsMain>.panelNote{padding:4px 9px}.settingsFooter{display:flex;align-items:center;gap:10px;border-top:1px solid #90a4756b;padding-top:11px;margin-top:12px}.settingsFooter button{font-size:12px;padding:5px 16px}.settingsFooter span{font-size:10px;color:#9dbb94;margin-left:auto}#settingsLayout{margin:10px;font-size:11px;padding:6px 14px}.bindingRows{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.bindingRows>div{display:flex;align-items:center;justify-content:space-between;padding:7px;border-bottom:1px solid #7495663b;font-size:11px}.bindingRows button{width:76px;padding:5px;font:12px var(--sans);background:#163b31}.bindingRows button.capturing{color:#f0e1aa;outline:1px solid #d4d3a3}
#pauseOverlay{background:#0d231d44}.window.systemList{width:257px!important;padding:0 24px 14px;max-height:94vh;overflow:auto;border:2px ridge #97bfa5!important;background:linear-gradient(#355d4ae6,#204739f5)!important;box-shadow:inset 0 0 0 4px #173c30,0 8px 24px #0e282799}#pauseName{height:45px;display:flex;align-items:center;justify-content:center;margin:0 -21px 15px;background-image:var(--client-cloud),linear-gradient(#5c8f7b,#2b5647);background-size:140px 42px;font:22px var(--serif);letter-spacing:5px;border-bottom:1px solid #abbd90;color:#eadfb0}.pauseButtons{display:flex;flex-direction:column;gap:7px}.pauseButtons>button,.pauseButtons .fileButton button,.systemExtra>button{width:100%;padding:6px 8px;font:13px var(--serif);letter-spacing:2px;height:31px;background:linear-gradient(#4e7257,#2b4c39 50%,#254231 53%,#37533a);border-color:#819d72;box-shadow:inset 0 0 0 1px #173a26,inset 0 1px #bdc79542}.pauseButtons>#resumeGame{background:linear-gradient(#809b65,#415f36 50%,#39532e 53%,#627549);border-color:#c2ca96}.systemExtra{display:flex;flex-direction:column;gap:7px}#saveNote{font:9px/1.7 var(--sans);color:#a5b794;margin:11px 0 0}.fileButton{min-height:31px;display:block}.window.systemList:before,.window.systemList:after{display:none}
#dialogue{background:#10281d14;align-items:flex-end;padding-bottom:150px}#dialogue .dialogueWindow{position:relative;width:640px;max-width:86vw;padding:20px 25px 16px 83px;background:linear-gradient(135deg,#ebe4ca,#dbd9b9);border:5px ridge #90b39b;box-shadow:0 5px 25px #001d1a88;color:#36513e}#dialogSpeaker{font:21px var(--serif);color:#375642;margin:0 0 12px;letter-spacing:4px;border-bottom:1px solid #6a896666;padding-bottom:8px}#dialogText{font:15px/1.95 var(--serif);color:#3e503d;letter-spacing:1px;margin-bottom:14px;white-space:pre-line}.dialogueSeal{position:absolute;left:17px;top:20px;border:2px ridge #90a984;width:47px;height:48px;border-radius:4px;background:#345b44}.dialogueSeal img{width:100%;height:100%}#dialogChoices{gap:6px;justify-content:flex-start}#dialogChoices button{font:12px var(--serif);padding:5px 11px;color:#f0e7c6}#dialogFootnote{font:9px var(--sans);color:#738b66;margin-top:13px}#tooltip{width:285px;padding:14px 16px;background:#102f28f8;border:1px solid #b1c293;box-shadow:inset 0 0 0 2px #183e2e,0 3px 16px #001d1eb0;border-radius:1px;font-size:11px}#tooltip h3{color:#e1db9c;font-size:20px}#tooltip p{font-size:11px;color:#c2d3ac}#tooltip .meta{color:#adc58e}#tooltip .tooltipFoot{color:#9ab88e;font-size:10px;border-top:1px solid #75926766;margin-top:9px;padding-top:7px}
/* Region map: inset parchment, live filters/search, named destinations. */
#mapOverlay{background:#0d2b274a}#mapWindow{width:min(1160px,96vw);height:min(805px,94vh);padding:0;overflow:hidden;border:3px ridge #8bb19e;border-radius:3px;background:#30533f;color:#d9ddbb;box-shadow:0 8px 30px #082723a6;display:flex;flex-direction:column}#mapWindow .client-title{margin:0;height:34px;cursor:default}#mapWindow .close{top:3px;color:#e4dcad}#mapToolbar{display:flex;align-items:center;gap:11px;min-height:34px;font:11px var(--sans);padding:5px 12px;background:linear-gradient(#355e46,#294d3d);border-bottom:1px solid #8bab7e88;flex-shrink:0}#mapToolbar>label{display:flex;align-items:center;gap:2px;white-space:nowrap;color:#d6dcac}#mapToolbar input{margin:0 1px 0 0}.mapBreadcrumb{margin-left:auto;font:12px var(--serif);color:#ced5ac;letter-spacing:1px}#mapToolbar button{font:11px var(--sans);padding:3px 10px;height:24px;white-space:nowrap}#mapZoomIn,#mapZoomOut{width:24px;padding:0!important;font-size:15px!important}#mapZoomText{font-size:10px;min-width:32px;text-align:center;color:#c7d6ae}#mapPoem{font:17px/1.8 var(--serif);letter-spacing:2px;text-align:center;margin:0;padding:9px 12px 8px;background:linear-gradient(90deg,#d7d2b3,#e8dfc2,#d7d2b3);color:#456345;border-bottom:1px solid #7f987480;flex-shrink:0}#mapBody{display:flex;flex:1;min-height:0;gap:0;padding:6px;background:linear-gradient(#406349,#305940)}#mapCanvasWrap{position:relative;flex:1;min-width:0;border:2px ridge #aeb593;background:#ded8b9;overflow:hidden;box-shadow:inset 0 0 15px #3a573c33}#fullMap{display:block;width:100%;height:100%;cursor:grab;touch-action:none}#fullMap:active{cursor:grabbing}.mapDirection{position:absolute;z-index:2;font:13px var(--serif);color:#586d499f;pointer-events:none;text-shadow:0 0 3px #e8e0bb}.mapDirection.n{top:9px;left:50%}.mapDirection.s{bottom:8px;left:50%}.mapDirection.w{left:9px;top:50%}.mapDirection.e{right:9px;top:50%}#mapLegend{width:224px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;padding:0 0 0 6px;background:#274c3e;color:#cbd8b2;font:11px/1.7 var(--sans)}#mapLegend .clientTabs{margin:0;gap:3px;padding:0;border-bottom:1px solid #8ea77590}#mapLegend .clientTabs button{min-width:0;width:auto;flex:1;text-align:center;border:1px solid #81a073;border-bottom:0;padding:6px 4px;font:12px var(--serif);background:linear-gradient(#4a6d4b,#2b4d38);color:#d8ddbc}#mapLegend .clientTabs button.active{background:linear-gradient(#9aab79,#6c8153);color:#f3eed0}.mapSearch{display:flex;gap:7px;align-items:center;padding:8px 4px;border-bottom:1px solid #75906877;flex-shrink:0}#mapSearch{min-width:0;width:100%;height:26px;font:11px var(--sans);background:#173c30;color:#dce3ba;border-color:#749565}#mapResults{flex:1;min-height:0;overflow:auto;padding:4px 2px;scrollbar-width:thin}#mapLegend #mapResults button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #728e6533;background:transparent;box-shadow:none;padding:6px 7px;border-radius:0;text-align:left;font:12px var(--serif);color:#d6debc;line-height:1.5}#mapLegend #mapResults button small{font:9px var(--sans);color:#9fbc91;margin-left:5px;white-space:nowrap}#mapLegend #mapResults button.active{background:linear-gradient(90deg,#78945699,#425e3b66);color:#f6eac1;border-left:2px solid #d4d6a3}#mapLegend #mapResults button:hover{background:#71885455}#mapSelection{background:#153a2e;min-height:52px;flex-shrink:0;font:11px/1.8 var(--sans);color:#c4d3a9;padding:8px;margin:5px 3px;border:1px solid #75916755}#mapLegend #clearWaypoint{font:11px var(--serif);text-align:center;width:auto;margin:0 3px 5px;padding:4px;color:#d0d7b2;background:linear-gradient(#436845,#2b4b35);border:1px solid #7a9a6c}#mapLegend .mapCaution{border:0;border-top:1px solid #839b6c55;padding:6px 5px;margin:0;color:#a2b58a;font:9px/1.8 var(--sans);flex-shrink:0}#mapFooter{font:10px var(--sans);height:28px;align-items:center;padding:0 12px;display:flex;justify-content:space-between;color:#bacaab;background-image:var(--client-cloud),linear-gradient(#37634e,#254c3b);background-size:140px 42px;flex-shrink:0;border-top:1px solid #789e76}
/* Independent save selection and editable HUD. */
#rosterOverlay{position:absolute;inset:0;z-index:49;pointer-events:auto;background:linear-gradient(90deg,#102e36b3,transparent 50%,#14372cee)}.rosterBrand{position:absolute;left:7%;top:12%;color:#e5dfbe;text-shadow:0 2px 6px #163e36}.rosterBrand>span{font:18px var(--serif);letter-spacing:9px;color:#bdcdb0}.rosterBrand h1{font:47px var(--serif);letter-spacing:12px;margin:16px 0 22px}.rosterBrand p{font:15px var(--serif);letter-spacing:4px;color:#bfccad}#rosterPanel{position:absolute;right:5%;top:13%;width:395px;max-width:86vw;padding:0 15px 15px}#rosterPanel>.client-cap{margin:0 -15px 15px}.rosterSlot{position:relative;min-height:110px;margin:10px 0;padding:13px 12px 13px 61px;background:linear-gradient(#42654455,#1d453799);border:1px solid #879d705c;display:flex;flex-direction:column;align-items:flex-start}.rosterSlot.active{border-color:#d4c697;background:linear-gradient(#8390694f,#41604055);box-shadow:inset 0 0 15px #9daf6022}.rosterSlot>img{width:41px;height:41px;object-fit:contain;position:absolute;left:9px;top:18px;filter:brightness(1.4)}.rosterSlot strong{font:20px var(--serif);letter-spacing:3px;color:#e6dbae;display:block;margin-bottom:5px}.rosterSlot span{font:11px var(--sans);color:#b0c59e;display:block}.rosterSlot small{display:block;font:10px var(--sans);color:#9cb390;margin-top:6px}.rosterSlot>button:not(.deleteSlot){font-size:11px;align-self:flex-end;padding:4px 13px;margin-top:9px}.rosterSlot .deleteSlot{position:absolute;top:3px;right:4px;width:22px;height:22px;padding:0;line-height:18px;font:19px var(--serif);border:0;background:transparent;box-shadow:none;color:#a0b48e}.rosterSlot.empty{padding:22px 16px;min-height:88px}.rosterSlot.empty>span{font:14px var(--serif);letter-spacing:2px}#rosterPanel>p{font:10px/1.8 var(--sans);margin:12px 1px;color:#9eb591}#rosterBack{width:100%;padding:5px}
#layoutEditor{position:absolute;inset:0;z-index:77;pointer-events:auto;background:#103b2f13}#layoutGuides{position:absolute;inset:0}.layoutBox{position:absolute;border:2px solid #86e687;background:#4a8f543b;color:#d0fbc8;font:12px var(--serif);padding:4px;cursor:move;user-select:none;box-shadow:inset 0 0 0 1px #154021,0 0 7px #b8dca033;touch-action:none}.layoutBox:before{content:'✥';margin-right:8px}.hidden.layout-demo{display:block!important;min-height:32px}#layoutControls{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);width:305px;padding:16px;text-align:center;box-shadow:0 4px 25px #072b22aa}#layoutControls>strong{font:23px var(--serif);letter-spacing:3px;color:#ede0ae}#layoutControls p{font:11px var(--sans);color:#bbd3a7;margin:10px 0 15px}#layoutControls>div{display:flex;justify-content:center;gap:9px}#layoutControls button{font:12px var(--serif);padding:5px 12px}
@media(max-width:1250px){#creationBrand{top:30px;left:3%}#creationBrand h1{font-size:29px;letter-spacing:6px}#creationBrand span{font-size:10px;letter-spacing:3px}#createLeft.schoolInfo{width:231px;left:3%;top:145px;bottom:171px}#schoolTitle h2{font-size:36px}#schoolMotto{font-size:12px;margin:14px 0}#creationSkills img{width:31px;height:31px}#createForm{right:3%;width:217px;top:145px}#createFormFields{padding:12px 12px 0}.formrow{margin-bottom:15px}.creation-caution{margin-left:12px;font-size:9px}#createActions{width:217px;right:3%;bottom:168px}#createActions button{font-size:13px;letter-spacing:1px}#localRealm{right:3%;width:205px}#createSteps{font-size:10px;gap:10px;top:21px}#schoolGrid{bottom:42px;gap:5px;width:89vw}#schoolGrid button img{width:34px;height:34px}#schoolGrid button span{font-size:12px}#createCalligraphy{font-size:42px;right:25%}#previewHint{bottom:178px}#toggleArt{bottom:147px}#creation .versionTag{font-size:8px}.creation-source{max-width:57%;font-size:9px}#mapPoem{font-size:15px;letter-spacing:1px}#mapLegend{width:202px}#mapToolbar{gap:7px}.mapBreadcrumb{font-size:11px}#worldMood{right:15px;top:196px}}
@media(max-width:1050px){#createLeft.schoolInfo{width:218px;top:126px}#createForm{width:202px;top:132px}#createFormFields{padding:11px 10px 0}#dyeSwatches{gap:3px}#dyeSwatches button{width:16px;height:17px}.creation-caution{font-size:9px}#createActions{width:202px}#schoolMotto{letter-spacing:1px}#schoolText .schoolSection p{font-size:10px}.mapBreadcrumb{display:none}#mapLegend{width:185px}#mapPoem{font-size:14px;letter-spacing:.5px}#mapFooter{font-size:9px}#createSteps{left:53%}#bottomMenu{gap:2px;right:9px}#worldMood{top:173px}#dialogue{padding-bottom:130px}}
@media(max-height:760px){#creationBrand{top:24px}#createLeft.schoolInfo{top:122px;bottom:160px}#createForm{top:125px}.formrow{margin-bottom:11px}#schoolMotto{margin:10px 0;padding:8px 0}#schoolText .schoolSection{margin:8px 0}#schoolText .schoolSection p{line-height:1.65}.schoolWeapon{margin-bottom:8px}#creationSkills{margin:8px 0}#createActions{bottom:144px}#schoolGrid{bottom:35px;padding-top:8px}#schoolGrid button{padding-top:4px;padding-bottom:4px}#schoolGrid button img{width:30px;height:30px}#previewHint{bottom:151px}#toggleArt{bottom:123px}#schoolTitle h2{font-size:31px}#createForm .client-cap{height:32px;padding-top:5px;font-size:15px}#createForm .creation-caution{margin-bottom:9px}#creation .versionTag,.creation-source{bottom:12px}.window.systemList{padding:0 19px 9px;width:240px!important}#pauseName{height:37px;margin:0 -16px 10px}.pauseButtons,.systemExtra{gap:5px}.pauseButtons>button,.pauseButtons .fileButton button,.systemExtra>button{height:27px;padding:4px;font-size:12px}.fileButton{min-height:27px}#saveNote{margin-top:8px}.journalColumns{min-height:340px}#journalDetail{padding:15px 20px}.settingsColumns{min-height:380px}.settingsMain{max-height:62vh}.martialList button{min-height:50px;padding:6px 5px}.martialDetail{padding:14px 20px}.martialFoot{font-size:10px}.martialDetail>p{margin:7px 0}.window.clientWindow{max-height:95vh}.rosterBrand h1{font-size:38px}#rosterPanel{top:9%}.rosterSlot{min-height:95px;margin:8px 0}#mapPoem{padding:5px 10px}#mapFooter{height:25px}#mapToolbar{min-height:31px}}
@media(max-width:800px){#loading:after{content:'建议使用宽度至少 1024 像素的桌面浏览器';display:block;font:12px var(--sans);margin-top:20px;color:#c5d3ab}.creation-source{max-width:51%;font-size:8px}#createSteps{display:none}#createLeft.schoolInfo{width:180px}#createForm{width:185px}#schoolText .schoolSection p{font-size:9px}#creationSkills{gap:3px}#creationSkills img{width:27px;height:27px}#createActions{width:185px}#mapLegend{width:158px}#mapPoem{font-size:12px}#mapToolbar{font-size:10px;gap:4px}#mapToolbar button{font-size:10px;padding:3px 5px}.bagLayout{grid-template-columns:310px 1fr}#bagGrid{gap:5px;padding:6px} .bagItem{width:44px;height:44px}.journalList{width:177px}.characterStats{width:187px}.settingsNav{width:136px}.settingRow input[type=range]{width:145px}#worldMood{display:none}}

#mapResults img{width:18px;height:18px;flex-shrink:0;margin-right:6px}#mapResults button span{flex:1}#mapSelection{white-space:pre-line}#mapLegend .noResults{padding:9px;color:#b8cb9e}#journalDetail .questScroll{float:right;align-self:flex-end;width:35px;height:35px;margin-bottom:-25px}#journalDetail .questScroll img{width:100%;height:100%}.bagMoney img{width:19px;height:19px}.bagMoney span{margin-left:auto}.bagMoney button{margin-left:0}#bagDescription .itemLarge{width:53px;height:53px}#bagDescription>small{display:block;font-size:10px;color:#a9c89c}#bagDescription>button{display:block}.bagEmpty{height:48px}.areaFaded{opacity:0!important}#areaHeader{transition:opacity .6s}#areaHeader h1{font-size:34px;letter-spacing:10px}#areaHeader{top:14%;}

/* Integration selectors matching the original gameplay DOM. */
#areaHeader{left:50%;top:15%;bottom:auto;transform:translateX(-50%);border:0;background:none;padding:0;text-align:center;pointer-events:none}#areaName{font:35px var(--serif)!important;letter-spacing:10px;color:#f1e5c2;text-shadow:0 2px 7px #193a32}#areaDetail{font:11px var(--serif)!important;letter-spacing:4px;color:#d1dbb8;margin-top:7px}#worldMood{left:auto;right:18px;top:235px}#miniTitle{transform:none;bottom:auto}#miniCoords{transform:none;margin:0}#miniNorth{font:10px var(--serif);top:3px;left:50%;color:#dce8be}#miniMap{margin:0}#hpFill{background:linear-gradient(#bb6255,#922932 52%,#6e252c)}#mpFill{background:linear-gradient(#83a9d5,#466ca6 50%,#30517c)}#resFill{background:linear-gradient(#d8cd91,#a39450 50%,#85783d)}#questText{font:11px/1.85 var(--sans);color:#d4dfbf;margin:0}#sideQuest{font:10px/1.7 var(--sans);color:#b8cfa4;margin:6px 0;line-height:1.8}#factionScore{top:28px;font:11px var(--serif);letter-spacing:1px;gap:11px;padding:0 10px;background:linear-gradient(90deg,transparent,#183c3244,transparent);border:0}#creationVerse{left:29%;top:17%;font:13px/2.2 var(--serif);letter-spacing:4px;color:#d5dbbb;opacity:.6}#heroName{width:100%!important;height:32px}#dye{width:34px!important;height:26px!important;padding:2px;display:inline-block;vertical-align:middle}#createForm .formrow>span{font:12px var(--serif);color:#d5d6b7;letter-spacing:3px;display:block;margin-bottom:8px}#createForm .options{gap:5px;display:flex}#artCaption{display:none}#createForm #dyeSwatches{display:inline-flex}#chatMessages p{margin:0 0 4px;font:11px/1.65 var(--sans);overflow-wrap:anywhere}#chatMessages time{font-size:9px;color:#85a58c;margin-right:4px}#chatMessages b{font-weight:normal;color:#b4cca7;margin-right:3px}#chatMessages .chat-system{color:#d4d29d}#chatMessages .chat-battle{color:#d6b992}#chatMessages .chat-local{color:#dce8d5}#chatMessages .chat-empty{color:#90ad92}.mapSearch>span{white-space:nowrap;flex-shrink:0}#tooltip header{display:flex;align-items:center;gap:9px;margin-bottom:10px}#tooltip header img{width:41px;height:41px;border:1px solid #abbf8d}#tooltip header h3{font:19px var(--serif);margin:0;flex:1}#tooltip header>span{font:12px var(--sans);color:#d7d9a3}.tooltipRow{display:flex;justify-content:space-between;border-bottom:1px solid #8b9f7255;font:11px var(--sans);color:#acc99c;padding-bottom:7px}.tooltipStats{font:10px/1.8 var(--sans);color:#b8ce9b}#tooltip>small{display:block;font:9px/1.7 var(--sans);color:#7b9d80;border-top:1px solid #789f6355;padding-top:8px;margin-top:9px}#journalDetail{position:relative}#journalDetail .questScroll{position:absolute;right:21px;top:21px}#journalDetail>h2{padding-right:33px}#journalDetail .questState{font:11px var(--sans);color:#839265;line-height:1.8}#journalDetail .objective{font:12px/1.9 var(--sans);padding:9px 11px}.questReward h3{margin:0 0 6px!important}.journalTop{display:flex;justify-content:space-between;padding-bottom:10px}.journalList h3{font:13px var(--serif)!important;padding:7px 5px;margin:0 0 4px!important;border-bottom:1px solid #8a9c6b50}.bagMoney{padding-bottom:0}#bagDescription .itemLarge{float:left}#bagDescription>small{clear:both}.bagEmpty{border:1px solid #5a815e66;background:radial-gradient(#24452e,#123325);box-shadow:inset 0 0 6px #092819}.bagItem.equipped{border-color:#b0b791}.bagToolbar{justify-content:space-between}.bagToolbar>span{font:11px var(--sans);color:#b3cba2}#characterPreview>span{pointer-events:none}
@media(max-width:1250px){#worldMood{top:207px}#areaName{font-size:30px!important}}@media(max-width:1050px){#worldMood{top:184px}}@media(max-width:800px){#worldMood{display:none}}

#chatWindow{width:min(333px,calc((50vw - 30px) / var(--ui-scale) - 265px))}

/* Keep neighbouring HUD anchors apart as the interface is scaled. Custom dragged positions override these defaults. */
#qiOrb{left:calc(19px + 263px * var(--ui-scale))}#tracker{top:calc(34px + 225px * var(--ui-scale))}#statusStrip{top:calc(24px + 95px * var(--ui-scale))}
body[data-layout=combat] #statusStrip{top:auto}
