:root{--bg: #f4ecd8;--surface: #ece2c8;--raised: #e3d7b6;--fg: #1c1a16;--fg2: #5a5447;--fg3: #8a8272;--grid: #d6cbb0;--axis: #bfb296;--accent: #1e6b73;--accent-ink: #15545a;--warm: #b23a2b;--gilt: #a2832f;--good: #3b6e3a;--warn: #a2832f;--bad: #b23a2b;--t-fall: #c9bc98;--t-flat: #1e6b73;--t-rise: #0f3f45;--sea: #101a26;--land: #2a3a4c;--sea-line: #3a4e66;--texture: repeating-linear-gradient(0deg, rgba(60, 45, 20, .035) 0 1px, transparent 1px 3px);--rule-page: 24px;--display: "Fraunces", "Iowan Old Style", Georgia, serif;--body: "Literata", "Iowan Old Style", Georgia, serif;--mono: "Courier Prime", "Courier New", Courier, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #1f3d2e;--surface: #26493a;--raised: #2d5443;--fg: #efe7d2;--fg2: #cfc3a6;--fg3: #9c9478;--grid: #35604c;--axis: #4a7a62;--accent: #c9a24a;--accent-ink: #e0bf6a;--warm: #d9825f;--gilt: #c9a24a;--good: #9fd3a8;--warn: #e6c66a;--bad: #e08a7a;--t-fall: #4a7a62;--t-flat: #c9a24a;--t-rise: #efe7d2;--sea: #10231a;--land: #1d3a2c;--sea-line: #2f5a45;--texture: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, .05), transparent 60%);color-scheme:dark}}:root[data-theme=dark]{--bg: #1f3d2e;--surface: #26493a;--raised: #2d5443;--fg: #efe7d2;--fg2: #cfc3a6;--fg3: #9c9478;--grid: #35604c;--axis: #4a7a62;--accent: #c9a24a;--accent-ink: #e0bf6a;--warm: #d9825f;--gilt: #c9a24a;--good: #9fd3a8;--warn: #e6c66a;--bad: #e08a7a;--t-fall: #4a7a62;--t-flat: #c9a24a;--t-rise: #efe7d2;--sea: #10231a;--land: #1d3a2c;--sea-line: #2f5a45;--texture: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, .05), transparent 60%);color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);background-image:var(--texture);color:var(--fg);font-family:var(--body);line-height:1.5;font-size:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:0 56px}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}.wrap{max-width:1180px;margin:0 auto}.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);background-image:var(--texture);border-bottom:3px double var(--fg);padding:16px 0 10px;display:grid;gap:10px}.top .row{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline}.top h1{font-family:var(--display);font-weight:600;font-size:26px;margin:0;letter-spacing:-.005em;font-variation-settings:"opsz" 72}.year{font-family:var(--mono);font-size:13px;color:var(--fg2);font-variant-numeric:tabular-nums;letter-spacing:.02em}.year b{color:var(--fg);font-weight:700}.here{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--fg2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px 2px 2px;border:1px solid var(--axis);background:var(--surface);font-size:12.5px;color:var(--fg);font-family:var(--mono)}.chip img{width:18px;height:18px;border-radius:50%}.chip.you{border-color:var(--fg)}.chip.locked{border-color:var(--good)}nav{display:flex;gap:0;flex-wrap:wrap}nav a{padding:6px 12px;color:var(--fg2);text-decoration:none;font-size:12.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid transparent}nav a.on,.tabs a[aria-current=page]{color:var(--fg);border-bottom-color:var(--warm)}main{padding-top:24px;display:grid;gap:20px}h2{font-family:var(--display);font-weight:600;font-size:30px;margin:0;letter-spacing:-.005em;text-wrap:balance;line-height:1.1;font-variation-settings:"opsz" 96}h3{font-family:var(--mono);font-weight:700;font-size:12px;margin:0;text-transform:uppercase;letter-spacing:.1em;color:var(--fg2)}p{margin:0;max-width:68ch;color:var(--fg2)}p.lead{color:var(--fg);font-size:17px}.board{background:var(--surface);border:1px solid var(--axis);box-shadow:2px 2px 0 var(--axis);padding:12px;overflow-x:auto}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.card{background:var(--surface);border:1px solid var(--axis);box-shadow:2px 2px 0 var(--axis);padding:12px 14px;display:grid;gap:6px;min-width:0}.card.taken{background:var(--raised)}.card.mine{border-color:var(--fg);box-shadow:2px 2px 0 var(--fg)}.card .n{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.15}.card .m{font-family:var(--mono);font-size:12.5px;color:var(--fg2);font-variant-numeric:tabular-nums}.card .d{font-size:13.5px;color:var(--fg2)}.card .holder{font-size:12.5px;color:var(--accent-ink);font-family:var(--mono)}button{font:inherit;font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--fg);background:var(--surface);color:var(--fg);cursor:pointer;box-shadow:2px 2px 0 var(--axis)}button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--axis)}button.primary{background:var(--fg);border-color:var(--fg);color:var(--bg)}button.warm{background:var(--warm);border-color:var(--warm);color:#fff}button:disabled{opacity:.5;cursor:default;box-shadow:none}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.group{display:grid;gap:8px}label{display:grid;gap:4px;font-size:12.5px;color:var(--fg2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}select,textarea,input{font:inherit;font-family:var(--body);font-size:15px;padding:7px 9px;border:1px solid var(--axis);background:var(--surface);color:var(--fg);min-width:0;max-width:100%;text-transform:none;letter-spacing:0}textarea{min-height:64px;resize:vertical}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.note{font-size:13.5px;color:var(--fg3)}.err{font-size:13.5px;color:var(--bad);font-family:var(--mono)}.narr{white-space:pre-wrap;background:var(--surface);border-top:3px double var(--fg);border-bottom:1px solid var(--axis);padding:16px 18px;max-width:70ch;line-height:1.6;font-size:17px}.narr:first-letter{font-family:var(--display);font-size:3.2em;float:left;line-height:.8;padding:6px 8px 0 0;color:var(--warm);font-weight:600}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;padding:6px 8px;border-bottom:1px dotted var(--axis);vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg2);font-family:var(--mono);border-bottom:1px solid var(--fg);font-weight:700}td.num,th.num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.out{font-weight:700;font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}.out.breakthrough{color:var(--good)}.out.advance{color:var(--accent-ink)}.out.setback{color:var(--bad)}.out.holds{color:var(--fg2)}.entry{display:grid;gap:12px;padding:8px 0 22px;border-bottom:1px solid var(--axis)}.entry>h3{font-family:var(--display);font-weight:700;font-size:44px;line-height:1;letter-spacing:0;text-transform:none;color:var(--fg);border-top:3px double var(--fg);padding-top:8px;font-variation-settings:"opsz" 144}.front{background:var(--surface);border:1px solid var(--axis);padding:10px 12px;display:grid;gap:6px;min-width:0;overflow-x:auto}.front .fh{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}.front .fh b{font-family:var(--display);font-size:17px;font-weight:600}.terms{font-family:var(--mono);font-size:12px;color:var(--fg2)}.orders{display:grid;gap:10px;max-width:760px}.asset{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dotted var(--axis);font-size:14px}.asset .an{font-weight:600;font-family:var(--display);font-size:15.5px}.asset .an small{display:block;font-weight:400;color:var(--fg2);font-size:12px;font-family:var(--mono)}.asset label{display:inline-flex;gap:6px;align-items:center;font-weight:400}.dm{background:var(--raised);border:1px solid var(--axis);padding:14px 16px;display:grid;gap:10px}.dm h3{color:var(--warm)}.lane-label{font-size:11.5px;fill:var(--fg2);font-family:var(--mono)}.lane-label.strong{fill:var(--accent-ink);font-weight:700}.year-label{font-size:11px;fill:var(--fg3);font-family:var(--mono)}.node-label{font-size:10.5px;fill:var(--fg);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-family:var(--mono)}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--fg2);align-items:center;font-family:var(--mono)}.legend i{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:-1px}.tip{position:fixed;z-index:20;pointer-events:none;background:var(--surface);color:var(--fg);border:1px solid var(--fg);padding:8px 10px;font-size:13px;max-width:300px;box-shadow:3px 3px 0 var(--axis)}.tip .k{color:var(--fg2);font-family:var(--mono);font-size:12px}.sel{padding:8px 12px;background:var(--raised);border-left:3px solid var(--warm);font-size:14px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.rules{max-width:68ch;display:grid;gap:10px}.rules ol,.rules ul{margin:0;padding-left:20px;color:var(--fg2)}.rules li{margin-bottom:6px}.status{font-size:13px;color:var(--fg3);font-family:var(--mono)}.globewrap{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:start}@media (max-width: 760px){.globewrap,.asset{grid-template-columns:1fr}}.globebox{position:relative;width:100%;aspect-ratio:1 / 1;max-height:640px;max-width:100%;background:var(--surface);border:1px solid var(--axis);box-shadow:2px 2px 0 var(--axis);padding:10px;overflow:hidden;touch-action:none}.globebox canvas{width:100%;height:100%;display:block;cursor:grab}.globeside{display:grid;gap:10px;min-width:0}.seatrow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;font-size:14px;padding:6px 0;border-bottom:1px dotted var(--axis);min-width:0}.seatrow small{display:block;color:var(--fg2);font-size:12px;font-family:var(--mono)}.lockwall{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--fg2);font-family:var(--mono)}.lockwall .lk{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--warm);background:var(--surface);color:var(--fg);font-size:12px}.lockwall .lk.locked{border-color:var(--fg);background:var(--fg);color:var(--bg)}.lockwall .lk small{color:var(--fg3)}.lockwall .lk.locked small{color:var(--raised)}.tremor{font-family:var(--mono);font-size:12px;padding:2px 8px;border:1px solid var(--axis);color:var(--fg2)}.tremor.warm{border-color:var(--warn);color:var(--warn)}.tremor.hot{border-color:var(--bad);color:var(--bad);animation:throb 1.6s ease-in-out infinite}@keyframes throb{50%{box-shadow:0 0 0 4px #b23a2b2e}}.cardrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:8px;align-items:center;padding:8px 0;border-bottom:1px dotted var(--axis);font-size:14px}.cardrow .cn{font-weight:600;font-family:var(--display);font-size:15.5px}.cardrow .cn small{display:block;font-weight:400;color:var(--fg2);font-size:12px;font-family:var(--mono)}.cardrow .cv{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cardrow select{max-width:100%}@media (max-width: 760px){.cardrow{grid-template-columns:1fr}}.budget{font-family:var(--mono);font-size:12.5px;color:var(--fg2);text-transform:none;letter-spacing:0}.budget.over{color:var(--bad)}.prog{background:var(--surface);border:1px solid var(--axis);border-left:3px solid var(--accent);padding:8px 10px;font-size:13.5px;display:grid;gap:2px}.prog.mine{border-left-color:var(--warm)}.prog small{color:var(--fg3);font-family:var(--mono);font-size:11.5px}.acts{display:grid;gap:3px;font-size:14px}.acts .treaty{color:var(--warn);font-weight:600}.slivers{display:flex;height:8px;overflow:hidden;background:var(--raised);min-width:120px;max-width:360px;border:1px solid var(--axis)}.slivers span{display:block;height:100%}.slivers span.me{outline:2px solid var(--fg);outline-offset:-2px}.stakekey{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--fg2);font-family:var(--mono)}.stakekey i{display:inline-block;width:9px;height:9px;margin-right:4px;vertical-align:-1px}td.dice{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;font-weight:700;min-width:3.5ch;font-size:15px}td.dice.rolling{color:var(--accent-ink)}.pending{visibility:hidden}tr.hit td.dice{color:var(--good)}tr.miss td.dice{color:var(--bad)}.tierups{display:flex;flex-wrap:wrap;gap:6px}.tierup{padding:3px 9px;border:1px solid var(--axis);background:var(--surface);font-size:12.5px;font-family:var(--mono);animation:pop .5s ease-out both}.tierup.named{background:var(--warm);border-color:var(--warm);color:#fff}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.vs{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 760px){.vs{grid-template-columns:1fr}}.vs>div{background:var(--surface);border:1px solid var(--axis);padding:8px 12px;font-size:13.5px}.vs h4{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--fg2);font-family:var(--mono)}.hexwrap{background:var(--surface);border:1px solid var(--axis);box-shadow:2px 2px 0 var(--axis);overflow-x:auto}.hexlbl{font-size:9.5px;fill:var(--fg);pointer-events:none;text-anchor:middle;font-family:var(--mono)}.hexlbl.fog{fill:var(--fg3)}.lane-name{font-family:var(--display);font-style:italic;font-size:12px;fill:var(--fg2);font-weight:500;pointer-events:none;text-anchor:middle;opacity:.9;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.hexgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media (max-width: 900px){.hexgrid{grid-template-columns:1fr}}.notebook{background:var(--surface);border:1px solid var(--axis);border-left:3px solid var(--warm);padding:0 14px 12px;display:grid;gap:0;font-size:14px;max-height:70vh;overflow-y:auto;line-height:var(--rule-page);background-image:repeating-linear-gradient(0deg,transparent 0 calc(var(--rule-page) - 1px),var(--grid) calc(var(--rule-page) - 1px) var(--rule-page))}.notebook h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--warm);font-family:var(--mono);line-height:var(--rule-page);padding-top:var(--rule-page)}.notebook .yr{display:grid;gap:0}.notebook .yr b{font-family:var(--mono);font-size:12.5px}.notebook .yr span,.notebook div{line-height:var(--rule-page)}.band{font-family:var(--mono);font-size:12px;padding:1px 7px;border:1px solid var(--axis)}.band.hot{border-color:var(--bad);color:var(--bad)}.band.warm{border-color:var(--warn);color:var(--warn)}.band.cold{border-color:var(--accent);color:var(--accent-ink)}.named-label{font-size:9.5px;fill:var(--gilt);font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-family:var(--mono)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.lobby{display:grid;gap:20px;max-width:760px}.gamelist{display:grid;gap:8px}.gamerow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px 12px;background:var(--surface);border:1px solid var(--axis);box-shadow:2px 2px 0 var(--axis)}.gamerow b{font-family:var(--display);font-size:17px;font-weight:600}.gamerow small{display:block;color:var(--fg2);font-size:12.5px;font-family:var(--mono)}.form{display:grid;gap:10px;max-width:460px}.userchip{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--fg2);font-family:var(--mono)}.userchip img{width:22px;height:22px;border-radius:50%}.badge{font-family:var(--mono);font-size:11.5px;padding:1px 7px;border:1px solid var(--axis);color:var(--fg2)}.sheetbox{background:var(--surface);border:1px solid var(--axis);padding:10px 12px;font-size:13.5px;display:grid;gap:4px}.gate{max-width:60ch;display:grid;gap:12px}.gate .address{font-family:var(--mono);-webkit-user-select:all;user-select:all;border-bottom:1.5px solid var(--warm)}
