@font-face{font-family:Cabin Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./cabin-vietnamese-wght-normal-Ccotw_Ab.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cabin Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./cabin-latin-ext-wght-normal-CiC-id32.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Cabin Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(./cabin-latin-wght-normal-DZW_uTKI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green: #009e48;--blue: #0091d4;--red: #e0383e;--bg: #f4f7f6;--panel: #ffffff;--line: #dfe5e3;--ink: #1d2a2f;--muted: #6b7a80;--ocean: #eaf2f6;--land: #d3dad8;--target: var(--blue);--ok: var(--green);--miss: var(--red)}*{box-sizing:border-box;border-radius:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Cabin Variable,Cabin,system-ui,sans-serif;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.brand{background:var(--panel);margin-bottom:16px}.bar-green{height:12px;background:var(--green)}.bar-blue{height:6px;background:var(--blue)}.brand-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:10px 20px}.wordmark{font-weight:700;font-size:1.9rem;line-height:1;color:var(--blue);letter-spacing:-.01em;margin:0;white-space:nowrap}.status{margin-left:auto;display:flex;gap:8px;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.status span{background:var(--bg);padding:4px 12px}.tag{font-size:.75rem;font-weight:500;color:var(--muted);white-space:nowrap;border:1px solid var(--line);padding:2px 9px}.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}select,button{font:inherit;padding:7px 12px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}button{cursor:pointer;transition:border-color .12s,background .12s;touch-action:manipulation}button:hover{border-color:var(--blue)}button:disabled{cursor:default}button.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:700;padding:10px 26px}button.primary:hover{background:#008a3f;border-color:#008a3f}#map-wrap{position:relative}#map{width:100%;aspect-ratio:2 / 1;max-height:calc(100vh - 160px);display:block;background:var(--ocean);border:1px solid var(--line)}#inset{position:absolute;right:10px;bottom:10px;width:22%;min-width:110px;aspect-ratio:2 / 1;background:var(--panel);border:1px solid var(--line)}.land{fill:var(--land);stroke:none}.target{fill:var(--target);stroke:var(--target);stroke-width:.5}.marker{fill:none;stroke:var(--target);stroke-width:2}.screen{flex:1;padding:0 20px 16px}#play{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--green);padding:22px 24px;max-width:560px;margin:24px auto;line-height:1.5}.lead{margin:0 0 10px;font-size:1.25rem;font-weight:600;line-height:1.4}.credit{margin:0 0 22px;font-weight:400;color:var(--muted);line-height:1.5}.credit a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:2px}fieldset{border:1px solid var(--line);margin:12px 0}legend{color:var(--muted);padding:0 4px}.mode{display:block;padding:3px 0;cursor:pointer}.kind{display:flex;border:2px solid var(--green)}.kind label{flex:1;position:relative;cursor:pointer}.kind input{position:absolute;opacity:0;pointer-events:none}.kind span{display:block;text-align:center;padding:10px 8px;font-weight:700;color:var(--green);background:var(--panel)}.kind label+label span{border-left:2px solid var(--green)}.kind input:checked+span{background:var(--green);color:#fff}.kind input:focus-visible+span{outline:3px solid var(--blue);outline-offset:-5px}#kind-box .hint{margin:8px 0 18px}.hint{color:var(--muted);font-size:.85em}input[type=radio],input[type=checkbox]{accent-color:var(--green)}.question h2{font-size:1.1rem;margin:4px 0 12px}.options{display:grid;grid-template-columns:1fr;gap:8px}.option{text-align:left;display:flex;gap:10px;align-items:center;padding:11px 12px;min-height:46px}.option .key{font-size:.75rem;font-weight:700;color:#fff;background:var(--blue);min-width:20px;padding:1px 0;text-align:center;flex:none}.option.right{background:#e3f4ea;border-color:var(--green)}.option.right .key{background:var(--green)}.option.wrong{background:#fde8e8;border-color:var(--red)}.option.wrong .key{background:var(--red)}.option:disabled:not(.right):not(.wrong){opacity:.5}.reveal{margin-top:14px;background:var(--panel);border:1px solid var(--line);padding:12px 14px}.reveal p{margin:0 0 10px}.verdict{display:flex;align-items:center;gap:10px;font-size:1.1rem}.verdict .badge{width:28px;height:28px;font-size:1rem}.facts{display:block;color:var(--muted);font-size:.85rem;margin-top:2px}.card{background:var(--panel);border:1px solid var(--line);padding:18px 22px;max-width:1100px;margin:0 auto 12px}.card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.card-sub{color:var(--muted);font-size:.95rem}.card-score{font-size:2.8rem;font-weight:700;line-height:1;white-space:nowrap}.card-score span{font-size:1.3rem;color:var(--muted)}#results-map{width:100%;aspect-ratio:2 / 1;max-height:calc(100vh - 400px);display:block;background:var(--ocean)}.res-ok{fill:var(--ok)}.res-miss{fill:var(--miss)}.ring{fill:none;stroke-width:2.5}.ring.res-ok{stroke:var(--ok)}.ring.res-miss{stroke:var(--miss)}.card-list{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-auto-flow:column;grid-template-columns:1fr 1fr;gap:16px 32px}.card-list li{display:flex;gap:14px;align-items:center;font-size:1.7rem;line-height:1.2}.card-list li b{display:block}.card-list small{display:block;color:var(--muted);font-weight:400;font-size:1rem;margin-top:2px}.badge{flex:none;width:40px;height:40px;color:#fff;display:grid;place-items:center;font-size:1.3rem;font-weight:700}li.ok .badge,.badge.ok{background:var(--ok)}li.miss .badge,.badge.miss{background:var(--miss)}.card-foot{margin-top:14px;font-size:.7rem;color:var(--muted)}.actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}main{flex:1;display:grid;grid-template-columns:1fr 260px;gap:16px;padding:0 20px 16px}#info{background:var(--panel);border:1px solid var(--line);padding:14px 16px;align-self:start;line-height:1.5}#info h2{margin:0 0 6px;font-size:1.2rem}#info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}#info dt{color:var(--muted)}#info dd{margin:0}footer{font-size:.75rem;color:var(--muted);padding:8px 20px 16px}@media(max-width:860px){#play{display:flex;flex-direction:column;gap:12px}#play>*{width:100%}.options{grid-template-columns:1fr 1fr}main{grid-template-columns:1fr}}@media(max-width:600px){.brand{margin-bottom:10px}.bar-green{height:9px}.bar-blue{height:4px}.brand-row{padding:8px 12px}.wordmark{font-size:1.5rem}.status{gap:6px;font-size:.85rem}.status span{padding:3px 8px}.screen{padding:0 10px 12px}.panel{margin:12px auto;padding:18px 16px}.lead{font-size:1.15rem}button.primary{width:100%;padding:13px}#map{aspect-ratio:4 / 3;max-height:55vh}#inset{width:34%;min-width:0;right:6px;bottom:6px}.question h2{font-size:1rem;margin:2px 0 8px}.options{gap:6px}.option{padding:8px 9px;font-size:.95rem;line-height:1.2}.option .key{display:none}.card{padding:12px}.card-score{font-size:2.2rem}#results-map{max-height:none}.card-list li{font-size:1.35rem;gap:12px}.badge{width:34px;height:34px;font-size:1.1rem}.card-list{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none!important}.actions{flex-direction:column}.actions button{width:100%;padding:12px}footer{padding:8px 12px 14px;font-size:.7rem}}
