*{box-sizing:border-box}body{margin:0;background:#070b25;color:#f5f5ff;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{min-height:100vh;background:radial-gradient(ellipse at 12% 12%,#563ca1 0,transparent 34%),radial-gradient(ellipse at 90% 31%,#2644a9 0,transparent 35%),linear-gradient(145deg,#080e32,#220f54 47%,#0b1948);padding:15px 10px 92px;position:relative;overflow:hidden}.stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(white 1px,transparent 2px),radial-gradient(#92deff 1px,transparent 2px);background-size:49px 57px,83px 94px;background-position:0 0,32px 21px;opacity:.28;animation:drift 25s linear infinite}@keyframes drift{to{transform:translateY(110px)}}.phone{position:relative;margin:auto;max-width:455px;min-height:750px;background:linear-gradient(180deg,#111a54d9,#22145bd9);padding:16px 18px 30px;border:1px solid #7571ef;border-radius:29px;box-shadow:0 0 50px #537bff42,inset 0 0 34px #8163f322;overflow:hidden}.phone:before{content:"";position:absolute;pointer-events:none;inset:0;border-radius:29px;background:radial-gradient(ellipse at top,#3836b047,transparent 45%)}header,.phone>section,.phone>button,.phone>h1,.phone>p,.phone>.mascot,.phone>.twins,.phone>.rule,.phone>.arena,.phone>.countdown,.phone>.recipient{position:relative}.top{display:flex;align-items:center;justify-content:space-between;color:#aabefb;font-size:10px;letter-spacing:1.8px}.top button{border:1px solid #6f7af5;background:#25266c9c;color:#fff;border-radius:50%;height:31px;width:31px;font-size:22px}.brand{text-align:center;margin:4px auto 0;font:900 37px Georgia,serif;letter-spacing:1px;text-shadow:0 0 7px #fff,0 0 19px #74bfff,0 0 27px #3c89ff}.brand i{font-style:normal;color:#39d7ff}.headline{text-align:center;font:700 italic 31px Georgia,serif;text-shadow:0 0 12px #54bfff}.tag{margin:7px auto 16px;width:max-content;max-width:100%;font-size:11px;letter-spacing:1px;color:#e1d1ff;border-radius:35px;border:1px solid #b27cfe;box-shadow:0 0 12px #9c4fff;padding:5px 13px}.mascot{display:block;width:175px;height:155px;margin:5px auto 4px;object-fit:cover;object-position:center 32%;border-radius:48% 48% 34% 34%;border:2px solid #a8b3ff;box-shadow:0 0 19px #b873ff77}.mascot.bunny{object-position:center 24%;border-color:#8171ff}.twins{display:flex;gap:10px;justify-content:center;margin:10px 0}.twins .mascot{width:44%;max-width:171px;height:148px;margin:0}.twins.small .mascot{height:95px;width:32%}.glass,.rule{background:linear-gradient(145deg,#27205fdf,#282478ed);border:1px solid #ada3ff;border-radius:24px;box-shadow:0 0 18px #768bff69,inset 0 0 21px #8251df25;padding:21px 17px;margin:13px 0}.glass h1,h1{font:700 27px/1.15 Georgia,serif;text-align:center;text-shadow:0 0 12px #70bfff;margin:12px 0 18px}.glass h1{font-size:25px}.glass h2,h2{text-align:center;font-size:20px;margin:13px 0}.glass p,.rule p{font-size:14px;line-height:1.52;color:#e7e6ff}.glass>p,.center{text-align:center;line-height:1.55}.glass>p b{color:#fff}.glass label{display:block;font-weight:700;margin:17px 0 7px;font-size:14px}.glass input,.glass textarea,.inputrow input{width:100%;background:#51479582;border:1px solid #b6a6ff;outline:0;color:#fff;padding:14px;border-radius:16px;box-shadow:inset 0 0 15px #9a79ff27}.glass input:focus,.glass textarea:focus{border-color:#7fedff;box-shadow:0 0 11px #4edcff7e}.glass input::placeholder,.glass textarea::placeholder{color:#d0c9ec}.glass textarea{resize:vertical}.action{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;width:100%;border-radius:22px;border:2px solid #8aeeff;box-shadow:0 0 17px #43cafa98,inset 0 0 10px #ffffff47;background:linear-gradient(105deg,#01c7ef,#3f52db 51%,#b53dec);padding:16px 12px;color:#fff;font-weight:800;font-size:17px;text-shadow:0 1px 2px #222;margin:14px 0}.action.alt{background:#292c77bf;border:1px solid #8a8af7;box-shadow:0 0 10px #544df877}.rule{display:flex;align-items:center;gap:14px;padding:15px;margin:11px 0}.rule>span{font-size:39px;flex:0 0 55px}.rule b{font-size:16px}.rule p{margin:6px 0 0}.highlight{border-radius:18px;background:#492a9c;border:1px solid #c5a0ff;box-shadow:0 0 13px #bc7aff66;text-align:center;padding:12px;font-weight:800;color:#ffdf8b}.hint{font-size:12px!important;color:#c9c5e9!important}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:18px 0}.countdown>div{background:#302c91;border:1px solid #8fcfff;border-radius:13px;text-align:center;padding:10px 2px;box-shadow:0 0 12px #39bbfa64}.countdown strong{display:block;font-size:25px}.countdown small{display:block;font-size:10px}.stats{display:flex;gap:8px;justify-content:space-between;margin:15px 0}.stats span{flex:1;text-align:center;border:1px solid #ac9bff;border-radius:14px;padding:12px 4px;font-weight:700;font-size:13px;background:#48358966}.recipient{text-align:center;font-size:76px}.subcard{background:#43368b9b;border:1px solid #968cff;border-radius:16px;padding:13px;margin:13px 0}.subcard a{color:#a6eaff}.subcard p{margin-bottom:6px}.messages{display:flex;flex-direction:column;gap:12px;margin:22px 0}.bubble{display:flex;flex-direction:column;gap:6px;max-width:90%;padding:12px;border:1px solid #b28fff;border-radius:18px;box-shadow:0 0 12px #aa5cff44;background:#59428b}.bubble.me{align-self:flex-end;background:#1763a7;border-color:#60cfff}.bubble b{font-size:12px}.bubble span{font-size:14px}.inputrow{display:flex;gap:8px}.inputrow button{background:#1aaae7;color:#fff;border:0;border-radius:14px;padding:0 18px}.member{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid #636ab3}.member small{margin-left:auto;color:#d4e7ff}.mini{margin:5px;background:#4941a3;color:#fff;border:1px solid #85ccff;border-radius:12px;padding:9px}.arena{height:335px;border-radius:24px;border:2px solid #83acff;background:radial-gradient(ellipse at center,#3b439e,#120f38 77%);overflow:hidden;box-shadow:0 0 25px #8a58ee80}.arena-title{position:absolute;top:12px;text-align:center;width:100%;font-weight:800;font-size:14px}.ship{position:absolute;display:flex;align-items:center;gap:0;transition:left .1s linear,top .1s linear,transform .6s,opacity .5s;font-size:15px}.ship b{font-size:25px;background:#302c77;border:2px solid #89d9ff;border-radius:50%;height:42px;width:42px;display:grid;place-items:center;box-shadow:0 0 11px #89e5ff}.ship.gone{opacity:0}.snowball{position:absolute;top:42%;left:28%;font-size:21px;animation:drift 2s linear infinite}.beam{position:absolute;top:59%;left:26%;font-size:21px;color:#71eaff;text-shadow:0 0 15px white}.progress{position:absolute;bottom:10px;text-align:center;width:100%;font-size:12px;color:#d3d4ff}footer{font-size:10px;text-align:center;color:#b7afdc;margin:30px 0 0}.devnav{position:fixed;bottom:0;left:0;right:0;background:#070c26f5;border-top:1px solid #7c75c7;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;color:#dae0ff;font-size:12px;z-index:5}.devnav select{background:#262b69;color:#fff;border:1px solid #8e8bf0;border-radius:10px;padding:8px;max-width:165px}.devnav button{background:#2d3276;color:#fff;border:1px solid #9ca4ed;border-radius:9px;padding:8px}@media(max-width:500px){.app{padding:0 0 70px}.phone{border-radius:0;border:0;padding:12px 15px 35px;min-height:100vh}.glass{padding:17px 14px}.brand{font-size:34px}}.app{padding-bottom:30px}.phone{max-width:500px}.winter-brand{height:125px;max-width:390px;margin:0 auto;background:url(/assets/winter_logo.png) center 8%/100% auto no-repeat;border-radius:18px;-webkit-mask-image:linear-gradient(transparent,#000 10%,#000 85%,transparent);mask-image:linear-gradient(transparent,#000 10%,#000 85%,transparent)}.headline{font-size:34px}.character{position:relative;width:190px;height:180px;margin:15px auto;animation:float 6s ease-in-out infinite}.character>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:45% 45% 30% 30%;border:1px solid #a4b4ff;box-shadow:0 0 26px #7b64d788}.character.frog>img:first-child{object-position:50% 35%}.character.bunny>img:first-child{object-position:50% 30%}.character.small{height:110px;width:125px}.twins .character{width:46%;height:170px;margin:8px 0}.twins .character.small{height:105px;width:33%}.speech{font-style:italic;text-align:center;color:#d4bdff;text-shadow:0 0 10px #a054ff}.demo{position:relative;text-align:center;background:#ffd978;color:#27214b;font-weight:800;font-size:11px;border-radius:9px;padding:8px;margin-bottom:12px}.error,.notice{position:relative;padding:15px;border-radius:14px;margin:12px 0;border:1px solid #91d9ff;background:#173c62}.error{border-color:#ff9bba;background:#662b4e}.error button{margin-bottom:0}form,footer{position:relative}.consent{position:relative;display:flex;align-items:flex-start;gap:10px;font-size:14px;padding:10px;line-height:1.6}.consent input{width:24px;height:24px;flex-shrink:0}button:disabled{cursor:wait;opacity:.55}.text-button{background:none;border:0;text-decoration:underline;color:#c5d8ff}.draw-wrap{position:relative}.draw-wrap canvas{width:100%;height:360px;border:1px solid #99cfff;border-radius:24px;box-shadow:0 0 25px #615cf6}a{color:#a8e9ff;overflow-wrap:anywhere}h3{font-size:17px;margin:4px 0 12px}.wish-text{white-space:pre-wrap;overflow-wrap:anywhere}.member{align-items:flex-start}.member>div{min-width:0;overflow-wrap:anywhere}.member p{margin:6px 0;font-size:12px}.member button{margin-left:auto}.job{border-bottom:1px solid #8b7bb8;padding-bottom:10px;font-size:12px!important}input:disabled,textarea:disabled{opacity:.8}.glass input[type=datetime-local]{color-scheme:dark}.glass small{color:#bfc1ed}.glass:before{content:"";position:absolute;pointer-events:none;left:8%;right:8%;top:-2px;height:3px;background:linear-gradient(90deg,transparent,#d6fcff,white,#d6fcff,transparent);box-shadow:0 0 12px #7ff}.glass{position:relative}.action{min-height:52px}button:focus-visible,a:focus-visible{outline:3px solid #ffe692;outline-offset:4px}footer{font-size:12px}footer button{min-height:40px}footer p{margin:10px 0}body{overflow-wrap:break-word}.phone{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(30px + env(safe-area-inset-bottom))}@keyframes float{50%{transform:translateY(-5px)}}@media(max-width:360px){.phone{padding-left:11px;padding-right:11px}.glass h1{font-size:23px}.twins .character{height:140px}.winter-brand{height:105px}.rule{gap:8px}.rule>span{flex-basis:40px;font-size:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}.official-logo{display:block;width:95px;margin:15px auto;border-radius:10px;opacity:.85}.recipient-photo{display:block;width:110px;height:110px;object-fit:cover;border-radius:50%;margin:10px auto;border:2px solid #a3edff;box-shadow:0 0 20px #69cfff77}.character{width:270px;max-width:85%;height:260px;margin:12px auto}.character>img:first-child,.character.bunny>img:first-child,.character.frog>img:first-child{width:100%;height:100%;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 13px #9076e966)}.character.small{width:145px;height:145px}.twins{gap:0;align-items:center}.twins .character{width:49%;max-width:none;height:220px;margin:0}.twins .character.small{width:37%;height:140px}.preview-panel{position:relative}.preview-badge{padding:11px;background:#ffe391;color:#252145;border-radius:12px;text-align:center;font-size:12px;font-weight:850;letter-spacing:.5px}.preview-guide{display:block;width:145px;height:155px;object-fit:contain;margin:12px auto;filter:drop-shadow(0 0 12px #998aff66)}.preview-roster{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.preview-roster article{display:flex;gap:9px;align-items:center;min-height:70px;padding:12px 9px;border:1px solid #9c8ee1;border-radius:16px;background:#30276c}.preview-roster span{font-size:30px;flex-shrink:0}.preview-roster b{font-size:13px;line-height:1.35}.preview-panel .hint{line-height:1.6}.preview-panel .glass h1{font-size:25px}@media(max-width:360px){.twins .character{height:180px}.preview-roster article{padding:10px 7px;gap:6px}.preview-roster b{font-size:12px}.preview-roster span{font-size:26px}}
