:root{--stone: #16181a;--stone-deep: #0c0e0f;--bronze-hi: #d9b573;--bronze: #a07e45;--bronze-mid: #7a5e31;--bronze-lo: #4a3720;--groove: #33260f;--verdigris: #5e9b84;--verdigris-deep: #2f6455;--ivory: #f2e9d6;--rust: #b4552c;--noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='t'><feTurbulence type='fractalNoise' baseFrequency='0.018' numOctaves='4'/><feColorMatrix type='saturate' values='0'/></filter><rect width='300' height='300' filter='url(%23t)'/></svg>");--ease: cubic-bezier(.16, .84, .28, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--stone-deep)}body{font-family:Cutive Mono,ui-monospace,monospace;color:var(--bronze-hi);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{min-height:100%}.stage.is-done{height:auto;min-height:100dvh;overflow:visible}.stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--stone-deep) 0%,rgb(12 14 15 / .94) 9%,rgb(12 14 15 / 0) 24%,rgb(12 14 15 / 0) 56%,rgb(12 14 15 / .9) 74%,var(--stone-deep) 88%)}.stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100dvh;padding:calc(env(safe-area-inset-top) + .7rem) 1rem calc(env(safe-area-inset-bottom) + .85rem);overflow:hidden;background:radial-gradient(115% 78% at 50% 34%,#24272a 0%,var(--stone) 46%,var(--stone-deep) 100%);-webkit-user-select:none;user-select:none}.stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;background-image:var(--noise);background-size:cover;background-repeat:no-repeat}.bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;max-width:460px;z-index:2}.bar-title{font-family:Cinzel,serif;font-size:.82rem;font-weight:600;letter-spacing:.28em;color:var(--bronze);text-transform:uppercase}.bar-date,.bar-sound{font-family:Cutive Mono,monospace;font-size:.7rem;letter-spacing:.1em;color:var(--bronze);background:none;border:0;padding:.7rem .2rem;cursor:pointer}.bar-sound:hover{color:var(--bronze-hi)}.progress{display:flex;gap:.4rem}.progress-mark{width:8px;height:8px;border:1px solid var(--bronze);border-radius:50%;transition:background .24s var(--ease),border-color .24s var(--ease)}.progress-mark.is-done{background:var(--bronze-hi);border-color:var(--bronze-hi)}.progress-mark.is-current{border-color:var(--ivory);box-shadow:0 0 0 3px #f2e9d617}.tier{display:flex;align-items:baseline;gap:.6rem;margin:.15rem 0 0;z-index:2}.tier-name{font-family:Cinzel,serif;font-size:.74rem;font-weight:600;letter-spacing:.24em;color:var(--bronze-hi)}.tier-blurb{font-size:.68rem;letter-spacing:.06em;color:var(--bronze)}.table{position:relative;flex:1 1 auto;display:grid;place-items:center;width:100%;min-height:0;touch-action:none;container-type:size;overflow:visible}.table:focus-visible{outline:1px solid var(--ivory);outline-offset:-6px}.dial{position:absolute;top:50%;left:50%;width:min(124vw,54dvh);width:min(124vw,112cqh);aspect-ratio:1;translate:-50% -50%;transition:filter .32s var(--ease)}.dial.is-dim{filter:saturate(.45) brightness(.62)}.dial-rose{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;will-change:transform;transition:transform 90ms linear}.table.is-still .dial-rose{transition:none}.table.is-turning .dial-rose{animation:sweep 9s steps(60) infinite}@keyframes sweep{to{transform:rotate(-360deg)}}.dial-bronze{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 210deg,#3d2e19,#6f5530 42deg,#b28f52,#6b5130 150deg,#3a2b17 205deg,#7d6036 268deg,#a8854b 312deg,#3d2e19 360deg);box-shadow:inset 0 0 60px #0000008c}.dial-patina{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;opacity:.5;background:radial-gradient(circle at 50% 50%,#5e9b8400 26%,#5e9b849e 32%,#2f64554d,#5e9b8400 54%),radial-gradient(circle at 71% 19%,#5e9b8494,#5e9b8400 26%),radial-gradient(circle at 19% 71%,#5e9b8480,#5e9b8400 23%),radial-gradient(circle at 84% 66%,#2f645575,#2f645500 17%),radial-gradient(circle at 34% 38%,#5e9b8457,#5e9b8400 13%),radial-gradient(circle at 50% 50%,#0000 74%,#5e9b8480 88%,#2f64553d);-webkit-mask-image:var(--noise);mask-image:var(--noise);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dial-sheen{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;background:radial-gradient(72% 58% at 34% 20%,#ffecc352,#ffecc300 62%),radial-gradient(50% 44% at 74% 86%,#0000006b,#0000 70%)}.dial-rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;box-shadow:inset 0 2px #ffe2ad3d,inset 0 -2px #0006,0 26px 60px #0000008c}.rose{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;overflow:visible}.rose-groove{stroke:var(--groove);fill:var(--groove);opacity:.92}.rose-glint{stroke:var(--bronze-hi);fill:var(--bronze-hi);opacity:.55}.strike-window{stroke:var(--verdigris);stroke-width:5;opacity:.4;stroke-linecap:butt}.strike-drift{stroke:var(--rust);stroke-width:1.6;opacity:.5;stroke-linecap:round;stroke-dasharray:2 3}.strike-aim{stroke:var(--ivory);stroke-width:1.1;fill:none;opacity:.62}.strike-truth{stroke:var(--rust);stroke-width:1.7;fill:none}.strike-head{fill:var(--rust)}.strike-points{fill:var(--ivory);paint-order:stroke;stroke:#0009;stroke-width:.7}.strike.is-fresh .strike-truth,.strike.is-fresh .strike-head,.strike.is-fresh .strike-points{animation:chisel .26s var(--ease) both}.strike.is-fresh .strike-window{animation:open-window .38s var(--ease) 80ms both}.strike:not(.is-fresh){opacity:.5}@keyframes chisel{0%{transform:scale(1.5) rotate(6deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes open-window{0%{stroke-dasharray:0 900}to{stroke-dasharray:900 0}}.reticle{position:absolute;top:0;left:50%;z-index:1;width:26%;height:50%;translate:-50% 0;pointer-events:none}.reticle svg{width:100%;height:100%;overflow:visible}.reticle-line{stroke:var(--ivory);stroke-width:1;opacity:.4;fill:none}.reticle-head{fill:var(--ivory);opacity:.55}.reticle-notch{stroke:var(--ivory);stroke-width:1.4;opacity:.3}.reticle.is-armed .reticle-head{opacity:1;filter:drop-shadow(0 0 6px rgb(242 233 214 / .55))}.reticle.is-armed .reticle-line{opacity:.75}.cartouche{position:absolute;top:26.5%;right:26.5%;bottom:26.5%;left:26.5%;container-type:inline-size;container-name:cartouche;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:5% 4%;text-align:center;border-radius:50%;justify-content:center;background:radial-gradient(circle at 42% 30%,#6d5430,#4b3820 58%,#2f2313);box-shadow:inset 0 0 0 1px #33260fe6,inset 0 0 0 2px #d9b57329,inset 0 2px #ffe2ad33,inset 0 -3px 8px #00000080,0 10px 24px #00000073}.cartouche-eyebrow{font-family:Cinzel,serif;font-size:clamp(.58rem,5cqw,.72rem);font-weight:600;letter-spacing:.26em;color:var(--bronze-hi);text-shadow:0 1px 0 rgb(0 0 0 / .7);text-indent:.26em;white-space:nowrap}.cartouche-eyebrow.is-verdict{color:var(--ivory);letter-spacing:.3em;text-shadow:0 1px 0 rgb(0 0 0 / .8),0 -1px 0 rgb(255 226 173 / .22)}.cartouche-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-width:100%;font-family:Cinzel,serif;font-weight:700;line-height:1.06;letter-spacing:.06em;text-transform:uppercase;color:var(--ivory);text-shadow:0 1px 0 rgb(0 0 0 / .75),0 -1px 0 rgb(255 226 173 / .18);text-wrap:balance}.cartouche-total{font-family:Cinzel,serif;font-weight:700;font-size:clamp(3rem,18vw,4.6rem);line-height:.92;color:var(--ivory);text-shadow:0 2px 0 rgb(0 0 0 / .8),0 -1px 0 rgb(255 226 173 / .2)}.cartouche-region{font-size:clamp(.6rem,5.6cqw,.78rem);letter-spacing:.1em;color:var(--bronze-hi);text-shadow:0 1px 0 rgb(0 0 0 / .7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.panel{display:flex;align-items:center;justify-content:center;gap:1.4rem;width:100%;max-width:460px;min-height:4.6rem;z-index:2}.readout{display:flex;align-items:baseline;gap:.55rem;transition:opacity .26s var(--ease)}.readout.is-muted,.readout.is-empty{opacity:.32}.readout-deg{font-family:Cinzel,serif;font-weight:700;font-size:clamp(2.2rem,12vw,3rem);letter-spacing:.02em;color:var(--ivory);font-variant-numeric:tabular-nums}.readout-card{font-family:Cinzel,serif;font-size:.95rem;font-weight:600;letter-spacing:.16em;color:var(--bronze)}.bubble{display:flex;flex-direction:column;align-items:center;gap:.35rem}.bubble svg{width:58px;height:58px}.bubble-glass{fill:#0a0c0c99;stroke:var(--bronze-lo);stroke-width:2}.bubble-target{fill:none;stroke:var(--bronze-mid);stroke-width:1}.bubble-air{fill:#5e9b8459;stroke:var(--verdigris);stroke-width:1.4;transition:cx .12s linear,cy .12s linear,fill .24s var(--ease)}.bubble.is-level .bubble-air{fill:#5e9b84bf;filter:drop-shadow(0 0 5px rgb(94 155 132 / .5))}.bubble-label{font-size:.6rem;letter-spacing:.16em;color:var(--bronze)}.bubble.is-level .bubble-label{color:var(--verdigris)}.panel.is-reveal{gap:1rem;align-items:stretch}.plaque{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:.24rem;animation:engrave .32s var(--ease) both}.plaque-line{display:flex;align-items:baseline;gap:.4rem;font-size:.72rem;letter-spacing:.08em}.plaque-line em{font-style:normal;color:var(--bronze)}.plaque-line i{flex:1 1 auto;height:0;border-bottom:1px dotted var(--bronze-lo)}.plaque-line b{font-family:Cinzel,serif;font-weight:600;color:var(--ivory);font-variant-numeric:tabular-nums}@keyframes engrave{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.band-plein-centre .ledger-points{color:var(--verdigris)}.band-perdu .ledger-points{color:#d0703f}.foot{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%;max-width:460px;z-index:2}.screw{position:relative;width:100%;padding:0;border:0;background:none;cursor:pointer;font:inherit}.screw-face{display:block;padding:.95rem 1rem;border-radius:4px;font-family:Cinzel,serif;font-weight:700;font-size:.94rem;letter-spacing:.26em;text-indent:.26em;color:#1d1508;background:linear-gradient(178deg,#e6c583 0%,var(--bronze-hi) 46%,var(--bronze) 100%);box-shadow:inset 0 1px #fff0d2b3,inset 0 -2px #00000047,0 5px 0 var(--bronze-lo),0 10px 18px #00000073;transition:transform .12s var(--ease),box-shadow .12s var(--ease)}.screw:active:not(:disabled) .screw-face{transform:translateY(4px);box-shadow:inset 0 1px #fff0d266,inset 0 -1px #0000004d,0 1px 0 var(--bronze-lo),0 3px 8px #0006}.screw:disabled{cursor:not-allowed}.screw:disabled .screw-face{color:var(--bronze-hi);background:linear-gradient(178deg,#3a2d19,#2c2113 60%,#221a0f);box-shadow:inset 0 1px #fff0d21a,0 3px #1a1409;opacity:.85}.note{margin:0;font-size:.68rem;line-height:1.5;letter-spacing:.05em;text-align:center;color:var(--bronze);text-wrap:balance}.note-link{margin-left:.4em;display:inline-block;padding:.7rem 0;border:0;background:none;font:inherit;color:var(--bronze-hi);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.foot-mono{color:var(--bronze-mid)}.credits{font-size:.62rem;color:var(--bronze-mid)}.brief{max-width:27rem;z-index:2;text-align:center}.brief p{margin:0 0 .5rem;font-size:.78rem;line-height:1.6;letter-spacing:.03em;color:var(--bronze);text-wrap:pretty}.brief-mono{color:var(--bronze-mid);font-size:.68rem!important}.stage.is-intro .table,.stage.is-waiting .table{margin:.5rem 0}.stage.is-done .table{flex:0 0 auto;height:min(88vw,44dvh)}.stage.is-done .dial,.stage.is-waiting .dial{width:min(92vw,44dvh)}.ledger{width:100%;max-width:460px;margin:.4rem 0 0;padding:0;list-style:none;z-index:2}.ledger-line{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.6rem;padding:.4rem 0;border-bottom:1px solid rgb(74 55 32 / .5);font-size:.66rem;letter-spacing:.04em;animation:engrave .3s var(--ease) both}.ledger-line:nth-child(2){animation-delay:60ms}.ledger-line:nth-child(3){animation-delay:.12s}.ledger-line:nth-child(4){animation-delay:.18s}.ledger-line:nth-child(5){animation-delay:.24s}.ledger-name{font-family:Cinzel,serif;font-weight:600;font-size:.76rem;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:var(--ivory);text-wrap:balance}.ledger-line i{display:none}.ledger-mono{grid-column:1;font-size:.64rem;color:var(--bronze);font-variant-numeric:tabular-nums}.ledger-points{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:2.4rem;text-align:right;font-family:Cinzel,serif;font-weight:700;font-size:.98rem;color:var(--bronze-hi)}.shell{max-width:32rem;margin:0 auto;padding:3rem 1.5rem;color:var(--bronze)}.shell h1{font-family:Cinzel,serif;letter-spacing:.2em;color:var(--ivory)}@media(prefers-reduced-motion:reduce){.table.is-turning .dial-rose{animation-duration:30s}.dial-rose{transition-duration:.01ms}}:where(button,[tabindex]):focus-visible{outline:1px solid var(--ivory);outline-offset:3px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.turn-me{display:none}@media(orientation:landscape)and (pointer:coarse){.stage{display:none}.turn-me{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;height:100dvh;padding:2rem;text-align:center;background:var(--stone)}.turn-me strong{font-family:Cinzel,serif;font-size:1.1rem;font-weight:700;letter-spacing:.22em;color:var(--ivory)}.turn-me span{max-width:24rem;font-size:.75rem;line-height:1.6;color:var(--bronze)}}@media(min-width:700px){.dial{width:min(560px,100cqh)}.reticle{height:min(50%,280px)}}
