:root{--brand-primary:#1e3a8a;--brand-primary-hover:#172554;--brand-primary-light:#eff6ff;--brand-accent:#0284c7;--brand-accent-hover:#0369a1;--brand-highlight:#f97316;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-text-main:#0f172a;--color-text-muted:#475569;--color-text-subtle:#64748b;--color-text-inverse:#fff;--color-status-info-bg:#eff6ff;--color-status-info-text:#1d4ed8;--color-status-info-border:#bfdbfe;--color-status-warning-bg:#fffbeb;--color-status-warning-text:#b45309;--color-status-warning-border:#fde68a;--color-status-success-bg:#ecfdf5;--color-status-success-text:#047857;--color-status-success-border:#a7f3d0;--color-status-neutral-bg:#f3f4f6;--color-status-neutral-text:#4b5563;--color-status-neutral-border:#e5e7eb;--font-sans:-apple-system, BlinkMacSystemFont, "Pretendard Variable", Pretendard, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-card:0 12px 30px -10px #0f172a17;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--max-content-width:1200px;--header-height:68px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-text-main);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;overflow-x:hidden}body{flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.container{width:100%;max-width:var(--max-content-width);margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}@media (width>=768px){.container{padding-left:2rem;padding-right:2rem}}.tap-target{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--color-border-hover)}.badge{border-radius:var(--radius-full);align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;line-height:1.25;display:inline-flex}.badge-info{background-color:var(--color-status-info-bg);color:var(--color-status-info-text);border:1px solid var(--color-status-info-border)}.badge-warning{background-color:var(--color-status-warning-bg);color:var(--color-status-warning-text);border:1px solid var(--color-status-warning-border)}.badge-neutral{background-color:var(--color-status-neutral-bg);color:var(--color-status-neutral-text);border:1px solid var(--color-status-neutral-border)}.badge-success{background-color:var(--color-status-success-bg);color:var(--color-status-success-text);border:1px solid var(--color-status-success-border)}.btn-primary{background-color:var(--brand-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;font-weight:600;transition:background-color .15s,transform 50ms;display:inline-flex}.btn-primary:hover{background-color:var(--brand-primary-hover)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1.25rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-secondary:hover{background-color:var(--color-surface-muted);border-color:var(--color-border-hover)}
