/* The Royal Game of Ur. Copyright (C) 2026 MrSuttonmann. GNU AGPL-3.0 or later; see LICENSE. */
@font-face{font-family:Alegreya;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/alegreya-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/alegreya-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/alegreya-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya;font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/alegreya-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English;font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/im-fell-english-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/im-fell-english-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Uncial Antiqua;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/uncial-antiqua-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Uncial Antiqua;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/uncial-antiqua-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}img{max-width:100%}[hidden]{display:none!important}.svg-defs{position:absolute}:root{padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);color-scheme:light;--paper: #f3e7c9;--paper-deep: #e6d3a6;--ink: #3b2a1b;--ink-soft: #6e5840;--vermilion: #b6432a;--woad: #3d5d8e;--sage: #879f66;--ochre: #d6a540;--rose: #cf8577;--bone: #f6ecd2;--c-sun: #b97a12;--c-moon: #3a62a8;--night: #1c2a52;--green: #4a7a37;--sunfire: #e9a52c;--counter-shadow: drop-shadow(1px 3px 1.5px rgb(40 28 18 / 60%));--f-display: "Uncial Antiqua", "IM Fell English", georgia, serif;--f-body: "Alegreya", "IM Fell English", georgia, serif;--f-note: "IM Fell English", georgia, serif;--hand: 255px 14px 225px 16px / 16px 225px 14px 255px;--cell: clamp(34px, calc((100vw - 88px)/8) , 68px)}*{box-sizing:border-box}body{margin:0;background-color:var(--paper);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .11 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),radial-gradient(ellipse 60% 40% at 8% 6%,rgb(214 165 64 / 22%),transparent 70%),radial-gradient(ellipse 50% 40% at 95% 30%,rgb(207 133 119 / 16%),transparent 70%),radial-gradient(ellipse 70% 50% at 50% 105%,rgb(135 159 102 / 20%),transparent 70%);background-attachment:scroll;color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.5;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:22px 44px}.backdrop{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.wrap{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.booting .wrap{visibility:hidden;animation:show-anyway 0s 4s forwards}@keyframes show-anyway{to{visibility:visible}}.ledger .log::-webkit-scrollbar,.stats-inner::-webkit-scrollbar,.scroll-x::-webkit-scrollbar{width:13px;height:13px}.ledger .log::-webkit-scrollbar-track,.stats-inner::-webkit-scrollbar-track{background:linear-gradient(90deg,transparent 5.5px,var(--ink-soft) 5.5px 7px,transparent 7px)}.stats-inner::-webkit-scrollbar-track{margin-block:16px}.scroll-x::-webkit-scrollbar-track{background:linear-gradient(180deg,transparent 5.5px,var(--ink-soft) 5.5px 7px,transparent 7px)}.ledger .log::-webkit-scrollbar-thumb,.stats-inner::-webkit-scrollbar-thumb,.scroll-x::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--paper-deep),#fffaf0 50%,var(--paper-deep));border:1.5px solid var(--ink);border-radius:7px 5px 8px 4px/9px 6px 8px 5px}.scroll-x::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--paper-deep),#fffaf0 50%,var(--paper-deep))}.ledger .log::-webkit-scrollbar-thumb:hover,.stats-inner::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,var(--ochre),#f6dc9c 50%,var(--ochre))}.scroll-x::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--ochre),#f6dc9c 50%,var(--ochre))}.ledger .log::-webkit-scrollbar-button,.stats-inner::-webkit-scrollbar-button,.scroll-x::-webkit-scrollbar-button{display:none}@supports not selector(::-webkit-scrollbar){.ledger .log,.stats-inner,.scroll-x{scrollbar-width:thin;scrollbar-color:var(--ink-soft) transparent}}header{display:flex;flex-direction:column;gap:10px}.eyebrow{font-family:var(--f-note);font-style:italic;font-size:15px;color:var(--ink-soft);margin:0}h1{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,7vw,46px);line-height:1.05;margin:0;text-wrap:balance}h1 .cap{color:var(--vermilion);font-size:1.35em;line-height:.8}.flourish{width:min(260px,70%);height:16px;display:block}.flourish-line{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}.flourish-dot{fill:var(--vermilion)}.tally{margin:0;font-family:var(--f-note);font-size:15px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-top:-6px}.icon-btn{display:inline-flex;flex-direction:column;align-items:center;min-width:50px;padding:3px 5px 2px;font-family:var(--f-note);font-size:13px;line-height:1.15;color:var(--ink);background:none;border:1.5px solid transparent;border-radius:var(--hand);cursor:pointer}.icon-btn:hover{background:var(--paper-deep);border-color:var(--ink-soft)}.icon-btn:focus-visible{outline:2px dashed var(--vermilion);outline-offset:2px}.icon-btn svg{width:28px;height:28px}[data-icon]{display:inline-flex}[data-icon] svg{overflow:visible}.tally b{color:var(--ink)}#route[aria-pressed=true]{background:var(--paper-deep);border-color:var(--ink);box-shadow:inset 1px 2px 3px #281c1240}@media(max-width:480px){.head-row .tb-group.tools{flex:1 1 100%;flex-wrap:nowrap;justify-content:space-between;gap:0}.icon-btn{min-width:0;padding:3px 2px 2px;font-size:12px}.icon-btn svg{width:26px;height:26px}}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.seg{display:inline-flex;border:1.5px solid var(--ink);border-radius:var(--hand);overflow:hidden;background:var(--bone)}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label{padding:5px 13px;cursor:pointer;font-weight:600;font-size:15px;color:var(--ink-soft)}.seg input:checked+label{background:var(--woad);color:var(--bone)}.seg input:focus-visible+label{outline:2px dashed var(--vermilion);outline-offset:-4px}select,.btn{font:inherit;font-size:15px;font-weight:600;color:var(--ink);background:var(--bone);border:1.5px solid var(--ink);border-radius:var(--hand);padding:5px 13px;cursor:pointer}.btn:hover,select:hover{background:var(--paper-deep)}.btn:focus-visible,select:focus-visible{outline:2px dashed var(--vermilion);outline-offset:3px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 10px 8px 12px;background:#f6ecd2b3;border:1.5px solid var(--ink-soft);border-radius:var(--hand)}.tb-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.tb-group.tools{gap:2px}.field{display:inline-flex;align-items:center;gap:8px}.toolbar .seg{order:1}#newgame{order:2;margin-left:auto}.tb-break{order:3;flex-basis:100%;height:0}#level-field{order:4}#variant-field{order:5}.toolbar .field{flex:1 1 220px}.toolbar .field select{flex:1;min-width:0}.variant-btn{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.variant-btn .chooser{font-family:var(--f-note);font-style:italic;font-weight:400;color:var(--vermilion);white-space:nowrap}.variant-btn:disabled{opacity:.55;cursor:not-allowed}.variant-btn:disabled .chooser{visibility:hidden}.field>span{font-family:var(--f-note);font-style:italic;font-size:15px;color:var(--ink-soft)}.btn.start{color:#fffaf0;background:var(--green);border:2px solid var(--ink);box-shadow:2px 3px 0 var(--ink)}.btn.start:hover{background:#3e6a2e}.seg input:disabled+label{opacity:.5;cursor:not-allowed}select:disabled{opacity:.55;cursor:not-allowed}.btn.with-icon{display:inline-flex;align-items:center;gap:6px}.btn.with-icon svg{width:20px;height:20px}.btn.danger{background:var(--vermilion);color:var(--bone)}@media(max-width:480px){.seg label{padding:5px 10px;font-size:14px}#newgame{order:2;padding:5px 10px;font-size:14px}.toolbar .field{flex:1 1 100%}.toolbar .field>span{min-width:4.6em}.field select{flex:1;min-width:0}}@media(max-width:400px){.seg label{padding:5px 7px;font-size:13.5px}#newgame{padding:5px 8px;gap:4px;font-size:13.5px}#newgame svg{width:16px;height:16px}}.variant-cards{display:grid;gap:10px}.variant-card{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;padding:10px 12px;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:var(--paper);border:1.5px solid var(--ink-soft);border-radius:var(--hand)}.variant-card:hover{background:var(--paper-deep)}.variant-card[aria-checked=true]{border-color:var(--ink);background:#fffaf0;box-shadow:3px 3px 0 -1px var(--ochre)}.variant-card:focus-visible{outline:2.5px dashed var(--vermilion);outline-offset:3px}.variant-card svg{width:100%;height:auto;display:block}.variant-card h3{font-family:var(--f-display);font-weight:400;font-size:20px;margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.variant-card .tag{font-family:var(--f-note);font-style:italic;font-size:13px;color:var(--ink-soft)}.variant-card .chosen{font-family:var(--f-note);font-style:italic;font-size:13px;color:var(--vermilion)}.variant-card p{margin:3px 0 0;font-size:15px;line-height:1.4}.variant-card .facts{font-family:var(--f-note);font-style:italic;font-size:13.5px;color:var(--ink-soft)}@media(max-width:480px){.variant-card{grid-template-columns:96px 1fr;gap:10px;padding:8px 10px}.variant-card h3{font-size:18px}.variant-card p{font-size:14px}}.thumb-square{fill:var(--bone);stroke:var(--ink-soft);stroke-width:.8}.thumb-square.thumb-rose{fill:var(--ochre);fill-opacity:.6}.thumb-square.safe-sq{stroke:var(--ochre);stroke-width:2}.thumb-rose-dot{fill:var(--vermilion)}.thumb-route{fill:none;stroke-width:1.8;stroke-linejoin:round}.thumb-route-sun{stroke:var(--c-sun)}.thumb-route-moon{stroke:var(--c-moon);stroke-dasharray:3 2}.thumb-counter{fill:var(--sunfire);stroke:var(--ink);stroke-width:.8}dialog.confirm{width:min(440px,calc(100vw - 24px))}.confirm h2{font-family:var(--f-display);font-weight:400;font-size:26px;margin:0}.confirm p{margin:0}.confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:8px}dialog.stats{width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden;color:var(--ink);background:var(--bone);border:2px solid var(--ink);border-radius:14px 22px 12px 20px/20px 12px 22px 14px;box-shadow:0 0 0 5px var(--bone),0 0 0 6.5px var(--ink-soft),0 24px 50px -20px #281c12b3}dialog.stats::backdrop{background:#281c127f}.stats-inner{max-height:calc(100dvh - 28px);overflow-y:auto;padding:18px 20px 24px;display:flex;flex-direction:column;gap:14px}.stats-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.stats-head h2{font-family:var(--f-display);font-weight:400;font-size:28px;margin:0}.stats-tabs{display:flex;gap:6px;border-bottom:1.5px solid var(--ink-soft)}.stats-tabs button{font:inherit;font-weight:600;font-size:15px;color:var(--ink-soft);background:none;cursor:pointer;border:1.5px solid transparent;border-bottom:0;border-radius:10px 12px 0 0;padding:5px 14px;margin-bottom:-1.5px}.stats-tabs button[aria-selected=true]{color:var(--ink);background:var(--paper);border-color:var(--ink-soft)}.stats-tabs button:focus-visible{outline:2px dashed var(--vermilion);outline-offset:2px}.opt{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.now-playing{margin:6px 0 0;font-family:var(--f-note);font-style:italic;font-size:14px;color:var(--ink-soft)}.opt-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px}.opt-range input[type=range]{-webkit-appearance:none;appearance:none;flex:1 1 160px;max-width:260px;height:22px;background:none;cursor:pointer}.opt-range input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--paper-deep);border:1.5px solid var(--ink);border-radius:5px 3px 6px}.opt-range input[type=range]::-moz-range-track{height:6px;background:var(--paper-deep);border:1.5px solid var(--ink);border-radius:5px 3px 6px}.opt-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7.5px;border-radius:50%;background:var(--ochre);border:1.5px solid var(--ink)}.opt-range input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--ochre);border:1.5px solid var(--ink)}.opt-range input[type=range]:focus-visible{outline:2px dashed var(--vermilion);outline-offset:3px}.opt b{display:block}.opt small{display:block;font-size:14px;color:var(--ink-soft)}.toggle{-webkit-appearance:none;appearance:none;flex-shrink:0;position:relative;width:40px;height:22px;margin:2px 0 0;cursor:pointer;background:var(--paper-deep);border:1.5px solid var(--ink);border-radius:12px 10px 13px 9px}.toggle:before{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--bone);border:1.5px solid var(--ink);transition:transform .2s}.toggle:checked{background:var(--sage)}.toggle:checked:before{transform:translate(17px);background:#fffaf0}.toggle:focus-visible{outline:2px dashed var(--vermilion);outline-offset:3px}.slab{position:relative;align-self:center;padding:12px;border:2px solid var(--ink);border-radius:18px 26px 16px 24px/24px 16px 26px 18px;background:radial-gradient(ellipse 45% 70% at 15% 30%,rgb(135 159 102 / 70%),transparent 70%),radial-gradient(ellipse 40% 60% at 85% 75%,rgb(135 159 102 / 60%),transparent 70%),radial-gradient(ellipse 35% 55% at 55% 15%,rgb(214 165 64 / 45%),transparent 70%),radial-gradient(ellipse 30% 50% at 40% 90%,rgb(61 93 142 / 25%),transparent 70%),var(--paper-deep);box-shadow:0 0 0 5px var(--paper),0 0 0 6.5px var(--ink-soft),0 14px 30px -18px #3b2a1bb3}.slab:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;mix-blend-mode:multiply;opacity:.9;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='w'><feTurbulence type='fractalNoise' baseFrequency='.035' numOctaves='4' seed='9'/><feColorMatrix values='0 0 0 0 .55 0 0 0 0 .45 0 0 0 0 .25 0 0 0 .35 -.05'/></filter><rect width='100%' height='100%' filter='url(%23w)'/></svg>")}.board{position:relative;display:grid;grid-template-columns:repeat(8,var(--cell));grid-auto-rows:var(--cell);gap:4px}.cell{position:relative}.cell svg.tile{position:absolute;inset:-3%;width:106%;height:106%;overflow:visible}.cell.gap{display:grid;place-items:center;text-align:center;font-family:var(--f-note);font-style:italic;color:var(--ink);font-size:clamp(11px,calc(var(--cell) * .24),15px);line-height:1.1}.cell.gap.g1{grid-column:span 2}.cell .num{position:absolute;top:-5px;left:-4px;z-index:2;min-width:17px;padding:0 3px;text-align:center;font-family:var(--f-note);font-size:12px;line-height:16px;color:var(--ink);font-variant-numeric:tabular-nums;background:var(--bone);border:1px solid var(--ink-soft);border-radius:8px 6px 9px 5px;opacity:0;transition:opacity .2s;pointer-events:none}.show-route .cell .num{opacity:1}.cell .num.num-sun{border-color:var(--c-sun);color:var(--c-sun)}.cell .num.num-moon{left:auto;right:-4px;border-color:var(--c-moon);color:var(--c-moon)}.slot{position:absolute;inset:0;display:grid;place-items:center}.cell.lastto:before{content:"";position:absolute;inset:2px;border-radius:40%;pointer-events:none;background:radial-gradient(circle,#d6a540b3,#d6a54000 70%)}.cell.target:after{content:"";position:absolute;inset:5px;border-radius:50% 46% 52% 44%;border:2.5px dashed var(--ink);pointer-events:none}.cell.target.capture:after{border:3px solid var(--vermilion)}.arrow-layer{position:absolute;left:0;top:0;pointer-events:none;z-index:45;filter:drop-shadow(0 0 1.5px #fffaf0) drop-shadow(0 0 1px #fffaf0)}.move-arrow{fill:none;stroke:var(--vermilion);stroke-width:5;stroke-linecap:round;stroke-dasharray:10 7;animation:march .9s linear infinite}@keyframes march{to{stroke-dashoffset:-17}}@media(prefers-reduced-motion:reduce){.move-arrow{animation:none}}.move-arrowhead{fill:var(--vermilion)}.cell.safe-sq{border-radius:7px;box-shadow:0 0 0 2.5px var(--ochre),0 0 0 4px var(--ink)}.key{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:10px 14px;border:1.5px dashed var(--ink-soft);border-radius:var(--hand)}.key-title{font-family:var(--f-display);font-size:17px;flex-basis:100%}.key-item{display:flex;align-items:center;gap:8px;font-size:15px;line-height:1.25;min-width:0}.key-item b{font-weight:600}.key-item small{display:block;font-family:var(--f-note);font-style:italic;font-size:13px;color:var(--ink-soft)}.key-icons{display:flex;gap:3px;flex-shrink:0}.key-tile{position:relative;width:30px;height:30px;flex-shrink:0}.key-tile svg.tile{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.key-tile.safe-sq{border-radius:5px;box-shadow:0 0 0 2px var(--ochre),0 0 0 3.5px var(--ink)}.danger-wash{position:absolute;inset:3%;border-radius:6px;pointer-events:none;background:var(--vermilion);border:2px solid var(--vermilion);opacity:min(.7,calc(var(--danger, 0) * .9));transition:opacity .3s}.danger-chance{position:absolute;left:50%;bottom:-4px;transform:translate(-50%);z-index:3;pointer-events:none;padding:0 4px;border-radius:6px;border:1px solid var(--vermilion);background:var(--bone);color:var(--vermilion);font:600 clamp(9px,calc(var(--cell) * .2),12px) / 1.3 var(--f-body);font-variant-numeric:tabular-nums}.danger-chance:empty{display:none}.key-item[hidden]{display:none}.key-danger-swatch{width:30px;height:30px;border-radius:5px;background:linear-gradient(90deg,#b6432a1f,#b6432abf);border:1.5px solid var(--ink)}.cell .tile .art{transition:opacity .25s}.cell.occupied .tile .art{opacity:.28}.no-safe .safe-sq{box-shadow:none}.game{display:flex;flex-direction:column;gap:12px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tray{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;background:#f6ecd2b3;border:1.5px solid var(--ink-soft);border-radius:var(--hand);padding:8px 14px;transition:border-color .25s,box-shadow .25s,background-color .25s}.tray-sun{--side: var(--c-sun);--side-wash: rgb(233 165 44 / 20%)}.tray-moon{--side: var(--c-moon);--side-wash: rgb(58 98 168 / 10%)}.tray.active{background-color:var(--side-wash);border-color:var(--side);box-shadow:0 0 0 1px var(--side),3px 3px 0 -1px var(--ink)}.tray.off-turn .tray-name,.tray.off-turn .tray-count{opacity:.6;filter:saturate(.6);transition:opacity .25s,filter .25s}.tray.off-turn .piece{opacity:.6;filter:saturate(.6) var(--counter-shadow)}.tray .piece{transition:opacity .25s,filter .25s}.tray-name{font-weight:600;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tray-name .side{font-family:var(--f-note);font-style:italic;font-weight:400;color:var(--ink-soft)}.chip{position:absolute;top:-13px;right:16px;transform:rotate(1.5deg);font-family:var(--f-note);font-style:italic;font-weight:600;font-size:15px;line-height:22px;color:#fffaf0;padding:0 11px;background:var(--side);border:1.5px solid var(--ink);border-radius:9px 6px 10px 5px;box-shadow:1px 2px 0 var(--ink)}.tray-count{font-family:var(--f-note);font-size:14px;color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right}.pool{display:flex;align-items:center;min-height:calc(var(--cell) * .66);gap:3px;flex-wrap:wrap}.pool.home{justify-content:flex-end}.pool.home .piece+.piece{margin-left:calc(var(--cell) * -.24)}.pool .piece{width:calc(var(--cell) * .55)}.pool .piece.movable{width:calc(var(--cell) * .66)}.pool.target{outline:2px dashed var(--vermilion);outline-offset:3px;border-radius:10px}.piece{position:relative;display:block;width:88%;aspect-ratio:1;max-width:100%;padding:0;margin:0;background:none;border:0;border-radius:50%;cursor:default;font:inherit;filter:var(--counter-shadow);touch-action:manipulation}.piece svg{width:100%;height:100%;display:block;overflow:visible}.piece.movable{cursor:pointer;filter:drop-shadow(0 0 4px var(--sunfire)) drop-shadow(0 0 2px var(--sunfire)) var(--counter-shadow);animation:bob 1.3s ease-in-out infinite}.piece:focus-visible{outline:2.5px dashed var(--vermilion);outline-offset:3px}.kbd .piece.movable[data-key]:after{content:attr(data-key);position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;font:600 12px/18px var(--f-body);text-align:center;color:var(--bone);background:var(--ink);border:1.5px solid var(--bone)}@keyframes bob{50%{transform:translateY(-3px) rotate(-4deg)}}.piece.gliding{z-index:5}.piece.knocked-off{z-index:6}.piece.hopping{z-index:20}.petal{position:absolute;left:50%;top:50%;width:8px;height:10px;margin:-5px 0 0 -4px;z-index:30;pointer-events:none;border-radius:60% 60% 60% 0;background:var(--vermilion);opacity:.85}.petal.alt{background:var(--ochre)}.float-word{position:absolute;left:50%;top:-4px;z-index:40;pointer-events:none;white-space:nowrap;font-family:var(--f-display);font-size:17px;line-height:1.2;color:var(--vermilion);padding:4px 14px 3px;background:linear-gradient(180deg,var(--bone) 0%,#fffaf0 45%,var(--paper-deep) 100%);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);box-shadow:0 5px 10px -3px #281c1273}.float-word:before,.float-word:after{content:"";position:absolute;top:-5px;bottom:-5px;width:10px;border:1.5px solid var(--ink);border-radius:6px;background:linear-gradient(90deg,var(--paper-deep),#fffaf0 50%,var(--paper-deep))}.float-word:before{left:-7px}.float-word:after{right:-7px}@media(prefers-reduced-motion:reduce){.piece.movable{animation:none}}.dock{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;background:#f6ecd2b3;border:1.5px solid var(--ink);border-radius:var(--hand);padding:12px 16px;transition:border-color .25s,box-shadow .25s}.dice{display:flex;gap:6px}.die-slot{display:block;transform-origin:50% 65%}.die{width:36px;height:33px;overflow:visible;display:block}.dice.idle .die{opacity:.4}.total{font-family:var(--f-display);font-size:42px;line-height:1;min-width:1.1ch;text-align:center;color:var(--vermilion);font-variant-numeric:tabular-nums}.roll{font-family:var(--f-display);font-size:19px;padding:8px 22px;cursor:pointer;background:var(--vermilion);color:var(--bone);border:2px solid var(--ink);border-radius:var(--hand);box-shadow:2px 3px 0 var(--ink)}.roll:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 4px 0 var(--ink)}.roll:active:not(:disabled){transform:translate(1px,2px);box-shadow:1px 1px 0 var(--ink)}.roll:disabled{opacity:.45;cursor:default}.roll:focus-visible{outline:2.5px dashed var(--ink);outline-offset:4px}.status{flex:1 1 150px;min-width:0}.status strong{display:block;font-size:18px}.game[data-turn=sun] .dock{border-color:var(--c-sun);box-shadow:inset 6px 0 0 var(--c-sun)}.game[data-turn=moon] .dock{border-color:var(--c-moon);box-shadow:inset 6px 0 0 var(--c-moon)}.status .turn-counter{display:inline-block;min-height:0;width:22px;height:22px;margin-right:7px;vertical-align:-4px}.status .turn-counter svg{width:100%;height:100%;display:block;overflow:visible}.act{display:grid}.act>*{grid-area:1 / 1}.act>.swapped{visibility:hidden}.advise{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-family:var(--f-display);font-size:17px;padding:6px 14px;color:var(--ink);background:var(--bone);border:2px solid var(--ink);border-radius:var(--hand);box-shadow:2px 3px 0 var(--ink);position:relative}.advise svg{width:24px;height:24px}.advise .left{position:absolute;top:-10px;right:-10px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;border:1.5px solid var(--bone);font:600 12px/20px var(--f-body);color:var(--bone);background:var(--vermilion)}.advise:disabled{opacity:.55;cursor:default;box-shadow:1px 1px 0 var(--ink)}.advise:disabled .left{background:var(--ink-soft)}.advise:hover:not(:disabled){background:var(--paper-deep)}.advise:focus-visible{outline:2.5px dashed var(--ink);outline-offset:4px}.undo{display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:5px 12px;font-family:var(--f-note);font-size:16px;color:var(--ink);background:none;border:1.5px solid var(--ink-soft);border-radius:var(--hand)}.undo[hidden]{display:none}.undo svg{width:20px;height:20px}.undo:hover:not(:disabled){background:var(--paper-deep)}.undo:disabled{opacity:.4;cursor:default}.undo:focus-visible{outline:2.5px dashed var(--ink);outline-offset:4px}.status span{display:block;min-height:1.5em;color:var(--ink-soft);font-family:var(--f-note);font-style:italic;font-size:15px}.status.win strong{color:var(--vermilion);font-family:var(--f-display);font-size:26px;font-weight:400}@media(max-width:480px){.die{width:30px;height:28px}.dice{gap:4px}.roll{padding:8px 18px}.advise{padding:6px 10px;font-size:16px;gap:4px}.advise svg{width:20px;height:20px}.advise .me{display:none}}@media(prefers-reduced-motion:reduce){.roll{transition:none}}.log .waiting{font-style:italic}.under{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.log{list-style:none;margin:0;padding:0;font-family:var(--f-note);font-size:15px;color:var(--ink-soft);display:flex;flex-direction:column;gap:1px;min-width:0}.log li:first-child{color:var(--ink)}.ledger{position:relative;flex:1 1 320px;min-width:0;margin-top:14px;padding:22px 6px 10px 12px;background:#f6ecd2b3;border:1.5px solid var(--ink-soft);border-radius:var(--hand)}.ledger .log{gap:0;max-height:138px;overflow-y:auto;overscroll-behavior:contain;list-style:none;padding:0 8px 0 0;background-image:repeating-linear-gradient(180deg,transparent 0 22px,rgb(110 88 64 / 13%) 22px 23px);background-attachment:local}.ledger .log li{line-height:23px;padding-left:2.4em}.ledger .log .n{display:inline-block;width:2em;margin-left:-2.4em;margin-right:.4em;text-align:right;vertical-align:top;font-size:13px;color:var(--vermilion);font-variant-numeric:tabular-nums}.ledger .log:focus-visible{outline:2px dashed var(--vermilion);outline-offset:3px;border-radius:4px}.ledger-label{position:absolute;top:-14px;left:18px;transform:rotate(-2deg);font-family:var(--f-display);font-size:16px;color:var(--vermilion);white-space:nowrap;padding:3px 14px 2px;background:linear-gradient(180deg,var(--bone) 0%,#fffaf0 45%,var(--paper-deep) 100%);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);box-shadow:0 3px 6px -2px #281c1266}.ledger-label:before,.ledger-label:after{content:"";position:absolute;top:-5px;bottom:-5px;width:9px;border:1.5px solid var(--ink);border-radius:6px;background:linear-gradient(90deg,var(--paper-deep),#fffaf0 50%,var(--paper-deep))}.ledger-label:before{left:-6px}.ledger-label:after{right:-6px}details{border:1.5px solid var(--ink-soft);border-radius:var(--hand);padding:12px 18px;background:#f6ecd28c}summary{cursor:pointer;font-family:var(--f-display);font-size:21px}summary:focus-visible{outline:2px dashed var(--vermilion);outline-offset:4px}.rules{max-width:62ch}.rules li{margin-bottom:6px}.rules li::marker{color:var(--vermilion)}.rules h4{font-family:var(--f-display);font-weight:400;font-size:18px;margin:16px 0 4px}.rules p{margin:0 0 6px}.rules .first-heading{margin-top:0}.rules .odds-intro{margin-bottom:0}.variant-now{padding:6px 12px;border:1.5px dashed var(--vermilion);border-radius:var(--hand)}.rules .route{display:block;width:100%;max-width:340px;height:auto;margin:6px 0 2px}.rules .sun{color:var(--c-sun);font-weight:600}.rules .moon{color:var(--c-moon);font-weight:600}.diagram-square{fill:var(--bone);stroke:var(--ink-soft);stroke-width:1}.diagram-square.diagram-rose{fill:var(--ochre);fill-opacity:.55}.diagram-rose.safe-sq{stroke:var(--ochre);stroke-width:2.5}.diagram-rose-dot{fill:var(--vermilion);fill-opacity:.8}.diagram-gate{font:italic 9px var(--f-note);fill:var(--ink-soft)}.route-line{fill:none;stroke-width:3;stroke-linejoin:round}.route-line-sun{stroke:var(--c-sun)}.route-line-moon{stroke:var(--c-moon);stroke-dasharray:6 3}.route-arrowhead-sun{fill:var(--c-sun)}.route-arrowhead-moon{fill:var(--c-moon)}.odds{display:grid;grid-template-columns:auto 1fr auto;gap:5px 10px;align-items:center;font-variant-numeric:tabular-nums;max-width:360px;margin-top:8px}.odds .bar{height:11px;background:var(--vermilion);opacity:.75;border-radius:6px 2px 7px 3px}.odds .n{font-family:var(--f-display);font-size:18px}.odds .p{font-family:var(--f-note);color:var(--ink-soft)}.foot{margin-top:18px;padding-inline:8px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:15px;color:var(--ink-soft)}.foot .flourish{width:min(240px,70%)}.foot .flourish-line{stroke:var(--ink-soft);stroke-width:1.4}.foot p{margin:0;text-wrap:pretty}.foot-title{font-family:var(--f-display);font-size:19px;color:var(--ink)}.foot a{color:var(--vermilion);text-underline-offset:2px}.foot a:focus-visible{outline:2px dashed var(--vermilion);outline-offset:2px}.colophon{width:min(100%,580px);margin:16px 0 0;text-align:left;border-top:1px dashed var(--ink-soft)}.colophon div{display:grid;grid-template-columns:6.5em 1fr;gap:4px 14px;padding:10px 6px;border-bottom:1px dashed var(--ink-soft)}.colophon dt{font-family:var(--f-display);font-size:15px;color:var(--vermilion)}.colophon dd{margin:0;font-size:15px;line-height:1.5;color:var(--ink-soft)}@media(max-width:480px){.colophon div{grid-template-columns:1fr}}.foot-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:6px 0 2px}.brand-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 12px;text-decoration:none;font-weight:600;font-size:15px;border:2px solid var(--ink);border-radius:var(--hand);box-shadow:2px 3px 0 var(--ink);transition:transform .1s,box-shadow .1s}.brand-btn svg{width:22px;height:22px;flex-shrink:0;overflow:visible}.brand-btn.gh{background:#24292f;color:#fff}.brand-btn.bmc{background:#fd0;color:#000}.brand-btn:hover{transform:translate(-1px,-1px);box-shadow:3px 4px 0 var(--ink)}.brand-btn:active{transform:translate(1px,2px);box-shadow:1px 1px 0 var(--ink)}.brand-btn:focus-visible{outline:2.5px dashed var(--vermilion);outline-offset:4px}@media(prefers-reduced-motion:reduce){.brand-btn{transition:none}}.coffee-steam{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round}.coffee-cup{fill:#fffaf0;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}.coffee{fill:var(--vermilion);fill-opacity:.85}.coffee-cup-handle{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round}.piece.advised{filter:drop-shadow(0 0 3px var(--vermilion)) drop-shadow(0 0 3px var(--vermilion)) var(--counter-shadow)}.cell.advised-target,.pool.advised-target{outline:3px dashed var(--vermilion);outline-offset:1px;border-radius:7px}.coach{position:absolute;z-index:60;width:min(320px,calc(100vw - 32px));padding:12px 14px 10px;background:#fffaf0;color:var(--ink);border:2px solid var(--ink);border-radius:12px 16px 10px 14px/14px 10px 16px 12px;box-shadow:0 10px 24px -10px #281c1299}.coach:before{content:"";position:absolute;left:calc(var(--ax, 50%) - 8px);width:14px;height:14px;background:#fffaf0;border:2px solid var(--ink);transform:rotate(45deg)}.coach[data-side=below]:before{top:-9px;border-right:0;border-bottom:0}.coach[data-side=above]:before{bottom:-9px;border-left:0;border-top:0}.coach p{margin:0 0 10px;font-size:16px;line-height:1.45}.advice-note{width:min(270px,calc(100vw - 32px));padding:8px 12px;pointer-events:none;z-index:55;border-color:var(--vermilion)}.advice-note:before{border-color:var(--vermilion)}.advice-note p{margin:0;font-size:15px;line-height:1.4}.coach-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.linkish{font:inherit;font-family:var(--f-note);font-style:italic;font-size:14px;color:var(--ink-soft);background:none;border:0;padding:2px;cursor:pointer;text-decoration:underline}.linkish:focus-visible{outline:2px dashed var(--vermilion)}.coach-focus{outline:3px solid var(--ochre)!important;outline-offset:3px;border-radius:8px}#stats-body{display:flex;flex-direction:column;gap:10px}#stats-body h3{font-family:var(--f-display);font-weight:400;font-size:19px;margin:8px 0 0}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.tile-s{display:flex;flex-direction:column;padding:8px 12px;background:var(--paper);border:1.5px solid var(--ink-soft);border-radius:var(--hand)}.tile-s span{font-family:var(--f-note);font-size:14px;color:var(--ink-soft)}.tile-s b{font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums}.race{margin:0;font-family:var(--f-note);font-size:16px}.scroll-x{overflow-x:auto}table.cmp{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.cmp th,.cmp td{padding:5px 8px;border-bottom:1px solid var(--paper-deep);text-align:right}.cmp thead th{font-weight:600;border-bottom:1.5px solid var(--ink-soft);white-space:nowrap}.cmp thead th i,.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:0}.cmp tbody th,.cmp thead th:first-child{text-align:left}.cmp tbody th{font-weight:400}.cmp tbody th small{display:block;font-family:var(--f-note);font-style:italic;font-size:13px;color:var(--ink-soft)}.cmp td.lead{font-weight:600}.cmp td.lead:before{content:"\25c6  ";font-size:10px;color:var(--vermilion);vertical-align:2px}.legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}.legend .exp-key{width:0;height:12px;border-left:2px dashed var(--ink);border-radius:0;margin-right:8px;vertical-align:-1px}.swatch-sun{background:var(--c-sun)}.swatch-moon{background:var(--c-moon)}.rc{display:grid;grid-template-columns:22px 1fr;gap:6px 8px;align-items:center}.rc-v{font-family:var(--f-display);font-size:17px;text-align:center}.rc-track{position:relative;display:flex;flex-direction:column;gap:2px;padding-block:3px;background:linear-gradient(90deg,var(--paper-deep) 1px,transparent 1px) 0 0 / 25% 100%}.rc-bar{display:block;height:10px;min-width:2px;border-radius:0 4px 4px 0}.rc-exp{position:absolute;top:-2px;bottom:-2px;width:12px;margin-left:-6px;z-index:1}.rc-exp:after{content:"";position:absolute;left:5px;top:0;bottom:0;border-left:2px dashed var(--ink)}.rc-axis{position:relative;height:18px;font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.rc-axis span{position:absolute;transform:translate(-50%)}.rc-axis span:first-child{transform:none}.rc-axis span:last-child{transform:translate(-100%)}.cap,.empty{margin:0;font-family:var(--f-note);font-size:14px;color:var(--ink-soft)}details.tbl{border:0;padding:0;background:none;font-size:14px}details.tbl summary{font-family:var(--f-note);font-size:14px;color:var(--ink-soft)}details.tbl table{border-collapse:collapse;margin-top:6px;font-variant-numeric:tabular-nums}details.tbl th,details.tbl td{padding:2px 10px;text-align:right;border-bottom:1px solid var(--paper-deep)}.heat{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;max-width:420px}.hc,.hg{aspect-ratio:1;display:grid;place-items:center;border-radius:5px;font-size:13px;font-variant-numeric:tabular-nums}.hc{background:rgb(182 67 42 / var(--a));border:1px solid var(--ink-soft)}.hc.rose{box-shadow:inset 0 0 0 2px var(--ochre)}.hc.busy{color:var(--bone)}.reset{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--f-note)}.tip{position:fixed;z-index:10;pointer-events:none;max-width:260px;padding:5px 9px;background:var(--ink);color:var(--bone);font-size:13px;border-radius:6px;line-height:1.35}.ink-line{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.tile-ros,.tile-tree{--wash: var(--ochre)}.tile-castle{--wash: var(--rose)}.tile-five{--wash: var(--paper-deep)}.tile-shield{--wash: var(--woad)}.tile-crown{--wash: var(--sage)}.tile-wash{fill:var(--wash);fill-opacity:.78}.tile-wash-edge{fill:none;stroke:var(--wash);stroke-opacity:.6;stroke-width:2.2}.ink-line.tile-border{stroke-width:1.5}.rose-leaf{fill:var(--sage);fill-opacity:.9}.rose-petal{fill:var(--vermilion);fill-opacity:.85;stroke:var(--ink);stroke-width:1.1}.rose-heart{fill:var(--ochre);stroke:var(--ink);stroke-width:1.1}.rose-stamen{fill:var(--ink)}.castle-wall{fill:var(--bone);fill-opacity:.9}.castle-flag{fill:var(--vermilion);fill-opacity:.9}.shield-field{fill:var(--bone);fill-opacity:.9}.shield-chevron{fill:var(--vermilion);fill-opacity:.75}.crown-gold{fill:var(--ochre);fill-opacity:.95}.crown-jewel{fill:var(--vermilion);stroke:var(--ink);stroke-width:.8}.tree-trunk{fill:var(--ink-soft);fill-opacity:.7}.tree-leaves{fill:var(--sage);fill-opacity:.9}.tree-fruit{fill:var(--vermilion);fill-opacity:.9}.five-spot{fill:var(--woad);fill-opacity:.8;stroke:var(--ink);stroke-width:1}.five-spot-centre,.counter-rim{fill:var(--bone)}.counter-sun .counter-face{fill:var(--sunfire)}.counter-moon .counter-face{fill:var(--night)}.counter-wash{fill-opacity:.55}.counter-sun .counter-wash{fill:var(--ochre)}.counter-moon .counter-wash{fill:var(--woad)}.ink-line.counter-edge{stroke-width:2.2}.ink-line.counter-inner-edge{stroke-width:1}.ink-line.sun-ray{stroke-width:1.4}.sun-face{fill:var(--bone);stroke:var(--ink);stroke-width:1.2}.ink-line.sun-eyes{stroke-width:1.8}.moon-crescent,.moon-star{fill:#fffaf0}.die-face{fill:var(--bone)}.die-shade{fill:var(--paper-deep);fill-opacity:.9}.ink-line.die-edges{stroke-width:1.4}.die-mark{fill:var(--vermilion);stroke:var(--ink);stroke-width:1}.die-tip{fill:var(--ink)}.icon-strike{fill:none;stroke:var(--vermilion);stroke-width:2.2;stroke-linecap:round}.play-arrow{fill:var(--bone);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.book-pages{fill:var(--bone)}.book-ribbon{fill:var(--vermilion);fill-opacity:.9;stroke:var(--ink);stroke-width:1}.ink-line.sword-blade{stroke-width:1.9}.ink-line.sword-guard{stroke-width:2}.sword-grip{fill:none;stroke:var(--vermilion);stroke-width:2.6;stroke-linecap:round}.sword-pommel{fill:var(--ochre);stroke:var(--ink);stroke-width:1}.route-trail{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:.1 3.2}.ink-line.route-trail-head{stroke-width:1.6}.route-trail-start{fill:var(--vermilion);fill-opacity:.9;stroke:var(--ink);stroke-width:1}.owl-feathers{fill:var(--ochre);fill-opacity:.9}.owl-eye{fill:var(--bone);stroke:var(--ink);stroke-width:1.1}.owl-pupil{fill:var(--ink)}.owl-beak{fill:var(--vermilion);stroke:var(--ink);stroke-width:.8}.key-bow{fill:var(--ochre);fill-opacity:.9;stroke:var(--ink);stroke-width:1.4}.key-bow-hole{fill:var(--bone);stroke:var(--ink);stroke-width:1}.ink-line.key-shaft{stroke-width:1.8}.ink-line.music-stems{stroke-width:1.7}.music-note{fill:var(--vermilion);fill-opacity:.95;stroke:var(--ink);stroke-width:1.2}.music-note.silenced{fill:var(--paper-deep)}.ink-line.tally-marks{stroke-width:1.9}.bell-metal{fill:var(--ochre);fill-opacity:.95}.bell-metal.silenced{fill:var(--paper-deep);fill-opacity:.9}.game{position:relative}.portrait{display:none}@media(min-width:1160px){.portrait{display:flex;flex-direction:column;align-items:center;gap:4px;position:absolute;width:190px;z-index:2}#portrait1{right:calc(100% + 30px)}#portrait0{left:calc(100% + 30px)}}@media(min-width:700px)and (max-width:1159px){.portrait{display:block;position:absolute;left:12px;width:84px;z-index:3}.portrait .medal{width:84px;height:84px}.portrait .pname{display:none}.tray{padding-left:110px;min-height:104px}.portrait .speech{position:absolute;left:-4px;width:max-content;max-width:220px;margin:0;pointer-events:none;z-index:4;text-align:left}.portrait .speech:before{left:36px}#portrait1 .speech{top:calc(100% + 12px)}#portrait0 .speech{bottom:calc(100% + 12px)}#portrait0 .speech:before{top:auto;bottom:-9px;transform:rotate(225deg)}}@media(max-width:699px){html,body{overflow-x:hidden;overflow-x:clip}.portrait{display:block;position:absolute;width:72px;z-index:6;pointer-events:none;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}.portrait .medal{width:72px;height:72px}.portrait .pname{display:none}#portrait1{left:calc(-1*max(16px,env(safe-area-inset-left,0px)) - 50px);transform:rotate(20deg)}#portrait0{right:calc(-1*max(16px,env(safe-area-inset-right,0px)) - 50px);transform:rotate(-20deg)}#portrait1.speaking{transform:translate(62px)}#portrait0.speaking{transform:translate(-62px)}.portrait .speech{position:absolute;top:8px;width:max-content;max-width:min(220px,62vw);margin:0;text-align:left}#portrait1 .speech{left:calc(100% + 12px)}#portrait0 .speech{right:calc(100% + 12px)}#portrait1 .speech:before{left:-9px;top:12px;transform:rotate(-45deg)}#portrait0 .speech:before{left:auto;right:-9px;top:12px;transform:rotate(135deg)}}@media(max-width:699px)and (prefers-reduced-motion:reduce){.portrait{transition:none}}.medal{width:150px;height:150px;filter:drop-shadow(1px 4px 3px rgb(40 28 18 / 35%));transition:filter .25s,opacity .25s}.medal svg{width:100%;height:100%;overflow:visible}.game[data-turn=sun] #medal0{filter:drop-shadow(0 0 5px var(--sunfire)) drop-shadow(0 0 3px var(--sunfire)) drop-shadow(1px 4px 3px rgb(40 28 18 / 35%))}.game[data-turn=moon] #medal1{filter:drop-shadow(0 0 5px var(--c-moon)) drop-shadow(0 0 3px var(--c-moon)) drop-shadow(1px 4px 3px rgb(40 28 18 / 35%))}.game[data-turn=sun] #medal1,.game[data-turn=moon] #medal0{opacity:.65}.pname{font-family:var(--f-display);font-size:17px}.speech{position:relative;margin-top:10px;max-width:190px;padding:8px 12px;text-align:center;font-size:15px;line-height:1.35;background:#fffaf0;border:2px solid var(--ink);border-radius:14px 18px 12px 16px/16px 12px 18px 14px;box-shadow:0 6px 14px -8px #281c1299}.speech:before{content:"";position:absolute;top:-9px;left:calc(50% - 8px);width:14px;height:14px;background:#fffaf0;border:2px solid var(--ink);border-right:0;border-bottom:0;transform:rotate(45deg)}.speech.pop{animation:speech-pop .35s cubic-bezier(.2,1.6,.4,1)}@keyframes speech-pop{0%{transform:scale(.4) rotate(-6deg);opacity:0}}.blink{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite}@keyframes blink{0%,96%,to{transform:scaleY(1)}98%{transform:scaleY(.1)}}@media(prefers-reduced-motion:reduce){.speech.pop,.blink{animation:none}}.medal-sun-ray{fill:var(--ochre);stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}.medal-sun-disc{fill:var(--sunfire)}.medal-sun-wash{fill:var(--ochre);fill-opacity:.6}.medal-night{fill:var(--night)}.medal-night-wash{fill:var(--woad);fill-opacity:.5}.medal-moon,.medal-star{fill:#fffaf0}.ink-line.medal-rim{stroke-width:2}.character-hero,.character-heroLocal{--skin: #f3cfa6}.character-squire{--skin: #f6d6b3}.character-knight{--skin: #e8c29a}.character-king{--skin: #efc9a4}.character-stargazer{--skin: #e9cdb4}.skin{fill:var(--skin);stroke:var(--ink);stroke-width:1.3}.skin.face{stroke-width:1.6}.pupil{fill:var(--ink)}.eye-white{fill:#fffaf0;stroke:var(--ink);stroke-width:1.3}.ink-line.eyelid{stroke-width:2.2}.ink-line.brow{stroke-width:1.8}.ink-line.brow-sad{stroke-width:2}.ink-line.brow-angry{stroke-width:2.4}.ink-line.mouth{stroke-width:2}.ink-line.mouth-angry{stroke-width:2.2}.mouth-open{fill:#7a2a1e;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.mouth-gasp{fill:#7a2a1e;stroke:var(--ink);stroke-width:1.4}.teeth{fill:none;stroke:#fffaf0;stroke-width:1.8}.blush{fill:var(--rose);fill-opacity:.55}.ink-line.outfit-outline{stroke-width:1.6}.hero-tunic{fill:var(--ochre)}.hero-collar{fill:var(--bone)}.hero-brooch{fill:var(--sunfire);stroke:var(--ink);stroke-width:1.3}.hero-curl{fill:#9a4f2a;stroke:var(--ink);stroke-width:1.3}.squire-tunic{fill:var(--sage)}.squire-sash{fill:none;stroke:var(--ochre);stroke-width:4}.squire-hair{fill:#8a5a2b;stroke:var(--ink);stroke-width:1.5}.squire-freckles{fill:#b5764a}.knight-mail{fill:#a7adb5}.knight-tabard{fill:var(--woad)}.knight-badge{fill:#fffaf0}.knight-plume{fill:var(--vermilion);stroke:var(--ink);stroke-width:1.4}.knight-helm{fill:#b3b9c1;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.knight-cheek-guards{fill:#b3b9c1;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}.knight-helm-band{fill:#8e959e;stroke:var(--ink);stroke-width:1.4}.knight-rivets{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:3 2}.king-robe{fill:var(--vermilion)}.king-ermine{fill:#fffaf0;stroke:var(--ink);stroke-width:1.3}.king-ermine-spots{fill:var(--ink)}.king-hair{fill:#e6e0d2;stroke:var(--ink);stroke-width:1.2}.king-beard{fill:#e6e0d2;stroke:var(--ink);stroke-width:1.4}.king-moustache{fill:#d8d1c1;stroke:var(--ink);stroke-width:1.1}.king-crown{fill:var(--ochre);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.king-crown-band{fill:none;stroke:var(--ink);stroke-width:1.2}.king-ruby{fill:var(--vermilion);stroke:var(--ink);stroke-width:1}.king-sapphire{fill:var(--woad);stroke:var(--ink);stroke-width:.9}.stargazer-robe{fill:var(--woad)}.stargazer-badge,.stargazer-hat-star{fill:#fffaf0}.stargazer-hat{fill:var(--night);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.stargazer-hat-brim{fill:var(--night);stroke:var(--ink);stroke-width:1.6}.stargazer-hat-gold-star{fill:var(--ochre)}.end-banner{position:fixed;left:50%;top:42%;z-index:80;width:min(460px,calc(100vw - 32px));transform:translate(-50%,-50%);cursor:pointer}.end-banner:before{content:"";position:absolute;inset:4% -6% 0;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#fffaf0eb,#fffaf099 60%,#fffaf000);animation:banner-glow .6s ease-out both}.end-banner.leaving:before{animation:banner-glow-away .45s ease-in both}@keyframes banner-glow{0%{opacity:0}}@keyframes banner-glow-away{to{opacity:0}}.end-banner svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 12px 16px rgb(40 28 18 / 45%));animation:banner-pop .6s cubic-bezier(.2,1.6,.4,1) both}.end-banner.lost svg{animation-name:banner-sag;animation-timing-function:cubic-bezier(.3,1.3,.5,1)}.end-banner.leaving svg{animation:banner-away .45s ease-in both}@keyframes banner-pop{0%{transform:scale(.2) rotate(-8deg);opacity:0}}@keyframes banner-sag{0%{transform:translateY(-60px) scale(.6) rotate(4deg);opacity:0}70%{transform:rotate(-2deg)}}@keyframes banner-away{to{transform:scale(.25) rotate(6deg);opacity:0}}.scroll-band{fill:#fffaf0;stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.scroll-tail{fill:var(--paper-deep);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.scroll-fold{fill:var(--ink-soft);stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}.scroll-rule{fill:none;stroke:var(--ochre);stroke-width:1.4}.scroll-title{font-family:var(--f-display);font-size:36px;fill:var(--vermilion)}.scroll-title.long{font-size:24px}.lost .scroll-band{fill:var(--paper-deep)}.lost .scroll-tail{fill:#cdb98b}.lost .scroll-rule{stroke:var(--ink-soft)}.lost .scroll-title{fill:var(--ink-soft)}.trumpet-brass{fill:var(--ochre);stroke:var(--ink);stroke-width:1.8;stroke-linejoin:round}.trumpet-mouth{fill:none;stroke:var(--ink);stroke-width:3}.trumpet-pennant{fill:var(--vermilion);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.trumpet-pennant-sun{fill:var(--sunfire);stroke:var(--ink);stroke-width:1.2}.trumpet-swing{animation:trumpet-raise .6s .2s cubic-bezier(.3,1.5,.5,1) both,trumpet-toot .32s .9s ease-in-out 4 alternate}@keyframes trumpet-raise{0%{transform:rotate(35deg);opacity:0}}@keyframes trumpet-toot{to{transform:rotate(-4deg)}}.banner-rose-petal{fill:var(--vermilion);stroke:var(--ink);stroke-width:1.2}.banner-rose-heart{fill:var(--ochre);stroke:var(--ink);stroke-width:1.2}.banner-rose-leaf{fill:var(--sage);stroke:var(--ink);stroke-width:1.2}.bloom{transform-box:fill-box;transform-origin:center;animation:bloom .55s .45s cubic-bezier(.3,1.7,.5,1) both}.banner-roses>:nth-child(2) .bloom{animation-delay:.6s}.banner-roses>:nth-child(3) .bloom{animation-delay:.75s}@keyframes bloom{0%{transform:scale(0) rotate(-90deg)}}.falling-petal{fill:var(--vermilion);fill-opacity:.85;animation:petal-fall 2.2s .6s ease-in both}.banner-petals>:nth-child(2n) .falling-petal{fill:var(--rose);animation-duration:2.6s}.banner-petals>:nth-child(3n) .falling-petal{animation-delay:.9s}.banner-petals>:nth-child(4n) .falling-petal{animation-delay:1.2s}@keyframes petal-fall{0%{transform:translateY(-20px) rotate(0);opacity:0}15%{opacity:1}50%{transform:translate(14px,90px) rotate(160deg)}to{transform:translate(-6px,220px) rotate(320deg);opacity:0}}.wilted-stem{fill:none;stroke:#6f6a3e;stroke-width:3;stroke-linecap:round}.wilted-leaf{fill:#8f8a5a;stroke:var(--ink);stroke-width:1.1}.wilted-petal{fill:#94655a;stroke:var(--ink);stroke-width:1.1}.wilted-sepal{fill:#8f8a5a;stroke:var(--ink);stroke-width:1.1;stroke-linejoin:round}.wilted-crease{fill:none;stroke:var(--ink);stroke-width:1;stroke-linecap:round}.droop{animation:droop 1.3s .5s cubic-bezier(.4,1.4,.6,1) both}.wilted-roses>:nth-child(2) .droop{animation-delay:.7s}.wilted-roses>:nth-child(3) .droop{animation-delay:.9s}@keyframes droop{0%{transform:rotate(-160deg)}}.dry-petal{fill:#94655a;stroke:var(--ink);stroke-width:1;animation:dry-petal-fall 2s 1.3s ease-in both}.wilted-roses>:nth-child(2) .dry-petal{animation-delay:1.6s}.wilted-roses>:nth-child(3) .dry-petal{animation-delay:1.9s}@keyframes dry-petal-fall{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:1}40%{transform:translate(8px,14px) rotate(50deg)}70%{transform:translate(-4px,26px) rotate(-20deg)}to{transform:translate(6px,40px) rotate(70deg);opacity:0}}@media(prefers-reduced-motion:reduce){.end-banner:before,.end-banner svg,.end-banner svg *{animation:none!important}.banner-petals,.dry-petal{display:none}}.medal-art .medal-ribbon{fill:var(--vermilion);fill-opacity:.85}.medal-art .medal-disc{fill:var(--ochre)}.medal-art .medal-star{fill:var(--bone);stroke:var(--ink);stroke-width:.9;stroke-linejoin:round}.medal-art:not(.earned) .medal-ribbon,.medal-art:not(.earned) .medal-disc,.medal-art:not(.earned) .medal-star{fill:var(--paper-deep)}.medal-art:not(.earned){opacity:.55}.honours{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:0;padding:0;list-style:none}.honour{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--paper);border:1.5px solid var(--paper-deep);border-radius:var(--hand)}.honour.earned{border-color:var(--ochre);background:#fbf2d8}.honour .medal-art{flex:none;width:36px;height:44px}.honour b{display:block;font-weight:600}.honour span{display:block;font-family:var(--f-note);font-size:14px;line-height:1.3;color:var(--ink-soft)}.honour small{display:block;font-family:var(--f-note);font-style:italic;font-size:13px;color:var(--green)}.honour-note{position:fixed;left:50%;top:16px;z-index:75;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 18px 10px 12px;transform:translate(-50%) rotate(-1deg);cursor:pointer;background:var(--bone);border:2px solid var(--ink);border-radius:10px 7px 11px 6px;box-shadow:3px 4px 0 var(--ink);animation:honour-note-in .45s cubic-bezier(.2,1.4,.4,1) both}.honour-note[hidden]{display:none}.honour-note .medal-art{flex:none;width:34px;height:41px}.honour-note b{display:block;font-family:var(--f-display);font-weight:400;font-size:19px;color:var(--vermilion)}.honour-note span{display:block;max-width:380px;font-weight:600}@keyframes honour-note-in{0%{opacity:0;transform:translate(-50%,-30px) rotate(-1deg)}}@media(prefers-reduced-motion:reduce){.honour-note{animation:none}}.status .share-result{margin-top:6px;padding:4px 12px;font-size:15px}
