@font-face{font-family:Manrope;src:url('../public/fonts/manrope-400.ttf')}@font-face{font-family:Manrope;src:url('../public/fonts/manrope-600.ttf');font-weight:600}@font-face{font-family:Cormorant;src:url('../public/fonts/cormorant-garamond-600.ttf');font-weight:600}
:root{--ink:#203c36;--pine:#244f43;--deep:#153932;--paper:#f5f0e4;--cream:#fffbf0;--muted:#6c776a;--line:#d8d8c6;--gold:#a96536;--soft:#e8e9dc;--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif;color:var(--ink);font-family:var(--sans);font-size:14px;font-synthesis:none;background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.42}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b5733a;outline-offset:3px}button{border:0}a{color:inherit}img,svg{display:block}img{max-width:100%}.icon{width:22px;height:22px;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.5}.wordmark{font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:-2px;text-decoration:none;font-weight:600;white-space:nowrap}.wordmark-dot{color:#c38d50}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:600}h2{font-size:38px;line-height:.98;letter-spacing:-1.2px}h2 em{font-weight:600;color:#70815f}h3{font-family:var(--serif);font-size:26px;line-height:1.1}button.primary,button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border-radius:6px;font-weight:600;font-size:14px;line-height:1.4;transition:background .18s,box-shadow .18s,transform .18s;white-space:nowrap}button.primary{background:var(--pine);color:#fff9e9;box-shadow:0 3px 0 #153a30,0 5px 15px #173d3a16}button.primary:not(:disabled):hover{background:#34634f;transform:translateY(-1px)}button.secondary{background:transparent;border:1px solid #b8c0ad;color:var(--pine)}button.secondary:hover{background:#e8eddf}.text-button{background:none;border:0;padding:12px 0;min-height:44px;text-decoration:underline;text-underline-offset:5px}.tool{min-width:44px;width:44px;height:44px;border-radius:5px;background:transparent;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:20px}.tool:hover{background:#dde4d5}.small-button{min-width:44px;min-height:44px;background:transparent;border:1px solid #bdc8b8;border-radius:5px;padding:6px 10px;font-size:13px;font-weight:600}.small-button[aria-pressed=true]{background:#244f43;color:#fff9e9}
/* A dawn on the lake, before the first little decision. */
.home{height:100svh;min-height:650px;background:#173d3a url('../public/art/wilderness.webp') center/cover;position:relative;isolation:isolate;overflow:hidden;color:#fff6df}.home-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#112b2ada 0%,#102c2b94 30%,#112b2a10 65%),linear-gradient(0deg,#0d2929c9 0%,transparent 25%,transparent 80%,#19363235)}.home-header{height:120px;padding:35px 5%;display:flex;align-items:center;gap:45px;position:relative}.home-header .wordmark{font-size:56px}.home-edition{color:#e1e6cf;letter-spacing:2.2px}.home-guide{margin-left:auto;display:flex;align-items:center;gap:10px;color:#fff4d9;background:#153b3260;border:1px solid #fff2c940;border-radius:6px;padding:12px 18px;min-height:46px}.home-copy{position:absolute;top:28%;left:8%;max-width:650px}.home-copy>.eyebrow{color:#e6c593;font-size:11px;letter-spacing:3px}.home h1{font-size:clamp(60px,5.5vw,96px);line-height:1.02;letter-spacing:-3px;margin:22px 0 24px;text-shadow:0 2px 25px #0a302540}.home h1 em{font-weight:600;color:#e9d3a7}.home-copy>p{font-size:16px;line-height:1.9;color:#f6eedb}.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:30px;max-width:520px}.home-actions .primary{background:#eee2be;color:#1d3e36;box-shadow:0 3px 0 #c6b68f,0 10px 25px #0e291e44;min-height:58px;min-width:240px;justify-content:space-between}.home-actions .primary:hover{background:#fff0c9}.home-actions .secondary.light{color:#fff5df;border-color:#fff5df88}.home-solo{color:#eee5d0;font-size:13px}.home-facts{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.3px;color:#d4dfd0;margin-top:27px}.home-facts i{width:3px;height:3px;background:#d1b576;border-radius:50%}.home-credit{position:absolute;bottom:30px;left:5%;display:flex;flex-direction:column;gap:9px}.home-credit>span{font-size:9px;letter-spacing:2px;color:#e8d6b8}.home-credit small{font-size:10px;color:#c1d1c2}.home-seal{position:absolute;right:6%;bottom:5%;width:128px;height:128px;border:1px solid #e1d8b991;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);font-size:10px;letter-spacing:2px;color:#fff0cd;background:#193d304a}.home-seal strong{font-family:var(--serif);font-size:29px;line-height:1.2;letter-spacing:-.5px;font-style:italic}.home-seal svg{width:25px;height:25px;margin-top:6px}.home-error{background:#153c32;padding:10px;font-size:13px!important;line-height:1.5!important;margin-top:12px}
/* The table is a field journal, with the landscape at its centre. */
.in-game{overflow:hidden}.game-shell{height:100dvh;display:flex;flex-direction:column;min-height:0;background:var(--paper);background-image:radial-gradient(ellipse at 55% 40%,#fffdf4,#f3efe3 70%)}.topbar{height:72px;flex:none;display:flex;align-items:center;padding:0 30px;border-bottom:1px solid var(--line);gap:24px;background:#fbf8ee}.topbar .wordmark{font-size:42px}.edition-label{font-size:9px;letter-spacing:2px;color:#737d6d;border-left:1px solid #c4ccba;padding-left:24px}.player-tabs{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0}.player-tab{height:40px;padding:5px 12px;display:flex;align-items:center;gap:8px;background:transparent;border-radius:5px;border:1px solid transparent;white-space:nowrap;font-size:13px}.player-tab.active{border-color:#cad1bb;background:#edf0e3}.player-tab small{background:#dce3ce;padding:2px 6px;border-radius:4px;font-size:11px}.turn-dot{width:6px;height:6px;background:#457653;border-radius:50%;flex:none;box-shadow:0 0 0 3px #477a5822}.top-tools{display:flex;gap:2px}.top-tools .tool{width:40px;min-width:40px}.top-tools .icon{width:20px;height:20px}.trip-strip{flex:none;height:94px;display:flex;align-items:center;justify-content:space-between;padding:10px 34px;gap:16px}.trip-actor{display:flex;flex-direction:column;gap:5px;min-width:0}.trip-actor .eyebrow{color:#74816a}.trip-actor>strong{font-family:var(--serif);font-size:27px;line-height:1.1;font-weight:600}.trip-stats{display:flex;align-items:center;gap:28px}.trip-stats small{font-size:8px;letter-spacing:1.7px;line-height:1.5;display:block;color:#6f7d69;font-weight:600}.trip-stats strong{font-size:29px;font-weight:600;line-height:1.2;letter-spacing:-1px}.trip-stats i{font-size:12px;font-style:normal;margin-left:4px;color:#76806b;letter-spacing:0}.nature-stat{display:flex;align-items:center;gap:9px;position:relative}.nature-stat>.icon{height:30px;width:30px;color:#877347}.score-stat{background:#e9ecd9;border:1px solid #d8dec5;border-radius:7px;padding:8px 20px;text-align:left;position:relative;min-width:114px}.score-stat strong{color:#365140}.counter-delta{position:absolute;left:50%;transform:translateX(-50%);top:95%;background:#244f43;color:#fff8df;font-size:12px;white-space:nowrap;padding:5px 9px;border-radius:4px;box-shadow:0 3px 8px #14332a30;z-index:15;animation:delta-appear .25s ease-out}.counter-delta:before{content:'';position:absolute;bottom:100%;left:45%;border:4px solid transparent;border-bottom-color:#244f43}
.play-desk{display:grid;grid-template-columns:224px minmax(0,1fr) 254px;gap:0;flex:1;min-height:0;margin:0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.field-notes{padding:22px 16px 12px 0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}.notes-title{padding:0 12px 20px}.notes-title .eyebrow{color:#859077}.notes-title h2{font-size:37px;margin:14px 0 12px}.notes-title p{font-size:11px;color:#7e8577}.goal-list{display:flex;flex-direction:column;flex:1;min-height:0;justify-content:center;gap:5px}.goal-row{min-height:66px;display:grid;grid-template-columns:62px 1fr 25px;align-items:center;gap:7px;padding:7px 7px 7px 0;border-radius:5px;text-align:left;background:transparent;position:relative;width:100%}.goal-row:hover{background:#e5e9d9}.goal-row>.animal-art{width:62px;height:55px;object-fit:contain;filter:drop-shadow(0 3px 2px #65543b1c)}.goal-copy{display:flex;flex-direction:column;gap:4px}.goal-copy strong{font-size:14px;font-weight:600}.goal-copy small{font-size:10px;color:#737b6b;line-height:1.4}.goal-score{font-family:var(--serif);font-size:28px;text-align:center;line-height:1}.goal-score small{font-family:var(--sans);font-size:8px;display:block;margin-top:4px;color:#78826c}.notes-footer{margin-top:18px;padding:15px 12px 5px;display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);color:#828b77;font-size:10px;line-height:1.6}.notes-footer .icon{width:20px;height:20px}
.landscape{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;isolation:isolate}.landscape-caption{padding:20px 22px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:80px;flex:none}.landscape-caption .eyebrow{color:#7c8a71;font-size:8px;letter-spacing:1.5px}.landscape-caption h2{font-size:32px;margin-top:5px;letter-spacing:-.7px}.map-controls{display:flex;gap:0;align-items:center}.map-controls .tool{width:34px;min-width:34px;height:44px}.map-controls .icon{width:18px;height:18px}.map-viewport{flex:1;min-height:0;position:relative;overflow:hidden;isolation:isolate;user-select:none}.contours{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cg fill='none' stroke='%23d1d9c4' stroke-width='.8' opacity='.7'%3E%3Cpath d='M-30 430C100 120 230 550 390 310S700 200 690 400M-30 455C110 120 240 580 400 330S710 220 690 420M-30 480C120 130 250 610 410 350S720 240 690 440M-30 505C130 140 260 640 420 370S730 260 690 460M-30 530C140 150 270 670 430 390S740 280 690 480M-30 555C150 160 280 700 440 410S750 300 690 500M-30 580C160 170 290 730 450 430S760 320 690 520'/%3E%3C/g%3E%3C/svg%3E");background-size:contain;background-position:center;mask-image:radial-gradient(ellipse,black,transparent 80%)}.map-compass{position:absolute;top:10px;right:28px;display:flex;align-items:center;flex-direction:column;font-size:8px;letter-spacing:2px;color:#7c8b70;z-index:1;pointer-events:none}.map-compass span{font-size:36px;line-height:1.3;color:#b8c0a7}.map-stage{position:absolute;inset:0}.map-hex{position:absolute;transform:translate(-50%,-50%);background:transparent;padding:0;isolation:isolate;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border:0;overflow:visible;transition:filter .17s;min-height:0;touch-action:manipulation}.map-hex:focus-visible{outline:0;filter:drop-shadow(0 0 4px #99632f);background:#bd7941}.map-hex:focus-visible:after{content:'';position:absolute;inset:5%;clip-path:inherit;border:3px solid #b5723a;pointer-events:none}.tile-art{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 2px #48523520);pointer-events:none}.empty-hex svg{width:100%;height:100%;overflow:visible}.empty-hex polygon{fill:#f3f1e666;stroke:#a8b998;stroke-width:1.3;stroke-dasharray:4 4}.empty-hex path{stroke:#8c9e7b;stroke-width:1;fill:none}.empty-hex:hover polygon,.empty-hex:focus-visible polygon{fill:#d9e2c8aa;stroke:#477651;stroke-width:2}.habitat-hex:hover{filter:brightness(1.06)}.pending-hex{z-index:2}.pending-hex:after{content:'';position:absolute;inset:1px;clip-path:inherit;background:#f5d17d55;pointer-events:none}.preview-marker{position:absolute;left:50%;top:68%;transform:translateX(-50%);font-size:8px;letter-spacing:1px;color:#fff9e5;padding:2px 5px;background:#446f4d;border-radius:3px;z-index:3}.tile-wildlife{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:1px;padding:2px 4px;background:#fff7e3e8;border:1px solid #fffae9;border-radius:20px;max-width:88%;box-shadow:0 2px 5px #243c301a;pointer-events:none}.tile-wildlife>span{display:block;width:24px;max-width:28%;min-width:14px;aspect-ratio:1}.tile-wildlife img{width:100%;height:100%;object-fit:contain}.tile-wildlife>span:only-child{max-width:none;width:26px}.wildlife-token{display:inline-block;position:relative;width:54px;height:54px;aspect-ratio:1;flex:none;border-radius:50%;background:radial-gradient(circle at 36% 20%,#fffae7 0%,#f2e3bc 65%,#d9c28e 100%);border:2px solid #f6ead3;box-shadow:0 3px 0 #927d51,0 4px 8px #3e4e3728;isolation:isolate;pointer-events:none}.wildlife-token:before{content:'';position:absolute;inset:2px;border:1px solid #8b693344;border-radius:50%;pointer-events:none}.wildlife-token img{height:100%;width:100%;object-fit:contain;padding:4px;filter:drop-shadow(0 1px 1px #61462322)}.map-hex>.wildlife-token{position:absolute;width:58%;height:auto;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}.target-ring{position:absolute;inset:18%;border:3px solid #ffed99;border-radius:50%;box-shadow:0 0 0 2px #47724c,0 0 15px #fff1a166;pointer-events:none}.eligible-hex{filter:brightness(1.1);z-index:3}.eligible-hex .tile-wildlife{background:#fff6d4}.selection-tick{width:20px;height:20px;position:absolute;right:1px;top:3px;background:#264e3b;color:#fff4d4;border:1px solid #f5ecd2;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5;pointer-events:none}.selection-tick .icon{width:13px;height:13px}.chosen-wildlife{filter:drop-shadow(0 0 5px #8ba468)}.map-hex>.selection-tick{top:22%;right:15%}.received-hex{animation:received 1.8s ease-in-out;z-index:5}.arrival-label{position:absolute;bottom:16%;left:50%;transform:translateX(-50%);background:#264f3c;color:#fffae9;padding:2px 4px;border-radius:3px;font-size:7px;letter-spacing:.5px;white-space:nowrap;z-index:6}.scoring-hex{filter:drop-shadow(0 0 4px #b47a36);background:#bf8b3f}.scoring-hex>.wildlife-token{outline:3px solid #d2a75a}.map-whisper{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);text-align:center;font-family:var(--serif);font-size:20px;line-height:1.2;color:#8d9982;white-space:nowrap;pointer-events:none}.map-whisper em{font-style:italic}.map-mini{position:absolute;left:10px;bottom:8px;width:100px;height:68px;display:none;border:1px solid #bcc9ab;border-radius:4px;background:#fbf9eecf;pointer-events:none}.zoomed-map .map-mini{display:block}.map-mini svg{width:100%;height:100%}.pan-controls{position:absolute;right:8px;bottom:8px;display:none;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(2,28px);gap:1px;z-index:12}.zoomed-map .pan-controls{display:grid}.pan-controls .tool{width:28px;min-width:28px;height:28px;font-size:18px;background:#f8f6e9db;border:1px solid #cbd4bd}.pan-controls [data-action=pan-up]{grid-column:2}.pan-controls [data-action=pan-left]{grid-column:1;grid-row:2}.pan-controls [data-action=pan-down]{grid-column:2;grid-row:2}.pan-controls [data-action=pan-right]{grid-column:3;grid-row:2}.corridors{height:60px;flex:none;display:flex;align-items:center;justify-content:center;gap:14px;border-top:1px solid #d8dec94f;margin:0 18px}.corridors>.eyebrow{font-size:8px;letter-spacing:1.3px;color:#7c8b70}.corridor{display:flex;align-items:center;gap:5px;background:transparent;position:relative;min-height:44px;padding:5px 2px}.corridor>.icon{height:20px;width:20px;color:var(--habitat)}.corridor strong{font-size:16px;font-weight:600}.corridor>span{position:absolute;font-size:9px;bottom:100%;left:50%;transform:translateX(-50%);background:var(--cream);padding:4px 6px;border:1px solid var(--line);display:none}.corridor:hover>span,.corridor:focus-visible>span{display:block}
.market{border-left:1px solid var(--line);padding:23px 0 12px 24px;display:flex;flex-direction:column;min-height:0}.market-heading .eyebrow{font-size:8px;letter-spacing:1.6px;color:#859077}.market-heading h2{font-size:34px;margin:12px 0 10px;letter-spacing:-1px}.market-heading p{font-size:11px;color:#7e8577;line-height:1.5}.market-options{display:flex;flex-direction:column;justify-content:space-evenly;flex:1;min-height:0;padding:9px 0;gap:4px}.market-pair{display:grid;grid-template-columns:16px 76px 24px minmax(54px,1fr);align-items:center;position:relative;padding:4px;border:1px solid transparent;border-radius:7px;min-height:76px}.pair-number{font-family:var(--serif);font-size:16px;color:#a7ac99;align-self:center}.market-tile{position:relative;width:70px;height:79px;padding:0;background:transparent;transition:transform .18s;isolation:isolate}.market-tile:hover:not(:disabled){transform:translateY(-3px)}.market-tile .tile-wildlife{padding:1px 3px}.market-tile .tile-wildlife>span{width:20px;min-width:15px}.pair-link{color:#b4bda5;font-family:var(--serif);font-size:23px;text-align:center}.market-animal{background:transparent;position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:3px;min-height:70px;min-width:54px;border-radius:8px}.market-animal strong{font-size:11px;font-weight:400}.market-animal .wildlife-token{width:45px;height:45px}.animal-check{position:absolute;right:5px;top:0;background:#244f43;color:white;border-radius:50%;width:16px;height:16px;font-size:10px;display:grid;place-items:center}.selected-pair{background:#e0e8d18a;border-color:#b3c4a0}.cpu-pair{background:#e3d6b975;border:1px dashed #af894e}.market-options.unpaired .selected-pair{background:transparent;border-color:transparent}.unpaired .market-tile.selected:after{content:'';position:absolute;inset:2px;border:2px solid #54724e;border-radius:10px;pointer-events:none}.unpaired .market-animal.selected{background:#dbe4cd;outline:1px solid #9caf8b}.market-nature{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:1px;margin-top:8px;flex:none}.nature-action{background:transparent;display:flex;align-items:center;gap:9px;min-height:40px;padding:5px 2px;font-size:11px;border-radius:4px;text-align:left}.nature-action:not(:disabled):hover{background:#e4ead7}.nature-action .icon{height:19px;width:19px;color:#6c7c57}.nature-action small{font-size:10px;color:#72805f;border:1px solid #bdc9aa;border-radius:10px;padding:0 5px;margin-left:auto;line-height:1.5}.nature-action[aria-pressed=true]{color:#224b35;background:#e0e9d0}.market-tail{padding-top:13px;margin-top:8px;border-top:1px solid var(--line);flex:none;color:#849076}.market-tail>span{display:flex;gap:6px;align-items:center;font-size:10px}.market-tail .icon{width:15px;height:15px}.market-tail b{font-weight:600;color:#596e4f}.market-tail>small{display:none;font-size:9px;line-height:1.6;margin-top:10px;color:#8a927f}
.journal-strip{height:36px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px;color:#7e8874}.turn-recap{display:flex;align-items:center;gap:8px;background:transparent;min-width:0;min-height:30px;font-size:10px;padding:0;text-align:left;flex:1;line-height:1.5}.turn-recap>.icon,.opening-note .icon{width:14px;height:14px;flex:none}.turn-recap>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.turn-recap>small{color:#b0844d;font-size:9px;flex:none}.opening-note{display:flex;gap:8px;align-items:center;font-size:10px}.save-status{font-size:9px;white-space:nowrap;color:#87917b}.save-failed{color:#9b4d30;white-space:normal}.action-dock{min-height:100px;flex:none;background:#e9eddd;border-top:1px solid #cbd7ba;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #334c2f04;position:relative;z-index:20}.dock-message{display:flex;flex-direction:column;gap:6px;min-width:0;max-width:480px}.dock-message strong{font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.05}.dock-message>span{font-size:11px;line-height:1.6;color:#627455}.turn-steps{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#8c9b7f}.step{display:flex;align-items:center;gap:6px;font-size:11px}.step:before{display:none}.step.current{color:#31583c;font-weight:600}.step.done{color:#6b8656}.turn-steps>i{width:13px;height:1px;background:#b9c9a5}.dock-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:none}.draft-tools{display:flex;gap:4px;align-items:center}.dock-actions .primary{min-width:160px}.dock-actions .tool{background:#f4f4e8;border:1px solid #bac8ac}.dock-actions .tool:disabled{display:none}.dock-actions .small-button{font-size:11px;padding:4px 9px}.turn-steps:has(~.dock-actions .draft-tools){display:none}
/* Readable field pages, separate from the live placement. */
.dialog{border:1px solid #d0d4bd;border-radius:12px;background:var(--paper);padding:0;color:var(--ink);width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-shadow:0 30px 100px #0c2a2570;overflow:hidden}.dialog::backdrop{background:#102c2cc2;backdrop-filter:blur(7px)}.dialog>.tool{position:absolute;right:12px;top:12px;background:#f8f7eadb;border:1px solid #bcc8b077;z-index:5;color:#32503c}.dialog-scroll{max-height:calc(100dvh - 42px);overflow-y:auto;overscroll-behavior:contain;padding:40px 40px 32px;scrollbar-color:#bcc6aa transparent}.dialog h2{font-size:52px;margin:14px 0 24px;line-height:.95;max-width:90%}.dialog p{font-size:15px;line-height:1.8;color:#64715a;margin-bottom:20px}.dialog .eyebrow{color:#83906e}.dialog h3{margin:24px 0 10px;font-size:26px}.dialog .primary,.dialog .secondary{min-height:48px}.dialog-setup{width:min(890px,calc(100vw - 32px))}.dialog-setup .dialog-scroll{padding:0;display:grid;grid-template-columns:290px 1fr}.setup-art{background:url('../public/art/wilderness.webp') 77% center/cover;min-height:680px;position:relative}.setup-art:after{content:'A LITTLE\A WILDERNESS\A IS WAITING.';white-space:pre;position:absolute;bottom:40px;left:26px;font-family:var(--serif);font-size:33px;line-height:1;color:#fff0d5;text-shadow:0 2px 10px #193b2c}.setup-content{padding:38px 36px 25px}.setup-content h2{font-size:52px;margin:12px 0 24px}.mode-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.mode-choices button{min-height:75px;padding:10px 8px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#eceee0;border:1px solid #d0d8c0;border-radius:5px;text-align:left}.mode-choices button.selected{background:#dde7cf;border:2px solid #668252;padding:9px 7px}.mode-choices strong{font-size:11px;line-height:1.5}.mode-choices small{font-size:9px;color:#7a8b69;margin-top:5px}.setup-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 14px}.setup-fields label{font-size:11px;font-weight:600;display:flex;flex-direction:column;gap:7px;min-width:0}.setup-fields label:has(#difficulty),.setup-fields label:has(#goal-set){grid-column:span 2}.setup-fields input,.setup-fields select{width:100%;height:44px;border:1px solid #cbd3bc;border-radius:5px;background:#fbfaef;color:#42563a;padding:8px 10px;font-size:13px;min-width:0}.seed-field{grid-column:span 2}.seed-field small{font-weight:400;font-size:10px;color:#899179}.setup-fields .seed-field input{font-size:12px}.start-button{margin-top:24px;width:100%;justify-content:space-between!important}.setup-note{font-size:11px!important;line-height:1.7!important;margin:16px 0 0!important;color:#7a886b!important}.rules-lead{font-family:var(--serif);font-size:25px;line-height:1.2;margin:0 0 26px;color:#778365}.guide-steps{display:flex;flex-direction:column;gap:0}.guide-steps article{padding:15px 0 20px 46px;border-top:1px solid var(--line);position:relative}.guide-steps article>span{position:absolute;left:0;top:18px;font-family:var(--serif);font-size:29px;color:#aebc97}.guide-steps h3{margin:0 0 8px}.guide-steps p{margin:0;font-size:14px}.guide-nature{display:flex;align-items:flex-start;gap:18px;background:#e4ead7;border-radius:6px;padding:20px;margin:8px 0 24px}.guide-nature>.icon{width:30px;height:30px;margin-top:6px;color:#8c794c}.guide-nature h3{margin:0 0 8px}.guide-nature p{margin:0;font-size:14px}.credits{padding-top:20px;border-top:1px solid var(--line);font-size:11px!important;line-height:1.8!important;color:#8a927c!important}.dialog-goal{width:min(560px,calc(100vw - 32px))}.wildlife-portrait{height:190px;position:relative;margin:-15px 0 10px;background:radial-gradient(ellipse at 50% 70%,#dde3cb 0%,transparent 65%)}.wildlife-portrait .animal-art{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 7px #4c533022)}.dialog-goal h2{font-size:45px;max-width:100%;margin:12px 0 18px}.goal-explanation{font-size:16px!important;color:#4b6143!important}.goal-example{display:flex;align-items:center;flex-direction:column;background:#e9eddd;border:1px solid #d8dfc7;padding:15px;border-radius:7px}.pattern-diagram{height:95px;max-width:100%;width:250px}.goal-example>small{font-size:9px;color:#879479;margin-top:10px}.scoring-table{font-size:14px!important;font-weight:600;padding:18px 0;border-bottom:1px solid var(--line);line-height:1.8!important;color:#425b3c!important;margin:0!important}.goal-total{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0;padding:16px 20px;background:#e1e8d1;border-radius:7px}.goal-total>span{font-size:13px;line-height:1.6;color:#5f7751}.goal-total>strong{font-family:var(--serif);font-size:42px;line-height:1;color:#395b35}.goal-total small{display:block;font-family:var(--sans);font-size:9px;font-weight:400;margin-top:4px;white-space:nowrap}.score-groups{padding:0;margin:0 0 24px;list-style:none}.score-groups li{display:flex;justify-content:space-between;padding:8px 0;font-size:12px;color:#6e7e60;border-bottom:1px solid #e1e5d6}.habitat-medal{width:100px;height:100px;margin:10px auto 30px;background:#e9eddd;display:grid;place-items:center;border-radius:50%}.habitat-medal>.icon{height:58px;width:58px}.inspect-tile{width:200px;height:220px;position:relative;margin:0 auto 25px}.inspect-tile>.wildlife-token{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px}.inspect-tile .tile-wildlife>span{width:38px}.dialog-scores,.dialog-results{width:min(820px,calc(100vw - 32px))}.score-table-wrap{overflow:auto;max-width:100%;margin-top:18px;scrollbar-color:#bcc6aa transparent}.score-table{width:100%;border-collapse:collapse;font-size:14px}.score-table th,.score-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-weight:400}.score-table thead th{font-size:12px;font-weight:600;color:#77866a}.score-table tbody th{white-space:nowrap;position:relative;padding-left:38px}.score-table th>.animal-art{position:absolute;left:0;top:50%;transform:translateY(-50%);width:30px;height:30px;object-fit:contain}.score-table th>.icon{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:22px;height:22px}.score-table td{font-weight:600}.score-table td small{font-size:9px;font-weight:400;color:#8b957f;white-space:nowrap;display:block}.score-table .total-row{background:#e1e8d2}.score-table .total-row th{padding-left:10px;font-size:11px;font-weight:600;white-space:normal}.score-table .total-row th small{font-size:9px;display:block;font-weight:400}.score-table .total-row td{font-family:var(--serif);font-size:28px}.results-banner{margin:-40px -40px 30px;height:140px;background:linear-gradient(0deg,#f5f0e400,#163a2c30),url('../public/art/wilderness.webp') center 46%/cover}.result-scores{display:flex;gap:14px;margin:25px 0;justify-content:center}.result-person{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e9ecde;padding:18px 8px;border:1px solid #d7dfc7;border-radius:6px}.result-person.winner{background:#dde8ce;border-color:#a1b881}.result-person>span{font-size:12px;overflow-wrap:anywhere}.result-person>strong{font-family:var(--serif);font-size:62px;line-height:1.1;color:#466a3d}.result-person>small{font-size:8px;letter-spacing:1px;color:#8a947c;text-align:center;line-height:1.5}.result-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:28px}.result-actions button{font-size:12px;padding:10px 15px}.setting-toggle{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.setting-toggle>span{display:flex;flex-direction:column;gap:8px}.setting-toggle strong{font-size:15px}.setting-toggle small{font-size:11px;line-height:1.7;color:#7f8a72}.setting-toggle input{width:24px;height:24px;accent-color:#436f44;flex:none}.refresh-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.refresh-choice{background:#edf0e2;border:1px solid #d2dcc2;border-radius:7px;display:flex;flex-direction:column;gap:10px;align-items:center;padding:16px 4px;min-height:125px}.refresh-choice.selected{background:#dce7cb;outline:2px solid #729158}.refresh-choice strong{font-size:12px}.refresh-choice small{font-size:9px;color:#91a17c}.dialog-refresh .primary,.dialog-refresh .secondary{width:100%;margin:8px 0}.history-list{list-style:none;padding:0;margin-top:20px}.history-list>li{display:flex;gap:17px;padding:20px 0;border-top:1px solid var(--line)}.journal-turn{font-family:var(--serif);font-size:28px;color:#a3b092;width:30px;flex:none}.history-list strong{font-size:13px}.history-list p{font-size:14px;line-height:1.7;margin:6px 0}.history-list small{font-size:11px;line-height:1.8;color:#7f8f70}.dialog-error p{color:#974d31}#effects{position:fixed;inset:0;pointer-events:none;z-index:100}.flying-habitat,.flying-wildlife{position:absolute;pointer-events:none}.flying-habitat>.tile-wildlife{top:50%}.flying-wildlife>.wildlife-token{width:100%;height:100%}
@keyframes delta-appear{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}@keyframes received{0%,100%{filter:none}30%,70%{filter:brightness(1.13) drop-shadow(0 0 8px #d4ad5e)}}
@media(min-width:1500px){.play-desk{grid-template-columns:260px minmax(0,1fr) 280px;margin:0 42px}.topbar,.trip-strip{padding-left:44px;padding-right:44px}.field-notes{padding-right:28px}.goal-row{grid-template-columns:80px 1fr 30px;min-height:80px}.goal-row>.animal-art{width:80px;height:70px}.goal-copy small{font-size:11px}.market{padding-left:30px}.market-pair{grid-template-columns:20px 100px 26px 1fr}.market-tile{width:92px;height:104px}.market-animal .wildlife-token{width:53px;height:53px}}
@media(max-height:800px) and (min-width:901px){.topbar{height:60px}.trip-strip{height:78px}.notes-title{padding-bottom:10px}.notes-title h2{font-size:30px;margin:10px 0}.notes-title p{display:none}.field-notes,.market{padding-top:15px}.notes-footer,.market-tail{display:none}.goal-row{min-height:54px;grid-template-columns:52px 1fr 24px;padding:3px 4px 3px 0}.goal-row>.animal-art{width:52px;height:48px}.landscape-caption{min-height:65px;padding-top:15px}.landscape-caption h2{font-size:28px}.market-heading h2{font-size:29px;margin:8px 0}.market-heading p{display:none}.market-pair{min-height:64px;grid-template-columns:16px 70px 22px 1fr;padding:1px 4px}.market-tile{width:65px;height:73px}.market-animal{min-height:61px;gap:5px}.market-animal .wildlife-token{width:40px;height:40px}.market-nature{padding-top:4px;margin-top:4px}.nature-action{min-height:36px}.market-options{padding:4px 0;gap:2px}.action-dock{min-height:90px;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.turn-steps{display:none}.map-whisper{bottom:3%;font-size:17px}.corridors{height:48px}}
@media(max-width:1100px) and (min-width:701px){.play-desk{grid-template-columns:180px minmax(0,1fr) 208px;margin:0 18px}.topbar{padding:0 20px;gap:14px}.edition-label{display:none}.trip-strip{padding-left:22px;padding-right:22px}.field-notes{padding-right:10px}.notes-title{padding-left:5px}.notes-title h2{font-size:32px}.goal-row{grid-template-columns:46px 1fr 22px;gap:5px}.goal-row>.animal-art{width:46px;height:50px}.goal-copy small{font-size:9px}.market{padding-left:13px}.market-pair{grid-template-columns:12px 68px 17px 1fr;padding:1px}.market-tile{width:64px;height:73px}.market-animal .wildlife-token{width:40px;height:40px}.market-heading h2{font-size:29px}.market-heading p{font-size:10px}.landscape-caption{padding-left:16px;padding-right:12px}.landscape-caption h2{font-size:28px}.map-controls .tool{width:28px;min-width:28px}.corridors{gap:8px;margin:0 8px}.corridors>.eyebrow{display:none}.action-dock{padding-left:20px;padding-right:20px;gap:12px}.turn-steps{display:none}.dock-message strong{font-size:23px}.dock-message>span{font-size:10px}.dock-actions{gap:7px}.dock-actions .primary{min-width:138px;padding:10px 14px}.draft-tools{gap:3px}.dock-actions .small-button{font-size:10px;padding:5px 7px}}
@media(max-width:700px){
 .home{height:100svh;min-height:620px;background-position:67% center}.home-shade{background:linear-gradient(0deg,#0f2e2bf5 0%,#112e2bbf 35%,#15392c44 75%,#183b2a30)}.home-header{height:90px;padding:22px 24px}.home-header .wordmark{font-size:46px}.home-edition{display:none}.home-guide{font-size:11px;padding:9px 12px;background:#15392b8c;min-height:44px}.home-guide>.icon{width:18px;height:18px}.home-copy{top:auto;bottom:120px;left:26px;right:20px;max-width:none}.home-copy>.eyebrow{font-size:8px;letter-spacing:2px}.home h1{font-size:53px;line-height:1;letter-spacing:-1.6px;margin:14px 0 16px}.home-copy>p{font-size:13px;line-height:1.8}.home-actions{margin-top:22px;gap:6px 16px}.home-actions .primary{min-width:225px;min-height:52px;font-size:13px}.home-actions .secondary{min-height:48px}.home-solo{font-size:11px}.home-facts{margin-top:15px;font-size:8px;gap:8px;letter-spacing:0}.home-credit{bottom:25px;left:26px;right:22px;max-width:280px;gap:8px}.home-credit>span{font-size:7px;letter-spacing:1.1px}.home-credit small{font-size:8px;line-height:1.8}.home-seal{width:80px;height:80px;right:17px;bottom:29px;font-size:7px;letter-spacing:1px}.home-seal strong{font-size:20px}.home-seal svg{width:17px;height:17px;margin-top:3px}
 .topbar{height:50px;padding:0 12px;gap:8px}.topbar .wordmark{font-size:31px;letter-spacing:-1.4px}.edition-label{display:none}.player-tabs{gap:1px;overflow:auto;scrollbar-width:none}.player-tab{font-size:10px;padding:3px 6px;height:34px;gap:4px;min-width:0;flex:none}.player-tab small{display:none}.turn-dot{width:5px;height:5px;box-shadow:none}.top-tools{gap:0}.top-tools .tool{width:32px;min-width:32px;height:44px}.top-tools .icon{width:17px;height:17px}.top-tools [data-action=home]{display:none}.trip-strip{height:65px;padding:7px 14px;gap:8px}.trip-actor{gap:3px;flex:1}.trip-actor .eyebrow{font-size:7px;letter-spacing:1px}.trip-actor>strong{font-size:20px;line-height:1.05}.trip-stats{gap:12px}.trip-stats small{font-size:6px;letter-spacing:1px}.trip-stats strong{font-size:23px}.trip-stats i{font-size:9px;margin-left:2px}.score-stat{min-width:64px;padding:5px 9px;border-radius:4px}.nature-stat{gap:4px}.nature-stat>.icon{width:19px;height:25px}.counter-delta{font-size:10px;padding:4px 6px}.turn-stat{min-width:35px}.trip-actor>strong{max-width:180px}
 .play-desk{display:flex;flex-direction:column;margin:0 12px;min-height:0;flex:1}.field-notes{padding:0;border:0;flex:none;height:54px;border-bottom:1px solid var(--line)}.notes-title,.notes-footer{display:none}.goal-list{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.goal-row{min-height:44px;height:54px;padding:3px;display:flex;flex-direction:row;gap:2px;align-items:center;justify-content:center;width:auto}.goal-row>.animal-art{width:36px;height:36px;object-fit:contain;max-width:60%}.goal-copy{display:none}.goal-score{font-size:23px;line-height:1}.goal-score small{font-size:7px;margin-top:2px}.landscape{flex:1;min-height:0}.landscape-caption{min-height:40px;padding:5px 4px 0;gap:5px;align-items:center}.landscape-caption .eyebrow{display:none}.landscape-caption h2{font-size:23px;margin:0;letter-spacing:-.5px}.map-controls .tool{height:36px;width:32px;min-width:32px}.map-controls .icon{width:16px;height:16px}.map-compass{right:10px;top:4px}.map-compass span{font-size:25px}.map-whisper{display:none}.corridors{height:38px;gap:14px;margin:0 3px;justify-content:center}.corridors>.eyebrow{font-size:6px;letter-spacing:1px}.corridor{min-height:36px;padding:3px 0;gap:4px}.corridor>.icon{width:16px;height:16px}.corridor strong{font-size:13px}.tile-wildlife{gap:0;padding:1px 2px}.tile-wildlife>span{width:19px;min-width:12px}.tile-wildlife>span:only-child{width:21px}.preview-marker{font-size:7px;letter-spacing:.5px;padding:1px 3px}.arrival-label{font-size:6px;padding:1px 3px}.target-ring{border-width:2px}.map-mini{width:75px;height:51px;left:2px;bottom:3px}.pan-controls{right:2px;bottom:3px;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(2,32px)}.pan-controls .tool{min-width:32px;width:32px;height:32px}
 .market{border-left:0;border-top:1px solid var(--line);padding:7px 0 0;flex:none;min-height:0}.market-heading{display:flex;align-items:center;gap:10px;padding:0 3px;justify-content:space-between}.market-heading .eyebrow{display:none}.market-heading h2{font-size:20px;margin:0;letter-spacing:-.5px}.market-heading p{font-size:8px;line-height:1.2}.market-options{display:grid;grid-template-columns:repeat(4,1fr);padding:4px 0 0;gap:4px;flex:none}.market-pair{display:flex;flex-direction:column;padding:2px 1px;gap:0;min-height:0;justify-content:center}.pair-number{position:absolute;left:1px;top:8px;font-size:11px;z-index:2;line-height:1}.market-tile{width:65px;height:73px;flex:none}.pair-link{display:none}.market-animal{min-height:44px;min-width:60px;width:100%;display:flex;flex-direction:row;gap:4px;justify-content:center;padding:2px 0}.market-animal .wildlife-token{width:32px;height:32px;border-width:1px;box-shadow:0 2px 0 #927d51,0 3px 5px #3e4e3728}.market-animal .wildlife-token img{padding:2px}.market-animal strong{font-size:9px}.animal-check{right:3px;top:0;width:13px;height:13px;font-size:8px}.market-nature{display:flex;flex-direction:row;gap:8px;margin:3px 0 0;padding:0;border-top:0;justify-content:center}.nature-action{min-height:36px;flex:1;justify-content:center;font-size:9px;gap:5px;padding:2px;max-width:170px}.nature-action .icon{width:15px;height:15px}.nature-action small{font-size:8px;margin-left:0;line-height:1.5}.market-tail{display:none}.market-tile .tile-wildlife>span{width:16px;min-width:12px}.market-tile .selection-tick{width:16px;height:16px;right:1px;top:8px}.market-tile .selection-tick .icon{width:11px;height:11px}
 .journal-strip{height:27px;padding:0 14px;gap:5px}.save-status{display:none}.turn-recap{font-size:8px;min-height:25px;gap:4px}.turn-recap>small{font-size:8px}.turn-recap>.icon{width:12px;height:12px}.opening-note{font-size:8px;gap:5px}.opening-note .icon{width:12px;height:12px}.action-dock{min-height:112px;display:flex;flex-direction:column;align-items:stretch;padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:8px}.dock-message{max-width:none;gap:4px}.dock-message strong{font-size:22px;line-height:1}.dock-message>span{font-size:10px;line-height:1.5}.turn-steps{display:none}.dock-actions{justify-content:space-between;gap:5px;min-height:44px}.dock-actions:not(:has(.draft-tools)){justify-content:flex-end}.dock-actions .primary,.dock-actions .secondary{min-width:135px;font-size:12px;min-height:44px;padding:9px 12px;gap:6px}.dock-actions .primary>.icon,.dock-actions .secondary>.icon{width:18px;height:18px}.draft-tools{gap:4px}.dock-actions .tool{width:44px;min-width:44px;height:44px}.dock-actions .small-button{font-size:10px;line-height:1.2;max-width:66px;padding:5px 6px;min-height:44px;min-width:44px}
 .dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:9px}.dialog-scroll{padding:30px 24px 24px;max-height:calc(100dvh - 22px)}.dialog h2{font-size:43px;margin:16px 0 20px}.dialog p{font-size:14px;line-height:1.8}.dialog>.tool{top:8px;right:8px;width:38px;min-width:38px;height:38px}.dialog-setup .dialog-scroll{display:block}.setup-art{height:115px;min-height:0;background-position:75% 46%}.setup-art:after{font-size:20px;bottom:18px;left:20px}.setup-content{padding:22px 22px 24px}.setup-content>.eyebrow{font-size:8px}.setup-content h2{font-size:43px;margin:12px 0 20px}.mode-choices{gap:5px;margin-bottom:20px}.mode-choices button{min-height:70px;padding:10px 6px}.mode-choices button.selected{padding:9px 5px}.mode-choices strong{font-size:10px}.mode-choices small{font-size:8px}.setup-fields{gap:13px 10px}.setup-fields label{font-size:11px}.setup-fields input,.setup-fields select{font-size:12px}.start-button{margin-top:20px}.setup-note{font-size:10px!important}.wildlife-portrait{height:165px;margin-top:0}.dialog-goal h2{font-size:40px}.goal-example{padding:10px}.pattern-diagram{height:80px}.goal-explanation{font-size:15px!important}.scoring-table{font-size:13px!important}.goal-total{padding:15px;margin:16px 0}.goal-total>span{font-size:12px}.goal-total>strong{font-size:37px}.guide-steps article{padding-left:34px}.guide-steps article>span{font-size:24px}.guide-steps h3{font-size:23px}.guide-steps p{font-size:13px}.guide-nature{gap:10px;padding:15px}.guide-nature h3{font-size:23px}.guide-nature p{font-size:13px}.guide-nature>.icon{width:24px;height:24px}.results-banner{margin:-30px -24px 24px;height:115px}.dialog-results h2{font-size:35px;max-width:95%}.result-scores{gap:7px}.result-person{padding:13px 6px}.result-person>strong{font-size:45px}.result-person>small{font-size:6px;letter-spacing:.5px}.score-table{font-size:12px}.score-table th,.score-table td{padding:9px 6px}.score-table thead th{font-size:10px}.score-table tbody th{padding-left:28px}.score-table th>.animal-art{width:23px;height:23px}.score-table th>.icon{width:17px;height:17px;left:3px}.score-table td small{font-size:8px}.score-table .total-row td{font-size:24px}.result-actions{flex-direction:column;gap:10px}.result-actions button{min-height:44px}.refresh-choices{gap:5px}.refresh-choice{min-height:106px;padding:12px 3px;gap:7px}.refresh-choice .wildlife-token{width:43px;height:43px}.refresh-choice strong{font-size:10px}.refresh-choice small{font-size:8px}
}
@media(max-width:700px) and (max-height:680px){.topbar{height:44px}.trip-strip{height:54px;padding-top:4px;padding-bottom:4px}.trip-actor>strong{font-size:17px}.trip-actor .eyebrow{font-size:6px}.trip-stats{gap:9px}.trip-stats strong{font-size:20px}.score-stat{padding:4px 7px;min-width:58px}.field-notes{height:44px}.goal-row{height:44px;min-height:44px}.goal-row>.animal-art{width:30px;height:30px}.goal-score{font-size:20px}.landscape-caption{min-height:29px;padding-top:0}.landscape-caption h2{font-size:20px}.map-controls .tool{height:29px;width:29px;min-width:29px}.corridors{display:none}.map-whisper{display:none}.market{padding-top:2px}.market-heading{display:none}.market-options{padding:2px 0 0;gap:2px}.market-pair{padding:0}.market-tile{width:51px;height:58px}.pair-number{left:3px;top:8px;font-size:10px}.market-animal{min-height:44px;min-width:44px;gap:3px}.market-animal .wildlife-token{width:28px;height:28px}.market-animal strong{font-size:8px}.market-nature{margin:1px 0 0;gap:4px}.nature-action{min-height:32px;font-size:8px}.market-tile .tile-wildlife>span{width:14px;min-width:10px}.market-tile .tile-wildlife{padding:1px 2px}.market-tile .tile-wildlife>span:only-child{width:18px}.journal-strip{height:23px}.action-dock{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:6px;min-height:99px}.dock-message strong{font-size:20px}.dock-message>span{font-size:9px;line-height:1.4}.dock-actions .primary,.dock-actions .secondary{font-size:11px;min-width:128px;padding:8px 9px}.draft-tools{gap:3px}.dock-actions .small-button{padding:4px;font-size:9px;max-width:56px}.dock-actions{gap:4px}.top-tools .tool{width:29px;min-width:29px}.topbar{padding-left:10px;padding-right:8px;gap:4px}.player-tab{padding:3px 4px;font-size:9px}.home{min-height:540px}.home-copy{bottom:90px}.home h1{font-size:45px}.home-copy>p{font-size:12px}.home-actions{margin-top:14px}.home-facts{font-size:7px}.home-credit{bottom:16px}.home-seal{bottom:18px;width:65px;height:65px;right:14px}.home-credit{max-width:225px}.home-credit small{font-size:7px}.home-header{height:74px;padding:16px 22px}}
@media(max-height:460px) and (min-width:701px){.topbar{height:44px;padding:0 14px;gap:12px}.topbar .wordmark{font-size:31px}.top-tools .tool{height:40px;width:34px;min-width:34px}.player-tab{height:32px;font-size:11px}.trip-strip{height:48px;padding:3px 16px}.trip-actor .eyebrow{font-size:6px}.trip-actor>strong{font-size:20px}.trip-stats{gap:18px}.trip-stats small{font-size:6px}.trip-stats strong{font-size:21px}.score-stat{padding:4px 10px;min-width:80px}.nature-stat>.icon{width:20px;height:24px}.play-desk{grid-template-columns:125px minmax(0,1fr) 242px;margin:0 12px}.field-notes{padding:0 6px 0 0}.notes-title,.notes-footer{display:none}.goal-list{gap:0;justify-content:space-evenly}.goal-row{grid-template-columns:36px 1fr 20px;min-height:36px;padding:2px 0;gap:3px}.goal-row>.animal-art{width:36px;height:31px}.goal-copy strong{font-size:11px}.goal-copy small{display:none}.goal-score{font-size:22px}.goal-score small{display:none}.landscape-caption{min-height:30px;padding:0 8px}.landscape-caption .eyebrow{display:none}.landscape-caption h2{font-size:23px;margin:0}.map-controls .tool{height:30px;width:29px;min-width:29px}.corridors{height:32px;gap:8px}.corridor{min-height:30px}.corridor>.icon{width:16px;height:16px}.corridor strong{font-size:12px}.map-whisper{display:none}.map-compass{top:0;right:12px}.map-compass span{font-size:22px}.market{padding:2px 0 0 10px}.market-heading{display:none}.market-options{display:grid;grid-template-columns:repeat(2,1fr);padding:0;gap:0;min-height:0}.market-pair{display:grid;grid-template-columns:12px 48px 1fr;padding:0;min-height:60px;gap:1px}.market-tile{width:47px;height:53px}.market-animal{min-height:54px;gap:3px;padding:1px}.market-animal .wildlife-token{width:29px;height:29px}.market-animal strong{font-size:8px}.pair-number{font-size:11px}.pair-link{display:none}.market-tile .tile-wildlife{padding:1px 2px}.market-tile .tile-wildlife>span{width:13px;min-width:9px}.market-tile .tile-wildlife>span:only-child{width:17px}.market-nature{display:flex;flex-direction:row;gap:3px;margin:0;padding:1px 0 0}.nature-action{min-height:34px;font-size:8px;gap:3px}.nature-action .icon{height:14px;width:14px}.nature-action small{font-size:7px;margin-left:0}.market-tail{display:none}.journal-strip{height:22px;padding:0 15px}.turn-recap{min-height:20px;font-size:8px}.save-status,.opening-note{font-size:8px}.action-dock{min-height:72px;padding:8px 15px;gap:12px}.dock-message strong{font-size:20px}.dock-message>span{font-size:9px;line-height:1.4}.dock-actions .primary,.dock-actions .secondary{min-height:44px;min-width:128px;font-size:11px;padding:9px 12px}.dock-actions .small-button{font-size:10px;max-width:58px}.turn-steps{display:none}.map-mini{width:75px;height:51px}.pan-controls{grid-template-columns:repeat(3,26px);grid-template-rows:repeat(2,26px);gap:0}.pan-controls .tool{width:26px;min-width:26px;height:26px}.dialog-setup .dialog-scroll{grid-template-columns:220px 1fr}.setup-art{min-height:620px}.setup-content{padding-top:25px}.home{min-height:390px}.home-header{height:70px;padding:20px 4%}.home-header .wordmark{font-size:41px}.home-copy{top:28%;left:7%}.home h1{font-size:46px;line-height:.98;margin:10px 0}.home-copy>.eyebrow{font-size:8px}.home-copy>p{font-size:12px;line-height:1.6}.home-actions{margin-top:12px;gap:8px 15px}.home-actions .primary{min-height:45px;min-width:215px;font-size:12px}.home-facts{display:none}.home-credit{bottom:12px}.home-credit>span{display:none}.home-credit small{font-size:8px}.home-seal{width:85px;height:85px;font-size:7px;right:4%;bottom:5%}.home-seal strong{font-size:22px}.home-seal svg{height:18px;width:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.received-hex{background:#c4a357;filter:brightness(1.06)}.received-hex>.wildlife-token{outline:2px solid #bc903a}}
body.large-text{overflow:auto;font-size:16px}.large-text .game-shell{height:auto;min-height:100dvh}.large-text .play-desk{min-height:650px}.large-text .dock-message>span,.large-text .goal-copy small,.large-text .market-heading p,.large-text .nature-action,.large-text .goal-copy strong{font-size:14px}.large-text .action-dock{position:sticky;bottom:0}.large-text .dialog p{font-size:18px}.large-text .dialog-scroll{overflow:auto}.large-text .landscape{min-height:400px}

/* Full-sized nature actions stay reachable in every composition. */
.nature-action{min-height:44px}

.cpu-animal{outline:2px dashed #af894e;background:#e3d6b975}.market-change{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.4px;white-space:nowrap;background:#244f43;color:#fff8df;padding:2px 5px;border-radius:3px;pointer-events:none;z-index:7}
/* Short tablets need a shorter shell before their game objects are composed. */
@media(min-width:701px) and (max-height:620px) and (min-height:461px){
 .topbar{height:48px}.topbar .wordmark{font-size:34px}.top-tools .tool{height:44px}.trip-strip{height:56px;padding-top:5px;padding-bottom:5px}.trip-actor>strong{font-size:23px}.trip-stats strong{font-size:24px}.score-stat{padding:5px 12px}.trip-stats small{font-size:7px}.trip-actor .eyebrow{font-size:7px}.field-notes{padding-top:8px}.notes-title,.notes-footer{display:none}.goal-row{min-height:44px;padding-top:2px;padding-bottom:2px}.goal-row>.animal-art{height:43px}.goal-list{justify-content:space-evenly}.market{padding-top:5px;padding-bottom:4px}.market-heading,.market-tail{display:none}.market-pair{min-height:61px;grid-template-columns:12px 59px 18px 1fr;padding:0}.market-tile{width:54px;height:61px}.market-animal{min-height:58px;padding:1px;gap:3px}.market-animal .wildlife-token{width:35px;height:35px}.market-animal strong{font-size:10px}.market-options{padding:1px 0;gap:1px}.market-nature{flex-direction:row;gap:4px;padding-top:2px;margin-top:1px}.nature-action{font-size:8px;gap:3px;min-width:0;flex:1}.nature-action .icon{width:14px;height:14px}.nature-action small{font-size:8px;margin-left:0}.landscape-caption{min-height:45px;padding-top:4px}.landscape-caption h2{font-size:25px}.landscape-caption .eyebrow{display:none}.corridors{height:38px}.map-whisper{display:none}.journal-strip{height:26px}.action-dock{min-height:82px;padding-top:9px;padding-bottom:9px;gap:9px}.dock-message strong{font-size:21px}.dock-message>span{font-size:10px}.dock-actions .primary{min-width:128px;padding:10px;font-size:11px}.dock-actions .small-button{font-size:10px;padding:5px}.turn-steps{display:none}
}

@media(max-width:700px){.topbar:has(.player-tab:nth-child(3)) .wordmark{display:none}.topbar:has(.player-tab:nth-child(3)) .player-tabs{margin-left:0;flex:1;overflow:visible;justify-content:space-between}.topbar:has(.player-tab:nth-child(3)) .player-tab{justify-content:center;flex:1;padding-left:3px;padding-right:3px}.player-tab>span:not(.turn-dot){min-width:0;overflow:hidden;text-overflow:ellipsis}}

/* The optional full landscape keeps the same real board and committing dock. */
.expanded-landscape{position:fixed;inset:0 0 auto;z-index:50;height:calc(100dvh - var(--dock-height,110px));background:var(--paper);box-shadow:0 0 0 100vmax #15393280;padding:0 3%;border-bottom:1px solid var(--line)}
.expanded-landscape .landscape-caption{min-height:70px;padding:16px 10px 6px}.expanded-landscape .map-controls{gap:4px}.expanded-landscape .map-controls .tool{width:44px;min-width:44px;height:44px}.expanded-landscape .map-controls .small-button{font-size:12px}
.map-expanded .action-dock{z-index:60}.map-focus-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 12px;border-bottom:1px solid var(--line);flex:none;min-height:60px}.map-focus-strip>span{display:flex;flex-direction:column;gap:5px}.map-focus-strip strong{font-size:14px;font-weight:600}.map-focus-strip small{font-size:11px;color:var(--muted)}.focused-pick{display:flex;align-items:center;gap:10px}.focused-tile{position:relative;display:block;width:46px;height:52px}.focused-pick>.wildlife-token{width:40px;height:40px}.focused-pick>span:last-child{font-size:14px}.focused-pick small{display:block;margin-top:5px;font-size:10px}.focused-reminder{font-size:11px;color:var(--muted)}
@media(max-width:700px){.expanded-landscape{padding:0 10px}.expanded-landscape .landscape-caption{min-height:55px;padding:5px 3px}.expanded-landscape .landscape-caption h2{font-size:22px}.expanded-landscape .map-controls{gap:0}.expanded-landscape .map-controls .tool{width:32px;min-width:32px;height:44px}.expanded-landscape .map-controls .small-button{font-size:9px;min-height:44px;padding:6px;max-width:57px}.map-focus-strip{padding:5px 3px;gap:10px;min-height:65px}.map-focus-strip strong{font-size:12px}.map-focus-strip small{font-size:9px;line-height:1.5}.focused-reminder{max-width:85px;font-size:10px;line-height:1.5}.focused-pick{gap:6px}.focused-pick>span:last-child{font-size:11px}.focused-pick small{font-size:7px;max-width:70px}.focused-pick>.wildlife-token{width:32px;height:32px}.focused-tile{width:40px;height:46px}.expanded-landscape .corridors{display:flex;height:42px}.expanded-landscape .map-mini{width:70px;height:47px}}

.journal-strip:has(.save-failed){height:auto;min-height:32px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}.journal-strip .save-failed{display:block;white-space:normal;font-size:11px;line-height:1.5}

@media(max-width:700px){.topbar:has(.player-tab:nth-child(3)) .top-tools [data-action=home]{display:inline-flex}.dock-message>span{font-size:12px;line-height:1.45}}

@media(max-width:700px){.score-table{table-layout:fixed}.score-table th:first-child{width:80px}.score-table tbody th{font-size:11px}.score-table thead th{overflow-wrap:anywhere}.score-table td small{white-space:normal;line-height:1.4}.result-scores:has(.result-person:nth-child(4)) .result-person>strong{font-size:35px}}

/* Animal symbols describe capacity; the separate round token is the animal taken. */
.tile-wildlife{gap:2px;max-width:96%;padding:2px;background:#fff9eb;border-color:#725f4480;box-shadow:0 2px 4px #243c3040}
.tile-wildlife>span{flex:0 1 24px;max-width:none;min-width:0;width:24px;border-radius:50%;background:color-mix(in srgb,var(--species) 22%,#fff9e8);border-bottom:2px solid var(--species)}
.tile-wildlife>span:only-child{max-width:none;width:28px;flex-basis:28px}
.tile-wildlife img{padding:1px;filter:contrast(1.12)}
.selected-pair{border:2px solid #4f7351;background:#e1e9d5;padding:3px}
.selected-pair>.pair-number{color:#31543b;font-family:var(--sans);font-weight:600}
.market-tile.selected:disabled,.market-animal.selected:disabled{opacity:1}
.selection-reader{flex:none;display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;padding:10px 7px;margin-top:5px;background:#e6ebd9;border:1px solid #bcccae;border-radius:6px;line-height:1.4;font-size:14px;min-height:64px}
.selection-reader:hover{background:#dce6ce}
.pick-supports{display:flex;flex-direction:column;gap:2px}.pick-supports>span{font-size:11px;color:#5b6d50}.pick-supports b{font-weight:600}
.pick-taking{display:flex;align-items:center;gap:7px;font-size:13px}.pick-taking>.wildlife-token{width:25px;height:25px;flex:none;box-shadow:none;border-width:1px}.pick-taking>.icon{width:16px;height:16px;margin-left:auto}.pick-taking b{font-weight:600}
.market:has(.selection-reader) .market-tail{display:none}
.dock-message>span{font-size:14px;line-height:1.45}.dock-message>strong{font-size:24px}
.dock-actions .rotate-tool{display:flex;flex-direction:column;gap:2px}.rotate-tool>.icon{width:19px;height:19px}.rotate-tool>small{font-size:9px;line-height:1}
.dock-actions .small-button{font-size:12px;line-height:1.2}
.target-ring{display:grid;place-items:center;background:#fff9e1dd;inset:28%;border:2px solid #315c3f;box-shadow:0 0 0 3px #fff8df99;z-index:4}
.target-ring>.icon{width:75%;height:75%;color:#244f43;stroke-width:2}
.choosing-wildlife .unavailable-hex{filter:saturate(.5) brightness(.88)}
.supported-species{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}.supported-species>span:first-child{flex-basis:100%;font-size:14px;color:#5b6d50}.supported-species>span:not(:first-child){display:flex;align-items:center;gap:7px;font-size:16px}.supported-species .wildlife-token{width:38px;height:38px;box-shadow:none}.supported-species strong{font-weight:600}
.taking-detail{display:flex;gap:16px;padding:20px 0;border-top:1px solid var(--line)}.taking-detail>.wildlife-token{width:60px;height:60px;flex:none}.taking-detail strong{font-size:16px}.taking-detail p{margin-top:10px}.placement-explanation{padding:14px;background:#e1ead5;border-left:3px solid #4d7650;border-radius:3px}.placement-explanation.blocked{background:#efe3d0;border-color:#a96536;color:#6a4729}
@media(max-width:1100px) and (min-width:701px){.action-dock{gap:12px}.dock-message>strong{font-size:22px}.dock-message>span{font-size:14px}.selection-reader{padding:7px 5px}.pick-taking{font-size:12px}.market-heading p{font-size:12px}}
@media(max-width:700px){
 .market-heading{display:none}.market-pair{padding:2px 1px}.selected-pair{padding:1px 0}.pair-number{font-size:11px}.market-animal strong{font-size:11px}.market-animal{gap:3px}
 .market-tile .tile-wildlife{gap:1px;padding:1px 2px;max-width:98%}.market-tile .tile-wildlife>span{width:19px;min-width:0;flex-basis:19px}.market-tile .tile-wildlife>span:only-child{width:23px;flex-basis:23px}
 .selection-reader{min-height:60px;margin:3px 0 0;padding:5px 7px;gap:3px}.pick-supports{flex-direction:row;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.35}.pick-supports>span{font-size:12px}.pick-supports>b{font-size:14px}.pick-taking{font-size:12px;gap:5px}.pick-taking>.wildlife-token{width:23px;height:23px}.pick-taking>.icon{width:14px;height:14px}
 .nature-action{font-size:11px;gap:4px;max-width:none}.nature-action small{font-size:9px;white-space:nowrap}.nature-action .icon{width:14px}
 .action-dock{padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:7px;min-height:108px}.dock-message{gap:4px}.dock-message>strong{font-size:22px}.dock-message>span{font-size:14px;line-height:1.35}.dock-actions .small-button{font-size:11px;max-width:50px;padding:4px}.dock-actions .primary{min-width:126px;font-size:12px;padding:8px}.dock-actions .primary>.icon{display:none}.draft-tools{gap:4px}.dock-actions{gap:4px}
 .journal-strip:not(:has(.save-failed)):has(+.action-dock .draft-tools){display:none}.landscape-caption h2{font-size:21px}
 .dialog-tile p,.dialog-pick p{font-size:16px}.dialog-pick .inspect-tile{width:150px;height:165px;margin-bottom:18px}.dialog-pick h2,.dialog-tile h2{font-size:34px}.supported-species{gap:10px}.supported-species .wildlife-token{width:32px;height:32px}.taking-detail{gap:12px}.taking-detail>.wildlife-token{width:42px;height:42px}
}
@media(max-width:700px) and (max-height:680px){.market-tile{width:58px;height:65px}.market-animal .wildlife-token{width:27px;height:27px}.market-animal strong{font-size:10px}.market-nature{gap:3px}.nature-action{font-size:10px}.nature-action small{font-size:8px}.trip-actor>strong{font-size:17px}.dock-message>strong{font-size:21px}}
@media(max-height:460px) and (min-width:701px){.selection-reader{min-height:56px;padding:4px;gap:3px}.pick-supports{flex-direction:row;gap:5px;flex-wrap:wrap}.pick-supports>span{font-size:11px}.pick-supports>b{font-size:13px}.pick-taking{font-size:11px;gap:3px}.pick-taking>.wildlife-token{width:20px;height:20px}.action-dock{min-height:88px}.dock-message>span{font-size:14px}.dock-message>strong{font-size:21px}.market-animal strong{font-size:10px}.nature-action{font-size:10px}.nature-action small{font-size:8px}}
.large-text .selection-reader,.large-text .pick-taking{font-size:16px}
.pick-thumb{display:none;position:relative}
.pick-supports>b{font-size:14px}
.drafting .market-heading .eyebrow{display:none}.drafting .market-heading h2{font-size:25px;margin:0 0 6px}.drafting .market-heading p{display:none}
@media(min-width:701px) and (min-height:621px) and (max-height:800px){.market-heading{display:none}.market-pair{min-height:76px;flex-shrink:0}.selection-reader{padding:6px;gap:4px}.pick-supports{flex-direction:row;flex-wrap:wrap;gap:3px 6px}.pick-taking{font-size:12px}}
@media(max-width:700px) and (max-height:680px){
 /* Once a pair is chosen, use the space for its placement. Change restores all offers. */
 .drafting:not(.choosing-free) .market-options{display:none}.drafting .selection-reader{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:8px;row-gap:2px;min-height:68px}.drafting .pick-thumb{display:block;width:42px;height:48px;grid-row:span 2;align-self:center}.drafting .pick-taking{font-size:12px}.drafting .pick-taking>.wildlife-token{display:none}.drafting .pick-supports>span{font-size:12px}.drafting .pick-supports{gap:1px 5px}.drafting .pick-supports>b{font-size:14px}
}
@media(min-width:701px) and (max-height:620px) and (min-height:461px){
 .market-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:space-evenly;gap:2px;padding:0}.market-pair{display:flex;flex-direction:column;min-height:98px;padding:0;gap:0}.market-tile{width:48px;height:54px}.pair-number{position:absolute;left:3px;top:9px;font-size:11px}.pair-link{display:none}.market-animal{min-height:44px;min-width:44px;flex-direction:row;gap:3px;padding:0}.market-animal .wildlife-token{width:27px;height:27px}.market-animal strong{font-size:10px}.selection-reader{padding:5px;gap:4px}.market-nature{flex-direction:column;flex:none}.market{padding-top:0}.market-heading{display:none}
}
@media(max-height:460px) and (min-width:701px){.pick-supports>b{font-size:14px}.pick-taking{font-size:14px}.pick-taking>.icon{display:none}.journal-strip:not(:has(.save-failed)):has(+.action-dock .draft-tools){display:none}}

/* The board handles pinch and drag; browser zoom remains available elsewhere. */
.map-viewport{touch-action:none;cursor:grab}.map-viewport:active{cursor:grabbing}

.offer-tooltip{position:fixed;z-index:120;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;width:290px;max-width:calc(100vw - 20px);padding:16px;border:1px solid #80936c;border-radius:9px;background:#fffbf0;color:var(--ink);box-shadow:0 12px 36px #15393240;line-height:1.4}
.offer-tooltip[hidden]{display:none}.tooltip-tile{display:block;position:relative;width:76px;height:86px}.tooltip-heading{align-self:center}.tooltip-heading small{display:block;font-size:10px;letter-spacing:1px;color:#647655;margin-bottom:6px}.tooltip-heading strong{font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.05;display:block}
.tooltip-supports{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 12px;font-size:14px}.tooltip-supports>span:first-child{width:100%;color:#526849}.tooltip-supports>span:not(:first-child){display:flex;align-items:center;gap:5px}.tooltip-supports .animal-art{width:29px;height:29px;object-fit:contain}.tooltip-supports b{font-weight:600}.offer-tooltip>p{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:#526849}

/* Keep desktop chrome compact so the landscape owns the available height. */
@media(min-width:901px) and (min-height:621px){
 .topbar{height:52px;padding:0 24px;gap:20px}.topbar .wordmark{font-size:34px}.edition-label{font-size:8px;padding-left:18px}.top-tools .tool{height:44px}
 .trip-strip{height:52px;padding:4px 26px}.trip-actor .eyebrow{display:none}.trip-actor>strong{font-size:23px}.trip-stats{gap:24px}.trip-stats strong{font-size:25px}.trip-stats small{font-size:8px}.score-stat{padding:3px 14px}.nature-stat>.icon{height:25px;width:25px}
 .landscape-caption{min-height:48px;padding:2px 18px;align-items:center}.landscape-caption .eyebrow{display:none}.landscape-caption h2{font-size:26px;margin:0}.corridors{height:44px}
 .journal-strip{height:26px;padding:0 26px}.turn-recap{min-height:26px}
 .action-dock{min-height:76px;padding:10px 26px calc(10px + env(safe-area-inset-bottom));gap:16px}
 .field-notes{padding-top:12px}.notes-title{padding-bottom:8px}.notes-title h2{font-size:29px;margin:7px 0}.notes-title p{display:none}.notes-footer{margin-top:8px;padding-top:8px}
 .market{padding-top:12px}.market-heading .eyebrow{display:none}.market-heading h2{font-size:27px;margin:4px 0 7px}
 .expanded-landscape .landscape-caption{min-height:48px;padding:2px 10px}
}
