.app{width:100vw;height:100vh;overflow:hidden;background-color:#e8edf5;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}.config-error{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px;background-color:#fef2f2}.error-card{max-width:800px;background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 24px #0000001a;text-align:center}.error-card .error-icon{font-size:72px;margin-bottom:24px}.error-card h1{font-size:var(--font-size-xl);color:#dc2626;margin:0 0 24px}.error-card .error-message{font-size:var(--font-size-lg);color:#374151;margin:0 0 32px;white-space:pre-line;line-height:1.6}.error-card .config-path{background:#f3f4f6;padding:16px 24px;border-radius:8px;margin-bottom:32px;text-align:left}.error-card .config-path .label{color:#475569;font-size:var(--font-size-sm)}.error-card .config-path code{display:block;font-size:var(--font-size-md);color:#1f2937;margin-top:8px;word-break:break-all}.error-card .instructions{text-align:left;background:#f0fdf4;padding:24px;border-radius:8px;border:1px solid #86efac}.error-card .instructions p{margin:0 0 16px;color:#374151;font-size:var(--font-size-md)}.error-card .instructions p code{background:#dcfce7;padding:2px 8px;border-radius:4px;font-size:var(--font-size-sm)}.error-card .instructions pre{background:#1f2937;color:#f9fafb;padding:16px;border-radius:8px;font-size:var(--font-size-md);margin:0 0 16px;overflow-x:auto}.error-card .instructions .hint{color:#475569;font-size:var(--font-size-sm);margin:0}.loading-screen{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.loading-screen .loading-text{font-size:var(--font-size-xl);color:#334155}:root{--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-title: 2rem;--font-size-subtitle: 1.125rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--touch-target-min: 56px;--touch-target-lg: 72px;--page-padding: 1rem}@media (min-width: 768px){:root{--font-size-xs: .875rem;--font-size-sm: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.5rem;--font-size-xl: 2rem;--font-size-2xl: 2.75rem;--font-size-title: 2.75rem;--font-size-subtitle: 1.5rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--touch-target-min: 80px;--touch-target-lg: 96px;--page-padding: 1.5rem}}@media (min-width: 1024px){:root{--font-size-xs: 1.125rem;--font-size-sm: 1.25rem;--font-size-md: 1.375rem;--font-size-lg: 1.75rem;--font-size-xl: 2.5rem;--font-size-2xl: 3.5rem;--font-size-title: 4rem;--font-size-subtitle: 2rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem;--spacing-2xl: 3.5rem;--touch-target-min: 96px;--touch-target-lg: 112px;--page-padding: 2rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:18px;color:#0f172a;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#ede9fe,#dbeafe,#cffafe);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}:focus,:focus-visible{outline:none!important;box-shadow:none!important}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer}img{max-width:100%;height:auto;display:block}svg{display:block}
