.hyperdrive{position:relative;margin:18px 0}.hyper-hud{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 4px;font-size:10px;letter-spacing:.8px;color:#b3ddec}.hyper-version{color:#b4fbff;font-weight:800}.hyper-arena{position:relative;overflow:hidden;border-radius:25px;border:1px solid #76cad8;box-shadow:0 0 28px #4e8aba44,inset 0 0 30px #6277ff22;background:#070b23}.draw-wrap.hyperdrive canvas{display:block;width:100%;height:430px;border:0;border-radius:0;box-shadow:none}.hyper-caption{position:absolute;left:12px;right:12px;top:16px;display:flex;flex-direction:column;gap:7px;text-align:center;pointer-events:none;text-shadow:0 2px 12px #000}.hyper-caption strong{font-size:13px;line-height:1.4;letter-spacing:1.7px;color:#d9fdff}.hyper-caption span{font-size:11px;line-height:1.5;color:#b9c8e9}.hyper-reticle{position:absolute;inset:9px;border:1px solid #89dafa18;border-radius:18px;pointer-events:none}.hyper-reticle:before,.hyper-reticle:after{content:"";position:absolute;width:18px;height:18px;border-color:#9ceefa88;border-style:solid}.hyper-reticle:before{left:-1px;top:-1px;border-width:2px 0 0 2px;border-top-left-radius:12px}.hyper-reticle:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0;border-bottom-right-radius:12px}.hyper-progress{display:block;appearance:none;-webkit-appearance:none;border:0;background:#182541;width:calc(100% - 28px);height:3px;border-radius:9px;overflow:hidden;margin:12px auto 8px;color:#97f4ff}.hyper-progress::-webkit-progress-bar{background:#182541}.hyper-progress::-webkit-progress-value{background:linear-gradient(90deg,#9479ff,#8df9ff)}.hyper-progress::-moz-progress-bar{background:#8df9ff}@media(max-width:360px){.draw-wrap.hyperdrive canvas{height:390px}.hyper-caption strong{font-size:11px;letter-spacing:1px}.hyper-hud{font-size:9px;letter-spacing:.2px}}@media(prefers-reduced-motion:reduce){.hyper-arena{box-shadow:0 0 12px #4e8aba33}}.rehearsal-overlay{position:fixed;inset:0;z-index:100;overflow-y:auto;background:#141440;color:#fff;padding:24px 14px;overscroll-behavior:contain}.rehearsal-content{max-width:500px;margin:auto;padding-bottom:32px}.rehearsal-content h1{text-align:center}.rehearsal-content .preview-badge{text-align:center;color:#241956;font-weight:700;letter-spacing:.08em}.avatar-pair{display:flex;align-items:center;justify-content:center;gap:12px}.avatar-pair .recipient-photo{width:88px;height:88px;object-fit:cover;border-radius:50%;margin:8px 0}.avatar-pair span{font-size:32px;color:#92efff;text-shadow:0 0 14px #64caff}*{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}.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}.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}}.top{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:10px}.top>span{text-align:center;line-height:1.4}.top button{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:50%;line-height:1;letter-spacing:0;appearance:none;-webkit-appearance:none;overflow:hidden;flex-shrink:0}.top button svg{display:block;width:22px;height:22px;flex:none;overflow:visible}.top button:disabled{cursor:default}.winter-brand{display:block;width:100%;max-width:430px;height:auto;aspect-ratio:3/1;margin:5px auto 2px;padding:0;background:none;border:0;border-radius:0;mask-image:none;-webkit-mask-image:none;object-fit:contain;overflow:visible}@media(max-width:360px){.top{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}.top button{width:36px;height:36px;min-width:36px;min-height:36px}.top>span{font-size:9px;letter-spacing:1.5px}.top button svg{width:20px;height:20px}}
