@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Regular.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Medium.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-SemiBold.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Bold.woff2) format("woff2")}*{box-sizing:border-box}html{margin:0!important;padding:0!important;width:100vw;height:100vh;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}:root{--primary-main: #e63946;--primary-light: #ff6b6b;--primary-dark: #c1121f;--secondary-main: #f4a261;--secondary-light: #f7c59f;--secondary-dark: #e76f51;--bg-cream: #faf8f3;--bg-light: #ffffff;--bg-warm: #fff8e7;--brown-light: #8d6e63;--brown-main: #6d4c41;--brown-dark: #4e342e;--text-primary: #2d1b12;--text-secondary: #5d4037;--text-muted: #8d6e63;--text-inverse: white;--accent-green: #10b981;--accent-yellow: #f59e0b;--accent-red: #e63946;--bg-primary: var(--bg-cream);--bg-secondary: var(--bg-warm);--bg-tertiary: var(--bg-light);--border-color: #e8dfd6;--divider-color: #f0e8de;--btn-primary: var(--primary-main);--btn-primary-hover: var(--primary-dark);--btn-secondary: var(--secondary-main);--btn-secondary-hover: var(--secondary-dark);--state-success: var(--accent-green);--state-warning: var(--accent-yellow);--state-error: var(--accent-red);--focus-color: var(--primary-light);--selection-bg: var(--bg-warm);--color-primary: var(--primary-main);--color-background: var(--bg-primary);--color-surface: var(--bg-tertiary);--color-font: var(--text-primary);--color-completed: var(--text-muted);--color-divider: var(--divider-color);--font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--font-weight-heading: 700;--font-weight-body: 400;--font-size-h1: 24px;--font-size-h2: 20px;--font-size-body: 16px;--font-size-caption: 13px;--shadow-card: 0 2px 12px 0 rgba(67, 134, 249, .05);--shadow-modal: 0 6px 24px 0 rgba(67, 134, 249, .08);--radius-card: 18px;--radius-button: 16px;--radius-input: 12px;--card-padding: 24px 18px;font-family:var(--font-family);line-height:1.5;font-weight:var(--font-weight-body);color:var(--color-font);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--bg-primary: #faf8f3;--bg-secondary: #fff8e7;--bg-tertiary: #ffffff;--text-primary: #2d1b12;--text-secondary: #5d4037;--text-muted: #8d6e63;--border-color: #e8dfd6;--divider-color: #f0e8de;--btn-primary: #e63946;--btn-primary-hover: #c1121f;--color-background: #faf8f3;--color-surface: #ffffff}}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary);opacity:.8}body{margin:0!important;padding:0!important;min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-font);width:100vw!important;max-width:100vw!important;height:100vh;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative}h1{font-size:var(--font-size-h1);font-weight:var(--font-weight-heading);line-height:1.1;color:var(--color-font)}h2{font-size:var(--font-size-h2);font-weight:var(--font-weight-heading);color:var(--color-font)}button{border-radius:var(--radius-button);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--btn-primary);color:var(--text-inverse);cursor:pointer;transition:all .25s;box-shadow:var(--shadow-card)}button:hover{background-color:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-modal)}button:focus,button:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}button:active{transform:translateY(0)}button.secondary{background-color:var(--bg-tertiary);color:var(--btn-primary);border:1px solid var(--btn-primary)}button.secondary:hover{background-color:var(--btn-secondary);color:var(--text-primary);border-color:var(--btn-secondary-hover)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],textarea{border-radius:var(--radius-input);border:1px solid var(--color-divider);padding:12px 16px;font-size:var(--font-size-body);font-family:inherit;background-color:var(--color-surface);color:var(--color-font);transition:all .2s}input:focus,textarea:focus{outline:none;border-color:var(--btn-primary);box-shadow:0 0 0 3px var(--selection-bg)}input[type=checkbox]{width:20px;height:20px;border-radius:6px;border:2px solid #ececf2;cursor:pointer;appearance:none;-webkit-appearance:none;background-color:#fff;transition:all .2s}input[type=checkbox]:checked{background-color:var(--btn-primary);border-color:var(--btn-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M10.28 2.28L3.989 8.575 1.695 6.28A1 1 0 00.28 7.695l3 3a1 1 0 001.414 0l7-7A1 1 0 0010.28 2.28z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--card-padding);box-shadow:var(--shadow-card);transition:all .2s}.card:hover{box-shadow:var(--shadow-modal);transform:translateY(-2px)}.completed{color:var(--color-completed);text-decoration:line-through}#root{width:100vw!important;max-width:100vw!important;margin:0!important;padding:0!important;min-height:100vh;overflow-x:hidden}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff8e7,#ffe8d6);padding:20px}.error-boundary-content{background:#fff;border-radius:16px;padding:48px 32px;max-width:600px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.error-icon{font-size:80px;margin-bottom:24px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-boundary-content h1{font-size:28px;font-weight:700;color:#1a1a1a;margin-bottom:16px}.error-message{font-size:16px;color:#666;line-height:1.6;margin-bottom:32px}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-actions button{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#e63946,#d62828);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #e6394666}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover{background:#e5e5e5;transform:translateY(-2px)}.error-details{margin-top:32px;text-align:left;background:#f8f9fa;border-radius:8px;padding:16px}.error-details summary{cursor:pointer;font-weight:600;color:#e63946;-webkit-user-select:none;user-select:none;padding:8px}.error-details summary:hover{color:#d62828}.error-stack{margin-top:16px;padding:16px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.error-stack h3{font-size:14px;font-weight:600;color:#333;margin-bottom:8px;margin-top:16px}.error-stack h3:first-child{margin-top:0}.error-stack pre{background:#1a1a1a;color:#f8f8f2;padding:12px;border-radius:4px;overflow-x:auto;font-size:12px;line-height:1.5;font-family:Courier New,Courier,monospace;white-space:pre-wrap;word-wrap:break-word}@media(max-width:640px){.error-boundary-content{padding:32px 24px}.error-icon{font-size:60px}.error-boundary-content h1{font-size:24px}.error-message{font-size:14px}.error-actions{flex-direction:column}.error-actions button{width:100%}}
