:root{color-scheme:dark;--bg:#121c23;--panel:#192a31;--ink:#fff1d7;--muted:#aebeb8;--green:#c5ebb1;--amber:#ffd29f;--line:#3d555b;--title:"Syne",system-ui,sans-serif;font:16px/1.5 Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 64rem 34rem at 12% 0,#283c43,transparent 82%),var(--bg)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}h1,h2,p{margin:0}[hidden]{display:none!important}a{color:var(--green);text-underline-offset:.23em}
.top,main,footer{width:min(100% - 3rem,1380px);margin-inline:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:67px;border-bottom:1px solid #5266647a}.wordmark{display:inline-flex;align-items:center;gap:.55rem;font:800 1.32rem var(--title);color:var(--ink);text-decoration:none}.wordmark img{display:block}.top nav{display:flex;align-items:center;gap:.5rem}.top nav a,.back{color:var(--muted);text-decoration:none;font-size:.84rem;font-weight:670;padding:.6rem .75rem;border-radius:8px}.top nav a[aria-current]{color:var(--green);background:#c5ebb117}.top nav a:hover,.back:hover{color:var(--green)}.skip{position:absolute;z-index:10;top:5px;left:5px;transform:translateY(-140%);background:#141f26;padding:.75rem}.skip:focus{transform:none}
.lobby{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,1fr);gap:clamp(1rem,3vw,2.75rem);align-items:start;padding:clamp(1rem,5vw,3.6rem) 0}.intro,.creator{position:relative;border-radius:23px;overflow:hidden;border:1px solid var(--line);min-width:0}.intro{isolation:isolate;min-height:680px;padding:clamp(1.35rem,4vw,3rem);background:radial-gradient(ellipse 28rem 25rem at 80% 50%,#ab74625e,transparent 76%),linear-gradient(155deg,#233840 6%,#36535d 50%,#1a373b 85%)}.intro>:not(svg){position:relative;z-index:1}.hills{position:absolute;inset:auto 0 0;width:100%;height:48%;z-index:-1;pointer-events:none}.eyebrow{display:flex;align-items:center;gap:.55rem;min-height:1.25em;color:var(--green);font-size:.72rem;font-weight:780;letter-spacing:.15em;text-transform:uppercase}.eyebrow>span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px #baf09870}.intro h1,.game-heading h1{font:770 clamp(3.2rem,6.15vw,5.65rem)/.9 var(--title);letter-spacing:-.055em;margin:.65rem 0 1.05rem}.intro h1 em,.game-heading h1 em{font-style:normal;color:var(--green)}.intro h1 em{display:block}.subtitle{font-size:clamp(1.08rem,2vw,1.55rem);font-weight:750;color:var(--amber)}.intro-copy{font-size:clamp(.93rem,1.5vw,1.08rem);color:#e8e7ce;max-width:37ch;margin-top:.6rem;line-height:1.65}.trail{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:1rem}.trail span{font-size:.73rem;line-height:1.25;color:#eaf4dd;font-weight:700;padding:.38rem .55rem;border:1px solid #a7c9b867;border-radius:999px;background:#14272d8a}.intro .intro-footer{position:absolute;bottom:clamp(1.1rem,4vw,2rem);display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;background:#152a2bb8;border:1px solid #a3bfa457;border-radius:12px;max-width:90%}.chapter-number{color:var(--green);font:800 1.35rem var(--title)}.intro-footer strong{display:block;font-size:.88rem}.intro-footer p{font-size:.72rem;color:#c5d8d0}
.creator{padding:1.2rem;background:radial-gradient(ellipse 24rem 18rem at 85% 10%,#36574f70,transparent 92%),var(--panel)}.creator-head,.dialog-head,.game-heading,.kit-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.creator h2,.dialog h2,.gear-panel h2{font:740 clamp(1.45rem,3vw,2.15rem)/1.08 var(--title);letter-spacing:-.02em;margin-top:.18rem}.creator-chip{font:700 .72rem ui-monospace,monospace;color:var(--amber);border:1px solid #c5a97a65;border-radius:8px;padding:.35rem .5rem;white-space:nowrap}
.creature-preview{height:214px;margin:.85rem 0;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;border-radius:14px;border:1px solid #85af9369;background:radial-gradient(ellipse at 50% 68%,#779b746e,transparent 61%),radial-gradient(ellipse at 70% 0,#526d7180,transparent 85%),#1c3437}.creature-preview::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 25%,#ddf4bc86 0 1px,transparent 2px),radial-gradient(circle at 87% 29%,#f7dc9d83 0 1px,transparent 2px),radial-gradient(circle at 79% 72%,#d6ffc68c 0 1px,transparent 2px),radial-gradient(circle at 23% 66%,#ffdaa286 0 1px,transparent 2px);pointer-events:none}.creature-preview canvas{position:absolute;inset:0;display:block;max-width:100%;max-height:100%}.creature-preview>span{color:var(--amber);font-size:2.8rem;opacity:.8}
.field-label,fieldset legend{display:block;font-weight:700;color:var(--muted);font-size:.79rem;margin:0 0 .3rem}fieldset{min-width:0;padding:0;margin:.72rem 0 0;border:0}.creator input:not([type=color]),.dialog input,.creator select{height:43px;max-width:100%;width:100%;color:var(--ink);border:1px solid #55716e;background:#102226;border-radius:8px;padding:.45rem .68rem}.choices,.enter-buttons,.colors,.join-row{display:flex;align-items:center;gap:.43rem}.choices button,.gear-tabs button{min-width:0;min-height:42px;flex:1;border:1px solid #55716e;background:#102226;color:#d0ddd3;border-radius:8px;padding:.42rem .55rem;font-weight:670;font-size:.78rem}.choices button[aria-pressed=true],.gear-tabs button[aria-pressed=true]{color:#dff6d0;background:#3a5641;border-color:#a5c69a}.maker-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:.75rem}.colors label{display:flex;align-items:center;gap:.28rem;color:#dae6d6;font-size:.75rem}.colors input{width:32px;height:39px;padding:2px;border:1px solid #527167;border-radius:7px;background:#122729;cursor:pointer}.enter-buttons{margin-top:.9rem}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.52rem;padding:.52rem .78rem;border:1px solid transparent;border-radius:9px;text-decoration:none;font-size:.87rem;font-weight:750;line-height:1.2}.primary{background:var(--green);color:#1e3424;border-color:var(--green)}.primary:not(:disabled):hover{background:#def6ce}.secondary{background:#223c40;color:var(--ink);border-color:#63837c}.secondary:not(:disabled):hover,.choices button:hover,.gear-tabs button:hover{border-color:var(--green)}.continue{margin-top:.58rem;border:0;border-radius:5px;background:transparent;color:var(--green);padding:.44rem .1rem;font-weight:700;font-size:.85rem;text-align:left}.continue:hover{text-decoration:underline}.lobby-status{font-size:.8rem;color:var(--amber);min-height:1.1em;margin-top:.35rem}
.game{padding:1.1rem 0 1.45rem}.game-heading{margin-bottom:.7rem}.game-heading h1{font-size:clamp(1.8rem,5vw,3.2rem);line-height:1;margin:.14rem 0 .05rem}.game-grid{display:grid;grid-template-columns:minmax(0,2.75fr) minmax(260px,1fr);gap:.8rem;align-items:start}.game-main,.gear-panel{min-width:0}.stage{position:relative;overflow:hidden;isolation:isolate;border:1px solid #789c81;border-radius:15px;height:clamp(430px,65vh,740px);background:radial-gradient(ellipse at 70% 50%,#567b76,#203941)}.world{position:absolute;inset:0;touch-action:none}.world canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.world canvas:focus-visible{outline:2px solid var(--green);outline-offset:-3px}.stage-top,.vitals,.aim,.target-readout,.game-status{position:absolute;z-index:2;pointer-events:none}.stage-top{left:.65rem;right:.65rem;top:.65rem;display:flex;justify-content:space-between;gap:.35rem}.time-chip,.target-readout,.game-status{font-size:.74rem;font-weight:720;background:#142327e6;color:#eef5dc;border:1px solid #a8c59d86;border-radius:8px;padding:.35rem .55rem;line-height:1.35}.room-chip{pointer-events:auto;min-height:35px}.room-chip:hover{border-color:var(--green)}.vitals{display:grid;gap:.18rem;top:3.1rem;left:.65rem;width:clamp(104px,18%,145px);padding:.4rem .55rem;border-radius:9px;border:1px solid #acc8a776;background:#142327d9}.vitals div{display:grid;grid-template-columns:2.8rem 1fr;gap:.3rem;align-items:center}.vitals label{font-size:.63rem;font-weight:700;color:#e7f1d8}.vitals meter{width:100%;height:.63rem}.vitals meter::-webkit-meter-bar{background:#283f42;border:0}.vitals meter::-webkit-meter-optimum-value{background:#b7e7a0}.aim{left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:1.2rem;text-shadow:0 0 3px #000}.target-readout{left:50%;bottom:.63rem;transform:translateX(-50%);max-width:calc(100% - 1rem);text-align:center}.game-status{left:50%;top:3.15rem;transform:translateX(-50%);width:max-content;max-width:60%;text-align:center;color:var(--amber);z-index:3}.game-status:empty{display:none}
.game-actions{display:flex;align-items:center;gap:.45rem;margin-top:.55rem;flex-wrap:wrap}.game-actions .button{min-width:105px}.control-note{color:var(--muted);font-size:.74rem;margin:.4rem 0 0}.game-actions kbd{color:inherit;border:1px solid currentColor;border-radius:4px;padding:0 .3em;font-size:.72em}.move-pad{display:none}
.gear-panel{border:1px solid var(--line);border-radius:15px;padding:.85rem;background:linear-gradient(145deg,#253b3b,#192a31 65%);min-height:325px}.player-label,.pane-note,.muted{color:var(--muted);font-size:.82rem}.player-label{margin:.36rem 0 .65rem}.gear-tabs{display:flex;gap:.3rem}.gear-tabs button{padding-inline:.35rem}.kit-pane{margin-top:.6rem}.pane-note{line-height:1.4;margin-bottom:.55rem}.inventory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem}.item,.recipe{display:flex;align-items:center;justify-content:space-between;gap:.37rem;text-align:left;min-width:0;min-height:44px;padding:.36rem .45rem;color:var(--ink);background:#14262c;border:1px solid #47625f;border-radius:7px;font-size:.78rem}.item:disabled{opacity:.7}.item[aria-pressed=true]{background:#3b5743;border-color:#b8dba6}.item b,.recipe b{color:var(--green);font-weight:760}.item-name{min-width:0;display:flex;gap:.25rem;align-items:center;overflow-wrap:anywhere}.recipe-list{display:grid;gap:.3rem}.recipe{width:100%}.recipe:not(:disabled):hover,.item:not(:disabled):hover{border-color:var(--green)}.recipe small{color:var(--muted);text-align:right;font-size:.67rem}.journal-list{padding:0;list-style:none;display:grid;gap:.4rem;margin:0}.journal-list li{color:var(--muted);display:flex;align-items:center;gap:.47rem;font-size:.84rem}.journal-list li.done{color:var(--green)}.kit-footer{border-top:1px solid var(--line);padding-top:.55rem;margin-top:.75rem;color:var(--muted);font-size:.71rem}
.dialog{width:min(100% - 1.6rem,470px);border-radius:17px;border:1px solid #85aa8d;background:#1c3034;color:var(--ink);padding:1.1rem;box-shadow:0 12px 70px #0009}.dialog::backdrop{background:#080e13b8}.dialog p:not(.eyebrow){margin:.65rem 0;line-height:1.5}.dialog .button{margin-top:.35rem}.dialog form{margin-top:.75rem}.dialog .join-row{align-items:stretch}.dialog .join-row button{flex:0 0 auto;margin:0}.noscript{margin:1rem 0;color:var(--amber)}
footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border-top:1px solid #5266647a;padding:.8rem 0 1.1rem;color:var(--muted);font-size:.8rem}
@media(max-width:930px){.top,main,footer{width:calc(100% - 1.7rem)}.lobby{grid-template-columns:minmax(0,1fr) minmax(335px,.95fr);gap:.75rem}.intro{min-height:640px}.game-grid{grid-template-columns:minmax(0,1fr)}.gear-panel{min-height:0}.inventory-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.top{min-height:53px}.top .back{display:none}.top nav a{padding:.43rem .46rem;font-size:.75rem}.wordmark{font-size:1.08rem}.wordmark img{width:24px;height:24px}.lobby{display:grid;grid-template-columns:minmax(0,1fr);padding:.75rem 0}.intro{min-height:340px;padding:1rem}.intro h1{font-size:clamp(2.85rem,11vw,5rem);line-height:.9;margin-bottom:.55rem}.intro h1 em{display:inline}.intro .intro-footer{bottom:.7rem}.intro-copy{max-width:36ch;font-size:.86rem}.creator{padding:.85rem}.creature-preview{height:172px}.stage{height:clamp(385px,66vh,600px)}.game-actions .button{min-width:0;flex:1 1 auto}.game-heading{margin-bottom:.52rem}.game-status{top:2.95rem;left:auto;right:.55rem;transform:none;max-width:58%}.inventory-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.touch-ui .move-pad{position:absolute;z-index:3;left:.55rem;right:.55rem;bottom:1.95rem;display:grid;grid-template-columns:repeat(3,44px) 1fr 52px;grid-template-rows:repeat(2,42px);gap:3px;pointer-events:none}.touch-ui .move-pad button{pointer-events:auto;touch-action:none;min-height:42px;padding:0;border:1px solid #b6d4a4a1;border-radius:9px;background:#172c2ccb;color:#f5f6da;font-weight:760}.touch-ui .move-pad button:active{background:#567652}.touch-ui .move-pad .forward{grid-column:2;grid-row:1}.touch-ui .move-pad .left{grid-column:1;grid-row:2}.touch-ui .move-pad .backward{grid-column:2;grid-row:2}.touch-ui .move-pad .right{grid-column:3;grid-row:2}.touch-ui .move-pad .jump{grid-column:5;grid-row:2;font-size:.74rem}.touch-ui .game-actions kbd{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

.intro{background-image:linear-gradient(100deg,#101e27ed 0%,#142430b8 44%,#17232c36 100%),url("./art/wildroot-valley.webp"),linear-gradient(155deg,#233840,#36535d,#1a373b);background-size:auto,cover,auto;background-position:center,58% center,center}
.hills{display:none}
.journal-art{width:100%;height:106px;object-fit:cover;object-position:center 57%;border-radius:8px;border:1px solid var(--line);display:block;margin:0 0 .55rem}
@media(max-width:700px){.intro{background-position:center,55% 56%,center}}
.stage-labels{display:flex;flex-wrap:wrap;gap:.3rem}.position-chip{font:650 .7rem ui-monospace,monospace;display:flex;align-items:center}.position-chip:empty{display:none}
/* Sandbox play layout */
.is-playing .top{width:min(100% - 1rem,1740px);min-height:48px}.is-playing main{width:min(100% - 1rem,1740px)}.is-playing footer{display:none}
.is-playing .game{padding:.5rem 0 .75rem}.is-playing .game-grid{display:block}.is-playing .game-heading{margin-bottom:.42rem;min-height:44px}.is-playing .game-heading .eyebrow{font-size:.61rem}.is-playing .game-heading h1{font-size:clamp(1.32rem,3.2vw,2.35rem);margin:.02rem 0;line-height:1.04}
.sandbox-menu{display:flex;align-items:center;justify-content:flex-end;gap:.33rem;flex-wrap:wrap}.sandbox-menu .button{min-height:39px;font-size:.75rem;white-space:nowrap}.sandbox-menu kbd{font-size:.73em;border:1px solid currentColor;border-radius:4px;padding:.02em .27em}.touch-ui .sandbox-menu kbd{display:none}
.is-playing .stage{height:clamp(345px,calc(100svh - 208px),920px);border-radius:10px}.stage[data-view="first-person"] .aim{font:700 1.1rem/1 ui-monospace,monospace;color:#fff;text-shadow:0 1px 2px #000,0 0 5px #000}
.play-hint{position:absolute;left:50%;top:calc(50% + 1.45rem);transform:translateX(-50%);z-index:4;pointer-events:none;width:max-content;max-width:calc(100% - 1.3rem);padding:.36rem .58rem;border:1px solid #a9caab87;background:#101b1cd6;border-radius:5px;text-align:center;font-size:.79rem;font-weight:700;color:var(--ink)}
.mine-progress{position:absolute;left:50%;top:calc(50% + 1rem);transform:translateX(-50%);z-index:5;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#111a1c9e;border-radius:5px;padding:.15rem .25rem}.mine-progress progress{width:68px;height:6px;accent-color:var(--green)}
.quick-dock{display:flex;align-items:flex-end;justify-content:space-between;gap:.65rem;margin-top:.3rem}.hotbar-group{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center}.hotbar-label{min-height:1.25rem;color:var(--muted);font-size:.72rem;text-align:center}.hotbar{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.19rem;width:min(100%,507px);padding:.15rem;border:1px solid #53696a;border-radius:7px;background:#152327}
.hotbar-slot{position:relative;display:grid;place-items:center;min-width:0;min-height:44px;padding:.18rem .11rem;border:1px solid #536569;border-radius:4px;background:#203235;color:#ffe9cc;transition:background-color .12s ease}.hotbar-slot:hover{border-color:#a7c797}.hotbar-slot[aria-pressed="true"]{background:#314d41;border-color:#d8edc2;box-shadow:inset 0 0 0 1px #c9e6b0}.hotbar-slot .key{position:absolute;top:1px;left:4px;color:#d4e2d2;font:700 .62rem/1.15 ui-monospace,monospace}.hotbar-slot .icon{font-size:1.23rem;line-height:1}.hotbar-slot[data-empty="true"] .icon{opacity:.26}.hotbar-slot .amount{position:absolute;right:3px;bottom:1px;color:#fff4de;font:750 .68rem/1.1 ui-monospace,monospace;text-shadow:0 1px 2px #000}
.quick-dock .game-actions{flex:0 0 auto;margin:0}.quick-dock .game-actions .button{min-width:0;min-height:40px;padding:.42rem .57rem;font-size:.75rem}.is-playing .control-note{text-align:center;margin-top:.32rem}
#kit-dialog{max-width:min(94vw,520px);padding:1rem;background:#192b32}.gear-panel .dialog-head h2{font-size:clamp(1.25rem,3vw,1.85rem)}.gear-panel .dialog-head .button{margin:0}.gear-panel .player-label{margin:.42rem 0 .58rem}.gear-panel .kit-pane{max-height:min(56svh,510px);overflow:auto;padding:0 .1rem .15rem}.gear-panel .kit-pane .pane-note{margin:0 0 .55rem}.gear-panel .inventory-list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.quick-dock{flex-direction:column;align-items:stretch;gap:.3rem}.quick-dock .game-actions{justify-content:center}.is-playing .stage{height:clamp(320px,calc(100svh - 218px),660px)}.is-playing .game-heading .eyebrow{font-size:.55rem}.sandbox-menu .button{min-height:37px;padding:.33rem .4rem;font-size:.67rem}.hotbar-slot{min-height:40px}.hotbar-slot .icon{font-size:1rem}.hotbar{gap:.09rem}.touch-ui .move-pad{bottom:1.95rem}.touch-ui .sandbox-menu .button,.touch-ui .quick-dock .game-actions .button{min-height:44px}.is-playing .control-note{font-size:.65rem}}
@media(max-width:360px){.is-playing .game-heading{flex-wrap:wrap}.sandbox-menu{justify-content:flex-start}.hotbar-slot .key{left:2px}}


.market-trigger{background:#3c3428;color:#ffe1ad;border-color:#9d7449}.market-trigger[data-near="true"]{color:#322519;background:#ffd29b;border-color:#ffe0af}.market-trigger:hover{border-color:#ffd29b}.market-hint{position:absolute;z-index:2;right:.62rem;bottom:.65rem;pointer-events:none;padding:.3rem .49rem;background:#201e1bde;color:#ffddb1;border:1px solid #bd935d91;border-radius:6px;font:700 .71rem/1.25 Inter,system-ui,sans-serif}.market-hint:empty{display:none}.touch-ui .market-hint{bottom:6.65rem;font-size:.64rem}
.fellowship-dialog{max-width:min(94vw,500px);background:radial-gradient(ellipse at top right,#40534a,#1c3034 65%)}.fellowship-list{list-style:none;display:grid;gap:.4rem;padding:0;margin:.7rem 0 0}.fellowship-list li{display:grid;grid-template-columns:1.55rem minmax(0,1fr) auto;align-items:center;gap:.48rem;padding:.53rem .63rem;border:1px solid #667f70;border-radius:8px;background:#14282c}.fellowship-list li[data-you="true"]{border-color:#c5ebb1}.fellowship-place{font:750 .76rem ui-monospace,monospace;color:#f5ca91}.fellowship-name{overflow-wrap:anywhere;font-size:.86rem;font-weight:720}.fellowship-detail{display:block;color:#bbc8b9;font-size:.68rem;font-weight:500}.fellowship-rank{color:#c5ebb1;font-size:.78rem;font-weight:740;white-space:nowrap}
@media(max-width:570px){.is-playing .game-heading{align-items:flex-start}.is-playing .game-heading .sandbox-menu{gap:.2rem}.market-hint{bottom:2.7rem}.touch-ui .market-hint{bottom:6.6rem}}


.continue-options{display:flex;flex-wrap:wrap;gap:.15rem 1.25rem}
.expedition-trigger{background:#2b3c55;color:#e1f1fc;border-color:#7ba2bc}.expedition-trigger:hover{border-color:#d5eeff}
.expedition-hint{position:absolute;z-index:2;right:.65rem;bottom:.65rem;max-width:46%;pointer-events:none;padding:.35rem .52rem;background:#16252be6;border:1px solid #8bb4c486;border-radius:6px;color:#dbf4ff;font-size:.74rem;font-weight:720;text-align:right}.expedition-hint:empty{display:none}.touch-ui .expedition-hint{bottom:6.6rem;font-size:.65rem}
.expedition-dialog{width:min(100% - 1.4rem,740px);max-height:90svh;overflow:auto;padding:1.15rem;background:radial-gradient(ellipse at 70% -40%,#3a5672,#1a303a 68%);border-color:#88a5b1}.expedition-dialog .atlas-copy{color:#c3d8e0;margin:.5rem 0 .9rem;font-size:.88rem}.region-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.56rem}.region-card{display:flex;flex-direction:column;min-width:0;min-height:203px;overflow:hidden;position:relative;padding:.76rem;border:1px solid #809f9f;border-radius:10px;isolation:isolate;background:linear-gradient(143deg,#315947,#152c31);color:#f7edd8}.region-card[data-region="frostpine"]{background:linear-gradient(143deg,#456781,#1d303e);border-color:#789db8}.region-card[data-region="emberhollow"]{background:linear-gradient(145deg,#784a37,#392c31);border-color:#b78167}.region-card::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.33;background:repeating-linear-gradient(150deg,transparent 0 19px,#d7edff25 20px 21px,transparent 23px 43px);mask-image:linear-gradient(#000,transparent 75%)}.region-card .trail-tag{font:740 .63rem/1.2 ui-monospace,monospace;letter-spacing:.035em;color:#dceff8}.region-card h3,.field-survey h3{font:760 1.04rem/1.15 Inter,system-ui,sans-serif;margin:.35rem 0}.region-card .region-description{font-size:.73rem;color:#e8f2ed;line-height:1.35;margin:0 0 .55rem}.region-card .region-state{margin:auto 0 .35rem;font-size:.67rem;font-weight:700;line-height:1.28;color:#ffe7b1}.region-card .button{width:100%;min-height:36px;font-size:.75rem;justify-content:center;margin:0}.field-survey{margin-top:.62rem;padding:.75rem;border:1px solid #7b9fac;background:#15292e;border-radius:9px}.field-survey .survey-task{display:block;font-size:.78rem;color:#cfdee2;line-height:1.55}.field-survey .survey-task.done{color:#d6f1bb}.field-survey .button{min-height:36px;margin-top:.5rem}.expedition-status{font-size:.82rem;color:#ffddaa;min-height:1.3rem}.expedition-status:empty{display:none}
@media(max-width:690px){.is-playing .game-heading{flex-wrap:wrap}.is-playing .game-heading .sandbox-menu{justify-content:flex-start}.region-cards{grid-template-columns:1fr}.region-card{min-height:0}.region-card .button{width:auto;align-self:flex-start}.region-card .region-state{margin:.13rem 0 .43rem}.expedition-dialog{padding:.8rem}.expedition-hint{bottom:2.65rem}}


.field-map{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.15fr);gap:1rem;align-items:center;margin:.65rem 0 1rem;padding:.75rem;border:1px solid #648b8c;border-radius:12px;background:#14272e;color:#f4eddc}
.field-map-figure{margin:0;min-width:0}.field-map-figure canvas{display:block;width:100%;max-width:256px;aspect-ratio:1;margin-inline:auto;border:1px solid #7d9a8a;border-radius:8px}
.field-map-figure figcaption{margin:.4rem 0 0;text-align:center;font:700 .71rem/1.4 ui-monospace,monospace;color:#d8ead9}
.field-map-places{min-width:0}.field-map-places .eyebrow{margin:0;color:#9fd3c5}.field-map-places h3{margin:.27rem 0 .5rem;font-size:1rem}
.field-map-places ol{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.field-map-places li{display:grid;grid-template-columns:1.3rem minmax(0,1fr);column-gap:.5rem;align-items:start;padding:.42rem .48rem;border-radius:6px;background:#233a3d}
.field-map-places li .map-pin{grid-row:span 2;display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#ffd68a;color:#302317;font:800 .69rem/1 ui-monospace,monospace}
.field-map-places li strong{font-size:.79rem}.field-map-places li p{grid-column:2;margin:.1rem 0 0;color:#c8dcd9;font-size:.73rem;line-height:1.35}
@media(max-width:530px){.field-map{grid-template-columns:minmax(0,1fr);gap:.7rem}.field-map-figure canvas{max-width:205px}}

.monsoon-entry{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.12rem .65rem;max-width:245px;margin:0 0 1rem;padding:.6rem .78rem;border:1px solid #e5b76d9c;border-radius:8px;background:linear-gradient(105deg,#29494bf2,#1c373bcb);color:#fff2d4;text-decoration:none}.monsoon-entry span{font:750 .6rem ui-monospace,monospace;letter-spacing:.11em;color:#f5c977}.monsoon-entry strong{grid-column:1;font-size:.91rem}.monsoon-entry b{grid-column:2;grid-row:1/span 2;color:#f6cf8a;font-size:1.15rem}.monsoon-entry:hover{background:#3a6061}.monsoon-entry:focus-visible{outline:2px solid #ffe0a1;outline-offset:3px}

.intro .monsoon-entry{z-index:2;margin:.85rem 0 0}
@media(max-width:700px){.intro .intro-footer{position:relative;inset:auto;width:fit-content;margin-top:.7rem}}
