*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Noto Sans JP,Noto Sans KR,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;border:none;background:none;cursor:pointer}input,textarea,select{font:inherit;border:none;outline:none}img,svg{display:block;max-width:100%}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25}:root{--primary-normal: #0061FF;--primary-strong: #005AE9;--primary-heavy: #0051D1;--primary-light: rgba(0, 97, 255, .08);--bg-white: #FFFFFF;--bg-alternative: #F7F7F8;--bg-warm: #FAFAF9;--label-strong: #000000;--label-normal: #171718;--label-alternative: #858588;--label-assistive: #B2B2B4;--label-disable: #C8C8CA;--line-normal: #E8E8EA;--line-alternative: #F0F0F2;--fill-normal: #F2F2F4;--fill-strong: #E8E8EA;--status-positive: #4BBE4E;--status-destructive: #EB534B;--status-cautionary: #F5A623;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--container-max: 1200px;--container-padding: 24px;--nav-height: 64px;--app-header-height: 56px;--app-bottom-nav: 60px;--z-header: 100;--z-overlay: 200;--z-toast: 300}@media(max-width:768px){:root{--container-padding: 16px;--text-4xl: 28px;--text-3xl: 24px}}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.landing-page{min-height:100vh;background:var(--bg-white)}.app-page{min-height:100vh;background:var(--bg-alternative);display:flex;flex-direction:column}.app-header{position:fixed;top:0;left:0;right:0;height:var(--app-header-height);background:var(--bg-white);border-bottom:1px solid var(--line-alternative);z-index:var(--z-header);display:flex;align-items:center;padding:0 var(--container-padding);gap:var(--space-4)}.app-header-logo{font-size:var(--text-xl);font-weight:800;color:var(--primary-normal);letter-spacing:-.5px}.app-header-nav{display:flex;gap:var(--space-2);flex:1}.app-header-nav a{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--label-alternative);border-radius:var(--radius-sm);transition:color .15s,background .15s}.app-header-nav a:hover,.app-header-nav a.active{color:var(--primary-normal);background:var(--primary-light)}.app-header-actions{display:flex;align-items:center;gap:var(--space-3)}.app-content{flex:1;margin-top:var(--app-header-height);padding:var(--space-6) var(--container-padding);max-width:var(--container-max);width:100%;margin-left:auto;margin-right:auto}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}@media(max-width:768px){.app-content{padding:var(--space-4) var(--container-padding)}.grid-2,.grid-3{grid-template-columns:1fr}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.app-header-nav{display:none}}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--text-2xl);font-weight:700;color:var(--label-strong);margin-bottom:var(--space-1)}.page-subtitle{font-size:var(--text-sm);color:var(--label-alternative)}.divider{height:1px;background:var(--line-alternative);margin:var(--space-6) 0}.state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-6);gap:var(--space-3);text-align:center}.state-icon{font-size:48px;line-height:1}.state-title{font-size:var(--text-lg);font-weight:600;color:var(--label-normal)}.state-desc{font-size:var(--text-sm);color:var(--label-alternative)}.spinner{width:32px;height:32px;border:3px solid var(--line-normal);border-top-color:var(--primary-normal);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
