:root{--cp-primary: #187fc5;--cp-primary-press: #136aa6;--cp-primary-soft: rgba(24, 127, 197, .12);--cp-text-strong: #1f2329;--cp-text: #3b424c;--cp-text-sub: #6b7480;--cp-line: #e6e8eb;--cp-surface: #ffffff;--cp-surface-sub: #f5f6f8;--cp-danger: #e5484d;--cp-skeleton-base: #eceef1;--cp-skeleton-shine: rgba(255, 255, 255, .65);--cp-skeleton-duration: 1.6s;--cp-radius-sm: 4px;--cp-radius-md: 8px;--cp-radius-lg: 12px;--cp-radius-pill: 999px;--cp-fade: .2s;--cp-loading-delay: .2s;--cp-ease: cubic-bezier(.22, 1, .36, 1);--cp-font: "Pretendard", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}:root[data-input=keyboard] :focus-visible{outline:2px solid var(--cp-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){:root{--cp-fade: 0s;--cp-skeleton-duration: 0s}}*{margin:0;padding:0;font-family:Pretendard;font-display:swap;white-space:inherit}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin-top:10px}body{margin:0;padding:0}table{border:1px solid #ccc;border-collapse:collapse}table th{background-color:#eaeaea;color:#000}table th,table td{padding:4px;border:1px solid #ccc;font-size:12px;text-align:center}.cp-legacy-spinner{aspect-ratio:1;border-radius:50%;border:4px solid #eaeaea;animation:cp-l20-1 .8s linear infinite alternate,cp-l20-2 1.6s linear infinite;margin:0 auto}@keyframes cp-l20-1{0%{clip-path:polygon(50% 50%,0 0,50% 0,50% 0,50% 0,50% 0,50% 0)}12.5%{clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 0,100% 0,100% 0)}25%{clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,100% 100%,100% 100%)}50%{clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,50% 100%,0 100%)}62.5%{clip-path:polygon(50% 50%,100% 0,100% 0,100% 0,100% 100%,50% 100%,0 100%)}75%{clip-path:polygon(50% 50%,100% 100%,100% 100%,100% 100%,100% 100%,50% 100%,0 100%)}to{clip-path:polygon(50% 50%,50% 100%,50% 100%,50% 100%,50% 100%,50% 100%,0 100%)}}@keyframes cp-l20-2{0%{transform:scaleY(1) rotate(0)}49.99%{transform:scaleY(1) rotate(135deg)}50%{transform:scaleY(-1) rotate(0)}to{transform:scaleY(-1) rotate(-135deg)}}.cp-spinner{display:inline-block;flex-shrink:0;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;opacity:.85;animation:cp-spin .75s linear infinite;vertical-align:middle}@keyframes cp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.cp-spinner{animation-duration:2.4s}}.cp-error-state{display:flex;flex-direction:column;align-items:center;text-align:center;font-family:var(--cp-font);color:var(--cp-text-sub);animation:cp-state-in var(--cp-fade) ease-out}.cp-error-state--page{padding:96px 24px 72px}.cp-error-state--app{min-height:100vh;justify-content:center;padding:48px 24px;box-sizing:border-box}.cp-error-state--section{padding:32px 16px;margin:16px;background-color:var(--cp-surface-sub);border-radius:var(--cp-radius-lg)}.cp-error-state--compact{padding:24px 8px}.cp-error-state__icon{display:block;font-size:30px;line-height:1;color:#c9ced6;margin-bottom:16px}.cp-error-state__title{font-size:17px;font-weight:700;line-height:1.45;color:var(--cp-text-strong);margin:0 0 6px;word-break:keep-all;text-align:center}.cp-error-state--compact .cp-error-state__title{font-size:16px}.cp-error-state__description{font-size:14px;line-height:22px;color:var(--cp-text-sub);margin:0;padding:0 8px;word-break:keep-all;white-space:pre-line;text-align:center}.cp-error-state__actions{display:flex;justify-content:center;gap:8px;margin-top:24px}.cp-error-state__debug{margin-top:24px;width:100%;text-align:left}.cp-error-state__debug summary{font-size:12px;color:var(--cp-text-sub);cursor:pointer}.cp-error-state__debug pre{margin-top:8px;white-space:pre-wrap;word-break:break-all;font-size:11px;background-color:var(--cp-surface-sub);padding:12px;border-radius:var(--cp-radius-md);max-height:320px;overflow:auto;text-align:left}.cp-state-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;min-width:120px;padding:0 18px;font-family:var(--cp-font);font-size:15px;font-weight:600;color:var(--cp-text);background-color:var(--cp-surface-sub);border:none;border-radius:var(--cp-radius-md);cursor:pointer;transition:background-color var(--cp-fade) ease,transform .12s ease}.cp-state-btn:active{transform:scale(.98)}.cp-state-btn--primary{color:#fff;background-color:var(--cp-primary)}.cp-state-btn--primary:active{background-color:var(--cp-primary-press)}.cp-state-btn[aria-disabled=true]{opacity:.7;cursor:default}.cp-state-btn__icon{font-size:13px}.cp-error-indicator{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:9990;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-family:var(--cp-font);background-color:var(--cp-surface);border:1px solid var(--cp-line);border-radius:var(--cp-radius-pill);box-shadow:0 4px 16px rgba(20,24,31,.08);color:var(--cp-text-sub);white-space:nowrap;animation:cp-state-in var(--cp-fade) ease-out}.cp-error-indicator__icon{color:var(--cp-danger);font-size:12px}.cp-error-indicator__label{font-size:12px}.cp-error-indicator button{padding:3px 10px;border:none;border-radius:var(--cp-radius-pill);background-color:var(--cp-primary);color:#fff;font-size:12px;font-weight:600;cursor:pointer}.cp-field-error{margin:6px 0 0;padding:0 2px;font-size:13px;line-height:1.5;color:var(--cp-danger);text-align:left;animation:cp-state-in var(--cp-fade) ease-out}@keyframes cp-state-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.cp-error-state,.cp-error-indicator,.cp-field-error{animation:none}.cp-state-btn{transition:none}}.cp-top-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:10001;overflow:hidden;background-color:var(--cp-primary-soft);animation:cp-progress-in var(--cp-fade) ease-out var(--cp-loading-delay) backwards}.cp-top-progress__bar{position:absolute;top:0;bottom:0;left:0;width:40%;background-color:var(--cp-primary);border-radius:0 3px 3px 0;animation:cp-progress-slide 1.1s var(--cp-ease) infinite}@keyframes cp-progress-in{0%{opacity:0}}@keyframes cp-progress-slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.cp-input-shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;background:transparent}@media (prefers-reduced-motion: reduce){.cp-top-progress{animation:none}.cp-top-progress__bar{animation:none;width:100%;opacity:.6}}.cp-toaster{position:fixed;left:16px;right:16px;bottom:88px;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.cp-toast{pointer-events:auto;max-width:480px;width:fit-content;padding:12px 16px;font-family:var(--cp-font);font-size:14px;line-height:1.5;color:#fff;text-align:center;word-break:keep-all;background-color:rgba(31,35,41,.92);border-radius:var(--cp-radius-md);box-shadow:0 6px 20px rgba(20,24,31,.18);animation:cp-toast-in .24s var(--cp-ease)}@keyframes cp-toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion: reduce){.cp-toast{animation:none}}.cp-skeleton{position:relative;display:block;overflow:hidden;flex-shrink:0;max-width:100%;background-color:var(--cp-skeleton-base);border-radius:var(--cp-radius-sm);margin:0;padding:0}.cp-skeleton--pill{border-radius:var(--cp-radius-pill)}.cp-skeleton--circle{border-radius:50%}.cp-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,rgba(255,255,255,0) 0%,var(--cp-skeleton-shine) 50%,rgba(255,255,255,0) 100%);animation:cp-skeleton-shine var(--cp-skeleton-duration) ease-in-out infinite}@keyframes cp-skeleton-shine{to{transform:translate(100%)}}.cp-skeleton-text{display:block}.cp-skeleton-text__line{display:flex;align-items:center}.cp-skeleton-region{animation:cp-fade-in var(--cp-fade) ease-out var(--cp-loading-delay) backwards}@keyframes cp-fade-in{0%{opacity:0}to{opacity:1}}.cp-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (prefers-reduced-motion: reduce){.cp-skeleton:after{animation:none;display:none}.cp-skeleton-region{animation:none}}.cp-route-skeleton{max-width:768px;margin:0 auto;padding:0 16px}.cp-route-skeleton--list{padding:0}.cp-route-skeleton__row{display:flex;align-items:center;justify-content:space-between;padding:18px 14px;border-bottom:1px solid #f0f1f3}
