:root{color-scheme:dark;--bg:#111915;--panel:#19211d;--panel2:#202a23;--ink:#f0e8d8;--muted:#a9b1a2;--line:#465040;--gold:#d4ae6c;--red:#a04434;--green:#7c9b69;--font:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif}button,input,select{font:inherit}button{background:#2b342b;border:1px solid #62644c;border-radius:3px;padding:9px 12px;color:var(--ink);cursor:pointer;transition:background .18s,transform .18s,border-color .18s}button:hover:not(:disabled){background:#424632;border-color:var(--gold)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button.primary{background:#a44432;border-color:#c06449;font-weight:650;box-shadow:inset 0 1px #de90634d}button.primary:hover{background:#bf553b}button.outline{background:transparent;border-color:#737452}button.full{width:100%;margin-top:10px}input,select{background:#121914;color:var(--ink);padding:11px;border:1px solid #70765d;border-radius:3px;width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font);font-weight:500;line-height:1.18}h2{font-size:30px;margin-bottom:14px}h3{font-size:21px;margin-bottom:12px}p{color:#bbc0b0;line-height:1.6}small,.hint,.mini,.muted{font-size:14px;color:var(--muted)}.hint{margin:8px 0;line-height:1.5}.eyebrow{display:block;font-size:12px;letter-spacing:2px;color:var(--gold);font-weight:650;margin-bottom:9px}.gold{color:var(--gold)}em{font-style:normal;color:var(--muted);font-weight:400}#top{height:80px;display:flex;align-items:center;gap:36px;padding:0 26px;background:#111814;border-bottom:1px solid #55543b}a.brand{text-decoration:none;color:var(--ink);font:20px var(--font);display:flex;align-items:center;gap:15px;letter-spacing:1px}.brandMark{font-size:32px;color:var(--gold);border-right:1px solid #5a5a3c;padding-right:14px}.brand small{display:block;font:12px system-ui;margin-top:4px;color:var(--gold);text-align:center}.edition{font-size:12px;letter-spacing:2px;color:var(--muted)}.edition i{font-style:normal;margin:0 12px;color:var(--gold)}nav{margin-left:auto;display:flex;gap:8px}nav button{font-size:14px;border-color:transparent;background:transparent}.chronicleBar{height:80px;padding:10px 26px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #414737;background:#1c241d}.dayBlock{display:flex;align-items:center;gap:16px;font-size:20px;min-width:250px}.dayBlock small{display:block;letter-spacing:1.5px;font-size:11px}.dayBlock #phase{font:22px var(--font);color:var(--gold)}.sunIcon{color:var(--gold);font-size:30px}.phaseTrack{display:flex;gap:6px;flex:1}.phaseTrack span{height:4px;width:24%;max-width:60px;background:#3c4638}.phaseTrack span.past{background:#a49365}.phaseTrack span.current{background:var(--gold);box-shadow:0 0 12px #cfab6566}.headerResource{padding-left:24px;border-left:1px solid #46503e;min-width:110px}.headerResource small{display:block;font-size:11px;letter-spacing:1px}.headerResource b{font:24px var(--font)}.headerResource em{font-size:16px}.gameLayout{display:grid;grid-template-columns:230px minmax(320px,1fr) 345px;height:calc(100dvh - 204px);min-height:660px}.panel{overflow:auto;scrollbar-width:thin;scrollbar-color:#667052 #19211d;background:var(--panel)}#left{border-right:1px solid #444c39;padding:18px 15px}#right{border-left:1px solid #444c39}.heroCard{position:relative}.portrait{background-image:url('assets/portraits.webp');background-size:200% 200%;background-repeat:no-repeat;background-color:#3c4231}.heroPortrait{height:166px;background-position:0 0;border:1px solid #8f7b52;position:relative;margin-bottom:14px;box-shadow:0 5px 16px #0005}.portraitLabel{position:absolute;bottom:0;left:0;right:0;padding:18px 10px 7px;background:linear-gradient(transparent,#111b15ee);letter-spacing:2px;font-size:10px;color:#ddc493}.heroNameRow{display:flex;align-items:center;justify-content:space-between;gap:5px}.heroNameRow h1{font-size:30px;overflow-wrap:anywhere;margin-bottom:0}.heroNameRow button{padding:3px 8px;font-size:19px;background:none;border:0;color:var(--gold)}#originLabel{margin:3px 0 19px;font-size:13px}.vital{display:flex;justify-content:space-between;font-size:14px;margin-bottom:5px}.vital b{font-size:13px;font-weight:500}.meter{height:7px;background:#0f1511;margin-bottom:13px;border-radius:1px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#722f29,#c2785d);transition:width .4s}.meter.green i{background:linear-gradient(90deg,#476752,#a1b778)}.heroStats{display:grid;grid-template-columns:1fr 1fr;gap:14px 8px;border-top:1px solid var(--line);padding-top:14px}.heroStats small{display:block;font-size:12px}.heroStats b{font:21px var(--font)}.personalGoal{padding:17px 0;margin-top:20px;border-top:1px solid #756343;border-bottom:1px solid #756343}.personalGoal small{font-size:10px;letter-spacing:1.3px;color:var(--gold)}.personalGoal h3{margin:9px 0}.personalGoal p{font-size:13px;margin:0}details.card{border-bottom:1px solid #49523d;padding:15px 0}summary{cursor:pointer;font-size:14px;color:var(--gold)}summary span{float:right;font-size:12px}.skillList{margin-top:12px}.skillRow{font-size:13px;padding:8px 0;border-bottom:1px solid #344032}.skillRow b{color:#e9dbc4}.skillRow span{float:right;color:var(--gold)}.reputationStrip{font-size:12px;margin-top:16px;color:var(--muted)}.reputationStrip b{float:right;color:var(--gold)}.tag{display:inline-block;font-size:12px;padding:4px 7px;margin:4px 4px 0 0;border:1px solid #657153;border-radius:2px;background:#2c372b}.badTag{border-color:#9c5949;background:#512d26}.goodTag{border-color:#6e8a5b}.drawCard{background:#d7c7a0;color:#292b20;border:2px solid #a89870;padding:14px 8px;font:14px var(--font);border-radius:4px;margin:5px 0;min-height:70px}.drawCard b{display:block;font-size:17px;margin-bottom:8px}.drawCard .mini{color:#57553d}#boardWrap{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#414d38,#172019 80%)}#game3d,#fallbackBoard{position:absolute;inset:0}#game3d canvas{display:block;touch-action:none}#mapLabels{position:absolute;inset:0;pointer-events:none}.mapLabel{position:absolute;transform:translate(-50%,-50%);background:#182118e8;border:1px solid #7a8058;padding:5px 8px;white-space:nowrap;font:14px var(--font);text-shadow:0 1px #000;pointer-events:auto;box-shadow:0 3px 9px #0006}.mapLabel.current{color:#f9d89d;border-color:#f1c06a;background:#3e3925}.mapLabel.adjacent{border-color:#a29a5c}.mapLabel.locked{opacity:.55}.mapTitle{position:absolute;top:25px;left:24px;z-index:3;pointer-events:none;text-shadow:0 2px 8px #061009}.mapTitle small{letter-spacing:2.5px;font-size:11px;color:#d7c794}.mapTitle h2{font-size:33px;margin:6px 0}.mapTitle p{font-size:12px;color:#c0cbb0;margin:0}.mapTools{position:absolute;right:18px;top:25px;z-index:4;display:flex;flex-direction:column;gap:5px}.mapTools button{background:#142017d9;width:38px;height:37px;padding:0;color:#d7c794;font-size:22px}.mapTools #motionBtn{font-size:10px;width:65px;margin-left:-27px}.compass{position:absolute;right:25px;bottom:170px;color:#d6be86;font:12px var(--font);text-align:center;pointer-events:none}.compass span{display:block;font-size:45px;line-height:1}.mapLegend{position:absolute;bottom:144px;left:25px;display:flex;gap:13px;flex-wrap:wrap;color:#d9dec7;text-shadow:0 1px #000;font-size:10px}.mapLegend span:before{content:'';display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#e2b76e}.mapLegend .legendRoute:before{background:#a4b577}.mapLegend .legendDanger:before{background:#ca7256}.objectiveBanner{position:absolute;bottom:42px;left:18px;right:18px;padding:15px 20px;border:1px solid #8d8853;background:#18231ce8;box-shadow:0 8px 30px #0005;backdrop-filter:blur(8px)}.objectiveBanner small{font-size:10px;letter-spacing:1.5px;color:var(--gold)}.objectiveBanner strong{display:block;font:21px var(--font);margin:3px 0 4px}.objectiveBanner p{font-size:12px;margin:0;color:#b8c3ac}.mapHint{position:absolute;bottom:14px;left:20px;font-size:10px;color:#9ead90}.tabs{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(5,1fr);background:#171f19;border-bottom:1px solid #4f553e}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:12px;padding:15px 2px}.tabs button.active{color:var(--gold);border-bottom-color:var(--gold);background:#273126}.tab{display:none}.tab.active{display:block}.tabInner{padding:22px 20px}.locationArt{height:146px;background:linear-gradient(0deg,#19211d00,#19211d22),url('assets/chronicle.webp') center 52% / cover;position:relative}.locationArt span{position:absolute;bottom:11px;left:18px;background:#17231fe6;border:1px solid #c4a76a;padding:4px 7px;font-size:10px;letter-spacing:1px;color:#e4c58d}.tabInner p{font-size:14px}.tabInner h2{font-size:30px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions button{font-size:14px;text-align:left;min-height:48px;line-height:1.3}.actions button small{font-size:11px;display:block;margin-top:5px}.actions button.travel{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;background:#263b2d;border-color:#657f55}.actions button.questAction{grid-column:1 / -1;background:#793b2f;border-color:#ab6850}.actionsHeading{grid-column:1 / -1;font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--gold);margin-top:10px}.previewCard{padding:14px;border:1px solid #7e8860;background:#293428;margin:0 0 14px}.previewCard p{margin:8px 0}.previewCard button{width:100%}.chronicleLog{padding:17px 20px;border-top:1px solid #47533f;background:#121b16}.logHeading{display:flex;justify-content:space-between;align-items:center}.logHeading h3{font-size:18px}.pulseDot{width:5px;height:5px;border-radius:50%;background:#98a77c;margin-bottom:12px}#log{font-size:12px;line-height:1.75;color:#a4b199;max-height:150px;overflow:auto}#log .logEntry{border-top:1px solid #2a372b;padding:7px 0}.marketRow{padding:12px 0;border-bottom:1px solid #45523b;display:grid;grid-template-columns:1fr 54px 54px;gap:7px;align-items:center;font-size:14px}.marketRow .itemInfo{display:flex;align-items:center;gap:9px}.itemIcon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #7f8058;background:#3c422e;font-size:21px;color:#d9bc78}.marketRow small{font-size:11px;display:block}.marketRow button{font-size:12px;padding:7px 1px}.marketRow .prices{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--gold);margin-top:2px}.tradeIntro{padding:12px;border:1px solid #66754e;background:#253523;font-size:13px}.tradeIntro p{margin:5px 0}.subhead{font:23px var(--font);color:var(--gold);margin:23px 0 5px}.crimeItem,.devItem{border:1px solid #5c6849;padding:15px;background:#242f24;margin:12px 0;font-size:14px}.crimeBtn,.devBtn{width:100%;margin-top:10px;font-size:13px}.questStep{padding:12px 0;border-bottom:1px solid #46513b;display:flex;gap:10px;font-size:14px}.questStep span{color:var(--gold)}.questStep.done{color:#9cad87}.clock{font-size:13px;margin:13px 0}.clock b{float:right;color:var(--gold)}.clockTrack{display:flex;gap:4px;margin-top:6px}.clockTrack i{height:5px;flex:1;background:#3b4835}.clockTrack i.filled{background:#b47949}footer{height:44px;display:flex;align-items:center;gap:20px;padding:0 24px;border-top:1px solid #48543c;background:#101913;color:#98a88c;font-size:11px}footer #saveState{margin-left:auto}footer button{background:none;border:0;font-size:11px;padding:4px;color:#acb49b}#toast{display:none;position:fixed;z-index:90;left:50%;bottom:60px;transform:translateX(-50%);max-width:min(600px,90vw);padding:15px 24px;border:1px solid var(--gold);background:#16211bf5;color:#f1ddb8;box-shadow:0 10px 40px #000a;text-align:center}#modal,.setupOverlay{position:fixed;inset:0;z-index:70;display:none;align-items:center;justify-content:center;background:#050a08d9;backdrop-filter:blur(7px);padding:20px}#modal{overflow:auto}.modalBox{position:relative;width:min(760px,100%);max-height:90dvh;overflow:auto;padding:36px;background:linear-gradient(145deg,#2b3529,#172019);border:1px solid #a29161;box-shadow:0 20px 80px #0009;border-radius:4px}#modalClose{position:absolute;right:12px;top:8px;font-size:28px;line-height:1;padding:4px;background:none;border:0;color:#c7b583}.combatGrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.fighter{display:flex;align-items:center;gap:13px;border:1px solid #827b52;background:#162019;padding:12px;font-size:14px}.fighter .portrait{width:76px;height:98px;flex-shrink:0}.fighter strong{display:block;font:21px var(--font);margin-bottom:8px;overflow-wrap:anywhere}.fighter.enemy{border-color:#a15d49}.fighter .mini{font-size:12px}.techniques{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.techniques button{background:linear-gradient(#403d2b,#263024);padding:18px 11px;min-height:110px;border-color:#89805c;text-align:left}.techniques button b{font:20px var(--font);display:block;margin-bottom:10px}.techniques button .mini{display:block;font-size:12px}.combatLog{font-size:13px;background:#121c16;padding:15px;max-height:155px;overflow:auto}.intent{padding:12px;background:#422b23;border-left:3px solid #c58a52;font-size:14px;margin:15px 0}.resultSeal{font:60px var(--font);text-align:center;color:var(--gold)}.scoreTotal{text-align:center;font:60px var(--font);color:var(--gold);margin:20px 0}.scoreRows{display:grid;gap:8px}.scoreRows div{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #4c5941}.setupOverlay:not([hidden]){display:flex;z-index:80}.setupBox{width:min(920px,100%);max-height:94dvh;overflow:auto;display:grid;grid-template-columns:.85fr 1fr;background:#1e291f;border:1px solid #a29468;box-shadow:0 20px 100px #000}.setupArt{background:linear-gradient(0deg,#111c15,#101c1433 85%),url('assets/chronicle.webp') 36% center / cover;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding:35px}.setupArt span{color:var(--gold);letter-spacing:3px;font-size:12px}.setupArt h2{font-size:42px;margin:17px 0}.setupArt p{font:18px var(--font);color:#c5c9b1}.setupBox form{padding:36px}.setupBox form h2{font-size:34px;margin:10px 0}.setupBox label{display:block;font-size:14px;color:var(--gold);margin:18px 0 6px}.setupBox p{font-size:14px}.setupBox #scenarioHint{min-height:60px}.setupBox #cancelSetup{font-size:13px}.node2d{position:absolute;transform:translate(-50%,-50%);z-index:2}.node2d button{background:#283624;border:1px solid #c4ac72;font:14px var(--font);padding:8px;max-width:130px}.node2d.active button{border-color:#e6b466;background:#4d4729}.route2d{position:absolute;transform-origin:left center;height:3px;background:#a99265}.hero2d{position:absolute;width:17px;height:17px;border-radius:50%;background:#e1b064;border:3px solid #fff1c5;transform:translate(-50%,-50%);z-index:3;box-shadow:0 0 15px #d9b460}#fallbackBoard{display:none;background:radial-gradient(ellipse,#47573b,#1d2b20)}#threeFallback{display:none;position:absolute;top:127px;left:24px;font-size:11px;color:var(--gold);z-index:5}#fatal{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#7c2f28;color:white;padding:15px;font-size:14px}body.no-motion *{animation:none!important;scroll-behavior:auto!important}@media(min-width:1650px){.gameLayout{grid-template-columns:260px minmax(400px,1fr) 375px}#left{padding:24px}.heroPortrait{height:200px}.actions button{padding:12px}.mapTitle h2{font-size:40px}}@media(max-width:1200px){.gameLayout{grid-template-columns:200px minmax(280px,1fr) 310px}#top{padding:0 15px;gap:16px}.edition{display:none}.chronicleBar{gap:15px;padding:10px 15px}.headerResource{padding-left:15px;min-width:95px}.dayBlock{min-width:210px}.phaseTrack{display:none}.chronicleBar #passBtn{margin-left:auto}.tabInner{padding:18px 14px}.mapTitle h2{font-size:28px}.mapLegend{gap:8px}.heroPortrait{height:145px}.mapLabel{font-size:12px}.mapTitle{top:24px;left:18px}}@media(max-width:950px){.gameLayout{height:auto;min-height:0;grid-template-columns:minmax(0,1fr) 325px}#boardWrap{min-height:660px;grid-column:1;grid-row:1}#left{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:230px 1fr 1fr;gap:20px;border-top:1px solid #556046;overflow:visible}.heroPortrait{height:170px}.personalGoal{margin-top:0;border-top:0;align-self:start}.reputationStrip{display:none}#right{grid-column:2;grid-row:1;max-height:760px}.gameLayout .heroCard{grid-row:span 3}#left details{align-self:start}footer{height:auto;min-height:50px;flex-wrap:wrap;gap:10px;font-size:11px;padding:12px 16px}.edition{display:none}.chronicleBar{gap:15px}.dayBlock{min-width:185px;font-size:17px}.dayBlock #phase{font-size:20px}.sunIcon{display:none}.mapLegend{bottom:160px}.objectiveBanner strong{font-size:18px}.mapTitle p{max-width:160px}.mapTools{right:10px}}@media(max-width:680px){#top{height:auto;min-height:100px;padding:13px 15px;flex-wrap:wrap;gap:10px}.brand{font-size:17px!important;flex:1}.brandMark{font-size:25px}.brand small{font-size:10px}nav{width:100%;justify-content:space-between;gap:4px}nav button{font-size:12px;padding:7px 8px}.chronicleBar{height:auto;min-height:100px;flex-wrap:wrap;padding:12px 15px;gap:12px}.dayBlock{min-width:0;gap:10px;flex:1}.headerResource{min-width:75px;padding-left:10px}.headerResource small{font-size:9px}.headerResource b{font-size:20px}.chronicleBar #passBtn{width:100%;font-size:14px;padding:8px}.gameLayout{display:flex;flex-direction:column}.gameLayout #boardWrap{min-height:540px;order:0}.gameLayout #right{order:1;max-height:none;overflow:visible;border-left:0}.gameLayout #left{order:2;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px;max-height:none}.heroPortrait{height:170px}.gameLayout .heroCard{grid-row:span 3}.gameLayout #left details{font-size:14px}.personalGoal{padding-top:0}.tabs{position:sticky;top:0}.tabs button{font-size:14px;padding:15px 4px}.tabInner{padding:22px}.actions button{min-height:58px}.locationArt{height:140px}.mapTitle h2{font-size:28px}.mapTitle small{font-size:10px}.objectiveBanner{padding:12px 15px}.objectiveBanner strong{font-size:19px}.mapLegend{bottom:137px;font-size:10px}.mapTitle p{max-width:none}.compass{bottom:170px}.mapLabel{font-size:12px;padding:4px 5px}.modalBox{padding:32px 20px}.combatGrid{gap:8px}.fighter{display:block;padding:9px}.fighter .portrait{width:100%;height:130px;margin-bottom:8px}.techniques{grid-template-columns:1fr 1fr}.techniques button{min-height:95px}.setupBox{display:block}.setupArt{display:none}.setupBox form{padding:25px}.setupBox form h2{font-size:30px}footer #saveState{margin-left:0}footer{justify-content:space-between}#modal,.setupOverlay{padding:10px}.portraitLabel{font-size:9px}.heroNameRow h1{font-size:25px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#cityView{position:absolute;inset:0;z-index:10;background:#202e22;display:flex;flex-direction:column}#cityView[hidden]{display:none}.cityHeading{padding:22px 22px 10px;position:relative;z-index:2;background:linear-gradient(#17271ddd,#17271d00)}.cityHeading small{font-size:11px;letter-spacing:2px;color:var(--gold)}.cityHeading h2{font-size:30px;margin:6px 0 10px}.cityHeading button{font-size:12px;position:absolute;right:18px;top:24px}#cityScene{flex:1;min-height:180px;overflow:hidden}#cityScene canvas{display:block}#cityDistricts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px 18px;background:#142319e8}#cityDistricts button{font-size:14px;text-align:left;padding:10px;min-height:65px}#cityDistricts button small{font-size:10px;display:block;color:#b9c4a7}#cityDistricts button.selected{border-color:#f0c571;background:#494530}.cityHint{font-size:11px;margin:0;padding:0 18px 13px;background:#142319e8}.districtCard{border:1px solid #829267;background:#273827;padding:14px;margin-bottom:15px}.districtCard h3{margin-bottom:8px}.districtCard p{font-size:13px;margin-bottom:10px}.districtCard button{width:100%;margin-top:6px;font-size:13px}.storyCard{border-left:2px solid #b29256;padding:13px 12px;margin:14px 0;background:#253324}.storyCard.done{border-color:#8eac77}.storyCard h3{font-size:19px}.storyCard p{font-size:13px;margin:8px 0}.npcHead{display:flex;gap:20px;align-items:center;margin:8px 0 22px}.npcHead .portrait{width:90px;height:112px;flex:none;border:1px solid #b29a66}.npcHead h2{font-size:28px;margin-bottom:7px}.dialogChoices{display:grid;gap:10px}.dialogChoices button{text-align:left;padding:15px}.dialogChoices small{display:block;font-size:12px;margin-top:5px}.districtBanner{grid-column:1/-1;background:#39472c!important;border-color:#a3a36c!important}@media(max-width:1200px){.cityHeading h2{font-size:25px}.cityHeading button{position:static;margin:5px 0 0}#cityDistricts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){#cityDistricts{padding:10px;gap:5px}#cityDistricts button{padding:8px;min-height:55px}.cityHeading{padding:16px}.cityHeading h2{font-size:25px;margin:5px 0}.cityHeading button{position:absolute;top:55px;right:12px;padding:5px;font-size:10px}.cityHint{font-size:10px;padding:0 10px 10px}.npcHead{gap:12px}.npcHead h2{font-size:24px}}
/* Expanded play surface: all secondary systems live in the existing right panel. */
.gameLayout{grid-template-columns:minmax(360px,1fr) 370px;min-height:650px}#right{grid-column:2;grid-row:1}#boardWrap{grid-column:1;grid-row:1;background:linear-gradient(#122016a0,#1a251ee0),url('assets/chronicle.webp') center/cover}.tabs{grid-template-columns:repeat(4,1fr);gap:0}.tabs button{font-size:12px;padding:11px 4px}.edition{display:none}#compactVitals{font-size:13px;color:#cecfb2;margin-left:auto}#top nav{margin-left:0}.characterPanel#left{display:block;border:0;padding:24px;overflow:visible}.characterPanel .heroPortrait{height:240px;background-size:200% 200%}.characterPanel .heroStats{grid-template-columns:repeat(4,1fr)}.characterPanel details{display:block}.characterPanel .personalGoal{margin-top:18px}#tab-character .heroCard{display:block}.itemGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.itemCard{padding:0 0 10px;overflow:hidden;background:#263326;border-color:#65724e;text-align:center}.itemCard.worn{border-color:#e1ba6d;box-shadow:inset 0 0 0 1px #b29659}.itemCard b{display:block;font:16px Georgia,serif;margin:6px 3px;overflow-wrap:anywhere}.itemCard small{font-size:11px}.itemArt{display:inline-block;background-image:url('assets/items.webp');background-size:600% 400%;width:42px;height:42px;flex:none;background-color:#30271b;border:1px solid #786448;border-radius:3px}.itemCard .itemArt{width:100%;height:auto;aspect-ratio:1;border:0;border-radius:0}.itemArt.large{width:140px;height:140px}.itemDetail{display:flex;gap:22px;align-items:flex-start;margin-bottom:22px}.itemDetail h2{margin:6px 0 14px}.equippedSlots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.equippedSlots div{padding:10px;border:1px solid #697850;background:#233222}.equippedSlots small,.equippedSlots b{display:block}.equippedSlots small{font-size:11px;color:#c9bb88}.equippedSlots b{font-size:14px}.equipmentMarket{grid-template-columns:40px 1fr 40px 50px!important}.developmentOverview{display:grid;gap:10px}.skillProgress{padding:13px;background:#283927;border:1px solid #657950}.skillProgress b{font:20px Georgia,serif}.skillProgress>span{font-size:11px;display:block;color:var(--gold)}.skillProgress small{font-size:11px}.xpTrack{height:5px;background:#101b12;margin:10px 0}.xpTrack i{display:block;height:100%;background:#c9af6e}.combatEquipment{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:12px 0 18px}.combatEquipment>span{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.combatEquipment b{font-size:14px}.combatEquipment small{font-size:12px;flex-basis:100%}.exchangeResult{display:flex;justify-content:space-between;gap:15px;background:#482b25;border:1px solid #9c6448;padding:15px;margin:15px 0;animation:damageFlash .5s ease-out}.exchangeResult b{color:#e7bd87;font-size:15px}@keyframes damageFlash{from{background:#9a5640;transform:translateY(-3px)}to{background:#482b25;transform:none}}.worldTicker{position:absolute;top:114px;left:24px;right:100px;z-index:4;font-size:12px;color:#e0d9b9;background:#1c2a1ed9;border-left:2px solid #b69b5b;padding:7px 10px;max-width:580px;pointer-events:none}.unitLabel{position:absolute;pointer-events:auto;font:11px system-ui;padding:3px 6px;background:#29382cec;border:1px solid #92a57d;border-radius:12px;transform:translate(-50%,-50%);white-space:nowrap;z-index:2}.unitLabel.hostile{background:#552e26e8;border-color:#c7845b}.cityFallback{padding:35px}.npcToken{position:absolute;z-index:4;font-size:13px;background:#3e4830;border:1px solid #c4a576;border-radius:50%;width:27px;height:27px;padding:0;transform:translate(-50%,-50%)}.cityHeading small{font-size:12px}#mapLabels{z-index:2}.mapTitle{z-index:3}.mapTitle h2{font-size:38px}.objectiveBanner{max-width:650px}.mapLegend{bottom:150px}.chronicleLog #log{max-height:none;font-size:14px}.gameLayout #left{grid-column:auto;grid-row:auto}#tab-character .reputationStrip{display:block}
@media(min-width:1650px){.gameLayout{grid-template-columns:minmax(450px,1fr) 400px}.mapTitle h2{font-size:44px}}@media(max-width:1200px){.gameLayout{grid-template-columns:minmax(350px,1fr) 340px}#compactVitals{font-size:11px}.mapTitle h2{font-size:33px}}@media(max-width:950px){.gameLayout{display:grid;grid-template-columns:minmax(300px,1fr) 330px;height:calc(100dvh - 204px)}#right{max-height:none}.gameLayout #boardWrap{min-height:650px}.characterPanel#left{display:block}.worldTicker{font-size:11px;right:15px;top:120px}.mapTitle h2{font-size:28px}}@media(max-width:680px){.gameLayout{display:flex;height:auto;min-height:0}.gameLayout #boardWrap{min-height:570px;width:100%}.gameLayout #right{width:100%;order:1}.gameLayout #left{display:block;order:initial}#compactVitals{font-size:11px;width:100%;order:3}#top nav{order:2}#top{padding-bottom:10px}.worldTicker{top:109px;font-size:11px;right:65px;max-height:62px;overflow:hidden}.tabs button{font-size:13px;padding:12px 4px}.itemGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.itemDetail{gap:15px}.itemArt.large{width:100px;height:100px}.itemDetail h2{font-size:24px}.combatEquipment{gap:12px}.unitLabel{font-size:10px;padding:3px 4px}.characterPanel .heroPortrait{height:260px}.cityHeading button{position:static}.cityHeading{padding-bottom:6px}.mapTitle h2{font-size:29px}.objectiveBanner{left:12px;right:12px}}
