:root{--ink: #f6f2ea;--dim: rgba(246, 242, 234, .7);--glass: rgba(12, 16, 30, .55);--line: rgba(255, 255, 255, .14);--gold: #ffd27a;--sky: #7fd3ff;--rose: #ff7aa8;--font: "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0b1020;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;touch-action:none}#app{position:fixed;top:0;right:0;bottom:0;left:0}#app canvas{display:block}button{font-family:inherit}.hidden{display:none!important}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center}#gate{background:radial-gradient(ellipse at 50% 120%,#ff9a6b,#c45a7a 30%,#3a2a6a 62%,#0b1020);overflow:hidden}.gate-card{text-align:center;padding:0 16px;max-width:460px;z-index:2}.gate-logo{font-size:clamp(28px,7vw,46px);line-height:1.15;font-weight:400;letter-spacing:-.02em;text-shadow:0 4px 30px rgba(0,0,0,.35)}.gate-logo b{font-weight:900;background:linear-gradient(90deg,#ffe6a3,#ff9ccc,#8fd6ff);-webkit-background-clip:text;background-clip:text;color:transparent}.gate-msg{color:var(--dim);margin-top:18px}.gate-queue{margin-top:18px;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.q-num{font-size:56px;font-weight:900;color:var(--gold)}.q-num small{font-size:18px;margin-left:4px;color:var(--dim)}.q-eta{color:var(--dim);font-size:14px}.q-bar{height:4px;background:#ffffff1f;border-radius:4px;overflow:hidden;margin-top:10px}.q-bar i{display:block;height:100%;width:30%;background:var(--gold);animation:qbar 1.6s ease-in-out infinite}@keyframes qbar{0%{transform:translate(-100%)}to{transform:translate(340%)}}.gate-track{position:absolute;left:0;right:0;bottom:6vh;height:160px;opacity:.5}.gate-track svg{width:100%;height:100%}.gate-track path{fill:none;stroke:#ffe6a3;stroke-width:3;stroke-dasharray:8 6}.gate-cart{position:absolute;width:18px;height:12px;background:#ffe6a3;border-radius:3px;offset-path:path("M0,170 C150,170 200,30 320,30 C440,30 460,180 600,180 C760,180 760,60 860,60 C960,60 1000,150 1200,140");animation:cart 4s linear infinite}@keyframes cart{0%{offset-distance:0%}to{offset-distance:100%}}#loading{background:#0b1020}.load-box{width:min(360px,80vw);text-align:center}.load-title{font-weight:700;margin-bottom:14px;letter-spacing:.1em}.load-bar{height:6px;background:#ffffff1a;border-radius:6px;overflow:hidden}.load-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--rose));transition:width .3s}.load-step{margin-top:10px;color:var(--dim);font-size:13px}#park-ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}#park-ui>*{pointer-events:auto}.top{position:absolute;top:max(14px,env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.brand{font-size:18px;text-shadow:0 2px 12px rgba(0,0,0,.5)}.brand b{font-weight:900}.live{pointer-events:auto;display:flex;align-items:center;gap:8px;background:var(--glass);border:1px solid var(--line);padding:7px 12px;border-radius:999px;font-size:13px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dot{width:8px;height:8px;border-radius:50%;background:#6cf09a;box-shadow:0 0 8px #6cf09a;animation:blink 2s infinite}@keyframes blink{50%{opacity:.35}}.ride-cards{position:absolute;left:50%;transform:translate(-50%);bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:10px;width:min(560px,calc(100vw - 32px))}.ride-card{flex:1;text-align:left;border:1px solid var(--line);border-radius:16px;padding:9px 14px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:3px;transition:transform .15s,box-shadow .15s}.ride-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #00000059}.ride-card.sky{background:linear-gradient(135deg,#78461ebf,#281e3ca6)}.ride-card.abyss{background:linear-gradient(135deg,#146e96bf,#0a1e46b3)}.rc-kicker{font-size:11px;color:var(--dim);letter-spacing:.04em}.rc-name{font-size:18px;font-weight:900}.rc-stat{font-size:12px;color:var(--gold)}.corner{position:absolute;top:58px;right:16px;display:flex;flex-direction:column;gap:8px}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--ink);font-size:18px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hint{position:absolute;top:52px;left:16px;font-size:12px;color:var(--dim);text-shadow:0 1px 6px rgba(0,0,0,.6)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#0508128c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px}.modal-card{width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;background:linear-gradient(160deg,#1e2440f5,#0e1222f5);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 30px 80px #00000080}.modal-card.small{width:min(360px,100%)}.kicker{font-size:12px;color:var(--gold);letter-spacing:.08em}.modal-card h2{margin:4px 0 6px;font-size:28px;font-weight:900}.tag{color:var(--dim);margin:0 0 12px}.modal-card ul{padding-left:18px;margin:0 0 14px;line-height:1.7;font-size:14px}.warn{font-size:12px;color:#ffcf9a;background:#ff8c3c1a;border:1px solid rgba(255,160,90,.25);border-radius:12px;padding:10px 12px;line-height:1.6}.row{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.row.wrap{flex-wrap:wrap}.btn{border:1px solid var(--line);background:#ffffff0f;color:var(--ink);padding:11px 18px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer}.btn.primary{background:linear-gradient(135deg,#ffcf6b,#ff7aa8);color:#2a1020;border:none}.opt{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;font-size:14px}.opt select{background:#1a2140;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px}.small-note{font-size:12px;color:var(--dim)}#ride-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}#ride-ui button{pointer-events:auto}.zone-title{position:absolute;top:18%;left:0;right:0;text-align:center;opacity:0;transition:opacity .6s;text-shadow:0 2px 20px rgba(0,0,0,.7);padding:0 16px}.zone-title.show{opacity:1}.zone-title b{display:block;font-size:clamp(26px,6vw,52px);font-weight:900;letter-spacing:-.02em}.zone-title span{display:block;margin-top:6px;font-size:clamp(13px,2.6vw,18px);color:var(--dim)}.gauges{position:absolute;left:16px;bottom:max(26px,env(safe-area-inset-bottom));text-shadow:0 2px 10px rgba(0,0,0,.7)}.g-speed b{font-size:clamp(40px,9vw,72px);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.g-speed small{margin-left:6px;color:var(--dim)}.g-row{display:flex;gap:22px}.g-row small{display:block;font-size:11px;color:var(--dim)}.g-row b{font-size:20px;font-variant-numeric:tabular-nums}.g-row b.hot{color:#ff6b6b}.year{position:absolute;top:16px;left:50%;transform:translate(-50%);font-size:clamp(30px,7vw,64px);font-weight:900;font-variant-numeric:tabular-nums;color:#fff4d0;text-shadow:0 0 24px rgba(255,200,120,.8);letter-spacing:.02em}.progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff14}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--rose))}.ride-btns{position:absolute;top:max(14px,env(safe-area-inset-top));right:16px;display:flex;gap:8px}.ride-hint{position:absolute;right:16px;bottom:16px;font-size:12px;color:var(--dim)}.crack{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.result .photo{position:relative;border-radius:14px;overflow:hidden;margin:10px 0;border:3px solid #fff;transform:rotate(-1deg);box-shadow:0 10px 30px #0006}.result .photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}#polaroid .photo{border:0;background:transparent;box-shadow:none;display:flex;justify-content:center}#polaroid .photo img{width:auto;max-width:100%;max-height:60vh;aspect-ratio:auto;object-fit:contain;background:transparent;box-shadow:0 10px 30px #0006}.photo-tag{position:absolute;left:10px;bottom:8px;font-size:11px;font-weight:900;letter-spacing:.15em;background:#0000008c;padding:3px 8px;border-radius:6px}.res-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.res-stats div{background:#ffffff0d;border:1px solid var(--line);border-radius:12px;padding:10px}.res-stats small{display:block;color:var(--dim);font-size:11px}.res-stats b{font-size:20px}.toast{position:fixed;left:50%;bottom:max(250px,36vh);transform:translate(-50%) translateY(20px);background:var(--glass);border:1px solid var(--line);padding:10px 16px;border-radius:12px;opacity:0;transition:all .3s;z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:14px;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.asset-panel{position:fixed;top:10px;left:10px;z-index:80;background:#0a0c14f0;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12px;max-height:80vh;overflow:auto;width:min(520px,calc(100vw - 20px))}.asset-panel table{width:100%;border-collapse:collapse}.asset-panel td{padding:3px 6px;border-bottom:1px solid rgba(255,255,255,.06)}.asset-panel .ok{color:#6cf09a}.asset-panel .no{color:#ffce4a}.entry{background:radial-gradient(ellipse at 50% 120%,#ff9a6b8c,#3a2a6a8c 60%,#0b1020b3)}.ticket{border:2px dashed rgba(255,214,122,.45)}.field{display:block;margin:14px 0 6px;font-size:13px;color:var(--dim)}.field>span:first-child{display:block;margin-bottom:6px}.name-row{display:flex;gap:8px}.name-row input{flex:1;min-width:0;background:#ffffff14;border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:11px 12px;font-size:16px;font-family:inherit;font-weight:700;user-select:text;-webkit-user-select:text}.name-row .btn{padding:10px 12px;font-size:14px;white-space:nowrap}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatches button{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer}.swatches button.on{border-color:#fff;box-shadow:0 0 0 3px #ffd67ab3}.btn.big{width:100%;padding:14px;font-size:17px}.fine{font-size:11px;color:var(--dim);text-align:center;margin:10px 0 0}#chute-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12;pointer-events:none}.chute-msg{position:absolute;top:max(18px,env(safe-area-inset-top));left:0;right:0;text-align:center;text-shadow:0 2px 14px rgba(0,0,0,.6)}.chute-msg b{display:block;font-size:clamp(20px,4.5vw,30px);font-weight:900}.chute-msg span{font-size:13px;color:var(--dim)}#chute-skip{position:absolute;right:16px;bottom:max(22px,env(safe-area-inset-bottom));pointer-events:auto;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.me{position:absolute;top:46px;left:16px;font-size:13px;font-weight:700;color:var(--gold);text-shadow:0 1px 8px rgba(0,0,0,.6);pointer-events:none}#park-ui .hint{top:68px}.use-btn{position:absolute;left:50%;transform:translate(-50%);bottom:max(108px,calc(env(safe-area-inset-bottom) + 100px));display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:none;background:linear-gradient(135deg,#ffcf6b,#ff7aa8);color:#2a1020;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 10px 30px #00000059;animation:pop .25s ease-out}.use-btn .key{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#2a1020d9;color:#ffe6a3;font-size:13px}@keyframes pop{0%{transform:translate(-50%) scale(.8);opacity:0}}.joy{position:absolute;left:22px;bottom:max(130px,calc(env(safe-area-inset-bottom) + 120px));width:112px;height:112px;border-radius:50%;background:#ffffff1a;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:none;touch-action:none}.joy i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#ffffff8c}@media (pointer: coarse){.joy{display:block}.use-btn .key,#park-ui .hint{display:none}}#park-ui.overview .joy,#park-ui.overview .use-btn{display:none}.selfie-opt{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#ffffff0d;border:1px solid var(--line);cursor:pointer}.selfie-opt input{margin-top:3px;width:18px;height:18px;accent-color:#ff7aa8;flex:none}.selfie-opt b{display:block;font-size:14px}.selfie-opt small{display:block;font-size:11px;color:var(--dim);margin-top:2px;line-height:1.5}.selfie-dot{position:absolute;top:max(66px,calc(env(safe-area-inset-top) + 56px));right:16px;display:flex;align-items:center;gap:6px;font-size:11px;background:var(--glass);border:1px solid var(--line);padding:5px 10px;border-radius:999px}.selfie-dot i{width:8px;height:8px;border-radius:50%;background:#ff3b5c;animation:blink 1.4s infinite}.selfie-dot.snap{background:#ffffffe6;color:#2a1020}.support-ic{color:#ff7aa8}.support-card{width:min(440px,100%)}.support-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 10px}.support-choice{padding:14px 10px;border-radius:16px;border:2px solid transparent;font:inherit;font-size:15px;font-weight:800;cursor:pointer}.support-choice.support-toss{background:#0064ff;color:#fff}.support-choice.support-kakaopay{background:#ffeb00;color:#191919}.support-choice[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 3px #ffcf6bcc}.support-detail{display:grid;gap:10px;margin:0 0 12px;padding:14px;border-radius:18px;background:#ffffff12}.support-detail .fine{margin:0;text-align:center}.support-btn{display:grid;gap:2px;padding:14px 16px;border-radius:16px;text-decoration:none;color:#fff;text-align:center}.support-btn span{font-size:12px;opacity:.85}.support-btn.is-off{opacity:.5;cursor:not-allowed;-webkit-user-select:none;user-select:none}.support-toss{background:#0064ff;color:#fff}.support-kakaopay{background:#ffeb00;color:#191919}.support-qr,.support-qr-img{display:block;width:min(170px,50vw);height:auto;margin:0 auto;border-radius:14px;background:#fff;padding:6px}.support-empty{text-align:center;line-height:1.6;padding:14px;border-radius:14px;background:#ffffff14;font-size:14px}.support-foot{justify-content:space-between;align-items:center}.guestbook-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid #e3cb9f;background:#fff4dc;color:#b03a6a;font:inherit;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 2px 6px #0000004d}.guestbook-btn:hover{background:#fffaf0}.cheer-write{margin:4px 0 14px;scroll-margin:16px;padding:12px;border-radius:16px;background:#ff7aa81f;border:1px solid rgba(255,122,168,.35)}.cheer-steps{margin:0 0 8px;font-size:12.5px;line-height:1.6;color:var(--dim)}.cheer-steps b{color:#ffb3d1;font-size:14px}.cheer-form{display:grid;grid-template-columns:6.5em 1fr auto;gap:6px}.cheer-form input{padding:9px 10px;min-width:0;border-radius:10px;border:1px solid var(--line);background:#ffffff14;color:var(--ink);font:inherit;font-size:14px}.cheer-form button{padding:8px 14px;border-radius:999px;border:0;background:linear-gradient(135deg,#ffcf6b,#ff7aa8);color:#2a1020;font:inherit;font-weight:800;cursor:pointer}.cheer-form button:disabled{opacity:.5}@media (max-width: 380px){.cheer-form{grid-template-columns:1fr auto}.cheer-form #cheer-name{grid-column:1 / -1}}.cheer-ticket{position:relative;margin:14px 0 10px;padding:14px 18px 12px;border-radius:12px;color:#4a2a3a;background:linear-gradient(180deg,#fff6e0,#ffe9c4);-webkit-mask:radial-gradient(circle 12px at 0 50%,transparent 98%,#000) left / 51% 100% no-repeat,radial-gradient(circle 12px at 100% 50%,transparent 98%,#000) right / 51% 100% no-repeat;mask:radial-gradient(circle 12px at 0 50%,transparent 98%,#000) left / 51% 100% no-repeat,radial-gradient(circle 12px at 100% 50%,transparent 98%,#000) right / 51% 100% no-repeat;box-shadow:inset 0 0 0 2px #f2cf8e}.cheer-ticket:after{content:"";position:absolute;top:7px;right:16px;bottom:7px;left:16px;border:2px dashed rgba(224,69,127,.35);border-radius:8px;pointer-events:none}.cheer-ticket-title{position:relative;z-index:1;margin:2px 0 8px;text-align:center;font-size:14px;font-weight:900;color:#d4386f;letter-spacing:1px}.cheer-list{position:relative;z-index:1;display:grid;gap:6px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;padding:0 4px;scrollbar-color:#e6a3bf transparent}.cheer{padding:8px 12px;border-radius:12px;min-height:54px;background:#ffffffbf;border:1px solid rgba(230,160,190,.5);box-shadow:0 2px #c8966e40}.cheer p{margin:0;font-size:15px;font-weight:700;line-height:1.45;color:#e0457f;word-break:keep-all;overflow-wrap:anywhere}.cheer p:before{content:"♥ ";color:#ff8fb8}.cheer span{font-size:11px;color:#9a7a5c}.cheer-none{font-size:13px;color:#a07f60;text-align:center;margin:6px 0}#guestbook{z-index:41}.guestbook-card{width:min(720px,100%)}.guestbook-card .cheer-list{max-height:none;overflow:visible;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.gb-total{margin:0 0 8px;text-align:center;font-size:12.5px;color:var(--dim);min-height:1em}.gb-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 4px}.gb-pager:empty{display:none}.gb-pager button{min-width:34px;height:34px;padding:0 8px;border-radius:999px;border:1px solid rgba(255,160,190,.5);background:#ffffff14;color:var(--ink);font-size:14px;cursor:pointer}.gb-pager button.on{background:#e0457f;border-color:#e0457f;color:#fff}.gb-pager button:disabled{opacity:.35;cursor:default}.res-support{text-align:center;margin:12px 0 0}.link{background:none;border:none;color:#ff9cc2;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}@media (max-width: 560px){.ride-cards{left:auto;right:12px;transform:none;width:min(220px,52vw);flex-direction:column;gap:6px}.rc-kicker,.rc-stat{display:none}.use-btn{bottom:150px}.ride-card{padding:10px 14px}.rc-name{font-size:18px}.hint{display:none}}.ride-cards{width:min(760px,calc(100vw - 24px))}.ride-card.tower{background:linear-gradient(135deg,#be466ebf,#323278b3)}@media (max-width: 620px){.ride-card{padding:7px 9px}.rc-kicker{display:none}.rc-stat{font-size:10px}.rc-name{font-size:15px!important}}.queue-ui{position:absolute;left:50%;top:58px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:10px 18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;text-align:center;max-width:calc(100vw - 110px)}.queue-ui b{color:var(--gold);font-size:16px}.queue-ui span{font-size:13px;color:var(--ink)}.btn.small{padding:5px 12px;font-size:12px;margin-top:5px}.gear-opt{display:flex;gap:8px;margin:10px 0}.gear{flex:1;display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:12px;border:1px solid var(--line);background:#ffffff0d;color:var(--ink);cursor:pointer;font-family:inherit}.gear small{color:var(--dim)}.gear.on{border-color:var(--gold);background:#ffd27a29}.intro-state{color:var(--gold);font-size:14px;margin:8px 0;min-height:1em}.shop-card{width:min(520px,100%)}.shop-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:12px 0}.shop-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff0f;color:var(--ink);cursor:pointer;font-family:inherit;font-size:14px;text-align:left;transition:transform .12s}.shop-item:hover{transform:translateY(-2px);background:#ffffff1f}.shop-item.on{border-color:var(--gold);background:#ffd27a2e}.shop-item i{font-style:normal;font-size:22px}.shop-support-btn{color:#ffb0c8;border-color:#ff78aa80}.boarding-note{color:var(--dim);font-size:12px}.photo-tag{top:10px!important;bottom:auto!important}.shop-panel{position:absolute;top:58px;right:68px;width:188px;display:flex;flex-direction:column;gap:5px;padding:8px;background:var(--glass);border:1px solid var(--line);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;max-height:calc(100vh - 170px);overflow:auto}.shop-panel button{display:flex;align-items:center;gap:8px;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font-family:inherit;font-size:13px;cursor:pointer;text-align:left}.shop-panel button:hover{background:#ffffff1f}.shop-panel button i{font-style:normal;font-size:18px;width:22px;text-align:center}.emote-panel{position:absolute;right:68px;display:flex;flex-direction:row-reverse;gap:6px;padding:6px;border-radius:999px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;transform-origin:right center;animation:emoteOpen .22s ease-out}.emote-panel button{width:42px;height:42px;border-radius:50%;border:0;background:#ffffff14;font-size:22px;cursor:pointer;transition:transform .12s}.emote-panel button:hover{transform:scale(1.15);background:#ffd27a40}@keyframes emoteOpen{0%{transform:scaleX(.2);opacity:0}to{transform:none;opacity:1}}.server-btn{position:relative}.server-btn b{position:absolute;right:-3px;bottom:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gold);color:#2a1a08;font-size:11px;line-height:17px;font-weight:900}#btn-server.on{border-color:var(--gold);background:#ffd27a40}.server-panel{position:absolute;right:68px;display:flex;flex-direction:row;gap:8px;padding:8px;border-radius:18px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;transform-origin:right center;animation:emoteOpen .22s ease-out;max-width:calc(100vw - 100px);overflow-x:auto}.server-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:132px;padding:9px 12px;border-radius:14px;border:1px solid var(--line);background:#ffffff0f;color:var(--ink);font-family:inherit;cursor:pointer;text-align:left}.server-card:hover:not(:disabled){background:#ffd27a2e}.server-card b{font-size:14px}.server-card small{color:var(--dim);font-size:11px}.server-card i{display:block;width:100%;height:5px;border-radius:3px;background:#ffffff1f;overflow:hidden;font-style:normal}.server-card i span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#7fe3a0,#ffd27a,#ff7a8a)}.server-card.here{border-color:var(--gold);background:#ffd27a29}.server-card:disabled{opacity:.45;cursor:default}.server-note{align-self:center;padding:6px 10px;color:var(--dim);font-size:12px;white-space:nowrap}.orn-card h2,.tarot-card h2{margin:4px 0 2px}.orn-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.orn-pick button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border-radius:16px;border:1px solid var(--line);background:#ffffff0f;color:var(--ink);font-family:inherit;cursor:pointer}.orn-pick button:hover{background:#ffd27a2e;border-color:var(--gold)}.orn-pick i{font-style:normal;font-size:34px}.orn-pick b{font-size:14px}.orn-letter{display:flex;flex-direction:column;align-items:center;gap:10px;margin:12px 0}.orn-letter img{width:220px;max-width:70vw;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}.orn-letter textarea{width:100%;box-sizing:border-box;border-radius:12px;border:1px solid var(--line);background:#ffffff14;color:var(--ink);padding:10px;font:inherit;font-size:15px;resize:none}.letter-card{text-align:center}.letter-card img{width:280px;max-width:76vw;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.letter-card p{font-size:17px;line-height:1.5;margin:10px 0 14px}.tarot-cookies{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.tarot-cookies button{position:relative;display:flex;flex-direction:column;align-items:center;padding:10px 6px 8px;border-radius:16px;border:1px solid var(--line);background:radial-gradient(circle at 50% 30%,#a06eff40,#ffffff0a);color:var(--ink);cursor:pointer;font-family:inherit;transition:transform .15s}.tarot-cookies button:hover{transform:translateY(-3px) rotate(-2deg);border-color:var(--gold)}.tarot-cookies img{width:76px;height:59px;object-fit:contain;pointer-events:none}.tarot-cookies b{font-size:16px;color:var(--gold)}.tarot-services{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.tarot-services .svc{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px dashed var(--line);color:var(--dim);font-size:13px}.tarot-services .svc img{width:88px;height:88px;border-radius:8px;background:#fff}.tarot-services a.svc{color:var(--ink);border-style:solid;text-decoration:none;background:#a06eff26}.cookie-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(circle,#281446e0,#0a0614f2)}.cookie-art img{display:block;width:min(76vw,400px);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.5));-webkit-user-select:none;user-select:none}.cookie-art img.open{width:min(86vw,480px)}.cookie-art.whole img{animation:cookieIn .7s cubic-bezier(.2,1.4,.4,1) both,cookieShake .5s .75s ease-in-out 2}.cookie-art.open img{animation:cookieOpen .6s ease-out both}@keyframes cookieIn{0%{transform:scale(.2) rotate(-30deg);opacity:0}to{transform:none;opacity:1}}@keyframes cookieShake{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes cookieOpen{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:none}}.cookie-card{max-width:min(86vw,420px);padding:20px 24px 18px;border-radius:20px;background:#fffdf6;color:#3a2414;text-align:center;box-shadow:0 18px 50px #00000073;animation:cookieIn .5s ease-out both}.cookie-luck{display:inline-block;padding:4px 14px;border-radius:999px;background:#4a2a7a;color:#ffd27a;font-weight:900;font-size:15px}.cookie-card p{font-size:19px;line-height:1.55;margin:12px 0 6px;font-weight:700}.cookie-card small{display:block;color:#8a6a48;margin-bottom:12px}#btn-emote.on,#btn-shops.on{border-color:var(--gold);background:#ffd27a40}.bottom-acts{position:absolute;left:50%;transform:translate(-50%);bottom:120px;display:flex;flex-direction:column-reverse;align-items:center;gap:8px;pointer-events:none!important}.bottom-acts>*{pointer-events:auto}.hang-btn{padding:10px 18px;border-radius:999px;border:none;background:linear-gradient(135deg,#fff4d8,#ffd27a);color:#3a2410;font-family:inherit;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 8px 24px #00000059;animation:pop .25s ease-out}.hang-btn.far{background:var(--glass);color:var(--ink);font-size:12px;font-weight:600;border:1px solid var(--line);box-shadow:none;cursor:default;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.balloon-btn{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--ink);font-family:inherit;font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fly-pad{position:absolute;right:16px;bottom:120px;display:flex;flex-direction:column;gap:10px;pointer-events:auto}.fly-pad button{width:62px;height:62px;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--ink);font-size:24px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none}.fly-pad button:active{background:#ffd27a59}.parade-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 12px 9px 18px;border-radius:999px;background:linear-gradient(90deg,#78288ce0,#dc5a3ce0);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:14px;pointer-events:auto;box-shadow:0 8px 30px #00000059;animation:bannerIn .5s ease-out;max-width:calc(100vw - 32px);z-index:5}.parade-banner span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes bannerIn{0%{transform:translate(-50%,-30px);opacity:0}}.magic-note{position:absolute;top:60px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#28143cbf;color:#ffe6a3;font-size:13px;pointer-events:none}.camera-bar{position:absolute;left:50%;bottom:110px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.cam-face{font-size:13px;display:flex;gap:6px;align-items:center;cursor:pointer}.cam-shoot{width:62px;height:62px;border-radius:50%;border:4px solid #fff;background:#fff3;font-size:26px;cursor:pointer}#cam-flash.cam-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none!important;transition:opacity .4s;z-index:30}#cam-flash.cam-flash.on{opacity:.85;transition:none}#magic-note{pointer-events:none!important}.photo{position:relative}.photo-share{width:58px;height:58px;border-radius:50%;border:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:linear-gradient(135deg,var(--gold),var(--rose));color:#2a1020;font-weight:900;font-family:inherit;font-size:12px;cursor:pointer;box-shadow:0 6px 18px #ff7aa873;flex:none}.photo-share b{font-size:18px;line-height:1}.share-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.share-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:14px;border:1px solid var(--line);background:#ffffff0f;color:var(--ink);font-family:inherit;cursor:pointer}.share-btn i{font-style:normal;font-size:26px}.share-btn.kakao{background:#fee50029;border-color:#fee50080}
