:root{--blue: #378add;--orange: #ef9f27;--line: #73726c;--ink: #3d3d3a;--paper: #faf9f5;--legal: #2f9e56;--beat: 1;color-scheme:light dark;--text-xs: .8rem;--text-sm: .9rem;--text-md: 1rem;--text-lg: 1.15rem;--text-xl: 1.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2.5rem;--cell-gap: var(--space-2);--radius: var(--space-2);--radius-sm: var(--space-1);--hollow: 11%;--hollow-triangle: polygon(50% 24.6%, 82.2% 89%, 17.8% 89%)}@media (prefers-color-scheme: dark){:root{--line: #9c9a92;--ink: #c2c0b6;--paper: #1c1c1a}}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:var(--paper);color:var(--ink)}.app{max-width:26rem;margin:0 auto;padding:var(--space-6) var(--space-4)}h1{font-size:var(--text-lg);font-weight:600;letter-spacing:.02em}.top h1{display:flex;align-items:center;gap:var(--space-2);margin:0}.mark{width:3.2em;height:3.2em;flex:none}.mark[data-side=blue]+span{color:var(--orange)}.mark[data-side=orange]+span{color:var(--blue)}.app[data-colourless] .mark[data-side]+span{color:var(--ink)}.app[data-colourless] .mark .mark-shapes{fill:var(--ink)}.app[data-colourless] .mark .mark-ring{stroke:var(--ink)}.hint{color:var(--line);font-size:var(--text-sm);margin:0 0 var(--space-3)}.draw{height:2rem;margin-bottom:var(--space-3);perspective:400px}.coin{display:block;width:1.7rem;height:1.7rem;position:relative;transform-style:preserve-3d;animation:toss calc(.7s * var(--beat)) linear infinite}.face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;backface-visibility:hidden}.face[data-side=blue]{background:var(--blue)}.face[data-side=orange]{background:var(--orange);transform:rotateX(180deg)}.coin[data-settled]{animation:none;transition:transform calc(.45s * var(--beat)) cubic-bezier(.2,.9,.3,1.3)}.coin[data-landed=blue]{transform:rotateX(0)}.coin[data-landed=orange]{transform:rotateX(180deg)}@keyframes toss{to{transform:rotateX(360deg)}}.app[data-colourless] .face[data-side=blue]{background:var(--ink)}.app[data-colourless] .face[data-side=orange]{background:var(--paper);box-shadow:inset 0 0 0 3px var(--ink)}.turn{display:block;font-size:var(--text-md);font-weight:600;margin-bottom:var(--space-4)}.board{display:grid;gap:var(--cell-gap);width:100%}.block{display:grid;gap:var(--cell-gap)}.row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--cell-gap)}.band{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--cell-gap);height:1.9rem;margin:var(--space-1) 0}.crossing{width:100%;height:100%}.track{stroke:var(--ink);stroke-width:2;vector-effect:non-scaling-stroke}.head{fill:var(--ink)}.crossing[data-link=both] .track{stroke:var(--line);stroke-width:1.6}.crossing[data-link=both] .head{fill:var(--line)}.cell{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);background:transparent;display:grid;place-items:center;cursor:default;padding:0}.cell[data-legal]{cursor:pointer;border-color:var(--legal);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--legal) 35%,transparent)}.cell[data-active]{outline:2px solid var(--ink);outline-offset:2px}.cell[data-telegraph]{box-shadow:inset 0 0 0 3px var(--ink);animation:telegraph calc(.7s * var(--beat)) ease-in-out infinite}.cell[data-telegraph=to]{border-color:var(--legal)}@keyframes telegraph{0%,to{box-shadow:inset 0 0 0 2px transparent}50%{box-shadow:inset 0 0 0 3px var(--ink)}}.cell[data-arrived] .glyph{animation:slide-in calc(.18s * var(--beat)) ease-out}@keyframes slide-in{0%{transform:translate(calc(var(--dx, 0) * (100% + var(--cell-gap))),calc(var(--dy, 0) * (100% + var(--cell-gap))))}to{transform:translate(0)}}.cell[data-nameable]{cursor:pointer;border-color:var(--ink);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--ink) 25%,transparent)}.cell:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.glyph{width:58%;height:58%}.cell[data-piece=circle] .glyph{border-radius:50%}.cell[data-piece=triangle] .glyph{clip-path:polygon(50% 0,100% 100%,0 100%)}.cell[data-side=blue] .glyph{background:var(--blue)}.cell[data-side=orange] .glyph{background:var(--orange)}.cell[data-slot-side=blue]{--slot: var(--blue)}.cell[data-slot-side=orange]{--slot: var(--orange)}.cell[data-slot]:not([data-piece]) .glyph{border:1.5px solid var(--slot, var(--line));opacity:.75}.cell[data-slot=circle]:not([data-piece]) .glyph{border-radius:50%}.cell[data-slot=triangle]:not([data-piece]) .glyph{position:relative;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--slot, var(--line));border:none}.cell[data-slot=triangle]:not([data-piece]) .glyph:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--paper);clip-path:polygon(50% 13%,87% 91%,13% 91%)}.app[data-colourless] .cell[data-slot-side]{--slot: var(--line)}.app[data-colourless] .cell[data-slot-side=orange]:not([data-piece]) .glyph{border-style:dashed}.app[data-colourless] .cell[data-side=blue] .glyph{background:var(--ink)}.app[data-colourless] .cell[data-side=orange] .glyph{position:relative;background:var(--ink);box-shadow:none}.app[data-colourless] .cell[data-side=orange] .glyph:after{content:"";position:absolute;inset:var(--hollow);background:var(--paper)}.app[data-colourless] .cell[data-side=orange][data-piece=circle] .glyph:after{border-radius:50%}.app[data-colourless] .cell[data-side=orange][data-piece=triangle] .glyph:after{top:0;right:0;bottom:0;left:0;clip-path:var(--hollow-triangle)}.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-4);align-items:start;margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid color-mix(in srgb,var(--line) 30%,transparent);font-size:var(--text-xs);color:var(--line)}.controls label{display:flex;flex-direction:column;gap:var(--space-1)}.controls label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:var(--space-2)}.controls input[type=checkbox]{flex:none;margin:0}.controls select,.controls input[type=number],.controls input[type=text]{font:inherit;font-size:var(--text-sm);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-1);min-width:0}.controls input[type=range]{width:100%;min-width:0}.offers button[aria-disabled=true]{opacity:.45;cursor:default}.ready{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--line)}.controls [aria-disabled=true]{opacity:.45;cursor:default}.puzzle .lead{color:var(--line);font-size:var(--text-sm);line-height:1.5}.streaks{font-size:var(--text-sm);color:var(--line);margin-bottom:var(--space-6)}.streaks strong{color:var(--ink);font-size:var(--text-lg)}.puzzle-one{margin-bottom:var(--space-6);padding-top:var(--space-6);border-top:1px solid color-mix(in srgb,var(--line) 35%,transparent)}.puzzle-one h2{font-size:var(--text-md);font-weight:600;margin:0 0 var(--space-1)}.puzzle-one .tier{color:var(--line);font-weight:400}.ask{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--line)}.verdict{margin-top:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius);font-size:var(--text-sm);line-height:1.5;border:1px solid var(--line)}.verdict[data-right]{border-color:var(--legal)}.evaluation{margin-top:var(--space-3)}.bar{height:.5rem;border-radius:var(--radius-sm);overflow:hidden;background:var(--orange)}.share{display:block;height:100%;width:var(--blue-share, 50%);background:var(--blue);transition:width calc(.35s * var(--beat)) ease-out}.evaluation-read{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--line)}.app[data-colourless] .bar{background:color-mix(in srgb,var(--ink) 25%,transparent)}.app[data-colourless] .share{background:var(--ink)}p.evaluation{font-size:var(--text-xs);color:var(--line)}p.evaluation strong{color:var(--ink)}.annotation{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid color-mix(in srgb,var(--line) 35%,transparent)}.annotation h2{font-size:var(--text-sm);font-weight:600;margin:0 0 var(--space-3)}.curve{display:block;width:100%;height:3.5rem}.curve-level{stroke:var(--line);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;opacity:.5}.curve-line{fill:none;stroke:var(--blue);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.curve-turn{stroke:var(--orange);stroke-width:1.5;vector-effect:non-scaling-stroke}.app[data-colourless] .curve-line{stroke:var(--ink)}.app[data-colourless] .curve-turn{stroke:var(--ink);stroke-dasharray:2 2}.annotation-read{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--line)}.annotation-read strong{color:var(--ink)}.board-area{position:relative}.outcome{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:var(--space-1);text-align:center;background:color-mix(in srgb,var(--paper) 78%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2}.outcome-headline{font-size:var(--text-xl);line-height:1.1}.outcome-count{font-size:var(--text-sm);color:var(--line)}.outcome[data-tone=celebration]{animation:rise calc(.5s * var(--beat)) cubic-bezier(.2,.9,.3,1.25)}.outcome[data-tone=defeat]{animation:settle calc(.7s * var(--beat)) ease-out}.outcome[data-tone=defeat] .outcome-headline{color:var(--line);font-weight:500}@keyframes rise{0%{opacity:0;transform:translateY(1.5rem) scale(.94)}}@keyframes settle{0%{opacity:0;transform:translateY(-.75rem)}}.outcome[data-loser=blue]~.board .cell[data-side=blue] .glyph,.outcome[data-loser=orange]~.board .cell[data-side=orange] .glyph{opacity:.3;filter:saturate(.3)}.top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.top nav{display:flex;align-items:center;gap:var(--space-4)}.setup{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-3);margin-top:var(--space-5);font-size:var(--text-xs);color:var(--line)}.setup label{display:flex;flex-direction:column;gap:var(--space-1)}.gear{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-3));padding:0;background:transparent;border:none;color:var(--line);cursor:pointer}.gear:hover{color:var(--ink)}.gear svg{width:1.25rem;height:1.25rem}.settings{width:min(26rem,calc(100vw - 2 * var(--space-4)));max-height:85vh;overflow-y:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}.settings::backdrop{background:#0000008c}.settings-body{padding:var(--space-5)}.settings .controls{margin-top:0;padding-top:0;border-top:none}.top a{color:var(--line);font-size:var(--text-sm);text-underline-offset:.2em}.rules{max-width:34rem}.rules .lead{font-size:var(--text-md)}.rules section{margin-top:var(--space-6)}.rules h2{font-size:var(--text-md);margin-bottom:var(--space-2)}.rules h3{font-size:var(--text-sm);margin:0 0 var(--space-2)}.rules p{line-height:1.5}.rules .aside{border-left:2px solid var(--line);padding-left:var(--space-3);color:var(--line)}.rules .board{margin:var(--space-4) 0}.rules-boards{display:grid;gap:var(--space-5)}.rules figure{margin:0}.rules figcaption{color:var(--line);font-size:var(--text-sm)}.rules .cell{cursor:default;pointer-events:none}.analysis table{border-collapse:collapse;margin:var(--space-3) 0;font-size:var(--text-sm);width:100%}.analysis th,.analysis td{text-align:left;padding:var(--space-1) var(--space-3) var(--space-1) 0;border-bottom:1px solid color-mix(in srgb,var(--line) 35%,transparent)}.analysis th{color:var(--line);font-weight:500}.analysis ul{line-height:1.6;padding-left:var(--space-4)}.analysis code{font-size:.9em}.offers button,.board-area>button,.restart{font:inherit;font-size:var(--text-sm);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);cursor:pointer}.restart{display:block;margin-top:var(--space-5);text-decoration:none;width:fit-content}.offers button:hover,.board-area>button:hover,.restart:hover{border-color:var(--ink)}.offers{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.counter{margin:var(--space-5) 0 0;font-size:var(--text-xs);color:var(--line)}.seal{display:block;margin-top:var(--space-6);color:var(--line);font-size:var(--text-xs);letter-spacing:.02em}
