@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(./fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations")}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(./fraunces-latin-full-italic-D2JnYqd-.woff2)format("woff2-variations")}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(./figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations")}:root{--field-top:#2d2b58;--field-mid:#1f1f40;--field-bottom:#12132a;--lamp:255, 214, 170;--text:244, 240, 232;--lamp-y:40%;--top:calc(max(14px, env(safe-area-inset-top)) + 60px);--glass:linear-gradient(180deg, #fff6e81c, #fff6e80d), #1a1a369e;--spring:cubic-bezier(.3, 1.45, .5, 1);--ease:cubic-bezier(.2, .8, .2, 1);--serif:Fraunces, Georgia, serif;--sans:Figtree, system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:none;height:100%;margin:0;overflow:hidden}html{background:var(--field-bottom)}body{font:500 15px/1.4 var(--sans);color:rgb(var(--text));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(ellipse 330px 360px at 50% var(--lamp-y), rgba(var(--lamp), .16), rgba(var(--lamp), 0) 70%), linear-gradient(180deg, var(--field-top) 0%, var(--field-mid) 52%, var(--field-bottom) 100%)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible{outline:2px solid rgba(var(--text), .8);outline-offset:2px}.grain{pointer-events:none;opacity:.55;mix-blend-mode:soft-light;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23g)'/%3E%3C/svg%3E");position:fixed;inset:0}#scene{touch-action:none;outline:none;width:100%;height:100%;position:fixed;inset:0}.glyph{width:48px;height:48px;color:rgba(var(--text), .52);transition:color .2s, opacity .2s, transform .25s var(--spring);border-radius:50%;place-items:center;display:grid;position:relative}.glyph svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;display:block}.glyph:hover{color:rgba(var(--text), .8)}.glyph:active{transform:scale(.9)}.glyph:disabled{opacity:.45;cursor:default}.glyph.busy svg{animation:.8s ease-in-out infinite breathe}.glyph.shake{animation:.35s ease-in-out shake}@keyframes breathe{50%{opacity:.3}}@keyframes shake{20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.top{z-index:60;top:max(14px, env(safe-area-inset-top));max-width:480px;height:60px;padding:0 max(10px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left));justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:fixed;left:0;right:0}.title{text-align:left;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0;min-height:52px;padding:0 10px;display:flex}.title .name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:400 23px/1 var(--serif);letter-spacing:.005em;font-variation-settings:"SOFT" 100, "opsz" 28;color:rgba(var(--text), .94);overflow:hidden}.title.pic .name{font-style:italic}.prog{letter-spacing:.06em;color:rgba(var(--text), .5);font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:12.5px;font-weight:500;display:flex}#map svg{width:17px;height:17px;display:block}#map rect{fill:rgb(var(--text));fill-opacity:.16}#map rect.on{fill-opacity:.72}#map rect.cur{fill:none;stroke:rgb(var(--text));stroke-width:1.2px}.title.bump #map{animation:bump .5s var(--spring)}@keyframes bump{40%{transform:scale(1.3)}}.tools{gap:2px;display:flex}#close,body.away #restart{display:none}body.browse #close{display:grid}.dot{opacity:0;width:7px;height:7px;transition:opacity .25s, transform .3s var(--spring);background:#f2b25c;border-radius:50%;position:absolute;top:11px;right:10px;transform:scale(.4);box-shadow:0 0 8px #f2b25ccc}.dot.bad{opacity:1;transform:none}.app{pointer-events:none;max-width:480px;padding:var(--top) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));transition:opacity .3s var(--ease);flex-direction:column;margin:0 auto;display:flex;position:fixed;inset:0}.app button{pointer-events:auto}body.away .app{opacity:0}body.away .app button{pointer-events:none}.play{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.stage{flex:none;position:relative}.folds{flex:none;justify-content:center;gap:12px;height:56px;transition:opacity .2s;display:flex}.fold{width:84px;height:56px;color:rgba(var(--text), .92);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);touch-action:none;transition:transform .15s var(--ease), background .2s, box-shadow .2s, color .2s;border-radius:18px;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff0dc33,inset 0 1px #ffffff1a,0 10px 20px #06061859}.fold svg.ic{pointer-events:none;width:40px;height:40px;overflow:visible}.ic .side{fill:currentColor;fill-opacity:.3}.ic .edge{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-opacity:.85}.ic .cr{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round}.fold.used{color:rgba(var(--text), .3);cursor:default;background:#0e0e2299;box-shadow:inset 0 2px 7px #00000c80,inset 0 0 0 1px #ffffff0a}.fold.used .edge{stroke-opacity:.7}.fold .chk{fill:none;width:13px;height:13px;stroke:rgba(var(--text), .55);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;position:absolute;top:8px;right:9px}.fold.hot{color:#fff8ee;background:linear-gradient(#ffe8c83d,#ffe8c81f),#2824409e;transform:translateY(1.5px);box-shadow:inset 0 0 0 1.5px #ffe2bebf,0 0 28px #ffd6aa52,0 5px 10px #06061859}.fold.hint{animation:1s ease-in-out 3 key}@keyframes key{50%{transform:scale(1.06);box-shadow:inset 0 0 0 1.5px #ffe2bee6,0 0 30px #ffd6aa73,0 10px 20px #06061859}}.folds.folding .fold{pointer-events:none}.tip{text-align:center;text-wrap:balance;max-width:350px;min-height:4.2em;font:italic 400 14.5px/1.4 var(--serif);font-variation-settings:"SOFT" 100, "opsz" 16;color:rgba(var(--text), .62);opacity:0;transition:opacity .4s var(--ease);margin:20px 0 0}.tip.on{opacity:1}.thumb{flex:none;grid-template-columns:48px 1fr 48px;align-items:center;height:96px;margin-bottom:18px;padding:0 10px;display:grid}.queue{justify-self:center;width:60px;height:60px;position:relative}.bead{background:radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--c), #fff 45%) 0%, var(--c) 42%, color-mix(in srgb, var(--c), #000 32%) 100%);box-shadow:0 12px 22px #060a288c, 0 0 36px color-mix(in srgb, var(--c) 38%, transparent);border-radius:50%;position:absolute;inset:0}.bead:after{content:"";filter:blur(2px);background:#ffffff73;border-radius:50%;width:20px;height:13px;position:absolute;top:10px;left:13px;transform:rotate(-24deg)}.bead.empty{box-shadow:inset 0 0 0 1.5px rgba(var(--text), .16);background:0 0}.bead.empty:after{content:none}.bead.grow{animation:grow .5s var(--spring)}@keyframes grow{0%{transform:translate(76px,12px)scale(.22)}}.queue.shake{animation:.35s ease-in-out shake}.count{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex;position:absolute;top:33px;left:66px}.count b{color:rgba(var(--text), .66);margin-right:4px;font-size:15px;font-weight:600}.count span{color:rgba(var(--text), .42);align-items:center;gap:6px;font-size:13px;display:flex}.count svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px}.count i{opacity:.8;background:var(--c);width:13px;height:13px;box-shadow:0 0 10px color-mix(in srgb, var(--c) 50%, transparent);border-radius:50%}.toast{left:50%;bottom:calc(150px + env(safe-area-inset-bottom));z-index:40;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:rgba(var(--text), .9);opacity:0;pointer-events:none;transition:opacity .2s, transform .3s var(--spring);white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;position:fixed;transform:translate(-50%,8px);box-shadow:inset 0 0 0 1px #fff0dc33}.toast.on{opacity:1;transform:translate(-50%)}.gallery{z-index:50;pointer-events:none;padding:var(--top) 20px max(30px, env(safe-area-inset-bottom));opacity:0;transition:opacity .3s var(--ease);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0}.gallery.on{opacity:1}.gallery.win.ready{pointer-events:auto;cursor:pointer}.g-mid{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;min-height:0;display:flex}.g-pic{flex:none}.won{text-align:center;opacity:0;height:88px;transition:opacity .4s var(--ease), transform .5s var(--spring);transform:translateY(8px)}.gallery.arrived .won{opacity:1;transform:none}.won .k{letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--text), .45);font-size:12px;font-weight:500}.won .n{font:400 32px/1.15 var(--serif);font-variation-settings:"SOFT" 100, "opsz" 48;color:rgba(var(--text), .95);margin-top:6px}.gallery.revealed .n{animation:title .8s var(--spring);font-size:44px;font-style:italic}@keyframes title{0%{opacity:0;transform:scale(.6)translateY(10px)}}.next{opacity:0;pointer-events:none;transition:opacity .3s, transform .45s var(--spring);border-radius:20px;flex-direction:column;flex:none;align-items:center;gap:12px;padding:8px 0 6px;display:flex;transform:translateY(14px)}.gallery.browse .next{visibility:hidden}.gallery.ready .next{opacity:1;pointer-events:auto;transform:none}.next .mini{width:92px;height:92px;filter:drop-shadow(0 0 18px rgba(var(--lamp), .16)) drop-shadow(0 12px 14px #0404128c);transform:rotate(-5deg)}.next .mini svg{width:100%;height:100%;display:block;overflow:visible}.next .lbl{align-items:baseline;gap:8px;display:flex}.next .lbl span{letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--text), .45);font-size:12px;font-weight:500}.next .lbl b{font:400 20px/1.2 var(--serif);font-variation-settings:"SOFT" 100, "opsz" 24;color:rgba(var(--text), .92)}.sheet{z-index:80;opacity:0;pointer-events:none;background:#08081873;justify-content:center;align-items:flex-end;transition:opacity .25s;display:flex;position:fixed;inset:0}.sheet.on{opacity:1;pointer-events:auto}.sheet-card{width:100%;max-width:480px;padding:10px 20px calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .38s var(--ease);background:linear-gradient(#fff6e814,#fff6e808),#1c1c3aeb;border-radius:26px 26px 0 0;transform:translateY(100%);box-shadow:inset 0 1px #fff0dc24,0 -20px 50px #04041280}.sheet.on .sheet-card{transform:none}.grab{background:rgba(var(--text), .18);border-radius:3px;width:38px;height:5px;margin:0 auto 14px}.sheet-h{letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--text), .45);margin-bottom:12px;font-size:12px;font-weight:500}.lv-grid{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:8px;margin-bottom:12px;display:grid}.lv-grid button{font-variant-numeric:tabular-nums;height:46px;color:rgba(var(--text), .7);background:#fff6e80d;border-radius:14px;font-size:15px;font-weight:600;position:relative;box-shadow:inset 0 0 0 1px #fff0dc1a}.lv-grid button.done{background:rgba(var(--text), .86);color:#1f1f40;box-shadow:none}.lv-grid button.on{box-shadow:0 0 0 2px #1c1c3a, 0 0 0 3.5px rgba(var(--lamp), .9)}.row{border-top:1px solid rgba(var(--text), .08);width:100%;min-height:52px;color:rgba(var(--text), .88);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:0 2px;font-size:15px;font-weight:500;display:flex}.row input{appearance:none;background:rgba(var(--text), .14);cursor:pointer;border-radius:14px;flex:none;width:46px;height:28px;margin:0;transition:background .2s;position:relative}.row input:after{content:"";width:22px;height:22px;transition:transform .3s var(--spring);background:#fbf7ef;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.row input:checked{background:rgba(var(--lamp), .75)}.row input:checked:after{transform:translate(18px)}.start{z-index:90;text-align:center;-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:opacity .3s var(--ease);background:#12132a8c;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:fixed;inset:0}.start.gone{opacity:0;pointer-events:none}.start h2{font:400 48px/1.1 var(--serif);font-variation-settings:"SOFT" 100, "opsz" 72;letter-spacing:-.01em;margin:0}.start p{font:italic 400 16px/1.4 var(--serif);font-variation-settings:"SOFT" 100, "opsz" 16;color:rgba(var(--text), .62);margin:0 0 30px}.start .go{color:#1f1f40;letter-spacing:.02em;height:54px;box-shadow:0 0 36px rgba(var(--lamp), .25), 0 12px 24px #04041280;background:#fbf7ef;border-radius:999px;padding:0 32px;font-size:16px;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
