@font-face{font-family:IM Fell English;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-english-latin-400-normal-BhowGHCQ.woff2)format("woff2"),url(./im-fell-english-latin-400-normal-CxhBQSzl.woff)format("woff")}@font-face{font-family:IM Fell English;font-style:italic;font-display:swap;font-weight:400;src:url(./im-fell-english-latin-400-italic-DD_ylKHZ.woff2)format("woff2"),url(./im-fell-english-latin-400-italic-hN89MLGX.woff)format("woff")}@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2)format("woff2"),url(./im-fell-english-sc-latin-400-normal-DPW2r_p4.woff)format("woff")}:root{--ink:#3a2615;--sepia:#6b4a2b;--indigo:#2c3a6e;--vermilion:#b23a22;--paper:#efe2c2;--card:#f6edd6;--brass:#c99c45;--brass-hi:#f0d690;--display:"IM Fell English SC", Georgia, serif;--body:"IM Fell English", Georgia, serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--body);-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;overflow:hidden}button{font-family:var(--display);color:inherit}#game{touch-action:none;display:block;position:fixed;inset:0}svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}svg .fill{fill:currentColor;stroke:none}.hidden{display:none!important}#hud,#controls{display:none}body.playing #hud,body.playing #controls{display:flex}#hud{padding:calc(env(safe-area-inset-top) + 8px) 12px 0;pointer-events:none;flex-direction:column;position:fixed;top:0;left:0;right:0}.bar{align-items:center;gap:10px;width:100%;max-width:560px;margin:0 auto;display:flex}.chip-btn{pointer-events:auto;border:1.5px solid var(--ink);background:var(--card);width:42px;height:42px;box-shadow:inset 0 0 0 3px var(--card), inset 0 0 0 4px var(--ink), 1px 2px 0 #3a261559;cursor:pointer;color:var(--ink);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.chip-btn:active,.btn:active,.ctl:active{transform:translateY(1px)}.head{text-align:center;flex:1;min-width:0}#h-sub{font-family:var(--display);letter-spacing:2px;color:var(--sepia);font-size:13px}#h-name{font-family:var(--body);white-space:nowrap;text-overflow:ellipsis;font-size:23px;font-style:italic;line-height:1.1;overflow:hidden}.stats{font-family:var(--display);justify-content:center;align-items:center;gap:8px;margin-top:2px;font-size:16px;display:flex}.stats .dot{color:var(--vermilion);font-size:11px}#par.over{color:var(--vermilion)}#controls{padding:0 12px calc(env(safe-area-inset-bottom) + 10px);pointer-events:none;justify-content:center;gap:10px;position:fixed;bottom:0;left:0;right:0}.ctl{pointer-events:auto;border:1.5px solid var(--ink);background:var(--card);height:42px;box-shadow:inset 0 0 0 3px var(--card), inset 0 0 0 4px #3a261599, 1px 2px 0 #3a261559;cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:0 16px;font-size:16px;display:flex}.ctl svg{width:14px;height:14px}.ctl.ad svg,.btn.ad svg{color:var(--indigo)}.ctl:disabled{opacity:.45}#toast{left:50%;top:calc(env(safe-area-inset-top) + 96px);background:var(--card);border:1px solid var(--ink);width:max-content;max-width:min(440px,100% - 32px);box-shadow:inset 0 0 0 2px var(--card), inset 0 0 0 3px #3a261580, 0 4px 14px #3a261540;text-align:center;opacity:0;pointer-events:none;z-index:30;padding:9px 16px;font-size:16px;font-style:italic;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%,-10px)}#toast.show{opacity:1;transform:translate(-50%)}@media (aspect-ratio>=23/20){#toast{width:min(300px,26vw);top:50%;left:3vw;transform:translateY(-50%)}#toast.show{transform:translateY(-50%)}}.screen{padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}#title{padding-bottom:calc(env(safe-area-inset-bottom) + 6vh);justify-content:flex-end}.logo{text-align:center;max-width:420px}.kicker{font-family:var(--display);letter-spacing:4px;color:var(--sepia);margin:0;font-size:14px}h1{font-family:var(--display);color:var(--ink);text-shadow:1px 1px #c99c4599;margin:0;font-size:clamp(50px,15vw,76px);font-weight:400;line-height:.95}h1 span{color:var(--vermilion);font-family:var(--body);font-style:italic}.rule{color:var(--vermilion);justify-content:center;align-items:center;gap:10px;margin:8px auto 6px;font-size:13px;display:flex}.rule i{border-top:1.5px solid var(--ink);border-bottom:.8px solid var(--ink);width:80px;height:4px;display:block}.tag{max-width:320px;margin:0 auto 18px;font-size:18px;font-style:italic;line-height:1.3}.title-btns{flex-direction:column;align-items:center;gap:10px;display:flex}.btn{letter-spacing:1px;border:1.5px solid var(--ink);background:var(--card);min-width:220px;height:52px;box-shadow:inset 0 0 0 3px var(--card), inset 0 0 0 4px var(--ink), 1px 3px 0 #3a261559;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:22px;display:inline-flex}.btn.primary{background:linear-gradient(180deg, var(--brass-hi), var(--brass) 70%, #a97a2c);box-shadow:inset 0 0 0 3px #fff5d28c, inset 0 0 0 4px var(--ink), 1px 3px 0 #3a261573}.btn.small{min-width:0;height:40px;padding:0 18px;font-size:17px}.btn.ghost{background:#f6edd6bf}.foot{font-family:var(--display);color:var(--sepia);margin:14px 0 0;font-size:17px}@media (aspect-ratio>=23/20){#title{justify-content:center;align-items:flex-start;padding-left:max(6vw,24px)}.logo{width:min(420px,42vw)}}#chapters,#levels{background:#efe2c2e0}.top{align-items:center;gap:12px;width:100%;max-width:520px;margin-bottom:12px;display:flex}.top h2{font-family:var(--display);flex:1;margin:0;font-size:28px;font-weight:400}.starcount{font-family:var(--display);color:var(--sepia);font-size:18px}#chapter-list{flex-direction:column;gap:12px;width:100%;max-width:520px;display:flex}.chapter{text-align:left;border:1.5px solid var(--ink);background:var(--card);box-shadow:inset 0 0 0 4px var(--card), inset 0 0 0 5px #3a261599, 1px 3px 0 #3a26154d;cursor:pointer;align-items:center;gap:14px;padding:14px 16px;display:flex}.chapter .num{background:radial-gradient(circle at 35% 30%, var(--brass-hi), var(--brass) 60%, #7a5320);border:1.5px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:22px;display:grid}.chapter .info{flex-direction:column;flex:1;gap:2px;display:flex}.chapter b{font-size:21px;font-weight:400}.chapter small{font-family:var(--body);color:var(--sepia);font-size:15px;font-style:italic}.chapter .prog{white-space:nowrap;font-size:16px}.chapter.locked{opacity:.6}.chapter.locked .num{filter:grayscale()}.lock{vertical-align:-2px;width:15px;height:15px}.place{color:var(--sepia);margin:-6px 0 14px;font-size:16px;font-style:italic}#level-grid{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:520px;display:grid}.lvl{border:1.5px solid var(--ink);background:var(--card);box-shadow:inset 0 0 0 3px var(--card), inset 0 0 0 4px #3a261580, 1px 2px 0 #3a26154d;cursor:pointer;flex-direction:column;align-items:center;gap:2px;min-height:96px;padding:10px 2px 8px;display:flex;position:relative}.lvl .n{background:radial-gradient(circle at 35% 30%, var(--brass-hi), var(--brass) 60%, #7a5320);border:1.2px solid var(--ink);border-radius:50%;place-items:center;width:38px;height:38px;font-size:19px;display:grid}.lvl .mini{letter-spacing:1px;font-size:14px}.mini .on{color:var(--vermilion);font-style:normal}.mini .off{color:#3a261540;font-style:normal}.lvl .nm{font-family:var(--body);text-align:center;padding:0 2px;font-size:12px;font-style:italic;line-height:1.1}.lvl .best{font-family:var(--body);color:var(--sepia);font-size:11px;position:absolute;top:4px;right:6px}.lvl.locked{opacity:.45}.overlay{z-index:20;background:#3a261538;place-items:center;padding:20px;display:grid;position:fixed;inset:0}#card{cursor:pointer;background:#3a26151f}.card-inner,.panel{text-align:center;background:var(--card);border:1.5px solid var(--ink);width:min(360px,100%);box-shadow:inset 0 0 0 5px var(--card), inset 0 0 0 6px var(--ink), inset 0 0 0 9px var(--card), inset 0 0 0 9.8px #3a261580, 0 10px 30px #3a26154d;padding:26px 22px 22px;animation:.35s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)scale(.97)}}#k-sub{font-family:var(--display);letter-spacing:3px;color:var(--sepia);margin:0}#k-name,.panel h2{font-family:var(--body);margin:4px 0 2px;font-size:34px;font-style:italic;font-weight:400;line-height:1.1}#k-par{font-family:var(--display);color:var(--vermilion);margin:4px 0 10px;font-size:20px}#k-tip{margin:0 0 12px;font-size:18px;line-height:1.3}#k-tip:empty{display:none}.tap{font-family:var(--display);letter-spacing:2px;color:var(--sepia);margin:0;animation:1.6s infinite blink}@keyframes blink{50%{opacity:.4}}.stars{justify-content:center;gap:8px;margin:6px 0 4px;display:flex}.stars i{color:#3a26152e;font-size:46px;font-style:normal;line-height:1;transition:color .2s,transform .25s}.stars i.on{color:var(--vermilion);text-shadow:1px 1px 0 var(--ink);transform:scale(1.15)}#w-line{font-family:var(--display);margin:4px 0 2px;font-size:19px}.small-note{color:var(--sepia);margin:0 0 16px;font-size:14px;font-style:italic}.panel .btn.primary{width:100%}.row-btns{justify-content:center;gap:10px;margin-top:10px;display:flex}.portal-back{top:calc(env(safe-area-inset-top) + 12px);left:calc(env(safe-area-inset-left) + 12px);z-index:2;cursor:pointer;border:1.5px solid var(--ink);min-height:36px;box-shadow:inset 0 0 0 2px var(--card), inset 0 0 0 3px #3a261599;background:var(--card);color:var(--ink);font:16px var(--display);border-radius:4px;padding:0 14px;position:absolute}
