@font-face{font-family:Galmuri11;font-weight:400;font-display:swap;src:url(./Galmuri11-DfQIlyDK.woff2)format("woff2")}@font-face{font-family:Galmuri11;font-weight:700;font-display:swap;src:url(./Galmuri11-Bold-QdFGsJ3v.woff2)format("woff2")}@font-face{font-family:Galmuri9;font-weight:400;font-display:swap;src:url(./Galmuri9-B9HMP827.woff2)format("woff2")}:root{--ink:#1b1526;--bg:#120d1a;--panel:#231a30;--panel-2:#2c2240;--line:#4a3d63;--hi:#5c4d7a;--text:#f6f2e9;--muted:#a59bb8;--gold:#f7d046;--gold-2:#c99327;--red:#e0473f;--green:#9be06b;--blue:#7fd3ea;--purple:#c7a2f2;--orange:#f28c3a}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:none;font-smooth:never;-webkit-user-select:none;user-select:none;margin:0;font-family:Galmuri11,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:12px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer;border:2px solid var(--ink);box-shadow:inset 0 2px 0 var(--hi), inset 0 -2px 0 #2a2138;background:#3a2f4e;border-radius:0;padding:4px 10px}button:hover:not(:disabled){background:#45385d}button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px #2a2138}button:disabled{opacity:.45;cursor:default}button.primary{background:#7a2a3a;box-shadow:inset 0 2px #a8435a,inset 0 -2px #4f1824}button.primary:hover:not(:disabled){background:#8c3346}button.gold{background:#8a6420;box-shadow:inset 0 2px #c99327,inset 0 -2px #5e3a26}input{font:inherit;color:var(--text);border:2px solid var(--ink);background:#160f20;padding:6px 8px;box-shadow:inset 0 2px #0c0812}.pix{image-rendering:pixelated;image-rendering:crisp-edges}#app{grid-template-rows:auto 1fr auto;height:100dvh;display:grid}.topbar{background:var(--panel);border-bottom:2px solid var(--ink);box-shadow:inset 0 -2px 0 var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:6px 12px;display:flex}.who{align-items:center;gap:8px;min-width:220px;display:flex}.who .avatar{border:2px solid var(--ink);background:#160f20;place-items:center;width:48px;height:48px;display:grid;overflow:hidden}.who .name{font-weight:700}.who .rank{color:var(--gold)}.xpbar{border:2px solid var(--ink);background:#160f20;width:160px;height:8px;margin-top:2px}.xpbar>div{background:var(--purple);height:100%}.power{color:var(--muted)}.res{flex-wrap:wrap;flex:1;gap:10px;display:flex}.res span{border:2px solid var(--ink);white-space:nowrap;background:#160f20;padding:1px 8px}.res b{color:var(--muted);margin-right:4px;font-weight:400}.top-actions{gap:6px;display:flex}.main{grid-template-columns:1fr 320px;min-height:0;display:grid}.stage{background:#0b0811;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.stage canvas{image-rendering:pixelated;image-rendering:crisp-edges;border:2px solid var(--ink);box-shadow:0 0 0 2px var(--line)}.stage-top{border:2px solid var(--ink);white-space:nowrap;background:#120d1ad9;align-items:center;gap:8px;padding:4px 8px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.stage-top button{padding:0 6px}.pips{gap:2px;display:flex}.pips i{border:1px solid var(--ink);background:#3a2f4e;width:8px;height:8px}.pips i.done{background:var(--green)}.pips i.now{background:var(--gold)}.pips i.boss{background:#7a2a3a}.pips i.boss.now{background:var(--red)}.exam-timer{color:var(--gold);text-shadow:2px 2px 0 var(--ink);font-size:24px;font-weight:700;position:absolute;top:48px;left:50%;transform:translate(-50%)}.banner{border:2px solid var(--ink);box-shadow:0 0 0 2px var(--gold-2);text-align:center;pointer-events:none;background:#1b1526eb;max-width:90%;padding:10px 18px;font-size:24px;font-weight:700;animation:2.6s steps(26,end) forwards banner;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.banner small{color:var(--muted);font-size:12px;font-weight:400;display:block}@keyframes banner{0%{opacity:0;transform:translate(-50%,-30%)}10%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1}to{opacity:0}}.toast{border:2px solid var(--ink);box-shadow:0 0 0 2px var(--line);pointer-events:none;white-space:nowrap;background:#1b1526f2;padding:6px 12px;animation:3s steps(30,end) forwards banner;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.side{background:var(--panel);border-left:2px solid var(--ink);grid-template-rows:auto 1fr auto;min-height:0;display:grid}.tabs{border-bottom:2px solid var(--ink);display:flex}.tabs button{box-shadow:none;color:var(--muted);background:0 0;border:0;flex:1;padding:8px}.tabs button.on{color:var(--text);background:var(--panel-2);box-shadow:inset 0 -2px 0 var(--gold)}.feed{min-height:0;padding:8px 10px;overflow-y:auto}.feed .n{word-break:keep-all;margin-bottom:6px}.feed .n time{color:#6f6585;margin-right:6px;font-family:Galmuri9;font-size:10px}.tag{color:var(--text);background:#3a2f4e;margin-right:4px;padding:0 4px;display:inline-block}.tag-인사{background:#7a5a18}.tag-목격{background:#8a2d6b}.tag-사고{background:#8f2a33}.tag-결재{background:#2a4c8f}.tag-기록{background:#9a2c35}.tag-쪽지{background:#5f3f97}.tag-회사,.tag-외근{background:#2f6b3d}.tag-자격{background:#5f3f97}.tag-업무{background:#2f6b5a}.tag-출근{background:#5e3a26}.tag-정산{background:#5c5470}.tag-공지{background:#4a405c}.chatbox{border-top:2px solid var(--ink);gap:6px;padding:8px;display:flex}.chatbox input{flex:1;min-width:0}.task{border:2px solid var(--ink);background:#1a1324;margin-bottom:8px;padding:8px}.task.done{opacity:.6}.task .bar{border:1px solid var(--ink);background:#160f20;height:6px;margin-top:4px}.task .bar>div{background:var(--green);height:100%}.grade-box{color:var(--muted);margin-top:6px}.grade-box .days{gap:4px;margin-top:4px;display:flex}.grade-box .days i{border:2px solid var(--ink);background:#2c2240;width:14px;height:14px}.grade-box .days i.ok{background:var(--green)}.bottombar{background:var(--panel);border-top:2px solid var(--ink);box-shadow:inset 0 2px 0 var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.skills{align-items:center;gap:8px;display:flex}.skill{text-align:left;width:112px;padding:4px 8px 4px 30px;position:relative;overflow:hidden}.skill .key{color:var(--gold);font-weight:700;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.skill .cd{transform-origin:0;pointer-events:none;background:#0a0610a6;position:absolute;inset:0}.skill.locked{opacity:.35}.skill .name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.skill.empty{color:var(--muted);border-style:dashed}.skill.active{box-shadow:inset 0 2px 0 var(--hi), 0 0 0 2px var(--gold)}.auto.on{background:#2f6b3d;box-shadow:inset 0 2px #52a845,inset 0 -2px #1f4a2a}.menu{flex-wrap:wrap;gap:6px;display:flex}.menu button .k{color:var(--muted);margin-left:4px;font-family:Galmuri9;font-size:10px}.menu button.alert{box-shadow:inset 0 2px 0 var(--hi), 0 0 0 2px var(--gold)}.modal-back{z-index:10;background:#08050cb8;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:2px solid var(--ink);width:min(760px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:0 0 0 2px var(--line), 0 0 0 4px var(--ink);overflow:auto}.modal.small{width:min(460px,100vw - 32px)}.modal header{background:var(--panel-2);border-bottom:2px solid var(--ink);z-index:1;justify-content:space-between;align-items:center;padding:8px 12px;display:flex;position:sticky;top:0}.modal header h2{color:var(--gold);margin:0;font-size:12px;font-weight:700}.modal .body{padding:12px}.modal h3{color:var(--gold);margin:12px 0 6px;font-size:12px}.modal h3:first-child{margin-top:0}.muted{color:var(--muted)}.ok{color:var(--green)}.bad{color:var(--red)}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.card{border:2px solid var(--ink);text-align:left;box-shadow:none;background:#1a1324;padding:8px}.card.sel{box-shadow:0 0 0 2px var(--gold)}.card .pic{place-items:center;height:76px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.slots{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.slot{border:2px solid var(--ink);text-align:left;min-height:46px;box-shadow:none;background:#1a1324;padding:6px}.slot .lbl{color:var(--muted);font-family:Galmuri9;font-size:10px;display:block}.slot.sel{box-shadow:0 0 0 2px var(--gold)}.inv{border:2px solid var(--ink);background:#160f20;max-height:210px;overflow-y:auto}.inv button{width:100%;box-shadow:none;text-align:left;background:0 0;border:0;border-bottom:1px solid #2c2240;justify-content:space-between;padding:4px 8px;display:flex}.inv button.sel{background:#3a2f4e}.detail{border:2px solid var(--ink);background:#1a1324;min-height:160px;padding:10px}.detail .nm{font-weight:700}.check{margin:0;padding:0;list-style:none}.check li{border-bottom:1px solid #2c2240;justify-content:space-between;gap:8px;padding:4px 0;display:flex}.ladder{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.ladder span{border:2px solid var(--ink);color:var(--muted);background:#1a1324;padding:2px 8px}.ladder span.past{color:var(--text)}.ladder span.now{color:var(--text);background:#7a5a18}.ladder span.locked{opacity:.4}.progress{border:2px solid var(--ink);background:#160f20;height:8px}.progress>div{background:var(--blue);height:100%}.payslip{border-collapse:collapse;width:100%}.payslip td{border-bottom:1px solid #2c2240;padding:4px 6px}.payslip td:last-child{text-align:right}.disguise{z-index:50;color:#222;-webkit-font-smoothing:auto;-webkit-user-select:text;user-select:text;background:#fff;grid-template-rows:auto auto auto 1fr auto;font-family:Malgun Gothic,Apple SD Gothic Neo,sans-serif;font-size:13px;display:grid;position:fixed;inset:0}.disguise .ribbon{color:#fff;background:#217346;gap:18px;padding:6px 12px;display:flex}.disguise .tools{color:#444;background:#f3f3f3;border-bottom:1px solid #d4d4d4;gap:14px;padding:6px 12px;display:flex}.disguise .formula{color:#444;border-bottom:1px solid #d4d4d4;gap:12px;padding:4px 12px;display:flex}.disguise table{border-collapse:collapse;width:100%}.disguise th,.disguise td{text-align:right;border:1px solid #e1e1e1;min-width:80px;height:22px;padding:2px 6px}.disguise th{color:#555;text-align:center;background:#f3f3f3;font-weight:400}.disguise td.l{text-align:left}.disguise .sheet{overflow:auto}.disguise .status{color:#fff;background:#217346;padding:2px 12px;font-size:12px}@media (width<=860px){.main{grid-template-rows:1fr 220px;grid-template-columns:1fr}.side{border-left:0;border-top:2px solid var(--ink)}.who{min-width:0}.skill{width:auto}.grid2{grid-template-columns:1fr}.slots{grid-template-columns:1fr 1fr}}.stage-only .topbar,.stage-only .side,.stage-only .bottombar,.stage-only .stage-top{display:none}.stage-only #app{grid-template-rows:1fr}.stage-only .main{grid-template-rows:1fr;grid-template-columns:1fr}.net{align-self:center;padding:0 6px;font-family:Galmuri9;font-size:10px}.net.on{color:var(--green)}.net.off{color:var(--red)}button.mini{box-shadow:none;border-width:1px;margin-left:4px;padding:0 4px;font-family:Galmuri9;font-size:10px}.feed .sys{border-left:2px solid var(--gold-2);background:#1d1529;padding:2px 4px}.feed .msg .acts{visibility:hidden}.feed .msg:hover .acts{visibility:visible}.feed .msg.mine b{color:var(--gold)}.who-rank{color:var(--muted);margin-right:4px;font-family:Galmuri9;font-size:10px}.tag-축하{background:#7a2a5a}.fatal{text-align:center;align-content:center;place-items:center;gap:12px;height:100%;display:grid}.fatal-title{color:var(--gold);font-size:24px}.tag-호봉{background:#4f5f2a}.account-tabs{margin-bottom:12px}.account-form .field{gap:4px;margin-bottom:8px;display:grid}.account-form .field input{width:100%}.gm-btn{background:#8f2a33;box-shadow:inset 0 2px #c0404c,inset 0 -2px #5a1820}.gm-badge{color:#fff;background:#e0473f;margin-right:4px;padding:0 4px;font-family:Galmuri9;font-size:10px;display:inline-block}.feed .msg.gm b{color:#ff8a80}.pinned{z-index:1;background:#3a1d24;border:2px solid #8f2a33;margin-bottom:8px;padding:4px 6px;position:sticky;top:-8px}.gm-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.gm-grid input{min-width:0}select{font:inherit;color:var(--text);border:2px solid var(--ink);background:#160f20;padding:4px}.spread{justify-content:space-between}button.danger{background:#6e2433;box-shadow:inset 0 2px #9a2c35,inset 0 -2px #4f1824}.skill-slots{grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0;display:grid}.skill-slot{border:2px solid var(--ink);background:#1a1324;align-items:center;gap:6px;min-height:28px;padding:4px 6px;display:flex}.skill-slot .key{color:var(--gold);font-weight:700}.skill-slot.locked{opacity:.4}.skill-slot button.mini{margin-left:auto}.skill-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.skill-row{border:2px solid var(--ink);background:#1a1324;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.skill-row.learned{border-color:var(--line)}.skill-row.locked{opacity:.55}.skill-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.skill-head .muted{margin-left:auto;font-family:Galmuri9;font-size:10px}.skill-desc{font-size:11px}.skill-next{font-family:Galmuri9;font-size:10px}.skill-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.equip-keys{margin-left:auto;display:flex}.equip-keys button.mini.on{color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.kind{border:1px solid;padding:0 4px;font-family:Galmuri9;font-size:10px}.kind.active{color:#f28c3a}.kind.buff{color:#7fd3ea}.kind.passive{color:#9be06b}.job-card .job-skills{color:var(--gold);margin-top:4px;font-family:Galmuri9;font-size:10px}.gacha-level .bar{border:1px solid var(--ink);background:#1a1324;height:6px;margin-top:4px}.gacha-level .bar i{background:linear-gradient(90deg,#5aaaf2,#b47cf2,#f5a742);height:100%;display:block}.odds{flex-wrap:wrap;gap:4px 10px;font-family:Galmuri9;font-size:10px;display:flex}.small{font-size:10px}.gold-text{color:var(--gold)}.pull-buttons{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.pull-buttons button{flex-direction:column;align-items:center;gap:2px;padding:8px;display:flex}.pull-buttons small{opacity:.8;font-family:Galmuri9;font-size:10px}.pull-results{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;display:grid}.pull-card{border:2px solid var(--c);background:#1a1324;padding:5px 6px;animation:.28s both pull-pop;position:relative;overflow:hidden}.pull-card .pg{color:var(--c);font-family:Galmuri9;font-size:10px}.pull-card .pn{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.pull-card .pf{color:var(--muted);font-family:Galmuri9;font-size:10px}.pull-card.equipped .pf{color:var(--green)}.pull-card.returned{opacity:.55}.pull-card.g4,.pull-card.g5,.pull-card.g6,.pull-card.g7{box-shadow:0 0 8px var(--c)}.pull-card.g4:after,.pull-card.g5:after,.pull-card.g6:after,.pull-card.g7:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff59 50%,#0000 70%);animation:1.6s infinite pull-shine;position:absolute;inset:0}@keyframes pull-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes pull-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.dev-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dev-row{border:2px solid var(--ink);background:#1a1324;flex-direction:column;gap:4px;padding:6px 8px;display:flex}ul.plain{margin:0;padding-left:16px}ul.plain li{margin:2px 0}ul.todo li{color:var(--gold)}.gear-top{align-items:flex-start;gap:8px;display:flex}.gear-top .slots{flex:1}.gear-look{border:2px solid var(--ink);background:#1a1324;place-items:center;padding:4px;display:grid}.company-head{margin-bottom:6px}table.members{border-collapse:collapse;width:100%;font-size:11px}table.members th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:2px 4px;font-family:Galmuri9;font-size:10px;font-weight:400}table.members td{border-bottom:1px solid #241c30;padding:3px 4px}table.members tr.me td{color:var(--gold)}.role{border:1px solid;padding:0 4px;font-family:Galmuri9;font-size:10px}.role.ceo{color:#f7d046}.role.exec{color:#c7a2f2}.role.staff{color:#a59bb8}.offer{border:2px solid var(--ink);background:#1a1324;margin-bottom:4px;padding:4px 6px}button.pulse{animation:1.2s ease-in-out infinite pulse-glow}@keyframes pulse-glow{50%{box-shadow:inset 0 2px 0 var(--hi), 0 0 0 3px var(--gold)}}.bar.raid i{background:linear-gradient(90deg,#9a2c35,#e0473f)}
