:root{--c1:#ffb020;--c2:#ffe0a0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}html,body{margin:0;height:100%;background:#06060a;overflow:hidden;font-family:system-ui,"Segoe UI",Roboto,"Hiragino Sans","Yu Gothic",Meiryo,Arial,sans-serif;color:var(--c2);touch-action:manipulation}#wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#07070b}#stage{position:relative;overflow:hidden;background:#0a0a10}#c{width:100%;height:100%;display:block;touch-action:none}#bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.7em .8em;pointer-events:none}#bar button{pointer-events:auto;width:2.4em;height:2.4em;border-radius:50%;border:1px solid color-mix(in srgb,var(--c1) 50%,transparent);background:color-mix(in srgb,var(--c1) 8%,transparent);color:var(--c1);font:inherit;font-size:1em;cursor:pointer;line-height:1}#bar .r{display:flex;gap:.5em}#lv{font-weight:800;letter-spacing:.18em;color:var(--c1);text-shadow:0 0 .6em color-mix(in srgb,var(--c1) 55%,transparent);font-size:1em}#pw{position:absolute;top:3.5em;left:12%;right:12%;pointer-events:none}#prog{height:.42em;border-radius:1em;background:rgba(255,255,255,.1);overflow:hidden}#pf{display:block;height:100%;width:0;border-radius:1em;background:linear-gradient(90deg,var(--c1),var(--c2));box-shadow:0 0 .8em var(--c1);transition:width .5s}#wl{margin-top:.6em;text-align:center;font-size:.62em;letter-spacing:.3em;color:var(--c2);opacity:.85;font-weight:700}#banner{position:absolute;left:0;right:0;top:34%;text-align:center;pointer-events:none;opacity:0}#banner.show{animation:bn 2.4s ease both}#banner .bt1{font-size:.8em;letter-spacing:.5em;color:var(--c2);font-weight:700}#banner .bt2{font-size:2.1em;letter-spacing:.14em;color:var(--c1);font-weight:900;text-shadow:0 0 .7em var(--c1)}@keyframes bn{0%{opacity:0;transform:scale(.8)}15%{opacity:1;transform:scale(1)}75%{opacity:1}100%{opacity:0;transform:scale(1.08)}}.ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(6,6,10,.88);padding:1.5em;text-align:center;gap:.9em}.hidden{display:none!important}h1{font-size:2.3em;letter-spacing:.14em;margin:0;color:var(--c1);text-shadow:0 0 .7em color-mix(in srgb,var(--c1) 60%,transparent);text-transform:uppercase}h2{font-size:1.7em;letter-spacing:.12em;margin:0;color:var(--c1);text-shadow:0 0 .6em color-mix(in srgb,var(--c1) 50%,transparent)}p{margin:0;color:var(--c2);opacity:.75;font-size:.9em;line-height:1.5;max-width:22em}.btn{font:inherit;font-weight:700;letter-spacing:.08em;padding:.85em 2em;border-radius:2em;border:1.5px solid var(--c1);background:color-mix(in srgb,var(--c1) 12%,transparent);color:var(--c2);min-width:13em;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}.btn.pri{background:var(--c1);color:#10100c;box-shadow:0 0 1.2em color-mix(in srgb,var(--c1) 45%,transparent)}.stars{font-size:2em;color:var(--c1);letter-spacing:.2em;text-shadow:0 0 .5em color-mix(in srgb,var(--c1) 60%,transparent)}#grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5em;width:100%;overflow:auto;max-height:68%;padding:.3em}.wh{grid-column:1/-1;text-align:left;font-size:.75em;letter-spacing:.25em;font-weight:800;color:var(--c1);padding:.7em .2em .1em}.cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.6em;border:1px solid color-mix(in srgb,var(--c1) 35%,transparent);font-weight:700;cursor:pointer;background:color-mix(in srgb,var(--c1) 6%,transparent);font-size:1em;color:var(--c2)}.cell small{font-size:.55em;letter-spacing:.08em;color:var(--c1);min-height:1em}.cell.done{background:color-mix(in srgb,var(--c1) 22%,transparent)}.cell.cur{border-color:var(--c1);box-shadow:0 0 .8em var(--c1)}.cell.lock{opacity:.28;cursor:default}#sub{font-size:.8em;letter-spacing:.4em;color:var(--c2);opacity:.7;margin-top:-.4em;text-transform:uppercase}#by{position:absolute;bottom:1.1em;left:0;right:0;text-align:center;font-size:.72em;letter-spacing:.18em;color:var(--c2);opacity:.55;text-decoration:none;text-transform:uppercase}#by b{color:var(--c1);font-weight:800}#by:hover{opacity:1}
