:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:28px;--s8:32px;--s10:40px;--s12:48px;--s14:56px;--s16:64px;--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;--ink-faint:#b8b5c7;--red:#ff4d5a;--red-deep:#d22f3d;--red-soft:#ffd5d8;--lime:#8cd32b;--lime-deep:#61a815;--lime-soft:#e1f5bf;--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;--pixel:"Galmuri11", "Pretendard Variable", sans-serif;--sans:"Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--sans);image-rendering:pixelated;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}body{background-color:var(--bg);background-image:linear-gradient(#1a1d3a0b 1px,#0000 1px),linear-gradient(90deg,#1a1d3a0b 1px,#0000 1px);background-size:8px 8px;min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;font-family:var(--sans);background:0 0;border:none}a{color:inherit;cursor:pointer;text-decoration:none}svg{display:block}.btn{align-items:center;gap:var(--s2);font-family:var(--pixel);background:var(--surface);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 0 var(--ink);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;padding:10px 14px;font-size:14px;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{box-shadow:5px 5px 0 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:2px 2px 0 0 var(--ink);transform:translate(2px,2px)}.btn-primary{background:var(--red);color:#fff}.btn-lime{background:var(--lime);color:var(--ink)}.btn-gold{background:var(--gold);color:var(--ink)}.btn-ghost{box-shadow:none;background:0 0;border-style:dashed}.btn-ghost:hover{background:var(--surface-2);box-shadow:none;transform:none}.btn-sm{box-shadow:2px 2px 0 0 var(--ink);padding:6px 10px;font-size:14px}.btn-sm:hover{box-shadow:3px 3px 0 0 var(--ink)}.btn-danger{color:var(--red-deep);border-color:var(--red-deep);box-shadow:4px 4px 0 0 var(--red-deep);background:#fff}.showcase{z-index:90;background:var(--ink);color:var(--surface);border-bottom:4px solid #000;position:sticky;top:0}.showcase-inner{max-width:1440px;padding:var(--s2) var(--s6);justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;margin:0 auto;display:flex}.showcase-brand{align-items:center;gap:var(--s2);font-family:var(--pixel);flex-wrap:wrap;font-size:14px;display:flex}.showcase-brand .chip{background:var(--gold);color:var(--ink);font-family:var(--pixel);letter-spacing:1px;padding:2px 8px;font-size:14px}.showcase-brand .v2-chip{background:var(--red);color:#fff;font-family:var(--pixel);letter-spacing:1px;padding:2px 8px;font-size:14px;animation:1.5s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.5}}.showcase-flow{font-family:var(--pixel);letter-spacing:1px;align-items:center;gap:4px;font-size:14px;display:flex}.showcase-flow span{background:var(--ink-2);color:var(--ink-mute);cursor:pointer;padding:3px 8px;transition:all .1s}.showcase-flow span:hover{background:var(--ink-soft);color:var(--surface)}.showcase-flow span.on{background:var(--gold);color:var(--ink)}.showcase-flow .arrow{color:var(--gold);padding:0 2px}.theme-switch{gap:2px;display:flex}.theme-switch a{background:var(--ink-2);color:var(--surface);font-family:var(--pixel);letter-spacing:1px;border:2px solid #0000;padding:4px 10px;font-size:14px}.theme-switch a.on{background:var(--gold);color:var(--ink);border-color:var(--surface)}.theme-switch a:hover:not(.on){background:var(--ink-soft)}.app{min-height:calc(100vh - 46px)}.view{animation:.2s pop;display:none}.view.active{display:block}@keyframes pop{0%{opacity:0;transform:translate(3px,3px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes notifModalPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.shell{max-width:1440px;padding:var(--s6);margin:0 auto}.form-group{gap:var(--s2);flex-direction:column;display:flex}.form-group label{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);font-size:14px}.form-group .hint{color:var(--ink-mute);font-size:14px;font-family:var(--sans);letter-spacing:0}.input{border:3px solid var(--ink);width:100%;box-shadow:3px 3px 0 0 var(--ink);font-family:var(--pixel);letter-spacing:1px;background:#fff;outline:none;padding:12px 14px;font-size:14px}.input:focus{border-color:var(--red);box-shadow:3px 3px 0 0 var(--red)}.view-login{--sky-top:#ffe3ef;--sky-mid:#e4d6f5;--sky-low:var(--cyan-soft);min-height:calc(100vh - 46px);padding:var(--s6) var(--s4);justify-content:center;align-items:center;display:none;overflow-y:auto}.view-login.active{display:flex}.view-login .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;margin:auto;padding:22px 26px 30px;position:relative}.view-login .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}.view-login .console .screw:after{content:"";border-top:2px solid #1a1d3a99;position:absolute;inset:3px;transform:rotate(40deg)}.view-login .console .screw.tl{top:14px;left:14px}.view-login .console .screw.tr{top:14px;right:14px}.view-login .console .screw.bl{bottom:16px;left:14px}.view-login .console .screw.br{bottom:16px;right:14px}.view-login .console-top{justify-content:space-between;align-items:center;gap:12px;padding:0 6px 14px;display:flex}.view-login .brand{align-items:center;gap:10px;display:flex}.view-login .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}.view-login .console-top .right{align-items:center;gap:14px;display:flex}.view-login .power{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);align-items:center;gap:6px;font-size:8px;display:flex}.view-login .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}}.view-login .hp{align-items:center;gap:4px;display:flex}.view-login .hp i{width:14px;height:12px;animation:1.4s steps(2,end) infinite hpbeat;display:inline-block;position:relative}.view-login .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}.view-login .hp i:nth-child(2){animation-delay:.2s}.view-login .hp i:nth-child(3){animation-delay:.4s}@keyframes hpbeat{50%{transform:scale(1.16)}}.view-login .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}.view-login .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%)}.view-login .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}.view-login .clouds{pointer-events:none;z-index:1;position:absolute;inset:0}.view-login .cloud{background:#fff;position:absolute}.view-login .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}.view-login .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}.view-login .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%}}.view-login .trees{pointer-events:none;z-index:1;position:absolute;bottom:56px;left:0;right:0}.view-login .trees .row{justify-content:space-around;align-items:flex-end;padding:0 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.view-login .trees .row.far{opacity:.7;filter:saturate(.85);bottom:16px}.view-login .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}.view-login .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%)}.view-login .tree:before{content:"";background:#ffffff80;border-radius:2px;width:6px;height:6px;position:absolute;top:5px;left:7px}.view-login .tree.lg{width:40px;height:40px}.view-login .tree.md{width:32px;height:32px}.view-login .tree.sm{width:24px;height:24px}.view-login .trees .far .tree{background:var(--lime-deep);box-shadow:inset -3px -3px #4a8410}.view-login .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}.view-login .ground:before{content:"";background:repeating-linear-gradient(90deg,#1a1d3a40 0 22px,#0000 22px 24px);height:3px;position:absolute;top:10px;left:0;right:0}.view-login .lcd-char{z-index:12;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:18px;left:14px}.view-login .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}.view-login .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)}}.view-login .lcd-char svg{width:62px;height:62px;image-rendering:pixelated;filter:drop-shadow(0 4px #00000059);animation:1.3s steps(2,end) infinite bob}.view-login .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}}.view-login .lcd-title{z-index:5;text-align:center;margin-bottom:12px;position:relative}.view-login .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}.view-login .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 lcdBlink}@keyframes lcdBlink{50%{opacity:.25}}.view-login .lcd .scan{pointer-events:none;z-index:8;background:repeating-linear-gradient(0deg,#00000029 0 1px,#0000 1px 3px);position:absolute;inset:0}.view-login .lcd .glare{pointer-events:none;z-index:9;background:linear-gradient(125deg,#ffffff38 0%,#0000 38%);border-radius:8px;position:absolute;inset:0}.view-login .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)}}.view-login .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}.view-login .os-bar .title{font-family:var(--pixel);letter-spacing:1px;color:var(--gold);align-items:center;gap:6px;font-size:10px;display:flex}.view-login .os-bar .title .ic{background:var(--lime);border:1px solid #000;width:12px;height:12px}.view-login .os-bar .dots{gap:4px;display:flex}.view-login .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}.view-login .os-bar .dots b.x{background:var(--red);color:#fff}.view-login .os-body{padding:16px 16px 18px}.view-login .tabs{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);margin-bottom:14px;display:flex}.view-login .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}.view-login .tabs button:last-child{border-right:none}.view-login .tabs button.on{background:var(--gold);color:var(--ink)}.view-login .sub-form{display:none}.view-login .sub-form.on{display:block}.view-login .fld{margin-bottom:12px}.view-login .fld label{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);margin-bottom:5px;font-size:9px;display:block}.view-login .fld input[type=email],.view-login .fld input[type=password],.view-login .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}.view-login .fld input:focus{border-color:var(--red);box-shadow:2px 2px 0 var(--red)}.view-login .fld .hint{font-family:var(--sans);letter-spacing:0;color:var(--ink-mute);margin-top:5px;font-size:12px;display:block}.view-login .row-mini{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.view-login .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}.view-login .row-mini a{font-family:var(--pixel);color:var(--red-deep);letter-spacing:.5px;font-size:9px}.view-login .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}.view-login .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}.view-login .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}.view-login .start-btn:hover{box-shadow:inset 0 3px 0 #ffffffb3,inset 0 -4px 0 #00000038,0 6px 0 var(--ink);transform:translateY(-1px)}.view-login .start-btn:active{box-shadow:inset 0 3px 0 #ffffff80,inset 0 -2px 0 #0003,0 1px 0 var(--ink);transform:translateY(4px)}.view-login .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}.view-login .os-foot a{color:var(--red-deep)}.view-login .deck{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:24px;display:grid}.view-login .dpad{width:84px;height:84px;position:relative}.view-login .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}.view-login .dpad .v{border-radius:6px;width:24px;height:80px;top:2px;left:30px}.view-login .dpad .h{border-radius:6px;width:80px;height:24px;top:30px;left:2px}.view-login .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}.view-login .dpad .ar{z-index:3;font-family:var(--pixel);color:#fff9;font-size:9px;position:absolute}.view-login .dpad .ar.up{top:4px;left:50%;transform:translate(-50%)}.view-login .dpad .ar.dn{bottom:4px;left:50%;transform:translate(-50%)}.view-login .dpad .ar.lf{top:50%;left:5px;transform:translateY(-50%)}.view-login .dpad .ar.rt{top:50%;right:5px;transform:translateY(-50%)}.view-login .deck-mid{flex-direction:column;align-items:center;gap:12px;display:flex}.view-login .pills{gap:12px;display:flex}.view-login .pill{flex-direction:column;align-items:center;gap:5px;display:flex}.view-login .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}.view-login .pill small{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);font-size:7px}.view-login .speaker{grid-template-columns:repeat(6,5px);grid-auto-rows:5px;gap:4px;display:grid;transform:rotate(-20deg)}.view-login .speaker i{background:#1a1d3a8c;border-radius:50%;width:5px;height:5px;box-shadow:inset 0 1px #0006}.view-login .ab{align-items:center;gap:12px;display:flex;transform:rotate(-12deg)}.view-login .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}.view-login .ab .btn.a{background:radial-gradient(circle at 35% 30%,var(--red),var(--red-deep))}.view-login .ab .btn.b{background:radial-gradient(circle at 35% 30%,var(--cyan),var(--cyan-deep));color:var(--ink)}.view-login .ab .btn:active{box-shadow:inset 0 3px 0 #ffffff4d, 0 1px 0 var(--ink);transform:translateY(3px)}.view-rooms{min-height:calc(100vh - 46px)}.view-rooms.active{display:block}.rooms-head{padding-bottom:var(--s4);margin-bottom:var(--s5);border-bottom:3px dashed var(--ink);justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.rooms-head .lft{align-items:center;gap:var(--s4);display:flex}.rooms-head .logo-mini{background:var(--ink);width:44px;height:44px;color:var(--gold);border:3px solid var(--ink);box-shadow:3px 3px 0 0 var(--gold);place-items:center;font-size:22px;display:grid}.rooms-head h1{font-family:var(--pixel);letter-spacing:1.5px;font-size:26px;line-height:1.2}.rooms-head .sub{color:var(--ink-soft);margin-top:4px;font-size:14px}.quest-tag{align-items:center;gap:var(--s2);background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:1.5px;width:fit-content;margin-bottom:4px;padding:3px 8px;font-size:14px;display:inline-flex}.quest-tag .dot{background:var(--red);width:6px;height:6px;animation:1s steps(2,end) infinite blink}.invite-card{background:var(--gold);border:3px solid var(--ink);box-shadow:6px 6px 0 0 var(--ink);padding:var(--s5);justify-content:space-between;align-items:center;gap:var(--s4);margin-bottom:var(--s5);flex-wrap:wrap;display:flex;position:relative}.invite-card:before{content:"▶ INVITE";background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;padding:3px 10px;font-size:14px;position:absolute;top:-14px;left:-3px}.invite-card .left{align-items:center;gap:var(--s4);display:flex}.invite-card .ico{font-size:32px}.invite-card h4{font-family:var(--pixel);letter-spacing:1px;font-size:14px}.invite-card p{color:var(--ink-soft);font-size:14px;font-family:var(--sans);margin-top:4px}.invite-card .form-inline{gap:var(--s2);flex-wrap:wrap;display:flex}.invite-card .input{width:220px;padding:10px 14px}.rooms-grid{gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));display:grid}.room-card{padding:var(--s5);background:var(--surface);border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);gap:var(--s3);cursor:pointer;flex-direction:column;min-height:220px;transition:transform .1s,box-shadow .1s;display:flex;position:relative}.room-card:hover{box-shadow:7px 7px 0 0 var(--ink);transform:translate(-2px,-2px)}.room-card:before{content:attr(data-slot);background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;padding:2px 8px;font-size:14px;position:absolute;top:-12px;left:-3px}.room-top{justify-content:space-between;align-items:flex-start;display:flex}.room-em{border:3px solid var(--ink);width:56px;height:56px;box-shadow:3px 3px 0 0 var(--ink);place-items:center;font-size:28px;display:grid}.c-red{background:var(--red)}.c-lime{background:var(--lime)}.c-gold{background:var(--gold)}.c-cyan{background:var(--cyan)}.c-pink{background:var(--pink)}.c-purple{background:var(--purple)}.role-tag{font-family:var(--pixel);letter-spacing:1px;border:2px solid var(--ink);background:var(--surface-2);color:var(--ink);padding:3px 8px;font-size:14px}.role-tag.leader{background:var(--gold)}.room-card h4{font-family:var(--pixel);letter-spacing:1px;font-size:17px}.room-card .desc{color:var(--ink-soft);flex:1;font-size:14px;line-height:1.7}.room-stats{gap:var(--s1);padding-top:var(--s3);border-top:2px dashed var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.room-stat{background:var(--surface-2);border:2px solid var(--ink);padding:var(--s2);text-align:center}.room-stat .k{font-family:var(--pixel);color:var(--ink-mute);letter-spacing:1px;font-size:14px}.room-stat .v{font-family:var(--pixel);color:var(--ink);margin-top:2px;font-size:14px}.room-card .leave-btn{background:var(--red);color:#fff;border:3px solid var(--ink);width:32px;height:32px;box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);opacity:0;z-index:3;place-items:center;font-size:14px;transition:opacity .2s;display:grid;position:absolute;top:-10px;right:-10px}.room-card:hover .leave-btn{opacity:1}.room-card .leave-btn:hover{background:var(--red-deep)}.room-card.add{background:var(--surface-2);text-align:center;border-style:dashed;justify-content:center;align-items:center}.room-card.add:before{content:"EMPTY · NEW"}.room-card.add .plus{background:var(--ink);width:56px;height:56px;color:var(--gold);font-family:var(--pixel);margin-bottom:var(--s2);place-items:center;font-size:28px;display:grid}.app-shell{display:none}.app-shell.active{display:block}.app-header{background:var(--ink);color:var(--surface);z-index:50;border-bottom:4px solid #000;position:sticky;top:46px;box-shadow:0 4px #0000001a}.app-header-inner{max-width:1440px;padding:var(--s3) var(--s6);align-items:center;gap:var(--s4);flex-wrap:wrap;margin:0 auto;display:flex}.app-header .logo-tight{align-items:center;gap:var(--s3);border:none;flex-shrink:0;padding:0;display:flex}.app-header .logo-tight .mark{display:none}.app-header .logo-tight .t{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.app-header .logo-tight .t .t1{image-rendering:auto;background:url(/assets/brand/logo.png?t=2) 0/contain no-repeat;width:88px;height:22px;font-size:0;line-height:0;display:inline-block}.app-header .logo-tight .t .t2{font-family:var(--pixel);color:var(--surface);text-align:left;letter-spacing:1px;align-self:flex-start;margin-top:6px;font-size:14px}.team-switcher{align-items:center;gap:var(--s2);padding:4px var(--s3) 4px var(--s2);background:var(--ink-2);border:2px solid var(--ink-soft);cursor:pointer;flex-shrink:0;transition:all .1s;display:flex}.team-switcher:hover{background:var(--ink-soft)}.team-switcher .em{background:var(--red);border:2px solid var(--surface);place-items:center;width:28px;height:28px;font-size:14px;display:grid;box-shadow:inset -2px -2px #00000040}.team-switcher .meta{flex-direction:column;line-height:1;display:flex}.team-switcher .meta .n{font-family:var(--pixel);color:var(--surface);font-size:14px}.team-switcher .meta .s{font-family:var(--pixel);color:var(--gold);letter-spacing:1px;margin-top:3px;font-size:14px}.team-switcher .chv{color:var(--gold);font-size:14px}.header-right{align-items:center;gap:var(--s3);flex-shrink:0;display:flex}.header-right .bell{background:var(--ink-2);border:2px solid var(--ink-soft);width:36px;height:36px;color:var(--surface);cursor:pointer;place-items:center;font-size:14px;display:grid;position:relative}.header-right .bell .dot{background:var(--red);border:2px solid var(--ink);width:10px;height:10px;position:absolute;top:2px;right:2px}.header-right .me{align-items:center;gap:var(--s2);padding:4px var(--s3) 4px var(--s1);background:var(--gold);color:var(--ink);border:2px solid var(--ink);cursor:pointer;transition:all .1s;display:flex}.header-right .me:hover{background:var(--gold-deep);color:#fff}.header-right .me .av{background:var(--lime);width:28px;height:28px;font-family:var(--pixel);border:2px solid var(--ink);place-items:center;font-size:14px;display:grid;box-shadow:inset -2px -2px #0003}.header-right .me .nm{font-family:var(--pixel);letter-spacing:1px;font-size:14px}.mobile-tabs{display:none}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s4);padding-bottom:var(--s4);margin-bottom:var(--s5);border-bottom:3px dashed var(--ink);flex-wrap:wrap;display:flex}.page-head .lft{flex-direction:column;gap:4px;display:flex}.page-head h1{font-family:var(--pixel);letter-spacing:1px;font-size:26px;font-weight:700;line-height:1.2}.page-head h1 .title-ico{object-fit:contain;image-rendering:auto;vertical-align:-.15em;width:1.05em;height:1.05em;margin-right:8px;display:inline-block}.page-head .sub{color:var(--ink-soft);font-size:14px}.home-grid{gap:var(--s5);grid-template-columns:minmax(0,2fr) minmax(320px,1fr);display:grid}.stage-card{background:var(--ink);color:var(--surface);border:4px solid var(--ink);box-shadow:8px 8px 0 0 var(--red);padding:var(--s6) var(--s5);flex-direction:column;min-height:560px;display:flex;position:relative;overflow:hidden}.stage-card:before{content:"";pointer-events:none;background-image:radial-gradient(#fff8eb0f 1px,#0000 1px);background-size:6px 6px;position:absolute;inset:0}.stage-card:after{content:"";pointer-events:none;opacity:.5;background:repeating-linear-gradient(0deg,#1a1d3a40 0 1px,#0000 1px 4px);position:absolute;inset:0}.stage-meta{z-index:3;margin-bottom:var(--s3);justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex;position:relative}.tag-pill{font-family:var(--pixel);letter-spacing:1.5px;background:var(--gold);color:var(--ink);border:2px solid var(--surface);padding:4px 10px;font-size:14px}.stage-meta .countdown{font-family:var(--pixel);background:var(--ink-2);color:var(--gold);border:2px solid var(--gold);letter-spacing:1.5px;align-items:center;gap:var(--s2);padding:5px 10px;font-size:14px;display:inline-flex}.stage-meta .countdown b{color:var(--red);font-size:14px}.stage-meta .countdown .cd-dot{background:var(--red);width:6px;height:6px;animation:1s steps(2,end) infinite blink}.stage-arena{z-index:2;min-height:380px;margin:var(--s4) 0;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.member-ring{place-items:center;width:360px;height:360px;display:grid;position:relative}.member-ring:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle,#fff0aab3 0%,#ffd45a57 40%,#f4b82521 60%,#0000 74%);width:240px;height:240px;animation:3s ease-in-out infinite glowPulse;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}@keyframes glowPulse{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}.member-ring:after{content:"";pointer-events:none;z-index:1;border:2px dashed #fff8eb38;border-radius:50%;animation:45s linear infinite spin;position:absolute;inset:4px}@keyframes spin{to{transform:rotate(360deg)}}.ring-avatar{background:var(--lime);width:52px;height:52px;color:var(--ink);font-family:var(--pixel);border:3px solid var(--surface);box-shadow:inset -3px -3px 0 0 #0000004d, 0 0 0 2px var(--ink), 3px 3px 0 0 var(--ink);cursor:pointer;z-index:3;place-items:center;font-size:14px;transition:transform .15s;display:grid;position:absolute}.ring-avatar img{object-fit:contain;image-rendering:auto;width:100%;height:100%}.ring-avatar:hover{z-index:4;transform:scale(1.18)rotate(-5deg)}.ring-avatar.me{outline:3px solid var(--red);outline-offset:2px}.ring-avatar.leader{background:var(--gold)}.ring-avatar .ring-name{font-family:var(--pixel);letter-spacing:.5px;white-space:nowrap;color:var(--surface);pointer-events:none;background:#1a1d3ae6;border:1px solid #fff8eb4d;padding:2px 7px;font-size:14px;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.ring-avatar.me .ring-name{color:var(--ink);background:var(--gold)}.ring-avatar .ring-crown{z-index:4;filter:drop-shadow(0 1px 0 var(--ink));font-size:14px;line-height:1;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.ring-avatar .stat-dot{border:2px solid var(--surface);width:14px;height:14px;position:absolute;top:-4px;right:-4px}.stat-on{background:var(--lime)!important}.stat-off{background:var(--ink-mute)!important}.stat-half{background:var(--gold)!important}.stat-leave{background:var(--red)!important}.ring-avatar .mood-badge{background:var(--ink);width:22px;height:22px;color:var(--gold);border:2px solid var(--surface);place-items:center;font-size:14px;display:grid;position:absolute;bottom:-8px;right:-8px}.pixel-char-lg{width:180px;height:180px;image-rendering:pixelated;filter:drop-shadow(0 8px #00000080);z-index:2;animation:1.4s steps(2,end) infinite bob;position:relative}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.char-img{object-fit:contain;vertical-align:middle;image-rendering:auto;display:inline-block}.char-img.lg{filter:drop-shadow(0 8px #0000004d);z-index:2;width:208px;height:208px;animation:1.4s steps(2,end) infinite bob;position:relative}.char-img.sm{width:144px;height:144px;animation:2.5s ease-in-out infinite shake}.mc-mon .char-img{image-rendering:auto;width:48px;height:48px}.cal-day .mon-img{object-fit:contain;image-rendering:auto;align-self:center;width:52px;height:52px}.dex .mon-img{object-fit:contain;image-rendering:auto;width:80px;height:80px}.dm-char img{object-fit:contain;image-rendering:auto;width:100%;height:100%}@media (max-width:768px){.char-img.lg{width:200px;height:200px}.cal-day .mon-img{width:38px;height:38px}.mc-mon .char-img{width:36px;height:36px}.dex .mon-img{width:60px;height:60px}}@media (max-width:480px){.char-img.lg{width:160px;height:160px}.cal-day .mon-img{width:28px;height:28px}}.char-shadow{z-index:1;background:radial-gradient(#f4b82580 0%,#0000 70%);width:100px;height:10px;animation:1.4s steps(2,end) infinite shadow-pulse;position:absolute;bottom:24%;left:50%;transform:translate(-50%)}@keyframes shadow-pulse{0%,to{opacity:.7;width:100px}50%{opacity:.4;width:80px}}.growth-hud{z-index:3;padding:var(--s4);background:var(--ink-2);border:2px solid var(--ink-soft);margin-top:auto;position:relative}.growth-head{margin-bottom:var(--s2);justify-content:space-between;align-items:center;display:flex}.growth-head .lbl{font-family:var(--pixel);letter-spacing:1px;color:var(--gold);font-size:14px}.growth-head .lbl b{color:var(--surface)}.growth-head .val{font-family:var(--pixel);color:var(--red);letter-spacing:1px;font-size:14px}.hp-bar{background:var(--ink);border:2px solid var(--gold);width:100%;height:20px;padding:2px;position:relative}.hp-bar .fill{background:repeating-linear-gradient(90deg, var(--red) 0 8px, var(--red-deep) 8px 16px);height:100%;transition:width .6s}.growth-foot{margin-top:var(--s2);font-family:var(--pixel);color:var(--ink-mute);letter-spacing:1px;justify-content:space-between;font-size:14px;display:flex}.growth-foot .now{color:var(--red)}.card{background:var(--surface);border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);padding:var(--s5)}.card-head{padding-bottom:var(--s3);margin-bottom:var(--s4);border-bottom:2px dashed var(--ink);justify-content:space-between;align-items:center;display:flex}.card-head h3{font-family:var(--pixel);letter-spacing:1px;font-size:14px}.card-head .sub{color:var(--ink-soft);font-size:14px}.card-head .pill{font-family:var(--pixel);letter-spacing:1px;background:var(--gold);border:2px solid var(--ink);color:var(--ink);padding:2px 8px;font-size:14px}.my-status-card{background:var(--gold);border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);padding:var(--s5);position:relative}.my-status-card:before{content:"▶ MY STATUS";background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;padding:2px 10px;font-size:14px;position:absolute;top:-12px;left:-3px}.my-status-head{align-items:center;gap:var(--s3);margin-bottom:var(--s3);padding-bottom:var(--s3);border-bottom:2px dashed var(--ink);display:flex}.my-status-head .av{background:var(--lime);border:3px solid var(--ink);width:40px;height:40px;font-family:var(--pixel);flex-shrink:0;place-items:center;font-size:14px;display:grid;box-shadow:inset -2px -2px #00000040}.my-status-head .info .n{font-family:var(--pixel);letter-spacing:.5px;font-size:14px}.my-status-head .info .s{color:var(--ink-soft);margin-top:2px;font-size:14px}.status-picker{gap:var(--s1);grid-template-columns:repeat(4,1fr);display:grid}.status-btn{padding:var(--s2) var(--s1);background:var(--surface);border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);letter-spacing:.5px;cursor:pointer;flex-direction:column;align-items:center;gap:2px;font-size:14px;transition:transform 80ms;display:flex}.status-btn:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.status-btn:active,.status-btn.on{box-shadow:1px 1px 0 0 var(--ink);background:var(--ink);color:var(--gold);transform:translate(2px,2px)}.status-btn .emo{font-size:18px;line-height:1}.status-btn .emo img{object-fit:contain;image-rendering:auto;vertical-align:middle;width:40px;height:40px}.ms-badge img{object-fit:contain;vertical-align:-.25em;width:1.4em;height:1.4em}.status-btn.on.s-leave{background:var(--red);color:#fff}.status-btn.on.s-half{background:var(--purple);color:#fff}.status-btn.on.s-off{background:var(--ink-mute);color:var(--surface)}.emotions{background:var(--surface);border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);padding:var(--s5)}.emotion-grid{gap:var(--s3);grid-template-columns:repeat(4,1fr);display:grid}.emo-btn{aspect-ratio:1;background:var(--surface-2);border:3px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);font-family:var(--pixel);padding:var(--s2);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:14px;transition:transform 80ms;display:flex;position:relative}.emo-btn .emo{font-size:26px}.emo-btn .emo img.emo-ico{object-fit:contain;image-rendering:auto;width:100%;max-width:100px;height:auto;display:block}img.mi{object-fit:contain;image-rendering:auto;vertical-align:-.32em;width:1.35em;height:1.35em}.inline-ico{object-fit:contain;image-rendering:auto;vertical-align:-.22em;width:1.4em;height:1.4em}.team-emoji-lg .inline-ico{vertical-align:middle;width:1.05em;height:1.05em}.ring-crown img{object-fit:contain;image-rendering:auto;width:30px;height:30px;display:block}.mood-chip img.mi,.tm-emo img.mi{vertical-align:middle}.emo-btn:hover{box-shadow:4px 4px 0 0 var(--ink);transform:translate(-1px,-1px)}.emo-btn:active,.emo-btn.active{box-shadow:1px 1px 0 0 var(--ink);background:var(--gold);transform:translate(2px,2px)}.emo-btn.c1{background:var(--gold-soft)}.emo-btn.c2{background:var(--red-soft)}.emo-btn.c3{background:var(--cyan-soft)}.emo-btn.c4{background:#e4b8f5}.emo-btn.c5{background:#ffb3be}.emo-btn.c6{background:var(--surface-3)}.emo-btn.c7{background:var(--lime-soft)}.emo-btn.c8{background:var(--surface-2)}.emo-btn.c9{background:#ffcba0}.emo-btn.c10{background:#c9c2f5}.emo-btn.c11{background:#ffe9a8}.emo-btn.c12{background:#b8e6c8}.emo-btn .team-count{background:var(--ink);color:var(--gold);font-family:var(--pixel);border:2px solid var(--surface);padding:2px 6px;font-size:14px;position:absolute;top:-8px;right:-8px}.emo-btn.active .team-count{background:var(--red);color:#fff}@media (max-width:500px){.emotion-grid{grid-template-columns:repeat(3,1fr)}.emo-btn{aspect-ratio:auto}}.mood-bars{gap:var(--s3);flex-direction:column;display:flex}.mood-bar-row{align-items:center;gap:var(--s3);font-family:var(--pixel);font-size:14px;display:flex}.mood-bar-row .lbl{align-items:center;gap:var(--s1);width:76px;color:var(--ink-soft);font-size:14px;display:flex}.mood-bar-row .lbl .e{font-size:14px}.mood-bar-row .ln{background:var(--surface-2);border:2px solid var(--ink);flex:1;height:10px;overflow:hidden}.mood-bar-row .ln div{height:100%;transition:width .6s}.mood-bar-row .val{text-align:right;width:40px;color:var(--ink)}.mood-bar-row.top .val{color:var(--red-deep)}.mood-badge{font-family:var(--pixel);letter-spacing:1px;background:var(--lime);color:var(--ink);border:2px solid var(--ink);align-items:center;gap:var(--s2);padding:4px 10px;font-size:14px;display:inline-flex}.mood-badge .dot{background:var(--lime-deep);width:8px;height:8px}.mem-list{gap:var(--s2);flex-direction:column;display:flex}.mem-row{gap:var(--s3);padding:var(--s3);background:var(--surface-2);border:2px solid var(--ink);grid-template-columns:auto 1fr auto;align-items:center;transition:background .1s;display:grid}.mem-row:hover{background:var(--gold-soft)}.mem-row.me{background:var(--gold-soft);border-color:var(--red)}.mem-row .av{position:relative}.mem-row .avatar{background:var(--lime);width:38px;height:38px;color:var(--ink);font-family:var(--pixel);border:2px solid var(--ink);place-items:center;font-size:14px;display:grid;overflow:hidden;box-shadow:inset -2px -2px #0003}.mem-row .avatar img{object-fit:contain;image-rendering:auto;width:100%;height:100%}.mem-row .stat-dot{border:2px solid var(--surface);width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.mem-row .info{min-width:0}.mem-row .info .n{font-family:var(--pixel);align-items:center;gap:var(--s2);font-size:14px;display:flex}.mem-row .info .n .leader-crown{color:var(--gold-deep);font-size:14px}.mem-row .info .n .me-tag{font-family:var(--pixel);background:var(--red);color:#fff;letter-spacing:1px;padding:1px 4px;font-size:14px}.mem-row .info .s{color:var(--ink-soft);align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:3px;font-size:14px;display:flex}.mem-row .info .s .now-mood{font-size:14px}.mem-row .info .status-chip{font-family:var(--pixel);letter-spacing:1px;border:1px solid var(--ink);align-items:center;gap:3px;padding:1px 5px;font-size:14px;display:inline-flex}.status-chip.on{background:var(--lime);color:var(--ink)}.status-chip.half{background:var(--gold);color:var(--ink)}.status-chip.leave{background:var(--red);color:#fff}.status-chip.off{background:var(--ink-mute);color:var(--surface)}.mem-mood-toggle{font-family:var(--pixel);letter-spacing:.5px;border:2px solid var(--ink);background:var(--surface-2);color:var(--ink-soft);cursor:pointer;box-shadow:2px 2px 0 0 var(--ink);white-space:nowrap;align-items:center;gap:4px;padding:4px 9px;font-size:14px;display:inline-flex}.mem-mood-toggle:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.mem-mood-toggle.on{background:var(--lime);color:var(--ink)}.mem-mood-note{color:var(--ink-soft);margin-bottom:var(--s3);align-items:center;gap:4px;font-size:14px;display:flex}.mood-chip{font-family:var(--pixel);letter-spacing:.5px;border:1px solid var(--ink);color:var(--ink);align-items:center;gap:3px;padding:1px 6px;font-size:14px;display:none}.mem-list.show-mood .mood-chip{display:inline-flex}.mood-chip.muted{background:var(--surface-2);color:var(--ink-mute);border-color:var(--ink-mute)}.ring-avatar.offline,.mem-row.offline .avatar,.mem-row.offline .now-mood{filter:grayscale()brightness(.75)}.mem-row.offline .info .n,.mem-row.offline .info .s{color:var(--ink-mute)}.mem-row.offline{background:repeating-linear-gradient(45deg, var(--surface-2) 0 6px, var(--bg-2) 6px 12px)}.ring-avatar.offline .mood-badge{background:var(--ink-mute);color:var(--surface)}.ring-avatar.offline:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#00000040 0 3px,#0000 3px 6px);position:absolute;inset:0}.time-mood-card{gap:var(--s3);flex-direction:column;display:flex}.time-mood-grid{gap:var(--s2);grid-template-columns:repeat(4,1fr);display:grid}.tm-slot{background:var(--surface-2);border:2px solid var(--ink);padding:var(--s3) var(--s2);flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.tm-slot.now{background:var(--gold);box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.tm-slot.now:before{content:"NOW";background:var(--red);color:#fff;font-family:var(--pixel);letter-spacing:1px;border:2px solid var(--ink);padding:1px 5px;font-size:14px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.tm-slot .tm-time{font-family:var(--pixel);color:var(--ink-soft);letter-spacing:1px;font-size:14px}.tm-slot.now .tm-time{color:var(--ink)}.tm-slot .tm-emo{font-size:22px}.tm-slot .tm-lbl{font-family:var(--pixel);letter-spacing:.5px;color:var(--ink);font-size:14px}.tm-slot .tm-ct{font-family:var(--pixel);color:var(--ink-mute);letter-spacing:1px;font-size:14px}.tm-slot.now .tm-ct{color:var(--ink-2)}.tm-track{background:var(--surface-2);border:2px solid var(--ink);grid-template-columns:2fr 1fr 3fr 1fr;height:10px;display:grid;overflow:hidden}.tm-track span{border-right:2px solid var(--ink)}.tm-track span:last-child{border-right:none}.tm-track .s1{background:var(--cyan)}.tm-track .s2{background:var(--gold)}.tm-track .s3{background:var(--lime)}.tm-track .s4{background:var(--pink)}.toggle-tabs{border:3px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);display:flex}.toggle-tabs button{background:var(--surface);font-family:var(--pixel);letter-spacing:1.5px;color:var(--ink-soft);border-right:3px solid var(--ink);padding:10px 16px;font-size:14px}.toggle-tabs button:last-child{border-right:none}.toggle-tabs button.on{background:var(--red);color:#fff}.month-nav{gap:var(--s2);align-items:center;display:flex}.month-nav h2{font-family:var(--pixel);letter-spacing:1.5px;font-size:22px}.month-nav button{background:var(--surface);border:3px solid var(--ink);width:36px;height:36px;box-shadow:3px 3px 0 0 var(--ink);font-family:var(--pixel);font-size:14px}.month-nav button:active{box-shadow:1px 1px 0 0 var(--ink);transform:translate(2px,2px)}.cal-box{background:var(--surface);border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);padding:var(--s5)}.cal-toolbar{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-wd{font-family:var(--pixel);text-align:center;padding:var(--s2);background:var(--ink);color:var(--surface);letter-spacing:1px;font-size:14px}.cal-wd.sun{color:var(--red)}.cal-wd.sat{color:var(--cyan)}.cal-day{aspect-ratio:1;background:var(--surface);border:2px solid var(--ink);padding:var(--s2);cursor:pointer;flex-direction:column;justify-content:space-between;transition:transform 80ms;display:flex;position:relative}.cal-day:hover{background:var(--gold);transform:translate(-1px,-1px)}.cal-day.empty{visibility:hidden}.cal-day.weekend{background:var(--surface-3)}.cal-day.today{background:var(--red);color:#fff;box-shadow:inset 0 0 0 3px var(--gold)}.cal-day .num{font-family:var(--pixel);letter-spacing:.5px;font-size:14px}.cal-day .mon{align-self:center;font-size:26px}.cal-day .rare{font-family:var(--pixel);letter-spacing:1px;padding:1px 4px;font-size:14px;position:absolute;top:2px;right:2px}.r-n{background:var(--ink-mute);color:var(--surface)}.r-r{background:var(--cyan);color:var(--ink)}.r-e{background:var(--purple);color:#fff}.r-l{background:var(--gold);color:var(--ink)}.r-h{background:var(--pink);color:var(--ink)}.cal-legend{gap:var(--s4);padding:var(--s3);background:var(--surface-2);border:2px solid var(--ink);margin-top:var(--s3);font-family:var(--pixel);color:var(--ink-soft);letter-spacing:1px;flex-wrap:wrap;font-size:14px;display:flex}.cal-legend .item{align-items:center;gap:var(--s2);display:flex}.cal-legend .sw{border:2px solid var(--ink);width:12px;height:12px}.sched-wrap{display:none}.sched-wrap.on{gap:var(--s2);flex-direction:column;display:flex}.sched-row{gap:var(--s4);padding:var(--s3);background:var(--surface-2);border:2px solid var(--ink);grid-template-columns:200px 1fr;align-items:center;display:grid}.sched-row .who{align-items:center;gap:var(--s3);font-family:var(--pixel);font-size:14px;display:flex}.sched-row .who .avatar{background:var(--lime);width:32px;height:32px;color:var(--ink);font-family:var(--pixel);border:2px solid var(--ink);place-items:center;font-size:14px;display:grid;box-shadow:inset -2px -2px #0003}.sched-bar{background:var(--surface);border:2px solid var(--ink);height:30px;position:relative;overflow:hidden}.sched-bar .block{font-family:var(--pixel);color:#fff;letter-spacing:1px;border-right:2px solid var(--ink);justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:0;bottom:0}.sb-work{background:repeating-linear-gradient(45deg, var(--lime) 0 6px, var(--lime-deep) 6px 12px);color:var(--ink)}.sb-half{background:var(--gold);color:var(--ink)}.sb-leave{background:var(--red)}.sched-hours{gap:var(--s4);font-family:var(--pixel);color:var(--ink-mute);padding:0 var(--s3);grid-template-columns:200px 1fr;font-size:14px;display:grid}.sched-hours .marks{justify-content:space-between;display:flex}.monthly-collect{background:var(--gold);border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);padding:var(--s4) var(--s5);margin-bottom:var(--s5);position:relative}.monthly-collect:before{content:"★ THIS MONTH";background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;padding:3px 10px;font-size:14px;position:absolute;top:-12px;left:-3px}.mc-head{padding-bottom:var(--s3);margin-bottom:var(--s3);border-bottom:2px dashed var(--ink);justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.mc-head h3{font-family:var(--pixel);letter-spacing:1px;font-size:14px}.mc-rarity{gap:var(--s2);font-family:var(--pixel);letter-spacing:1px;flex-wrap:wrap;font-size:14px;display:flex}.mc-rarity span{background:var(--surface);border:2px solid var(--ink);padding:2px 6px}.mc-rarity b{color:var(--red-deep)}.mc-track{gap:var(--s2);padding-bottom:4px;display:flex;overflow-x:auto}.mc-mon{background:var(--surface);border:2px solid var(--ink);width:64px;height:76px;box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;transition:transform 80ms;display:flex;position:relative}.mc-mon:hover{box-shadow:3px 3px 0 0 var(--ink);background:var(--gold-soft);transform:translate(-1px,-1px)}.mc-mon.rare{background:var(--cyan-soft)}.mc-mon.epic{background:#e4b8f5}.mc-mon.legend{background:var(--gold-soft)}.mc-mon.hidden{background:#ffb3be}.mc-mon .e{font-size:24px}.mc-mon .d{font-family:var(--pixel);color:var(--ink-mute);letter-spacing:.5px;font-size:14px}.mc-mon:before{content:attr(data-rare);font-family:var(--pixel);background:var(--ink);color:var(--gold);padding:1px 3px;font-size:14px;position:absolute;top:2px;right:2px}.mc-mon.normal:before{content:"";display:none}.modal-overlay{z-index:200;padding:var(--s4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a1d3abf;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.on{animation:.18s pop;display:flex}.day-modal{background:var(--surface);border:4px solid var(--ink);width:100%;max-width:520px;box-shadow:10px 10px 0 0 var(--red);position:relative}.day-modal:before{content:"◆ CAPTURED MONMONI";background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;border:3px solid var(--ink);padding:3px 12px;font-size:14px;position:absolute;top:-14px;left:16px}.day-modal-close{background:var(--red);color:#fff;border:3px solid var(--ink);width:32px;height:32px;box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);z-index:3;place-items:center;font-size:14px;display:grid;position:absolute;top:-12px;right:-12px}.day-modal-body{padding:var(--s7) var(--s6) var(--s5);max-height:calc(92vh - 24px);overflow-y:auto}.dm-hero{gap:var(--s4);padding-bottom:var(--s4);border-bottom:2px dashed var(--ink);align-items:center;display:flex}.dm-char{background:var(--gold-soft);border:3px solid var(--ink);width:120px;height:120px;box-shadow:inset -3px -3px 0 0 var(--gold);image-rendering:pixelated;flex-shrink:0;place-items:center;font-size:64px;display:grid}.dm-char.rare{background:var(--cyan-soft);box-shadow:inset -3px -3px 0 0 var(--cyan)}.dm-char.epic{box-shadow:inset -3px -3px 0 0 var(--purple);background:#e4b8f5}.dm-char.legend{background:var(--gold-soft);box-shadow:inset -3px -3px 0 0 var(--gold-deep)}.dm-char.hidden{box-shadow:inset -3px -3px 0 0 var(--pink-deep);background:#ffb3be}.dm-meta{flex:1;min-width:0}.dm-meta .date{font-family:var(--pixel);color:var(--ink-soft);letter-spacing:1px;font-size:14px}.dm-meta h3{font-family:var(--pixel);letter-spacing:1px;margin-top:4px;font-size:22px;line-height:1.3}.dm-meta .rare-tag{margin-top:var(--s2);font-family:var(--pixel);letter-spacing:1px;background:var(--red);color:#fff;border:2px solid var(--ink);padding:3px 8px;font-size:14px;display:inline-block}.dm-meta .rare-tag.r-rare{background:var(--cyan);color:var(--ink)}.dm-meta .rare-tag.r-epic{background:var(--purple);color:#fff}.dm-meta .rare-tag.r-legend{background:var(--gold);color:var(--ink)}.dm-meta .rare-tag.r-hidden{background:var(--pink);color:var(--ink)}.dm-summary{margin-top:var(--s3);color:var(--ink-soft);font-size:14px;line-height:1.7}.dm-actions{gap:var(--s2);padding:var(--s4) 0;border-bottom:2px dashed var(--ink);flex-wrap:wrap;display:flex}.dm-actions .btn{flex:1;justify-content:center;min-width:120px}.dm-comments{padding-top:var(--s4)}.dm-comments h4{font-family:var(--pixel);letter-spacing:1px;margin-bottom:var(--s3);align-items:center;gap:var(--s2);font-size:14px;display:flex}.dm-comments h4 .cnt{background:var(--ink);color:var(--gold);padding:1px 6px;font-size:14px}.cmt-list{gap:var(--s2);flex-direction:column;max-height:180px;padding-right:4px;display:flex;overflow-y:auto}.cmt-item{gap:var(--s3);padding:var(--s3);background:var(--surface-2);border:2px solid var(--ink);grid-template-columns:auto 1fr;display:grid}.cmt-item .av{width:30px;height:30px;font-family:var(--pixel);border:2px solid var(--ink);place-items:center;font-size:14px;display:grid;box-shadow:inset -2px -2px #0003}.cmt-item .head{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.cmt-item .nm{font-family:var(--pixel);letter-spacing:.5px;font-size:14px}.cmt-item .ts{font-family:var(--pixel);color:var(--ink-mute);letter-spacing:1px;font-size:14px}.cmt-item .txt{color:var(--ink);margin-top:4px;font-size:14px;line-height:1.55}.cmt-form{gap:var(--s2);margin-top:var(--s3);display:flex}.cmt-form input{border:3px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);font-family:var(--sans);background:#fff;outline:none;flex:1;padding:10px 12px;font-size:14px}.cmt-form input:focus{border-color:var(--red);box-shadow:2px 2px 0 0 var(--red)}.cmt-form button{background:var(--red);color:#fff;font-family:var(--pixel);letter-spacing:1px;border:3px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);padding:10px 14px;font-size:14px}.sched-event-row{gap:var(--s4);padding:var(--s3);background:var(--gold-soft);border:2px dashed var(--ink);grid-template-columns:200px 1fr;align-items:center;display:grid}.sched-event-row .who{align-items:center;gap:var(--s2);font-family:var(--pixel);letter-spacing:1px;color:var(--ink);font-size:14px;display:flex}.sched-event-row .who .ic{background:var(--ink);width:28px;height:28px;color:var(--gold);border:2px solid var(--ink);place-items:center;font-size:14px;display:grid}.sched-bar .event{font-family:var(--pixel);letter-spacing:1px;background:var(--ink);color:var(--gold);border-left:2px solid var(--gold);border-right:2px solid var(--gold);z-index:2;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-size:14px;display:flex;position:absolute;top:2px;bottom:2px}.sched-bar .event.meeting{background:var(--purple);color:#fff;border-color:var(--surface)}.sched-bar .event.review{background:var(--red);color:#fff;border-color:var(--surface)}.sched-bar .event.lunch{background:var(--gold);color:var(--ink);border-color:var(--ink)}.dex-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.dex{aspect-ratio:1;background:var(--surface-2);border:3px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);padding:var(--s2);justify-content:center;align-items:center;gap:var(--s1);cursor:pointer;flex-direction:column;transition:transform 80ms;display:flex;position:relative}.dex:hover{box-shadow:4px 4px 0 0 var(--ink);transform:translate(-1px,-1px)}.dex:before{content:"#" attr(data-num);font-family:var(--pixel);color:var(--ink-mute);letter-spacing:1px;font-size:14px;position:absolute;top:4px;left:4px}.dex .mon{font-size:44px}.dex .mn{font-family:var(--pixel);letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:14px;overflow:hidden}.dex .dm{font-family:var(--pixel);color:var(--ink-mute);letter-spacing:.5px;font-size:14px}.dex .tag{font-family:var(--pixel);letter-spacing:1px;border:2px solid var(--ink);padding:2px 6px;font-size:14px;position:absolute;top:-4px;right:-4px}.dex.rare{background:var(--cyan)}.dex.epic{background:var(--purple);color:#fff}.dex.epic .dm,.dex.epic:before{color:#ffffffb3}.dex.legend{background:var(--gold)}.dex.hidden{background:var(--pink)}.dex.locked{background:var(--ink-2);color:var(--ink-mute)}.dex.locked:before,.dex.locked .dm{color:var(--ink-mute)}.dex.locked .mon{filter:grayscale()brightness(.5)}.filter-bar{gap:var(--s2);flex-wrap:wrap;display:flex}.filter-chip{font-family:var(--pixel);letter-spacing:1px;background:var(--surface);border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);color:var(--ink-soft);padding:6px 12px;font-size:14px}.filter-chip.on{background:var(--red);color:#fff}.filter-chip:hover:not(.on){background:var(--gold);color:var(--ink)}.ach-list{gap:var(--s3);flex-direction:column;display:flex}.ach-item{align-items:center;gap:var(--s4);padding:var(--s4);background:var(--surface);border:3px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);display:flex}.ach-icon{background:var(--gold);border:3px solid var(--ink);width:72px;height:72px;box-shadow:inset -3px -3px 0 0 var(--gold-deep);flex-shrink:0;place-items:center;font-size:34px;display:grid;overflow:hidden}.ach-icon img{object-fit:contain;image-rendering:auto;width:100%;height:100%}.ach-icon.done{background:var(--lime);box-shadow:inset -3px -3px 0 0 var(--lime-deep)}.ach-icon.locked{background:var(--ink-2);filter:grayscale()}.ach-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ach-body h4{font-family:var(--pixel);letter-spacing:.5px;font-size:14px;font-weight:700}.ach-body .desc{color:var(--ink-soft);font-size:14px}.ach-body .ac-prog{align-items:center;gap:var(--s2);margin-top:var(--s2);font-family:var(--pixel);color:var(--ink-soft);font-size:14px;display:flex}.ach-body .ac-prog .ln{background:var(--surface-2);border:2px solid var(--ink);flex:1;height:10px;overflow:hidden}.ach-body .ac-prog .ln div{background:repeating-linear-gradient(45deg, var(--red) 0 4px, var(--red-deep) 4px 8px);height:100%}.ach-status{font-family:var(--pixel);letter-spacing:1px;border:2px solid var(--ink);padding:3px 8px;font-size:14px}.ach-status.done{background:var(--lime);color:var(--ink)}.ach-status.ing{background:var(--gold);color:var(--ink)}.ach-status.lock{background:var(--ink-mute);color:var(--surface)}.ach-route{vertical-align:middle;margin-left:var(--s2);font-family:var(--pixel);letter-spacing:.5px;background:var(--surface-2);color:var(--ink-soft);border:2px solid var(--ink-mute);padding:2px 6px;font-size:14px;display:inline-block}.ach-section-title{font-family:var(--pixel);letter-spacing:.5px;color:var(--ink-soft);margin:var(--s3) 0 calc(var(--s1) * -1);align-items:center;gap:var(--s2);font-size:14px;display:flex}.ach-section-title:first-child{margin-top:0}.ach-section-title.locked{color:var(--ink-mute)}.ach-section-title span{border:2px solid;border-radius:999px;padding:1px 7px;font-size:14px}.ach-item.undone{opacity:.7}.ach-item.undone:hover{opacity:1}.my-grid{gap:var(--s5);grid-template-columns:1fr 1fr;display:grid}@media (max-width:960px){.my-grid{grid-template-columns:1fr}}.player-card{background:var(--ink);border:4px solid var(--ink);box-shadow:6px 6px 0 0 var(--gold);color:var(--surface);padding:var(--s6);position:relative}.player-card:before{content:"◆ PLAYER INFO";background:var(--gold);color:var(--ink);font-family:var(--pixel);letter-spacing:2px;border:3px solid var(--ink);padding:3px 10px;font-size:14px;position:absolute;top:-12px;left:-3px}.player-top{align-items:center;gap:var(--s4);padding-bottom:var(--s4);border-bottom:2px dashed var(--ink-soft);margin-bottom:var(--s4);display:flex}.avatar-lg{background:var(--lime);width:88px;height:88px;color:var(--ink);font-family:var(--pixel);border:4px solid var(--surface);box-shadow:inset -4px -4px 0 0 #00000040, 4px 4px 0 0 var(--gold);flex-shrink:0;place-items:center;font-size:36px;display:grid;position:relative;overflow:visible}.avatar-lg img{object-fit:contain;image-rendering:auto;width:100%;height:100%}.avatar-lg .edit{background:var(--red);color:#fff;border:3px solid var(--surface);width:30px;height:30px;box-shadow:2px 2px 0 0 var(--ink);place-items:center;font-size:14px;display:grid;position:absolute;bottom:-8px;right:-8px}.player-top .info h3{font-family:var(--pixel);color:var(--surface);font-size:22px}.player-top .info .mail{font-family:var(--pixel);color:var(--ink-mute);letter-spacing:1px;margin-top:6px;font-size:14px}.player-top .info .role{margin-top:var(--s2);background:var(--gold);color:var(--ink);font-family:var(--pixel);letter-spacing:1px;border:2px solid var(--surface);padding:3px 8px;font-size:14px;display:inline-block}.edit-section{gap:var(--s3);flex-direction:column;display:flex}.avatar-picker{gap:var(--s2);flex-wrap:wrap;display:flex}.avatar-picker button{width:44px;height:44px;font-family:var(--pixel);border:2px solid var(--ink);cursor:pointer;font-size:14px;transition:transform .1s;box-shadow:inset -2px -2px #0003}.avatar-picker button:hover{transform:scale(1.1)}.avatar-picker button.on{box-shadow:inset -2px -2px 0 0 #0003, 0 0 0 3px var(--gold), 0 0 0 5px var(--ink)}.edit-section .form-group .input{color:var(--ink)}.team-info-hero{align-items:center;gap:var(--s4);padding:var(--s4);background:var(--gold);border:3px solid var(--ink);margin-bottom:var(--s4);display:flex}.team-emoji-lg{background:var(--surface);border:3px solid var(--ink);place-items:center;width:56px;height:56px;font-size:28px;display:grid;box-shadow:inset -3px -3px #0003}.team-info-hero .n{font-family:var(--pixel);font-size:14px}.team-info-hero .s{color:var(--ink-soft);margin-top:4px;font-size:14px}.invite-row{padding:var(--s4);background:var(--surface-2);border:3px dashed var(--ink);margin-top:var(--s3);justify-content:space-between;align-items:center;display:flex}.invite-row .k{font-family:var(--pixel);color:var(--ink-soft);letter-spacing:1.5px;font-size:14px}.invite-row .code{font-family:var(--pixel);letter-spacing:4px;color:var(--red-deep);margin-top:4px;font-size:18px}.logout-card{padding:var(--s5);text-align:center;background:var(--red);color:#fff;border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);margin-top:var(--s5);position:relative}.logout-card:before{content:"! SAVE & LOG OUT !";background:var(--ink);color:var(--red);font-family:var(--pixel);letter-spacing:2px;border:3px solid var(--red);white-space:nowrap;padding:3px 10px;font-size:14px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.logout-card p{font-family:var(--pixel);margin:var(--s3) 0 var(--s4);letter-spacing:1px;font-size:14px;line-height:1.6}.apply-rooms{gap:var(--s2);margin-top:var(--s3);grid-template-columns:repeat(2,1fr);display:grid}.apply-room{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);background:var(--surface);border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);letter-spacing:.5px;cursor:pointer;font-size:14px;transition:transform 80ms;display:flex}.apply-room:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.apply-room .cb{border:2px solid var(--ink);width:16px;height:16px;color:var(--red-deep);background:#fff;flex-shrink:0;place-items:center;font-size:14px;display:grid}.apply-room.on .cb:after{content:"✓"}.apply-room.on{background:var(--gold)}.apply-room .rm-em{font-size:14px}.apply-note{margin-top:var(--s3);padding:var(--s2) var(--s3);background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:1px;font-size:14px}.setting-row{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:2px dashed var(--ink);display:flex}.setting-row:last-child{border-bottom:none}.setting-row .info .k{font-family:var(--pixel);letter-spacing:.5px;align-items:center;gap:var(--s2);font-size:14px;display:flex}.setting-row .info .d{color:var(--ink-soft);margin-top:4px;font-size:14px}.toggle-sw{background:var(--ink);width:56px;height:30px;color:var(--surface);border:3px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;font-family:var(--pixel);letter-spacing:1px;flex-shrink:0;align-items:center;font-size:14px;display:flex;position:relative}.toggle-sw:before{content:"";background:var(--gold);border:2px solid var(--surface);width:18px;height:18px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle-sw .off-lbl{color:var(--ink-mute);position:absolute;right:6px}.toggle-sw .on-lbl{color:var(--ink);display:none;position:absolute;left:6px}.toggle-sw.on{background:var(--lime);color:var(--ink)}.toggle-sw.on:before{background:var(--ink);border-color:var(--gold);left:30px}.toggle-sw.on .off-lbl{display:none}.toggle-sw.on .on-lbl{color:var(--ink);display:block}.time-picker{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.time-picker .t-input{border:3px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);letter-spacing:1px;background:#fff;align-items:center;gap:4px;padding:6px 10px;font-size:14px;display:flex}.time-picker .t-input input{text-align:center;width:30px;font:inherit;color:inherit;background:0 0;border:none;outline:none}.time-picker .day-chips{gap:2px;display:flex}.time-picker .day-chips button{width:26px;height:26px;font-family:var(--pixel);border:2px solid var(--ink);background:var(--surface-2);color:var(--ink-soft);font-size:14px}.time-picker .day-chips button.on{background:var(--red);color:#fff}.dex-avatar-picker{gap:var(--s3);grid-template-columns:repeat(4,1fr);display:grid}.dex-avatar-picker button{background:var(--surface-2);border:2px solid var(--ink);min-height:116px;box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);color:var(--ink-soft);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 4px;font-size:14px;transition:transform 80ms;display:flex;position:relative}.dex-avatar-picker button .e{font-size:52px;line-height:1}.dex-avatar-picker button img{object-fit:contain;image-rendering:auto;width:72px;height:72px}.dex-avatar-picker button .nm{font-family:var(--sans);color:var(--ink-soft);text-align:center;word-break:keep-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.4em;font-size:14px;line-height:1.2;display:-webkit-box;overflow:hidden}.dex-avatar-picker button.on .nm{color:var(--ink)}@media (max-width:640px){.dex-avatar-picker{grid-template-columns:repeat(4,1fr)}.dex-avatar-picker button{min-height:96px}.dex-avatar-picker button .e{font-size:40px}.dex-avatar-picker button img{width:52px;height:52px}.dex-avatar-picker button .nm{font-size:14px}}.dex-avatar-picker button:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.dex-avatar-picker button.on{background:var(--gold);color:var(--ink);box-shadow:3px 3px 0 0 var(--red)}.dex-avatar-picker button.on:before{content:"✓";background:var(--red);color:#fff;border:2px solid var(--surface);width:18px;height:18px;font-family:var(--pixel);place-items:center;font-size:14px;display:grid;position:absolute;top:-6px;right:-6px}.dex-avatar-picker button.locked{opacity:.4;cursor:not-allowed;filter:grayscale()}.dex-avatar-picker button.rare{background:var(--cyan-soft)}.dex-avatar-picker button.epic{background:#e4b8f5}.dex-avatar-picker button.legend{background:var(--gold-soft)}.dex-avatar-picker button.hidden{background:#ffb3be}.team-switcher{position:relative}.team-dropdown{z-index:100;background:var(--surface);border:3px solid var(--ink);min-width:280px;box-shadow:5px 5px 0 0 var(--ink);padding:var(--s2);flex-direction:column;gap:2px;display:none;position:absolute;top:calc(100% + 4px);left:0}.team-dropdown.on{display:flex}.team-dropdown:before{content:"▼ SWITCH ROOM";padding:var(--s2) var(--s3);font-family:var(--pixel);letter-spacing:1.5px;color:var(--ink-soft);border-bottom:2px dashed var(--ink);margin-bottom:4px;font-size:14px;display:block}.team-dropdown-item{gap:var(--s2);padding:var(--s2) var(--s3);cursor:pointer;font-family:var(--sans);border:2px solid #0000;grid-template-columns:32px 1fr auto;align-items:center;transition:all 80ms;display:grid}.team-dropdown-item:hover{background:var(--gold-soft);border-color:var(--ink)}.team-dropdown-item.current{background:var(--gold);border-color:var(--ink)}.team-dropdown-item .em{border:2px solid var(--ink);place-items:center;width:32px;height:32px;font-size:14px;display:grid;box-shadow:inset -2px -2px #0003}.team-dropdown-item .nm{font-family:var(--pixel);letter-spacing:.5px;font-size:14px}.team-dropdown-item .meta{color:var(--ink-soft);font-size:14px;font-family:var(--sans);margin-top:2px}.team-dropdown-item .role-mini{font-family:var(--pixel);letter-spacing:1px;border:2px solid var(--ink);background:var(--surface-2);padding:2px 6px;font-size:14px}.team-dropdown-item .role-mini.leader{background:var(--gold)}.team-dropdown-divider{background:var(--ink-mute);height:2px;margin:var(--s2) 0}.team-dropdown-add{justify-content:center;align-items:center;gap:var(--s2);padding:var(--s3);font-family:var(--pixel);letter-spacing:1px;background:var(--surface-2);border:2px dashed var(--ink);cursor:pointer;color:var(--ink);font-size:14px;transition:all 80ms;display:flex}.team-dropdown-add:hover{background:var(--gold)}.header-right .bell{font-family:var(--pixel);font-size:14px}.header-right .bell .badge-num{background:var(--red);color:#fff;min-width:18px;height:18px;font-family:var(--pixel);letter-spacing:0;border:2px solid var(--ink);border-radius:50%;place-items:center;padding:0 4px;font-size:14px;animation:1.5s steps(2,end) infinite blink;display:grid;position:absolute;top:-6px;right:-6px}.notif-panel{top:calc(100% + 10px);right:var(--s6);width:360px;max-width:calc(100vw - var(--s6) * 2);z-index:100;background:var(--surface);border:3px solid var(--ink);box-shadow:6px 6px 0 0 var(--red);display:none;position:absolute}.notif-panel.on{animation:.15s pop;display:block}.notif-backdrop{z-index:99;background:#1a1d3a80;animation:.15s fadeIn;display:none;position:fixed;inset:0}.notif-close{background:var(--surface-2);width:28px;height:28px;color:var(--ink);border:2px solid var(--ink);font-family:var(--pixel);cursor:pointer;z-index:2;font-size:14px;display:none;position:absolute;top:6px;right:6px}.notif-close:hover{background:var(--red);color:#fff}.notif-panel:before{content:"◆ NOTIFICATIONS";background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;padding:3px 10px;font-size:14px;position:absolute;top:-14px;left:-3px}.notif-head{padding:var(--s4) var(--s4) var(--s3);border-bottom:2px dashed var(--ink);font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);justify-content:space-between;align-items:center;font-size:14px;display:flex}.notif-head a{color:var(--red-deep);cursor:pointer}.notif-list{flex-direction:column;max-height:min(360px,100vh - 220px);display:flex;overflow-y:auto}.notif-item{gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:2px dashed var(--ink-mute);cursor:pointer;grid-template-columns:36px 1fr auto;align-items:center;transition:all 80ms;display:grid;position:relative}.notif-item:hover,.notif-item.unread{background:var(--gold-soft)}.notif-item.unread:before{content:"";background:var(--red);width:6px;height:6px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.notif-item:last-child{border-bottom:none}.notif-item .ic{background:var(--gold);width:36px;height:36px;color:var(--ink);border:2px solid var(--ink);place-items:center;font-size:14px;display:grid;box-shadow:inset -2px -2px #0003}.notif-item .ic.evo{background:var(--purple);color:#fff}.notif-item .ic.work{background:var(--lime)}.notif-item .ic.cmt{background:var(--cyan)}.notif-item .body{min-width:0}.notif-item .body .txt{font-family:var(--sans);color:var(--ink);font-size:14px;line-height:1.5}.notif-item .body .txt b{font-family:var(--pixel);letter-spacing:.5px;font-size:14px}.notif-item .body .ts{font-family:var(--pixel);color:var(--ink-mute);letter-spacing:1px;margin-top:4px;font-size:14px}.notif-item .chev{font-family:var(--pixel);color:var(--ink-soft);font-size:14px}.new-room-modal{background:var(--surface);border:4px solid var(--ink);width:100%;max-width:480px;box-shadow:10px 10px 0 0 var(--gold);position:relative}.new-room-modal:before{content:"＋ CREATE NEW ROOM";background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;border:3px solid var(--ink);padding:3px 12px;font-size:14px;position:absolute;top:-14px;left:16px}.new-room-modal.event-modal:before{content:"＋ NEW EVENT"}.new-room-modal.my-event-modal:before{content:"◆ MY SCHEDULE"}.new-room-modal.room-settings-modal:before{content:"⚙ ROOM SETTINGS"}.member-pick{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:4px;padding-bottom:6px;display:flex;overflow-x:auto}.member-pick::-webkit-scrollbar{height:6px}.member-pick::-webkit-scrollbar-thumb{background:var(--ink-mute)}.member-pick::-webkit-scrollbar-track{background:var(--surface-2)}.member-pick .mp-btn{aspect-ratio:1;background:var(--surface-2);border:2px solid var(--ink);min-width:68px;box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);letter-spacing:.5px;color:var(--ink);cursor:pointer;scroll-snap-align:start;flex-direction:column;flex:0 0 calc(25% - 3px);justify-content:center;align-items:center;gap:4px;font-size:14px;transition:all 80ms;display:flex;position:relative}.member-pick .mp-btn:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.member-pick .mp-btn .em{font-size:26px;line-height:1}.member-pick .mp-btn.on{background:var(--gold);box-shadow:3px 3px 0 0 var(--ink)}.member-pick .mp-btn.on:after{content:"✓";font-family:var(--pixel);color:var(--ink);font-size:14px;position:absolute;top:2px;right:4px}.new-room-body{padding:var(--s7) var(--s6) var(--s5);gap:var(--s4);flex-direction:column;display:flex}.new-room-body .form-group label{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);font-size:14px}.emoji-picker{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.emoji-picker button{aspect-ratio:1;background:var(--surface-2);border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);cursor:pointer;justify-content:center;align-items:center;font-size:18px;transition:all 80ms;display:inline-flex}.emoji-picker button img{object-fit:contain;image-rendering:auto;width:2em;height:2em}.emoji-picker button:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.emoji-picker button.on{background:var(--gold);box-shadow:3px 3px 0 0 var(--red)}.dm-share{margin-top:var(--s3);padding-top:var(--s3);border-top:2px dashed var(--ink)}.dm-share-label{font-family:var(--pixel);letter-spacing:1.5px;color:var(--ink-soft);margin-bottom:var(--s2);align-items:center;gap:var(--s2);font-size:14px;display:flex}.dm-share-grid{gap:var(--s2);grid-template-columns:repeat(5,1fr);display:grid}.share-btn{padding:var(--s2);aspect-ratio:1;background:var(--surface-2);border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);cursor:pointer;flex-direction:column;align-items:center;gap:4px;font-size:14px;transition:all 80ms;display:flex}.share-btn:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.share-btn .em{font-size:22px}.share-btn.kakao{color:#1a1d3a;background:#fee500}.share-btn.insta{color:#fff;background:linear-gradient(45deg,#f58529 0%,#dd2a7b 50%,#8134af 100%)}.share-btn.twit{color:#fff;background:#1da1f2}.share-btn.link{background:var(--ink);color:var(--gold)}.share-btn.save{background:var(--lime);color:var(--ink)}.dex-progress{gap:var(--s3);padding:var(--s4);background:var(--surface-2);border:2px solid var(--ink);margin-bottom:var(--s4);grid-template-columns:1fr;display:grid}.dex-progress-head{font-family:var(--pixel);letter-spacing:1px;justify-content:space-between;align-items:center;font-size:14px;display:flex}.dex-progress-head .pct{color:var(--red-deep);font-size:14px}.dex-progress-bar{background:var(--surface);border:2px solid var(--ink);height:16px;padding:2px}.dex-progress-bar .fill{background:repeating-linear-gradient(45deg, var(--gold) 0 6px, var(--gold-deep) 6px 12px);height:100%;transition:width .6s}.dex-rarity-stats{gap:var(--s2);grid-template-columns:repeat(5,1fr);display:grid}.dex-rarity-stat{text-align:center;padding:var(--s2);background:var(--surface);border:2px solid var(--ink);font-family:var(--pixel)}.dex-rarity-stat.r-n{background:var(--surface)}.dex-rarity-stat.r-r{background:var(--cyan-soft)}.dex-rarity-stat.r-e{background:#e4b8f5}.dex-rarity-stat.r-l{background:var(--gold-soft)}.dex-rarity-stat.r-h{background:#ffb3be}.dex-rarity-stat .k{letter-spacing:1px;color:var(--ink-mute);font-size:14px}.dex-rarity-stat .v{color:var(--ink);margin-top:2px;font-size:14px}.dex-rarity-stat .v b{color:var(--red-deep)}.dex-detail-extra{gap:var(--s2);margin-top:var(--s3);grid-template-columns:1fr 1fr;display:grid}.dex-detail-extra .kv{padding:var(--s2) var(--s3);background:var(--surface-2);border:2px solid var(--ink);font-family:var(--pixel)}.dex-detail-extra .kv .k{color:var(--ink-mute);letter-spacing:1px;font-size:14px}.dex-detail-extra .kv .v{color:var(--ink);margin-top:3px;font-size:14px}.dxd-ach{margin-top:var(--s3)}.dxd-ach-h{font-family:var(--pixel);letter-spacing:.5px;color:var(--ink-soft);margin-bottom:var(--s2);font-size:14px}.dxd-ach-row{align-items:center;gap:var(--s2);color:var(--ink-soft);font-size:14px;line-height:1.7;display:flex}.dxd-ach-row .ck{font-family:var(--pixel);color:var(--ink-mute);font-size:14px}.dxd-ach-row.done{color:var(--ink)}.dxd-ach-row.done .ck{color:var(--lime-deep)}.date-picker-popup{z-index:80;background:var(--surface);border:3px solid var(--ink);box-shadow:5px 5px 0 0 var(--ink);padding:var(--s4);margin-top:4px;display:none;position:absolute;top:100%;left:0;right:0}.date-picker-popup.on{display:block}.date-picker-head{font-family:var(--pixel);letter-spacing:1px;margin-bottom:var(--s3);padding-bottom:var(--s2);border-bottom:2px dashed var(--ink);justify-content:space-between;align-items:center;font-size:14px;display:flex}.date-picker-head button{background:var(--surface-2);border:2px solid var(--ink);width:24px;height:24px;font-family:var(--pixel);font-size:14px}.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-grid .wd{font-family:var(--pixel);letter-spacing:1px;text-align:center;color:var(--surface);background:var(--ink);padding:4px;font-size:14px}.date-picker-grid .wd.sun{color:var(--red)}.date-picker-grid .wd.sat{color:var(--cyan)}.date-picker-grid .dd{aspect-ratio:1;font-family:var(--pixel);background:var(--surface);border:1px solid var(--ink-mute);cursor:pointer;place-items:center;font-size:14px;transition:all 80ms;display:grid}.date-picker-grid .dd:hover{background:var(--gold)}.date-picker-grid .dd.empty{visibility:hidden}.date-picker-grid .dd.today{background:var(--red);color:#fff}.date-picker-grid .dd.selected{background:var(--purple);color:#fff}.date-picker-grid .dd.in-range{background:var(--gold-soft)}.date-picker-foot{margin-top:var(--s3);padding-top:var(--s3);border-top:2px dashed var(--ink);font-family:var(--pixel);letter-spacing:1px;justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;font-size:14px;display:flex}.date-picker-foot .sel-range{color:var(--red-deep)}.date-picker-trigger-wrap{flex:1;position:relative}.dex-avatar-picker{scrollbar-width:thin;max-height:248px;padding-right:4px;overflow-y:auto}.dex-avatar-picker::-webkit-scrollbar{width:6px}.dex-avatar-picker::-webkit-scrollbar-thumb{background:var(--ink-mute)}.dex-avatar-picker::-webkit-scrollbar-track{background:var(--surface-2)}.tm-v4{gap:var(--s3);grid-template-columns:1fr;display:grid}.tm-v4-bars{gap:var(--s2);grid-template-columns:60px 1fr;align-items:center;display:grid}.tm-v4-bars .h{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-soft);text-align:right;padding-right:var(--s2);font-size:14px}.tm-v4-bars .bar{border:2px solid var(--ink);height:36px;display:flex;overflow:hidden}.tm-v4-bars .bar .seg{border-right:1px solid var(--ink);cursor:pointer;justify-content:center;align-items:center;font-size:14px;transition:all 80ms;display:flex;position:relative}.tm-v4-bars .bar .seg:last-child{border-right:none}.tm-v4-bars .bar .seg:hover{z-index:2;transform:scale(1.1)}.tm-v4-bars .bar .seg.now{box-shadow:inset 0 0 0 3px var(--red)}.tm-v4-bars .bar .seg.empty{background:var(--surface-2)}.tm-v4-legend{gap:var(--s3);padding-top:var(--s3);border-top:2px dashed var(--ink);font-family:var(--pixel);color:var(--ink-soft);letter-spacing:1px;flex-wrap:wrap;font-size:14px;display:flex}.tm-v4-legend .it{align-items:center;gap:4px;display:flex}.tm-chart{padding-top:var(--s2);gap:6px;display:flex}.tm-yaxis{height:150px;font-family:var(--pixel);color:var(--ink-mute);text-align:right;flex-direction:column;justify-content:space-between;padding-bottom:14px;font-size:14px;display:flex}.tm-right{flex:1;min-width:0}.tm-plot{border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);background:repeating-linear-gradient(0deg,#0000 0 calc(25% - 1px),#1a1d3a1a calc(25% - 1px) 25%);height:150px;position:relative}.tm-cols{align-items:flex-end;gap:3px;padding:0 4px;display:flex;position:absolute;inset:0}.tm-col{cursor:pointer;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex;position:relative}.tm-col:hover{z-index:30}.tm-col:hover .tm-emo,.tm-col:hover .tm-fill{filter:brightness(1.06)}.tm-emo{position:relative}.tm-col:hover .tm-emo[data-tip]:after{content:attr(data-tip);background:var(--surface);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 0 var(--ink);font-family:var(--sans);white-space:nowrap;letter-spacing:-.01em;z-index:31;pointer-events:none;border-radius:0;margin-bottom:10px;padding:5px 10px;font-size:12px;font-weight:700;line-height:1.2;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.tm-emo{margin-bottom:2px;font-size:14px;line-height:1}.tm-fill{border:1.5px solid var(--ink);border-bottom:none;width:100%;max-width:24px;min-height:3px;transition:height .5s}.tm-col.now .tm-fill{box-shadow:inset 0 0 0 2px var(--red)}.tm-col.empty .tm-fill{border:1.5px dashed var(--ink-mute);opacity:.45;border-bottom:none;background:0 0!important;height:100%!important}.tm-axis{gap:3px;padding:4px 4px 0;display:flex}.tm-axis span{text-align:center;font-family:var(--pixel);color:var(--ink-soft);flex:1;font-size:14px}.tm-axis span.now{color:var(--red-deep)}.tm-axis span.future{color:var(--ink-mute);opacity:.6}.sched-grid-v4{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.sched-card{background:var(--surface-2);border:2px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);padding:var(--s3);gap:var(--s2);flex-direction:column;display:flex;position:relative}.sched-card.leave{background:var(--red-soft)}.sched-card.half{background:var(--gold-soft)}.sched-card.me{border-color:var(--red);box-shadow:3px 3px 0 0 var(--red)}.sched-card-head{align-items:center;gap:var(--s2);padding-bottom:var(--s2);border-bottom:2px dashed var(--ink);display:flex}.sched-card-head .avatar{width:36px;height:36px;font-family:var(--pixel);border:2px solid var(--ink);place-items:center;font-size:14px;display:grid;box-shadow:inset -2px -2px #0003}.sched-card-head .nm{font-family:var(--pixel);letter-spacing:.5px;align-items:center;gap:var(--s2);font-size:14px;display:flex}.sched-card-head .status-pill{font-family:var(--pixel);letter-spacing:1px;border:2px solid var(--ink);background:var(--surface);padding:2px 6px;font-size:14px}.sched-card-head .status-pill.work{background:var(--lime)}.sched-card-head .status-pill.half{background:var(--gold)}.sched-card-head .status-pill.leave{background:var(--red);color:#fff}.sched-card-body{font-family:var(--sans);color:var(--ink-soft);flex-direction:column;gap:4px;font-size:14px;line-height:1.5;display:flex}.sched-card-body .row{align-items:center;gap:4px;display:flex}.sched-card-body .row .k{font-family:var(--pixel);letter-spacing:1px;color:var(--ink-mute);min-width:56px;font-size:14px}.sched-card-body .ev-chip{font-family:var(--pixel);letter-spacing:.5px;border:1px solid var(--ink);align-items:center;gap:4px;padding:2px 6px;font-size:14px;display:inline-flex}.sched-card-body .ev-chip.meet{background:var(--purple);color:#fff}.sched-card-body .ev-chip.rev{background:var(--red);color:#fff}.sched-card-body .ev-chip.lunch{background:var(--gold);color:var(--ink)}.cal-day.sched{padding:4px}.cal-day.sched .num{font-size:14px}.cal-day.sched .sched-marks{flex-direction:column;gap:1px;margin-top:auto;display:flex}.cal-day.sched .sm{font-family:var(--pixel);letter-spacing:.5px;border:1px solid var(--ink);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:1px 3px;font-size:14px;line-height:1.4;display:block;overflow:hidden}.cal-day.sched .sm.h{background:var(--gold);color:var(--ink)}.cal-day.sched .sm.v{background:var(--red);color:#fff}.cal-day.sched .sm.o{background:var(--lime);color:var(--ink)}.cal-day.sched .sm.m{background:var(--purple);color:#fff}.cal-day.sched .sm.k{background:var(--cyan);color:var(--ink)}.cal-day.sched .sm.p{background:var(--pink);color:var(--ink)}.cal-day.sched .sm.e{background:var(--ink-mute);color:#fff}.cal-day.today.sched .num{color:#fff}.cal-span{margin-top:var(--s2)}.cs-wd-row{background:var(--ink);border:3px solid var(--ink);border-bottom:none;grid-template-columns:repeat(7,1fr);display:grid}.cs-wd{font-family:var(--pixel);color:var(--surface);text-align:center;letter-spacing:1px;border-right:2px solid var(--ink-2);padding:10px 0;font-size:14px}.cs-wd:last-child{border-right:none}.cs-wd.sun{color:var(--red)}.cs-wd.sat{color:var(--cyan)}.cs-weeks{border:3px solid var(--ink);box-shadow:6px 6px 0 0 var(--ink);background:var(--surface)}.cs-week{border-top:2px solid var(--ink);position:relative}.cs-week:first-child{border-top:none}.cs-cells{grid-template-columns:repeat(7,1fr);display:grid}.cs-cell{border-right:1px solid var(--surface-3);aspect-ratio:1;padding:6px 8px}.cs-cell:last-child{border-right:none}.cs-cell.weekend{background:var(--surface-2)}.cs-cell.empty{background:repeating-linear-gradient(45deg, var(--surface-2) 0 6px, transparent 6px 12px)}.cs-cell .dn{font-family:var(--pixel);color:var(--ink);font-size:14px;display:inline-block}.cs-cell.today .dn{background:var(--red);color:#fff;box-shadow:2px 2px 0 0 var(--ink);padding:1px 7px}.cs-bars{pointer-events:none;position:absolute;inset:0}.evt{height:26px;font-family:var(--pixel);letter-spacing:.5px;border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);box-sizing:border-box;cursor:pointer;pointer-events:auto;align-items:center;padding:0 8px;font-size:14px;transition:transform 80ms,box-shadow 80ms;display:flex;position:absolute;overflow:hidden}.evt .t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.evt img{object-fit:contain;width:1.1em;height:1.1em;image-rendering:pixelated;vertical-align:-.18em;flex-shrink:0;margin-right:3px}.evt:hover{box-shadow:3px 3px 0 0 var(--ink);z-index:6;transform:translate(-1px,-1px)}.evt.removing{opacity:0;transition:all .2s;transform:scale(.9)}.evt.span{font-weight:700}.evt.c-meet{background:var(--purple);color:#fff}.evt.c-work{background:var(--cyan);color:var(--ink)}.evt.c-party{background:var(--pink);color:var(--ink)}.evt.c-etc{background:var(--ink-mute);color:#fff}.evt.c-leave{background:var(--red);color:#fff}.evt.c-half{background:var(--gold);color:var(--ink)}.evt.c-off{background:var(--lime);color:var(--ink)}.my-cal{box-shadow:none}.my-cal .cs-weeks{box-shadow:5px 5px 0 0 var(--ink)}.my-cal .cs-cell:not(.empty){cursor:pointer;transition:background 80ms}.my-cal .cs-cell:not(.empty):hover{background:var(--gold-soft)}.my-cal .cs-cell.selected{background:var(--gold);box-shadow:inset 0 0 0 3px var(--ink)}.my-cal .cs-cell.today .dn{background:var(--red)}.my-cal .evt{pointer-events:none;box-shadow:1px 1px 0 0 var(--ink)}.upcoming-wrap{margin-top:var(--s6);padding-top:var(--s5);border-top:3px dashed var(--ink)}.upcoming-head{margin-bottom:var(--s4);justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.upcoming-head h4{font-family:var(--pixel);letter-spacing:1px;font-size:14px}.upcoming-head .sub{color:var(--ink-soft);font-size:14px;font-family:var(--sans);margin-top:4px;display:block}.upcoming-list{gap:var(--s3);flex-direction:column;display:flex}.up-item{align-items:stretch;gap:var(--s3);background:var(--surface);border:3px solid var(--ink);box-shadow:4px 4px 0 0 var(--ink);padding:var(--s3) var(--s4);transition:transform 80ms,box-shadow 80ms;display:flex}.up-item:hover{box-shadow:6px 6px 0 0 var(--ink);transform:translate(-2px,-2px)}.up-item.removing{opacity:0;transition:all .25s;transform:translate(30px)}.up-date{text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:64px;display:flex}.up-date .d{font-family:var(--pixel);color:var(--ink);font-size:26px;line-height:1}.up-date .m{font-family:var(--pixel);color:var(--ink-soft);letter-spacing:.5px;margin-top:4px;font-size:14px}.up-bar{border:2px solid var(--ink);flex-shrink:0;width:6px}.up-bar.c-meet{background:var(--purple)}.up-bar.c-work{background:var(--cyan)}.up-bar.c-party{background:var(--pink)}.up-bar.c-etc{background:var(--ink-mute)}.up-bar.c-leave{background:var(--red)}.up-bar.c-half{background:var(--gold)}.up-bar.c-off{background:var(--lime)}.up-body{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.up-title-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.up-title-row h5{font-family:var(--sans);letter-spacing:-.01em;color:var(--ink);font-size:14px;font-weight:700}.up-badge{font-family:var(--pixel);letter-spacing:.5px;border:2px solid var(--ink);flex-shrink:0;padding:2px 7px;font-size:14px}.up-badge.c-meet{background:var(--purple);color:#fff}.up-badge.c-work{background:var(--cyan);color:var(--ink)}.up-badge.c-party{background:var(--pink);color:var(--ink)}.up-badge.c-etc{background:var(--ink-mute);color:#fff}.up-badge.c-leave{background:var(--red);color:#fff}.up-badge.c-half{background:var(--gold);color:var(--ink)}.up-badge.c-off{background:var(--lime);color:var(--ink)}.up-meta{color:var(--ink-soft);font-size:14px;font-family:var(--sans);letter-spacing:-.01em}.up-actions{gap:var(--s2);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.up-edit,.up-del{border:2px solid var(--ink);width:32px;height:32px;box-shadow:2px 2px 0 0 var(--ink);background:var(--surface-2);place-items:center;font-size:14px;transition:transform 80ms,box-shadow 80ms;display:grid}.up-edit:hover{background:var(--gold);box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.up-del:hover{background:var(--red);box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.my-sched-list{gap:var(--s2);margin-top:var(--s3);flex-direction:column;display:flex}.my-sched-item{align-items:center;gap:var(--s3);background:var(--surface);border:2px solid var(--ink);box-shadow:3px 3px 0 0 var(--ink);padding:var(--s2) var(--s3);transition:transform 80ms,box-shadow 80ms;display:flex}.my-sched-item:hover{box-shadow:4px 4px 0 0 var(--ink);transform:translate(-1px,-1px)}.my-sched-item.removing{opacity:0;transition:all .25s;transform:translate(20px)}.my-sched-item .ms-badge{font-family:var(--pixel);letter-spacing:.5px;border:2px solid var(--ink);flex-shrink:0;padding:3px 7px;font-size:14px}.ms-badge.c-half{background:var(--purple);color:#fff}.ms-badge.c-leave{background:var(--red);color:#fff}.ms-badge.c-off{background:var(--ink-mute);color:#fff}.my-sched-item .ms-info{flex:1;min-width:0}.my-sched-item .ms-info .t{font-family:var(--sans);color:var(--ink);letter-spacing:-.01em;font-size:14px;font-weight:700}.my-sched-item .ms-info .s{color:var(--ink-soft);font-size:14px;font-family:var(--sans);margin-top:2px}.my-sched-item .ms-acts{gap:var(--s1);flex-shrink:0;display:flex}.my-sched-item .ms-acts button{border:2px solid var(--ink);width:28px;height:28px;box-shadow:2px 2px 0 0 var(--ink);background:var(--surface-2);place-items:center;font-size:14px;display:grid}.my-sched-item .ms-acts button:hover{box-shadow:3px 3px 0 0 var(--ink);transform:translate(-1px,-1px)}.my-sched-item .ms-acts .ms-edit:hover{background:var(--gold)}.my-sched-item .ms-acts .ms-del:hover{background:var(--red)}.mc-rarity span.rare-filter{cursor:pointer;border:2px solid var(--ink);transition:all 80ms}.mc-rarity span.rare-filter:hover{box-shadow:2px 2px 0 0 var(--ink);transform:translate(-1px,-1px)}.mc-rarity span.rare-filter.on{background:var(--red);color:#fff;box-shadow:2px 2px 0 0 var(--ink)}.mc-rarity span.rare-filter.on b{color:var(--gold)}.cal-day.dim,.mc-mon.dim{opacity:.15;pointer-events:none}.cal-day.mon-hidden .mon,.cal-day.mon-hidden .mon-img,.cal-day.mon-hidden .rare{display:none}.cal-day.mon-hidden{pointer-events:none}.mc-track-wrap{position:relative}.toast{bottom:var(--s6);background:var(--ink);color:var(--gold);padding:var(--s3) var(--s5);font-family:var(--pixel);letter-spacing:1px;border:3px solid var(--gold);box-shadow:4px 4px 0 0 var(--red);z-index:300;opacity:0;pointer-events:none;font-size:14px;transition:all .3s;position:fixed;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (max-width:1080px){.home-grid{grid-template-columns:1fr}.app-header-inner{gap:var(--s2)}.notif-panel{width:min(440px, calc(100vw - var(--s5) * 2));flex-direction:column;max-width:none;max-height:80vh;position:fixed;top:50%;left:50%;right:auto;overflow:hidden;transform:translate(-50%,-50%)}.notif-panel.on{animation:.18s notifModalPop;display:flex}.notif-panel:before{left:var(--s4)}.notif-close,.notif-backdrop.on{display:block}.notif-head{padding-right:calc(var(--s4) + 40px)}.notif-list{flex:1;max-height:calc(80vh - 80px)}}@media (max-width:640px){.showcase-inner{padding:var(--s2) var(--s3)}.showcase-brand span:not(.chip):not(.v2-chip){display:none}.showcase-flow span{padding:2px 5px;font-size:14px}.shell{padding:var(--s3)}.app-header-inner{padding:var(--s2) var(--s3)}.header-right .me .nm,.team-switcher .meta .s{display:none}.page-head h1{font-size:20px}.view-login{padding:var(--s4) var(--s3)}.view-login .console{border-radius:28px 28px 36px 36px;max-width:420px;padding:18px 18px 24px}.view-login .lcd-title .game{font-size:24px}.view-login .deck{gap:8px}.view-login .dpad{width:72px;height:72px}.view-login .dpad .v{width:20px;height:68px;left:26px}.view-login .dpad .h{width:68px;height:20px;top:26px}.view-login .dpad .mid{top:27px;left:27px}.view-login .ab .btn{width:40px;height:40px}.rooms-grid{grid-template-columns:1fr}.invite-card{flex-direction:column;align-items:stretch}.invite-card .form-inline{width:100%}.invite-card .input{flex:1;width:auto}.sched-row,.sched-hours{grid-template-columns:110px 1fr}.member-ring{width:280px;height:280px}.pixel-char-lg{width:140px;height:140px}.mem-row{grid-template-columns:auto 1fr}.status-picker{grid-template-columns:repeat(2,1fr)}.apply-rooms{grid-template-columns:1fr}.time-mood-grid{grid-template-columns:repeat(2,1fr)}.dex-avatar-picker{grid-template-columns:repeat(4,1fr);max-height:212px}.mc-mon{width:56px;height:68px}.dm-hero{text-align:center;flex-direction:column}.dm-char{width:100px;height:100px;font-size:54px}.dm-actions .btn{flex:100%}.sched-event-row{grid-template-columns:110px 1fr}.notif-panel{width:calc(100vw - var(--s4) * 2);max-height:75vh}.notif-panel:before{left:var(--s3)}.notif-list{max-height:calc(75vh - 80px)}.cal-wd{letter-spacing:.5px;padding:4px 2px;font-size:14px}.cal-day{aspect-ratio:auto;min-height:56px;padding:3px}.cal-day .num{font-size:14px}.cal-day .mon{font-size:20px}.cal-day .rare{letter-spacing:0;padding:1px 3px;font-size:14px;top:1px;right:1px}.cal-day.sched{min-height:76px;padding:3px}.cal-day.sched .num{font-size:14px}.cal-day.sched .sm{padding:1px 2px;font-size:7px;line-height:1.2}.cal-grid{gap:2px}.cs-cell{aspect-ratio:auto;min-height:128px}.cs-wd{padding:6px 0;font-size:14px}.cal-legend{gap:var(--s2);padding:var(--s2);font-size:14px}.dm-share-grid{grid-template-columns:repeat(5,1fr)}.share-btn{padding:var(--s1)}.share-btn .em{font-size:18px}.tm-v4-bars{grid-template-columns:48px 1fr}.tm-v4-bars .bar{height:30px}.sched-grid-v4{grid-template-columns:1fr}.emoji-picker{grid-template-columns:repeat(6,1fr)}}.hatch-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--s4);background:#1a1d3abf;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.hatch-overlay.on{animation:.18s pop;display:flex}.hatch-modal{background:var(--surface);border:4px solid var(--ink);width:100%;max-width:380px;box-shadow:10px 10px 0 0 var(--gold);padding:var(--s7) var(--s6) var(--s6);text-align:center;position:relative}.hatch-modal:before{content:"🐣 TODAY'S MONMONI";background:var(--ink);color:var(--gold);font-family:var(--pixel);letter-spacing:2px;border:3px solid var(--ink);padding:3px 12px;font-size:14px;position:absolute;top:-14px;left:16px}.hatch-close{z-index:5;background:var(--red);color:#fff;border:3px solid var(--ink);width:32px;height:32px;box-shadow:2px 2px 0 0 var(--ink);font-family:var(--pixel);place-items:center;font-size:14px;display:grid;position:absolute;top:-12px;right:-12px}.hatch-close:hover{background:var(--red-deep)}.hatch-title{font-family:var(--pixel);letter-spacing:.5px;margin-top:var(--s2);font-size:19px;line-height:1.55}.hatch-title b{color:var(--red)}.hatch-stage{width:200px;height:200px;margin:var(--s4) auto var(--s3);position:relative}.hatch-glow{z-index:0;background:radial-gradient(circle,#f4b8258c 0%,#f4b8251f 45%,#0000 68%);border-radius:50%;animation:2.4s ease-in-out infinite glowPulse;position:absolute;inset:-10px}.hatch-char{z-index:2;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 8px #0000002e);width:180px;height:180px;animation:1.2s steps(2,end) infinite hatchBob;position:relative}@keyframes hatchBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hatch-egg{z-index:3;place-items:center;font-size:92px;animation:1.1s forwards eggCrack;display:grid;position:absolute;inset:0}@keyframes eggCrack{0%{opacity:1;transform:scale(1)rotate(0)}20%{transform:scale(1.04)rotate(-7deg)}45%{transform:scale(1.04)rotate(7deg)}70%{transform:scale(1.06)rotate(-4deg)}to{opacity:0;transform:scale(1.35)rotate(0)}}.hatch-name{justify-content:center;align-items:center;gap:var(--s2);font-family:var(--pixel);font-size:16px;display:flex}.hatch-rare{font-family:var(--pixel);border:2px solid var(--ink);letter-spacing:1px;padding:2px 8px;font-size:12px}.hatch-meta{color:var(--ink-soft);margin-top:var(--s2);font-size:13px}.hatch-meta b{color:var(--ink)}.hatch-actions{gap:var(--s2);margin-top:var(--s5);flex-wrap:wrap;justify-content:center;display:flex}.hatch-spark{z-index:4;pointer-events:none;position:absolute;inset:0}.hatch-spark i{background:var(--gold);border:1px solid var(--ink);opacity:0;width:8px;height:8px;animation:1.8s ease-out infinite sparkFly;position:absolute}.hatch-spark i:first-child{background:var(--red);animation-delay:0s;top:30%;left:18%}.hatch-spark i:nth-child(2){background:var(--cyan);animation-delay:.2s;top:26%;left:80%}.hatch-spark i:nth-child(3){background:var(--lime);animation-delay:.5s;top:18%;left:30%}.hatch-spark i:nth-child(4){background:var(--gold);animation-delay:.8s;top:42%;left:70%}.hatch-spark i:nth-child(5){background:var(--pink);animation-delay:1.1s;top:52%;left:12%}.hatch-spark i:nth-child(6){background:var(--lime);animation-delay:.35s;top:58%;left:88%}.hatch-spark i:nth-child(7){background:var(--cyan);animation-delay:.65s;top:12%;left:50%}.hatch-spark i:nth-child(8){background:var(--red);animation-delay:1s;top:70%;left:60%}@keyframes sparkFly{0%{opacity:0;transform:translateY(8px)scale(.6)}30%{opacity:1}to{opacity:0;transform:translateY(-26px)scale(1.1)}}
