:root{--paper: #f2eee3;--paper-2: #ece7d9;--paper-3: #e4dece;--sea: #e9e5d9;--grat: #ddd5c1;--land: #d3cab4;--border: #b6ab92;--rule: #d8d0bd;--coast: #8d8169;--ink: #221e18;--ink-2: #5f584c;--ink-3: #948b7b;--accent: #8a5a2b;--p1: #b8362c;--p2: #2b7593;--p3: #c07a1e;--p4: #6f52a3;--p5: #3a855c;--p6: #ac4a78;--strain: #c07a1e;--cut: #d81e0c;--topbar: 52px;--dock-w: min(1400px, calc(100% - 40px) );--dock-h: 72px;--dock-lead: 168px;--ease: cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--paper);color:var(--ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;-webkit-user-select:none}input{user-select:text;-webkit-user-select:text}button{font-family:inherit}.mono-label{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.mono-label.err{color:var(--p1)}.app{display:grid;grid-template-rows:var(--topbar) 1fr;height:100%}.topbar{display:flex;align-items:center;gap:18px;padding:0 20px;border-bottom:1px solid var(--rule);background:var(--paper-2)}.wordmark{font-family:"Instrument Serif",serif;font-size:25px;letter-spacing:.1em;line-height:1}.wordmark span{color:var(--accent)}.topbar .spacer{flex:1}.scoreboard{display:flex;gap:4px;align-items:center;min-width:0;overflow:hidden}.seatline{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid transparent;border-radius:2px;font-size:11px;color:var(--ink-2);white-space:nowrap;transition:all .2s var(--ease)}.seatline.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,transparent);color:var(--ink)}.seatline.out{opacity:.32}.seatline.out .nm{text-decoration:line-through}.seatline .dot{width:8px;height:8px;border-radius:50%;background:var(--c);flex-shrink:0}.seatline .nm{overflow:hidden;text-overflow:ellipsis;max-width:8ch}.seatline .n{font-variant-numeric:tabular-nums}.seatline .cards{font-variant-numeric:tabular-nums;color:var(--ink-3)}.seatline .cards i{font-style:normal;color:var(--accent);margin-left:1px}.seatline.on .cards{color:var(--ink-2)}@media(max-width:1120px){.seatline .nm{display:none}}.phases{display:flex;gap:2px}.phase-pill{padding:5px 13px;border:1px solid var(--rule);border-radius:2px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);background:transparent;transition:all .25s var(--ease)}.phase-pill.done{color:var(--ink-2)}.phase-pill.active{color:var(--paper);background:var(--ink);border-color:var(--ink);font-weight:600}.stage{position:relative;min-width:0;background:var(--sea);overflow:hidden}.stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:multiply}svg.map{width:100%;height:100%;display:block}.grat{stroke:var(--grat);stroke-width:.6;fill:none}.searoute{fill:none;stroke:var(--coast);stroke-width:1.1;stroke-dasharray:4.5 3.5;stroke-linecap:round;opacity:.7;pointer-events:none}.seanode{fill:var(--coast);opacity:.75;pointer-events:none}.terr{fill:var(--land);stroke:none;cursor:default;transition:fill .2s var(--ease),opacity .22s var(--ease)}.terr.owned{fill:color-mix(in srgb,var(--c) 46%,var(--paper))}.terr.clickable{cursor:pointer}.terr.clickable:hover{fill:color-mix(in srgb,var(--c, var(--border)) 70%,var(--paper))}.terr.dim{opacity:.5}.edge{fill:none;stroke:var(--coast);stroke-width:.85;stroke-linejoin:round;pointer-events:none;transition:stroke .18s var(--ease),stroke-width .18s var(--ease),opacity .22s var(--ease)}.edge.dim{opacity:.5}.edge.sel{stroke:var(--ink);stroke-width:2.4}.edge.target{stroke:var(--ink);stroke-width:1.7;stroke-dasharray:4 3;animation:march 9s linear infinite}.edge.flash{stroke:var(--accent);stroke-width:2.6}@keyframes march{to{stroke-dashoffset:-70}}.cont-label{font-size:8.5px;letter-spacing:.34em;text-transform:uppercase;fill:var(--ink);text-anchor:middle;pointer-events:none;font-weight:500}.cont-bonus{font-size:8px;letter-spacing:.1em;fill:var(--accent);text-anchor:middle;pointer-events:none}.cont{opacity:.34;transition:opacity .3s var(--ease)}.cont.held{opacity:.85}.cont.held .cont-bonus{font-weight:600}.badge{pointer-events:none;transition:opacity .22s var(--ease)}.badge.dim{opacity:.5}.badge circle{fill:var(--paper);stroke:var(--c);stroke-width:1.6}.badge text{fill:var(--ink);font-size:11px;font-weight:600;text-anchor:middle;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.badge.preview circle{stroke-dasharray:2.6 2}.badge.preview text{fill:var(--accent)}.badge .delta{font-size:8px;letter-spacing:.04em;fill:var(--accent);font-weight:700;paint-order:stroke;stroke:var(--paper);stroke-width:2.6px;stroke-linejoin:round}.arc{fill:none;stroke:var(--ink);stroke-width:1.1;opacity:.4;stroke-dasharray:3 3;pointer-events:none}.recap{position:absolute;top:16px;right:18px;z-index:5;display:flex;flex-direction:column;gap:5px;max-width:320px;padding:12px 14px;background:#fcfaf5ed;border:1px solid var(--border);border-radius:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 26px #50442c1f;cursor:pointer;animation:rise .22s var(--ease) both}.recap>.mono-label{margin-bottom:3px}.recap .lines{display:flex;flex-direction:column;gap:4px;max-height:52vh;overflow-y:auto}.recap .line{display:flex;gap:7px;font-size:10.5px;line-height:1.45}.recap .who{color:var(--c);flex-shrink:0;width:58px}.recap .what{color:var(--ink-2)}.recap .btn{margin-top:6px;padding:7px 12px}.readout{position:absolute;top:16px;left:18px;display:flex;flex-direction:column;gap:3px;pointer-events:none}.readout .t{font-family:"Instrument Serif",serif;font-size:27px;line-height:1}.readout .s{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.dock{position:absolute;left:50%;bottom:22px;transform:translate(-50%);display:grid;grid-template-columns:var(--dock-lead) minmax(0,1fr) auto;align-items:center;gap:16px;padding:11px 18px;background:#fcfaf5f2;border:1px solid var(--border);border-radius:3px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 34px #50442c24,0 2px 6px #50442c14;width:var(--dock-w);height:var(--dock-h)}.dock .div{width:1px;align-self:stretch;max-height:34px;background:var(--rule)}.dock .mid{display:flex;align-items:center;gap:14px;min-width:0;overflow:hidden}.dock .cell{display:flex;align-items:center;gap:12px}.dock .cell.num{width:40px;justify-content:center;flex-shrink:0}.dock .cell.ctrl{margin-left:auto;flex-shrink:0}.dock .tail{position:relative;display:flex;align-items:center;gap:10px}.dock .tail .slot.act{display:flex;align-items:center;justify-content:flex-end;width:208px;flex-shrink:0}.dock .tail .slot.act .btn{max-width:100%;overflow:hidden;text-overflow:ellipsis}.ident{display:flex;align-items:center;gap:10px;min-width:0}.ident .swatch{width:11px;height:11px;border-radius:50%;background:var(--c);flex-shrink:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 20%,transparent)}.ident .who{display:flex;flex-direction:column;gap:2px;min-width:0}.ident .nm{font-family:"Instrument Serif",serif;font-size:22px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ident .meta{font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt{display:grid;grid-template-rows:11px auto;gap:4px;min-width:0}.prompt .k{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.prompt .v{font-size:13px;line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.prompt .v b{color:var(--accent);font-weight:500}@media(max-width:1180px){.dock{height:auto;min-height:var(--dock-h)}.dock .mid{flex-wrap:wrap;overflow:visible}}.counter{font-family:"Instrument Serif",serif;font-size:34px;line-height:.85;color:var(--accent);font-variant-numeric:tabular-nums}.counter.sm{font-size:22px}.counter.spent{color:var(--ink-3)}.counter i{font-style:normal;font-size:16px;color:var(--ink-3)}.cardbar{display:flex;align-items:center;gap:10px}.chips{display:flex;gap:4px;min-width:141px}.chip{width:25px;height:32px;border:1px solid var(--border);border-radius:2px;background:var(--paper);color:var(--ink-2);font-size:13px;line-height:1;display:grid;place-items:center;transition:all .18s var(--ease)}.chip.sel{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper))}.chip.wild{color:var(--accent)}.btn{padding:9px 15px;border:1px solid var(--border);background:transparent;color:var(--ink);border-radius:2px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:all .2s var(--ease);white-space:nowrap}.btn:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.btn.ghost{border-color:var(--rule);color:var(--ink-2)}.btn.ghost:hover:not(:disabled){border-color:var(--ink-2);background:transparent;color:var(--ink)}.btn.trade{border-color:var(--accent);color:var(--accent);font-weight:600;padding:9px 12px}.btn.trade:hover:not(:disabled){background:var(--accent);color:var(--paper);border-color:var(--accent)}.btn.trade .bonus{margin-left:6px;padding-left:6px;border-left:1px solid currentColor;font-weight:400;opacity:.75}.btn.help{width:26px;height:26px;padding:0;border-radius:50%;font-size:12px;letter-spacing:0;color:var(--ink-3);border-color:var(--rule)}.btn.help.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.wide{width:100%;text-align:center}.popover-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.popover{position:absolute;bottom:calc(100% + 14px);right:0;z-index:41;width:290px;padding:14px 15px;background:var(--paper);border:1px solid var(--border);border-radius:3px;box-shadow:0 16px 40px #28201438;display:flex;flex-direction:column;gap:11px;animation:rise .14s var(--ease) both;text-align:left}.popover .row{display:flex;align-items:center;justify-content:space-between;gap:12px}.popover .seedrow{border-top:1px solid var(--rule);padding-top:11px}.seedval{background:transparent;border:1px solid var(--rule);border-radius:2px;padding:4px 8px;color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:11px;font-variant-numeric:tabular-nums;transition:all .18s var(--ease)}.seedval:hover{border-color:var(--ink-2);color:var(--ink)}.popover .note{font-size:10px;line-height:1.5;color:var(--ink-3)}.popover .note kbd{margin-left:2px}.btn:disabled{opacity:.35;cursor:not-allowed}kbd{font-family:inherit;font-size:8px;line-height:1;padding:2px 4px;margin-left:5px;border:1px solid currentColor;border-radius:2px;opacity:.55;vertical-align:middle}.btn.primary kbd{opacity:.7}.mono-label.hint{opacity:.8}.mono-label.hint kbd{margin-left:0}.amount{display:flex;align-items:center;gap:7px}.amount .n{min-width:34px;text-align:center;font-family:"Instrument Serif",serif;font-size:26px;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.amount .nudge{width:26px;height:26px;border:1px solid var(--border);background:transparent;color:var(--ink);border-radius:2px;cursor:pointer;font-size:14px;line-height:1;transition:all .18s var(--ease)}.amount .preset{height:26px;padding:0 9px;border:1px solid var(--rule);background:transparent;color:var(--ink-2);border-radius:2px;cursor:pointer;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;transition:all .18s var(--ease)}.amount .nudge:hover:not(:disabled),.amount .preset:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}.amount .nudge:disabled,.amount .preset:disabled{opacity:.3;cursor:not-allowed}.dice{display:flex;align-items:center;gap:14px}.dice .side{display:flex;flex-direction:column;gap:5px;align-items:center;width:83px}.dice .side .mono-label{font-size:8px;letter-spacing:.12em}.dice .row{display:flex;gap:4px}.die{width:25px;height:25px;border-radius:2px;display:grid;place-items:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid;animation:roll .3s var(--ease) both}@keyframes roll{0%{opacity:0;transform:translateY(-7px) rotate(-9deg)}}.die.lost{opacity:.3;text-decoration:line-through}.dice .verdict{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;width:128px;text-align:center}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:var(--paper);display:grid;place-items:center;overflow-y:auto}.panel{width:560px;padding:40px 0;animation:rise .5s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}.panel h1{font-family:"Instrument Serif",serif;font-weight:400;font-size:76px;line-height:.95;letter-spacing:.04em;margin-bottom:6px}.panel h1 span{color:var(--accent)}.panel .sub{color:var(--ink-3);font-size:10px;letter-spacing:.28em;text-transform:uppercase;margin-bottom:44px}.field{margin-bottom:30px}.field>.mono-label{display:block;margin-bottom:12px}.count{display:flex;gap:7px}.count button{width:50px;height:50px;border:1px solid var(--border);background:transparent;color:var(--ink-2);font-family:"Instrument Serif",serif;font-size:24px;cursor:pointer;border-radius:2px;transition:all .2s var(--ease)}.count button:hover{border-color:var(--ink);color:var(--ink)}.count button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.seats{display:flex;flex-direction:column;gap:1px}.seat{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;padding:10px 13px;background:var(--paper-2);border:1px solid transparent;transition:border-color .2s var(--ease)}.seat:hover{border-color:var(--rule)}.seat .dot{width:10px;height:10px;border-radius:50%;background:var(--c)}.seat input{background:transparent;border:0;color:var(--ink);font-family:inherit;font-size:13px;outline:none;width:100%;min-width:0}.seat.sided{grid-template-columns:10px 30px 1fr auto}.seat .side{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.field>.mono-label.sidepick{display:flex;justify-content:space-between;align-items:baseline}.sidepick .swap{padding:0;background:transparent;border:0;cursor:pointer;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-3);transition:color .18s var(--ease)}.sidepick .swap:hover{color:var(--ink-1)}.tiers{display:flex;gap:7px}.tiers button{flex:1;padding:13px 0;border:1px solid var(--border);background:transparent;color:var(--ink-2);font-family:"Instrument Serif",serif;font-size:19px;cursor:pointer;border-radius:2px;transition:all .2s var(--ease)}.tiers button:hover{border-color:var(--ink);color:var(--ink)}.tiers button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.toggle{display:flex;border:1px solid var(--border);border-radius:2px;overflow:hidden}.toggle button{padding:6px 12px;background:transparent;border:0;color:var(--ink-3);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .18s var(--ease)}.toggle button.on{background:var(--ink);color:var(--paper);font-weight:600}.go{width:100%;margin-top:8px;padding:16px;background:var(--accent);color:var(--paper);border:0;border-radius:2px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all .2s var(--ease)}.go:hover{background:var(--ink)}.winner{display:flex;align-items:center;gap:14px;margin-bottom:10px}.winner .dot{width:18px;height:18px;border-radius:50%;background:var(--c)}.keys{display:flex;flex-direction:column;gap:2px}.keys>.mono-label{margin-bottom:4px}.keyrow{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;padding:4px 0;border-bottom:1px solid var(--rule)}.keyrow:last-child{border-bottom:0}.keyrow dt{text-align:right}.keyrow dt kbd{margin-left:0;opacity:.85;color:var(--ink-2)}.keyrow dd{font-size:10.5px;color:var(--ink-2)}.review{--g-best: var(--ink-3);--g-good: var(--p5);--g-inaccuracy: var(--p3);--g-mistake: var(--accent);--g-blunder: var(--p1)}.seatpick{display:flex;align-items:center;gap:9px}.review .verdict{display:flex;gap:18px;align-items:center}.review .stat{display:flex;flex-direction:column;gap:1px;align-items:flex-end}.review .stat .k{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.review .stat .v{font-family:"Instrument Serif",serif;font-size:22px;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.review .stat .v.up{color:var(--p5)}.review .stat .v.down{color:var(--p1)}.review .stat .u{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.rev-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:10px;color:var(--ink-3);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.rev-empty .bar{width:180px;height:2px;background:var(--rule)}.rev-empty .bar i{display:block;height:100%;background:var(--ink-3);transition:width .2s}.replay-warn{position:absolute;top:16px;left:50%;transform:translate(-50%);padding:7px 12px;border:1px solid var(--p1);border-radius:2px;background:#fcfaf5f2;color:var(--p1);z-index:6}.rev-panel{position:absolute;top:16px;right:18px;z-index:5;display:flex;flex-direction:column;gap:8px;width:316px;padding:14px 16px;background:#fcfaf5f0;border:1px solid var(--border);border-radius:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 26px #50442c1f}.rev-panel .grade{display:flex;align-items:baseline;justify-content:space-between;font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.rev-panel .grade em{font-style:normal;font-family:"Instrument Serif",serif;font-size:21px;letter-spacing:0;font-weight:400;font-variant-numeric:tabular-nums}.rev-panel .grade.best{color:var(--g-best)}.rev-panel .grade.good{color:var(--g-good)}.rev-panel .grade.inaccuracy{color:var(--g-inaccuracy)}.rev-panel .grade.mistake{color:var(--g-mistake)}.rev-panel .grade.blunder{color:var(--g-blunder)}.rev-panel .line{display:grid;grid-template-columns:52px 1fr;gap:9px;align-items:baseline;padding:7px 8px;margin:0 -8px;background:transparent;border:1px solid transparent;border-radius:2px;text-align:left;cursor:pointer;font-family:inherit;transition:all .16s var(--ease)}.rev-panel .line:hover{background:var(--paper-2)}.rev-panel .line.on{border-color:var(--border);background:var(--paper-2)}.rev-panel .line .k{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.rev-panel .line .v{font-size:12px;color:var(--ink);line-height:1.35}.rev-panel .line.better .v{color:var(--accent)}.rev-panel .line .v em{display:block;margin-top:2px;font-style:normal;font-size:10.5px;color:var(--ink-3)}.rev-panel .note{font-size:10.5px;line-height:1.5;color:var(--ink-2)}.rev-panel .note.idle{color:var(--ink-3)}.rev-panel .fixes{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--rule)}.rev-panel .fix{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:baseline}.rev-panel .fix .n{font-family:"Instrument Serif",serif;font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums;text-align:right}.rev-panel .fix .v{font-size:10.5px;line-height:1.45;color:var(--ink-2)}.rev-panel .luck{font-size:10px;line-height:1.45;padding-top:7px;border-top:1px solid var(--rule)}.rev-panel .luck.up{color:var(--p5)}.rev-panel .luck.down{color:var(--ink-2)}.rev-habits{position:absolute;top:16px;left:18px;z-index:5;display:flex;flex-direction:column;gap:6px;width:236px;padding:12px 14px;background:#fcfaf5f0;border:1px solid var(--border);border-radius:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 26px #50442c1f}.rev-habits .habit{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:11px;line-height:1.35;color:var(--ink)}.rev-habits .habit .n{font-size:9.5px;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}.rev-bar{position:absolute;left:50%;bottom:22px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fcfaf5f2;border:1px solid var(--border);border-radius:3px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 34px #50442c24;width:var(--dock-w);min-height:var(--dock-h)}.rev-bar .div{width:1px;align-self:stretch;background:var(--rule)}.rev-bar .nav{width:28px;height:28px;border:1px solid var(--border);background:transparent;color:var(--ink-2);border-radius:2px;cursor:pointer;font-size:13px;transition:all .18s var(--ease)}.rev-bar .nav:hover{border-color:var(--ink);color:var(--ink)}.rev-bar .tape{display:flex;gap:2px;align-items:flex-end;flex:1;min-width:0;overflow-x:auto;padding:3px 0;scrollbar-width:none;-ms-overflow-style:none}.rev-bar .tape::-webkit-scrollbar{display:none}.rev-bar .tick{width:7px;flex-shrink:0;border:0;border-radius:1px;cursor:pointer;padding:0;opacity:.5;transition:opacity .16s var(--ease)}.rev-bar .tick:hover{opacity:1}.rev-bar .tick.on{opacity:1;outline:1px solid var(--ink);outline-offset:1px}.rev-bar .tick.near{opacity:.8;outline:1px dashed var(--ink-3);outline-offset:1px}.rev-bar .tick.best{background:var(--g-best);height:9px}.rev-bar .tick.good{background:var(--g-good);height:11px}.rev-bar .tick.inaccuracy{background:var(--g-inaccuracy);height:14px}.rev-bar .tick.mistake{background:var(--g-mistake);height:18px}.rev-bar .tick.blunder{background:var(--g-blunder);height:22px}.pastgames{margin-top:34px;margin-bottom:0}.pastgames>.mono-label{display:flex;justify-content:space-between;align-items:baseline}.pastgames .export{padding:0;background:transparent;border:0;cursor:pointer;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-3);transition:color .18s var(--ease)}.pastgames .export:hover{color:var(--ink-1)}.games{display:flex;flex-direction:column;gap:1px;max-height:232px;overflow-y:auto}.game{display:flex;align-items:stretch;background:var(--paper-2)}.game .open{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 13px;background:transparent;border:0;text-align:left;cursor:pointer;font-family:inherit;transition:background .18s var(--ease)}.game .open:hover:not(:disabled){background:var(--paper-3)}.game .open:disabled{cursor:not-allowed;opacity:.45}.game .dots{display:flex;gap:3px}.game .dots .dot{width:8px;height:8px;border-radius:50%;background:var(--c)}.game .dots .dot.bot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c)}.game .what{font-size:11px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game .when{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.game.stale .what{color:var(--ink-3);font-style:italic}.game .del{padding:0 12px;background:transparent;border:0;color:var(--ink-3);font-size:15px;cursor:pointer;transition:color .18s var(--ease)}.game .del:hover{color:var(--p1)}.endgame-actions{display:flex;gap:10px;align-items:center;margin-top:8px}.endgame-actions .go{margin-top:0}.kcoast{fill:var(--paper-3);stroke:var(--coast);stroke-width:.5;opacity:.55;pointer-events:none}.kmap{cursor:grab}.kmap.panning,.kmap.panning .kterr{cursor:grabbing}.kfade-edge{stop-color:var(--sea);stop-opacity:1}.kfade-in{stop-color:var(--sea);stop-opacity:0}.kterr{fill:var(--land);stroke:none;cursor:pointer;transition:fill .2s var(--ease)}.kterr.owned{fill:color-mix(in srgb,var(--c) 38%,var(--paper))}.kterr.owned:hover{fill:color-mix(in srgb,var(--c) 52%,var(--paper))}.kterr.neutral{fill:var(--land)}.ktex{pointer-events:none}.ktex-line{stroke:var(--ink);stroke-width:.75;fill:none;opacity:.2}.ktex-fill{fill:var(--ink);stroke:none;opacity:.17}.kaim{pointer-events:none}.kaim-line{stroke-width:3;opacity:.38}.kcut-line{stroke:var(--ink);stroke-width:1.6;opacity:.55}.kedge{fill:none;stroke:var(--coast);stroke-width:.75;stroke-linejoin:round;pointer-events:none;transition:stroke .16s var(--ease),stroke-width .16s var(--ease)}.kedge.hot{stroke:var(--ink-2);stroke-width:1.4}.kedge.target{stroke:var(--ink);stroke-width:1.6;stroke-dasharray:4 3}.kedge.target.rail{stroke:var(--ink-3);stroke-width:1.2;stroke-dasharray:1.5 2.5}.kedge.attack{stroke:var(--accent);stroke-width:3.2;stroke-dasharray:5 3;animation:march 9s linear infinite}.kedge.onward{stroke:var(--accent);stroke-width:1.7;stroke-dasharray:2.5 3}.kedge.sel{stroke:var(--ink);stroke-width:2.6}.kedge.pocket{stroke:var(--cut);stroke-width:3;stroke-dasharray:7 4;animation:march 4s linear infinite}.kdepot{fill:var(--paper);stroke:var(--ink-2);stroke-width:.9}.kdepot-pip{fill:var(--ink-2)}.dead .kdepot{stroke:var(--cut);stroke-dasharray:2 1.5}.dead .kdepot-pip{fill:var(--cut);opacity:.5}.kvp{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.1}.kvp.aim{stroke:var(--ink);stroke-width:1.1}.kvp-n{font-size:8.5px;font-weight:700;fill:var(--ink);text-anchor:middle;font-family:IBM Plex Mono,monospace;paint-order:stroke;stroke:var(--paper);stroke-width:1.8px}.kvp.aim+.kvp-n{fill:var(--paper);stroke:none}.korder{fill:none}.korder.move{stroke:var(--ink-2);stroke-width:2;stroke-dasharray:5.5 3.5}.korder.rail{stroke:var(--ink-2);stroke-width:2.4;stroke-dasharray:1.5 2.5}.korder.attack{stroke:var(--accent);stroke-width:3}.korder.onward{stroke:var(--accent);stroke-width:2;stroke-dasharray:2.5 3}.korder.late{stroke:var(--ink-3);stroke-width:1.6;stroke-dasharray:1 3}.korder.hq{stroke:var(--c);stroke-width:1.4;stroke-dasharray:4 3}.khq .staff{stroke:var(--ink);stroke-width:1.2}.khq .flag{fill:var(--c);stroke:var(--ink);stroke-width:.8}.khq .ring{fill:none;stroke:var(--ink);stroke-width:1.4}.kcounter.adrift .body{opacity:.55}.kcounter .late{font-family:IBM Plex Mono,monospace;font-size:6px;fill:var(--ink-2);text-anchor:start}.klegend .row.adrift .pip{background:color-mix(in srgb,var(--ink-3) 35%,var(--paper));border-style:dotted}.khead.attack{fill:var(--accent);stroke:none}.khead.move{fill:var(--ink-2);stroke:none}.kcounter .body{fill:color-mix(in srgb,var(--c) 17%,var(--paper));stroke:var(--c);stroke-width:1.3}.kcounter .gutter-bg{fill:var(--rule)}.kcounter .gutter{fill:var(--c)}.kcounter .sym{stroke:var(--ink);stroke-width:1.35;fill:none}.kcounter .str{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700;fill:var(--ink);text-anchor:middle;font-variant-numeric:tabular-nums}.kcounter .coh-bg{fill:var(--rule)}.kcounter .coh{fill:var(--ink-2)}.kcounter .coh.low{fill:var(--cut)}.kcounter .halo{fill:none;stroke:var(--ink);stroke-width:1.8}.kcounter .ordmark{stroke:var(--ink-2);stroke-width:1.6;fill:none}.kcounter .str.short{font-size:8px;fill:var(--cut)}.kcounter .str.short.rebuilding{fill:var(--p5)}.kcounter.fog .body{fill:color-mix(in srgb,var(--c) 7%,var(--paper));stroke:var(--c);stroke-width:1.1;stroke-dasharray:2 2;opacity:.8}.kcounter.fog .sym,.kcounter.fog .str{opacity:.55}.kcounter.fog .age{font-family:IBM Plex Mono,monospace;font-size:6px;fill:var(--ink-3);text-anchor:end}.kcounter.fog .str.unknown{opacity:.45;font-size:12px}.kcounter.s2 .body{stroke:var(--strain);stroke-dasharray:3.5 2.5;stroke-width:1.6}.kcounter.s2 .gutter{fill:var(--strain)}.kcounter.s1 .body{stroke:var(--cut);stroke-dasharray:2.5 2;stroke-width:1.8}.kcounter.s1 .gutter{fill:var(--cut)}.kcounter.s0 .body{stroke:var(--cut);stroke-width:2.4}.kcounter.s0 .strike{stroke:var(--cut);stroke-width:2}.kcounter.s0 .halo{stroke:var(--cut)}.kreadout{position:absolute;top:14px;left:18px;display:flex;flex-direction:column;gap:2px;pointer-events:none;max-width:300px}.kreadout .t{font-family:"Instrument Serif",serif;font-size:27px;line-height:1}.kreadout .s{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.kreadout .f{display:flex;align-items:center;gap:7px;margin-top:3px;font-size:10.5px;color:var(--ink-2)}.kreadout .f .dot{width:7px;height:7px;border-radius:50%;background:var(--c);flex-shrink:0}.kreadout .f .nm{width:62px;color:var(--ink)}.kreadout .f .n{font-variant-numeric:tabular-nums}.kreadout .f.fog{opacity:.7}.kreadout .f .age{font-size:9.5px;color:var(--ink-3)}.kreadout .kpocket-say{margin-top:4px;color:var(--cut);font-weight:600;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.sup{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase}.sup.s3{color:var(--ink-3)}.sup.s2{color:var(--strain)}.sup.s1{color:var(--cut)}.sup.s0{color:var(--cut);font-weight:700}.klegend{position:absolute;right:18px;top:14px;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:8px 12px;background:#fcfaf5d1;border-radius:3px;pointer-events:none}.klegend .row{display:flex;align-items:center;gap:5px;white-space:nowrap}.klegend .pip{width:7px;height:11px;border-radius:1px;background:var(--rule);flex-shrink:0}.klegend .row.s3 .pip{background:var(--ink-3)}.klegend .row.s2 .pip{background:var(--strain)}.klegend .row.s1 .pip{background:var(--cut);opacity:.55}.klegend .row.s0 .pip{background:var(--cut)}.klegend .row.pocket .pip{background:transparent;border:1.5px dashed var(--cut)}.klegend .row.fog .pip{background:transparent;border:1.2px dashed var(--ink-3)}.klegend .row.hq .pip{width:3px;background:var(--ink)}.klegend b{font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink)}.klegend em{font-style:normal;font-size:10px;color:var(--ink-3)}.klegend .row.s0 b,.klegend .row.pocket b{color:var(--cut)}.kwill{display:flex;flex-direction:column;gap:3px;width:158px;flex-shrink:0}.kwill .row{display:grid;grid-template-columns:46px 1fr 22px;gap:6px;align-items:center}.kwill .nm{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kwill .row.on .nm{color:var(--ink)}.kwill .track{position:relative;height:7px;background:var(--paper-3);border-radius:1px}.kwill .track i{display:block;height:100%;background:var(--c);transition:width .3s var(--ease)}.kwill .track b{position:absolute;top:-2px;bottom:-2px;width:1.5px;background:var(--ink);opacity:.75}.kwill .n{font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--ink-2);text-align:right}.kwill .row.broken .track i{background:var(--cut)}.kwill .row.broken .n{color:var(--cut);font-weight:700}.kwill .cap{margin-top:1px;font-size:8px}.kodds{display:flex;flex-direction:column;gap:1px;width:200px;flex-shrink:0;padding-left:12px;border-left:1px solid var(--rule)}.kodds>.mono-label{overflow:hidden;text-overflow:ellipsis}.kodds .ratio{display:flex;align-items:baseline;gap:6px;font-family:"Instrument Serif",serif;font-size:25px;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--ink)}.kodds .ratio i{font-style:normal;font-size:13px;color:var(--ink-3)}.kodds .ratio em{font-style:normal;font-family:IBM Plex Mono,monospace;font-size:9px;color:var(--accent)}.kodds.good .ratio{color:var(--p5)}.kodds.bad .ratio{color:var(--cut)}.kodds .retreat{font-size:10px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kodds .retreat.none{color:var(--cut);font-weight:700;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase}.kodds .retreat.some{color:var(--accent);font-weight:600}.kodds .idle{font-size:10.5px;color:var(--ink-3);line-height:2.6}.kdock .prompt .v kbd{opacity:.7}.kpeace{margin-top:8px}.kpeace .side{margin-bottom:14px}.kpeace .head{display:grid;grid-template-columns:92px 1fr 62px;gap:10px;align-items:center}.kpeace .head .nm{color:var(--c);font-size:12px}.kpeace .head .track{height:8px;background:var(--paper-3);border-radius:1px;overflow:hidden}.kpeace .head .track i{display:block;height:100%;background:var(--c)}.kpeace .head .n{font-size:10.5px;color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.kpeace .aims{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.kpeace .aim{padding:3px 7px;border:1px solid var(--rule);border-radius:2px;font-size:10px;color:var(--ink-3);text-decoration:line-through}.kpeace .aim.held{border-color:var(--c);color:var(--ink);text-decoration:none}.gamepick{display:flex;flex-direction:column;gap:1px}.gamepick>.mono-label{margin-bottom:11px}.pickcard{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:13px 15px;text-align:left;cursor:pointer;background:var(--paper-2);border:1px solid transparent;font-family:inherit;transition:all .2s var(--ease)}.pickcard:hover{border-color:var(--rule)}.pickcard .pickname{display:flex;align-items:center;gap:9px}.pickcard .nm{font-family:"Instrument Serif",serif;font-size:21px;line-height:1;color:var(--ink-2)}.pickcard .status{padding:2px 5px;border:1px solid var(--border);border-radius:2px;font-size:7.5px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.pickcard .bl{font-size:10.5px;color:var(--ink-3);line-height:1.4}.pickcard.on{background:var(--ink);border-color:var(--ink)}.pickcard.on .nm{color:var(--paper)}.pickcard.on .status{border-color:var(--ink-3);color:color-mix(in srgb,var(--paper) 62%,transparent)}.pickcard.on .bl{color:color-mix(in srgb,var(--paper) 62%,transparent)}.kdock .cap b{color:var(--ink-2);font-weight:500}.kdock .cap b.spent{color:var(--danger)}
