:root{--background-default:#f3f4f6;--surface-primary-01:#f3f4f6;--surface-primary-02:#ffffff;--fill-opacity-white:rgba(255,255,255,0.65);--fill-primary:#191a1b;--fill-secondary-01:#d5d8dd;--fill-secondary-04:#e9eaee;--fill-disabled-01:#e9eaee;--fill-disabled-02:#f3f4f6;--fill-tertiary-hover:#f3f4f6;--fill-accent-primary:#e0282f;--fill-feedback-info:#007f7f;--border-primary-01:#7a7e86;--border-focused:#191a1b;--border-secondary-01:#d5d8dd;--border-secondary-02:#e9eaee;--border-subtle-01:#c7cad1;--border-tertiary-02:#eeeff2;--border-opacity-white:rgba(255,255,255,0.65);--text-primary:#191a1b;--text-secondary-01:#4a4c50;--text-secondary-02:#55585d;--text-tertiary-01:#61646b;--text-tertiary-02:#6f737b;--text-disabled-01:#9fa4ad;--text-inverse:#ffffff;--text-critical:#bb1b21;--text-info:#005e66;--icon-disabled-02:#adb1b9;--dim-overlay:rgba(19,20,21,0.65);--tag-info-bg:#cdeeee;--tag-info-fg:#005e66;--tag-progress-bg:#c2ebff;--tag-progress-fg:#0049a3;--tag-warning-bg:#ffe8d1;--tag-warning-fg:#8f4800;--tag-critical-bg:#fadbdc;--tag-critical-fg:#bb1b21;--tag-default-bg:#d5d8dd;--tag-default-fg:#4a4c50;--kakao:#fee500;--shadow-1:0 0 2px rgba(19,20,21,0.05),0 2px 8px rgba(19,20,21,0.06);--shadow-2:0 0 2px rgba(19,20,21,0.06),0 8px 24px rgba(19,20,21,0.1);--shadow-3:0 0 2px rgba(19,20,21,0.08),0 16px 48px rgba(19,20,21,0.16);--font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--nav-w:280px;--ease:cubic-bezier(0.2,0,0,1)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font);color:var(--text-primary);background:var(--background-default);-webkit-font-smoothing:antialiased;letter-spacing:0;line-height:1.48}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:default}input,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--border-focused);outline-offset:2px;border-radius:6px}::selection{background:#cdeeee}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border-radius:8px;font-weight:600;white-space:nowrap;transition:background .15s var(--ease),opacity .15s}.btn-xl{height:56px;padding:0 16px;font-size:16px}.btn-md{height:44px;padding:0 16px;font-size:15px}.btn-sm{height:40px;padding:0 14px 0 12px;font-size:14px}.btn-xs{height:32px;padding:0 12px 0 8px;font-size:13px}.btn-primary{background:var(--fill-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:#2e3033}.btn-primary:disabled{background:var(--fill-disabled-01);color:var(--text-disabled-01)}.btn-secondary{background:var(--fill-secondary-04);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--fill-secondary-01)}.btn-tertiary{background:var(--surface-primary-02);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-subtle-01)}.btn-tertiary:hover:not(:disabled){background:var(--fill-tertiary-hover)}.btn-critical{background:var(--text-critical);color:#fff}.icon-btn{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary-01);transition:background .15s;position:relative}.icon-btn:hover{background:var(--fill-tertiary-hover);color:var(--text-primary)}.icon-btn-40{width:40px;height:40px}.text-btn{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:500;color:var(--text-tertiary-01)}.text-btn:hover{color:var(--text-primary)}.tag{display:inline-flex;align-items:center;height:18px;padding:0 4px;border-radius:4px;font-size:10px;font-weight:600;line-height:1;white-space:nowrap}.tag-info{background:var(--tag-info-bg);color:var(--tag-info-fg)}.tag-progress{background:var(--tag-progress-bg);color:var(--tag-progress-fg)}.tag-warning{background:var(--tag-warning-bg);color:var(--tag-warning-fg)}.tag-critical{background:var(--tag-critical-bg);color:var(--tag-critical-fg)}.tag-default{background:var(--tag-default-bg);color:var(--tag-default-fg)}.chip{height:36px;padding:0 16px;border-radius:999px;font-size:15px;font-weight:500;background:var(--surface-primary-02);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-secondary-01);transition:background .15s}.chip:hover{background:var(--fill-tertiary-hover)}.chip.on{background:var(--fill-primary);color:var(--text-inverse);box-shadow:none;font-weight:600}.field-label{display:block;font-size:16px;font-weight:700;margin-bottom:8px}.field{display:flex;align-items:center;gap:8px;height:48px;padding:0 8px 0 16px;border-radius:8px;background:var(--surface-primary-02);box-shadow:inset 0 0 0 1px var(--border-subtle-01);transition:box-shadow .15s}.field:focus-within{box-shadow:inset 0 0 0 1.5px var(--border-focused)}.field.error{box-shadow:inset 0 0 0 1.5px var(--text-critical)}.field input{flex:1 1;min-width:0;height:100%;border:0;outline:0;background:transparent;font-size:15px;font-weight:500}.field input::placeholder{color:var(--text-disabled-01)}.field .timer{font-size:13px;font-weight:600;color:var(--text-critical)}.helper{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:13px;font-weight:500;color:var(--text-tertiary-01);padding:0 4px}.helper.error{color:var(--text-critical)}.dim{position:fixed;inset:0;background:var(--dim-overlay);display:flex;align-items:center;justify-content:center;z-index:100;animation:fade .2s var(--ease)}.popup{width:400px;background:var(--surface-primary-02);border-radius:16px;box-shadow:var(--shadow-3);padding:28px 24px 24px;animation:pop .24s var(--ease)}.popup-md{width:480px}.popup h2{font-size:20px;font-weight:700;line-height:1.4}.popup .popup-desc{margin-top:8px;font-size:15px;color:var(--text-secondary-01)}.popup .popup-actions{display:flex;gap:8px;margin-top:28px}.popup .popup-actions .btn{flex:1 1}.popup-head{display:flex;justify-content:space-between;align-items:flex-start}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toast-wrap{position:fixed;left:50%;bottom:128px;transform:translateX(-50%);flex-direction:column;z-index:200;pointer-events:none}.toast,.toast-wrap{display:flex;gap:8px;align-items:center}.toast{min-height:48px;padding:12px 20px;border-radius:12px;background:rgba(25,26,27,.92);color:#fff;font-size:15px;font-weight:500;box-shadow:var(--shadow-2);animation:toastIn .3s var(--ease);pointer-events:auto}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}