@font-face{font-family:Myanmar;src:url('assets/myanmar.ttf')}*{box-sizing:border-box}body{margin:0;background:#102f34;color:#f6ecd7;font-family:Myanmar,Arial,sans-serif;background-image:radial-gradient(ellipse at 80% 30%,#31564b66,transparent 55%)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #e5b769;outline-offset:4px}header{max-width:1160px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7bc7e25}.wordmark{background:none;border:0;color:#edc581;font-size:26px;text-align:left;font-weight:bold}.wordmark span{display:block;font:8px Arial;letter-spacing:2px;margin-top:5px}.badge{font:9px Arial;letter-spacing:1.8px;border:1px solid #d8b97e55;border-radius:30px;padding:10px 13px;color:#ddc89f}main{max-width:1120px;padding:0 24px;margin:35px auto}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.hero-copy{padding:20px 0}.eyebrow{font:9px Arial;letter-spacing:2px;color:#d7b780}h1{font-size:35px;line-height:1.9;margin:22px 0 14px;font-weight:650}em{display:block;font-style:normal;color:#eabd79}p{font-size:13px;line-height:2;color:#c5cbbd}.facts{display:flex;gap:0;margin:24px 0}.facts>div{padding:0 22px;border-right:1px solid #e5c48735}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.facts b{display:block;font:26px Georgia;color:#f3d19a}.facts small{font-size:10px;display:block;margin-top:7px}.primary,.secondary{width:100%;border-radius:12px;padding:14px;font-size:13px;max-width:420px;margin-top:10px}.primary{background:#efc681;color:#18383b;border:1px solid #efc681;font-weight:bold;box-shadow:0 5px 18px #0002}.primary:hover{background:#ffdaa0}.secondary{background:transparent;color:inherit;border:1px solid #a9bbac55}.fine{font-size:10px;opacity:.8}.how{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #c7b68733;padding:24px 0;color:#c7bfaa;font-size:11px}.scene-home{border:1px solid #b9ab782b;border-radius:180px 180px 24px 24px;overflow:hidden;box-shadow:0 30px 80px #0003}.scene{position:relative;height:480px;background:radial-gradient(ellipse at 50% 65%,#b18c4240,transparent 65%),linear-gradient(#153e43,#31524b);overflow:hidden}.scene:before{content:'';position:absolute;inset:0;border-left:17px solid #513e31;border-right:17px solid #513e31;pointer-events:none;z-index:2}.scene:after{content:'';position:absolute;bottom:0;height:55px;width:100%;background:repeating-linear-gradient(0deg,#674c37 0 2px,#4f4131 3px 20px)}.moon{width:42px;height:42px;background:#e6d8a0;border-radius:50%;position:absolute;right:70px;top:65px;box-shadow:0 0 60px #f9d79455}.rail{position:absolute;bottom:65px;width:100%;height:90px;border-top:9px solid #796043;border-bottom:9px solid #796043;background:repeating-linear-gradient(90deg,transparent 0 45px,#71573e 46px 52px)}.lantern{position:absolute;width:38px;height:55px;border-radius:12px;background:repeating-linear-gradient(90deg,#daa762 0 6px,#b97f4166 7px 9px);box-shadow:0 0 35px #efb85c66,inset 0 0 15px #ffeab5;z-index:3;top:32px;left:36px;animation:sway 5s ease-in-out infinite alternate;transform-origin:top}.lantern:before{content:'';position:absolute;left:18px;top:-50px;width:1px;height:50px;background:#c3aa75}.lantern:after{content:'';position:absolute;left:17px;bottom:-24px;width:3px;height:24px;background:#cfad6a}.l2{left:auto;right:30px;top:7px;background-color:#b96649;animation-delay:-2s}.l3{left:104px;top:-12px;transform:scale(.65);opacity:.7}.candles{position:absolute;bottom:145px;left:25px;right:25px;display:flex;justify-content:space-between;z-index:3}.candles i{height:20px;width:9px;background:#efdfb8;border-radius:2px}.candles i:before{content:'';display:block;width:7px;height:15px;border-radius:90% 30% 90% 40%;background:#ffe5a3;transform:translateY(-14px);box-shadow:0 0 24px 9px #f8be5b55}.portrait{position:absolute;width:340px;height:366px;left:50%;bottom:15px;transform:translateX(-50%);z-index:4}.grandma{width:100%;height:100%}.speech{position:absolute;z-index:6;top:100px;left:50%;transform:translateX(-50%);background:#fff1d4;color:#594b32;border-radius:20px 20px 20px 2px;padding:10px 15px;font-size:11px;white-space:nowrap;box-shadow:0 6px 20px #0002}.scene-home .portrait{bottom:-5px}.scene-home .speech{top:78px}#hairfield{position:absolute;inset:0}.hair{position:absolute;background:transparent;border:0;width:44px;height:44px;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hair:after{content:'';position:absolute;left:19px;top:6px;width:6px;height:31px;border-radius:90% 10% 80% 10%;background:#fff7db;transform:rotate(var(--angle));box-shadow:1px 1px 1px #0008}.hair.dark:after{background:#172924;box-shadow:0 0 0 1px #6f7d65}.hair.plucked{pointer-events:none;animation:pluck .2s forwards}.paper{max-width:500px;margin:35px auto;background:#f6efdf;color:#27413b;border-radius:24px;padding:30px;box-shadow:0 25px 60px #0003;border-top:4px solid #d0a460}.paper .eyebrow{color:#977341}.paper p{color:#707468}.paper h2{font-size:24px;margin:12px 0}.paper label{display:block;font-size:12px;margin:17px 0 0}.paper input:not([type=checkbox]){display:block;width:100%;border:1px solid #d8d4c4;background:#fffaf0;border-radius:9px;padding:12px;margin-top:6px;color:#29443b;font-size:16px}.paper .notice{font-size:10px;padding:12px;background:#e9e5d6;border-radius:8px;line-height:1.9}.paper .check{display:flex;gap:9px;align-items:center;font-size:11px}.check input{width:18px;height:18px;accent-color:#375847}.text-button{background:none;border:0;color:inherit;padding:15px 0;font-size:11px}.play{max-width:510px;margin:auto;background:#173e40;border:1px solid #dcc07e44;border-radius:22px;overflow:hidden;box-shadow:0 25px 70px #0003}.game-top{display:flex;justify-content:space-between;padding:15px 22px;font:9px Arial;letter-spacing:1px;color:#d4c19b}.game-top button{background:transparent;color:#d4c19b;border:0;font:10px Arial}.stats{display:flex;justify-content:space-between;padding:5px 22px 15px}.stats small{display:block;font-size:10px;color:#bac4ad}.stats strong{font:42px Georgia;color:#f3d69d}.stats span{font:12px Arial;color:#b4c3b4}.timer{text-align:right}.timer.urgent strong{color:#ffad78}.rewardline{display:flex;justify-content:space-between;font-size:10px;margin:0 22px 8px}.track{height:5px;background:#0b292d;margin:0 22px 8px;border-radius:5px;overflow:hidden}.track div{height:100%;width:0;background:#efbf72;transition:width .15s}.play .scene{height:430px}.play .speech{top:24px}.game-bottom{display:flex;justify-content:space-between;padding:14px 22px;font-size:10px;background:#102f34}#countdown{position:absolute;inset:0;background:#102e34aa;display:grid;place-items:center;z-index:10;font:100px Georgia;color:#f5d59a}#feedback{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);z-index:8;color:#fff0bc;font:bold 30px Georgia;text-shadow:0 2px 10px #122}body.playing header,body.playing footer,body.playing .record{display:none}body.playing main{margin:15px auto}.result{text-align:center}.envelope{position:relative;background:#ad6048;width:190px;height:115px;margin:25px auto 35px;border:1px solid #d4a174;border-radius:8px;box-shadow:0 12px 30px #66382325;display:grid;place-items:center}.envelope:before{content:'';position:absolute;left:0;right:0;top:0;height:60px;background:#c67d59;clip-path:polygon(0 0,100% 0,50% 100%)}.envelope span{z-index:1;padding-top:45px;color:#fff1cc;font:24px Georgia}.resultScore{font:60px Georgia;color:#946d3f}.resultScore small{font:15px Arial;color:#858675}.record{border-top:1px solid #d1b97c30;margin:25px auto 0;padding:22px 0;text-align:center}.record p{margin:8px}.record small{font-size:9px;color:#95a99e}footer{max-width:1120px;margin:auto;padding:20px 24px;display:flex;justify-content:space-between;font:8px Arial;letter-spacing:1.4px;color:#9bafa1}#formError{color:#a24a32}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}@keyframes sway{from{rotate:-3deg}to{rotate:3deg}}@keyframes pluck{to{opacity:0;translate:0 -25px}}@media(max-width:720px){header{padding:16px 20px}main{padding:0 16px;margin:20px auto}.welcome{grid-template-columns:1fr;gap:16px}.hero-copy{text-align:center;padding:0}h1{font-size:27px;margin:15px 0;line-height:1.8}.hero-copy>p{font-size:12px}.facts{justify-content:center;margin:18px 0}.facts b{font-size:22px}.facts small{font-size:9px}.scene-home{grid-row:2;border-radius:100px 100px 20px 20px;max-width:420px;width:100%;margin:auto}.scene-home .scene{height:360px}.scene-home .portrait{width:280px;height:301px}.scene-home .speech{top:40px;font-size:10px}.how{gap:8px;padding:16px 0;font-size:9px}.paper{padding:23px;margin:22px auto}.play .scene{height:400px}.play .speech{top:15px;font-size:10px}.play .portrait{bottom:0}.stats strong{font-size:35px}body.playing main{margin:0;padding:0}.play{border-radius:0;min-height:100svh;display:flex;flex-direction:column}.play #scenePlay{flex:1;display:flex}.play #scenePlay .scene{flex:1;min-height:390px}footer{flex-direction:column;gap:9px}.eyebrow{font-size:8px}.primary,.secondary{min-height:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Eushido & Insin original royal blue, complemented by festive gold. */
body{background-color:#111e49;background-image:radial-gradient(ellipse at 80% 25%,#344fa066,transparent 60%)}header{border-bottom-color:#d9bd803d}.wordmark{display:flex;align-items:center;gap:16px;padding:0}.wordmark img{width:86px;height:76px;object-fit:contain;background:#fff8e9;padding:7px;border-radius:10px}.wordmark span{font:10px Myanmar,Arial;letter-spacing:1.5px;line-height:2;color:#eed5a7}.play{background:#1b2d65}.game-bottom{background:#15234e}.scene{background:radial-gradient(ellipse at 50% 65%,#e1b35b40,transparent 65%),linear-gradient(#182757,#34477b)}.scene:before{border-color:#574439}.primary{color:#1e3276}.paper{color:#233a8c}.paper input:not([type=checkbox]){color:#233a8c}.track{background:#102044}.result-logo{display:block;width:94px;height:82px;object-fit:contain;margin:0 auto 18px}.festival-garland{position:absolute;top:0;left:0;right:0;height:50px;border-top:2px solid #c8ad6d88;display:flex;justify-content:space-around;z-index:2;pointer-events:none}.festival-garland i{width:22px;height:30px;background:linear-gradient(135deg,#f5cc80,#cb8c4f);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);margin-top:4px;opacity:.8}.festival-garland i:nth-child(even){background:#cc785d;margin-top:14px}.festival-stars{position:absolute;top:83px;left:24px;color:#eaca8c;font:14px Georgia;letter-spacing:15px;opacity:.55;pointer-events:none}.play .festival-stars{top:70px}.play .festival-garland{opacity:.4}#countdown{background:#142450aa}footer{color:#b1b8d2}@media(max-width:720px){.wordmark img{width:66px;height:58px}.wordmark span{font-size:8px;letter-spacing:1px}.wordmark{gap:10px}.badge{font-size:8px;padding:8px}.festival-stars{font-size:11px;letter-spacing:9px}}

.capacity-note{font-size:11px;color:#efd5a5;margin:16px 0 0}
/* Approved seated-grandma art and warm domestic festival direction. */
body{background:#122739;background-image:radial-gradient(ellipse at 85% 15%,#94633135,transparent 60%)}
main{max-width:1200px}.welcome{grid-template-columns:.9fr 1.1fr;gap:40px}.hero-copy h1{font-size:39px}.hero-visual{position:relative;border-radius:26px;overflow:hidden;border:1px solid #e6bd7255;box-shadow:0 25px 80px #0005}.hero-visual img{display:block;width:100%;height:auto}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 17px;background:linear-gradient(transparent,#251a15d9);color:#fff2d8;text-align:center;font-size:12px}.prize{display:flex;align-items:center;gap:20px;margin:20px 0;color:#efd0a0}.prize>span{font-size:12px}.prize strong{font:34px Georgia}.prize small{font:12px Arial}.rules-list{padding-left:20px;font-size:13px;line-height:2.1}.rules-list li{margin:12px 0}.result-photo{display:block;width:190px;height:190px;border-radius:50%;object-fit:cover;margin:0 auto 24px}.resultScore{font-family:Myanmar,Arial;font-size:38px}.play{background:#192e3c;max-width:510px}.game-bottom{background:#122837}.game-scene{position:relative;width:100%;aspect-ratio:1/1.13;background-image:url('assets/grandma-home.png');background-size:175% auto;background-position:48% 0;background-repeat:no-repeat;overflow:hidden;background-color:#745338}.game-scene .speech{top:auto;bottom:13%;font-size:12px;max-width:95%}.game-scene #hairfield{inset:0}.game-scene .hair{transform:translate(-50%,-50%);width:40px;height:40px;z-index:5}.game-scene .hair:after{left:17px;top:4px;width:5px;height:32px;background:#fff;box-shadow:0 0 2px 1px #483421}.game-scene .hair.dark:after{background:#181717;box-shadow:0 0 1px 1px #bd9e7b}.game-scene #feedback{bottom:25%;font-size:23px;white-space:nowrap}.track{background:#0f202e}.track div{transition:width .1s linear}.paper .secondary{border-color:#52687980}.fine{max-width:420px}.primary{background:#f1c87c;color:#1e3346}.stats strong{color:#ffdc9b}footer{gap:20px;line-height:2}
@media(max-width:720px){.welcome{grid-template-columns:1fr;gap:23px}.hero-visual{grid-row:1;max-width:460px;margin:auto}.hero-copy h1{font-size:29px;line-height:1.8}.hero-copy{padding-bottom:0}.prize{justify-content:center}.fine{margin-left:auto;margin-right:auto}.how{flex-wrap:wrap;justify-content:center;gap:17px}.game-scene{flex:none;aspect-ratio:1/1.13}.play{min-height:100svh;justify-content:center}.game-scene .hair{width:36px;height:40px}.game-scene .hair:after{left:15px}.game-top{padding-top:18px}.stats{padding-top:8px}header{padding:14px 16px}.hero-visual .photo-caption{font-size:11px}.result-photo{width:160px;height:160px}.play .speech{font-size:11px;top:auto}.game-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
