:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}*{box-sizing:border-box}html,body,#root{color:#f3f5f8;overscroll-behavior:none;background:#0b1018;height:100%;margin:0}button{font:inherit}.world{position:fixed;inset:0}.canvas-wrap{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.walk-help{left:0;right:0;bottom:calc(12px + env(safe-area-inset-bottom,0px));text-align:center;color:#ffffffbf;text-shadow:0 1px 3px #000000b3;pointer-events:none;margin:0;padding:0 16px;font-size:13px;position:fixed}.overlay{z-index:30;background:#05080e8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.panel{background:linear-gradient(170deg,#141d2e,#0b1018);border:1px solid #ffffff24;border-radius:16px;width:min(100%,460px);max-height:100%;padding:22px 20px;overflow-y:auto;box-shadow:0 12px 40px #00000080}.panel h1{margin:0 0 6px;font-size:26px}.panel h2{margin:14px 0 8px;font-size:16px}.lead,.sub,.hint,.why{color:#fffc;margin:0 0 14px;font-size:14px;line-height:1.6}.why{color:#fff9;text-align:center;margin:8px 0 0;font-size:12.5px}.hint{background:#ffd84d1a;border:1px solid #ffd84d4d;border-radius:10px;padding:10px 12px}.btn{color:#fff;cursor:pointer;background:#e8342a;border:0;border-radius:10px;min-height:44px;padding:12px 26px;font-weight:700}.btn.ghost{background:#ffffff24}.btn.primary{width:100%;margin-top:14px}.btn:disabled{opacity:.4;cursor:default}.ctr{text-align:center;margin-top:16px}.ctr .btn.primary{width:auto;margin-top:4px}.gate-open .btn.primary{width:auto}.field-label{color:#ffd84d;margin:6px 0;font-size:13px;font-weight:700;display:block}.text-input{color:#fff;background:#ffffff12;border:1px solid #ffffff40;border-radius:10px;width:100%;padding:12px 14px;font-size:17px}.text-input:focus-visible,.chip:focus-visible,.btn:focus-visible,.card:focus-visible,.tile:focus-visible{outline-offset:2px;outline:3px solid #ffd84d}.who{align-items:center;gap:10px;margin-top:12px;font-size:14px;display:flex}.who-face{object-fit:cover;border-radius:50%;width:44px;height:44px}.face-placeholder{color:#fff;background:linear-gradient(145deg,#56637a,#39465c);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.choice-row{border:0;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;display:flex}.choice-row legend{color:#ffd84d;margin-bottom:6px;padding:0;font-size:13px;font-weight:700}.chip{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff40;border-radius:999px;min-height:40px;padding:8px 12px}.chip[aria-pressed=true]{color:#1b2330;background:#ffd84d;border-color:#ffd84d;font-weight:700}.bulbs{border:0;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:18px 0 0;padding:0;display:grid}.bulbs legend{color:#ffd84d;margin-bottom:8px;padding:0;font-size:13px;font-weight:700}.bulb-option{cursor:pointer;text-align:center;background:#ffffff0d;border:1px solid #fff3;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:12.5px;display:flex;position:relative}.bulb-option input{opacity:0;cursor:pointer;position:absolute;inset:0}.bulb-option:has(input:checked){background:#ffd84d29;border-color:#ffd84d;box-shadow:0 0 0 2px #ffd84d}.bulb-option:has(input:focus-visible){outline-offset:2px;outline:3px solid #ffd84d}.ingho-say{align-items:center;gap:12px;margin-bottom:16px;display:flex}.ingho-portrait{flex:none}.bubble{color:#17202e;background:#f4f6f9;border-radius:12px;flex:1;padding:11px 15px;font-size:14px;font-weight:600;line-height:1.5;position:relative}.bubble:before{content:"";border:8px solid #0000;border-left:0;border-right-color:#f4f6f9;position:absolute;top:24px;left:-8px}.ingho-aside{opacity:.75;white-space:nowrap;flex:none;font-size:12.5px}.game-panel{width:min(100%,520px)}.board-wrap{margin:0 auto;position:relative}.board{transform-origin:0 0;position:relative}.card{cursor:pointer;perspective:600px;background:0 0;border:0;border-radius:8px;padding:0;transition:transform .55s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.card[aria-disabled=true]{cursor:default}.card .inner{transform-style:preserve-3d;transition:transform .4s;position:absolute;inset:0}.card.down .inner{transform:rotateY(180deg)}.face,.back{backface-visibility:hidden;border-radius:8px;position:absolute;inset:0;overflow:hidden;box-shadow:0 4px 12px #00000080}.face{background:#f3f4f6;flex-direction:column;display:flex}.face .card-face{object-fit:cover;border-radius:0;width:100%;height:92px;font-size:34px}.face .nm{color:#1b2330;background:#fff;flex:1;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.back{background:linear-gradient(145deg,#39465c,#222b3b);justify-content:center;align-items:center;display:flex;transform:rotateY(180deg)}.back i{color:#ffffff80;letter-spacing:1px;font-size:21px;font-style:normal;font-weight:800}.card.hit .face{box-shadow:0 0 0 4px #37d27a,0 0 22px 6px #37d27a99}.card.miss .face{box-shadow:0 0 0 4px #e8342a,0 0 22px 6px #e8342a99}.card.hint .back{box-shadow:0 0 0 2px #ffd84dbf,0 0 18px 4px #ffd84d59}.gate-open{text-align:center;padding:18px 0 0}.gate3d{justify-content:center;gap:4px;margin-bottom:12px;display:flex}.gl{background:linear-gradient(#5d6a80,#39445a);border-radius:3px;width:11px;height:72px;transition:transform .6s;display:block}.gate3d.open .gl.l{transform:translate(-44px)rotateY(60deg)}.gate3d.open .gl.r{transform:translate(44px)rotateY(-60deg)}.ok{color:#37d27a;margin:0 0 4px;font-size:15px;font-weight:700}.rig-wrap{margin:0 auto;position:relative}.rig{transform-origin:0 0;grid-template-columns:54px auto 54px;place-items:start center;gap:0 4px;display:grid}.src,.dst{opacity:.8;flex-direction:column;align-items:center;gap:6px;font-size:11px;display:flex}.src{margin-top:20px}.dst{align-self:end;margin-bottom:20px}.plug{background:#2b3546;border:2px solid #4a596f;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;transition:all .4s;display:flex}.plug.on{background:#6b4e12;border-color:#ffd84d;box-shadow:0 0 16px 5px #ffd84d99}.wire-grid{background:#ffffff0d;border-radius:8px;gap:4px;padding:4px;display:grid}.tile{cursor:pointer;background:#111a28;border:0;border-radius:5px;padding:0;transition:background .2s;position:relative}.tile:hover{background:#18253a}.tile[aria-disabled=true]{cursor:default}.tile svg{transition:transform .22s cubic-bezier(.4,0,.2,1);display:block}.tile .wire{stroke:#44536b;stroke-width:9px;stroke-linecap:round;fill:none;transition:stroke .35s}.tile .wire-hub{fill:#44536b}.tile.hot .wire{stroke:#ffd060;filter:drop-shadow(0 0 5px #ffd060d9)}.tile.hot .wire-hub{fill:#ffd060}.name-tag{color:#fff;white-space:nowrap;background:#0009;border-radius:999px;padding:3px 8px;font-size:13px}.name-tag.mine{color:#1b2330;background:#ffd84d;font-size:15px;font-weight:800}.building-sign{color:#1b2330;white-space:nowrap;background:#ffffffd9;border-radius:8px;padding:6px 18px;font-size:34px;font-weight:800}.slogan{text-align:center;white-space:nowrap;padding:12px 22px 8px;position:relative}.slogan .neon{letter-spacing:.1em;color:#0000;-webkit-text-stroke:1.6px #ffffff5c;font-size:40px;font-weight:900;display:inline-block;position:relative}.slogan .neon:after{content:attr(data-text);width:var(--p,0%);white-space:nowrap;color:#fff6d8;-webkit-text-stroke:0;text-shadow:0 0 5px #fff,0 0 14px #ffd24a,0 0 30px #ff9d2e,0 0 58px #ff6a3d;transition:width 1.4s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;left:0;overflow:hidden}.slogan small{letter-spacing:.04em;color:#ffe9b0;text-shadow:0 0 10px #ffbe50cc;margin-top:2px;font-size:15px;font-weight:700;animation:.7s cubic-bezier(.2,1.6,.4,1) count-bump;display:block}.slogan:before{content:"";border:3px dotted #ffe27a59;border-radius:18px;position:absolute;inset:0}.slogan.lit:before{filter:drop-shadow(0 0 7px #ffb300);border-color:#ffe27a;animation:.7s steps(2,end) infinite bulbs-chase}.slogan.lit .neon:after{width:100%;animation:1.9s step-end neon-on,3.2s ease-in-out 1.9s infinite neon-glow}@keyframes neon-on{0%{opacity:0}7%{opacity:1}11%{opacity:.15}19%{opacity:1}24%{opacity:.25}33%{opacity:1}38%{opacity:.5}44%,to{opacity:1}}@keyframes neon-glow{0%,to{filter:brightness()hue-rotate()}50%{filter:brightness(1.35)hue-rotate(-16deg)}}@keyframes bulbs-chase{0%{opacity:1}50%{opacity:.45}}@keyframes count-bump{0%{transform:scale(1.5)}to{transform:scale(1)}}.floor-display{top:calc(18px + env(safe-area-inset-top,0px));z-index:25;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eef3f8;white-space:nowrap;background:#0a0e169e;border-radius:999px;align-items:center;gap:14px;padding:10px 22px 10px 18px;font-size:15px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.floor-number{color:#7cc4ff;font-variant-numeric:tabular-nums;text-align:right;min-width:1.4em;font-size:40px;font-weight:800;line-height:1}.error{color:#ff8a80;text-align:center;margin:12px 0 0;font-size:14px;line-height:1.5}.handover .speech{margin:0 0 16px;font-size:16px;line-height:1.7}.bulb-held{justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row .btn.primary{flex:auto;width:auto}.soft{color:#ffffffb3;margin:6px 0 0;font-size:13px;line-height:1.55}.btn.small{min-height:32px;padding:6px 12px;font-size:13px}.btn.danger{background:#b3261e}.handover-saving{text-align:center}.handover-saving .lead{color:#fff;margin-bottom:4px;font-size:17px;font-weight:700}.moment{z-index:28;pointer-events:none;position:fixed;inset:0}.moment .counter{font-variant-numeric:tabular-nums;background:#0a0e16b8;border:1px solid #ffffff24;border-radius:11px;padding:10px 14px;position:absolute;top:30px;left:16px}.moment .counter .num{color:#ffd84d;text-shadow:0 0 18px #ffd84d99;font-size:30px;font-weight:800}.moment .counter .of{color:#ffffff8c;font-size:15px;font-weight:600}.moment .caption{text-align:center;text-shadow:0 2px 8px #000c;margin:0;padding:0 16px;font-size:18px;font-weight:700;position:absolute;bottom:18%;left:0;right:0}.tag-card{color:#15202f;white-space:nowrap;background:#fffffff5;border-radius:12px;padding:10px 18px;font-size:20px;font-weight:800;animation:.6s ease-out both tag-rise;position:absolute;bottom:18%;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0000008c}.finale{text-align:center;text-shadow:0 2px 8px #000c;padding:0 16px;font-size:17px;font-weight:700;animation:1s ease-out both finale-in;position:absolute;top:92px;left:0;right:0}.finale p{margin:6px 0 0}.finale .hanmaum{letter-spacing:.12em;color:#ffe27a;text-shadow:0 0 26px #ffd84df2;margin:0;font-size:38px;font-weight:900}@keyframes tag-rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes finale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mine-panel{z-index:26;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));background:#0b1018e6;border:1px solid #ffd84d80;border-radius:16px;width:min(94vw,460px);max-height:72vh;padding:12px 14px;position:fixed;overflow-y:auto;transform:translate(-50%);box-shadow:0 12px 40px #00000080}.mine-head{align-items:center;gap:12px;display:flex}.mine-head h2{color:#ffd84d;margin:0;font-size:16px}.mine-head .soft{margin:2px 0 0}.mine-panel .row{margin-top:12px}.gift .speech{margin:10px 0 8px;font-size:13.5px;line-height:1.5}.gift .boxes{flex-wrap:nowrap;justify-content:center}.box{color:#fff;cursor:pointer;background:#ffd84d1a;border:1px solid #ffd84d80;border-radius:14px;flex-direction:column;flex:1 1 0;align-items:center;gap:0;min-width:0;min-height:62px;padding:8px 4px;font-size:28px;display:flex}.box small{font-size:12.5px;font-weight:700}.box:hover{background:#ffd84d33}.box:focus-visible,.mine-again:focus-visible{outline-offset:2px;outline:3px solid #ffd84d}.gift-got{margin-top:12px}.card-preview{text-align:center;margin-top:12px}.card-preview img{border-radius:10px;width:min(100%,260px);box-shadow:0 6px 20px #00000080}.card-preview .row{justify-content:center}.card-preview a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mine-again{z-index:26;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));position:fixed;transform:translate(-50%)}.notice{z-index:24;text-align:center;background:#0b1018d9;border:1px solid #fff3;border-radius:10px;width:min(92vw,420px);margin:0;padding:8px 12px;font-size:13px;position:fixed;top:12px;left:50%;transform:translate(-50%)}.toast{z-index:60;background:#0b1018f2;border:1px solid #ffd84d80;border-radius:12px;align-items:center;gap:10px;width:min(92vw,440px);padding:10px 14px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.toast p{flex:1;margin:0;font-size:13.5px;line-height:1.5}.admin{max-width:760px;margin:0 auto;padding:24px 16px 60px}.admin h1{margin:0 0 16px;font-size:22px}.admin-login{flex-direction:column;gap:10px;max-width:360px;display:flex}.admin-login label{color:#ffd84d;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.admin-login input{color:#fff;background:#ffffff12;border:1px solid #ffffff40;border-radius:10px;padding:12px 14px;font-size:16px}.admin .ok{color:#37d27a}.admin-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:13.5px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #ffffff1a;padding:8px 6px}.admin-table th{color:#fff9;font-weight:600}@media (prefers-reduced-motion:reduce){.tag-card,.finale{animation:none}.card,.card .inner,.tile svg,.gl{transition:none}}.dev-notice{z-index:90;text-align:center;color:#1b2330;pointer-events:none;background:#ffd84d;padding:4px 8px;font-size:12px;font-weight:800;position:fixed;top:0;left:0;right:0}.loading{z-index:60;background:radial-gradient(at 50% 40%,#233046 0%,#0d121b 75%);place-items:center;transition:opacity .45s;display:grid;position:fixed;inset:0}.loading.done{opacity:0;pointer-events:none}.loading-box{text-align:center;color:#f3efe6;width:min(320px,100vw - 64px)}.loading-title{letter-spacing:.02em;margin-bottom:14px;font-size:17px;font-weight:600}.loading-bar{background:#ffffff24;border-radius:4px;height:4px;overflow:hidden}.loading-bar span{background:linear-gradient(90deg,#ffd54a,#ffefb0);height:100%;transition:width .2s;display:block}.loading-pct{color:#f3efe699;font-variant-numeric:tabular-nums;margin-top:10px;font-size:12px}.fade-out{z-index:55;pointer-events:none;background:#000;animation:1.1s forwards fade-out-in;position:fixed;inset:0}@keyframes fade-out-in{0%{opacity:0}60%{opacity:1}to{opacity:1}}.sound-toggle{top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:45;color:#fffc;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0e168c;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 12px 7px 10px;font-size:12.5px;display:inline-flex;position:fixed}.sound-toggle.on{color:#ffe08a}.sound-toggle:focus-visible{outline-offset:2px;outline:2px solid #ffd54a}:root{letter-spacing:-.01em;font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif}.overlay{background:linear-gradient(#05080e1f,#05080e80)}.panel{-webkit-backdrop-filter:blur(18px)saturate(1.25);background:linear-gradient(165deg,#1a2234cc,#0b1019e0);border:1px solid #ffffff21;border-radius:22px;animation:.45s cubic-bezier(.2,.9,.3,1.15) both panel-in;box-shadow:0 28px 70px #00000073,inset 0 1px #ffffff14}@keyframes panel-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.overlay.game{background:linear-gradient(90deg,#05080e00 0%,#05080e2e 45%,#05080e8c 100%)}@media (width>=900px){.overlay.game{justify-content:flex-end;padding-right:max(28px,4vw)}}@media (width<=899px){.overlay.game{background:linear-gradient(#05080e00 25%,#05080e99 100%);align-items:flex-end}.overlay.game .panel{max-height:78vh}}.btn{background:linear-gradient(#ff4141,#d5141c);border-radius:13px;transition:transform .12s,box-shadow .2s,filter .2s;box-shadow:0 8px 22px #e1192359,inset 0 1px #ffffff47}.btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 12px 28px #e119236b,inset 0 1px #ffffff47}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn.ghost{background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff29}.btn.ghost:hover:not(:disabled){background:#ffffff26;box-shadow:inset 0 0 0 1px #ffffff3d}.bubble{background:#fffdf7;border-radius:16px;animation:.35s cubic-bezier(.2,1.4,.4,1) both bubble-pop;box-shadow:0 6px 16px #00000040}.bubble:before{border-right-color:#fffdf7}@keyframes bubble-pop{0%{opacity:.4;transform:scale(.94)}to{opacity:1;transform:none}}.card{transition:transform .55s cubic-bezier(.34,1.25,.64,1)}.card .inner{transition:transform .45s cubic-bezier(.3,1.3,.5,1)}.card.down:not([aria-disabled=true]):hover .inner{transform:rotateY(180deg)scale(1.05)}.face{border-radius:10px;box-shadow:0 8px 18px #00000073}.face .strip{background:linear-gradient(90deg,#ea002c,#ff7a00);height:8px}.back{background:radial-gradient(circle at 30% 25%,#ffffff2e,#0000 40%),repeating-linear-gradient(135deg,#ffffff0d 0 6px,#0000 6px 12px),linear-gradient(150deg,#ea002c 0%,#b4001f 45%,#ff7a00 140%);border-radius:10px;box-shadow:0 8px 18px #00000073,inset 0 0 0 2px #ffffff2e}.back i{color:#ffffffeb;text-shadow:0 2px 6px #0000004d;font-size:24px}.card.miss .face{animation:.42s shake}.card.hit .face{animation:1.2s infinite alternate hit-glow}@keyframes shake{0%,to{transform:none}20%{transform:translate(-6px)rotate(-2deg)}40%{transform:translate(6px)rotate(2deg)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes hit-glow{0%{box-shadow:0 0 0 4px #37d27a,0 0 16px 4px #37d27a80}to{box-shadow:0 0 0 4px #5ff09a,0 0 34px 12px #37d27abf}}.wire-grid{background:linear-gradient(160deg,#ffffff12,#ffffff05);border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff14}.tile{background:radial-gradient(circle at 50% 40%,#1a2639,#0e1622);border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff0d}.tile:active:not([aria-disabled=true]){transform:scale(.94)}.tile.hot .wire{stroke:#ffd060;stroke-dasharray:8 6;filter:drop-shadow(0 0 6px #ffd060f2);animation:.6s linear infinite flow}.tile.hot{background:radial-gradient(circle at 50% 40%,#33290f,#1a160c)}@keyframes flow{to{stroke-dashoffset:-14px}}.plug{border-radius:9px}.plug.on{animation:1s ease-in-out infinite alternate plug-pulse}@keyframes plug-pulse{0%{box-shadow:0 0 12px 3px #ffd84d80}to{box-shadow:0 0 26px 9px #ffd84dd9}}.confetti{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{opacity:.95;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.45,1);animation-fill-mode:forwards;display:block;position:absolute;top:-20px}@keyframes confetti-fall{to{transform:translate(var(--drift), 108vh) rotate(var(--spin));opacity:.9}}.name-tag{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c10189e;padding:4px 10px;font-weight:600;box-shadow:0 4px 10px #00000040}.name-tag.mine{background:linear-gradient(#ffe27a,#ffc93c);box-shadow:0 4px 14px #ffc93c73}@media (prefers-reduced-motion:reduce){.panel,.bubble,.card.miss .face,.card.hit .face,.tile.hot .wire,.plug.on,.confetti{animation:none!important}.confetti{display:none}}.overlay.dialog{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));background:linear-gradient(#05080e00 45%,#05080e8c 100%);align-items:flex-end}.overlay.dialog .panel{width:min(100%,560px)}.title-card{left:0;right:0;bottom:calc(9vh + env(safe-area-inset-bottom,0px));z-index:32;text-align:center;flex-direction:column;align-items:center;padding:0 20px;animation:1.2s cubic-bezier(.2,.8,.2,1) both title-in;display:flex;position:fixed}.title-card:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#080c1400 35%,#080c149e 100%);position:fixed;inset:0}.title-card .eyebrow{letter-spacing:.18em;color:#ffffffbf;margin:0 0 6px;font-size:13px;font-weight:600}.title-card h1{letter-spacing:-.02em;color:#fff;text-shadow:0 6px 30px #00000073,0 0 50px #ffd67859;margin:0;font-size:clamp(44px,9vw,84px);font-weight:900}.title-card .tagline{color:#ffffffe6;text-shadow:0 2px 10px #00000080;margin:10px 0 22px;font-size:clamp(15px,2.2vw,19px);line-height:1.6}.title-card .btn.big{border-radius:999px;width:auto;min-width:200px;margin:0;padding:15px 40px;font-size:18px}.title-card .title-note{color:#ffffffa6;margin:12px 0 0;font-size:12.5px}@keyframes title-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.title-card{animation:none}}.title-card .season{color:#ffe7a8;text-shadow:0 2px 10px #00000080;margin:0 0 8px;font-size:clamp(13px,1.8vw,16px);font-weight:600}.title-card h1{font-size:clamp(40px,8.4vw,80px);line-height:1.08}.title-card h1 span{color:#ffe27a;text-shadow:0 6px 30px #00000073,0 0 46px #ffd6788c}.gift-icon{background:radial-gradient(circle at 50% 38%,#fff3,#ffffff0a 70%);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.gift-icon img{object-fit:contain;filter:drop-shadow(0 4px 8px #00000059);width:86%;height:86%}.panel.intro{width:min(100%,520px)}.intro-eyebrow{letter-spacing:.16em;color:#fff9;margin:0 0 4px;font-size:11.5px;font-weight:700}.panel.intro h1{letter-spacing:-.02em;font-size:clamp(24px,6vw,30px)}.mission-card{background:linear-gradient(135deg,#ffd84d29,#ff785a1a);border:1px solid #ffd84d47;border-radius:14px;margin:10px 0 16px;padding:12px 14px}.mission-card p{word-break:keep-all;margin:0;font-size:14.5px;line-height:1.55}.mission-card strong{color:#ffe27a}.mission-card .reward{color:#ffb9a8;white-space:nowrap;font-weight:700}.mission-card small{color:#ffffffbf;margin-top:6px;font-size:12.5px;display:block}.gifts{border:0;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 0;padding:0;display:grid}.gifts legend{color:#ffd84d;margin-bottom:8px;padding:0;font-size:13px;font-weight:700}.gift-option{text-align:center;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 9px;transition:transform .16s,background .2s,border-color .2s;display:flex;position:relative}.gift-option:hover{background:#ffffff17;transform:translateY(-2px)}.gift-option input{opacity:0;cursor:pointer;position:absolute;inset:0}.gift-option small{color:#fff9;white-space:nowrap;margin-top:4px;font-size:10.5px}.gift-option>span:last-child{font-size:14.5px;font-weight:800}.gift-option:has(input:checked){background:#ffd84d29;border-color:#ffd84d;transform:translateY(-3px);box-shadow:0 0 0 2px #ffd84d,0 10px 26px #ffc83c38}.gift-option:has(input:checked) .gift-icon img{animation:1.6s ease-in-out infinite gift-bob}.gift-option:has(input:focus-visible){outline-offset:2px;outline:3px solid #ffd84d}.gift-line{text-align:center;color:#ffffffdb;min-height:2.9em;margin:10px 0 0;font-size:13.5px;line-height:1.45}.btn.enter{border-radius:999px;padding:14px 26px;font-size:16.5px}@keyframes gift-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-5px)rotate(3deg)}}@media (width<=420px){.gifts{gap:6px}.gift-option .gift-icon{width:60px!important;height:60px!important}.gift-option small{font-size:9.5px}}.mission-bar{z-index:21;top:calc(8px + env(safe-area-inset-top,0px));left:calc(12px + env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(10px);color:#ffffffd9;pointer-events:none;background:#0c101880;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 8px;font-size:11.5px;display:flex;position:fixed;box-shadow:inset 0 0 0 1px #ffffff1a}.mission-bar .dots{gap:3px;display:flex}.mission-bar .dots i{background:#ffffff38;border-radius:2px;width:14px;height:4px}.mission-bar .dots i.past{background:#7fd6a8}.mission-bar .dots i.now{background:#ffd54a;box-shadow:0 0 8px #ffd54acc}.mission-bar .what b{color:#ffd54a;margin-right:2px}.mission-bar.done .dots i{background:#7fd6a8}.mission-bar.done .what{color:#a9ecc8;font-weight:700}.ingho-bubble{z-index:27;left:50%;bottom:calc(46px + env(safe-area-inset-bottom,0px));color:#17202e;background:#fffdf7;border-radius:20px;width:min(100vw - 24px,430px);padding:14px 16px 16px;animation:.4s cubic-bezier(.2,1.3,.4,1) both bubble-up;position:fixed;transform:translate(-50%);box-shadow:0 22px 54px #0000006b}.ingho-bubble:before{content:"";border:10px solid #0000;border-top:0;border-bottom-color:#fffdf7;margin-left:-10px;position:absolute;top:-9px;left:50%}.ingho-bubble header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.ingho-bubble header b{font-size:15px;display:block}.ingho-bubble header small{color:#6a7486;font-size:11.5px;display:block}.ingho-bubble .chip-note{color:#7a4b00;background:#ffe9b8;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:800}.ingho-bubble h2{letter-spacing:-.02em;margin:0 0 4px;font-size:19px}.ingho-bubble p{word-break:keep-all;margin:0;font-size:14.5px;line-height:1.55}.ingho-bubble p strong{color:#d5141c}.ingho-bubble p.detail{color:#55607a;margin-top:4px;font-size:13px}.ingho-bubble .btn.primary{margin-top:12px}@keyframes bubble-up{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}to{opacity:1;transform:translate(-50%)}}@media (width>=900px){.ingho-bubble{animation-name:bubble-side;bottom:16vh;left:auto;right:max(28px,5vw);transform:none}.ingho-bubble:before{border:10px solid #0000;border-left:0;border-right-color:#fffdf7;margin:0;top:46px;left:-9px}}@keyframes bubble-side{0%{opacity:0;transform:translate(16px)scale(.96)}to{opacity:1;transform:none}}.ingho-aside{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.chances{gap:4px;display:flex}.chances i{background:#fff3;border-radius:50%;width:9px;height:9px}.chances i.on{background:#ffd54a;box-shadow:0 0 8px #ffd54ab3}.floor-eyebrow{letter-spacing:.18em;color:#ffffff8c;margin:0 0 4px;font-size:11px;font-weight:700}.panel.floor-panel{width:min(100%,380px)}.floor-panel h2{margin:0 0 2px;font-size:21px}.floor-grid{background:linear-gradient(#24313a,#18222a);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 8px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 10px 24px #00000059}.floor-key{color:#e4f2f6;font-variant-numeric:tabular-nums;cursor:pointer;background:#34454f;border:0;border-radius:10px;min-height:50px;font-size:21px;font-weight:600;transition:transform 80ms,background .2s;box-shadow:inset 0 1px #ffffff1f,0 3px #00000059}.floor-key:hover{background:#40545f}.floor-key:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff1f,0 1px #00000059}.floor-key.want{color:#102324;background:#d2aa5a;animation:1.4s ease-in-out infinite key-glow}.floor-key:focus-visible{outline-offset:2px;outline:3px solid #ffd84d}.floor-blank{color:#ffffff4d;justify-content:center;align-items:center;display:flex}.floor-foot{text-align:center;letter-spacing:.2em;color:#fff6;margin:0;font-size:10px}@keyframes key-glow{0%,to{box-shadow:0 0 #d2aa5a00,0 3px #00000059}50%{box-shadow:0 0 0 5px #d2aa5a59,0 3px #00000059}}.lift-note{z-index:24;left:50%;bottom:calc(52px + env(safe-area-inset-bottom,0px));text-align:center;background:#0b1018c7;border:1px solid #ffffff29;border-radius:999px;width:max-content;max-width:calc(100vw - 24px);margin:0;padding:9px 16px;font-size:13.5px;font-weight:600;position:fixed;transform:translate(-50%)}.gift-got b{color:#ffe27a}.home-card{z-index:24;left:50%;top:calc(34px + env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(12px);text-align:center;background:#0b1018c7;border:1px solid #ffffff29;border-radius:16px;width:min(100vw - 24px,420px);padding:12px 14px;position:fixed;transform:translate(-50%)}.home-card p{margin:0 0 10px;font-size:13.5px;line-height:1.5}.home-card b{color:#a9ecc8}@media (prefers-reduced-motion:reduce){.ingho-bubble,.floor-key.want{animation:none!important}.gift-option:has(input:checked) .gift-icon img{animation:none!important}}.ceo-bubble{color:#15202f;text-align:center;word-break:keep-all;background:#fff;border-radius:16px;width:max-content;max-width:min(250px,62vw);padding:10px 14px;font-size:15px;font-weight:700;line-height:1.4;animation:.35s cubic-bezier(.2,1.4,.4,1) ceo-pop;position:relative;transform:translateY(-60%);box-shadow:0 6px 20px #00000059}.ceo-bubble:after{content:"";background:#fff;border-radius:3px;width:16px;height:16px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes ceo-pop{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}.gift-ticket{background:linear-gradient(120deg,#3a2a10,#5b3f12 45%,#3a2a10);border:1px solid #ffd6788c;border-radius:14px;align-items:center;gap:12px;margin:10px 0 12px;padding:10px 14px;display:flex;position:relative;overflow:hidden}.gift-ticket:before{content:"";background:linear-gradient(100deg,#0000 35%,#fff0be59 50%,#0000 65%);animation:3.2s ease-in-out infinite ticket-shine;position:absolute;inset:0;transform:translate(-100%)}.gift-ticket .ticket-text{border-left:1.5px dashed #ffd67880;flex-direction:column;gap:2px;min-width:0;padding-left:12px;display:flex}.gift-ticket strong{color:#fff;font-size:17px}.gift-ticket .soft{font-size:12px}@keyframes ticket-shine{0%,55%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.ceo-bubble,.gift-ticket:before{animation:none}}@media (width<=600px){.ingho-say{flex-wrap:wrap;gap:8px 10px}.ingho-say .ingho-portrait{width:56px;height:56px}.ingho-say .bubble{flex:180px;min-width:0}.ingho-say .ingho-aside{text-align:right;flex:1 0 100%}}.bubble{word-break:keep-all}.absent.not-listed{background:#ff785a1f;border:1px solid #ff8c6e73;border-radius:12px;margin-top:12px;padding:10px 12px}.absent.not-listed strong{color:#ffb9a6;font-size:14px}.absent.not-listed .hint{margin:4px 0 0}.heart-gauge{display:block;overflow:visible}.heart-gauge .hd,.heart-gauge .hd .ring{transform-box:fill-box;transform-origin:50%}.heart-gauge .hd .dot{fill:#ffffff24}.heart-gauge .hd.on .dot{filter:drop-shadow(0 0 .05px #ffbe5ae6)}.heart-gauge .hd.mine .dot{filter:drop-shadow(0 0 .09px #fff)drop-shadow(0 0 .16px #ffd84df2)}.heart-gauge .hd .ring{fill:none;stroke:#ffe27a;stroke-width:.035px;opacity:0}.heart-gauge .hd.pop{animation:hd-pop .7s cubic-bezier(.2,1.6,.4,1) var(--pop,0s) both}.heart-gauge .hd.pop .ring{animation:hd-ring 1.3s ease-out calc(var(--pop,0s) + 80ms) 2 both}.heart-gauge.celebrate{transform-origin:50% 55%;animation:1.1s ease-in-out .9s 3 heart-beat}@keyframes hd-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(2.3)}to{opacity:1;transform:scale(1)}}@keyframes hd-ring{0%{opacity:.95;transform:scale(.6)}to{opacity:0;transform:scale(4.2)}}@keyframes heart-beat{0%,to{transform:scale(1)}30%{transform:scale(1.09)}55%{transform:scale(.98)}}.gauge-card{left:50%;bottom:calc(7% + env(safe-area-inset-bottom,0px));background:linear-gradient(160deg,#141a28f0,#090c14f0);border:1px solid #ffd84d8c;border-radius:20px;align-items:center;gap:16px;width:min(92vw,440px);padding:16px 18px;animation:.55s cubic-bezier(.2,.9,.25,1) both gauge-in;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 18px 50px #0009,inset 0 0 0 1px #ffffff0a,0 0 44px #ffbe5029}.gauge-card.goal{border-color:#ffe27a;box-shadow:0 18px 50px #0009,0 0 70px #ffc85a6b}.gauge-heart{flex:none;position:relative}.gauge-heart .plus{color:#fff3c2;text-shadow:0 0 14px #ffd84df2,0 2px 6px #0009;opacity:0;animation:plus-up 1.25s ease-out var(--pop,0s) both;font-size:22px;font-weight:900;position:absolute;top:34%;left:50%}.gauge-text{text-align:left;flex:auto;min-width:0}.gauge-text .eyebrow{letter-spacing:.14em;color:#ffe27ad9;font-size:11px;font-weight:800}.gauge-num{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;margin-top:2px;display:flex}.gauge-num .flip{min-width:1.2ch;height:46px;display:inline-block;position:relative;overflow:hidden}.gauge-num b{color:#ffd84d;text-shadow:0 0 22px #ffd84d99;font-size:42px;font-weight:900;line-height:46px;display:block}.gauge-num .from{animation:num-out .45s cubic-bezier(.5,0,.8,.4) var(--pop,0s) both}.gauge-num .to{animation:num-in .6s cubic-bezier(.2,1.5,.4,1) var(--pop,0s) both;position:absolute;top:0;left:0}.gauge-num i{color:#ffffff8c;font-size:16px;font-style:normal;font-weight:700}.gauge-text .who{color:#fff;word-break:keep-all;animation:line-in .5s ease-out calc(var(--pop,0s) + .25s) both;margin:2px 0 0;font-size:15.5px;font-weight:800}.gauge-text .rest{color:#ffffffb8;word-break:keep-all;animation:line-in .5s ease-out calc(var(--pop,0s) + .5s) both;margin:2px 0 0;font-size:13px;font-weight:600}.gauge-bar{background:#ffffff1f;border-radius:3px;height:6px;margin-top:9px;overflow:hidden}.gauge-bar i{height:100%;width:var(--to);animation:bar-fill .9s cubic-bezier(.3,.9,.3,1) var(--pop,0s) both;background:linear-gradient(90deg,#ff7a60,#ffd84d);border-radius:3px;display:block;box-shadow:0 0 10px #ffc85ab3}.gauge-card .confetti i{animation-delay:var(--pop,0s)!important}@keyframes gauge-in{0%{opacity:0;transform:translate(-50%,22px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes plus-up{0%{opacity:0;transform:translate(-50%,6px)scale(.6)}25%{opacity:1;transform:translate(-50%,-8px)scale(1.25)}to{opacity:0;transform:translate(-50%,-46px)scale(1)}}@keyframes num-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes num-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes bar-fill{0%{width:var(--from)}to{width:var(--to)}}.moment[data-phase="5"] .counter{opacity:0;transition:opacity .3s}.mine-head>div:nth-child(2){flex:auto;min-width:0}.mine-gauge{flex-direction:column;flex:none;align-items:center;gap:1px;display:flex}.mine-gauge small{color:#fff9;font-variant-numeric:tabular-nums;font-size:11px}.mine-gauge small b{color:#ffd84d;font-size:12.5px}.mission-card .gathered{color:#ffffffdb;word-break:keep-all;border-top:1px dashed #ffd84d47;align-items:center;gap:10px;margin-top:10px;padding-top:10px;font-size:13px;line-height:1.45;display:flex}.mission-card .gathered b{color:#ffe27a}@media (prefers-reduced-motion:reduce){.heart-gauge .hd.pop,.heart-gauge .hd.pop .ring,.heart-gauge.celebrate,.gauge-card,.gauge-heart .plus,.gauge-num .from,.gauge-num .to,.gauge-text .who,.gauge-text .rest,.gauge-bar i{animation:none}.gauge-num .from{display:none}.gauge-num .to{position:static}.heart-gauge .hd .ring{opacity:0}}@media (width<=560px){.wayfinder{top:calc(50px + env(safe-area-inset-top,0px))!important}}.panel.handover .btn.ghost{width:100%;margin-top:8px}.panel.handover .bulb-held{background:#ffd84d14;border-radius:12px;padding:10px 12px;box-shadow:inset 0 0 0 1px #ffd84d38}@media (width<=560px){.home-card{top:calc(54px + env(safe-area-inset-top,0px))}}
