@font-face{font-family:Itim;src:url(/fonts/Itim.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Charmonman;src:url(/fonts/Charmonman.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--night:#0B1622;--water:#123240;--amber:#FFB454;--ember:#FF7847;--ivory:#F4EBDC;--blush:#E88FA0;--heart:#FF5C7A;--ink:#3A2A26;--body:"Itim","Sukhumvit Set","Thonburi","Leelawadee UI","Noto Sans Thai",sans-serif;--display:"Charmonman","Itim","Sukhumvit Set","Thonburi","Leelawadee UI","Noto Sans Thai",cursive}*{box-sizing:border-box}body,html{height:100%;overflow:hidden;background:var(--night)}body{margin:0;font-family:var(--body);color:var(--ivory);-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:manipulation}body.gold{--amber:#FFD873;--ember:#FFC24B;--heart:#FFCE54;--blush:#FFE3A3}canvas.layer{position:fixed;inset:0;width:100%;height:100%}#bg{z-index:0}#fx{z-index:50;pointer-events:none}#stage{z-index:10}#stage,.scene{position:fixed;inset:0}.scene{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}.scene.on{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .7s ease}h1,h2{margin:0;font-family:var(--display);font-weight:700;color:var(--amber);text-wrap:balance;line-height:1.5}h1{font-size:clamp(28px,8vw,52px);text-shadow:0 0 24px rgba(255,180,84,.35)}h2{font-size:clamp(24px,6.5vw,40px);text-shadow:0 0 20px rgba(255,180,84,.3)}p{margin:0;line-height:1.9}.sub{color:var(--blush);font-size:15px;opacity:.95}.tiny{font-size:13px;opacity:.65}.btn{font-family:var(--body);font-size:18px;color:var(--night);background:var(--amber);border:0;border-radius:999px;padding:14px 30px;cursor:pointer;box-shadow:0 4px 0 rgba(0,0,0,.28),0 0 26px rgba(255,180,84,.35);transition:transform .15s ease,background .3s,font-size .25s,padding .25s}.btn:active{transform:translateY(3px) scale(.97)}.btn.ghost{background:transparent;color:var(--blush);border:1.5px dashed var(--blush);box-shadow:none;font-size:15px;padding:10px 22px}.btn:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}#nameInput{font-family:var(--body);font-size:20px;text-align:center;color:var(--ivory);background:rgba(244,235,220,.08);border:1.5px solid rgba(255,180,84,.5);border-radius:14px;padding:14px 18px;width:min(310px,80vw);-moz-user-select:text;user-select:text;-webkit-user-select:text}#nameInput::placeholder{color:rgba(244,235,220,.4)}.env-wrap{position:relative;width:min(320px,82vw);aspect-ratio:16/11;filter:drop-shadow(0 14px 30px rgba(0,0,0,.5))}.env{background:linear-gradient(160deg,#F8EFDF,#EAD9BE)}.env,.env:before{position:absolute;inset:0;border-radius:10px}.env:before{content:"";background:linear-gradient(115deg,#F1E3CB 49.6%,transparent 50.4%) 0/51% 100% no-repeat,linear-gradient(245deg,#F1E3CB 49.6%,transparent 50.4%) 100%/51% 100% no-repeat}.flap{position:absolute;left:0;right:0;top:0;height:56%;background:linear-gradient(180deg,#F4E7CF,#E2CCA8);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:10px 10px 0 0;transform-origin:top;transition:transform .9s cubic-bezier(.6,-.28,.4,1.2);z-index:3}.env-wrap.open .flap{transform:rotateX(180deg);z-index:1}.seal{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:4;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F0708C,#C93A57 60%,#9E2540);display:grid;place-items:center;font-size:26px;color:#FFD9E0;box-shadow:0 3px 10px rgba(0,0,0,.35),inset 0 -3px 6px rgba(0,0,0,.25);transition:opacity .5s,transform .5s;touch-action:none;cursor:pointer}.env-wrap.open .seal{opacity:0;transform:scale(1.6) rotate(30deg)}.seal-ring{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:5;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--amber) calc(var(--p,0)*1%),transparent 0);-webkit-mask:radial-gradient(circle,transparent 55%,#000 57%);mask:radial-gradient(circle,transparent 55%,#000 57%);pointer-events:none;transition:opacity .3s}.env-addr{bottom:12%;color:#7A5B3A;font-size:17px;line-height:1.5}.env-addr,.env-note{position:absolute;left:0;right:0;z-index:2;pointer-events:none}.env-note{bottom:2%;color:#B08F63;font-size:11px}.env-wrap:not(.open){animation:floaty 3.4s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}.paper{background:linear-gradient(175deg,#F8F0E0,#EFE2C8);color:var(--ink);width:min(400px,88vw);max-height:62vh;max-height:62dvh;overflow-y:auto;border-radius:14px;padding:26px 24px;text-align:left;transform:rotate(-.6deg);box-shadow:0 16px 40px rgba(0,0,0,.5),inset 0 0 60px rgba(176,143,99,.12);font-size:16.5px;line-height:2}.paper .ps{font-size:12.5px;color:#A5836B;margin-top:14px}#caret{display:inline-block;width:2px;height:1em;background:var(--ink);vertical-align:-2px;animation:blink .8s steps(1) infinite}@keyframes blink{50%{opacity:0}}.fall-heart{position:fixed;z-index:30;border:0;background:none;cursor:pointer;padding:8px;font-size:40px;line-height:1;filter:drop-shadow(0 0 10px rgba(255,92,122,.6));animation:fall linear forwards,sway 2.2s ease-in-out infinite;will-change:transform,top}.fall-heart.gold{filter:drop-shadow(0 0 12px rgba(255,216,115,.9))}@keyframes fall{0%{top:-70px}to{top:105vh}}@keyframes sway{0%,to{transform:translateX(-14px) rotate(-8deg)}50%{transform:translateX(14px) rotate(8deg)}}.reason{position:fixed;left:50%;translate:-50%;z-index:35;background:rgba(11,22,34,.88);border:1px solid rgba(255,180,84,.5);color:var(--ivory);border-radius:999px;padding:9px 18px;font-size:14.5px;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .4s,top .4s;box-shadow:0 6px 20px rgba(0,0,0,.4)}#heartCount{font-size:22px;color:var(--heart)}.scratch-wrap{position:relative;width:min(330px,85vw);border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.5)}.scratch-under{background:linear-gradient(160deg,#F8F0E0,#EDDFC4);color:var(--ink);padding:34px 22px;font-size:17px;line-height:1.9}#scratchCv{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.meter-heart{width:min(200px,52vw);filter:drop-shadow(0 0 26px rgba(255,92,122,.45))}#meterPct{font-size:clamp(34px,9vw,54px);font-family:var(--display);color:var(--heart);min-height:1.4em}#meterPct.glitch{animation:glitch .12s linear infinite}@keyframes glitch{0%{transform:translate(-2px,1px)}25%{transform:translate(2px,-1px)}50%{transform:translate(-1px,-2px)}75%{transform:translate(1px,2px)}to{transform:translate(0)}}#meterBtn{touch-action:none}.crack{animation:crack .5s ease forwards}@keyframes crack{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1.1)}}#qScene.beat #qTitle{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}12%{transform:scale(1.05)}24%{transform:scale(1)}36%{transform:scale(1.04)}}.q-btns{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:center;min-height:70px}#noBtn{background:rgba(244,235,220,.14);color:var(--ivory);box-shadow:none;border:1.5px solid rgba(244,235,220,.35)}#noBtn.dodge{position:fixed;z-index:40;transition:left .18s ease,top .18s ease,font-size .25s,padding .25s,opacity .4s}#noBtn.faint{animation:faint 1.1s ease forwards}@keyframes faint{30%{transform:rotate(8deg)}to{transform:rotate(94deg) translateY(120vh);opacity:0}}#boomLines p{font-size:17px;opacity:0;transform:translateY(12px);transition:opacity .7s,transform .7s;margin:7px 0}#boomLines p.in{opacity:1;transform:none}.card{position:relative;background:linear-gradient(170deg,#F9F1E1,#EFE0C4);color:var(--ink);width:min(340px,86vw);border-radius:6px;padding:26px 22px 20px;text-align:center;box-shadow:0 18px 44px rgba(0,0,0,.55)}.card:after,.card:before{content:"";position:absolute;top:0;bottom:0;width:12px;background:radial-gradient(circle 4px at 50% 10px,var(--night) 98%,transparent) 0 0/12px 24px repeat-y}.card:before{left:-6px}.card:after{right:-6px}.card h3{margin:0;font-weight:700;font-size:27px;color:#B44359}.card .names,.card h3{font-family:var(--display)}.card .names{font-size:clamp(24px,6vw,32px);color:#8A3049;margin:10px 0 2px;line-height:1.6}.card .date{font-size:13.5px;color:#7A5B3A}.card .terms{font-size:12.5px;color:#6B573F;text-align:left;margin:14px 4px 0;line-height:1.9;border-top:1.5px dashed #c9ae85;padding-top:10px}.card .serial{font-size:11px;color:#A5836B;margin-top:10px;letter-spacing:.08em}.stamp{position:absolute;right:10px;top:10px;width:76px;height:76px;border-radius:50%;border:2.5px solid rgba(201,58,87,.75);color:rgba(201,58,87,.85);display:grid;place-items:center;font-size:12.5px;line-height:1.3;transform:rotate(12deg)}#daysLine{color:var(--amber);font-size:15px}.secret-row{display:flex;gap:22px;font-size:22px;margin-top:6px}.secret-row button{background:none;border:0;cursor:pointer;font-size:inherit;padding:6px;opacity:.85;transition:transform .2s}.secret-row button:active{transform:scale(1.3)}.secret-row .wrong{animation:wiggle .4s ease}@keyframes wiggle{25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}.card-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}#pokeHeart{position:fixed;right:14px;bottom:18px;z-index:60;border:0;background:none;font-size:30px;cursor:pointer;filter:drop-shadow(0 0 8px rgba(255,92,122,.6));animation:bob 2.6s ease-in-out infinite;padding:8px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}#musicBtn{left:14px;bottom:18px;z-index:60;font-size:17px;cursor:pointer;background:rgba(244,235,220,.1);border-radius:50%;width:44px;height:44px;border:1px solid rgba(244,235,220,.25)}#musicBtn,.bubble{position:fixed;color:var(--ivory)}.bubble{z-index:70;background:rgba(11,22,34,.92);border:1px solid rgba(232,143,160,.55);border-radius:16px 16px 16px 4px;padding:10px 16px;font-size:14px;max-width:76vw;opacity:0;transition:opacity .4s,transform .4s;transform:translateY(6px);pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.45)}.bubble.show{opacity:1;transform:none}#pokeBubble{right:18px;bottom:80px;border-radius:16px 16px 4px 16px}#idleBubble{top:16px}#idleBubble,#toast{left:50%;translate:-50%}#toast{position:fixed;bottom:84px;z-index:70;background:rgba(255,180,84,.95);color:var(--night);border-radius:999px;padding:10px 20px;font-size:14.5px;opacity:0;transition:opacity .4s;pointer-events:none;max-width:86vw}#toast.show{opacity:1}#interstitial{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:var(--night);opacity:0;pointer-events:none;transition:opacity .5s;font-size:17px;color:var(--blush)}#interstitial.show{opacity:1}#hiddenMsg{display:none;color:var(--amber);font-size:14.5px;max-width:88vw}body.gold #hiddenMsg{display:block}@media (prefers-reduced-motion:reduce){#pokeHeart,#qScene.beat #qTitle,.env-wrap:not(.open){animation:none}.fall-heart{animation:fall linear forwards}}