:root{--bg:#FBF8F1;--fg:#14161C;--card:#fff;--bd:#E6DFCC;--giv:#2F3646;--emp:#ECE7DA;--key:#E7E1D1;--sec:#4B5563;--mut:#6B7280;--pill:#14161C;--pillt:#fff;--con:#CFC8B4;--lab:#4A6B0A;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#14161C;--fg:#fff;--card:#1D212B;--bd:#2B3140;--emp:#222733;--key:#2A303D;--sec:#A8B0BE;--mut:#8B93A3;--pill:#fff;--pillt:#14161C;--con:#3A4152;--lab:#A8CF3A}}
:root[data-theme="dark"]{--bg:#14161C;--fg:#fff;--card:#1D212B;--bd:#2B3140;--emp:#222733;--key:#2A303D;--sec:#A8B0BE;--mut:#8B93A3;--pill:#fff;--pillt:#14161C;--con:#3A4152;--lab:#A8CF3A}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
html,body{height:100%;margin:0}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:'Bricolage Grotesque',system-ui,sans-serif;-webkit-tap-highlight-color:transparent;overflow:hidden}
#app{height:100%;max-width:440px;margin:0 auto;display:flex;flex-direction:column;padding:12px 0 10px;user-select:none;-webkit-user-select:none}
button{font:inherit;cursor:pointer;color:inherit}
.r1{display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.lg{margin:0;font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1;display:flex;align-items:center}
.wm{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.3em;border-radius:.24em;margin:0 .05em}
.info{text-align:right;font-size:14px;line-height:1.3;color:var(--sec)}
.r2{display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 10px;margin-top:6px}
.ib{width:44px;height:44px;border:0;background:none;padding:0;display:flex;align-items:center;justify-content:center}
.tg{display:flex;align-items:center;height:32px;border-radius:16px;background:var(--key);border:1px solid var(--bd);padding:0 2px}
.sg{width:36px;height:44px;border:0;background:none;padding:0;display:flex;align-items:center;justify-content:center}
.sg span{width:34px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center}
.sg[aria-pressed="true"] span{background:#F2B134;color:#14161C}
#board{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}
.w{display:flex;gap:6px;justify-content:center}
.c{width:4px;height:16px;border-radius:2px;background:var(--con);margin:0 auto}.c.on{background:#F2B134}.c.gn{background:#A8CF3A}
.t{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;position:relative}
.g{background:var(--giv);color:#fff}.s{background:#F2B134;color:#14161C}.a{border:2px solid var(--fg)}.e{background:var(--emp)}
.h{background:#E08A12;color:#14161C}.sv{background:#A8CF3A;color:#14210F}
.h:after,.dt:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:#14161C}.sv.dt:after{background:#14210F}
.cu{outline:2px solid var(--fg);outline-offset:2px}
.f{animation:tl 1.3s ease-in-out infinite}.wg{animation:wg .52s ease-in-out both}.sv.pl{animation:tp .38s ease-in-out both}.c.gn.pl{animation:cp .2s ease both}
@keyframes tl{0%,45%,100%{transform:rotate(0)}8%{transform:rotate(-5deg)}16%{transform:rotate(5deg)}24%{transform:rotate(-4deg)}32%{transform:rotate(4deg)}40%{transform:rotate(-2deg)}}
@keyframes wg{0%,100%{transform:translateX(0)}20%{transform:translateX(-5.5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3.5px)}80%{transform:translateX(2.5px)}}
@keyframes tp{from{background:#F2B134;transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}
@keyframes cp{from{background:#F2B134}}@keyframes fi{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.f{animation:none;transform:translateY(-3px);box-shadow:0 7px 9px rgba(0,0,0,.4)}.t,.c,.wg{animation:none!important}}
.card{margin:0 20px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:68px;background:var(--card);border:1px solid var(--bd);border-radius:14px}
.msg{font-size:20px;font-weight:800;letter-spacing:.5px;white-space:nowrap;display:flex;align-items:center;gap:8px}.msg.m{font-size:16px;letter-spacing:0}
.pl2{color:var(--mut);font-weight:500}.b{color:var(--mut);letter-spacing:2px}
.pill{height:44px;padding:0 18px;border-radius:22px;border:0;background:var(--pill);color:var(--pillt);font-weight:700;font-size:14px}
.kr{display:flex;gap:5px;padding:0 6px;margin-bottom:8px}
.k{flex:1;height:48px;border:0;border-radius:6px;background:var(--key);color:var(--fg);font-weight:700;font-size:15px;padding:0;display:flex;align-items:center;justify-content:center}
.k.x{flex:1.6;font-size:12px}.k.go{background:#F2B134;color:#14161C}
.res{margin:0 20px 14px;padding:14px;text-align:center;background:var(--card);border:1px solid var(--bd);border-radius:14px;animation:fi .4s ease both}
.res b{display:block;font-size:22px;letter-spacing:2px;color:var(--lab)}.res span{display:block;font-size:22px;margin-top:4px}.res i{display:block;font-style:normal;font-size:15px;color:var(--sec);margin-top:4px}
.btn{display:block;width:calc(100% - 40px);margin:0 20px;height:52px;border:0;border-radius:12px;background:#F2B134;color:#14161C;font-weight:800;font-size:17px}
.cd{text-align:center;font-size:14px;color:var(--sec);margin-top:12px}
.md{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:20px}.md.on{display:flex}
.mc{background:var(--bg);color:var(--fg);border-radius:16px;padding:20px;max-width:400px;width:100%;max-height:90%;overflow:auto;font-size:15px;line-height:1.45}
.mc h2{margin:0 0 10px;font-size:24px;font-weight:800}.mc p{margin:0 0 10px}.mc .btn{width:100%;margin:6px 0 0;background:var(--pill);color:var(--pillt)}

.scr{position:fixed;inset:0;z-index:5;background:var(--bg);display:none;flex-direction:column;max-width:440px;margin:0 auto;padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(14px + env(safe-area-inset-bottom,0px));overflow:auto}.scr.on{display:flex}
.sh{display:flex;align-items:center;justify-content:space-between;margin:0 -8px 10px 0}.sh h2{margin:0;font-size:24px;font-weight:800;letter-spacing:-.4px}
.sc{height:88px;flex:none;border-radius:14px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sc+.sc{margin-top:12px}.sc div{font-size:19px;font-weight:500}.sc b{font-size:42px;font-weight:800;letter-spacing:-1px}
.l{border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--bd)}.l>*{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;min-height:52px;font-size:16px;font-weight:700;width:100%;border:0;background:none;text-align:left;color:inherit;text-decoration:none}.l>*+*{border-top:1px solid var(--bd)}
.lh{font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--sec);margin:16px 4px 8px}.sub{display:block;font-size:13px;font-weight:400;color:var(--sec);margin-top:2px}.ss{font-size:13px;font-weight:400;color:var(--sec)}
.sw2{width:51px;height:31px;border-radius:999px;background:var(--con);position:relative;flex:none;border:0;padding:0}.sw2:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.3);transition:left .2s}.sw2[aria-checked=true]{background:#F2B134}.sw2[aria-checked=true]:after{left:22px}
html.rm .f{animation:none;transform:translateY(-3px);box-shadow:0 7px 9px rgba(0,0,0,.4)}html.rm .t,html.rm .c,html.rm .wg{animation:none!important}
#cf{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}#app{position:relative;z-index:1}
@keyframes xp{from{height:16px}to{height:40px}}@keyframes xc{0%{height:40px}65%{height:10px}100%{height:16px}}
@keyframes gg{0%{background:var(--giv);color:#fff;transform:scale(1)}45%{transform:scale(1.28)}100%{background:#A8CF3A;color:#14210F;transform:scale(1)}}

.mc .btn.play{background:#F2B134;color:#14161C}

.ex{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:12px 8px 10px;margin:0 0 12px}
.xr{display:flex;gap:4px;justify-content:center}.xr i,.lgd i{font-style:normal;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-weight:800;font-size:14px}
.xg{background:#2F3646;color:#fff}.xn{background:#A8CF3A;color:#14210F}.xy{background:#F2B134}.xh{background:#E08A12;position:relative}
.xc{width:4px;height:8px;border-radius:2px;background:#A8CF3A;margin:0 auto}
.ex small{display:block;text-align:center;margin-top:8px;font-size:12px;color:var(--sec)}
.lgd{display:flex;flex-wrap:wrap;gap:8px 16px;margin:4px 0 6px;font-size:13px}.lgd span{display:flex;align-items:center;gap:7px}.lgd i{width:18px;height:18px;border-radius:5px}
.lgd .xh:after{content:"";position:absolute;top:2px;right:2px;width:5px;height:5px;border-radius:50%;background:#14161C}

.st{display:flex;gap:12px;margin:0 0 14px}.st b{font-size:16px}.st span{font-size:15px;line-height:1.4;color:var(--sec)}.st span b{font-size:inherit;color:var(--fg)}
.sn{width:26px;height:26px;border-radius:13px;background:#F2B134;color:#14161C;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.tl{font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--sec);margin:18px 0 10px}
.lgd{margin:0 0 22px}

.cm{display:flex;align-items:center;justify-content:space-between;margin:6px 0 10px}.cm b{font-size:18px;font-weight:800}
.cn{width:44px;height:44px;border:0;border-radius:12px;background:var(--card);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center}.cn:disabled{opacity:.35}
.cw,.cg{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cw span{text-align:center;font-size:12px;font-weight:700;letter-spacing:1px;color:var(--sec);padding:4px 0}
.cd2{position:relative;aspect-ratio:1;border:1.5px solid transparent;border-radius:12px;background:var(--card);font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--fg)}
.cd2.off{background:none;color:var(--mut);opacity:.45}.cd2.tod{border-color:var(--bd);border-width:1.5px;border-color:var(--sec)}.cd2.sel{border-color:#F2B134;border-width:2px}
.ck{position:absolute;right:3px;bottom:3px;width:15px;height:15px;border-radius:50%;background:#A8CF3A;color:#14210F;display:inline-flex;align-items:center;justify-content:center}
.cn2{display:flex;align-items:center;gap:8px;font-size:13px;margin:14px 4px 0;color:var(--sec)}.cn2 .ck{position:static}
.cn3{font-size:13px;color:var(--sec);margin:8px 4px 0;line-height:1.4}
.btn.alt{background:var(--pill);color:var(--pillt);margin-top:10px}

.ck.rv{background:transparent;border:1.5px solid #F2B134;color:#F2B134}
.cn2{flex-wrap:wrap;gap:8px 18px}.cn2 span{display:flex;align-items:center;gap:8px}
.cd2{padding-bottom:6px}.cd2 .ck{width:14px;height:14px;right:2px;bottom:2px}
