@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-2.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-3.ttf) format("truetype")}@font-face{font-family:Libre Caslon Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.ttf) format("truetype")}:root{font-family:DM Sans,sans-serif;color:#263c31;background:#f6f4ed;font-synthesis:none;font-weight:400;font-size:13px;--green:#183b2e;--ink:#263c31;--muted:#7b8275;--border:#dfdfd2;--gold:#c8a565;--paper:#f6f4ed}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,label{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b58b3c;outline-offset:4px}button{border:0;background:none}button svg{flex-shrink:0}[hidden]{display:none!important}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}button{transition:background .16s,color .16s,box-shadow .16s}button:hover{color:#8b642c}h1,h2,h3,p{margin:0}.site-header{height:88px;display:flex;align-items:center;padding:0 34px;background:#162f26;color:#f2eddb;gap:36px;border-bottom:1px solid #d1b377}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:43px;height:47px;display:grid;place-items:center}.brand-mark svg{width:100%;height:100%}.brand-overline{display:block;font-size:8px;letter-spacing:3.4px;margin:0 0 3px 2px;color:#d2bf94}.brand-name{font-family:Libre Caslon Display,Georgia,serif;font-size:24px;letter-spacing:2px;position:relative}.brand-dot{position:absolute;font:8px sans-serif;top:1px;right:-7px}.header-section{display:flex;align-items:center;gap:12px;color:#c8d0c3;font-size:12px}.header-section .icon{color:#c4ad78}.header-divider{width:1px;height:30px;background:#405348;margin:0 17px 0 4px}.prototype{border:1px solid #53614a;border-radius:3px;color:#cbbd97;font-size:8px;letter-spacing:1.3px;padding:4px 6px;margin-left:1px}.export-button{margin-left:auto;border:1px solid #566650;border-radius:4px;padding:10px 16px;display:flex;align-items:center;gap:9px;font-size:11px;color:#e3dac0}.export-button .icon{width:16px;height:16px}.export-button:hover{background:#304738;color:#f3ddb0}.workspace{display:grid;grid-template-columns:308px minmax(0,1fr);height:calc(100dvh - 88px);min-height:720px}.sidebar{padding:34px 27px 19px;border-right:1px solid #d8d9ca;background:var(--paper);display:flex;flex-direction:column;overflow:auto}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.7px;color:#7b8473;display:flex;align-items:center;gap:7px}.tiny-line{height:1px;width:18px;background:#a8986c}.sidebar-intro h1{font-family:Libre Caslon Display,Georgia,serif;font-size:53px;line-height:.99;letter-spacing:-1.6px;font-weight:400;margin:18px 0 16px}.sidebar-intro h1 em{color:#75845b;font-weight:400}.sidebar-intro p{font-size:11px;line-height:1.85;color:#858878}.sidebar-intro{margin-bottom:29px}fieldset{border:0;padding:0;margin:0}legend,h2#terrain-heading{padding:0;display:flex;align-items:center;width:100%;font-size:12px;font-weight:600;gap:9px}.section-number{color:#a69c80;font-size:9px;font-weight:500;letter-spacing:1px}.field-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:21px 0 9px;color:#525c4e}.field-heading>span+span{font-size:9px;color:#939681}.field-heading[for=seed]>span+span{font-size:7px;letter-spacing:1px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #daddcf;border-radius:5px;padding:3px;gap:2px;background:#eeeee5}.segmented label{position:relative;cursor:pointer;min-width:0}.segmented input{position:absolute;opacity:0;width:1px;height:1px}.segmented label>span{display:block;padding:9px 4px;font-size:10px;text-align:center;border-radius:3px;color:#7d8574}.segmented input:checked+span{background:#fdfcf7;color:#304635;box-shadow:0 1px 4px #263a2f15}.segmented input:focus-visible+span{outline:2px solid #b58b3c}.difficulty-heading{margin-top:19px}.difficulty-heading .icon{width:15px;height:15px;color:#9fa48d}.field-note{font-size:9px;color:#8b9180;margin-top:8px}.seed-field{display:flex;border:1px solid #d8dbce;border-radius:4px;background:#fbfaf5;height:39px}.seed-field input{background:none;border:0;width:100%;min-width:0;padding:0 12px;color:#465c3c;font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:1.3px}.seed-field button{width:41px;display:grid;place-items:center;color:#7b846d;border-left:1px solid #e4e6d8;margin:7px 0}.seed-field button svg{width:16px;height:16px}.generate-button{display:flex;align-items:center;gap:9px;background:#244b36;color:#faf4e5;width:100%;padding:13px;border-radius:4px;margin-top:12px;font-size:11px;box-shadow:0 3px 5px #1e3c2910}.generate-button>svg:first-child{width:17px;height:17px;color:#cab784}.generate-button>svg:last-child{width:17px;height:17px;margin-left:auto}.generate-button:hover{background:#315f43;color:#fff5da;box-shadow:0 3px 9px #1e3c2925}.settings-status{text-align:center;color:#9a9d8c;font-size:8px;letter-spacing:.1px;min-height:11px;margin:9px 0 0}.terrain-section{border-top:1px solid var(--border);padding-top:23px;margin-top:24px}.legend-hint{font-size:7px;letter-spacing:1.2px;color:#a1a590;margin-left:auto;font-weight:500}.terrain-legend{margin-top:13px;display:flex;flex-direction:column;gap:8px}.terrain-row{display:flex;align-items:center;gap:9px;font-size:10px;color:#5d6756}.terrain-icon{width:25px;height:25px;background:color-mix(in srgb,var(--terrain) 18%,transparent);color:color-mix(in srgb,var(--terrain) 65%,#28352b);border-radius:5px;display:grid;place-items:center;flex-shrink:0}.terrain-icon .icon{width:16px;height:16px}.terrain-resource{margin-left:auto;color:#8e9584;font-size:8px}.terrain-count{min-width:21px;text-align:right;color:#69785f;font-variant-numeric:tabular-nums;font-size:9px}.field-notes{margin-top:auto;padding-top:25px;display:flex;gap:8px;color:#969b87}.field-notes>.icon{height:15px;width:15px;margin-top:1px}.field-notes p{font-size:9px;line-height:1.8}.field-notes strong{font-weight:500;color:#73806c;display:block;margin-bottom:3px}.sidebar-footer{margin-top:24px;padding-top:14px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.35px;color:#a0a48e}.map-panel{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#f3f2e8 8%,#e9eade 70%,#e3e5d6)}.map-panel:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='640' viewBox='0 0 680 640'%3E%3Cg fill='none' stroke='%239caa86' stroke-width='.7'%3E%3Cpath d='M-40 500C90 480 210 580 205 440S380 230 420 380 700 390 730 510M-40 480C90 460 230 560 225 420S380 200 440 360 700 370 730 490M-40 460C90 440 250 540 245 400S390 170 460 340 700 350 730 470M-40 440C90 420 270 520 265 380S400 140 480 320 700 330 730 450M-40 420C90 400 290 500 285 360S410 110 500 300 700 310 730 430M-40 400C90 380 310 480 305 340S420 80 520 280 700 290 730 410M-40 380C90 360 330 460 325 320S430 50 540 260 700 270 730 390M-40 360C90 340 350 440 345 300S440 20 560 240 700 250 730 370M-40 340C90 320 370 420 365 280S450-10 580 220 700 230 730 350'/%3E%3C/g%3E%3C/svg%3E");background-size:680px 640px}.map-heading{position:absolute;top:35px;left:35px;right:34px;display:flex;justify-content:space-between;align-items:flex-start;z-index:2;pointer-events:none}.map-heading .eyebrow{font-size:8px;letter-spacing:1.7px;color:#8e9780}.heading-dash{margin:0 6px;color:#a6ac94}.map-heading h2{font-family:Libre Caslon Display,Georgia,serif;font-size:32px;font-weight:400;letter-spacing:-.6px;margin-top:11px;color:#4a5a42}.live-badge{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:1.3px;color:#869575;border:1px solid #cbd1bd;border-radius:3px;padding:7px 9px;margin-top:1px}.live-badge>span{width:4px;height:4px;background:#7d9363;border-radius:50%}#map-canvas{position:absolute;inset:99px 10px 120px;isolation:isolate}#map-canvas canvas{display:block;touch-action:none;outline:none}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#6f8061;text-align:center;font-size:12px;line-height:1.8}.loading .icon{width:40px;height:40px}.map-label{position:absolute;transform:translate(-50%,-100%);pointer-events:none;text-align:center;white-space:nowrap;filter:drop-shadow(0 1px 4px #f2f1e6);z-index:2;color:#687450}.map-label span{display:block;font-size:6px;letter-spacing:1.6px;margin-bottom:4px;font-weight:600}.map-label strong{font-family:Libre Caslon Display,Georgia,serif;font-size:22px;font-weight:400}.goal-label{color:#8a672c}.view-options{position:absolute;left:35px;top:119px;display:flex;align-items:center;gap:17px;z-index:3}.view-options label{font-size:9px;color:#7c896f;display:flex;align-items:center;gap:6px;cursor:pointer}.view-options input{position:absolute;opacity:0;width:1px;height:1px}.view-options label>span{width:11px;height:11px;border:1px solid #aeb79c;border-radius:2px;background:#f1f1e788;position:relative}.view-options input:checked+span{background:#597648;border-color:#597648}.view-options input:checked+span:after{content:"";position:absolute;width:5px;height:3px;border-left:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(-45deg);top:2px;left:2px}.view-options input:focus-visible+span{outline:2px solid #b58b3c;outline-offset:3px}.map-bottom{position:absolute;bottom:63px;left:35px;right:31px;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none}.map-stats{display:flex;align-items:center;gap:18px}.map-stats>div:not(.path-status){display:flex;flex-direction:column;gap:4px}.map-stats strong{font-family:Libre Caslon Display,Georgia,serif;font-size:31px;line-height:1;color:#536344;font-weight:400}.map-stats>div>span{font-size:7px;letter-spacing:1.3px;color:#8e987c}.stat-divider{height:29px;width:1px;background:#cdd3bd}.path-status{display:flex;align-items:center;gap:7px}.path-status>.icon{width:19px;height:19px;border:1px solid #a5b48e;border-radius:50%;padding:3px;color:#6d8556}.map-stats .path-status span{font-size:8px;letter-spacing:0;line-height:1.8}.map-stats .path-status strong{font-family:inherit;font-size:9px;color:#6c7d59}.map-controls{pointer-events:auto;border:1px solid #cdd3bf;background:#f8f7eedd;box-shadow:0 3px 10px #33452a05;border-radius:6px;padding:5px;display:flex;align-items:center;gap:3px}.map-controls button{padding:9px 8px;font-size:9px;white-space:nowrap;border-radius:3px;display:flex;align-items:center;justify-content:center}.map-controls>.icon{width:16px;height:16px}.map-controls button:hover{background:#e6e9da}.map-controls .icon{width:16px;height:16px}.view-switch{display:flex;gap:2px}.view-switch button.active{background:#e1e6d4;color:#4b633c}.control-divider{height:19px;width:1px;background:#dbdfcf;margin:0 3px}.compass-rose{color:#899577;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:.75}.compass-rose span{font-size:8px;letter-spacing:1px;margin-bottom:-1px}.canvas-footer{position:absolute;bottom:0;left:0;right:0;height:42px;border-top:1px solid #d4d9c5;background:#e6e9da66;display:flex;align-items:center;justify-content:space-between;padding:0 29px;color:#929c81;gap:12px;font-size:8px}.canvas-footer>span{display:flex;align-items:center;gap:8px}.canvas-footer .icon{height:13px;width:13px}.canvas-footer i{font-style:normal;color:#b5bba6}.canvas-footer button{font-size:8px;display:flex;gap:7px;align-items:center;padding:7px;color:#77886b}.seed-display{font-size:7px;letter-spacing:1px}.seed-display strong{font-size:8px;font-weight:500;letter-spacing:1.1px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-inspector{position:absolute;right:28px;top:112px;width:241px;z-index:4;border:1px solid #d5d8c6;background:#fbfaf3f5;box-shadow:0 8px 32px #273c2515;border-radius:5px;padding:19px}.tile-inspector>button{position:absolute;right:8px;top:8px;padding:4px}.tile-inspector>button .icon{width:15px;height:15px}.tile-inspector .eyebrow{font-size:7px;letter-spacing:1px;gap:5px}.tile-inspector .eyebrow>span{color:#a3aa98}.tile-inspector h3{display:flex;gap:10px;align-items:center;margin:17px 0 11px;font-family:Libre Caslon Display,Georgia,serif;font-size:27px;font-weight:400}.tile-inspector h3>.terrain-icon{width:30px;height:30px}.tile-inspector p{font-size:10px;line-height:1.8;color:#89917d}.entry-cost{display:flex;align-items:center;gap:7px;border-top:1px solid #e1e3d6;padding-top:12px;margin-top:13px;font-size:10px;color:#657653}.entry-cost .icon{width:14px;height:14px}.route-note{position:absolute;left:35px;bottom:134px;color:#7c855b;font-size:9px;background:#f5f4e9db;border-radius:4px;padding:9px 12px;max-width:calc(100% - 70px)}.toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%);padding:14px 23px;background:#233f30;color:#f6ecd2;font-size:11px;border:1px solid #728363;border-radius:5px;box-shadow:0 5px 24px #0e28152a;z-index:20;max-width:calc(100vw - 30px);text-align:center}dialog{border:1px solid #d8dcce;border-radius:8px;background:#f8f7ef;padding:28px;width:520px;max-width:calc(100% - 28px);max-height:80dvh;color:var(--ink)}dialog::backdrop{background:#152f2870;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-heading h2{font-family:Libre Caslon Display,Georgia,serif;font-size:32px;font-weight:400;margin-top:7px}dialog>p{font-size:11px;color:#849079;margin:14px 0 20px}.tile-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tile-list button{border:1px solid #e0e4d6;padding:9px;border-radius:4px;display:flex;align-items:center;gap:8px;text-align:left}.tile-list button:hover{background:#e7ebdd}.tile-list button>span:nth-child(2){display:flex;flex-direction:column;gap:5px}.tile-list strong{font-size:10px;font-weight:500}.tile-list small{font-size:8px;color:#929a86}.tile-list button>.icon{width:13px;height:13px;margin-left:auto}@media(min-width:1600px){.workspace{grid-template-columns:340px minmax(0,1fr)}.sidebar{padding:39px 33px 22px}.sidebar-intro h1{font-size:61px}.sidebar-intro{margin-bottom:34px}.terrain-legend{gap:11px}.field-heading{margin-top:25px}.terrain-section{margin-top:28px}.map-heading{top:40px;left:45px}.map-heading h2{font-size:36px}.view-options{left:45px;top:135px}.map-bottom{left:45px;right:45px;bottom:75px}#map-canvas{inset:105px 25px 135px}}@media(max-height:860px)and (min-width:901px){.workspace{min-height:650px}.sidebar{padding-top:25px}.sidebar-intro h1{font-size:47px;margin:13px 0}.sidebar-intro{margin-bottom:22px}.field-heading{margin-top:15px}.terrain-section{margin-top:18px;padding-top:17px}.terrain-legend{gap:5px}.terrain-row .terrain-icon{height:22px;width:22px}.field-notes{padding-top:18px}.sidebar-footer{margin-top:17px}.settings-status{font-size:7px}.sidebar-intro p{font-size:10px}}@media(max-width:1150px){.workspace{grid-template-columns:275px minmax(0,1fr)}.sidebar{padding-left:22px;padding-right:22px}.map-heading{left:25px;right:25px}.live-badge{display:none}.map-bottom{left:25px;right:25px}.map-stats{gap:12px}.path-status,.compass-rose{display:none}.canvas-footer{padding:0 20px}.canvas-footer>span:first-child{font-size:7px;gap:4px}.seed-display{display:none!important}.view-options{left:25px;gap:12px}.header-section{gap:8px}.header-divider{margin-right:10px}.site-header{gap:25px}.map-controls button{padding:8px 7px}}@media(max-width:900px){.site-header{height:76px;padding:0 23px}.header-section{display:none}.workspace{height:auto;min-height:0;grid-template-columns:245px minmax(0,1fr)}.sidebar{padding:25px 18px 18px;overflow:visible}.sidebar-intro h1{font-size:46px}.sidebar-intro .eyebrow{font-size:7px;letter-spacing:1.1px}.sidebar-intro p{font-size:10px}.sidebar-intro{margin-bottom:24px}.map-panel{min-height:830px}.map-heading h2{font-size:29px}.map-heading .eyebrow{font-size:7px;letter-spacing:1px}.heading-dash{margin:0 2px}.view-options{flex-wrap:wrap;gap:11px}.map-stats{position:absolute;bottom:61px;left:0}.map-controls{margin:auto}.map-bottom{bottom:60px}.map-heading{top:30px}.canvas-footer>span:first-child{display:none}#map-canvas{inset:132px 0 160px}.tile-inspector{right:18px;top:164px}.route-note{bottom:170px;left:20px;font-size:8px}.field-notes{padding-top:25px}}@media(max-width:640px){.site-header{height:72px;padding:0 18px}.brand-mark{width:33px;height:39px}.brand-name{font-size:20px}.brand-overline{font-size:6px;letter-spacing:3px}.brand{gap:10px}.export-button{padding:9px 10px;font-size:9px;gap:6px}.workspace{display:flex;flex-direction:column}.map-panel{order:0;min-height:610px;height:70dvh;max-height:780px}.sidebar{order:1;border-top:1px solid #d8d9ca;border-right:0;padding:28px 25px 22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.sidebar-intro{margin:0}.sidebar-intro h1{font-size:47px}.sidebar-intro p{font-size:10px}.sidebar-intro .eyebrow{font-size:6px;letter-spacing:.8px}.tiny-line{width:10px}#map-form{grid-row:span 2}.terrain-section{border-top:0;margin:0;padding:0}.terrain-resource{display:none}.terrain-legend{gap:7px}.field-notes{grid-column:1/-1;padding-top:0}.sidebar-footer{grid-column:1/-1;margin:0;padding-top:15px}.field-heading{margin-top:17px;font-size:10px}.field-heading[for=seed]>span+span{font-size:5px}.segmented label>span{font-size:9px;padding:9px 2px}.field-note{font-size:8px;line-height:1.5;min-height:24px}.generate-button{font-size:9px;padding:12px 9px;gap:6px}.generate-button>svg:first-child{display:none}.settings-status{font-size:7px;line-height:1.5}.map-heading{top:25px;left:23px;right:23px}.map-heading h2{font-size:30px;margin-top:9px}.map-heading .eyebrow{font-size:6px;letter-spacing:1.2px}.view-options{left:23px;top:104px;font-size:9px;gap:15px}#map-canvas{inset:133px 0 132px}.map-bottom{left:22px;right:22px;bottom:58px}.map-stats{bottom:56px;gap:16px}.map-stats strong{font-size:26px}.map-stats>div>span{font-size:6px}.map-controls{margin-left:auto;margin-right:0}.map-controls button{font-size:9px;padding:9px}.compass-rose{display:flex;position:absolute;right:0;bottom:53px}.compass-rose svg{width:44px;height:44px}.route-note{left:22px;bottom:170px;max-width:calc(100% - 44px);font-size:8px;line-height:1.5}.canvas-footer{height:40px}.canvas-footer .seed-display{display:flex!important}.tile-inspector{top:138px;right:16px;width:210px;padding:16px}.tile-inspector h3{font-size:25px}.map-label strong{font-size:17px}.map-label span{font-size:5px;letter-spacing:1px}.seed-field input{font-size:9px;padding:0 8px;letter-spacing:.8px}.seed-field button{width:33px}.terrain-row{font-size:9px;gap:6px}.terrain-row .terrain-icon{width:22px;height:22px}.terrain-count{margin-left:auto}.tile-list{grid-template-columns:1fr}dialog{padding:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.visibility-section{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.game-start-panel{margin:0 0 23px;padding-bottom:21px;border-bottom:1px solid var(--border)}.game-start-panel .field-heading{margin-top:0}.game-start-panel .field-heading span{font-size:7px;letter-spacing:1px}.game-start-row{display:flex;gap:7px}.game-start-row select{min-width:0;width:48%;border:1px solid #d4dacb;background:#faf9f2;color:#607052;border-radius:4px;padding:10px 5px;font:inherit;font-size:10px}.game-start-row button{flex:1;background:#294e39;color:#fff3d5;border-radius:4px;font-size:10px;padding:10px 8px;display:flex;align-items:center;justify-content:space-between;gap:5px}.game-start-row button .icon{width:15px;height:15px}#resume-game{width:100%;text-align:left;margin-top:9px;padding:10px;border:1px solid #c5d0ba;border-radius:4px;display:flex;align-items:center;justify-content:space-between;font-size:10px}#resume-game .icon{height:13px;width:13px}.rules-link{display:block;font-size:13px;margin-top:12px;color:#4d5f45}.rules-link .icon{width:13px;height:13px;margin-left:5px}.playing .sidebar>:not(#game-sidebar):not(.sidebar-footer){display:none}.playing .sidebar-footer{margin-top:auto;padding-top:18px}.game-sidebar{width:100%;padding-bottom:24px}.game-sidebar .eyebrow{justify-content:space-between;font-size:8px}.game-title{font:400 34px/1.15 Libre Caslon Display,Georgia,serif;margin:15px 0 23px;letter-spacing:-.7px}.player-list{display:flex;flex-direction:column;gap:5px}.player-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid transparent;border-radius:4px}.player-row.current{background:#e9edde;border-color:#d9dfce}.player-dot{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;color:#fffbed;font-size:10px;text-shadow:0 1px 2px #30402c;border:1px solid #0000000d}.player-row strong{font-size:11px;font-weight:500}.player-row>span:last-child{margin-left:auto;font-size:7px;letter-spacing:.8px;color:#8e9980}.turn-status{padding:19px 0 20px;border-bottom:1px solid var(--border)}.turn-status strong{font-size:11px;font-weight:500}.turn-status p{font-size:9px;color:#8a937e;line-height:1.8;margin-top:6px}.turn-status button{margin-top:9px;font-size:10px;padding:7px 0;color:#677e55}.turn-status .icon{width:15px;height:15px;margin-right:6px}.market-heading{display:flex;align-items:center;justify-content:space-between;margin-top:22px;gap:10px}.market-heading h3{font-size:12px;font-weight:500}.market-heading>span{font-size:8px;color:#8a967b}.market-note{font-size:8px;line-height:1.8;color:#8a937e;margin:7px 0 12px}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.market-card{background:#fbfaf3;border:1px solid #d9dece;border-top:3px solid var(--card-color);border-radius:4px;padding:8px 6px;text-align:left;min-height:92px;display:flex;flex-direction:column;gap:6px}.market-card:disabled{cursor:default;opacity:.65}.market-card:hover:not(:disabled){background:#eaf0dd;border-color:#8ca479}.market-power{display:flex;align-items:center;gap:6px;font:20px Georgia,serif}.market-power .icon{width:16px;height:16px;color:color-mix(in srgb,var(--card-color) 65%,#234029)}.market-card strong{font-weight:500;font-size:9px;line-height:1.35}.market-price{margin-top:auto;font-size:8px;display:flex;justify-content:space-between;gap:2px;color:#6c785c}.market-price small{font-size:7px;color:#a0a68f}.game-log{margin-top:15px;padding-top:13px;border-top:1px solid var(--border);font-size:9px;color:#839077}.game-log summary{cursor:pointer}.game-log ol{padding-left:14px;font-size:8px;line-height:1.8;max-height:170px;overflow:auto}.game-log li{margin-top:6px}.game-sidebar-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.game-sidebar-actions button{font-size:9px;padding:5px 0}.game-sidebar-actions .icon{width:12px;height:12px}.save-status{font-size:8px;color:#9aa38c;margin-top:13px}.playing #map-canvas{bottom:315px}.playing .map-bottom{bottom:275px}.playing .map-stats,.playing .compass-rose{display:none}.playing .map-controls{margin-left:auto}.playing .tile-inspector{max-height:calc(100% - 390px);overflow:auto}.game-hand{position:absolute;bottom:42px;left:0;right:0;height:219px;padding:17px 28px 14px;background:#f8f6eddc;border-top:1px solid #cdd5be;z-index:5}.hand-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.hand-heading>div:first-child{display:flex;align-items:baseline;gap:13px}.hand-heading strong{font-size:12px;font-weight:500}.hand-heading>div:first-child span{font-size:8px;color:#97a086}.hand-selection{display:flex;gap:9px;align-items:center}.hand-selection span{font-size:9px;color:#74835d}.hand-selection button{border-bottom:1px solid #c8d0b9;padding:4px 0;font-size:8px;color:#869571}.hand-selection button:disabled{cursor:default}.hand-body{display:grid;grid-template-columns:minmax(0,1fr) 178px;align-items:center;gap:24px}.hand-cards{display:flex;justify-content:center;gap:10px}.hand-slot{flex:1;max-width:125px;min-width:0}.hand-card{position:relative;display:flex;flex-direction:column;text-align:left;width:100%;height:128px;padding:10px 10px 8px;border:1px solid #d6d8c8;border-top:4px solid var(--card-color);background:#fffdf5;border-radius:5px;box-shadow:0 3px 5px #4650330c}.hand-card:hover:not(:disabled){background:#f6f6e9;transform:translateY(-2px)}.hand-card.selected{border-color:#527446;box-shadow:0 0 0 2px #769260;background:#eff3e4;transform:translateY(-3px)}.hand-card:disabled{cursor:default;opacity:.6}.card-power{font:28px/1 Georgia,serif;display:flex;align-items:center;justify-content:space-between;color:#46613f}.card-power .icon{width:24px;height:24px;color:color-mix(in srgb,var(--card-color) 70%,#25402e)}.hand-card strong{margin-top:12px;font-size:11px;font-weight:500;line-height:1.15}.card-resource{font-size:8px;color:#98a184;margin-top:4px}.card-money{font-size:8px;color:#8b805e;margin-top:auto;padding-top:6px}.keep-card{display:flex;align-items:center;justify-content:center;gap:4px;font-size:7px;color:#909d7b;margin-top:8px;cursor:pointer;white-space:nowrap}.keep-card input{width:10px;height:10px;margin:0;accent-color:#597c45}.active-power{margin-bottom:13px}.active-power strong{font-size:11px;font-weight:500;color:#61754d}.active-power span{display:block;font-size:9px;color:#8f9b7c;line-height:1.7;margin-top:6px}#end-turn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 15px;background:#254d35;color:#fff2d4;border-radius:4px;font-size:11px}#end-turn .icon{width:17px;height:17px}.empty-hand{font-size:12px;color:#96a184;line-height:1.8;padding:35px 10px}.hand-covered{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;color:#768c65}.hand-covered strong{font:26px Libre Caslon Display,Georgia,serif}.hand-covered span{font-size:10px;color:#9ba38d}.scout-action{margin-top:13px;border-top:1px solid #e1e4d4;padding-top:12px}.scout-action button{display:flex;justify-content:center;gap:8px;width:100%;font-size:10px;padding:10px;border:1px solid #bfcdb5;border-radius:4px}.scout-action button .icon{width:15px;height:15px}.scout-action button:disabled{cursor:not-allowed}.scout-action p{font-size:8px;margin-top:7px}.rules-list{padding-left:19px;margin-top:25px;color:#4d5f45;font-size:14px;line-height:1.7}.rules-list li{margin-bottom:15px;padding-left:4px}.rules-list strong{color:#455f3e}.rules-footnote{font-size:12px;line-height:1.7;border-top:1px solid #dce1d0;padding-top:15px;color:#5e6d54}.handoff-dialog{width:420px;text-align:center;padding:40px 35px 30px}.handoff-dialog .eyebrow{justify-content:center}.handoff-dialog h2{font:38px/1.05 Libre Caslon Display,Georgia,serif;margin-top:20px;letter-spacing:-.7px}.handoff-dialog p{font-size:14px;line-height:1.7;color:#4d5f45;margin:20px 0}.handoff-dialog>button:not(.rules-link){display:flex;align-items:center;justify-content:center;gap:15px;padding:13px 15px;background:#2b523a;color:#fff0d2;border-radius:4px;font-size:12px;width:100%}.handoff-dialog .rules-link{margin:16px auto 0}#handoff-marker{width:43px;height:43px;border-radius:50%;margin:30px auto 0;box-shadow:0 0 0 9px #d9dfcb50}.victory-icon{margin-top:26px}.victory-icon .icon{width:58px;height:64px}@media(max-width:1150px){.game-hand{padding-left:20px;padding-right:20px}.hand-body{grid-template-columns:minmax(0,1fr) 143px;gap:14px}.hand-cards{gap:7px}.hand-card{padding-left:7px;padding-right:7px}.hand-card strong{font-size:10px}.hand-heading>div:first-child{flex-direction:column;gap:5px}.playing .map-heading h2{font-size:29px}}@media(min-width:641px)and (max-width:900px){.playing .map-panel{min-height:960px}.game-hand{height:315px}.hand-body{grid-template-columns:1fr;gap:14px}.turn-actions{display:flex;justify-content:space-between;gap:15px}.turn-actions .active-power{flex:1;margin-bottom:0}.turn-actions #end-turn{width:130px;align-self:center}.playing #map-canvas{bottom:410px}.playing .map-bottom{bottom:370px}}@media(max-width:640px){.game-start-panel{grid-column:1 / -1;grid-row:1;margin:0;padding-bottom:20px}.game-start-row select{width:50%;padding:12px;font-size:11px}.game-start-row button{padding:12px;font-size:11px}.playing .sidebar{display:block;padding-top:25px}.playing .sidebar-footer{display:flex}.playing .map-panel{height:calc(100dvh - 72px);min-height:740px;max-height:none}.playing #map-canvas{top:130px;bottom:363px}.playing .map-bottom{bottom:313px}.playing .map-heading h2{font-size:29px}.playing .tile-inspector{top:133px;right:15px;max-height:calc(100% - 470px);width:220px}.game-hand{bottom:40px;height:258px;padding:13px 17px}.hand-heading{margin-bottom:12px}.hand-heading strong{font-size:10px}.hand-heading>div:first-child span{font-size:7px}.hand-selection{gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:145px}.hand-selection span{font-size:8px;width:100%;text-align:right}.hand-selection button{font-size:7px;padding:0 0 2px}.hand-body{grid-template-columns:1fr;gap:13px}.hand-cards{gap:8px}.hand-card{height:106px;padding:8px 6px 6px}.card-power{font-size:23px}.card-power .icon{width:19px;height:19px}.hand-card strong{font-size:9px;margin-top:9px}.card-resource,.card-money{font-size:7px}.keep-card{font-size:6px;gap:3px;margin-top:7px}.turn-actions{display:flex;gap:13px;align-items:center}.active-power{flex:1;margin-bottom:0}.active-power strong{font-size:9px}.active-power span{font-size:7px;margin-top:3px;line-height:1.5}#end-turn{width:110px;padding:11px;font-size:10px}.market-card{min-height:106px;padding:10px}.market-card strong{font-size:11px}.market-price{font-size:9px}.market-grid{gap:9px}.game-title{margin-bottom:20px}.player-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.player-row{padding:8px}.player-row>span:last-child{font-size:6px;letter-spacing:.3px}.market-note,.save-status{font-size:9px}.game-sidebar-actions button{padding:11px 0;font-size:10px}.game-log{font-size:11px}}#visibility-heading{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600}.visibility-switch{grid-template-columns:repeat(2,1fr);margin-top:13px}.visibility-note{font-size:9px;line-height:1.8;color:#7d8873;margin-top:9px}.exploration-hud{position:absolute;left:35px;top:151px;z-index:3;display:flex;align-items:center;gap:10px;padding:11px 13px;background:#f8f7eef2;border:1px solid #cdd6c7;border-radius:5px;color:#57776a;max-width:calc(100% - 70px)}.exploration-hud>.icon{width:22px;height:22px}.exploration-hud strong{font-size:10px;font-weight:500;display:block}.exploration-hud strong span{display:block;font-size:9px;font-weight:400;color:#819183;margin-top:3px}.exploration-hud p{font-size:8px;line-height:1.6;color:#8c9988;margin-top:4px}.exploration-hud button{margin-left:9px;padding:8px;border-left:1px solid #e0e4d5}.exploration-hud button .icon{width:15px;height:15px}.view-options .unavailable{opacity:.45;cursor:not-allowed}.preview-action{margin-top:15px}.preview-action button{width:100%;border-radius:4px;padding:11px 8px;background:#315943;color:#fbf2d8;font-size:10px;display:flex;align-items:center;justify-content:center;gap:8px}.preview-action button:hover:not(:disabled){background:#426e52}.preview-action button:disabled{cursor:not-allowed;background:#e1e5d9;color:#7e8c73;opacity:1}.preview-action p{font-size:8px;margin-top:8px}@media(min-width:1600px){.exploration-hud{left:45px;top:167px}}@media(max-width:1150px){.exploration-hud{left:25px}}@media(max-width:900px){.exploration-hud{top:152px;left:20px}}@media(max-width:640px){.visibility-section{margin:0;padding:0;border:0}.visibility-note{font-size:8px}.visibility-switch label>span{font-size:8px}.exploration-hud{top:135px;left:22px;max-width:calc(100% - 44px);padding:9px 10px}.exploration-hud p{font-size:7px}.exploration-hud strong{font-size:9px}.exploration-hud button{padding:8px}.tile-inspector{z-index:5}}.tutorial-start{width:100%;margin-top:12px;padding:13px;text-align:left;border:1px solid #bdc9ae;border-radius:5px;background:#e9eddd;font-size:12px;color:#304f39}.tutorial-start span{display:block;margin-top:4px;font-size:9px;color:#788568}.game-camera{display:none}.playing .game-camera{display:flex;align-items:center;gap:9px}.game-camera button{border:1px solid #c9d2bd;border-radius:4px;padding:10px;background:#f7f6ec;font-size:10px}.game-camera label{display:flex;gap:4px;font-size:10px;align-items:center}.game-camera input{accent-color:#355b3f}.playing .map-heading{top:23px}.playing .map-heading h2{margin-top:7px;font-size:31px}.playing .view-options{top:82px}.playing .view-options label:has(#show-route),.playing .view-options label:has(#show-regions){display:none}.playing #map-canvas{top:112px;bottom:330px}.playing .map-bottom{bottom:233px;gap:12px;z-index:4}.playing .map-controls{margin:0 0 0 auto}.playing .game-hand{bottom:0;height:217px}.playing .canvas-footer{display:none}.playing .tile-inspector{top:112px;max-height:calc(100% - 450px);z-index:6;box-shadow:0 8px 30px #243d3022}.nearby-moves{position:absolute;bottom:284px;left:28px;right:28px;display:flex;align-items:center;justify-content:center;gap:6px;z-index:4;min-height:34px}.nearby-moves>span{font-size:8px;letter-spacing:1px;color:#6d7b5f}.nearby-moves button{display:flex;align-items:center;gap:5px;padding:7px 9px;background:#fff9e9;border:1px solid #b5c39c;border-radius:4px;font-size:11px}.nearby-moves .icon{height:14px;width:14px}.nearby-moves small{font-size:8px;color:#7f8c70}.explorer-pin{position:absolute;transform:translate(-50%,-100%);z-index:3;pointer-events:none;background:#203d30;color:#fff7db;border:2px solid #fff8e5;border-bottom:5px solid var(--explorer-color);padding:6px 10px;border-radius:6px;white-space:nowrap;font-size:11px;font-weight:600;box-shadow:0 3px 12px #18352c55}.explorer-pin.active{background:#fff7db;color:#213e2c;box-shadow:0 0 0 3px #294b38,0 5px 18px #16322455}.playing .start-label{display:none}.tutorial-coach{position:absolute;top:112px;left:28px;right:28px;z-index:4;display:flex;justify-content:space-between;gap:18px;padding:14px 17px;background:#f8f2df;border-left:4px solid #bc974c;border-radius:4px;box-shadow:0 3px 12px #4853390a}.tutorial-coach .eyebrow{font-size:8px;color:#988145}.tutorial-coach strong{display:block;font:24px Libre Caslon Display,Georgia,serif;margin:6px 0;color:#354d34}.tutorial-coach p{font-size:13px;color:#4d5f45;line-height:1.5;max-width:630px}.coach-actions{display:flex;flex-direction:column;justify-content:center;gap:10px;flex-shrink:0}.coach-actions button{font-size:13px;padding:8px;border:1px solid #c5c8b0;border-radius:4px}.coach-actions #skip-lessons{border:0;font-size:12px;color:#5e6d54}.learning #map-canvas{top:248px}.learning .tile-inspector{top:248px;max-height:calc(100% - 580px)}.ai-thinking strong{color:#426c8b}button:focus-visible,canvas:focus-visible{outline:3px solid #526f9a;outline-offset:3px}@media(min-width:641px)and (max-width:1100px){.playing .map-bottom{flex-wrap:wrap;justify-content:center;bottom:328px}.playing .game-camera{width:100%;justify-content:center}.playing .map-controls{margin:auto}.playing .game-hand{height:310px}.playing .hand-body{grid-template-columns:1fr}.playing .turn-actions{display:flex;gap:15px;align-items:center}.playing #end-turn{width:130px}.playing .active-power{flex:1;margin:0}.playing #map-canvas{bottom:460px}.nearby-moves{bottom:423px;flex-wrap:wrap}.tutorial-coach{gap:8px;padding:12px}.tutorial-coach strong{font-size:20px}.tutorial-coach p{font-size:10px}.learning #map-canvas{top:280px}.learning .tile-inspector{top:280px;max-height:calc(100% - 740px)}}@media(max-width:640px){.playing .map-heading{top:17px;left:18px;right:18px}.playing .map-heading h2{font-size:25px}.playing .view-options{top:66px;left:18px}.playing .map-panel{min-height:740px}.playing #map-canvas{top:92px;bottom:337px}.playing .game-hand{height:229px;padding:12px 15px}.playing .hand-card{height:98px}.playing .hand-heading{margin-bottom:10px}.playing .hand-body{gap:9px}.playing .map-bottom{left:15px;right:15px;bottom:238px;flex-wrap:wrap;justify-content:center;gap:7px}.playing .game-camera{gap:8px}.game-camera button{padding:8px;font-size:9px}.game-camera label{font-size:9px}.playing .map-controls{margin:0}.playing .map-controls button{padding:7px 9px}.playing .control-divider{margin:0 4px}.nearby-moves{bottom:310px;left:15px;right:15px;gap:4px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}.nearby-moves>span{font-size:7px}.nearby-moves button{padding:7px}.nearby-moves small{display:none}.explorer-pin{padding:5px 8px;font-size:10px}.tutorial-coach{top:92px;left:15px;right:15px;padding:10px 12px;gap:7px}.tutorial-coach strong{font-size:18px;margin:5px 0}.tutorial-coach .eyebrow{font-size:7px}.tutorial-coach p{font-size:9px;line-height:1.5}.coach-actions{max-width:76px;gap:4px}.coach-actions button{font-size:9px;padding:6px}.learning #map-canvas{top:242px}.playing .tile-inspector,.learning .tile-inspector{max-height:calc(100% - 340px);inset:auto 15px 235px;width:auto;padding:14px}.playing .tile-inspector h3{font-size:22px}.playing .tile-inspector>p{display:none}.playing .tile-inspector .preview-action,.playing .tile-inspector .scout-action{margin-top:8px;padding-top:8px}}.game-camera{pointer-events:auto}.learning.lessons-complete #map-canvas{top:224px}@media(max-width:640px){.learning.lessons-complete #map-canvas{top:190px}}#open-market{display:none}@media(max-width:640px){#open-market{display:inline-block}}.terrain-art{display:block;width:100%;border-radius:4px}.hand-card>.terrain-art{position:absolute;inset:0 0 auto;height:62px;width:100%;object-fit:cover;border-radius:0;opacity:.95}.hand-card .card-power{position:relative;z-index:1;width:100%;font-size:25px;color:#233f2e;text-shadow:0 1px 3px #fff8df}.hand-card .card-power>.icon{background:#fff9e8df;border-radius:50%;padding:3px}.hand-card>strong{position:relative;margin-top:29px;font-size:10px}.hand-card .card-resource{font-size:7px}.hand-card.selected .card-resource{color:#315b43;font-weight:600}.market-card{position:relative;overflow:hidden}.market-card>.terrain-art{height:44px;object-fit:cover;margin:-8px -6px 0;width:calc(100% + 12px);border-radius:0}.market-card .market-power{position:absolute;top:7px;left:7px;padding:2px 4px;border-radius:3px;background:#fff9e4ed;font-size:16px}.market-card .market-power .icon{width:12px;height:12px}.tile-inspector>.terrain-art{height:90px;object-fit:cover;margin:10px 0}.payment-feedback{margin-top:10px;padding:8px;background:#edf1e2;color:#426343;border-left:3px solid #7d9d6c;font-size:10px;line-height:1.5}@media(max-width:640px){.hand-card>.terrain-art{height:43px}.hand-card>strong{margin-top:16px;font-size:8px}.hand-card .card-power{font-size:21px}.hand-card .card-resource{font-size:6px}.hand-card .card-money{padding-top:3px}.market-card>.terrain-art{margin:-10px -10px 0;width:calc(100% + 20px);height:52px}.playing .tile-inspector>.terrain-art{height:60px}.payment-feedback{font-size:9px}}.playing .tile-inspector>p{display:none}.playing .tile-inspector>.terrain-art{position:absolute;top:43px;right:15px;width:64px;height:43px;margin:0}.playing .tile-inspector h3{max-width:calc(100% - 62px);margin:16px 0 14px;font-size:25px}.playing .tile-inspector .entry-cost{margin-top:6px}.playing .tile-inspector .preview-action{margin-top:9px}.scout-action summary{cursor:pointer;font-size:10px;color:#57714e;padding:2px 0}.scout-action[open] summary{margin-bottom:8px}@media(max-width:640px){.playing .tile-inspector>.terrain-art{top:35px;height:40px}.playing .tile-inspector h3{font-size:23px}}.nearby-moves{overflow-x:auto}.nearby-moves .route-stop{flex-shrink:0;padding:6px 8px;background:#fff5d8;border-radius:3px;color:#4f6345;letter-spacing:0;font-size:10px}.discovery-setting{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:13px;font-size:11px;color:#49623e}.discovery-setting input{accent-color:#476b40}.discovery-setting span{width:100%;margin-left:23px;color:#7d886d;font-size:9px}.discovery-pin{position:absolute;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:29px;height:29px;padding:0;background:#fff0c0;color:#76501f;border:2px solid #a27838;border-radius:7px;box-shadow:0 2px 6px #32462740;font-size:20px;pointer-events:auto}.discovery-pin.ruins{background:#e4e9d1;color:#43533d;border-color:#77895f}.discovery-pin.claimed{opacity:.5;filter:grayscale(1)}.discovery-pin:hover{outline:2px solid #fff7de}.discovery-journal{margin-top:17px;border-top:1px solid #d4ddc6;padding-top:15px}.discovery-journal h3{font-size:12px;font-weight:500}.discovery-journal p{font-size:9px;line-height:1.5;color:#7d8b70;margin:8px 0}.discovery-journal button{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;padding:9px 0;border-bottom:1px solid #dbe1cf;text-align:left}.discovery-journal button strong{font-size:9px;font-weight:500}.discovery-journal button span{font-size:8px;color:#7c886d}.site-details{margin-top:8px;padding:8px;background:#f1e7c7;border-left:3px solid #b19050}.site-details strong{display:block;font-size:10px}.site-details span{display:block;font-size:9px;line-height:1.5;margin-top:4px;color:#7c744f}.ruins-dialog{width:560px;padding:30px}.ruins-dialog h2{font:36px/1.1 Libre Caslon Display,Georgia,serif;margin:17px 0}.ruins-dialog>p{font-size:12px;line-height:1.7;color:#7c886d}.reward-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.reward-choices button{overflow:hidden;text-align:left;border:1px solid #bbc9ad;border-top:4px solid var(--card-color);border-radius:5px;background:#fffbee;padding-bottom:13px}.reward-choices button:hover{outline:2px solid #6b8858}.reward-choices .terrain-art{height:85px;border-radius:0}.reward-choices strong{display:block;margin:10px 9px 6px;font-size:12px;font-weight:500}.reward-choices span{font-size:9px;color:#7c886d;margin:0 9px}.mobile-market-bar,.mobile-play-link,.mobile-turn-bar,.mobile-play-nav,.mobile-close-hand{display:none}@media(max-width:700px),(max-width:1100px)and (max-height:600px),(pointer:coarse)and (max-width:1100px){body:not(.playing) .mobile-play-link{display:grid;place-items:center;min-width:52px;min-height:44px;margin-left:auto;background:#dfc88e;color:#203d30;border-radius:4px;font-size:13px}body:not(.playing) .export-button{display:none}#seed,.game-start-row select{font-size:16px}}.native-app:not(.playing){padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.native-app #game-start-panel{scroll-margin-top:calc(env(safe-area-inset-top) + 12px)}.playing.mobile-ui{--mobile-nav: calc(52px + env(safe-area-inset-bottom)) ;--mobile-bar: calc(52px + env(safe-area-inset-top)) ;--drawer-height: min(230px, 48%);overflow:hidden}.playing.mobile-ui .site-header{display:none}.playing.mobile-ui .workspace{position:fixed;top:var(--mobile-top, 0px);left:env(safe-area-inset-left);right:env(safe-area-inset-right);height:var(--mobile-height, 100dvh);min-height:0;display:block}.playing.mobile-ui .map-panel{width:100%;height:100%;padding:0;min-height:0;max-height:none}.playing.mobile-ui #map-canvas,.playing.mobile-ui.learning #map-canvas{inset:var(--mobile-bar) 0 var(--mobile-nav)}.playing.mobile-ui .map-heading,.playing.mobile-ui .map-stats,.playing.mobile-ui .compass-rose,.playing.mobile-ui .canvas-footer,.playing.mobile-ui .nearby-moves{display:none}.playing.mobile-ui .mobile-turn-bar{position:absolute;inset:0 0 auto;height:var(--mobile-bar);padding:env(safe-area-inset-top) 12px 0;z-index:25;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f8f6ed;border-bottom:1px solid #cdd5be}.mobile-turn-bar strong{display:block;font:21px Georgia,serif}.mobile-turn-bar span{display:block;font-size:11px;color:#6b785e;margin-top:2px}#mobile-end-turn{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;min-height:44px;background:#254d35;color:#fff2d4;border-radius:5px;font-size:12px}.playing.mobile-ui .mobile-play-nav{position:absolute;inset:auto 0 0;height:var(--mobile-nav);padding:4px 8px calc(4px + env(safe-area-inset-bottom));z-index:25;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;border-top:1px solid #cdd5be;background:#f8f6ed}.mobile-play-nav button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;padding:4px;border-radius:5px;font-size:12px;color:#39553d}.mobile-play-nav button[aria-expanded=true]{background:#dfe7ce;box-shadow:inset 0 -3px #557348}.mobile-play-nav .icon{width:18px;height:18px}.playing.mobile-ui .game-hand{display:none;position:absolute;top:auto;bottom:var(--mobile-nav);left:0;right:0;width:auto;height:var(--drawer-height);padding:10px 12px;z-index:20;background:#f8f6ed;border:1px solid #cdd5be;border-radius:12px 12px 0 0;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -5px 25px #203d3022}.playing.mobile-ui.mobile-hand-open .game-hand{display:block}.playing.mobile-ui .mobile-close-hand{display:grid;place-items:center;position:absolute;right:4px;top:4px;min-height:44px;min-width:44px;z-index:2}.playing.mobile-ui .hand-heading{height:auto;min-height:48px;margin:0 36px 3px 0;gap:6px}.playing.mobile-ui .hand-heading>div:first-child{flex-direction:column;gap:4px;flex-shrink:0}.playing.mobile-ui .hand-heading strong{font-size:12px}.playing.mobile-ui .hand-heading>div:first-child span{font-size:9px}.playing.mobile-ui .hand-selection{display:grid;grid-template-columns:auto auto;gap:0 8px;max-width:none}.playing.mobile-ui .hand-selection span{grid-column:1 / -1;font-size:10px;text-align:right}.playing.mobile-ui .hand-selection button{min-height:32px;min-width:38px;font-size:11px;padding:0 2px;border:0}.playing.mobile-ui #open-market,.playing.mobile-ui .turn-actions{display:none}.playing.mobile-ui .hand-body{display:block}.playing.mobile-ui .hand-cards{display:flex;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;gap:9px;padding:5px 3px 0;margin:0 -3px;scroll-snap-type:x proximity;scrollbar-width:none}.playing.mobile-ui .hand-cards::-webkit-scrollbar{display:none}.playing.mobile-ui .hand-slot{flex:0 0 106px;max-width:none;scroll-snap-align:start}.playing.mobile-ui .hand-card{height:110px;padding:7px}.playing.mobile-ui .hand-card>.terrain-art{height:40px}.playing.mobile-ui .hand-card .card-power{font-size:22px;line-height:24px}.playing.mobile-ui .hand-card>strong{margin-top:14px;font-size:11px}.playing.mobile-ui .hand-card .card-resource{font-size:9px}.playing.mobile-ui .hand-card .card-money{font-size:10px;padding-top:3px}.playing.mobile-ui .keep-card{min-height:40px;margin:0;font-size:10px;gap:4px}.playing.mobile-ui .keep-card input{width:18px;height:18px;margin:0}.playing.mobile-ui .empty-hand{padding:20px 5px;font-size:13px}.playing.mobile-ui .hand-covered{text-align:center;padding:20px}.playing.mobile-ui .hand-covered strong{font-size:23px}.playing.mobile-ui .hand-covered span{font-size:12px;line-height:1.5}.playing.mobile-ui .map-bottom{display:none;position:absolute;left:auto;right:8px;bottom:calc(var(--mobile-nav) + 8px);width:min(340px,calc(100% - 16px));padding:10px;border:1px solid #cdd5be;border-radius:8px;background:#faf9f1;z-index:18;box-shadow:0 4px 20px #203d3033}.playing.mobile-ui.mobile-camera-open .map-bottom{display:flex;flex-direction:column;gap:4px}.playing.mobile-ui .game-camera{width:100%;display:flex;justify-content:center;flex-shrink:0;gap:4px}.playing.mobile-ui .game-camera button{min-height:44px;padding:4px 6px;font-size:11px}.playing.mobile-ui .game-camera label{font-size:11px;min-height:44px}.playing.mobile-ui .game-camera input{width:18px;height:18px}.playing.mobile-ui .map-controls{margin:0;padding:0;border:0;box-shadow:none;background:transparent}.playing.mobile-ui .map-controls button{min-width:44px;min-height:44px;font-size:11px;padding:6px 10px}.playing.mobile-ui .view-options{display:none}.playing.mobile-ui.mobile-camera-open .view-options{display:flex;top:auto;left:auto;right:8px;bottom:calc(var(--mobile-nav) + 123px);width:min(340px,calc(100% - 16px));padding:10px;min-height:44px;font-size:12px;background:#faf9f1;border:1px solid #cdd5be;border-radius:8px;z-index:18}.playing.mobile-ui .tile-inspector,.playing.mobile-ui.learning .tile-inspector{top:auto;bottom:calc(var(--mobile-nav) + 8px);left:8px;right:8px;width:auto;max-height:calc(100% - var(--mobile-nav) - var(--mobile-bar) - 16px);padding:12px;overflow-y:auto;overscroll-behavior:contain;z-index:19;background:#faf9f1}.playing.mobile-ui.mobile-hand-open .tile-inspector{bottom:calc(var(--mobile-nav) + var(--drawer-height) + 4px);max-height:calc(100% - var(--mobile-nav) - var(--mobile-bar) - var(--drawer-height) - 12px)}.playing.mobile-ui .tile-inspector h3{margin:5px 0 8px;font-size:23px}.playing.mobile-ui .tile-inspector>.terrain-art{top:32px;right:54px;width:45px;height:32px}.playing.mobile-ui .tile-inspector #close-inspector{min-width:44px;min-height:44px;top:0;right:0}.playing.mobile-ui .tile-inspector .payment-feedback{font-size:11px;margin-top:6px;padding:6px}.playing.mobile-ui .tile-inspector button,.playing.mobile-ui .scout-action summary{min-height:44px;font-size:12px}.playing.mobile-ui .tutorial-coach{top:calc(var(--mobile-bar) + 8px);left:8px;right:8px;padding:8px 10px;max-height:120px;overflow-y:auto}.playing.mobile-ui .tutorial-coach strong{font-size:16px;margin:3px 0}.playing.mobile-ui .tutorial-coach p{font-size:11px}.playing.mobile-ui .coach-actions button{min-height:36px}.playing.mobile-ui .sidebar{display:none}.playing.mobile-ui.mobile-market .sidebar{display:block;position:absolute;inset:var(--mobile-bar) 0 calc(var(--drawer-height) + var(--mobile-nav));z-index:21;border:0;padding:0 12px 16px;overflow-y:auto;overscroll-behavior:contain;background:#f8f6ed}.playing.mobile-ui .sidebar-footer,.playing.mobile-ui .game-title,.playing.mobile-ui .turn-status{display:none}.playing.mobile-ui .mobile-market-bar{display:flex;position:sticky;top:0;z-index:2;justify-content:space-between;align-items:center;gap:8px;min-height:48px;background:#f8f6ed;border-bottom:1px solid #cdd5be;margin-bottom:8px}.mobile-market-bar strong{font:20px Georgia,serif}.mobile-market-bar button{min-height:44px;font-size:11px;display:flex;align-items:center;gap:4px}.playing.mobile-ui .player-list,.playing.mobile-ui .game-sidebar>.eyebrow{display:none}.playing.mobile-ui .market-heading{margin-top:8px;padding-top:0;border-top:0}.playing.mobile-ui .market-heading h3{font-size:14px}.playing.mobile-ui .market-heading>span,.playing.mobile-ui .market-note{font-size:11px;line-height:1.5}.playing.mobile-ui .market-card{padding:10px;min-height:118px}.playing.mobile-ui .market-card strong,.playing.mobile-ui .market-price{font-size:11px}.playing.mobile-ui .discovery-journal button,.playing.mobile-ui .game-sidebar-actions button,.playing.mobile-ui .game-log summary{min-height:44px;font-size:12px}.playing.mobile-ui .discovery-journal button strong,.playing.mobile-ui .discovery-journal button span{font-size:11px}.mobile-ui dialog{max-height:calc(var(--mobile-height, 100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.mobile-ui dialog button{min-height:44px}.playing.mobile-ui .toast{bottom:calc(var(--mobile-nav) + 10px);font-size:12px;max-width:calc(100% - 24px);z-index:30;pointer-events:none}@media(orientation:landscape){.playing.mobile-ui{--drawer-width: min(340px, 46%)}.playing.mobile-ui .game-hand{top:var(--mobile-bar);bottom:var(--mobile-nav);left:auto;right:0;width:var(--drawer-width);height:auto;border-radius:10px 0 0}.playing.mobile-ui.mobile-hand-open .tile-inspector{right:calc(var(--drawer-width) + 8px);bottom:calc(var(--mobile-nav) + 8px);max-height:calc(100% - var(--mobile-nav) - var(--mobile-bar) - 16px)}.playing.mobile-ui .tile-inspector{left:auto;width:min(370px,calc(100% - 16px))}.playing.mobile-ui.mobile-hand-open .tile-inspector{width:calc(100% - var(--drawer-width) - 16px)}.playing.mobile-ui.mobile-market .sidebar{right:var(--drawer-width);bottom:var(--mobile-nav)}.playing.mobile-ui .tutorial-coach{right:auto;width:min(400px,calc(100% - 16px));max-height:92px}}@media(orientation:landscape)and (max-height:380px){.playing.mobile-ui .game-hand{padding:6px 10px}.playing.mobile-ui .hand-heading{min-height:42px;margin-bottom:0}.playing.mobile-ui .hand-heading>div:first-child span{display:none}.playing.mobile-ui .hand-card{height:86px;padding:5px 7px}.playing.mobile-ui .hand-card>.terrain-art{height:29px}.playing.mobile-ui .hand-card>strong{margin-top:3px;font-size:10px}.playing.mobile-ui .hand-card .card-resource{margin-top:2px}.playing.mobile-ui .keep-card{min-height:36px}}@media(max-width:640px){.ruins-dialog{padding:23px 18px}.ruins-dialog h2{font-size:29px}.reward-choices{gap:7px}.reward-choices strong{font-size:10px;margin-left:7px}.reward-choices span{font-size:8px;margin-left:7px}.reward-choices .terrain-art{height:62px}}#app-settings{width:520px}#app-settings h2{font:32px/1.1 Libre Caslon Display,Georgia,serif}#app-settings h3{font-size:16px;margin-top:24px}#app-settings p{font-size:13px;line-height:1.6;margin:14px 0;color:#617258}#app-settings #offline-status{padding:12px;background:#e9efdf;border-radius:5px}#app-settings button,.import-save{min-height:44px;padding:10px 14px;border:1px solid #b8c7a9;border-radius:5px;font-size:13px}dialog .dialog-heading>button{display:grid;place-items:center;width:44px;height:44px;padding:0;margin:-6px -10px 0 0;border:0;border-radius:6px;background:none;font-size:24px;flex-shrink:0}dialog .dialog-heading>button:hover{background:#e3e8d8}#game-rules{padding-top:0}#game-rules .dialog-heading{position:sticky;top:0;z-index:1;padding-top:28px;background:#f8f7ef}@media(max-width:640px){#game-rules .dialog-heading{padding-top:23px}}.handoff-dialog>button.dialog-secondary{background:none;color:#2b523a;border:1px solid #8b9c7b;margin-top:10px}#install-app{background:#254d35;color:#fff2d4}.save-transfer{display:flex;flex-wrap:wrap;gap:10px}.import-save{position:relative;display:flex;align-items:center;cursor:pointer;overflow:hidden}.import-save input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.import-save:focus-within{outline:3px solid #526f9a;outline-offset:3px}#desktop-market-toggle{display:none}.playing:not(.mobile-ui){--dock-height: 206px}.playing:not(.mobile-ui).hand-empty,.playing:not(.mobile-ui).hand-covered-state{--dock-height: 78px}.playing:not(.mobile-ui) .site-header{height:44px;padding:0 20px;gap:22px}.playing .export-button{display:none}.playing:not(.mobile-ui) .brand-mark{width:28px;height:34px}.playing:not(.mobile-ui) .brand-name{font-size:19px}.playing:not(.mobile-ui) .brand-overline,.playing:not(.mobile-ui) .header-section{display:none}.playing:not(.mobile-ui) .workspace{display:block;height:calc(100dvh - 44px);min-height:480px;position:relative}.playing:not(.mobile-ui) .map-panel{width:100%;height:100%;min-height:0;max-height:none}.playing:not(.mobile-ui) #map-canvas,.playing:not(.mobile-ui).learning #map-canvas{inset:0 0 var(--dock-height)}.playing:not(.mobile-ui) .map-heading{top:12px;left:16px;right:auto;padding:9px 12px;border-radius:6px;background:#f8f6edeb;z-index:4;pointer-events:none}.playing:not(.mobile-ui) .map-heading h2{font-size:21px;margin-top:3px}.playing:not(.mobile-ui) .map-heading .eyebrow{font-size:8px;letter-spacing:1px}.playing:not(.mobile-ui) .live-badge{display:none}.playing:not(.mobile-ui) .view-options{top:16px;left:auto;right:204px;padding:8px 10px;background:#f8f6edeb;border-radius:5px;z-index:4}.playing:not(.mobile-ui) #desktop-market-toggle{display:block;position:absolute;top:12px;right:16px;padding:12px 15px;border:1px solid #bcc9ad;border-radius:5px;background:#f8f6ed;font-size:12px;z-index:11}.playing:not(.mobile-ui) #desktop-market-toggle[aria-expanded=true]{background:#dfe7ce}.playing:not(.mobile-ui) .map-bottom{left:16px;right:16px;bottom:calc(var(--dock-height) + 12px);display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:12px}.playing:not(.mobile-ui) .game-camera{width:auto;gap:5px;background:#f8f6edf0;padding:4px;border:1px solid #cdd5be;border-radius:5px}.playing:not(.mobile-ui) .game-camera button{font-size:11px;padding:8px 10px;border:0}.playing:not(.mobile-ui) .game-camera label{padding:0 7px;font-size:11px}.playing:not(.mobile-ui) .map-controls{margin:0;padding:3px;background:#f8f6edf0}.playing:not(.mobile-ui) .map-controls button{padding:8px 10px;font-size:11px}.playing:not(.mobile-ui) .nearby-moves{bottom:calc(var(--dock-height) + 65px);left:16px;right:16px;justify-content:flex-start;flex-wrap:nowrap;pointer-events:none}.playing:not(.mobile-ui) .nearby-moves button{pointer-events:auto}.playing:not(.mobile-ui) .nearby-moves:not(:has(button)):not(:has(.route-stop)){display:none}.playing:not(.mobile-ui) .nearby-moves>span{padding:6px;background:#f8f6eddb;border-radius:4px}.playing:not(.mobile-ui) .game-hand{height:var(--dock-height);padding:10px 20px;background:#f8f6ed}.playing:not(.mobile-ui) .hand-heading{margin-bottom:5px}.playing:not(.mobile-ui) .hand-heading>div:first-child{flex-direction:row;gap:10px}.playing:not(.mobile-ui) .hand-body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px}.playing:not(.mobile-ui) .hand-cards{gap:10px}.playing:not(.mobile-ui) .hand-slot{max-width:144px}.playing:not(.mobile-ui) .hand-card{height:132px}.playing:not(.mobile-ui) .hand-card>.terrain-art{height:50px}.playing:not(.mobile-ui) .hand-card>strong{margin-top:20px;font-size:12px}.playing:not(.mobile-ui) .hand-card .card-resource,.playing:not(.mobile-ui) .hand-card .card-money{font-size:10px}.playing:not(.mobile-ui) .keep-card{min-height:24px;margin-top:3px;font-size:9px}.playing:not(.mobile-ui) .keep-card input{width:14px;height:14px}.playing:not(.mobile-ui) .turn-actions{display:block}.playing:not(.mobile-ui) .active-power{margin-bottom:10px}.playing:not(.mobile-ui) .active-power span{font-size:10px;line-height:1.4}.playing:not(.mobile-ui) #end-turn{width:100%;min-height:40px}.playing:not(.mobile-ui).hand-empty .game-hand{display:flex;align-items:center;gap:24px}.playing:not(.mobile-ui).hand-empty .hand-heading{margin:0;min-width:200px}.playing:not(.mobile-ui).hand-empty .hand-heading>div:first-child{flex-direction:column;align-items:flex-start;gap:5px}.playing:not(.mobile-ui).hand-empty .hand-selection{display:none}.playing:not(.mobile-ui).hand-empty .hand-body{flex:1;display:flex;justify-content:space-between;align-items:center;gap:20px}.playing:not(.mobile-ui).hand-empty .empty-hand{padding:0;font-size:12px;line-height:1.6}.playing:not(.mobile-ui).hand-empty .turn-actions{display:flex;align-items:center;gap:16px}.playing:not(.mobile-ui).hand-empty .active-power{margin:0;max-width:210px}.playing:not(.mobile-ui).hand-empty .active-power span{display:none}.playing:not(.mobile-ui).hand-empty #end-turn{width:145px}.playing:not(.mobile-ui).hand-covered-state .hand-covered{flex-direction:row;gap:18px}.playing:not(.mobile-ui).hand-covered-state .hand-covered strong{font-size:22px}.playing:not(.mobile-ui) .sidebar{display:none}.playing:not(.mobile-ui).desktop-market-open .sidebar{display:block;position:absolute;right:0;top:64px;bottom:var(--dock-height);width:320px;padding:0 20px 16px;z-index:10;background:#f8f6ed;border:1px solid #cdd5be;border-radius:8px 0 0;box-shadow:-8px 0 30px #203d3022;overflow-y:auto}.playing:not(.mobile-ui) .mobile-market-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;background:#f8f6ed;min-height:50px;z-index:2;border-bottom:1px solid #cdd5be}.playing:not(.mobile-ui) .mobile-market-bar strong{font-size:18px}.playing:not(.mobile-ui) .game-title,.playing:not(.mobile-ui) .turn-status,.playing:not(.mobile-ui) .sidebar-footer{display:none}.playing:not(.mobile-ui) .game-sidebar>.eyebrow{margin:14px 0 8px}.playing:not(.mobile-ui) .tile-inspector,.playing:not(.mobile-ui).learning .tile-inspector{top:76px;right:16px;max-height:calc(100% - var(--dock-height) - 144px)}.playing:not(.mobile-ui) .tutorial-coach{top:80px;left:16px;right:auto;max-width:min(520px,calc(100% - 32px));padding:10px 14px}.playing:not(.mobile-ui) .tutorial-coach strong{font-size:20px}.playing:not(.mobile-ui) .toast{bottom:calc(var(--dock-height) + 12px);pointer-events:none}.brand-name{white-space:nowrap;letter-spacing:.7px}.brand-tagline{display:block;margin-top:4px;font-size:10px;color:#d2bf94;letter-spacing:.2px}.playing:not(.mobile-ui) .brand-tagline{display:none}@media(max-width:700px){.brand-name{font-size:19px;letter-spacing:0}.brand-tagline{font-size:9px}}.quick-market{display:none}.playing:not(.mobile-ui) .hand-body{grid-template-columns:minmax(0,1fr) 380px 170px;gap:16px}.playing:not(.mobile-ui) .hand-cards{justify-content:flex-start;min-width:0;overflow-x:auto;padding:4px 3px 1px;margin:-4px -3px -1px;scrollbar-width:thin}.playing:not(.mobile-ui) .hand-slot{flex:0 0 clamp(110px,10vw,144px)}.playing:not(.mobile-ui) .quick-market{display:block;align-self:center;border-left:1px solid #d8ddcd;padding-left:14px}.quick-market-heading{display:flex;align-items:center;gap:8px;height:23px}.quick-market-heading>strong{font-size:12px}.quick-market-heading>span{margin-left:auto;font-size:10px;color:#657750}.quick-market-heading>button{display:grid;place-items:center;width:26px;height:23px;border-radius:3px}.quick-market-heading>button:hover{background:#e1e8d4}.quick-market-heading .icon{width:15px;height:15px}.quick-market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.quick-market-grid>button{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:3px;align-items:center;text-align:left;height:40px;padding:3px 4px;border:1px solid #73915d;border-top:3px solid var(--card-color);border-radius:4px;background:#eaf0de;color:#294832}.quick-market-grid>button:hover:not(:disabled){background:#d8e5c6;box-shadow:0 0 0 1px #73915d}.quick-market-grid>button:disabled{opacity:1;cursor:default;background:#f3f3eb;color:#818575;border-color:#d9decf;border-top-color:var(--card-color)}.quick-power{grid-row:1 / 3;display:flex;flex-direction:column;align-items:center;gap:1px;font:15px/1 Georgia,serif}.quick-power .icon{width:12px;height:12px}.quick-market-grid strong{font-size:10px;line-height:1.1;font-weight:500;overflow-wrap:anywhere}.quick-market-grid small{font-size:9px;white-space:nowrap}.quick-market>p{margin-top:4px;font-size:9px;color:#657750;line-height:1.25}.playing:not(.mobile-ui).hand-empty .quick-market{display:none}@media(max-width:1100px){.playing:not(.mobile-ui) .hand-body{grid-template-columns:minmax(0,1fr) 300px 140px;gap:12px}.playing:not(.mobile-ui) .quick-market{padding-left:10px}.quick-market-grid>button{grid-template-columns:18px minmax(0,1fr)}}.quick-market-grid>button[aria-disabled=true],.market-card[aria-disabled=true]{cursor:help}.quick-market-grid>button[aria-disabled=true]{background:#f3f3eb;color:#737969;border-color:#d9decf;border-top-color:var(--card-color);box-shadow:none}.market-card[aria-disabled=true]{opacity:.7}.market-card[aria-disabled=true]:hover{opacity:1}.quick-market{position:relative}#quick-market-feedback.feedback-visible{position:absolute;left:8px;right:0;bottom:calc(100% + 5px);padding:9px 11px;background:#faf9f1;color:#304b37;border:1px solid #b3c29f;border-radius:5px;box-shadow:0 4px 15px #263c3120;font-size:11px;line-height:1.4;z-index:5}#market-feedback{padding:8px;background:#e8eedb;border-radius:4px;color:#425b3c}#market-feedback.unavailable-reason,#quick-market-feedback.unavailable-reason{background:#f5ecd6;border-color:#cbb57c;color:#70572c}.sound-setting{display:flex;align-items:center;gap:10px;min-height:44px}.sound-setting input{width:20px;height:20px;accent-color:#365e40}.race-tracker{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 12px;background:#f8f6edef;border:1px solid #d7dfcb;border-radius:6px;z-index:4;pointer-events:none}.race-caption{font-size:11px;white-space:nowrap}.race-caption>span{display:block;font-size:8px;color:#7b896d;margin-top:4px}.race-player{min-width:86px;display:grid;grid-template-columns:7px 1fr;gap:3px 5px;color:#67735e}.race-player.current{color:#244b36}.race-dot{width:7px;height:7px;border-radius:50%;background:var(--racer);align-self:center}.race-player strong{font-size:11px;white-space:nowrap}.race-rank{font-size:9px;font-weight:400;color:#7c886f}.race-player>span:not(.race-dot){grid-column:2;font-size:9px}.race-meter{grid-column:1 / -1;height:3px;background:#dce2d3;border-radius:3px;overflow:hidden}.race-meter i{display:block;height:100%;background:var(--racer);transition:width .3s ease}.action-receipt{position:absolute;bottom:calc(var(--dock-height, 206px) + 64px);left:50%;transform:translate(-50%);padding:9px 14px;border-radius:5px;background:#244b36;color:#fff3d6;box-shadow:0 4px 14px #263c3120;font-size:12px;z-index:25;pointer-events:none}.receipt-pop{animation:receipt-pop .22s ease-out}@keyframes receipt-pop{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(max-width:1200px){.race-tracker{left:16px;top:80px;transform:none}}.playing.mobile-ui .race-tracker{top:calc(var(--mobile-bar) + 5px);left:8px;right:8px;transform:none;padding:6px 8px;gap:9px}.playing.mobile-ui .race-caption{display:none}.playing.mobile-ui .race-player{min-width:0;flex:1}.playing.mobile-ui .race-player strong{font-size:10px}.playing.mobile-ui .race-player>span:not(.race-dot){font-size:8px}.playing.mobile-ui .action-receipt{bottom:calc(var(--mobile-nav) + 10px);max-width:calc(100% - 20px);font-size:11px}.playing.mobile-ui.mobile-hand-open .action-receipt{bottom:calc(var(--mobile-nav) + var(--drawer-height) + 6px)}@media(prefers-reduced-motion:reduce){.receipt-pop{animation:none}.race-meter i{transition:none}}#market-feedback.feedback-visible{position:sticky;top:50px;z-index:3;box-shadow:0 3px 8px #263c3112}@media(orientation:landscape){.playing.mobile-ui.mobile-hand-open .action-receipt{bottom:calc(var(--mobile-nav) + 8px);left:8px;transform:none;max-width:calc(100% - var(--drawer-width) - 16px)}}.playing.mobile-ui .race-tracker{max-width:520px}@media(orientation:landscape){.playing.mobile-ui.mobile-hand-open .race-tracker{right:calc(var(--drawer-width) + 8px)}}@media(orientation:landscape)and (max-height:380px){.playing.mobile-ui .race-player{grid-template-columns:6px auto 1fr;column-gap:3px}.playing.mobile-ui .race-player strong{font-size:9px}.playing.mobile-ui .race-player>span:not(.race-dot){grid-column:3;white-space:nowrap;align-self:center}}.playing:not(.mobile-ui) .eyebrow,.playing:not(.mobile-ui) .race-caption span,.playing:not(.mobile-ui) .hand-heading>div:first-child span{font-size:10px}.playing:not(.mobile-ui) .hand-selection span,.playing:not(.mobile-ui) .hand-selection button,.playing:not(.mobile-ui) .keep-card,.playing:not(.mobile-ui) .quick-market-grid small,.playing:not(.mobile-ui) .quick-market-grid strong,.playing:not(.mobile-ui) .quick-market p,.playing:not(.mobile-ui) .quick-market-heading span,.playing:not(.mobile-ui) .race-player span,.playing:not(.mobile-ui) .race-rank,.playing:not(.mobile-ui) .card-resource,.playing:not(.mobile-ui) .card-money,.playing:not(.mobile-ui) .active-power span,.playing:not(.mobile-ui) .view-options label,.playing:not(.mobile-ui) .race-caption{font-size:12px}.playing:not(.mobile-ui) .hand-card>strong,.playing:not(.mobile-ui) .active-power strong,.playing:not(.mobile-ui) .race-player strong,.playing:not(.mobile-ui) .explorer-pin,.playing:not(.mobile-ui) .game-camera button,.playing:not(.mobile-ui) .game-camera label,.playing:not(.mobile-ui) .view-switch button,.playing:not(.mobile-ui) #end-turn{font-size:13px}.playing:not(.mobile-ui) .hand-body{grid-template-columns:minmax(0,1fr) 460px 170px}.playing:not(.mobile-ui) .quick-market-grid>button{height:46px}@media @media (max-width: 1200px){.playing:not(.mobile-ui) .hand-body{grid-template-columns:minmax(0,1fr) 400px 150px}}.playing:not(.mobile-ui){--dock-height: 230px}.playing:not(.mobile-ui) .nearby-moves>span{font-size:10px}.playing:not(.mobile-ui) .preview-action p,.playing:not(.mobile-ui) .scout-action p,.playing:not(.mobile-ui) .scout-action summary,.playing:not(.mobile-ui) .scout-action button,.playing:not(.mobile-ui) .exploration-hud p,.playing:not(.mobile-ui) .exploration-hud strong span,.playing:not(.mobile-ui) .payment-feedback,.playing:not(.mobile-ui) .visibility-note,.playing:not(.mobile-ui) .coach-actions #skip-lessons,.playing:not(.mobile-ui) .tutorial-start span,.playing:not(.mobile-ui) .discovery-setting span,.playing:not(.mobile-ui) .nearby-moves small,.playing:not(.mobile-ui) .entry-cost{font-size:12px}.playing:not(.mobile-ui) .exploration-hud strong,.playing:not(.mobile-ui) .nearby-moves button{font-size:13px}.playing:not(.mobile-ui) .tile-inspector p{font-size:12px}.playing:not(.mobile-ui) .hand-card .card-resource,.playing:not(.mobile-ui) .hand-card .card-money{font-size:12px}.playing:not(.mobile-ui) .map-heading .eyebrow,.playing:not(.mobile-ui) .map-heading .eyebrow span{font-size:10px}.playing:not(.mobile-ui) .preview-action button{font-size:13px}#app-settings #close-app-settings{padding:0;border:0;font-size:24px}.lesson-spotlight{outline:2px solid #c8a565;outline-offset:3px;box-shadow:0 0 0 6px #c8a56540;animation:lesson-pulse 1.6s ease-in-out infinite}@keyframes lesson-pulse{50%{box-shadow:0 0 0 11px #c8a56514}}@media(prefers-reduced-motion:reduce){.lesson-spotlight{animation:none}}.quick-market-grid>.quick-wide{grid-column:1 / -1;grid-template-columns:24px auto minmax(0,1fr);height:36px}.quick-market-grid>.quick-wide small{grid-column:3;text-align:right}.playing:not(.mobile-ui){--dock-height: 280px}
