*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}button,a,[role=button]{-webkit-tap-highlight-color:#0000000d;touch-action:manipulation}input,select,textarea{font-size:16px!important}.scrollable{-webkit-overflow-scrolling:touch;overflow-y:auto}@media (max-width:480px){body{font-size:14px}h1{font-size:18px!important}h2{font-size:16px!important}h3{font-size:14px!important}}@media (min-width:481px) and (max-width:768px){body{font-size:15px}}@media (min-width:769px){.container,.page{max-width:var(--max-width,640px);margin:0 auto}}@media (orientation:landscape) and (max-height:500px){.header{padding:8px 16px!important}}@supports (padding:env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){*{-webkit-font-smoothing:subpixel-antialiased}}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#263348;--bg-elevated:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-muted:#64748b;--border-primary:#334155;--border-secondary:#2d3a4e;--border-light:#263348;--surface-card:#1e293b;--surface-input:#0f172a;--accent-primary:#818cf8;--accent-secondary:#a78bfa;--accent-blue:#60a5fa;--accent-green:#4ade80;--accent-orange:#fb923c;--accent-red:#f87171;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px #00000040, 0 2px 4px #0003;--shadow-lg:0 10px 15px #0000004d, 0 4px 6px #0003;--shadow-xl:0 20px 25px #00000059, 0 10px 10px #0003;--overlay:#0009}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--border-secondary) 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-sm,6px);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{border-radius:4px;height:14px;margin-bottom:8px}.skeleton-text.short{width:60%}.skeleton-card{border-radius:var(--radius-md,10px);height:100px;margin-bottom:12px}
