:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft JhengHei,PingFang TC,Noto Sans TC,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--breakpoint-mobile: 375px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}a{color:#1976d2;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:100%}@media (max-width: 767px){:root{font-size:14px}h1{font-size:24px}h2{font-size:20px}h3{font-size:18px}:root{--spacing-xs: 6px;--spacing-sm: 10px;--spacing-md: 14px;--spacing-lg: 20px;--spacing-xl: 28px;--spacing-2xl: 36px}}@media (min-width: 768px) and (max-width: 1023px){:root{font-size:15px}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}}@media (min-width: 1024px){:root{font-size:16px}h1{font-size:36px}h2{font-size:28px}h3{font-size:22px}}.mobile-only{display:block}.tablet-up,.desktop-only{display:none}@media (min-width: 768px){.mobile-only{display:none}.tablet-up{display:block}}@media (min-width: 1024px){.desktop-only{display:block}}.container{width:100%;margin:0 auto;padding:0 var(--spacing-md)}@media (min-width: 768px){.container{padding:0 var(--spacing-lg)}}@media (min-width: 1024px){.container{max-width:1200px;padding:0 var(--spacing-xl)}}.grid{display:grid;gap:var(--spacing-md)}.grid-responsive{grid-template-columns:1fr}@media (min-width: 768px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}.flex-responsive{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width: 768px){.flex-responsive{flex-direction:row}}@media (hover: none) and (pointer: coarse){button{min-height:44px;min-width:44px}input,textarea,select{min-height:44px;font-size:16px}}@media (min-width: 1024px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}}@media print{body{background:#fff;color:#000}button,.no-print{display:none!important}}
