@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Regular.subset.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Medium.subset.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Medium.subset.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Bold.subset.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:900;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Black.subset.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html,body{color:#0f172a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafbff;height:100%;margin:0;padding:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root{height:100%;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-splash{background:#fafbff;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-splash-spinner{border:3px solid #e2e8f0;border-top-color:#0ea5e9;border-radius:50%;width:30px;height:30px;animation:.7s linear infinite appSplashSpin}@keyframes appSplashSpin{to{transform:rotate(360deg)}}.td-toast{color:#fff;z-index:2000;opacity:0;pointer-events:none;background:#0f172a;border-radius:999px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 10px 25px -5px #0f172a4d}.td-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.td-modal-overlay{z-index:2100;opacity:0;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.td-modal-overlay.show{opacity:1;animation:.15s forwards tdModalFade}@keyframes tdModalFade{0%{opacity:0}to{opacity:1}}.td-modal{background:#fff;border-radius:16px;width:100%;max-width:360px;padding:24px;transform:translateY(8px)scale(.98);box-shadow:0 20px 50px #0f172a40}.td-modal-overlay.show .td-modal{animation:.15s forwards tdModalRise}@keyframes tdModalRise{0%{transform:translateY(8px)scale(.98)}to{transform:translateY(0)scale(1)}}.td-modal-title{color:#0f172a;margin-bottom:8px;font-size:16px;font-weight:700}.td-modal-msg{color:#64748b;white-space:pre-line;margin-bottom:20px;font-size:14px;line-height:1.5}.td-modal-actions{justify-content:flex-end;gap:8px;display:flex}.td-modal-btn{cursor:pointer;color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.td-modal-btn:hover{background:#f8fafc}.td-modal-btn.danger{color:#fff;background:#ef4444;border-color:#ef4444}.td-modal-btn.danger:hover{background:#dc2626;border-color:#dc2626}.td-modal-btn.primary{color:#fff;background:#1976d2}.td-modal-btn.primary:hover{background:#2563eb}.td-modal-input{color:#0f172a;border-radius:10px;width:100%;margin-bottom:18px;padding:10px 12px;font-family:inherit;font-size:14px;box-shadow:none!important;background:#fff!important;border:1px solid #e2e8f0!important;outline:none!important}.td-modal-input:hover{box-shadow:none!important;border-color:#cbd5e1!important}.td-modal-input:focus,.td-modal-input:focus-visible,.td-modal-input:active{box-shadow:none!important;border-color:#2563eb!important;outline:none!important}.tm-topbar{padding:0 14px;padding-top:env(safe-area-inset-top,0px);height:calc(52px + env(safe-area-inset-top,0px));z-index:1000;background:#fffffff0;border-bottom:1px solid #e2e8f0;align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}.tm-nav-back,.tm-nav-logout{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.tm-nav-back svg{width:14px;height:14px}.tm-nav-back:hover,.tm-nav-logout:hover{background:#f8fafc}.tm-spacer{flex:1}.tm-nav-bar{gap:8px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tm-nav-pill{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s,transform .18s,border-color .18s,color .18s,background-position .4s;display:inline-flex}.tm-nav-pill svg{color:#2563eb;stroke-width:2px;width:16px;height:16px}.tm-nav-pill img{object-fit:contain;width:auto;height:14px}.tm-nav-pill:hover{background:#f8fafc;transform:translateY(-1px)}.tm-nav-pill.active{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 50%,#0ea5e9 100%) 0 0/200% 200%;border-color:#0000;box-shadow:0 8px 24px -8px #14b8a666}.tm-nav-pill.active svg{color:#fff}.tm-nav-pill.active:hover{background-position:100% 100%;box-shadow:0 12px 32px -8px #0ea5e98c}@media (width<=1100px){.tm-nav-bar{display:none}}.wg-wrap{display:inline-flex;position:relative}.wg-caret{width:13px;height:13px;color:inherit;opacity:.7;margin-left:-1px}.wg-menu{z-index:1001;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:2px;min-width:212px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px -12px #0f172a38}.wg-mi{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:flex}.wg-mi svg{color:#cb1f26;flex:none;width:16px;height:16px}.wg-mi:hover{background:#f1f5f9}.wg-mi .wg-soon{color:#94a3b8;letter-spacing:.2px;background:#f1f5f9;border-radius:6px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.wg-mi.active{color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 50%,#0ea5e9 100%)}.wg-mi.active svg{color:#fff}.wg-mi.active .wg-soon{color:#fff;background:#ffffff40}.tm-sub{left:0;right:0;top:calc(52px + env(safe-area-inset-top,0px));z-index:999;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#fffffff0;border-bottom:1px solid #eef2f7;align-items:center;gap:8px;height:44px;padding:0 14px;display:flex;position:fixed;overflow-x:auto}.tm-sub::-webkit-scrollbar{display:none}.tm-sub>.tm-sub-pill:first-child{margin-left:auto}.tm-sub>.tm-sub-pill:last-child{margin-right:auto}.tm-sub-pill{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex:none;align-items:center;gap:6px;padding:6px 13px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.tm-sub-pill svg{color:#cb1f26;width:14px;height:14px}.tm-sub-pill:hover{background:#f8fafc;border-color:#cbd5e1}.tm-sub-pill.active{box-shadow:0 8px 24px -10px #14b8a680;color:#fff!important;background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 50%,#0ea5e9 100%)!important;border-color:#0000!important}.tm-sub-pill.active svg{color:#fff!important}.app-content{margin-top:calc(52px + env(safe-area-inset-top,0px));height:calc(100vh - 52px - env(safe-area-inset-top,0px));-webkit-overflow-scrolling:touch;background:#fafbff;width:100%;overflow-y:auto}.app-content.has-sub{margin-top:calc(96px + env(safe-area-inset-top,0px));height:calc(100vh - 96px - env(safe-area-inset-top,0px))}.lg-body{color:#0f172a;-webkit-font-smoothing:antialiased;background:#fafafa;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.stack{z-index:5;flex-direction:column;justify-content:center;align-items:stretch;gap:16px;width:100%;max-width:420px;max-height:100dvh;margin:auto;display:flex;position:relative}.ascii-stage{justify-content:center;align-items:center;width:100%;max-height:40vh;display:flex;position:relative;overflow:hidden;-webkit-mask-image:radial-gradient(90% 92%,#000 65%,#0000 100%);mask-image:radial-gradient(90% 92%,#000 65%,#0000 100%)}.ascii-art{-webkit-user-select:none;user-select:none;max-width:100%;height:auto;margin:0;animation:.9s cubic-bezier(.16,1,.3,1) asciiIn;display:block}@keyframes asciiIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ascii-loading{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;position:absolute}.card{z-index:10;background:0 0;border:0;width:100%;padding:0;animation:.7s cubic-bezier(.16,1,.3,1) cardIn;position:relative}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card h1{letter-spacing:-.03em;color:#0f172a;text-align:center;margin:0 0 18px;font-size:28px;font-weight:700;line-height:1.15}.card h1 .accent{background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 50%,#10b981 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.field{margin-bottom:14px}.field label{color:#334155;letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.input-wrap{position:relative}.input-wrap>svg{color:#94a3b8;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.lg-body input[type=text],.lg-body input[type=password]{color:#0f172a;appearance:none;background:#fff;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:13px 44px 13px 42px;font-family:inherit;font-size:16px;transition:border-color .15s,background .15s,box-shadow .15s}.lg-body input::placeholder{color:#94a3b8}.lg-body input:hover{border-color:#cbd5e1}.lg-body input:focus{background:#fff;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.lg-body input[type=password]::-ms-reveal{visibility:hidden!important;pointer-events:none!important;display:none!important}.lg-body input[type=password]::-ms-clear{visibility:hidden!important;pointer-events:none!important;display:none!important}.lg-body input::-webkit-credentials-auto-fill-button{visibility:hidden!important;pointer-events:none!important;display:none!important}.lg-body input::-webkit-strong-password-auto-fill-button{visibility:hidden!important;pointer-events:none!important;display:none!important}.lg-body input::-webkit-contacts-auto-fill-button{visibility:hidden!important;pointer-events:none!important;display:none!important}.toggle-pw{cursor:pointer;color:#94a3b8;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.toggle-pw:hover{color:#475569;background:#0f172a0d}.options{justify-content:space-between;align-items:center;margin:4px 0 18px;font-size:13px;display:flex}.remember{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.remember input{display:none}.checkbox{background:#fff;border:1.5px solid #cbd5e1;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;transition:all .15s;display:flex}.remember input:checked+.checkbox{background:linear-gradient(135deg,#0ea5e9,#10b981);border-color:#0000}.remember input:checked+.checkbox:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;transform:rotate(45deg)translateY(-1px)}.btn-primary{letter-spacing:.01em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9 0%,#14b8a6 50%,#0ea5e9 100%) 0 0/200% 200%;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:transform .15s,box-shadow .15s,background-position .4s;display:flex;box-shadow:0 8px 24px -8px #14b8a666}.btn-primary:hover{background-position:100% 100%;transform:translateY(-1px);box-shadow:0 12px 32px -8px #0ea5e98c}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:none}.btn-primary.loading .spinner{display:block}.btn-primary.loading .label{display:none}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;font-size:13px;display:none}.error.show{animation:.4s shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.nf-root{text-align:center;background:#f8fafc;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;padding:24px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.nf-code{color:#cbd5e1;letter-spacing:-2px;font-size:96px;font-weight:900;line-height:1}.nf-title{color:#1e293b;font-size:22px;font-weight:800}.nf-desc{color:#64748b;margin:0;font-size:14px}.nf-home{color:#fff;background:#1e293b;border-radius:10px;margin-top:12px;padding:11px 22px;font-size:14px;font-weight:700;text-decoration:none}.nf-home:hover{background:#0f172a}
