@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");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}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");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}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");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}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff)format("woff");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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff");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{--ground:#0b1a2b;--panel:#0b1a2be6;--card:#13263b;--line:#3a5370;--text:#f2f5f7;--muted:#b9c6d3;--accent:#ffc845;--accent-soft:#ffe08a;--good:#2e9e5b;--bad:#ff7a45;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--text);font-family:var(--body);overscroll-behavior:none;background:#050d17;margin:0}body{justify-content:center;display:flex}#app{background:var(--ground);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:480px;height:100dvh;position:relative;overflow:hidden}#c{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}#hud{pointer-events:none;position:absolute;inset:0}#hud button{pointer-events:auto}.top{padding:calc(env(safe-area-inset-top,0px) + 12px) 12px 0;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.pill{background:var(--panel);border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.pill b{color:var(--accent)}.score{font-family:var(--display);font-size:20px;font-weight:800}.sep{color:var(--muted);font-weight:600}.icon-btn{background:var(--panel);border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;display:flex}.targets{left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 66px);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid;position:absolute}.chip{background:var(--panel);border:1.5px solid var(--line);border-radius:10px;min-width:0;padding:6px 8px}.chip .l{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.chip .s{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.chip.done{border-color:var(--good)}.chip.done .s{color:#7fe0a6}.chip.missed{opacity:.6}.chip.missed .s{color:var(--bad)}.star{flex:none;width:12px;height:12px}.toast{text-align:center;font-family:var(--display);letter-spacing:.02em;color:var(--text);text-shadow:0 4px 18px #0000008c;opacity:0;font-size:64px;font-weight:800;transition:opacity .2s,transform .2s;position:absolute;top:34%;left:0;right:0;transform:scale(.9)}.toast.show{opacity:1;transform:scale(1)}.bottom{padding:0 12px calc(env(safe-area-inset-bottom,0px) + 16px);align-items:stretch;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.hint{background:var(--panel);color:#dce6ee;border-radius:14px;flex:1;align-items:center;min-height:52px;padding:10px 14px;font-size:14px;line-height:1.35;display:flex}.hint:empty{visibility:hidden}.hint b{color:var(--accent);font-weight:600}.rewind{border:2px solid var(--line);background:var(--panel);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:76px;font-size:13px;font-weight:600;display:flex}.overlay{padding:calc(env(safe-area-inset-top,0px) + 48px) 22px calc(env(safe-area-inset-bottom,0px) + 28px);background:var(--ground);flex-direction:column;gap:14px;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay.dim{background:#0b1a2bd1;justify-content:center}.overlay h1{font-family:var(--display);margin:0;font-size:44px;font-weight:800;line-height:1}.overlay h1.big{text-align:center;font-size:72px;line-height:.95}.kicker{font-family:var(--display);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin:0;font-size:14px;font-weight:600}#result .kicker{text-align:center}.lead{color:var(--muted);margin:0;font-size:16px;line-height:1.45}.how{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.facts div{background:var(--card);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.facts span{color:var(--muted);font-size:12px}.facts b{font-family:var(--display);font-size:24px;font-weight:800}.checklist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.checklist li{background:var(--card);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:15px;display:flex}.checklist li .d{color:var(--muted);margin-left:auto;font-size:13px}.checklist .mark{width:24px;height:24px;color:var(--ground);background:#5a6b7d;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.checklist .mark.ok{background:var(--good)}.checklist .mark.star{background:0 0}.stars{justify-content:center;align-items:flex-end;gap:12px;display:flex}.actions{flex-direction:column;gap:10px;margin-top:auto;display:flex}.overlay.dim .actions{margin-top:12px}.primary{background:var(--accent);height:56px;color:var(--ground);font-family:var(--display);letter-spacing:.04em;border:none;border-radius:14px;font-size:22px;font-weight:800}#brief .primary{margin-top:auto}.secondary{border:2px solid var(--line);background:0 0;border-radius:14px;height:52px;font-size:15px;font-weight:600}.note{text-align:center;color:var(--muted);margin:-4px 0 0;font-size:13px}#fail h1,#menu h1,#fail .kicker{text-align:center}.hint b.risk{color:var(--bad)}.start{gap:22px}.start .title{flex-direction:column;gap:6px;display:flex}.logo{letter-spacing:-.01em;font-size:84px!important;line-height:.88!important}.levels{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.levels button{background:var(--card);border:2px solid var(--card);text-align:left;border-radius:14px;align-items:center;gap:14px;width:100%;min-height:60px;padding:0 14px;display:flex}.levels button.current{border-color:var(--accent)}.levels button:disabled{opacity:.5}.levels .num{width:34px;height:34px;font-family:var(--display);background:var(--good);color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:flex}.levels .current .num{background:var(--accent);color:var(--ground)}.levels button:disabled .num{background:#2a3f57}.levels .name{flex-direction:column;flex:1;min-width:0;display:flex}.levels .name b{font-size:15px;font-weight:600}.levels .name span{color:var(--muted);font-size:12px}.levels .got{gap:2px;display:flex}.install{justify-content:center;align-items:center;gap:8px;display:flex}.back{border:2px solid var(--line);background:0 0;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.sheet{z-index:5;background:#050d17b3;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet-card{background:var(--card);width:100%;padding:24px 22px calc(env(safe-area-inset-bottom,0px) + 24px);border-radius:20px 20px 0 0;flex-direction:column;gap:16px;display:flex}.sheet-card h2{font-family:var(--display);margin:0;font-size:28px;font-weight:800}.steps{counter-reset:s;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:center;gap:12px;font-size:16px;line-height:1.35;display:flex}.steps b{color:var(--accent);font-weight:600}.step-icon{background:var(--ground);color:#4fd1ff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.kit-head{align-items:center;gap:12px;display:flex}.kit-head h1{font-size:36px!important}.kit-preview{flex:none;align-self:center;width:120px;height:150px}.kit-group{flex-direction:column;gap:8px;display:flex}.swatches{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;display:grid}.swatch{border:2px solid #ffffff40;border-radius:50%;justify-self:center;width:44px;height:44px;padding:0}.swatch[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}#kit .primary{flex:none;margin-top:auto}.versus{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.versus .vs{color:var(--muted)}.versus .dot{border:2px solid #fff6;border-radius:50%;flex:none;width:16px;height:16px}.update-bar{left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 120px);z-index:6;background:var(--accent);min-height:48px;color:var(--ground);border:none;border-radius:14px;font-size:15px;font-weight:600;position:absolute}.note.version{margin-top:-6px;font-size:12px}.link{min-height:44px;color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:8px;text-decoration:underline}.build-time{right:16px;top:calc(env(safe-area-inset-top,0px) + 10px);color:var(--muted);margin:0;font-size:12px;position:absolute}.feedback{background:var(--card);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.fb-q{margin:0;font-weight:600}.fb-row{gap:8px;display:flex}.fb-row>*{flex:1}.toggle{border:2px solid var(--line);background:0 0;border-radius:12px;min-height:44px;font-weight:600}.toggle[aria-pressed=true]{border-color:var(--accent);background:#ffc84526}.fb-label{color:var(--muted);font-size:13px}.feedback textarea{border:2px solid var(--line);background:var(--ground);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:10px;padding:8px;font-size:16px}.note.small{margin:0;font-size:12px}.replay-bar{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:6;background:var(--panel);border-radius:14px;align-items:center;gap:8px;padding:10px 12px;display:flex;position:absolute}.replay-bar span{flex:1;font-size:14px}.replay-bar .small{flex:none;height:44px;padding:0 14px;font-size:15px}.file-btn{justify-content:center;align-items:center;display:flex;position:relative}.file-btn input{opacity:0;position:absolute;inset:0}#replayList button{text-align:left;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;min-height:44px;display:flex}#replayList small{color:var(--muted)}
