.auth-stage{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--bg:#f4e9d8;--bg-2:#efe1c6;--surface:#fff8eb;--surface-2:#ead9b6;--surface-3:#dcc89e;--paper:#f9eed4;--ink:#1a1d3a;--ink-2:#2e3255;--ink-soft:#5a5d7e;--ink-mute:#8e8ca3;--red:#ff4d5a;--red-deep:#d22f3d;--red-soft:#ffd5d8;--lime:#8cd32b;--lime-deep:#61a815;--gold:#f4b825;--gold-deep:#cc9600;--gold-soft:#ffe9a1;--cyan:#3fd0e0;--cyan-deep:#1e8b97;--cyan-soft:#c6eef5;--pink:#ff8fb9;--pink-deep:#e05e91;--purple:#a06be8;--purple-deep:#7240c8;--sky-top:#ffe3ef;--sky-mid:#e4d6f5;--sky-low:var(--cyan-soft);--pixel:"Galmuri11","Pretendard Variable",sans-serif;--sans:"Pretendard Variable","Pretendard","Apple SD Gothic Neo",sans-serif}.auth-stage *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}.auth-stage{min-height:100vh;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:linear-gradient(#1a1d3a0b 1px,#0000 1px),linear-gradient(90deg,#1a1d3a0b 1px,#0000 1px);background-size:8px 8px;justify-content:center;align-items:center;padding:24px 16px;display:flex}.console{background:linear-gradient(160deg,var(--surface) 0%,var(--bg-2) 52%,var(--surface-3) 100%);border:5px solid var(--ink);width:100%;max-width:560px;box-shadow:inset 0 4px 0 #fff9, inset 0 -8px 0 #0000001a, 14px 14px 0 0 var(--ink), 0 24px 48px #1a1d3a4d;border-radius:36px 36px 44px 44px;padding:22px 26px 30px;position:relative}.console .screw{background:radial-gradient(circle at 35% 30%,#fff 0%,var(--gold) 55%,var(--gold-deep) 100%);border:2px solid var(--ink);z-index:6;border-radius:50%;width:14px;height:14px;position:absolute}.console .screw:after{content:"";border-top:2px solid #1a1d3a99;position:absolute;inset:3px;transform:rotate(40deg)}.console .screw.tl{top:14px;left:14px}.console .screw.tr{top:14px;right:14px}.console .screw.bl{bottom:16px;left:14px}.console .screw.br{bottom:16px;right:14px}.console-top{justify-content:space-between;align-items:center;gap:12px;padding:0 6px 14px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand .mark{background:var(--gold);border:3px solid var(--ink);border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:16px;display:grid;box-shadow:inset -3px -3px #00000038}.brand .txt{flex-direction:column;line-height:1.05;display:flex}.brand .txt b{font-family:var(--pixel);letter-spacing:.5px;color:var(--ink);font-size:15px}.brand .logo-img{width:auto;height:30px;image-rendering:pixelated;filter:drop-shadow(1.5px 0 0 var(--ink)) drop-shadow(-1.5px 0 0 var(--ink)) drop-shadow(0 1.5px 0 var(--ink)) drop-shadow(0 -1.5px 0 var(--ink));display:block}.brand .txt small{font-family:var(--pixel);letter-spacing:2px;color:var(--ink-soft);margin-top:3px;font-size:8px}.console-top .right{align-items:center;gap:14px;display:flex}.power{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);align-items:center;gap:6px;font-size:8px;display:flex}.power .led{background:var(--lime);width:9px;height:9px;box-shadow:0 0 6px var(--lime), inset -1px -1px 0 #0000004d;border:1px solid var(--ink);border-radius:50%;animation:2s ease-in-out infinite ledpulse}@keyframes ledpulse{0%,to{opacity:1}50%{opacity:.45}}.hp{align-items:center;gap:4px;display:flex}.hp i{width:14px;height:12px;animation:1.4s steps(2,end) infinite hpbeat;display:inline-block;position:relative}.hp i:before{content:"";width:2px;height:2px;box-shadow:2px 0 0 var(--red), 4px 0 0 var(--red), 8px 0 0 var(--red), 10px 0 0 var(--red), 0 2px 0 var(--red), 2px 2px 0 #fff, 4px 2px 0 var(--red), 6px 2px 0 var(--red), 8px 2px 0 var(--red), 10px 2px 0 var(--red), 12px 2px 0 var(--red), 0 4px 0 var(--red), 2px 4px 0 var(--red), 4px 4px 0 var(--red), 6px 4px 0 var(--red), 8px 4px 0 var(--red), 10px 4px 0 var(--red), 12px 4px 0 var(--red), 2px 6px 0 var(--red), 4px 6px 0 var(--red), 6px 6px 0 var(--red), 8px 6px 0 var(--red), 10px 6px 0 var(--red), 4px 8px 0 var(--red), 6px 8px 0 var(--red), 8px 8px 0 var(--red);filter:drop-shadow(1px 1px 0 var(--ink));position:absolute;top:0;left:0}.hp i:nth-child(2){animation-delay:.2s}.hp i:nth-child(3){animation-delay:.4s}@keyframes hpbeat{50%{transform:scale(1.16)}}.lcd-bezel{background:linear-gradient(160deg,var(--ink-2),var(--ink));border:4px solid var(--ink);border-radius:18px;padding:14px;position:relative;box-shadow:inset 0 3px 10px #0009,0 2px #ffffff40}.lcd-bezel:before{content:"■ MONMONI COLOR ■";font-family:var(--pixel);letter-spacing:2px;color:var(--ink-soft);font-size:7px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.lcd{background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 52%,var(--sky-low) 100%);border:3px solid #0b0a18;border-radius:8px;flex-direction:column;align-items:center;min-height:440px;padding:24px 16px 84px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #46285a59}.clouds{pointer-events:none;z-index:1;position:absolute;inset:0}.cloud{background:#fff;position:absolute}.cloud.c1{border-radius:10px;width:46px;height:14px;animation:26s linear infinite drift;top:14px;left:-30%;box-shadow:14px -8px #fff,30px 0 #fff}.cloud.c2{opacity:.75;border-radius:8px;width:34px;height:12px;animation:38s linear -8s infinite drift;top:54px;left:-40%;box-shadow:12px -6px #fff,24px 0 #fff}.cloud.c3{opacity:.6;border-radius:8px;width:28px;height:10px;animation:46s linear -20s infinite drift;top:8px;left:-50%;box-shadow:10px -5px #fff}@keyframes drift{to{left:140%}}.trees{pointer-events:none;z-index:1;position:absolute;bottom:56px;left:0;right:0}.trees .row{justify-content:space-around;align-items:flex-end;padding:0 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.trees .row.far{opacity:.7;filter:saturate(.85);bottom:16px}.tree{background:var(--lime);border:3px solid var(--ink);box-shadow:inset -4px -4px 0 var(--lime-deep), inset 4px 4px 0 #ffffff47;border-radius:12px 12px 10px 10px;align-self:flex-end;position:relative}.tree:after{content:"";background:var(--gold-deep);border:3px solid var(--ink);border-top:none;width:9px;height:13px;position:absolute;bottom:-11px;left:50%;transform:translate(-50%)}.tree:before{content:"";background:#ffffff80;border-radius:2px;width:6px;height:6px;position:absolute;top:5px;left:7px}.tree.lg{width:40px;height:40px}.tree.md{width:32px;height:32px}.tree.sm{width:24px;height:24px}.trees .far .tree{background:var(--lime-deep);box-shadow:inset -3px -3px #4a8410}.ground{z-index:1;background:repeating-linear-gradient(90deg, var(--gold) 0 22px, var(--gold-deep) 22px 24px), var(--gold);border-top:4px solid var(--ink);height:56px;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 4px #ffffff4d}.ground:before{content:"";background:repeating-linear-gradient(90deg,#1a1d3a40 0 22px,#0000 22px 24px);height:3px;position:absolute;top:10px;left:0;right:0}.lcd-char{z-index:12;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:18px;left:14px}.lcd-char .speech{border:3px solid var(--ink);font-family:var(--pixel);letter-spacing:.5px;color:var(--ink);white-space:nowrap;box-shadow:2px 2px 0 var(--ink);background:#fff;border-radius:8px;margin-bottom:8px;padding:5px 9px;font-size:9px;animation:2.4s ease-in-out infinite floaty;position:relative}.lcd-char .speech:after{content:"";border:6px solid #0000;border-top-color:var(--ink);width:0;height:0;position:absolute;bottom:-9px;left:24px}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.lcd-char svg{width:62px;height:62px;image-rendering:pixelated;filter:drop-shadow(0 4px #00000059);animation:1.3s steps(2,end) infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.lcd-char .shadow{background:radial-gradient(#0006,#0000 70%);width:46px;height:8px;animation:1.3s steps(2,end) infinite shpulse;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}@keyframes shpulse{0%,to{opacity:.6;width:46px}50%{opacity:.35;width:36px}}.lcd-title{z-index:5;text-align:center;margin-bottom:12px;position:relative}.lcd-title .game{font-family:var(--pixel);letter-spacing:1px;color:var(--cyan-soft);text-shadow:-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),2px 2px 0 var(--ink), 0 5px 0 var(--cyan-deep), 0 8px 0 var(--ink);font-size:28px;line-height:1}.lcd-title .press{font-family:var(--pixel);letter-spacing:2px;color:#fff;text-shadow:1px 1px 0 var(--ink);margin-top:8px;font-size:9px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.25}}.lcd .scan{pointer-events:none;z-index:8;background:repeating-linear-gradient(0deg,#00000029 0 1px,#0000 1px 3px);position:absolute;inset:0}.lcd .glare{pointer-events:none;z-index:9;background:linear-gradient(125deg,#ffffff38 0%,#0000 38%);border-radius:8px;position:absolute;inset:0}.os-win{z-index:7;background:var(--paper);border:3px solid var(--ink);width:88%;max-width:320px;margin:0 auto;animation:.35s winpop;position:relative;box-shadow:5px 5px #1a1d3a8c}@keyframes winpop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.os-bar{background:linear-gradient(180deg,var(--ink-2),var(--ink));border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.os-bar .title{font-family:var(--pixel);letter-spacing:1px;color:var(--gold);align-items:center;gap:6px;font-size:10px;display:flex}.os-bar .title .ic{background:var(--lime);border:1px solid #000;width:12px;height:12px}.os-bar .dots{gap:4px;display:flex}.os-bar .dots b{background:var(--surface-2);width:16px;height:14px;font-family:var(--pixel);color:var(--ink);border:2px solid #000;place-items:center;font-size:9px;line-height:1;display:grid}.os-bar .dots b.x{background:var(--red);color:#fff}.os-body{padding:16px 16px 18px}.tabs{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);margin-bottom:14px;display:flex}.tabs button{background:var(--surface-2);font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);border-right:2px solid var(--ink);cursor:pointer;flex:1;padding:8px 4px;font-size:10px}.tabs button:last-child{border-right:none}.tabs button.on{background:var(--gold);color:var(--ink)}.fld{margin-bottom:12px}.fld label{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);margin-bottom:5px;font-size:9px;display:block}.fld input[type=email],.fld input[type=password],.fld input[type=text]{border:2px solid var(--ink);width:100%;box-shadow:2px 2px 0 var(--ink);font-family:var(--pixel);letter-spacing:1px;color:var(--ink);background:#fff;border-radius:0;outline:none;padding:11px 12px;font-size:16px}.fld input:focus{border-color:var(--red);box-shadow:2px 2px 0 var(--red)}.fld .hint{font-family:var(--sans);letter-spacing:0;color:var(--ink-mute);margin-top:5px;font-size:12px;display:block}.row-mini{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.row-mini label{color:var(--ink-soft);cursor:pointer;font-size:14px;font-family:var(--sans);letter-spacing:0;align-items:center;gap:6px;display:flex}.row-mini a{font-family:var(--pixel);color:var(--red-deep);letter-spacing:.5px;cursor:pointer;font-size:9px}.agree{color:var(--ink-soft);font-size:13px;font-family:var(--sans);cursor:pointer;align-items:center;gap:8px;margin:10px 0 2px;display:flex}.fld-error{font-family:var(--pixel);letter-spacing:.5px;color:var(--red-deep);margin-top:5px;font-size:9px;display:block}.form-error{font-family:var(--pixel);letter-spacing:.5px;color:var(--red-deep);text-align:center;margin:8px 0 0;font-size:10px}.start-btn{width:100%;font-family:var(--pixel);letter-spacing:2px;color:var(--ink);background:linear-gradient(180deg,var(--cyan-soft) 0%,var(--cyan) 50%,var(--cyan-deep) 100%);border:3px solid var(--ink);box-shadow:inset 0 3px 0 #ffffffb3, inset 0 -4px 0 #00000038, 0 5px 0 var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:15px;font-size:16px;transition:transform 70ms,box-shadow 70ms;display:flex;position:relative}.start-btn:before{content:"";pointer-events:none;background:linear-gradient(#fff9,#0000);border-radius:8px;height:34%;position:absolute;top:4px;left:8px;right:8px}.start-btn:hover{box-shadow:inset 0 3px 0 #ffffffb3,inset 0 -4px 0 #00000038,0 6px 0 var(--ink);transform:translateY(-1px)}.start-btn:active{box-shadow:inset 0 3px 0 #ffffff80,inset 0 -2px 0 #0003,0 1px 0 var(--ink);transform:translateY(4px)}.start-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.os-foot{font-family:var(--pixel);letter-spacing:.5px;color:var(--ink-soft);justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:9px;display:flex}.os-foot a{color:var(--red-deep);cursor:pointer}.deck{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:24px;display:grid}.console .dpad{width:84px;height:84px;position:relative}.dpad .bar{background:linear-gradient(180deg,var(--ink-soft),var(--ink));border:3px solid var(--ink);position:absolute;box-shadow:inset 0 2px #ffffff2e,0 3px #0000004d}.dpad .v{border-radius:6px;width:24px;height:80px;top:2px;left:30px}.dpad .h{border-radius:6px;width:80px;height:24px;top:30px;left:2px}.dpad .mid{z-index:2;background:#2a2640;border-radius:50%;width:20px;height:20px;position:absolute;top:32px;left:32px;box-shadow:inset 0 0 4px #000}.dpad .ar{z-index:3;font-family:var(--pixel);color:#fff9;font-size:9px;position:absolute}.dpad .ar.up{top:4px;left:50%;transform:translate(-50%)}.dpad .ar.dn{bottom:4px;left:50%;transform:translate(-50%)}.dpad .ar.lf{top:50%;left:5px;transform:translateY(-50%)}.dpad .ar.rt{top:50%;right:5px;transform:translateY(-50%)}.deck-mid{flex-direction:column;align-items:center;gap:12px;display:flex}.pills{gap:12px;display:flex}.pill{flex-direction:column;align-items:center;gap:5px;display:flex}.pill .cap{background:linear-gradient(180deg,var(--ink-soft),var(--ink));border:2px solid var(--ink);border-radius:8px;width:40px;height:13px;transform:rotate(-20deg);box-shadow:0 2px #0000004d}.pill small{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);font-size:7px}.speaker{grid-template-columns:repeat(6,5px);grid-auto-rows:5px;gap:4px;display:grid;transform:rotate(-20deg)}.speaker i{background:#1a1d3a8c;border-radius:50%;width:5px;height:5px;box-shadow:inset 0 1px #0006}.ab{align-items:center;gap:12px;display:flex;transform:rotate(-12deg)}.ab .btn{width:46px;height:46px;font-family:var(--pixel);color:#fff;cursor:pointer;border:3px solid var(--ink);box-shadow:inset 0 3px 0 #fff6, inset 0 -4px 0 #0000004d, 0 4px 0 var(--ink);border-radius:50%;place-items:center;font-size:16px;transition:transform 70ms,box-shadow 70ms;display:grid}.ab .btn.a{background:radial-gradient(circle at 35% 30%,var(--red),var(--red-deep))}.ab .btn.b{background:radial-gradient(circle at 35% 30%,var(--cyan),var(--cyan-deep));color:var(--ink)}.ab .btn:active{box-shadow:inset 0 3px 0 #ffffff4d, 0 1px 0 var(--ink);transform:translateY(3px)}@media (max-width:520px){.console{border-radius:28px 28px 36px 36px;max-width:420px;padding:18px 18px 24px}.lcd-title .game{font-size:24px}.deck{gap:8px}.console .dpad{width:72px;height:72px}.dpad .v{width:20px;height:68px;left:26px}.dpad .h{width:68px;height:20px;top:26px}.dpad .mid{top:27px;left:27px}.ab .btn{width:40px;height:40px}}@media (max-width:380px){.lcd-char .speech{font-size:8px}.lcd-title .game{font-size:20px}}.auth-stage a:focus-visible,.auth-stage button:focus-visible,.auth-stage input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.auth-stage .skip{position:absolute;left:-999px}.auth-stage .skip:focus{z-index:99;background:var(--gold);color:var(--ink);font-family:var(--pixel);border:2px solid var(--ink);padding:6px 10px;font-size:11px;top:8px;left:8px}
