@font-face{font-family:G-Star Pretendard;src:url(../fonts/pretendard-korean.woff2) format("woff2");font-weight:45 920;font-style:normal;font-display:block}:root{font-family:G-Star Pretendard,Noto Sans KR,Malgun Gothic,Apple SD Gothic Neo,Noto Sans CJK KR,system-ui,sans-serif;color:#101010;background:#1b1a15;font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-width:320px;background:#1b1a15}button{font:inherit;touch-action:manipulation}[hidden]{display:none!important}#app{min-height:100svh;display:grid;place-items:center}.app-shell{--u: min(calc(100vw / 1080), calc(100svh / 1920));--poke-ms: .52s;position:relative;width:min(100vw,56.25svh);aspect-ratio:9 / 16;overflow:hidden;background:#ffd900;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.display-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.grid-panel{position:absolute;left:calc(48 * var(--u));top:calc(400 * var(--u));width:calc(984 * var(--u));height:calc(1140 * var(--u))}.grid{position:relative;width:100%;height:100%}.tile{position:absolute;isolation:isolate;transition:transform .18s ease,opacity .18s ease,filter .18s ease;will-change:transform}.tile__scene{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:50% 50%;transform-style:preserve-3d}.tile__art,.tile__ghost{position:absolute;top:0;right:0;bottom:0;left:0;background-size:100% 100%;background-repeat:no-repeat;background-position:center}.tile__ghost{opacity:0;filter:saturate(.26) brightness(.6) contrast(.92)}.tile__void{position:absolute;top:7%;right:6%;bottom:7%;left:6%;opacity:0;pointer-events:none;border-radius:4%;background:radial-gradient(ellipse 58% 62% at 50% 52%,#0806038c,#08060357 58%,#08060300);box-shadow:inset 0 0 0 3px #ffd660f5,inset 0 0 30px #ffbe2875,inset 0 0 70px #00000042,0 0 30px #ffbe2857}.grid .tile.is-popout .tile__glow{animation:none;transition:none;box-shadow:inset 0 0 0 2px #ffd65ad9,inset 0 0 26px #ffb81457}.tile__scan{position:absolute;top:0;height:3px;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgb(255 236 170 / .95),transparent);box-shadow:0 0 18px #ffd25ad9}.tile.is-popout{z-index:34!important;transform:none!important;animation:none!important}.tile__glow{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transition:opacity .12s linear}.tile.is-dimmed{opacity:.55}.tile.is-active{z-index:30;transform:scale(1.035);filter:brightness(1.1) drop-shadow(0 0 calc(10 * var(--u)) rgb(255 246 160 / .95)) drop-shadow(0 0 calc(28 * var(--u)) rgb(255 178 0 / .85))}.tile.is-active .tile__glow{opacity:1;box-shadow:inset 0 0 0 calc(3 * var(--u)) #1a1406,inset 0 0 0 calc(13 * var(--u)) #ffd400,inset 0 0 0 calc(16 * var(--u)) #1a1406,inset 0 0 calc(30 * var(--u)) calc(14 * var(--u)) #ffec788c;animation:glow-pulse .42s ease-in-out infinite alternate}.tile.is-target{z-index:31;transform:scale(1.05)}.tile.is-poking{z-index:32;animation:tile-poke var(--poke-ms) cubic-bezier(.24,.82,.32,1) both}.tile.is-poking .tile__glow{opacity:1;animation:tile-flash var(--poke-ms) ease-out both}.tile.is-revealed{z-index:31}.tile.is-revealed .tile__glow{opacity:1;box-shadow:inset 0 0 0 calc(8 * var(--u)) #fffde7,inset 0 0 calc(40 * var(--u)) calc(10 * var(--u)) #ffffdce6}.start-button{position:absolute;left:calc(780 * var(--u));top:calc(1583 * var(--u));width:calc(270 * var(--u));height:calc(292 * var(--u));padding:0;border:0;background:transparent center / 100% 100% no-repeat;cursor:pointer;transition:transform .12s ease,filter .18s ease,opacity .18s ease}.start-button:active:not(:disabled){transform:translateY(calc(5 * var(--u))) scale(.985)}.start-button:disabled{cursor:not-allowed;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible{outline:calc(4 * var(--u)) solid #0b57d0;outline-offset:calc(5 * var(--u))}.status-panel{position:absolute;left:calc(48 * var(--u));top:calc(690 * var(--u));width:calc(984 * var(--u));display:flex;justify-content:center;z-index:8}.status-card{max-width:calc(820 * var(--u));padding:calc(28 * var(--u)) calc(38 * var(--u));background:#ffd900;border:calc(6 * var(--u)) solid #101010;border-radius:calc(26 * var(--u));box-shadow:0 calc(9 * var(--u)) 0 #101010;text-align:center}.status-card h2{margin:0;font-size:calc(40 * var(--u));line-height:1.25;font-weight:900;letter-spacing:-.02em}.status-card p{margin:calc(10 * var(--u)) 0 0;font-size:calc(24 * var(--u));line-height:1.35;word-break:keep-all}.status-card .button-plain{margin-top:calc(18 * var(--u))}.result-modal{position:absolute;left:calc(270 * var(--u));top:calc(1403 * var(--u));width:calc(494 * var(--u));height:calc(327 * var(--u));z-index:40;background:url(../ui/korean/modal-card.webp) center / 100% 100% no-repeat;cursor:pointer;animation:modal-in .34s cubic-bezier(.2,.9,.25,1.06) both}.result-modal__art{position:absolute;z-index:1;object-fit:contain;pointer-events:none;left:calc(225 * var(--u));top:calc(60 * var(--u))}.result-modal__title{position:absolute;z-index:2;margin:0;left:calc(23.4 * var(--u));top:calc(53 * var(--u));width:calc(174 * var(--u));font-size:calc(37 * var(--u));line-height:calc(43.3 * var(--u));font-weight:600;letter-spacing:0;text-align:left;color:#101010;word-break:normal;overflow-wrap:normal}.result-modal__name{position:absolute;z-index:2;margin:0;white-space:nowrap;left:calc(24.9 * var(--u));top:calc(197 * var(--u));font-size:calc(34 * var(--u));line-height:calc(38 * var(--u));font-weight:700;letter-spacing:0;color:#f8cf00;-webkit-text-stroke:calc(2 * var(--u)) #101010;paint-order:stroke fill}.result-modal__gift{position:absolute;z-index:2;margin:0;white-space:nowrap;left:calc(162 * var(--u));top:calc(244 * var(--u));font-size:calc(42.5 * var(--u));line-height:1;font-weight:600;letter-spacing:0;color:#101010}.result-modal__hint{position:absolute;z-index:2;margin:0;white-space:nowrap;left:calc(190.1 * var(--u));top:calc(294 * var(--u));font-size:calc(12.3 * var(--u));line-height:calc(14 * var(--u));font-weight:400;letter-spacing:calc(-.12 * var(--u));color:#101010}.result-modal__confirm{position:absolute;z-index:3;right:calc(46 * var(--u));top:calc(18 * var(--u));width:calc(50 * var(--u));height:calc(50 * var(--u));padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:calc(60 * var(--u));background:#ffd900f7}.overlay-card{width:min(100%,calc(720 * var(--u)));padding:calc(34 * var(--u)) calc(40 * var(--u));display:grid;gap:calc(14 * var(--u));justify-items:center;text-align:center;background:#fffdf3;border:calc(6 * var(--u)) solid #101010;border-radius:calc(28 * var(--u));box-shadow:0 calc(10 * var(--u)) 0 #101010}.overlay-card h2{margin:0;font-size:calc(38 * var(--u));font-weight:900}.overlay-card p{margin:0;font-size:calc(22 * var(--u));line-height:1.4;word-break:keep-all}.login-card{width:min(100%,calc(760 * var(--u)));gap:calc(12 * var(--u));padding:calc(44 * var(--u)) calc(48 * var(--u));font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif}.login-card h2{font-size:calc(46 * var(--u))}.login-card__qr{width:calc(420 * var(--u));aspect-ratio:1;margin:calc(10 * var(--u)) 0;display:grid;place-items:center;background:#fff;border:calc(4 * var(--u)) solid #101010;border-radius:calc(20 * var(--u));overflow:hidden}.login-card__qr svg{display:block;width:100%;height:100%}.login-card__qr.is-empty{background:repeating-linear-gradient(45deg,#f3efdc 0,#f3efdc calc(14 * var(--u)),#fffdf3 0,#fffdf3 calc(28 * var(--u)))}.overlay-card .login-card__label{font-size:calc(22 * var(--u));font-weight:700;color:#5b5643}.overlay-card .login-card__code{font:900 calc(92 * var(--u)) / 1 ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:.16em;padding-left:.16em;color:#101010}.login-card__local{margin-top:calc(6 * var(--u));font-size:calc(26 * var(--u));font-weight:800;color:#101010;text-decoration:underline;text-underline-offset:calc(6 * var(--u));text-decoration-thickness:calc(3 * var(--u))}.overlay-card .login-card__status{min-height:calc(32 * var(--u));font-size:calc(26 * var(--u));font-weight:700}.button-plain{padding:calc(14 * var(--u)) calc(28 * var(--u));font-size:calc(25 * var(--u));font-weight:900;color:#101010;background:#ffd900;border:calc(4 * var(--u)) solid #101010;border-radius:calc(14 * var(--u));box-shadow:0 calc(5 * var(--u)) 0 #101010;cursor:pointer}.button-plain:active{transform:translateY(calc(3 * var(--u)));box-shadow:0 calc(2 * var(--u)) 0 #101010}@keyframes glow-pulse{0%{opacity:.78}to{opacity:1}}@keyframes tile-poke{0%{transform:scale(1.05)}28%{transform:scale(1.16) rotate(-1.2deg);filter:brightness(1.35)}58%{transform:scale(.97) rotate(.8deg)}to{transform:scale(1.03) rotate(0);filter:brightness(1.08)}}@keyframes tile-flash{0%{opacity:0}22%{opacity:1}60%{opacity:.55}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(calc(26 * var(--u))) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.app-shell{--poke-ms: 1ms}.tile,.start-button{transition:none}.tile.is-active .tile__glow,.tile.is-poking,.result-modal{animation:none}.button-plain:active,.start-button:active:not(:disabled){transform:none}}.model-popover{position:fixed;z-index:35;pointer-events:none;overflow:visible}.model-popover__canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.grid:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:33;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 46%,#100a03f0 0,#0b0702e0 55%,#080502c2);transition:opacity .95s ease-out}.grid.is-stage:after{opacity:1;transition:opacity .6s ease-in}.tile.is-closing{animation:tile-close-paper var(--retract-duration) ease-out both}.tile.is-closing .tile__glow{opacity:1;animation:tile-close-glow var(--retract-duration) ease-out both}@keyframes tile-close-paper{0%,64%{transform:scale(1.03)}78%{transform:scale(.985)}to{transform:scale(1)}}@keyframes tile-close-glow{0%,56%{opacity:0}72%{opacity:1}to{opacity:0}}.result-modal.is-leaving{animation:modal-leave .3s cubic-bezier(.4,0,.7,.2) both;pointer-events:none}@keyframes modal-leave{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(calc(18 * var(--u))) scale(.94)}}@media(prefers-reduced-motion:reduce){.grid:after,.grid.is-stage:after{transition:none}.tile.is-closing,.tile.is-closing .tile__glow{animation:none}.result-modal.is-leaving{animation:none;opacity:0}}
