*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg-primary: #0A0B0F;--bg-card: #13141A;--bg-elevated: #1C1D27;--bg-overlay: rgba(10, 11, 15, .92);--accent: #FF3B30;--accent-dim: rgba(255, 59, 48, .18);--accent-glow: rgba(255, 59, 48, .35);--accent-hover: #FF5247;--text-primary: #F5F5F7;--text-secondary: #8E8E95;--text-tertiary: #48484E;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .13);--success: #30D158;--success-dim: rgba(48, 209, 88, .18);--warning: #FF9F0A;--warning-dim: rgba(255, 159, 10, .18);--info: #0A84FF;--info-dim: rgba(10, 132, 255, .18);--danger: #FF453A;--danger-dim: rgba(255, 69, 58, .18);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--shadow-sm: 0 2px 8px rgba(0,0,0,.4);--shadow-md: 0 8px 24px rgba(0,0,0,.5);--shadow-lg: 0 20px 60px rgba(0,0,0,.6);--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", system-ui, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--nav-height: 72px;--header-height: 60px;--safe-bottom: env(safe-area-inset-bottom, 0px)}.theme-light{--bg-primary: #F2F2F7;--bg-card: #FFFFFF;--bg-elevated: #E5E5EA;--bg-overlay: rgba(242, 242, 247, .94);--text-primary: #1C1C1E;--text-secondary: #6C6C70;--text-tertiary: #AEAEB2;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .14);--shadow-sm: 0 2px 8px rgba(0,0,0,.1);--shadow-md: 0 8px 24px rgba(0,0,0,.12);--shadow-lg: 0 20px 60px rgba(0,0,0,.15)}html,body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.5;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:2px}.screen{flex:1;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-height) + var(--safe-bottom));min-height:100dvh}.screen-content{flex:1;overflow-y:auto;padding:16px}.screen-header{position:sticky;top:0;z-index:100;background:var(--bg-overlay);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:14px 16px;border-bottom:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-md);border:none;font-family:var(--font-body);font-size:14px;font-weight:600;cursor:pointer;transition:all .18s ease;user-select:none;-webkit-user-select:none;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-strong)}.btn-secondary:hover{background:#232430}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-elevated)}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(255,69,58,.25)}.btn-success{background:var(--success);color:#000;box-shadow:0 4px 16px #30d1584d}.btn-full{width:100%}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.3px}.label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade{animation:fadeIn .3s ease forwards}.animate-scale{animation:scaleIn .25s ease forwards}.animate-slide{animation:slideUp .35s ease forwards}.page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 360px){.page-grid{grid-template-columns:repeat(2,1fr)}}.section-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.file-input-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.divider{height:1px;background:var(--border);margin:16px 0}.toast-container{position:fixed;bottom:calc(var(--nav-height) + 16px + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:calc(100% - 32px);max-width:380px}.toast{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:12px 16px;font-size:14px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:10px;animation:slideUp .3s ease;box-shadow:var(--shadow-lg)}.toast.success{border-color:#30d1584d}.toast.error{border-color:#ff3b304d}.toast.info{border-color:#0a84ff4d}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:9000;animation:fadeIn .2s ease}.spinner{width:36px;height:36px;border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;animation:fadeIn .2s ease}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border:1px solid var(--border);z-index:501;padding:16px;padding-bottom:calc(16px + var(--safe-bottom));animation:slideUp .3s ease;max-height:90dvh;overflow-y:auto}.sheet-handle{width:40px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto 20px}
