:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14110d;--panel:#1f1a13;--panel-2:#2a2319;--line:#41372a;--ink:#efe6d2;--ink-2:#b5a88f;--gold:#d6ab4f;--ours:#5ca2e6;--theirs:#e0574a;--warrior:#e0a264;--archer:#93c96c;--mage:#b892ff;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--sans);overflow-x:hidden}h1,h2{font-family:var(--serif);margin:0;font-weight:600;line-height:1.15}h1{font-size:30px}h2{font-size:22px}p{margin:0}.eyebrow{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px;font-size:12px;font-weight:600}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px}.type-warrior{color:var(--warrior)}.type-archer{color:var(--archer)}.type-mage{color:var(--mage)}.btn{appearance:none;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:600 15px var(--sans);border-radius:7px;min-height:42px;padding:9px 16px;transition:background-color .12s,border-color .12s,opacity .12s}.btn:hover:not(:disabled){background:#372d20;border-color:#65553f}.btn:focus-visible,input[type=range]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--gold);border-color:var(--gold);color:#1c150a}.btn-primary:hover:not(:disabled){background:#e7c06a;border-color:#e7c06a}.btn-quiet{background:0 0}.btn-small{min-height:36px;padding:6px 11px;font-size:13px}.btn.on,.btn.on:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:#1c150a}.deploy{grid-template-columns:minmax(290px,340px) minmax(0,1fr);gap:16px;max-width:1200px;min-height:100%;margin:0 auto;padding:16px;display:grid}.plan-panel{flex-direction:column;align-self:start;gap:14px;padding:18px;display:flex}.sliders{flex-direction:column;gap:12px;display:flex}.troop{display:block}.slider-row{justify-content:space-between;align-items:baseline;display:flex}.slider-row strong{font-variant-numeric:tabular-nums}.troop-name{font-weight:600}.troop-blurb{color:var(--ink-2);font-size:13px;display:block}input[type=range]{accent-color:var(--gold);width:100%;height:26px;margin:2px 0;display:block}.troop-warrior input{accent-color:var(--warrior)}.troop-archer input{accent-color:var(--archer)}.troop-mage input{accent-color:var(--mage)}.cap{border-top:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums;padding-top:10px}.cap strong{color:var(--ink)}.cap-full strong{color:var(--gold)}.hint{color:var(--ink-2);text-align:center;font-size:13px}.supplies:empty{display:none}.supply-line{border-left:3px solid var(--line);margin:6px 0;padding:2px 0 2px 8px;font-size:13px}.supply-good{color:var(--ink-2);border-color:#6fae5a}.supply-warn{border-color:var(--gold);color:var(--ink)}.supply-bad{border-color:var(--theirs);color:#f2b3a8}.field-panel{flex-direction:column;gap:12px;min-width:0;display:flex}.intel{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.intel-desc{color:var(--ink-2);margin-top:2px}.intel .btn{flex:none}.map{border:1px solid var(--line);background:#27301d;border-radius:10px;flex-direction:column;gap:4px;padding:8px;display:flex}.map-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(68px,auto);gap:4px;display:grid}.enemy-grid{grid-auto-rows:minmax(52px,auto)}.no-mans-land{color:#93a07e;font-family:var(--serif);text-align:center;padding:10px 0;font-style:italic}.zone{background:#5ca2e61a;border:1px dashed #5ca2e68c;border-radius:6px;flex-direction:column;gap:5px;padding:6px;transition:background-color .1s;display:flex}.zone-enemy{background:#e0574a14;border-color:#e0574a59}.zone-hover{background:#5ca2e652;border-style:solid}.zone-label{color:#a9bccb;font-size:12px}.zone-chips{flex-wrap:wrap;gap:5px;display:flex}.chip{background:var(--panel);cursor:grab;font-variant-numeric:tabular-nums;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:3px 11px;font-size:13px;font-weight:600;display:inline-flex}.chip-warrior{border-color:var(--warrior)}.chip-archer{border-color:var(--archer)}.chip-mage{border-color:var(--mage)}.chip-warrior .chip-icon{color:var(--warrior)}.chip-archer .chip-icon{color:var(--archer)}.chip-mage .chip-icon{color:var(--mage)}.zone-enemy .chip{cursor:default;opacity:.9}.chip-ghost{pointer-events:none;z-index:50;position:fixed;top:0;left:0;box-shadow:0 6px 18px #00000080}.palette{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.palette-title{font-weight:600}.palette-chips{flex-wrap:wrap;gap:8px;display:flex}.palette-note{color:var(--ink-2);flex-basis:100%;font-size:13px}.battle{position:fixed;inset:0;overflow:hidden}.battle canvas{touch-action:none;width:100%;height:100%;display:block}.hud{pointer-events:none;flex-direction:column;justify-content:space-between;padding:12px;display:flex;position:absolute;inset:0}.hud button{pointer-events:auto}.hud-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:flex-start;gap:12px;display:grid}.army{background:#14110dcc;border-radius:8px;max-width:420px;padding:7px 10px}.army-1{justify-self:end;width:100%}.army-0{width:100%}.army-head{justify-content:space-between;gap:10px;display:flex}.army-head strong{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.army-count{font-variant-numeric:tabular-nums;flex:none}.bar{background:#000;border-radius:3px;height:10px;margin:4px 0;display:block;position:relative;overflow:hidden}.bar-fill,.bar-rout{transition:width .2s linear;position:absolute;top:0;bottom:0;left:0}.army-0 .bar-fill{background:var(--ours)}.army-1 .bar-fill{background:var(--theirs)}.bar-rout{opacity:.6;background:#d9d3c2}.army-types{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:pre-wrap;font-size:12px}.hud-clock{font-variant-numeric:tabular-nums;background:#14110dcc;border-radius:8px;flex-direction:column;align-items:center;padding:5px 12px;display:flex}.clock{font-family:var(--serif);font-size:22px}.replay-tag{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.hud-feed{flex-direction:column;align-self:flex-start;gap:3px;max-width:420px;margin-top:auto;margin-bottom:10px;display:flex}.feed-line{border-left:3px solid var(--ours);background:#14110dbf;border-radius:0 5px 5px 0;padding:3px 9px}.feed-1{border-left-color:var(--theirs)}.feed-line time{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-right:4px}.hud-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.calls{flex-wrap:wrap;gap:8px;display:flex}.call{border-color:var(--gold);text-align:left;background:#1f1a13eb;max-width:210px;padding:7px 12px}.call-name{font-family:var(--serif);font-size:17px;display:block}.call small{color:var(--ink-2);font:400 12px/1.3 var(--sans);margin-top:2px;display:block}.call-retreat{border-color:#9a6a5a}.btn.call-retreat.confirm,.btn.call-retreat.confirm:hover:not(:disabled){background:#781e16f2;border-color:#ff8a70;animation:.9s ease-in-out infinite alternate pulse-warn}.call-retreat.confirm small{color:#ffe3d8}@keyframes pulse-warn{0%{box-shadow:0 0 #ff785a80}to{box-shadow:0 0 0 6px #ff785a00}}kbd{border:1px solid var(--line);color:var(--ink-2);font:600 11px var(--sans);vertical-align:2px;border-radius:3px;padding:0 4px}.speed{background:#14110dcc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:5px;padding:6px;display:flex}.fps{color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:48px;padding:0 4px;font-size:12px}.report-wrap{z-index:10;background:#0a080699;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.report{flex-direction:column;gap:14px;width:100%;max-width:660px;margin:auto;padding:22px;display:flex}.outcome{font-size:42px}.outcome-win{color:var(--gold)}.outcome-lose{color:var(--theirs)}.outcome-draw{color:var(--ink-2)}.report-sub{color:var(--ink-2);margin-top:4px;font-size:16px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:6px 8px}thead th{color:var(--ink-2);font-size:12px;font-weight:600}th:first-child{text-align:left}tbody th{font-weight:600}td.dead{color:var(--theirs);font-weight:600}.timeline{max-height:210px;margin:0;padding:0;list-style:none;overflow-y:auto}.timeline li{padding:2px 0}.timeline time{color:var(--ink-2);font-variant-numeric:tabular-nums;width:40px;display:inline-block}.verified{color:var(--archer);font-size:13px}.verified-bad{color:var(--theirs)}.report-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=820px){.deploy{grid-template-columns:minmax(0,1fr)}.field-panel{order:-1}.intel{flex-direction:column;gap:6px}}@media (width<=720px){.hud{padding:8px}.hud-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.hud-clock{grid-area:1/1/auto/-1;justify-self:center;padding:1px 10px}.clock{font-size:16px}.army{padding:5px 7px}.army-head strong{font-size:13px}.army-types{font-size:11px}.call small,kbd{display:none}.call-retreat.confirm small{display:block}.call{min-height:44px}.call-name{font-size:15px}.hud-feed{font-size:13px}.hud-bottom{flex-direction:column;align-items:stretch}}[hidden]{display:none!important}.muted{color:var(--ink-2)}.small{font-size:13px}.good{color:#8fd17a}.bad{color:#f08a7e}.warn{color:#e8c170}h3{font-family:var(--serif);margin:0 0 4px;font-size:18px;font-weight:600}.game{grid-template:"top top top""nav main side"1fr/190px minmax(0,1fr) 330px;min-height:100%;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#191510;flex-wrap:wrap;grid-area:top;align-items:center;gap:6px 18px;padding:8px 16px;display:flex;position:sticky;top:0}.topbar .who{font-family:var(--serif);font-size:17px}.topbar .stat{font-variant-numeric:tabular-nums;white-space:nowrap}.alert-pill{color:var(--ink);cursor:pointer;font:inherit;background:#5a2119;border:1px solid #a33b2c;border-radius:99px;padding:3px 10px}.doing{background:var(--panel-2);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:10px;min-width:0;max-width:100%;margin-left:auto;padding:5px 10px;display:flex}.doing-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.doing .meter{flex:none;width:90px}.tabs{border-right:1px solid var(--line);flex-direction:column;grid-area:nav;gap:2px;padding:12px 8px;display:flex}.tab{color:var(--ink-2);cursor:pointer;font:600 15px var(--sans);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;display:flex;position:relative}.tab:hover{background:var(--panel);color:var(--ink)}.tab.on{background:var(--panel-2);color:var(--ink);box-shadow:inset 3px 0 0 var(--gold)}.tab.dim{opacity:.55}.tab-icon{text-align:center;width:22px}.dot{background:var(--gold);border-radius:50%;width:9px;height:9px;margin-left:auto;box-shadow:0 0 0 3px #d6ab4f40}.dot-bad{background:var(--theirs);box-shadow:0 0 0 3px #e0574a40}.content{outline:none;flex-direction:column;grid-area:main;gap:14px;min-width:0;padding:16px 20px 40px;display:flex}.tab-head h1{font-size:28px}.side{border-left:1px solid var(--line);flex-direction:column;grid-area:side;gap:12px;padding:12px;display:flex}.camp{border:1px solid var(--line);background:#1d1a14;border-radius:10px;position:sticky;top:62px;overflow:hidden}.camp-canvas{aspect-ratio:4/3;cursor:grab;touch-action:pan-y;width:100%;display:block}.camp-off .camp-canvas{display:none}.camp-caption{color:var(--ink-2);letter-spacing:.06em;pointer-events:none;text-transform:uppercase;font-size:12px;position:absolute;top:8px;left:10px}.log-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.log{flex-direction:column;gap:5px;margin:4px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.log-good{color:#a9dc95}.log-bad{color:#f2a196}.log-level{color:var(--gold)}.log-story{color:#d9c9a3;font-style:italic}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row.spread{justify-content:space-between}.meter{border:1px solid var(--line);background:#120f0b;border-radius:99px;height:8px;display:block;overflow:hidden}.meter>span{background:linear-gradient(90deg, #b88a35, var(--gold));height:100%;transition:width .4s linear;display:block}.meter-big{height:12px}.meter-good>span{background:linear-gradient(90deg,#4f9a3e,#8fd17a)}.tag{background:var(--panel-2);border:1px solid var(--line);vertical-align:1px;white-space:nowrap;border-radius:5px;margin-right:5px;padding:1px 6px;font-size:12px;font-weight:600;display:inline-block}.tag-members{color:#e3d4ff;background:#3b2a57;border-color:#6b4fa0}.tag-good{color:#c8f0b8;background:#24401d;border-color:#4f8a3c}.tag-bad{color:#ffc9c0;background:#4a1f19;border-color:#8f3a2e}.tag-battle{color:#ffe2a8;background:#4a3315;border-color:#8f6a2e}.btn-danger{color:#ffb3a8;border-color:#8f3a2e}.text{border:1px solid var(--line);color:var(--ink);font:15px var(--sans);background:#120f0b;border-radius:7px;width:100%;min-height:40px;padding:8px 10px}.row .text{flex:1;width:auto;min-width:160px}.list-title{color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;margin:8px 0 4px;font-size:12px;font-weight:700}ul,ol{margin:0;padding-left:18px}.alerts{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.alert{background:#3a1a14;border:1px solid #8f3a2e;border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 14px;display:flex}.goal-card{background:linear-gradient(180deg, #2a2216, var(--panel));border-color:#6b5a33}.goal-done{border-color:#4f8a3c}.goal-card .btn,.card>.btn{align-self:flex-start}.records{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.records li{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.outcome-dot{background:var(--theirs);border-radius:50%;width:10px;height:10px}.outcome-dot.win{background:#8fd17a}.skills-layout{grid-template-columns:220px minmax(0,1fr);gap:14px;display:grid}.skill-list{flex-direction:column;gap:4px;display:flex}.skill-row{background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:8px;grid-template-columns:24px 1fr auto;align-items:center;gap:2px 8px;padding:7px 10px;display:grid}.skill-row .meter{grid-column:1/-1;height:5px}.skill-row.on{border-color:var(--gold);background:var(--panel-2)}.skill-level,.level-big{color:var(--gold);font-family:var(--serif);font-weight:700}.level-big{float:right;font-size:24px}.actions,.queue,.trades{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.action{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-top:8px;display:flex}.action.locked{opacity:.55}.action-main{flex-direction:column;flex:1;gap:1px;min-width:200px;display:flex}.action-buttons{flex-wrap:wrap;gap:6px;display:flex}.queue-item{grid-template-columns:1fr 120px auto;align-items:center;gap:4px 10px;display:grid}.queue-item.active strong{color:var(--gold)}.bank-layout{grid-template-columns:minmax(260px,390px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.slots{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px;display:grid}.slot{aspect-ratio:1;border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:#17130e;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:4px;display:flex;position:relative;overflow:hidden}.slot.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.slot-empty{cursor:default;opacity:.5}.slot-icon{filter:drop-shadow(0 2px 1px #0000008c);font-size:26px;line-height:1}.slot-name{color:var(--ink-2);text-align:center;margin-top:3px;font-size:10px;line-height:1.1}.slot-count{color:#ffe36b;text-shadow:1px 1px #000,-1px 0 #000;font-variant-numeric:tabular-nums;font-size:12px;font-weight:800;position:absolute;top:2px;left:5px}.pack-grid{background:radial-gradient(120% 90% at 50% 0,#ffdca00f,#0000 60%),linear-gradient(#3a2b1c,#2a1f15);border:2px solid #4f3b26;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;max-width:360px;margin:4px 0 8px;padding:10px;display:grid;box-shadow:inset 0 2px 10px #0009}.pack-grid .slot{background:#140e098c;border-color:#785a3773}.pack-grid .slot:hover:not(.slot-empty){background:#281c10bf;border-color:#a07d4a}.slot-tool .slot-tier{color:#d9c8a5;font:700 9px var(--serif);letter-spacing:.5px;position:absolute;top:3px;right:5px}.slot-tool.tier-2{box-shadow:inset 0 0 0 1px #aab4be40}.slot-tool.tier-3{box-shadow:inset 0 0 0 1px #c8d2e666}.slot-tool.tier-4{box-shadow:inset 0 0 12px #96dcff59}.slot-blunt .slot-icon{filter:grayscale(.8)brightness(.7)}.slot-blunt:after{color:#ff9a80;content:"!";font:800 13px var(--sans);position:absolute;bottom:9px;right:6px}.dura{background:#0009;border-radius:2px;height:4px;position:absolute;bottom:4px;left:6px;right:6px;overflow:hidden}.dura>span{height:100%;display:block}.tool-condition{align-items:center;gap:10px;margin:6px 0;display:flex}.tool-condition .dura{flex:0 0 110px;height:8px;position:static}.upgrade{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.tool-chip{flex-direction:column;align-items:center;gap:2px;width:34px;font-size:20px;line-height:1;display:inline-flex}.tool-chip .dura{width:30px;height:4px;position:static}.claim-card{background:linear-gradient(180deg, #2c2416, var(--panel));border-color:#7a6233}.claim-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));margin:6px 0}.slot-claim{background:radial-gradient(circle at 50% 40%,#4a3a1c,#1d170f);border-color:#8f7136;animation:1.8s ease-in-out infinite alternate claim-glow}.slot-claim:hover{border-color:var(--gold);transform:translateY(-1px)}@keyframes claim-glow{0%{box-shadow:0 0 #d6ab4f00}to{box-shadow:0 0 10px 1px #d6ab4f59}}.claim-pill{border:1px solid var(--gold);color:#fff3d6;cursor:pointer;font:inherit;background:linear-gradient(#6b5221,#4a3815);border-radius:99px;padding:3px 12px;animation:1.4s ease-in-out infinite alternate claim-glow}.fly{pointer-events:none;z-index:100;filter:drop-shadow(0 3px 3px #0009);font-size:28px;position:fixed}.workers{flex-direction:column;gap:8px;margin:4px 0;padding:0;list-style:none;display:flex}.worker{border-top:1px solid var(--line);grid-template-columns:130px minmax(0,1fr) 36px 110px auto;align-items:center;gap:4px 12px;padding-top:8px;display:grid}.worker:first-child{border-top:0;padding-top:0}.worker-name{font-family:var(--serif);font-size:16px}.worker-name .small{font-family:var(--sans);display:block}.worker-job{flex-direction:column;min-width:0;display:flex}.worker.active .worker-job strong{color:var(--gold)}.worker.hire{grid-template-columns:130px minmax(0,1fr) auto}.waiting{display:block}.doing-wait{background:#3d2a14;border-color:#a0702c}.helpers-now{margin:6px 0;padding-left:18px}.welcome{max-width:560px}.wb-waiting{background:#33240f;border:1px solid #7a5a26;border-radius:8px;padding:8px 12px}.wb-waiting ul{margin:4px 0 0;padding-left:4px;list-style:none}.welcome .news{margin:0;padding-left:18px}.btn-claim{padding:10px 26px;font-size:17px}.trade-row{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding-top:7px;display:flex}.qty-pick .gold-line{margin-left:auto}.triangle{line-height:1.6;display:block}.troop-card h3 .level-big{font-size:22px}.map-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.map-wrap{padding:6px}.world-map{background:#d9c08e;border-radius:6px;width:100%;height:auto;display:block}.world-map .sea-wash{fill:#6f97ad;opacity:.75}.world-map .coast{fill:none;stroke:#3d5566;stroke-width:2.2px;opacity:.7}.world-map .wave{fill:none;stroke:#e8f0f2;stroke-width:1.4px;opacity:.55;stroke-dasharray:30 70;animation:9s linear infinite map-wave}.world-map .river{fill:none;stroke:#6f97ad;stroke-width:7px;stroke-linecap:round;opacity:.85}.world-map .river.thin{stroke-width:4px}.world-map .river.shimmer{stroke:#e3eff3;stroke-width:2px;opacity:.5;stroke-dasharray:8 46;animation:7s linear infinite map-flow}.world-map .river.thin.shimmer{stroke-width:1.2px}.world-map .lake{fill:#6f97ad;opacity:.8;stroke:#3d5566;stroke-width:1.2px}.world-map .tree{fill:#557447;stroke:#3a3020;stroke-width:.9px;opacity:.9}.world-map .mtn{fill:#a3927a;stroke:#4a3826;stroke-width:1.4px}.world-map .mtn-shade{fill:#6d5d48;opacity:.55}.world-map .snowcap{fill:#f4efe2}.world-map .road{fill:none;stroke:#7a5f3c;stroke-dasharray:2 5;stroke-linecap:round;stroke-width:2.4px;opacity:.7}.world-map .members-zone{fill:url(#hatch)}.world-map .members-label{fill:#4a3a6b;font:italic 600 14px var(--serif)}.world-map .region-label{fill:#5a4630;font:italic 600 15px var(--serif);opacity:.8;letter-spacing:.04em}.world-map .compass circle{fill:none;stroke:#5a4630;stroke-width:1.4px}.world-map .compass path{fill:#5a4630}.world-map .compass text{fill:#5a4630;font:700 12px var(--serif);text-anchor:middle}.world-map .cartouche path{fill:#efe2c2;stroke:#5a4630;stroke-width:1.6px}.world-map .cartouche text{fill:#4a3826;font:700 22px var(--serif);letter-spacing:.32em;text-anchor:middle}.world-map .cloud{pointer-events:none;animation:180s linear infinite map-drift}.world-map .cloud ellipse{fill:#fffaf0;opacity:.16}.place{cursor:pointer;outline:none}.place .hit{fill:#0000}.place .ring{fill:none;stroke:#0000;stroke-width:2.5px;transition:stroke .15s}.place:hover .ring,.place:focus-visible .ring{stroke:#7a5a2899}.place.on .ring{stroke:#b8862f;stroke-width:3px;animation:1.6s ease-in-out infinite alternate map-pulse}.place .label path{fill:#efe2c2;stroke:#5a4630;stroke-width:1px;opacity:.92}.place .label text{fill:#3a2c1c;font:600 11.5px var(--serif);text-anchor:middle}.place.on .label path{fill:#f6e3a8}.place.members{opacity:.8}.place.sleeping>:not(.label):not(.zzz){opacity:.55}.place .zzz{fill:#5a4630;font:italic 700 12px var(--serif);animation:3s ease-in-out infinite map-zzz}.place .smoke circle{fill:#f4efe6;opacity:0;animation:5s ease-out infinite map-smoke}.place .smoke circle:nth-child(2){animation-delay:-1.7s}.place .smoke circle:nth-child(3){animation-delay:-3.4s}.place .smoke-b circle{animation-duration:6s}.place .flame{transform-origin:0 10px;animation:.9s ease-in-out infinite alternate map-flicker}.place .fire{transform-origin:2px 10px;animation:.6s ease-in-out infinite alternate map-flicker}.place .glow{animation:2.8s ease-in-out infinite alternate map-glow}.place .flag{transform-origin:0 6px;transform-box:fill-box;animation:2.2s ease-in-out infinite map-flag}@keyframes map-drift{0%{transform:translate(-200px)}to{transform:translate(1200px)}}@keyframes map-wave{to{stroke-dashoffset:-100px}}@keyframes map-flow{to{stroke-dashoffset:-108px}}@keyframes map-smoke{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:.75}to{opacity:0;transform:translate(9px,-26px)scale(2.2)}}@keyframes map-flicker{0%{transform:scale(.85,.8)}to{transform:scale(1.08,1.15)}}@keyframes map-glow{0%{opacity:.35}to{opacity:.85}}@keyframes map-flag{0%,to{transform:skewY(0)scaleX(1)}50%{transform:skewY(-8deg)scaleX(.88)}}@keyframes map-pulse{0%{stroke-opacity:.45}to{stroke-opacity:1}}@keyframes map-zzz{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.9;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.world-map *,.place *{animation:none!important}}.place-art,.scene-art{aspect-ratio:3/2;background:#241c14;border-radius:8px;margin:0 0 10px;overflow:hidden}.painting,.art-img{object-fit:cover;width:100%;height:100%;display:block}.map-detail h2{font-size:21px}.rivals{flex-direction:column;gap:6px;display:flex}.story-wrap{perspective:1800px;margin-bottom:14px}.book{background:#3b2c1e;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px;display:grid;position:relative;box-shadow:0 18px 40px #0000008c,inset 0 0 0 1px #5a432b}.book:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#00000059 45% 55%,#0000);width:28px;position:absolute;top:12px;bottom:12px;left:calc(50% - 14px)}.page{color:#2b2116;background:radial-gradient(130% 100% at 50% 0,#f4ead2,#e6d6b0 70%,#d4bf92),#efe3c6;min-height:520px;margin:0;position:relative}.page-left{border-radius:6px 0 0 6px;flex-direction:column;display:flex;overflow:hidden}.page-right{transform-origin:0;border-radius:0 6px 6px 0;padding:34px 40px 46px}.page-art{padding:18px}.page-art .painting,.page-art .art-img{object-fit:cover;border:6px solid #f8f0dc;border-radius:2px;flex:1;min-height:0;box-shadow:0 2px 10px #3c280f73}.page-art figcaption{color:#6b5232;font:italic 15px var(--serif);text-align:center;margin-top:10px}.chapter-label{color:#8a5a2b;font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:0 0 6px}.scene-title{color:#2b2116;margin:0 0 14px;font-size:30px}.prose p{font:17.5px/1.7 var(--serif);max-width:60ch;margin:0 0 12px}.prose p.drop:first-letter{color:#8a3a22;float:left;font:700 58px/.8 var(--serif);margin:6px 8px 0 0}.ornament{color:#9a7440;text-align:center;margin:6px 0;font-size:22px}.small-orn{margin:14px 0 8px;font-size:18px}.folio{color:#8a6d45;font:italic 13px var(--serif);position:absolute;bottom:14px;right:24px}.page-left .folio{left:24px;right:auto}.page-right .goal{color:#3a2c1c;background:#fffaeb8c;border:1px dashed #b0905a;border-radius:6px;margin:10px 0;padding:8px 12px}.page-right .goal.goal-done{border-style:solid;border-color:#5f8a3c}.page-right .muted{color:#7a6448}.page-right .bad{color:#a3352a}.page-right .warn{color:#8a5a1b}.choices{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.choice{color:#2b2116;cursor:pointer;font:16.5px/1.45 var(--serif);text-align:left;background:#fffaeb73;border:1px solid #c9ad7c;border-radius:6px;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;width:100%;padding:9px 14px;transition:background .12s,border-color .12s,transform .12s;display:grid}.choice:hover:not(:disabled){background:#fff7e2;border-color:#8a5a2b;transform:translate(3px)}.choice:disabled{cursor:not-allowed;opacity:.6}.choice-mark{color:#9a7440}.choice small{font:13px var(--sans);grid-column:2}.title-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:440px;display:flex}.title-page .chapter-label{font-size:14px}.chapter-title{color:#2b2116;max-width:14ch;margin:0;font-size:40px;line-height:1.15}.page-turn{animation:.75s cubic-bezier(.2,.7,.3,1) both page-turn}.turning .page-left .painting,.turning .page-left .art-img{animation:.9s both art-fade}@keyframes page-turn{0%{filter:brightness(.75);transform:rotateY(-88deg);box-shadow:-30px 0 40px #0006}60%{box-shadow:-10px 0 20px #00000040}to{filter:none;transform:rotateY(0)}}@keyframes art-fade{0%{opacity:.2;filter:sepia(.6)}to{opacity:1;filter:none}}@media (prefers-reduced-motion:reduce){.page-turn,.turning .page-left .painting,.turning .page-left .art-img{animation:none}}@media (width<=900px){.book{grid-template-columns:minmax(0,1fr)}.book:after{display:none}.page-left{border-radius:6px 6px 0 0;min-height:0}.page-left .painting,.page-left .art-img{aspect-ratio:3/2;flex:none;height:auto}.page-right{transform-origin:top;border-radius:0 0 6px 6px;min-height:0;padding:22px 20px 40px}.title-page{min-height:300px}.chapter-title{font-size:32px}}.companions,.journal{flex-direction:column;gap:8px;display:flex}.journal{color:#d9c9a3;font-style:italic}.toasts{z-index:50;flex-direction:column;gap:8px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{border:1px solid var(--line);border-left:4px solid var(--ink-2);cursor:pointer;background:#2a2319;border-radius:8px;padding:10px 14px;transition:opacity .5s,transform .5s;animation:.25s ease-out toast-in;box-shadow:0 6px 24px #00000073}.toast .btn{margin-top:8px;display:block}.toast-good{border-left-color:#8fd17a}.toast-bad{border-left-color:var(--theirs)}.toast-big{border-left-color:var(--gold);background:linear-gradient(#3a2e1a,#2a2319);font-size:16px}.toast-icon{float:left;margin-right:10px;font-size:26px;line-height:1.1}.toast-out{opacity:0;transform:translate(20px)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.modal-wrap{z-index:60;background:#0a0806b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{flex-direction:column;gap:10px;width:100%;max-width:480px;padding:20px;display:flex}.modal .btn{align-self:flex-start}.outcome-box{background:#2a2216;border:1px solid #6b5a33;border-radius:8px;flex-direction:column;gap:4px;margin:10px 0;padding:10px 12px;display:flex}.plan-panel header .back{margin:-6px 0 6px -8px}.dev summary{cursor:pointer;font-weight:600}.screen:empty{display:none}@media (width<=1150px){.game{grid-template:"top top""nav main""nav side"1fr/170px minmax(0,1fr)}.side{border-left:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0 20px 20px;display:grid}.camp{position:relative;top:0}}@media (width<=760px){.worker,.worker.hire{grid-template-columns:minmax(0,1fr) auto}.worker .worker-name,.worker>div{grid-column:1/-1}.worker>.btn,.worker>.row{grid-area:2/2;justify-self:end}.bank-layout{grid-template-columns:minmax(0,1fr)}.pack-grid{max-width:none}.game{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""nav""main""side"}.topbar{gap:4px 12px;padding:8px 16px}.doing{justify-content:space-between;width:100%;margin-left:0}.tabs{border-bottom:1px solid var(--line);background:var(--bg);z-index:4;scrollbar-width:none;border-right:0;flex-direction:row;padding:6px 12px;position:sticky;top:0;overflow-x:auto}.tab{flex-direction:column;flex:none;gap:0;min-height:48px;padding:4px 10px;font-size:12px}.tab.on{box-shadow:inset 0 -3px 0 var(--gold)}.tab .dot{position:absolute;top:4px;right:4px}.content{padding:12px 16px 24px}.side{padding:0 16px 24px;display:flex}.game:not([data-tab=village]) .camp{display:none}.game[data-tab=village]{grid-template-areas:"top""nav""side""main"}.game[data-tab=village] .log-box{display:none}.skills-layout,.bank-layout,.map-layout{grid-template-columns:minmax(0,1fr)}.skill-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.skill-list .list-title{grid-column:1/-1}.queue-item{grid-template-columns:1fr auto}.queue-item [data-qprogress]{grid-area:2/1/auto/-1}.tab-head h1{font-size:24px}}.boss-intro,.boss-victory{z-index:20;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.boss-intro{cursor:pointer;background:radial-gradient(#14080459,#080402e0);transition:opacity .9s;animation:.6s both boss-dim}.boss-intro.leaving{opacity:0;pointer-events:none}.boss-card,.victory-card{text-align:center;flex-direction:column;align-items:center;max-width:560px;animation:.7s cubic-bezier(.2,1.4,.4,1) both boss-slam;display:flex}.boss-portrait{aspect-ratio:3/2;border:3px solid #8a6a2e;border-radius:6px;width:min(420px,80vw);margin-bottom:16px;overflow:hidden;box-shadow:0 0 60px #ff5a2873,0 20px 50px #000000b3}.boss-eyebrow{color:#ff9a6a;font:700 13px var(--sans);letter-spacing:.32em;text-transform:uppercase;margin:0}.boss-title{background:linear-gradient(#fff1c8,#d6ab4f 60%,#9a6a1e);color:#0000;font:700 clamp(30px, 6vw, 52px)/1.05 var(--serif);text-shadow:0 4px 24px #ff782840;-webkit-background-clip:text;background-clip:text;margin:6px 0}.boss-sub{color:#e8d8b8;font:italic 18px var(--serif);margin:0 0 10px}.boss-skip{color:#b5a88f;margin:6px 0 0;font-size:13px;animation:1.6s ease-in-out infinite boss-blink}.boss-bar{pointer-events:none;text-align:center;width:460px;max-width:90vw;position:absolute;top:92px;left:50%;transform:translate(-50%)}.boss-bar .boss-name{color:#ffd9a8;font:700 16px var(--serif);letter-spacing:.06em;text-shadow:0 2px 6px #000}.boss-bar .bar{background:#0009;border:1px solid #8a3a22;border-radius:3px;height:10px;margin-top:4px;overflow:hidden}.boss-bar .bar-fill{background:linear-gradient(90deg,#8a1e12,#e0574a,#ff9a6a);height:100%;transition:width .3s;display:block}.boss-bar.slain .boss-name{color:#b5a88f;text-decoration:line-through}.feed-boss{color:#ffd36b;font-weight:700}.feed-dry{color:#f2c38a;font-style:italic}.boss-victory{cursor:pointer;background:radial-gradient(#3c280a8c,#0a0602bf);overflow:hidden}.victory-card .boss-eyebrow{color:#ffe39a;font-size:16px}.confetti{pointer-events:none;position:absolute;inset:0}.confetti span{border-radius:1px;width:7px;height:14px;animation:3.2s linear infinite confetti-fall;position:absolute;top:-20px}@keyframes boss-dim{0%{opacity:0}to{opacity:1}}@keyframes boss-slam{0%{opacity:0;filter:blur(6px);transform:scale(1.35)}to{opacity:1;filter:none;transform:none}}@keyframes boss-blink{0%,to{opacity:.4}50%{opacity:1}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.6;transform:translateY(110vh)rotate(720deg)}}@media (width<=720px){.boss-bar{top:116px}}@media (prefers-reduced-motion:reduce){.boss-card,.victory-card,.confetti span,.boss-skip{animation:none}}.story-error pre{color:#ffc9c0;white-space:pre-wrap;background:#120e0a;border:1px solid #8f3a2e;border-radius:6px;padding:10px 12px}ul.plain{margin:0 0 8px;padding:0;list-style:none}ul.plain li{padding:2px 0}.hud-place{color:var(--ink-2);letter-spacing:.02em;white-space:nowrap;font-size:11px}.terrain-line{margin:6px 0 0;font-size:13px}.terrain-label{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.terrain-effect{color:var(--ink-2);margin-top:2px;display:block}.terrain-line select{background:var(--panel-2);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:6px;padding:2px 6px}.login{place-items:center;min-height:100%;padding:24px 16px;display:grid;position:relative}.login-art{opacity:.35;position:fixed;inset:0}.login-art svg{width:100%;height:100%}.login-panel{width:100%;max-width:420px;padding:24px 28px 28px;position:relative}.login-panel h1{margin:4px 0 16px}.login-form{flex-direction:column;gap:12px;display:flex}.login-field{flex-direction:column;gap:4px;font-size:13px;display:flex}.login-field input{width:100%}.login-message{margin:12px 0 0;font-size:14px}.login-links{flex-direction:column;gap:6px;margin-top:16px;display:flex}.link{color:var(--gold);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.offline-banner{color:#ffd8cc;text-align:center;background:#5a2a20;flex-basis:100%;padding:6px 12px;font-size:13px}.front-line{fill:none;stroke:#5a2a2a;stroke-dasharray:6 5;stroke-linecap:round;stroke-width:3px}.front-line-glow{stroke:#ff9a4a;stroke-dasharray:none;stroke-width:8px;opacity:.18;animation:4s ease-in-out infinite front-glow}@keyframes front-glow{50%{opacity:.32}}.front-swords path{stroke:#3a1e14;stroke-width:2.2px;stroke-linecap:round}.front-swords circle{fill:#f0dcb499;stroke:#5a2a2a;stroke-width:1.2px}.front-title{fill:#5a2a2a;font:700 12px var(--serif);letter-spacing:.18em;text-anchor:middle}.front-side{fill:#4a3826;font:italic 11px var(--serif)}@media (prefers-reduced-motion:reduce){.front-line-glow{animation:none}}.align-pill{font-size:13px}.align-light{color:#f1d98a;border-color:#c9a23a}.align-dark{color:#c8b0f0;border-color:#6a4a9a}.side-bar{margin:10px 0}.side-bar-track{background:linear-gradient(90deg,#c9a23a 0%,#6f6550 50%,#5e3a8a 100%);border-radius:6px;height:12px;position:relative}.align-bar .side-bar-track{background:linear-gradient(90deg,#5e3a8a 0%,#6f6550 50%,#c9a23a 100%)}.side-bar-mark{background:var(--ink);border:2px solid #14110d;border-radius:50%;width:20px;height:20px;transition:left 1.2s;position:absolute;top:-4px;transform:translate(-50%);box-shadow:0 0 6px #ffe6a0b3}.side-bar-ends{color:var(--ink-2);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.spark{width:100%;max-width:360px;height:40px;margin:6px 0;display:block}.spark polyline{fill:none;stroke:var(--gold);stroke-width:2px}.spark-mid{stroke:var(--line);stroke-dasharray:3 3}.front-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.front-choice p{margin:6px 0 0}.front-dark .btn-primary{color:#f2eaff;background:#6a4a9a;border-color:#6a4a9a}.chars{margin:0;padding:0;list-style:none}.char{align-items:flex-start;gap:12px;margin:10px 0;display:flex}.char p{margin:4px 0 0}.char-portrait{border:2px solid var(--line);border-radius:50%;flex:0 0 64px;width:64px;height:64px;overflow:hidden}.char-light .char-portrait{border-color:#c9a23a}.char-dark .char-portrait{border-color:#6a4a9a}.char-portrait svg,.char-portrait img{object-fit:cover;width:100%;height:100%;display:block}.news{margin:0;padding-left:18px}.news li{margin:6px 0}h3.align-light{color:#f1d98a}h3.align-dark{color:#c8b0f0}@media (width<=640px){.front-choices{grid-template-columns:1fr}}.cast{flex-wrap:wrap;gap:10px 16px;margin:0 0 12px;padding:0;list-style:none;display:flex}.cast li{align-items:center;gap:8px;font-size:13px;line-height:1.25;display:flex}.cast small{color:#6e5a40}.cast-portrait,.said-portrait{border:2px solid #8a6a3a;border-radius:50%;flex:0 0 44px;width:44px;height:44px;display:block;overflow:hidden}.said-portrait{flex-basis:36px;width:36px;height:36px}.cast-portrait svg,.cast-portrait img,.said-portrait svg,.said-portrait img{object-fit:cover;width:100%;height:100%;display:block}.said{align-items:flex-start;gap:10px;display:flex}
