@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@300;400;500;600&family=Noto+Serif+Thai:wght@400;500;600&display=swap";:root{--bg:#091f19;--gold:#dfbe80;--text:#f3eddf;--muted:#9baa9c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font:14px Noto Sans Thai,sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible){outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}header{z-index:1;border-bottom:1px solid #ffffff0e;justify-content:space-between;align-items:center;height:100px;padding:0 6%;display:flex;position:relative}.brand{letter-spacing:4px;font:21px Georgia,serif}.brand span{letter-spacing:2.2px;color:var(--gold);margin-top:8px;font:8px sans-serif;display:block}nav{align-items:center;gap:28px;font-size:12px;display:flex}nav button{background:0 0;border:0;padding:8px}.account{border:1px solid #c7b99150;border-radius:3px;padding:10px 17px}nav .active{color:var(--gold)}main{max-width:1440px;margin:auto;padding:0 6%}.ambient{pointer-events:none;background:radial-gradient(at 75% 38%,#7f8b4220,#0000 55%);width:100%;height:800px;position:absolute;top:100px;left:0}.hero{grid-template-columns:1fr 1.1fr;align-items:center;min-height:690px;display:grid;position:relative}.eyebrow{letter-spacing:2.8px;color:var(--gold);align-items:center;gap:10px;font-size:9px;font-weight:500;display:flex}.eyebrow i{background:var(--gold);width:18px;height:1px}h1{letter-spacing:-1px;margin:24px 0 8px;font-family:Noto Serif Thai,serif;font-size:clamp(32px,3.5vw,54px);font-weight:400;line-height:1.6}h1 span{color:var(--gold)}.english{color:#d1c5ac;margin:8px 0 27px;font:italic 23px Georgia,serif}.desc{color:#b7c0b4;font-size:13px;font-weight:300;line-height:2.15}.primary{background:var(--gold);color:#17342a;border:0;border-radius:3px;align-items:center;gap:12px;margin-top:19px;padding:16px 24px;font-weight:600;display:inline-flex}.primary span{margin-left:20px}.micro{color:#829488;margin-top:15px;font-size:10px}.stats{border-top:1px solid #c6c7aa20;align-items:center;gap:25px;width:max-content;max-width:100%;margin-top:37px;padding-top:27px;display:flex}.stats strong{color:var(--gold);font:32px Georgia}.stats strong span{color:var(--muted);margin-top:7px;font:9px Noto Sans Thai;display:block}.stats>div{color:#c9cfbf;border-left:1px solid #ffffff20;padding-left:25px;font-size:11px;line-height:1.9}.stats small{color:var(--muted);font-size:9px}.tree-scene{place-self:center;width:100%;max-width:620px;position:relative}.tree{width:100%;display:block}.scene-label{text-align:center;letter-spacing:3.4px;color:#c2b28c;width:100%;font-size:8px;position:absolute;top:3%}.stars{position:absolute;inset:0}.star{color:#ffe2a1;text-shadow:0 0 9px #ffd174bb;z-index:2;background:0 0;border:0;padding:6px;font-size:25px;line-height:1;animation:4s ease-in-out infinite twinkle;position:absolute;transform:translate(-50%,-50%)}.star:hover,.star:focus{z-index:5;transform:translate(-50%,-50%)scale(1.4)}.star.mine{color:#fff3d5;text-shadow:0 0 15px #fff}.tree-caption{color:#a2ae9b;justify-content:center;align-items:center;gap:8px;margin-top:-3px;font-size:10px;display:flex}.dot{background:var(--gold);border-radius:50%;width:5px;height:5px}.empty-tree{text-align:center;color:#d9c496;pointer-events:none;width:100%;font-size:10px;position:absolute;bottom:17%}.messages{border-top:1px solid #ffffff13;padding:60px 0 70px;scroll-margin-top:30px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}h2{margin:12px 0;font-family:Noto Serif Thai,serif;font-size:27px;font-weight:400}h2 em{color:var(--gold);vertical-align:middle;border:1px solid #ffffff20;border-radius:20px;margin-left:10px;padding:5px 10px;font:12px sans-serif}input,textarea{color:var(--text);background:#0e2921;border:1px solid #ffffff20;border-radius:4px;outline:none;padding:12px}input:focus,textarea:focus{border-color:var(--gold)}.section-heading input{width:260px;font-size:11px}.cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}article{background:linear-gradient(130deg,#142e24,#10271f);border:1px solid #b9b29625;border-radius:5px;padding:24px}.card-top{color:var(--gold);justify-content:space-between;font-size:10px;display:flex}.card-top small{color:#d9c8a1;font-size:9px}.message-text{text-align:left;color:#e1e5d7;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:4;background:0 0;border:0;-webkit-box-orient:vertical;width:100%;min-height:130px;padding:20px 0;line-height:1.9;display:-webkit-box;overflow:hidden}article footer{border-top:1px solid #ffffff10;justify-content:space-between;align-items:center;padding-top:16px;display:flex}article footer b{font-size:11px;font-weight:400}article footer small{color:#7f9587;margin-top:4px;font-size:9px;display:block}.read{width:28px;height:28px;color:var(--gold);background:0 0;border:1px solid #ffffff25;border-radius:50%}.empty{text-align:center;color:var(--muted);border:1px dashed #c3b27d30;border-radius:5px;padding:45px}.empty>span{color:var(--gold);font-size:30px}.empty h3{color:#dfd6bf;font-weight:400}.empty p{font-size:12px}.empty button{border:0;border-bottom:1px solid var(--gold);color:var(--gold);background:0 0;padding:8px;font-size:12px}.bottom{text-align:center;border-top:1px solid #ffffff13;padding:35px 20px 30px}.bottom>span{letter-spacing:4px;color:var(--gold);font:14px Georgia}.bottom p{color:var(--muted);font-size:11px}.bottom small{letter-spacing:2px;color:#637e6f;font-size:7px}.overlay{z-index:20;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#020c09cc;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{text-align:center;background:#102c23;border:1px solid #b5996266;border-radius:10px;width:480px;max-width:100%;max-height:92vh;padding:35px;position:relative;overflow:auto;box-shadow:0 30px 120px #0008}.close{color:#a8b7a7;background:0 0;border:0;font-size:26px;position:absolute;top:12px;right:16px}.modal-star{color:var(--gold);margin-bottom:12px;font-size:35px}.modal p{color:var(--muted);font-size:12px;line-height:1.9}.modal .eyebrow{justify-content:center}.modal form{text-align:left}.tabs{gap:10px;margin:25px 0 20px;display:flex}.tabs button{background:0 0;border:1px solid #ffffff25;border-radius:4px;flex:1;padding:10px;font-size:12px}.tabs .selected{border-color:var(--gold);color:var(--gold);background:#dfbe8010}label{color:#cec9b8;margin:14px 0 8px;font-size:12px;display:block}label input,label textarea{width:100%;margin-top:8px;display:block}textarea{resize:vertical}.counter{text-align:right;color:var(--muted);font-size:10px}.modal .primary{justify-content:center;width:100%}.modal blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;font-family:Noto Serif Thai;font-size:23px;line-height:1.9}.delete{color:#e4a09a;background:#9c4b3a18;border:1px solid #ba79674a;border-radius:3px;padding:7px 10px;font-size:10px}.admin-notice{color:var(--gold);border-left:2px solid var(--gold);background:#cba75f12;margin-bottom:20px;padding:12px 18px;font-size:12px}.toast{color:#173328;z-index:30;background:#e9cd93;border-radius:5px;max-width:90%;padding:15px 24px;font-size:13px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 4px 30px #0005}.error{color:#e4a09a;font-size:12px}.error button{background:0 0;border:0;text-decoration:underline}@keyframes twinkle{50%{filter:brightness(1.3)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}@media (min-width:1500px){.hero{min-height:760px}}@media (max-width:800px){header{height:84px;padding:0 6%}.brand{font-size:17px}.brand span{font-size:6px}nav{gap:10px}nav>a:first-child{display:none}nav button{font-size:10px}.account{padding:8px;font-size:10px}.hero{grid-template-columns:1fr}.intro{text-align:center;padding:48px 0 10px}.intro .eyebrow{justify-content:center}h1{font-size:38px}.desc{font-size:12px}.stats{text-align:left;margin:30px auto 0}.tree-scene{max-width:500px;margin:15px 0 35px}.section-heading{flex-direction:column;align-items:flex-start}.section-heading input{width:100%}.cards{grid-template-columns:1fr}.messages{padding-top:35px}.modal{padding:28px 22px}h2{font-size:24px}.modal blockquote{font-size:20px}}:root{--gold:#edc98a;--text:#fff1df}body{background:radial-gradient(at 8% 20%,#6c192633,#0000 38%),#0c211b}header{background:linear-gradient(100deg,#591724,#3b1520 60%,#251b20);border-bottom:1px solid #d9ad6b55}.ambient{background:radial-gradient(at 80% 35%,#ad334722,#0000 55%)}.primary{color:#ffedc9;background:linear-gradient(120deg,#b5354b,#8c2036);border:1px solid #dba66d77;box-shadow:0 5px 22px #540b1c30}.primary:hover{background:linear-gradient(120deg,#ce4c60,#9c2940)}.festive-strip{z-index:2;justify-content:space-between;align-items:center;padding:20px 0 2px;display:flex;position:relative}.festive-strip>span{letter-spacing:3px;color:#cfad7b;font:9px Georgia}.music-player{background:#4e1c27;border:1px solid #b7906555;border-radius:40px;align-items:center;gap:14px;padding:7px 15px;display:flex}.music-player button{color:var(--gold);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:20px;display:flex}.music-player button span{font-size:10px}.music-player small{color:#d3b9a0;margin-top:2px;font:9px Georgia;display:block}.music-player input{accent-color:#eac082;cursor:pointer;width:65px;height:3px;padding:0}.curtain{z-index:0;pointer-events:none;opacity:.35;filter:drop-shadow(4px 8px 7px #0005);background:repeating-linear-gradient(90deg,#721b30,#300e17 18px,#922d40 34px);border-bottom:2px solid #cba160;width:90px;height:340px;position:absolute;top:0}.curtain-left{clip-path:ellipse(90% 80% at 0 0);left:-7%}.curtain-right{clip-path:ellipse(90% 80% at 100% 0);right:-7%}.intro{z-index:1;position:relative}.tree-bow{z-index:3;pointer-events:none;filter:drop-shadow(0 2px 4px #0008);align-items:center;display:flex;position:absolute;top:8.4%;left:50%;transform:translate(-50%)}.tree-bow i{background:linear-gradient(140deg,#d04d61,#7b1930);border:1px solid #e0aa79;border-radius:65% 5% 50%;width:32px;height:25px;transform:rotate(12deg)}.tree-bow i:last-child{transform:scaleX(-1)rotate(12deg)}.tree-bow b{z-index:1;background:#a62f44;border:1px solid #e0aa79;border-radius:5px;width:14px;height:20px;margin:0 -2px}.tree-bow:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%);background:#a72c43;width:25px;height:37px;position:absolute;top:19px;left:25px}article{background:linear-gradient(130deg,#362025,#19291f);border-color:#b99a6440}.card-top{color:#efbe98}.modal{background:linear-gradient(140deg,#4b1d2a,#152b22 70%)}.tabs .selected{background:#a5304933}.event-section{padding:35px 0 70px;scroll-margin-top:25px;position:relative}.event-ornament{text-align:center;color:#d2af76;letter-spacing:5px;margin-bottom:30px;font-size:18px}.event-heading{text-align:center}.event-heading .eyebrow{justify-content:center}.event-heading h2{color:#f7e7cf;margin:20px 0;font:50px/1.15 Georgia,serif}.event-heading h2 i{color:#b77b64;font-size:30px}.event-heading h2 span{color:#e6b67c;font-style:italic}.event-heading p{color:#c3b3a2;font-size:13px;line-height:1.9}.event-grid{border:1px solid #c6a16a66;border-radius:12px;grid-template-columns:1fr 1fr;margin-top:36px;display:grid;overflow:hidden;box-shadow:0 20px 100px #0003}.event-story{background:radial-gradient(at 50% 36%,#a5344840,#0000 70%),repeating-linear-gradient(90deg,#501825,#581d2a 30px,#481523 60px);padding:40px;position:relative}.event-story:before{content:"";pointer-events:none;border:1px solid #d6ab6a33;position:absolute;inset:14px}.event-date{align-items:center;gap:20px;display:flex;position:relative}.event-date>strong{color:#f3ce93;font:70px Georgia}.event-date>span{letter-spacing:2px;color:#f5dab3;font:15px/1.5 Georgia}.event-date b{letter-spacing:0;color:#d7b79a;font:11px Noto Sans Thai}.event-date>div{color:#ebc59f;margin-left:auto;font-size:12px}.event-date small{margin-top:8px;font-size:9px;display:block}.piano-illustration{margin:20px -10px 0}.piano-illustration svg{width:100%;display:block}.event-location{text-align:center;color:#f4d5a6;margin:20px 0 26px;font-size:18px}.event-location small{color:#c7a996;margin-top:9px;font-size:11px;display:block}.event-includes{color:#f0d2ae;border-top:1px solid #f0bd8033;border-bottom:1px solid #f0bd8033;grid-template-columns:1fr 1fr;gap:14px;padding:22px 0;font-size:11px;display:grid}.event-note{color:#b5a18d;font-size:10px;line-height:1.9}.ticket-price{border-top:1px solid #e9bc7b44;justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;display:flex}.ticket-price>span{color:#e7bc9a;font-size:12px}.ticket-price strong{color:#f4cf8e;font:42px Georgia}.ticket-price small{font:13px Noto Sans Thai}.registration{color:#492432;background:#f7edde;padding:35px}.registration>.eyebrow{color:#9d6546}.registration h3{margin:14px 0 24px;font:500 23px Noto Serif Thai}.steps{margin:24px 0 14px;padding:0;list-style:none}.steps li{align-items:center;gap:12px;font-size:12px;display:flex}.steps b{color:#f5dfb9;background:#872c42;border-radius:50%;padding:8px;font:12px Georgia}.steps strong{color:#9a2c43}.bank{background:#ede1d3;border:1px solid #b88b6a66;border-radius:6px;align-items:center;gap:12px;padding:16px 13px;display:flex}.bank-logo{color:#f4e2b4;background:#512c65;border-radius:50%;place-items:center;width:42px;height:42px;font:700 14px Georgia;display:grid}.bank>div{flex:1;min-width:0}.bank small,.bank strong,.bank div span{display:block}.bank small{color:#79615d;font-size:10px}.bank strong{letter-spacing:1px;margin:3px 0;font-size:22px}.bank div span{font-size:10px}.bank button{color:#8e3045;background:0 0;border:1px solid #9f6c6855;border-radius:4px;padding:7px;font-size:10px}.registration label{color:#603f44;font-size:11px}.registration input{color:#42222c;background:#fffaf2;border-color:#c8ac9b80;font-size:12px}.registration input:focus{border-color:#9c3a51}.registration .primary{justify-content:center;width:100%;margin-top:12px;font-size:12px}.upload-zone{text-align:center;cursor:pointer;background:#f0e1d6;border:1px dashed #b17d72;border-radius:6px;flex-direction:column;align-items:center;gap:6px;margin-top:20px;padding:20px 12px;display:flex;position:relative}.upload-zone>span{color:#9a344b;font-size:23px}.upload-zone strong{overflow-wrap:anywhere;max-width:100%;font-weight:500}.upload-zone small{color:#8d716a;font-size:9px}.upload-zone input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.upload-zone:focus-within{outline-offset:3px;outline:2px solid #9c3a51}.privacy-note{color:#8d716a;font-size:9px;line-height:1.7}.line-button{color:#fff4dc;background:#245e44;border-radius:4px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:13px;display:flex}.line-button:hover{background:#317b59}.line-note{color:#785859;text-align:center;font-size:11px;line-height:1.9}.registration .event-note{color:#96776b;text-align:center}.login-upload{background:#eee0d4;border-radius:5px;padding:15px}.login-upload p{color:#7b5f5e;font-size:11px}.registration-success,.registration-status{color:#27583d;background:#dfebdb;border:1px solid #99ba91;border-radius:5px;margin:18px 0;padding:14px;font-size:12px}.registration-success p{font-size:11px;line-height:1.8}.registration-status a{margin-top:10px;font-size:11px;text-decoration:underline;display:block}.registration-admin{background:#34242a;border:1px solid #c5a26f66;border-radius:7px;margin-top:25px;padding:25px}.registration-admin h3{font-weight:500}.registration-row{border-top:1px solid #cbb28433;align-items:center;gap:20px;padding:18px 0;font-size:11px;display:flex}.registration-row>div{flex:1}.registration-row div span,.registration-row small{color:#c0ac9a;margin-top:6px;display:block}.registration-row a{color:#edc98a;text-decoration:underline}.registration-row button{color:#39242a;background:#e3bd7c;border:0;border-radius:4px;padding:8px;font-size:10px}.bottom{background:linear-gradient(100deg,#481421,#301923)}.registration .error{color:#a3263c}.music-player>span[role=alert]{max-width:100px;font-size:10px}@media (max-width:1000px){.event-grid{grid-template-columns:1fr 1.05fr}.event-story,.registration{padding:25px}.event-date{gap:10px}.event-date>strong{font-size:55px}.event-date>div{font-size:10px}.bank strong{font-size:18px}.bank{gap:7px}.bank-logo{width:32px;height:32px;font-size:12px}}@media (max-width:800px){nav a[href=\#christmas-night]{font:10px Georgia;display:inline}nav a[href=\#messages],.festive-strip>span{display:none}.festive-strip{justify-content:center;padding-top:18px}.music-player{padding:7px 14px}.event-grid{grid-template-columns:1fr}.event-heading h2{font-size:43px}.event-story{padding:35px 28px}.registration{padding:28px 22px}.event-date>div{font-size:11px}.event-date>strong{font-size:65px}.event-date{gap:18px}.event-includes{font-size:11px}.bank strong{font-size:22px}.event-section{padding-bottom:40px}.registration-row{flex-wrap:wrap;gap:13px}.registration-row>div{min-width:100%}.curtain{width:60px;height:240px}.event-note{font-size:10px}}html,body{overflow-x:clip}.countdown-banner{background:linear-gradient(105deg,#58243488,#182d24);border:1px solid #c4a46844;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin:25px 0 8px;padding:22px 27px;display:flex}.countdown-banner p{margin:8px 0 4px;font-family:Noto Serif Thai;font-size:18px}.countdown-banner>div>small{color:#bea88f;font-size:10px}.countdown-banner .eyebrow{letter-spacing:2px;font-size:8px}.countdown-digits{text-align:center;gap:20px;display:flex}.countdown-digits b{color:#f4d7a0;font-variant-numeric:tabular-nums;font:35px Georgia;display:block}.countdown-digits small{color:#b8ac95;margin-top:4px;font-size:9px;display:block}.countdown-banner>a{white-space:nowrap;border-bottom:1px solid #bd966b;padding:10px 0;font-size:11px}.countdown-banner>a span{color:var(--gold);margin-left:18px}.hero{min-height:620px}.game-section{padding:25px 0 55px;scroll-margin-top:25px}.mission{background:radial-gradient(at 90% 0,#b4853430,#0000 70%),#193126;border:1px solid #d7b57266;border-radius:9px;grid-template-columns:1fr auto;gap:12px 24px;padding:28px 32px;display:grid}.mission h2{margin:12px 0 8px;font-size:24px}.mission p{color:#bfc2aa;margin:0;font-size:12px}.mission p strong{color:var(--gold)}.mission-number{text-align:right;align-self:center}.mission-number strong{color:#f5d99e;font:42px Georgia}.mission-number span{color:#a8b39b;margin-top:7px;font-size:11px;display:block}.mission-progress{background:#071c16;border-radius:10px;grid-column:1/-1;height:6px;margin-top:10px;overflow:hidden}.mission-progress i{background:linear-gradient(90deg,#9f7940,#f7d595);border-radius:10px;height:100%;transition:width 1s;display:block;box-shadow:0 0 12px #f7d595}.mission-foot{color:#b9b79d;grid-column:1/-1;justify-content:space-between;gap:10px;font-size:10px;display:flex}.game-columns{grid-template-columns:1.15fr 1fr;gap:22px;margin-top:22px;display:grid}.checkin-panel,.leaderboard{background:linear-gradient(140deg,#35252a,#142a22 80%);border:1px solid #c6a36f33;border-radius:9px;min-width:0;padding:28px}.panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-heading h2,.leaderboard h2{margin-top:12px;font-size:23px}.wallet{text-align:center;background:#dfbe8009;border:1px solid #dab57450;border-radius:6px;flex-shrink:0;padding:10px 13px}.wallet span{color:#c4b398;font-size:9px;display:block}.wallet strong{color:#f5d397;margin-top:8px;font:23px Georgia;display:block}.game-description{color:#b7b5a1;font-size:11px;line-height:1.9}.checkin-days{grid-template-columns:repeat(7,1fr);gap:6px;margin:22px 0 8px;display:grid}.checkin-day{text-align:center;background:#ffffff03;border:1px solid #c4a77030;border-radius:5px;min-height:104px;padding:9px 2px;position:relative}.checkin-day>span{color:#aaa18d;font-size:9px}.checkin-day>b{color:#a48c57;margin:8px 0;font:24px Georgia;display:block}.checkin-day>strong{color:#d4bb8b;font:15px Georgia}.checkin-day.next{background:#e4bc6b12;border-color:#e1bd75;box-shadow:0 0 20px #d6a4490b}.checkin-day.next>b{color:#f8dc98}.checkin-day.claimed{background:#25453555}.checkin-day.claimed>b{color:#95bd97}.checkin-day.special{background:linear-gradient(#6d394933,#bc914c25);border-color:#d6a15c88}.checkin-day.special>b{color:#ffe2a4}.checkin-day small{color:#f3c895;white-space:nowrap;margin-top:6px;font-size:7px;display:block}.checkin-button{justify-content:center;width:100%;margin-top:14px;font-size:12px}.checkin-button:disabled{cursor:default;opacity:.6}.checkin-note{text-align:center;color:#9caa97;margin-top:13px;font-size:9px;line-height:1.8;display:block}.personal-stats{color:#b8bba6;border-top:1px solid #ffffff12;justify-content:space-between;gap:10px;margin-top:19px;padding-top:17px;font-size:9px;display:flex}.personal-stats b{color:#e9ca8e;margin-top:7px;font:19px Georgia;display:block}.rank-label{color:#9caa97;border-bottom:1px solid #ffffff15;justify-content:space-between;margin:24px 0 6px;padding-bottom:10px;font-size:9px;display:flex}.rank-row{border-bottom:1px solid #ffffff0b;align-items:center;gap:12px;padding:14px 3px;font-size:11px;display:flex}.rank-index{color:#d2ab68;text-align:center;width:22px;font:17px Georgia}.rank-name{overflow-wrap:anywhere;flex:1;min-width:0}.rank-name small{color:#eac98c;white-space:nowrap;border:1px solid #eac98c55;border-radius:8px;margin-left:7px;padding:0 5px;font-size:8px}.rank-row>span{color:#9aaa94;white-space:nowrap;font-size:10px}.rank-row>strong{text-align:right;color:#f2d393;white-space:nowrap;min-width:45px;font:19px Georgia}.rank-row>strong small{font-size:12px}.rank-row.is-me{background:#d8b47708}.rank-note{color:#92a18e;margin-top:20px;font-size:9px;line-height:1.9}.rank-empty{text-align:center;color:#d9b97c;padding:35px 5px;font:32px Georgia}.rank-empty p{color:#aab49c;font:12px Noto Sans Thai}.more-ranks{color:#d4b47c;background:0 0;border:0;border-bottom:1px solid #d4b47c55;margin:18px auto 0;padding:8px 12px;font-size:11px;display:block}.fairy-flight{z-index:6;pointer-events:none;width:85px;height:110px;filter:drop-shadow(0 0 10px #ffe7aa70) brightness(var(--fairy-bright,1));position:absolute;top:38%;left:74%}.fairy-body{width:100%;height:100%;animation:2.8s ease-in-out infinite fairy-bob;overflow:visible}.fairy-wings{transform-origin:70px 85px;animation:.18s ease-in-out infinite alternate wingbeat}.fairy-trail{color:#ffe1a0;white-space:nowrap;opacity:.7;letter-spacing:6px;font-size:14px;position:absolute;top:65%;right:65%;transform:rotate(-20deg)}.fairy-flight.orbiting{animation:18s ease-in-out infinite fairy-orbit}.fairy-flight.delivering{animation:2.8s ease-in-out forwards fairy-deliver}.carried-star{color:#fff2be;text-shadow:0 0 20px #ffe193;font-size:28px;animation:.5s infinite twinkle;position:absolute;top:37%;left:65%}.fairy-level{text-align:center;color:#e2c798;margin-top:-8px;margin-bottom:19px;font-size:11px}.fairy-level small{color:#a2ae99;margin-top:6px;font-size:9px;display:block}.contact-soi{text-align:center;color:#823048;border:1px solid #a76a5f66;border-radius:5px;margin-top:17px;padding:13px;font-size:12px;display:block}.contact-soi:hover{background:#eeded1}.tree-scene{padding-bottom:30px}.stars{bottom:30px}.tree-scene:has(.delivering) .tree{filter:brightness(1.08)}@keyframes fairy-orbit{0%,to{top:35%;left:75%;transform:rotate(8deg)}25%{top:9%;left:57%;transform:rotate(-9deg)}50%{top:42%;left:13%;transform:rotate(-3deg)}75%{top:66%;left:60%;transform:rotate(9deg)}}@keyframes fairy-bob{50%{transform:translateY(-6px)}}@keyframes wingbeat{to{transform:scaleX(.67)}}@keyframes fairy-deliver{0%{top:80%;left:5%;transform:scale(1.2)}35%{top:35%;left:20%;transform:rotate(-12deg)scale(1.15)}70%{top:15%;left:65%;transform:rotate(12deg)}to{left:calc(var(--landing-x) - 7%);top:calc(var(--landing-y) - 8%);transform:scale(.7)}}@media (min-width:1500px){.hero{min-height:680px}}@media (max-width:1000px){.game-columns{grid-template-columns:1fr 1fr}.checkin-panel,.leaderboard{padding:22px 18px}.checkin-days{gap:4px}.countdown-banner{gap:15px;padding:20px}.countdown-digits{gap:12px}.countdown-banner p{font-size:15px}.panel-heading h2,.leaderboard h2{font-size:20px}.wallet{padding:8px}.checkin-day.special small{font-size:6px}}@media (max-width:800px){.countdown-banner{text-align:center;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:20px}.countdown-banner>div:first-child{width:100%}.countdown-banner .eyebrow{justify-content:center}.countdown-banner p{font-size:18px}.countdown-digits{gap:25px}.countdown-digits b{font-size:31px}.countdown-banner>a{margin-left:8px;font-size:10px}.game-columns{grid-template-columns:1fr}.game-section{padding-top:0}.mission{gap:12px;padding:24px 20px}.mission h2{font-size:20px}.mission .eyebrow{letter-spacing:1.5px;font-size:7px}.mission-number strong{font-size:31px}.mission-foot{flex-direction:column;font-size:9px}.mission p{font-size:11px}.checkin-panel,.leaderboard{padding:24px 20px}.checkin-day{padding:10px 2px}.checkin-day.special small{font-size:7px}.fairy-flight{width:73px;height:95px}.hero{min-height:0}.tree-scene{margin-bottom:15px}.game-description{font-size:11px}.checkin-days{gap:5px}}@media (prefers-reduced-motion:reduce){.fairy-flight.delivering{left:var(--landing-x);top:var(--landing-y)}.fairy-flight.orbiting{top:40%;left:76%}}.tree-visual .stars{inset:0}.fairy-level{pointer-events:none;width:100%;margin:0;position:absolute;bottom:0}.mission{position:relative;overflow:hidden}.mission-sparkles{text-align:center;color:#ffe6ad77;letter-spacing:16px;pointer-events:none;font-size:26px;animation:6s ease-in-out infinite mission-shimmer;position:absolute;inset:0}.mission-achieved{box-shadow:inset 0 0 50px #efc26c15}@keyframes mission-shimmer{0%,to{opacity:.2;transform:translateY(5px)}50%{opacity:.8;transform:translateY(100px)}}.fairy-level{bottom:-28px}.tree-caption{margin-top:45px}header{height:70px;padding:0 5%}.brand{font-size:18px}.brand span{font-size:7px}.festive-strip{align-items:center;gap:14px;padding:14px 0 0}.countdown-mini{white-space:nowrap;color:#b9b5a2;background:#ffffff03;border:1px solid #d2b17d30;border-radius:6px;align-items:center;gap:9px;padding:9px 12px;font-size:10px;display:flex}.countdown-mini strong{color:#ebcc95;font-size:11px;font-weight:500}.countdown-mini small{font-variant-numeric:tabular-nums;font-size:9px}.countdown-mini b{color:#d9be87;font-size:13px}.music-player{background:#401e2755;padding:6px 11px}.music-player small{font-size:8px}.hero{grid-template-columns:.75fr 1.25fr;gap:2vw;height:calc(100svh - 127px);min-height:0;max-height:740px;padding-bottom:20px}.intro{padding:15px 0}.intro h1{margin:20px 0 16px;font-size:clamp(32px,3.2vw,48px);line-height:1.5}.intro .desc{margin:0 0 10px;font-size:13px;line-height:1.9}.decorate-button{justify-content:center;min-width:210px;padding:17px 24px;font-size:17px}.hero-wallet{color:#c5c1ac;align-items:center;gap:19px;margin-top:18px;font-size:11px;display:flex}.hero-wallet b{color:#efcd8c;margin-left:6px;font:18px Georgia}.hero-wallet button{color:#e8c88d;background:0 0;border:1px solid #c7a76c55;border-radius:20px;padding:5px 12px;font-size:10px}.hero-checkin{color:#bcc4ad;background:0 0;border:0;border-bottom:1px solid #bcc4ad55;margin-top:14px;padding:0;font-size:10px}.hero-checkin:disabled{cursor:default;opacity:.65;border-bottom:0}.tree-scene{align-self:center;width:min(100%,90svh - 184.5px);max-width:570px;margin:0;padding:0}.tree-visual{position:relative}.tree-caption{margin:9px 0 0;font-size:10px}.fairy-level{text-align:left;z-index:7;width:43%;font-size:9px;bottom:5.5%;left:-12%}.fairy-level small{font-size:7px;line-height:1.8}.tree-scene .empty-tree{font-size:9px;bottom:19%}.tree-scene .fairy-musicians{z-index:7;pointer-events:none;width:76%;position:absolute;bottom:-1%;left:29%}.game-section{padding-top:20px}.topup-invitation{border-top:1px solid #d7bc882a;border-bottom:1px solid #d7bc882a;justify-content:space-between;align-items:center;gap:24px;margin-bottom:45px;padding:28px 0;display:flex}.topup-invitation h2{margin:0 0 10px;font-size:23px}.topup-invitation p{color:#b7b6a2;margin:0;font-size:11px;line-height:1.9}.topup-invitation .primary{white-space:nowrap;margin:0}.topup-modal{text-align:left;width:590px}.topup-modal h2{margin-top:0}.topup-modal .topup-subtitle{margin:0 0 20px}.star-packages{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.star-packages button{text-align:left;background:#ffffff04;border:1px solid #c7a66e33;border-radius:7px;flex-direction:column;gap:9px;padding:17px 10px;display:flex}.star-packages button.selected{background:#e7bd6512;border-color:#f0c986;box-shadow:0 0 0 1px #e7bd6533}.star-packages strong{color:#f3d49a;font:23px Georgia}.star-packages strong small{color:#d0c2a6;font:10px Noto Sans Thai}.star-packages span{color:#abbaa6;font-size:9px}.star-packages b{color:#e9dfcc;font-size:12px;font-weight:400}.topup-terms{color:#beb7a2;margin:18px 0;font-size:11px;line-height:1.9}.topup-notice{color:#e1cda8;text-align:center;background:#c2a36b12;border:1px solid #c2a36b44;border-radius:6px;padding:14px;font-size:12px;line-height:1.9}.topup-notice small{color:#b5b6a0;font-size:10px}.order-summary{background:#c2a36b0c;border:1px solid #c2a36b44;border-radius:7px;justify-content:space-between;align-items:center;margin:20px 0;padding:18px;display:flex}.order-summary strong{color:#f2d39b;font:25px Georgia}.order-summary span{font-size:16px}.topup-bank{color:#4e3234;background:#fff0d9;border-radius:6px;flex-direction:column;gap:8px;padding:20px;display:flex}.topup-bank small{font-size:10px}.topup-bank strong{letter-spacing:1px;font-size:25px}.topup-bank span{font-size:11px}.topup-bank button{color:#74414e;background:0 0;border:1px solid #774b4855;border-radius:4px;width:max-content;padding:8px;font-size:10px}.topup-file input{font-size:11px}.slip-privacy{color:#a9b59f;margin-top:12px;font-size:9px;line-height:1.8;display:block}.topup-result{background:#c7a97114;border:1px solid #c7a97155;border-radius:6px;margin-top:20px;padding:18px}.topup-result strong{color:#ebc78b}.topup-result.rejected{border-color:#dc8d7a77}.topup-result.rejected strong{color:#edaa9a}.topup-result.credited{border-color:#93b89a77}.topup-result.credited strong{color:#c3dfb8}.topup-result a{color:#f0cc95;font-size:11px;text-decoration:underline}.topup-history{border-top:1px solid #ffffff17;margin-top:22px;padding-top:16px}.topup-history summary{cursor:pointer;color:#c8b797;font-size:11px}.topup-history>button{background:0 0;border:0;border-bottom:1px solid #ffffff0b;justify-content:space-between;gap:10px;width:100%;padding:13px 0;font-size:11px;display:flex}.topup-history small{color:#b4bea7;font-size:9px}.topup-admin{border:1px solid #c9aa6a44;border-radius:8px;margin-bottom:35px;padding:24px}.topup-admin-row{border-bottom:1px solid #ffffff16;align-items:center;gap:13px;padding:15px 0;font-size:11px;display:flex}.topup-admin-row>div{flex:1}.topup-admin-row small,.topup-admin-row span{color:#aab8a0;margin-top:7px;font-size:10px;display:block}.topup-admin-row a{color:#eccc90;text-decoration:underline}.topup-admin-row button{color:#263b2d;background:#e0bf83;border:0;border-radius:4px;padding:7px 10px;font-size:10px}.game-section .eyebrow:empty{display:none}@media (max-width:800px){header{height:62px;padding:0 5%}.brand{letter-spacing:3px;font-size:15px}.brand span{letter-spacing:1.5px;font-size:5px}nav{gap:8px}nav a[href=\#christmas-night]{display:none}nav button{padding:5px;font-size:10px}.account{padding:7px;font-size:9px}main{padding:0 5%}.festive-strip{justify-content:space-between;gap:6px;padding:10px 0 0}.countdown-mini{gap:6px;padding:7px 8px;font-size:8px}.countdown-mini strong{font-size:9px}.countdown-mini small{font-size:8px}.music-player{gap:5px;padding:5px 8px}.music-player small{display:none}.music-player button{gap:5px;font-size:17px}.music-player button span{font-size:9px}.music-player input{width:35px}.hero{flex-direction:column;justify-content:center;gap:0;height:calc(100svh - 110px);min-height:490px;max-height:760px;padding:0 0 18px;display:flex}.tree-scene{flex-shrink:1;order:-1;width:min(100%,90svh - 243px);min-width:240px;max-width:440px;margin:0;padding:0}.tree-caption{margin-top:3px;font-size:9px}.intro{text-align:center;flex-shrink:0;width:100%;padding:10px 0 0}.intro>.eyebrow,.intro h1,.intro .desc{display:none}.decorate-button{min-width:210px;margin-top:0;padding:13px 25px;font-size:15px}.hero-wallet{justify-content:center;gap:17px;margin-top:10px}.hero-checkin{margin-top:9px}.fairy-level{width:39%;font-size:8px;bottom:6%;left:0}.fairy-level small{font-size:6px}.tree-scene .fairy-musicians{width:70%;bottom:0;left:33%}.tree-scene .empty-tree{font-size:8px;bottom:20%}.curtain{height:160px}.topup-invitation{align-items:flex-start;gap:15px;padding:24px 0}.topup-invitation h2{font-size:20px}.topup-invitation p{font-size:10px}.topup-invitation .primary{padding:11px 15px;font-size:11px}.star-packages{grid-template-columns:repeat(2,1fr);gap:8px}.star-packages button{padding:15px}.topup-modal{padding:28px 20px}.topup-admin-row{flex-wrap:wrap}.topup-admin-row>div{min-width:100%}.topup-admin{padding:20px}.order-summary strong{font-size:22px}}@media (max-width:370px){.countdown-mini small,.music-player input{display:none}.topup-invitation{flex-direction:column}.tree-scene{min-width:220px}.hero{min-height:450px}}.ballroom-portal{text-align:left;background:linear-gradient(120deg,#75405b,#4c2440);border:1px solid #e0b87599;border-radius:7px;align-items:center;gap:12px;max-width:330px;margin-top:22px;padding:14px 16px;display:flex;box-shadow:0 0 25px #dca15b16}.ballroom-portal>span{color:#ffe3a4;font:26px Georgia}.ballroom-portal>div{flex:1}.ballroom-portal strong{color:#ffedcd;font-size:13px;font-weight:500;display:block}.ballroom-portal small{color:#cdbca9;margin-top:5px;font-size:9px;display:block}.ballroom-portal>b{color:#e8c488;font-size:17px}.ballroom-portal:hover{background:linear-gradient(120deg,#895170,#65364e);border-color:#ffe0a0}@media (max-width:800px){.ballroom-portal{gap:9px;max-width:290px;margin:12px auto 0;padding:10px 13px}.ballroom-portal strong{font-size:12px}.ballroom-portal small{margin-top:3px;font-size:8px}.ballroom-portal>span{font-size:21px}.hero{min-height:550px}.tree-scene{width:min(100%,90svh - 306px);min-width:220px}.intro{padding-top:8px}}@media (max-width:370px){.hero{min-height:520px}.tree-scene{min-width:200px}}.mobile-view-link{color:#e8cc94;white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:inline-flex}.mobile-view-link>span{font:23px/1 Georgia}@media (max-width:800px){.mobile-view-link{display:none}}.wish-ranks{table-layout:fixed;border-collapse:collapse;width:100%;margin-top:23px}.wish-ranks th{color:#9caa97;text-align:center;white-space:nowrap;border-bottom:1px solid #ffffff15;padding:0 3px 11px;font-size:9px;font-weight:400}.wish-ranks th:first-child{text-align:left;width:48%}.wish-ranks th:last-child{width:22%}.wish-ranks td{text-align:center;color:#a5b29b;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;border-bottom:1px solid #ffffff0b;padding:14px 3px;font:12px Georgia}.wish-ranks td:first-child{text-align:left;font:11px Noto Sans Thai}.rank-person{align-items:center;gap:8px;display:flex}.rank-person .rank-index{flex-shrink:0;width:21px}.rank-person .rank-name{color:#eee2cd}.wish-ranks td strong{color:#f2d393;white-space:nowrap;font:20px Georgia}.wish-ranks td strong small{font-size:10px}.wish-ranks .is-me{background:#d8b47708}@media (max-width:600px){.wish-ranks th{font-size:8px}.wish-ranks th:first-child{width:43%}.wish-ranks th:last-child{width:24%}.wish-ranks td{font-size:11px}.wish-ranks td strong{font-size:17px}.rank-person{gap:4px}.rank-person .rank-name small{margin-top:3px;margin-left:0;display:table}}
