@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#fff;--ink:#0b0b0b;--grid:#d6d6d6;--soft:#efefef;--mid:#6b6b6b;--wood:#e6cc9c;--wood-edge:#bf9a60;--wood-ink:#1c1408;--font:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#111;--ink:#f2f2f2;--grid:#343434;--soft:#1e1e1e;--mid:#a3a3a3}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;font-size:15px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app{max-width:max(480px,100dvh - 300px);height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 8px calc(10px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;margin:0 auto;display:flex}.app.done{height:auto;min-height:100dvh}.top{justify-content:space-between;align-items:center;gap:8px;display:flex}.name{text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:22px;font-weight:900;font-stretch:125%;line-height:1}.brand{flex-direction:column;gap:4px;min-width:0;display:flex}.sub{color:var(--mid);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.meta{align-items:center;gap:8px;display:flex}.flame{color:var(--mid);font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding-right:2px;font-size:16px;font-weight:900;font-stretch:115%;display:flex}.flame.lit{color:var(--ink)}.note{border:1.5px solid var(--ink);text-align:center;flex:none;margin:0;padding:8px 10px;font-size:13px;line-height:1.35}.note b{font-weight:900}.note.strong{background:var(--ink);color:var(--paper);font-weight:700}.icon{border:1.5px solid var(--ink);width:32px;height:32px;color:var(--ink);background:0 0;place-items:center;padding:0;font-size:15px;font-weight:800;display:grid}.board-wrap{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;container-type:size}.board{aspect-ratio:1;background:var(--grid);border:1px solid var(--grid);touch-action:none;grid-template-columns:repeat(11,minmax(0,1fr));gap:1px;width:min(100cqw,100cqh);display:grid;container-type:inline-size}.app.done .board-wrap{flex:none;container-type:inline-size}.app.done{max-width:480px;padding-inline:12px}.app.done .board{width:min(100cqw,40dvh)}.cell{aspect-ratio:1;background:var(--paper);color:var(--ink);font-family:var(--font);border:0;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:4.8cqw;font-weight:800;line-height:1;display:flex;position:relative}button.cell{cursor:default}.cell.open{cursor:pointer}.cell.bonus{background:var(--soft);color:var(--mid);font-size:2.7cqw;font-weight:700}.cell.bonus.w{background:var(--mid);color:var(--paper)}.cell.over{background:color-mix(in srgb, var(--wood) 60%, var(--paper));color:#0000}.cell.tile{background:var(--wood);color:var(--wood-ink);box-shadow:inset 0 -.6cqw 0 var(--wood-edge)}.cell.tile i,.rt i{font-size:2.3cqw;font-style:normal;font-weight:700;line-height:1;position:absolute;bottom:7%;right:9%}.cell.mine{animation:.16s ease-out pop;box-shadow:inset 0 0 0 .6cqw #0b0b0b}button.cell.mine{cursor:grab;touch-action:none}.cell.mine.flip{animation:.5s ease-in-out backwards flip}.lifted{opacity:.25}.status{border-block:1.5px solid var(--ink);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:4px 2px;display:flex}.status.bad{animation:.3s ease-in-out shake}.status .msg{color:var(--mid);font-size:14px}.status .word{letter-spacing:.08em;font-size:17px;font-weight:900;font-stretch:115%}.status .pts{font-variant-numeric:tabular-nums;font-size:28px;font-weight:900;font-stretch:115%;line-height:1}.rack{flex:none;justify-content:center;gap:6px;padding-top:6px;display:flex}.rt{aspect-ratio:.92;background:var(--wood);min-width:0;color:var(--wood-ink);box-shadow:0 3px 0 var(--wood-edge);font-family:var(--font);cursor:grab;touch-action:none;border:0;border-radius:0;flex:0 clamp(48px,8dvh,76px);justify-content:center;align-items:center;padding:0;font-size:clamp(22px,3.6dvh,34px);font-weight:900;font-stretch:110%;transition:transform .12s ease-out;display:flex;position:relative}.rt i{font-size:clamp(10px,1.5dvh,14px)}.rt.sel{box-shadow:0 3px 0 var(--wood-edge), 0 0 0 2.5px var(--ink);transform:translateY(-7px)}.rt.slot{box-shadow:none;border:1.5px dashed var(--grid);cursor:default;background:0 0}.ghost{z-index:20;background:var(--wood);width:54px;height:58px;color:var(--wood-ink);box-shadow:0 4px 0 var(--wood-edge), 0 10px 18px #00000047;pointer-events:none;will-change:transform;justify-content:center;align-items:center;font-size:24px;font-weight:900;font-stretch:110%;display:flex;position:fixed;top:-30px;left:-27px}.actions{flex:none;gap:8px;display:flex}.btn{border:1.5px solid var(--ink);color:var(--ink);text-align:center;background:0 0;border-radius:0;flex:none;padding:13px 14px;font-size:14px;font-weight:700;transition:transform 80ms ease-out}.btn:active{transform:scale(.97)}.btn.go{background:var(--ink);color:var(--paper);letter-spacing:.02em;flex:1;font-size:16px;font-weight:900;font-stretch:115%}.btn.go[aria-disabled=true]{background:var(--soft);border-color:var(--grid);color:var(--mid)}.link{color:var(--ink);background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.result{flex-direction:column;gap:12px;display:flex}.score{flex-direction:column;align-items:center;gap:2px;padding-top:4px;display:flex}.score .lbl,.fine{color:var(--mid);font-size:12px}.fine{text-align:center;min-height:1.4em;margin:0}.score .w{letter-spacing:.1em;font-size:26px;font-weight:900;font-stretch:125%}.score .n{font-variant-numeric:tabular-nums;font-size:60px;font-weight:900;font-stretch:115%;line-height:1}.score .rank{border:1.5px solid var(--ink);margin-top:6px;padding:4px 10px;font-size:13px;font-weight:700}.result.fresh .rank{animation:.4s ease-out .9s backwards rise}.result.fresh .late{animation:.3s ease-out 1.3s backwards pop}.week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.day{color:var(--mid);flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.day i{border:1.5px solid var(--grid);place-items:center;width:28px;height:28px;font-size:14px;font-style:normal;display:grid}.day.today{color:var(--ink)}.day.today i{border-color:var(--ink)}.day.done i{background:var(--ink);border-color:var(--ink);color:var(--paper)}.stats{border-block:1.5px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.stats div{text-align:center;padding:8px 0}.stats div+div{border-left:1.5px solid var(--ink)}.stats span{color:var(--mid);font-size:11px;display:block}.stats b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:900;font-stretch:115%}.account{flex-direction:column;gap:10px;padding-top:4px;display:flex}.account-title{text-align:center;margin:0;font-size:14px;font-weight:700}.account .row{gap:8px;display:flex}.account .row .btn{flex:none}.account .row .btn:only-child,.account .row .btn:first-child:nth-last-child(2),.account .row .btn:first-child:nth-last-child(2)~.btn{flex:1 0 auto}.account .row .field+.btn{flex:none}.field{border:1.5px solid var(--ink);background:var(--paper);min-width:0;color:var(--ink);font:inherit;-webkit-user-select:text;user-select:text;border-radius:0;flex:1 1 0;padding:12px;font-size:16px}.field.code{letter-spacing:.3em;font-variant-numeric:tabular-nums;font-weight:800}.field::placeholder{color:var(--mid);letter-spacing:0;font-weight:400}.check{align-items:center;gap:10px;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--ink);margin:0}.fine.error{color:#b3261e;font-weight:700}.btn[aria-disabled=true]{border-color:var(--grid);color:var(--mid)}.notice{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.notice h2{margin:0;font-size:20px;font-weight:900;font-stretch:115%}.notice p{color:var(--mid);margin:0}.notice .btn{flex:none;min-width:160px}.modal{border:1.5px solid var(--ink);background:var(--paper);width:min(92vw,400px);max-height:90dvh;color:var(--ink);padding:0}.modal::backdrop{background:#0000008c}.modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.modal h2{text-transform:uppercase;margin:0;font-size:20px;font-weight:900;font-stretch:120%}.rules{flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:14px;display:flex}.legend{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;font-size:12px;display:grid}.legend div{align-items:center;gap:8px;display:flex}.legend .cell.bonus{flex:none;width:30px;font-size:10px}.legend dd{color:var(--mid);margin:0}.tabs{border:1.5px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.tabs button{background:0 0;border:0;padding:8px 0;font-size:12px;font-weight:700}.tabs button+button{border-left:1.5px solid var(--ink)}.tabs .on{background:var(--ink);color:var(--paper)}.rows{flex-direction:column;min-height:160px;display:flex;overflow-y:auto}.lb{border-bottom:1px solid var(--grid);grid-template-columns:56px minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:8px 6px;font-size:13px;display:grid}.lb .rk{color:var(--mid);font-variant-numeric:tabular-nums}.lb .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb b{font-variant-numeric:tabular-nums;font-weight:900;font-stretch:115%}.lb.you{background:var(--ink);color:var(--paper);border-bottom:0}.lb.you .rk{color:var(--paper)}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}@keyframes shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.cell.mine,.cell.mine.flip,.status.bad,.result.fresh .rank,.result.fresh .late{animation:none}.rt,.btn{transition:none}}
