@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format("woff2"),url(/assets/montserrat-vietnamese-500-normal-DpeZlV_K.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format("woff2"),url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-vietnamese-800-normal-BDwqwvSG.woff2) format("woff2"),url(/assets/montserrat-vietnamese-800-normal-Chy8GRiB.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff) format("woff")}:root{font-family:Montserrat,sans-serif;color:#243758;background:#f5eff8;font-synthesis:none;font-weight:500;--navy:#243758}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 5% 5%,#c8e5f8 0,transparent 35%),radial-gradient(ellipse at 95% 20%,#f9dbe9 0,transparent 38%),radial-gradient(ellipse at 10% 55%,#e0d9fa 0,transparent 35%),radial-gradient(ellipse at 95% 80%,#d8eee5 0,transparent 35%),linear-gradient(155deg,#eef5fe,#f9e5ef 40%,#f8efdc 70%,#e2effb)}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #5886b4;outline-offset:5px}button[hidden],[hidden]{display:none!important}.hero{text-align:center;padding:65px 20px 48px}.hero-logo{width:clamp(200px,28vw,360px);aspect-ratio:1;margin:0 auto 35px;display:grid;place-items:center}.hero-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:28px}.logo-empty{height:100%;width:100%;border:1px dashed #8babcc;background:#ffffff30;border-radius:28px;color:#91aac5;font-size:40px}h1{font-size:clamp(26px,3.5vw,49px);font-weight:800;line-height:1.35;letter-spacing:-1.6px;max-width:1100px;margin:0 auto}h2{font-size:clamp(20px,2.4vw,29px);font-weight:800;letter-spacing:.5px;margin:0}.section{max-width:1200px;margin:auto;padding:35px 25px 55px}.ranking{text-align:center}.podium{max-width:990px;margin:64px auto 0;display:grid;grid-template-columns:1fr 1.13fr 1fr;align-items:end;gap:26px}.podium-card{position:relative;padding:12px;border:1px solid #ffffffd9;border-radius:20px;background:linear-gradient(155deg,#ffffffb5,#edf3ff90);box-shadow:0 14px 34px #606b9a12;transition:transform .3s,box-shadow .3s}.place-1{border:2px solid #a1b7d5;padding:16px;background:linear-gradient(145deg,#e9f6ffdb,#fff3e4e0,#f5ddedb0);box-shadow:0 16px 45px #657aab23}.place-label{position:relative;margin:-30px auto 14px;display:table;border-radius:30px;background:#d7e5f6;padding:10px 24px;font-size:12px;font-weight:800;letter-spacing:2px;box-shadow:0 4px 12px #56749d10}.place-1 .place-label{background:var(--navy);color:#f7e7c5;padding:13px 29px;margin-top:-37px}.place-3 .place-label{background:#efd8e7}.podium-image,.merch-image{position:relative;aspect-ratio:1;border-radius:10px}.podium-image>img,.merch-image>img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .28s ease,box-shadow .28s ease;position:relative;z-index:1}.image-empty{width:100%;height:100%;display:grid;place-items:center;border:1px dashed #a8bed4;color:#94aac3;background:linear-gradient(140deg,#d8eaf7,#eedfed);font-size:28px;border-radius:10px}.rank-medal{position:absolute;z-index:2;bottom:-17px;left:calc(50% - 17px);width:34px;height:34px;display:grid;place-items:center;background:#dce9f7;border:3px solid #fffafc;border-radius:50%;font-weight:800;font-size:13px}.place-1 .rank-medal{background:#f2dfb3}.place-3 .rank-medal{background:#efd5e5}.podium-info{padding-top:26px}.podium-info strong{display:block;font-size:36px;font-weight:800;letter-spacing:-1px}.podium-info>span{display:block;font-size:11px;margin:3px 0 18px;color:#76839c}.vote{border:0;border-radius:10px;background:var(--navy);color:#fff;min-height:54px;width:100%;padding:12px 8px;font-size:14px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}.vote:disabled{cursor:default;opacity:.5}.vote.done{background:#dbe8f4;color:#46688a;opacity:1}.collection{padding-top:35px;padding-bottom:65px}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}.identity{border:1px solid #a7b9ce;background:#ffffff85;padding:10px 15px;border-radius:20px;font-size:10px;color:var(--navy)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px}.merch-card{border:1px solid #ffffffd9;border-radius:16px;padding:10px;background:linear-gradient(145deg,#ffffffb5,#fff7fc70);box-shadow:0 8px 24px #50638f0b;transition:transform .3s ease,box-shadow .3s ease}.merch-card:nth-child(3n+2){background:linear-gradient(145deg,#fffdfbd9,#f4e0ed99)}.merch-card:nth-child(3n){background:linear-gradient(145deg,#fffdfbce,#e0e9fa90)}.card-bottom{padding:2px 4px 4px}.vote-total{display:flex;justify-content:center;align-items:baseline;gap:8px;padding:18px 0}.vote-total strong{font-size:32px;font-weight:800;letter-spacing:-1px}.vote-total span{font-size:10px;color:#74829a}.voted-mark{position:absolute;z-index:2;right:10px;top:10px;border-radius:50%;background:#fff;color:#3b6487;font-size:12px;padding:5px 8px}.sample-settings{position:fixed;bottom:18px;right:18px;z-index:5;text-align:right}.sample-settings summary{display:inline-grid;place-items:center;background:#ffffffda;color:#4b6584;box-shadow:0 3px 12px #6e789524;border:1px solid #d6deea;width:40px;height:40px;border-radius:50%;cursor:pointer;list-style:none}.sample-settings summary::-webkit-details-marker{display:none}.sample-controls{text-align:left;padding:20px;border:1px solid #d8dfeb;border-radius:12px;background:#fffffff5;box-shadow:0 8px 30px #45557620;max-width:290px;position:absolute;bottom:50px;right:0}.sample-controls label{display:block;font-size:12px;font-weight:700;margin-bottom:16px}.sample-controls input{display:block;width:100%;font-size:10px;margin-top:8px}.sample-controls small{display:block;font-size:9px;line-height:1.7;color:#6d7c92;margin-top:15px}.sample-controls button{padding:10px 20px;background:var(--navy);color:#fff;border:0;border-radius:6px;font-size:11px}dialog{border:1px solid #e0dce9;border-radius:20px;width:min(420px,calc(100% - 32px));padding:35px;color:var(--navy);background:linear-gradient(145deg,#fff,#f5eff8);box-shadow:0 25px 90px #22335730}dialog::backdrop{background:#29375d75;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog form{position:relative}.close{position:absolute;right:-16px;top:-26px;border:0;background:none;font-size:28px;color:#6b7c91}dialog label{display:block;font-size:16px;font-weight:700;margin:12px 0 20px}dialog input{border:1px solid #b8cbe0;border-radius:9px;background:#fff;width:100%;padding:17px;font-size:16px}#phone-error{color:#b34761;font-size:11px;line-height:1.8}.primary{border:0;border-radius:9px;padding:18px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;width:100%}.forget{display:block;margin:22px auto 0;border:0;background:none;font-size:10px;color:#71859a}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:18px 24px;border-radius:12px;box-shadow:0 10px 25px #22335725;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:calc(100% - 30px);width:max-content}#toast.show{opacity:1;transform:translate(-50%)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.merch-card:hover,.podium-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px #74669427}.merch-image:hover>img,.podium-image:hover>img{transform:scale(1.035);box-shadow:0 9px 25px #26395725}.vote:hover:not(:disabled){transform:translateY(-2px);background:#41658a;box-shadow:0 6px 15px #24375820}}@media(max-width:900px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{padding-top:45px}.podium{gap:16px}.hero-logo{width:270px}}@media(max-width:600px){.hero{padding:32px 20px 26px}.hero-logo{width:230px;margin-bottom:26px}h1{font-size:29px;letter-spacing:-.8px;max-width:350px}h2{font-size:21px}.section{padding:28px 14px 36px}.podium{gap:8px;margin-top:48px;grid-template-columns:1fr 1.15fr 1fr}.podium-card{padding:5px;border-radius:12px}.place-1{padding:7px}.place-label{font-size:9px;letter-spacing:1px;padding:7px 12px;margin-top:-22px;margin-bottom:9px}.place-1 .place-label{padding:9px 12px;font-size:10px;margin-top:-28px}.podium-info{padding-top:23px}.podium-info strong{font-size:27px}.podium-info>span{font-size:8px;margin:4px 0 12px}.podium .vote{font-size:8px;min-height:43px;padding:8px 2px;border-radius:7px}.rank-medal{width:28px;height:28px;bottom:-14px;left:calc(50% - 14px);font-size:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 11px}.merch-card{padding:6px;border-radius:12px}.card-bottom{padding:1px}.vote-total{gap:5px;padding:14px 0}.vote-total strong{font-size:29px}.vote-total span{font-size:8px}.vote{font-size:11px;min-height:49px}.collection-heading{margin-bottom:23px;gap:8px}.collection-heading h2{font-size:19px}.identity{font-size:8px;padding:8px 10px}.sample-settings{right:12px;bottom:12px}dialog{padding:28px}.close{right:-10px;top:-22px}.collection{padding-bottom:65px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.collection-tools{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:-5px 0 25px}.collection-tools label{font-size:12px;font-weight:600}.collection-tools select{font:inherit;font-size:12px;min-height:46px;max-width:100%;padding:10px 36px 10px 14px;color:var(--navy);background:#ffffffb8;border:1px solid #b9c9dc;border-radius:10px}.collection-tools select:focus-visible{outline:3px solid #5886b4;outline-offset:3px}.hero-logo img{transition:transform .35s ease,box-shadow .35s ease}.cards{align-items:start}.merch-card{min-width:0}.identity,.forget,.close{min-height:44px}.close{min-width:44px}.vote{touch-action:manipulation}.hero-logo{max-width:80vw}.sample-settings summary{width:44px;height:44px}@media(hover:hover)and (prefers-reduced-motion:no-preference){.hero-logo:hover img{transform:translateY(-6px) rotate(-2deg) scale(1.025);box-shadow:0 18px 36px #697ea633}}@media(max-width:600px){.hero{padding-top:max(25px,env(safe-area-inset-top))}.hero-logo{width:210px}.collection-heading{flex-wrap:wrap}.collection-tools{display:block;margin:0 0 20px}.collection-tools label{display:block;margin-bottom:8px;font-size:11px}.collection-tools select{width:100%;font-size:14px;min-height:48px}.cards{gap:16px 12px}.vote-total{flex-wrap:wrap;gap:2px 6px}.vote-total span{font-size:10px}.vote{font-size:12px;min-height:50px}.identity{font-size:11px}.podium{grid-template-columns:1fr;gap:20px;margin-top:28px}.podium-card{display:grid;grid-template-columns:minmax(110px,40%) 1fr;align-items:center;gap:15px;padding:12px;text-align:center}.place-1{order:-1;grid-template-columns:minmax(110px,40%) 1fr}.place-label,.place-1 .place-label{position:static;grid-column:1/-1;justify-self:center;margin:0;padding:6px 10px;font-size:10px;letter-spacing:1px}.podium-image{min-width:0}.podium-info{padding:5px 0 0}.podium-info strong{font-size:33px}.podium-info>span{font-size:11px;margin:4px 0 16px}.podium .vote{font-size:12px;min-height:48px;padding:10px 5px}.rank-medal,.voted-mark{display:none}.section{padding-left:16px;padding-right:16px}dialog{max-height:calc(100dvh - 32px);overflow:auto}.sample-settings{bottom:max(12px,env(safe-area-inset-bottom))}.collection{padding-bottom:max(75px,calc(50px + env(safe-area-inset-bottom)))}#toast{bottom:max(24px,env(safe-area-inset-bottom));font-size:11px;line-height:1.6;text-align:center}}@media(max-width:359px){.cards{grid-template-columns:1fr}.vote-total strong{font-size:30px}h1{font-size:25px}}#voting-status{max-width:620px;margin:20px auto 0;padding:14px 18px;border:1px solid #b9c9dc;border-radius:12px;background:#ffffffb8;font-size:13px;line-height:1.7}
