@font-face{font-family:Hahmlet;src:url(/fonts/Hahmlet.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Song Myung;src:url(/fonts/SongMyung-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:MaruBuri;src:url(/fonts/MaruBuri-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:MaruBuri;src:url(/fonts/MaruBuri-SemiBold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond.ttf)format("truetype");font-weight:300 700;font-display:swap}@font-face{font-family:Black Han Sans;src:url(/fonts/BlackHanSans-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans KR;src:url(/fonts/NotoSansKR-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans KR;src:url(/fonts/NotoSansKR-Bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{--c-bg:#ebe0cb;--c-surface:#f4ecdc;--c-raised:#ddcfb4;--c-text-strong:#241c1d;--c-text:#2e2627;--c-text-dim:#6b645a;--c-gold:#9a3b30;--c-gold-ink:#f4ecdc;--c-line:#2e262747;--c-line-gold:#2e2627b3;--c-curtain-deep:#4a1418;--c-curtain:#893135;--g-gold-line:linear-gradient(90deg, #2e2627, #2e2627);--c-mustard:#d9bd6a;--c-brick:#9a3b30;--c-terracotta:#c19d88;--c-teal:#89b6bb;--c-sage:#9fa298;--c-ink:#2e2627;--c-paper:#ebe0cb;--print-shadow:calc(var(--u) * .45) calc(var(--u) * .45) 0 var(--c-ink);--paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.18 0 0 0 0 0.15 0 0 0 0 0.15 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");--neon-bg:#000;--neon-bg-2:#04070d;--neon-panel:#0a0f16;--neon-surface:#0b1622;--neon-border:#294651;--neon-text:#f5f9ff;--neon-text-2:#e5eef5;--neon-brand:#b7c9d5;--neon-dim:#a4bac9;--neon-track:#243645;--neon-cyan:#35e6ee;--neon-cyan-ink:#04121a;--neon-magenta:#fa46d5;--neon-font:"Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--neon-font-title:"Black Han Sans", "Noto Sans KR", sans-serif;--glass-prism:url(/glass/bg-prism.webp);--glass-font-title:"Hahmlet", "Noto Sans KR", serif;--neon-r-panel:calc(var(--px) * 22);--neon-r-btn:calc(var(--px) * 16);--neon-touch:max(76px, calc(var(--px) * 80));--font-display:"Song Myung", "Hahmlet", "MaruBuri", "Batang", serif;--font-ui:"Hahmlet", "MaruBuri", "Batang", serif;--font-body:"MaruBuri", "Hahmlet", "Noto Serif KR", "Batang", serif;--font-label:"Cormorant Garamond", "Hahmlet", serif;--lpx:min(calc(100vw / 1920), calc(100vh / 1080));--u:min(1vh, 1.6vw);--px:calc(var(--u) / 12.8);--fs-label:calc(var(--u) * 1.2);--fs-small:calc(var(--u) * 1.5);--fs-body:calc(var(--u) * 1.875);--fs-sub:calc(var(--u) * 2.35);--fs-title:calc(var(--u) * 3.45);--fs-display:calc(var(--u) * 5.3);--lh-body:1.6;--lh-tight:1.25;--ls-label:.14em;--sp-1:calc(var(--u) * .625);--sp-2:calc(var(--u) * 1.25);--sp-3:calc(var(--u) * 1.875);--sp-4:calc(var(--u) * 2.5);--sp-6:calc(var(--u) * 3.75);--sp-8:calc(var(--u) * 5);--sp-10:calc(var(--u) * 6.25);--page-x:6vw;--r-sm:2px;--r-md:4px;--r-pill:9999px;--touch:max(76px, calc(var(--u) * 5.9));--ease:cubic-bezier(.16, 1, .3, 1);--t-fast:.18s;--t-base:.3s;--t-scene:.9s;--theme:var(--c-gold);--bg:var(--c-bg);--bg-2:var(--c-surface);--ink:var(--c-text-strong);--ink-dim:var(--c-text-dim);--gold:var(--c-gold);--radius:var(--r-md);--font:var(--font-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400}*,:before,:after{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;word-break:keep-all}button{font:inherit;color:inherit}.app{isolation:isolate;background-color:var(--neon-bg-2);width:100%;height:100%;color:var(--neon-text);font-family:var(--neon-font);position:relative;overflow:hidden}.app[data-phase=faceScan],.app[data-phase=faceResult]{background-color:#05081f}.app:after{content:"";z-index:-1;background:#05081f var(--glass-prism) center / cover no-repeat;opacity:0;transition:opacity var(--t-scene) var(--ease);pointer-events:none;position:absolute;inset:0}.app[data-phase=faceScan]:after,.app[data-phase=faceResult]:after{opacity:1}.glass-panel{box-shadow:inset 0 1px 0 #fff6, inset 0 -1px 0 #ffffff1a, 0 calc(var(--px) * 3) calc(var(--px) * 10) #0000001f;background:linear-gradient(127deg,#ffffff17 0%,#fff0 50%,#ffffff0a 100%),#00000013;border:1px solid #ffffff57}.glass-panel-deep{box-shadow:inset 0 1px 0 #ffffff47, 0 calc(var(--px) * 3) calc(var(--px) * 10) #00000029;background:linear-gradient(127deg,#ffffff12 0%,#fff0 50%,#ffffff08 100%),#03061a61;border:1px solid #ffffff42}.ui-rule{background:var(--c-ink);border:0;height:2px}.scb{--scb-p:0;--scb-w:calc(max(100vw, 100vh * var(--scb-aspect)) * var(--scb-zoom));--scb-h:calc(var(--scb-w) / var(--scb-aspect));--scb-on-dark:#f4ecdc;--scb-on-dark-dim:#f4ecdcb8;isolation:isolate;text-align:center;touch-action:none;background:var(--scb-bg);position:absolute;inset:0;overflow:hidden}.scb-plate{left:50%;top:var(--scb-cy);width:var(--scb-w);height:var(--scb-h);transform:translate(calc(var(--scb-bx) * -100%), calc(var(--scb-by) * -100%));position:absolute}.scb-plate>*{pointer-events:none}.scb-room{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.scb-flame{aspect-ratio:1;mix-blend-mode:screen;will-change:opacity;animation:scb-flicker calc(2.3s + var(--k) * .47s) ease-in-out calc(var(--k) * -.9s) infinite;background:radial-gradient(circle,#ffb0546b 0,#ff963c24 32%,#0000 68%);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}@keyframes scb-flicker{0%,to{opacity:.55}18%{opacity:.9}31%{opacity:.5}47%{opacity:1}63%{opacity:.62}82%{opacity:.85}}.scb-tableglow{aspect-ratio:2.6;mix-blend-mode:screen;width:96%;opacity:calc(.12 + var(--scb-p) * .7);background:radial-gradient(closest-side,#ffbe6e80,#0000);border-radius:50%;position:absolute;top:80%;left:50%;transform:translate(-50%,-50%)}.scb-plate>.scb-stage{left:calc(var(--scb-bx) * 100%);top:calc(var(--scb-by) * 100%);width:calc(var(--scb-br) * 300%);aspect-ratio:1;touch-action:none;pointer-events:auto;position:absolute;transform:translate(-50%,-50%)}.scb-stage>*{pointer-events:none}.scb-canvas,.scb-ring{width:100%;height:100%;position:absolute;inset:0}.scb-flatball{background:radial-gradient(circle at 36% 30%,#5c6f96 0,#1a2440 45%,#05070f 100%);border-radius:50%;display:none;position:absolute;inset:16.6667%}.scb[data-flat] .scb-flatball{display:block}.scb-ring{transform:rotate(-90deg)}.scb-ring-fill{fill:none;stroke:#ffd08a;stroke-width:.5px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--scb-p));opacity:calc(var(--scb-p) * 20)}.scb-shade{pointer-events:none;background:linear-gradient(180deg, rgb(var(--scb-shade) / .72) 0, rgb(var(--scb-shade) / 0) 20%, rgb(var(--scb-shade) / 0) 76%, rgb(var(--scb-shade) / .82) 100%);position:absolute;inset:0}.scb-title{left:50%;top:calc(var(--u) * 3.2);pointer-events:none;width:min(70vw,46vh);height:auto;filter:drop-shadow(0 calc(var(--u) * .3) calc(var(--u) * 1.2) rgb(var(--scb-shade) / .7));position:absolute;transform:translate(-50%)}.scb-prompt{left:0;right:0;bottom:var(--sp-8);pointer-events:none;transition:opacity var(--t-base) var(--ease);justify-content:center;margin:0;display:flex;position:absolute}.scb-prompt span{text-align:center;padding:calc(var(--u) * 1.5 - .055em) calc(var(--u) * 4.4) calc(var(--u) * 1.5 + .055em);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(calc(var(--u) * 1.4)) saturate(1.5);backdrop-filter:blur(calc(var(--u) * 1.4)) saturate(1.5);box-shadow:inset 0 1px 0 #ffffffb3, inset 0 calc(var(--u) * -.8) calc(var(--u) * 1.6) #ffffff14, 0 calc(var(--u) * .8) calc(var(--u) * 2.4) rgb(var(--scb-shade) / .45);font-family:var(--font-ui);font-size:calc(var(--u) * 3.9);letter-spacing:.01em;color:#fff;text-shadow:0 1px calc(var(--u) * .6) rgb(var(--scb-shade) / .75);white-space:nowrap;background:linear-gradient(#ffffff4d 0,#ffffff1a 100%);border:1.5px solid #ffffff8c;justify-content:center;align-items:center;font-weight:700;line-height:1.3;animation:2.8s ease-in-out infinite scb-beckon;display:inline-flex;position:relative}@keyframes scb-beckon{0%,to{filter:brightness(.92)}50%{filter:brightness(1.12)}}.scb[data-rubbing] .scb-prompt{opacity:.35}.scb-logo{pointer-events:none;height:min(7vh,9vw);filter:drop-shadow(0 0 1.2vh rgb(var(--scb-shade) / .85));position:absolute;bottom:max(3.5vh,2.5vw);left:max(3.5vh,2.5vw)}.scb-flash{z-index:2;justify-content:center;align-items:center;gap:var(--sp-3);background-color:var(--c-bg);background-image:var(--paper-grain);animation:scb-flash .56s var(--ease) .32s both;flex-direction:column;display:flex;position:absolute;inset:0}.scb-flash span{font-family:var(--font-display);font-size:var(--fs-title);font-weight:400;line-height:var(--lh-tight);color:var(--c-text-strong)}.scb-flash-rule{width:calc(var(--u) * 12)}@keyframes scb-flash{0%{clip-path:circle(0 at 50% var(--scb-cy))}to{clip-path:circle(150vh at 50% var(--scb-cy))}}.scb-flash[data-art]{background:var(--scb-bg);display:block;overflow:hidden}.scb-awake-plate{transform-origin:0 0;will-change:scale;animation:3.4s cubic-bezier(.2,.6,.3,1) .32s both scb-awake-zoom}@keyframes scb-awake-zoom{0%{scale:1.16}to{scale:1.04}}.scb-awake-plate .scb-room{translate:var(--scb-ax,0%) var(--scb-ay,0%)}.scb-awake-glow{left:calc(var(--scb-bx) * 100%);top:calc(var(--scb-by) * 100% + 1%);aspect-ratio:1;mix-blend-mode:screen;will-change:scale, opacity;background:radial-gradient(closest-side,#fff4d68c 0,#ffd68c42 26%,#ffbe6e14 52%,#0000 72%);border-radius:50%;width:150%;animation:1.5s ease-in-out .6s infinite both scb-awake-pulse;position:absolute;translate:-50% -50%}@keyframes scb-awake-pulse{0%,to{opacity:.55;scale:.82}50%{opacity:1;scale:1.08}}.scb-awake-burst{background:radial-gradient(circle at 50% var(--scb-cy), #fff 0, #fff4d6d9 30%, #fff4d600 75%);opacity:0;pointer-events:none;animation:.9s ease-out .32s both scb-awake-burst;position:absolute;inset:0}@keyframes scb-awake-burst{0%{opacity:0}18%{opacity:1}to{opacity:0}}.scb-awake-spark{aspect-ratio:1;clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);filter:drop-shadow(0 0 calc(var(--u) * .6) #ffd68ce6);will-change:scale, opacity;animation:scb-awake-twinkle calc(1.1s + var(--k) * 90ms) ease-in-out calc(.7s + var(--k) * .13s) infinite both;background:#fff6dc;position:absolute;translate:-50% -50%;scale:0}@keyframes scb-awake-twinkle{0%,to{opacity:0;rotate:0deg;scale:0}50%{opacity:1;rotate:45deg;scale:1}}.scb-awake-title{left:50%;bottom:calc(var(--sp-10) + var(--sp-2));transform-origin:50% 70%;width:min(86vw,56vh);height:auto;filter:drop-shadow(0 calc(var(--u) * .4) calc(var(--u) * 1.6) rgb(var(--scb-shade) / .85));will-change:scale, opacity;animation:.76s cubic-bezier(.2,1.5,.4,1) 1s both scb-awake-pop;position:absolute;translate:-50%}@keyframes scb-awake-pop{0%{opacity:0;scale:.55}55%{opacity:1}to{opacity:1;scale:1}}.holo{width:100%;height:calc(var(--lpx) * 540);position:relative}.holo-canvas{inset:0;position:absolute!important}.fsc{color:#fff;font-family:var(--neon-font);word-break:keep-all;text-shadow:0 calc(var(--lpx) * 2) calc(var(--lpx) * 12) #0a103899;position:absolute;inset:0;overflow:hidden}.fsc-head{left:calc(var(--lpx) * 96);top:calc(var(--lpx) * 88);width:calc(var(--lpx) * 400);position:absolute}.fsc-brand{font-size:calc(var(--lpx) * 22);opacity:.85;margin:0;line-height:1.4}.fsc-title{margin:calc(var(--lpx) * 14) 0 0;line-height:0}.fsc-title img{width:calc(var(--lpx) * 380);height:auto;filter:drop-shadow(0 calc(var(--lpx) * 4) calc(var(--lpx) * 14) #0009);display:block}.fsc-sub{margin:calc(var(--lpx) * 12) 0 0;font-size:calc(var(--lpx) * 24);color:#ffffffd1;line-height:1.4}.fsc-steps{left:calc(var(--lpx) * 96);top:calc(var(--lpx) * 420);width:calc(var(--lpx) * 380);gap:calc(var(--lpx) * 16);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:absolute}.fsc-step{grid-template-columns:calc(var(--lpx) * 72) 1fr auto;align-items:center;gap:calc(var(--lpx) * 18);height:calc(var(--lpx) * 96);padding:0 calc(var(--lpx) * 24) 0 calc(var(--lpx) * 12);border-radius:calc(var(--lpx) * 20);opacity:.55;transition:opacity var(--t-base) var(--ease), border-color var(--t-base) var(--ease), background var(--t-base) var(--ease);background:#03061a61;border:1px solid #fff3;display:grid}.fsc-step[data-state=now]{opacity:1;border-color:var(--neon-cyan);box-shadow:0 0 calc(var(--lpx) * 28) #35e6ee59;background:#35e6ee1f}.fsc-step[data-state=done]{opacity:.95}.fsc-step-icon{width:calc(var(--lpx) * 72);height:calc(var(--lpx) * 72);border:1px solid #ffffff73;border-radius:50%;place-items:center;display:grid}.fsc-step-icon svg{width:58%;height:58%}.fsc-step[data-state=now] .fsc-step-icon{border-color:var(--neon-cyan);color:var(--neon-cyan)}.fsc-step-name{font-size:calc(var(--lpx) * 30);font-weight:700}.fsc-step-state{font-size:calc(var(--lpx) * 20);color:#fffc}.fsc-step[data-state=now] .fsc-step-state{color:var(--neon-cyan)}.fsc-orb{width:calc(var(--lpx) * 880);height:calc(var(--lpx) * 880);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fsc-orb:before{content:"";box-shadow:0 0 calc(var(--lpx) * 80) #35e6ee38, 0 0 calc(var(--lpx) * 200) #506eff2e;pointer-events:none;border-radius:50%;position:absolute;inset:4%}.fsc-canvas{width:100%;height:100%;display:block;position:relative}.fsc-guide{right:calc(var(--lpx) * 60);top:calc(50% - var(--lpx) * 330);width:calc(var(--lpx) * 440);text-align:center;word-break:keep-all;position:absolute}.fsc-caption{margin-top:calc(var(--lpx) * -8);padding:calc(var(--lpx) * 18) calc(var(--lpx) * 20) calc(var(--lpx) * 20);border-radius:calc(var(--lpx) * 18);background:#060c288c;box-shadow:inset 0 0 0 1px #35e6ee47}.fsc-caret{vertical-align:-.08em;width:0;height:.9em;animation:.8s step-end infinite fsc-caret;display:inline-block;position:relative}.fsc-caret:after{content:"";left:calc(var(--lpx) * 2);width:calc(var(--lpx) * 3);background:currentColor;position:absolute;top:0;bottom:0}.fsc-rest{visibility:hidden}.fsc-caret[data-done]{animation:.8s step-end 3 forwards fsc-caret}@keyframes fsc-caret{50%{opacity:0}to{opacity:0}}.fsc-guide-title{font-family:var(--glass-font-title);font-size:calc(var(--lpx) * 38);white-space:pre-line;text-wrap:balance;min-height:1.3em;margin:0;font-weight:600;line-height:1.3}.fsc-guide-sub{margin:calc(var(--lpx) * 10) 0 0;font-size:calc(var(--lpx) * 22);white-space:pre-line;text-wrap:balance;color:#ffffffd1;line-height:1.5}.fsc[data-stage=scan] .fsc-guide-title,.fsc[data-stage=mesh] .fsc-guide-title{color:var(--neon-cyan)}.fsc-privacy{left:0;right:0;bottom:calc(var(--lpx) * 36);text-align:center;font-size:calc(var(--lpx) * 18);color:#fff9;margin:0;position:absolute}.fsc-logo{left:calc(var(--lpx) * 96);bottom:calc(var(--lpx) * 40);height:calc(var(--lpx) * 72);filter:drop-shadow(0 0 calc(var(--lpx) * 10) #0a1038bf);position:absolute}@keyframes fsc-in{0%{opacity:0;transform:translateY(calc(var(--lpx) * 10))}}.frs{width:calc(var(--lpx) * 1920);height:calc(var(--lpx) * 1080);color:#fff;font-family:var(--neon-font);text-align:center;word-break:keep-all;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.frs-head{left:0;right:0;top:calc(var(--lpx) * 32);text-shadow:0 calc(var(--lpx) * 2) calc(var(--lpx) * 12) #0a103899;position:absolute}.frs-brand{font-size:calc(var(--lpx) * 20);opacity:.85;margin:0}.frs-title{margin:calc(var(--lpx) * 8) 0 0;font-family:var(--glass-font-title);font-size:calc(var(--lpx) * 44);font-weight:600;line-height:1.25}.frs-col{top:calc(var(--lpx) * 200);bottom:calc(var(--lpx) * 48);flex-direction:column;align-items:stretch;display:flex;position:absolute}.frs-type{left:calc(var(--lpx) * 96);width:calc(var(--lpx) * 520);align-items:center}.frs-parts{left:calc(var(--lpx) * 656);width:calc(var(--lpx) * 608)}.frs-side{left:calc(var(--lpx) * 1304);width:calc(var(--lpx) * 520)}.frs-sent{text-wrap:balance;display:block}.frs-panel{border-radius:calc(var(--lpx) * 24)}.frs-sec{margin:0 0 calc(var(--lpx) * 16);font-size:calc(var(--lpx) * 24);line-height:calc(var(--lpx) * 30);color:var(--neon-cyan);letter-spacing:.04em;font-weight:700}.frs-animal{width:calc(var(--lpx) * 330);height:calc(var(--lpx) * 330);margin-top:calc(var(--lpx) * 10);border:calc(var(--lpx) * 3) solid #ffffffd9;box-shadow:0 0 calc(var(--lpx) * 60) #35e6ee73, inset 0 0 calc(var(--lpx) * 40) #35e6ee4d;color:var(--neon-cyan);animation:frs-pop .9s var(--ease) both, frs-pulse 2.4s ease-in-out .9s infinite;background:radial-gradient(circle at 50% 40%,#35e6ee47,#05081fa6 70%);border-radius:50%;place-items:center;display:grid;position:relative}.frs-animal:before,.frs-animal:after{content:"";inset:calc(var(--lpx) * -3);border:calc(var(--lpx) * 2) solid #35e6eeb3;opacity:0;pointer-events:none;border-radius:50%;animation:2.4s ease-out .9s infinite frs-ripple;position:absolute}.frs-animal:after{animation-delay:2.1s}.frs-animal svg{width:62%;height:62%;filter:drop-shadow(0 0 calc(var(--lpx) * 14) #35e6eecc);animation:2.4s ease-in-out .9s infinite frs-icon-glow}@keyframes frs-pulse{0%,to{box-shadow:0 0 calc(var(--lpx) * 60) #35e6ee73, inset 0 0 calc(var(--lpx) * 40) #35e6ee4d;transform:scale(1)}50%{box-shadow:0 0 calc(var(--lpx) * 110) #35e6eebf, inset 0 0 calc(var(--lpx) * 60) #35e6ee80;transform:scale(1.04)}}@keyframes frs-ripple{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes frs-icon-glow{0%,to{filter:drop-shadow(0 0 calc(var(--lpx) * 14) #35e6eecc)}50%{filter:drop-shadow(0 0 calc(var(--lpx) * 30) #96faff)}}@media (prefers-reduced-motion:reduce){.frs-animal,.frs-animal:before,.frs-animal:after,.frs-animal svg{animation:frs-pop .9s var(--ease) both}.frs-part-icon{animation:none}}@keyframes frs-pop{0%{opacity:0;filter:blur(calc(var(--lpx) * 8));transform:scale(.6)}}.frs-name{margin:calc(var(--lpx) * 18) 0 0;font-family:var(--glass-font-title);font-size:calc(var(--lpx) * 68);font-weight:600;line-height:1.1}.frs-tagline{margin:calc(var(--lpx) * 10) 0 0;font-size:calc(var(--lpx) * 26);color:#ffffffe0}.frs-personality{padding:calc(var(--lpx) * 24) calc(var(--lpx) * 32);font-size:calc(var(--lpx) * 22);align-self:stretch;margin:auto 0 0;line-height:1.6}.frs-part-grid{gap:calc(var(--lpx) * 20);flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.frs-part{padding:calc(var(--lpx) * 40) calc(var(--lpx) * 28) calc(var(--lpx) * 24);flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.frs-part-icon{width:calc(var(--lpx) * 76);height:calc(var(--lpx) * 76);border:1px solid var(--neon-cyan);color:var(--neon-cyan);box-shadow:0 0 calc(var(--lpx) * 18) #35e6ee4d;border-radius:50%;place-items:center;animation:2.4s ease-in-out 1.2s infinite frs-part-pulse;display:grid}.frs-part:nth-child(2) .frs-part-icon{animation-delay:1.5s}.frs-part:nth-child(3) .frs-part-icon{animation-delay:1.8s}.frs-part:nth-child(4) .frs-part-icon{animation-delay:2.1s}@keyframes frs-part-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.frs-part-icon svg{width:58%;height:58%}.frs-part-kr{margin-top:calc(var(--lpx) * 12);font-size:calc(var(--lpx) * 18);color:#ffffffb3}.frs-part-label{margin-top:calc(var(--lpx) * 4);font-size:calc(var(--lpx) * 27);line-height:1.3}.frs-part-line{margin:calc(var(--lpx) * 14) 0 0;font-size:calc(var(--lpx) * 21);color:#ffffffe6;line-height:1.6}.frs-fortunes{padding:calc(var(--lpx) * 22) calc(var(--lpx) * 30);justify-content:center;gap:calc(var(--lpx) * 16);flex-direction:column;flex:1;margin:0;display:flex}.frs-fortunes dt{font-size:calc(var(--lpx) * 21);color:var(--neon-cyan);font-weight:700}.frs-fortunes dd{margin:calc(var(--lpx) * 4) 0 0;font-size:calc(var(--lpx) * 20);line-height:1.5}.frs-advice{margin:calc(var(--lpx) * 26) 0 0;font-family:var(--glass-font-title);font-size:calc(var(--lpx) * 25);text-wrap:balance;line-height:1.45}.frs-bottom{margin-top:calc(var(--lpx) * 20);height:calc(var(--lpx) * 393);gap:calc(var(--lpx) * 18);flex:none;grid-template-columns:1fr auto;display:grid}.frs-lucky{gap:calc(var(--lpx) * 12);flex-direction:column;display:flex}.frs-lucky .frs-tile{flex:1;justify-content:center}.frs-tile{align-items:center;gap:calc(var(--lpx) * 2);padding:calc(var(--lpx) * 10) calc(var(--lpx) * 16);font-size:calc(var(--lpx) * 17);color:#fffc;flex-direction:column;display:flex}.frs-tile b{font-size:calc(var(--lpx) * 26);color:#fff}.frs-btn{min-height:max(64px, calc(var(--lpx) * 76));border-radius:calc(var(--lpx) * 18);color:#fff;font-size:calc(var(--lpx) * 26);cursor:pointer;background:#ffffff14;border:1px solid #ffffffb3;margin-top:auto;font-weight:700}.frs-btn:active{background:#fff3}.frs-qr{justify-content:center;align-items:center;gap:calc(var(--lpx) * 8);padding:calc(var(--lpx) * 14);font-size:calc(var(--lpx) * 18);flex-direction:column;display:flex}.frs-qr-box{width:calc(var(--lpx) * 200);height:calc(var(--lpx) * 200)}.frs-qr-box>*{width:100%!important;height:100%!important}.frs-qr-box svg{width:100%;height:100%}.frs-logo{left:calc(var(--lpx) * 96);top:calc(var(--lpx) * 40);height:calc(var(--lpx) * 72);filter:drop-shadow(0 0 calc(var(--lpx) * 10) #0a1038bf);position:absolute}.frs-in{animation:frs-in .7s var(--ease) both}.frs-type .frs-name{animation-delay:.5s}.frs-type .frs-tagline{animation-delay:.62s}.frs-type .frs-advice{animation-delay:.68s}.frs-type .frs-personality,.frs-parts .frs-in{animation-delay:.74s}.frs-part:nth-child(2){animation-delay:.82s}.frs-part:nth-child(3){animation-delay:.9s}.frs-part:nth-child(4){animation-delay:.98s}.frs-side .frs-in{animation-delay:1.06s}@keyframes frs-in{0%{opacity:0;transform:translateY(calc(var(--lpx) * 18))}}.scr-qap{left:var(--sp-1);bottom:var(--sp-1);z-index:9999;max-width:min(calc(var(--u) * 36), calc(100vw - var(--sp-1) * 2));align-items:flex-start;gap:var(--sp-1);color:#fff;font-family:var(--neon-font);font-size:var(--fs-small);flex-direction:column-reverse;font-weight:400;line-height:1.5;display:flex;position:fixed}.scr-qap[data-open]{padding:var(--sp-1);border-radius:calc(var(--px) * 12);background:#05081fd6;border:1px solid #ffffff4d;box-shadow:inset 0 1px #ffffff3d}.scr-qap button{min-height:var(--sp-6);padding:0 var(--sp-2);border-radius:calc(var(--px) * 8);color:#fff;font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-small);cursor:pointer;touch-action:manipulation;background:#05081fb8;border:1px solid #ffffff5c;line-height:1.2}.scr-qap button:active{filter:brightness(.9)}.scr-qap button[data-on]{background:linear-gradient(#ffffff42,#ffffff42),#05081fb8;border-color:#fff;box-shadow:inset 0 0 0 1px #ffffffe6}.scr-qap-toggle{min-width:var(--sp-8)}.scr-qap:not([data-open]) .scr-qap-toggle{opacity:.7}.scr-qap-body{gap:var(--sp-1);display:grid}.scr-qap-row{gap:var(--sp-1);flex-wrap:wrap;display:flex}.scr-qap-info{color:#ffffffb8;margin:0}.scr-qap-info b{color:#fff;font-family:ui-monospace,Consolas,monospace;font-weight:400}.kiosk-hotzone{z-index:2147483000;touch-action:none;background:0 0;width:90px;height:90px;position:fixed;top:0;left:0}.kiosk-idle,.kiosk-admin{--k-text:#eef2fb;--k-text-2:#ffffffdb;--k-text-3:#ffffffb8;--k-r-panel:calc(var(--px) * 20);--k-r-btn:calc(var(--px) * 16);--k-touch:max(76px, calc(var(--px) * 80));--k-shadow:0 calc(var(--px) * 1) calc(var(--px) * 8) #0a103899;--k-panel-border:#ffffff42;--k-panel-bg:linear-gradient(127deg, #ffffff12 0%, #fff0 50%, #ffffff08 100%), #03061a61;--k-panel-shadow:inset 0 1px 0 #ffffff47, 0 calc(var(--px) * 3) calc(var(--px) * 10) #00000029;--k-bright-bg:linear-gradient(127deg, #ffffff42 0%, #ffffff1a 50%, #ffffff29 100%), #03061a4d}.kiosk-gbtn{appearance:none;box-sizing:border-box;min-height:var(--k-touch);padding:0 calc(var(--px) * 24);border-radius:var(--k-r-btn);box-shadow:inset 0 1px 0 #ffffff4d, 0 calc(var(--px) * 3) calc(var(--px) * 10) #00000029;color:#fff;font-family:var(--neon-font);font-size:calc(var(--px) * 22);text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:linear-gradient(127deg,#ffffff14 0%,#fff0 50%,#ffffff08 100%),#03061a61;border:1px solid #ffffff5c;justify-content:center;align-items:center;margin:0;font-weight:700;line-height:1.2;transition:filter .12s ease-out,transform .12s ease-out,opacity .12s ease-out;display:inline-flex}.kiosk-gbtn-primary{background:var(--k-bright-bg);box-shadow:inset 0 1px 0 #fff9, 0 0 calc(var(--px) * 18) #ffffff29, 0 calc(var(--px) * 3) calc(var(--px) * 10) #00000029;border-color:#ffffffc7}.kiosk-gbtn:active{filter:brightness(.9);transform:scale(.98)}.kiosk-gbtn:disabled{opacity:.38;pointer-events:none}.kiosk-idle{z-index:2147483600;padding:calc(var(--px) * 24) calc(var(--px) * 24) calc(var(--px) * 122);color:var(--k-text);font-family:var(--neon-font);text-align:center;word-break:keep-all;touch-action:none;animation:kiosk-fade var(--t-base) var(--ease);background:#05081fc7;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kiosk-idle-panel{width:100%;max-width:calc(var(--px) * 654);padding:calc(var(--px) * 39) calc(var(--px) * 40) calc(var(--px) * 40);border:1px solid var(--k-panel-border);border-radius:var(--k-r-panel);background:var(--k-panel-bg);box-shadow:var(--k-panel-shadow);flex-direction:column;align-items:stretch;display:flex}.kiosk-idle-title{color:#fff;font-family:var(--glass-font-title);font-size:calc(var(--px) * 38);margin:0;font-weight:600;line-height:1.5}.kiosk-idle-count{margin:calc(var(--px) * 26) 0 0;color:#fff;font-size:calc(var(--px) * 100);font-variant-numeric:tabular-nums;text-shadow:0 0 calc(var(--px) * 28) #ffffff47;font-weight:700;line-height:1.5}.kiosk-idle-hint{margin:calc(var(--px) * 26) 0 0;color:var(--k-text-2);font-size:calc(var(--px) * 23);font-weight:400;line-height:1.5}.kiosk-idle-btn{width:100%;margin-top:calc(var(--px) * 26)}@keyframes kiosk-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.kiosk-idle{animation:none}}.kiosk-admin{z-index:2147483500;isolation:isolate;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;color:var(--k-text);font-family:var(--neon-font);font-size:calc(var(--px) * 21);word-break:keep-all;background-color:#05081f;font-weight:400;line-height:1.5;position:fixed;inset:0;overflow:hidden auto}.kiosk-admin::-webkit-scrollbar{width:0;height:0;display:none}.kiosk-admin:before{content:"";z-index:-1;background:linear-gradient(#05081f99, #05081f99), #05081f var(--glass-prism) center / cover no-repeat;pointer-events:none;position:fixed;inset:0}.kiosk-head{color:#fff;text-align:left;word-break:keep-all;text-shadow:var(--k-shadow);flex-direction:column;align-items:flex-start;display:flex}.kiosk-brand{margin:0 0 calc(var(--px) * 22) calc(var(--px) * 64);color:var(--k-text-2);font-family:var(--neon-font);font-size:calc(var(--px) * 17);font-weight:400;line-height:calc(var(--px) * 26);white-space:pre}.kiosk-title{color:#fff;font-family:var(--glass-font-title);font-size:calc(var(--px) * 38);font-weight:600;line-height:calc(var(--px) * 56);margin:0}.kiosk-sub{margin:calc(var(--px) * 22) 0 0;color:var(--k-text-2);font-family:var(--neon-font);font-size:calc(var(--px) * 22);font-weight:400;line-height:1.5}.kiosk-pin{min-height:100%;padding:calc(var(--px) * 90) calc(var(--px) * 100) calc(var(--px) * 48);flex-direction:column;display:flex}.kiosk-pin-dots{justify-content:center;gap:calc(var(--px) * 30);margin-top:calc(var(--px) * 44);display:flex}.kiosk-pin-dot{box-sizing:border-box;width:calc(var(--px) * 16);height:calc(var(--px) * 16);background:#ffffff1a;border:1px solid #ffffff80;border-radius:50%}.kiosk-pin-dot[data-filled=true]{box-shadow:0 0 calc(var(--px) * 10) #ffffff80;background:#fff;border-color:#fff}.kiosk-pin-msg{margin:calc(var(--px) * 12) 0 calc(var(--px) * 10);color:#fff;min-height:1.5em;font-size:calc(var(--px) * 20);text-align:center;text-shadow:var(--k-shadow);font-weight:700;line-height:1.5}.kiosk-pin-keys{gap:calc(var(--px) * 16);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.kiosk-admin .kiosk-key{min-height:max(var(--k-touch), calc(var(--px) * 94));font-variant-numeric:tabular-nums;padding:0}.kiosk-menu{gap:calc(var(--px) * 22);min-height:100%;padding:calc(var(--px) * 56) calc(var(--px) * 48) calc(var(--px) * 48);flex-direction:column;display:flex}.kiosk-menu-head{justify-content:space-between;align-items:flex-start;gap:calc(var(--px) * 16);margin-bottom:calc(var(--px) * 2);display:flex}.kiosk-menu-head .kiosk-head{flex:1;min-width:0}.kiosk-menu-head .kiosk-brand{max-width:100%;overflow:hidden}.kiosk-admin .kiosk-close{margin-top:calc(var(--px) * 40);flex:none}.kiosk-part{margin-top:calc(var(--px) * 26)}.kiosk-card{padding:calc(var(--px) * 24);border:1px solid var(--k-panel-border);border-radius:var(--k-r-panel);background:var(--k-panel-bg);box-shadow:var(--k-panel-shadow)}.kiosk-card-title{margin:0 0 calc(var(--px) * 16);color:#fff;font-size:calc(var(--px) * 28);font-weight:700;line-height:1.5}.kiosk-row-even{grid-template-columns:repeat(auto-fit, minmax(calc(var(--px) * 170), 1fr));gap:calc(var(--px) * 12);display:grid}.kiosk-admin .kiosk-btn{min-width:0;padding:0 calc(var(--px) * 18)}.kiosk-admin .kiosk-btn-wide{width:100%}.kiosk-admin .kiosk-toggle{color:var(--k-text-3)}.kiosk-admin .kiosk-toggle[aria-pressed=true]{background:var(--k-bright-bg);box-shadow:inset 0 0 0 1px #ffffffe6, 0 0 calc(var(--px) * 18) #fff3, 0 calc(var(--px) * 3) calc(var(--px) * 10) #00000029;color:#fff;border-color:#fff}.kiosk-admin .kiosk-danger{background:linear-gradient(127deg,#ff969629 0%,#ff96960f 100%),#03061a61;border-color:#ffa8a8e6}.kiosk-field{margin-top:calc(var(--px) * 22)}.kiosk-field-inline{justify-content:space-between;align-items:center;gap:calc(var(--px) * 16);display:flex}.kiosk-field-inline .kiosk-toggle{min-width:calc(var(--px) * 265);flex:0 auto}.kiosk-label{margin:0 0 calc(var(--px) * 12);color:var(--k-text-2);font-size:calc(var(--px) * 21);font-weight:400;line-height:1.5;display:block}.kiosk-label-strong{color:#fff;font-size:calc(var(--px) * 22);font-weight:700}.kiosk-field-inline .kiosk-label{margin-bottom:0}.kiosk-slider{align-items:center;gap:calc(var(--px) * 16);display:flex}.kiosk-admin .kiosk-step{width:var(--k-touch);flex:none;padding:0}.kiosk-slider input[type=range]{--kiosk-fill:0%;--kiosk-track:#ffffff3d;min-width:0;height:var(--k-touch);appearance:none;touch-action:none;cursor:pointer;background:0 0;border:0;flex:1;margin:0;padding:0}.kiosk-slider input[type=range]:focus{outline:0}.kiosk-slider input[type=range]::-webkit-slider-runnable-track{height:calc(var(--px) * 8);border-radius:calc(var(--px) * 4);background:linear-gradient(to right, #fff 0 var(--kiosk-fill), var(--kiosk-track) var(--kiosk-fill) 100%)}.kiosk-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:calc(var(--px) * 36);height:calc(var(--px) * 36);margin-top:calc(var(--px) * -14);box-shadow:0 0 calc(var(--px) * 12) #ffffff59, 0 calc(var(--px) * 2) calc(var(--px) * 6) #00000059;background:#fff;border:0;border-radius:50%}.kiosk-slider input[type=range]::-moz-range-track{height:calc(var(--px) * 8);border-radius:calc(var(--px) * 4);background:var(--kiosk-track)}.kiosk-slider input[type=range]::-moz-range-progress{height:calc(var(--px) * 8);border-radius:calc(var(--px) * 4);background:#fff}.kiosk-slider input[type=range]::-moz-range-thumb{width:calc(var(--px) * 36);height:calc(var(--px) * 36);box-shadow:0 0 calc(var(--px) * 12) #ffffff59, 0 calc(var(--px) * 2) calc(var(--px) * 6) #00000059;background:#fff;border:0;border-radius:50%}.kiosk-text{box-sizing:border-box;width:100%;min-height:var(--k-touch);padding:0 calc(var(--px) * 17);border-radius:var(--k-r-btn);color:#fff;font-family:var(--neon-font);font-size:calc(var(--px) * 21);-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#03061a8c;border:1px solid #ffffff5c;font-weight:400;line-height:1.5;display:block}.kiosk-text:focus{border-color:#fff;outline:0;box-shadow:0 0 0 1px #ffffffe6}.kiosk-text::placeholder{color:#ffffff9e;opacity:1}.kiosk-total-label{color:var(--k-text-2);font-size:calc(var(--px) * 20);margin:0;line-height:1.5}.kiosk-total{margin:calc(var(--px) * 10) 0 0;color:#fff;font-size:calc(var(--px) * 52);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.5}.kiosk-counts{gap:calc(var(--px) * 14) calc(var(--px) * 20);color:var(--k-text);font-size:calc(var(--px) * 20);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;line-height:1.5;list-style:none;display:grid}.kiosk-counts li{align-items:baseline;gap:calc(var(--px) * 14);min-width:0;display:flex}.kiosk-counts li[data-zero=true]{color:var(--k-text-3)}.kiosk-counts b{font-variant-numeric:tabular-nums;flex:none;font-weight:400}.kiosk-counts li[data-zero=false] b{color:#fff;font-weight:700}.kiosk-confirm-text{margin:0 0 calc(var(--px) * 16);color:#fff;font-size:calc(var(--px) * 22);font-weight:700;line-height:1.5}.kiosk-meta{margin:0 0 calc(var(--px) * 16);color:var(--k-text-2);font-size:calc(var(--px) * 20);line-height:1.5}.kiosk-cam{gap:calc(var(--px) * 20);align-items:flex-start;display:flex}.kiosk-cam-preview{width:calc(var(--px) * 320);aspect-ratio:16/9;border-radius:var(--k-r-btn);object-fit:cover;background:#000;border:1px solid #ffffff5c;flex:none;transform:scaleX(-1)}.kiosk-cam-list{gap:calc(var(--px) * 10);flex-direction:column;flex:1;min-width:0;display:flex}.kiosk-cam-list .kiosk-btn{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.kiosk-cam-error{color:#ffb4b4}.share-qr{box-shadow:0 0 0 1px var(--neon-border,#294651);background:#fff;border-radius:14px;flex:none;line-height:0;display:block;overflow:hidden}.share-qr svg{width:100%;height:100%;display:block}@media (aspect-ratio>=1){:root{--u:min(calc(100vh * 12.8 / 1080), calc(100vw * 12.8 / 1920))}.scb{--scb-cy:50vh!important}.scb:not([data-wide]){--scb-w:calc(100vh * var(--scb-aspect) * 1.5)}.scb:not([data-wide]):before{content:"";background:var(--scb-src) center / cover no-repeat;filter:blur(calc(var(--px) * 36)) brightness(.5);pointer-events:none;position:absolute;inset:-5%}.scb:not([data-wide]) .scb-plate:not(.scb-awake-plate){box-shadow:0 0 calc(var(--px) * 120) calc(var(--px) * 40) #0009}.kiosk-pin,.kiosk-menu{max-width:calc(var(--px) * 860);margin:0 auto}.kiosk-pin{padding-top:calc(var(--px) * 48)}.kiosk-admin .kiosk-key{min-height:max(var(--k-touch), calc(var(--px) * 80))}}
