:root{--brand:#ff7a00;--brand-light:#fff4ea;--brand-mid:#faa43e;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--page-bg:#f6f4f2;--bg-surface:#ffffff;--bg-subtle:#f7f7f8;--bg-elevated:#ffffff;--input-bg:#ffffff;--input-border:#e2e2e2;--thumb-bg:#ededed;--glass-bg:rgba(246,244,242,0.65);--glass-border:rgba(0,0,0,0.06);--danger-soft-bg:#fff0ef;--border:#efefef;--sidebar-w:300px;--navbar-h:56px;--catbar-h:52px;--bottomnav-h:96px;--page-section-gap:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px}html[data-theme=dark]{color-scheme:dark;--brand:#ff7a00;--brand-hover:#ff8a24;--brand-light:rgba(255,122,0,0.15);--brand-mid:#ff9f3f;--text-primary:#f4f4f5;--text-secondary:#c7c7cc;--text-muted:#8f8f99;--page-bg:#0f0f10;--bg-surface:#151517;--bg-subtle:#202024;--bg-elevated:#1b1b1f;--input-bg:#18181b;--input-border:#303036;--thumb-bg:#242428;--glass-bg:rgba(18,18,20,0.78);--glass-border:rgba(255,255,255,0.08);--border:#2b2b31;--pack-fav-bg:rgba(27,27,31,0.86);--pack-fav-hover-bg:#25252b;--danger-soft-bg:rgba(217,48,37,0.14)}@media (max-width:600px){:root{--page-section-gap:24px}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--page-bg,#f6f4f2)}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background:var(--page-bg,#f6f4f2);color:var(--text-primary);transition:background .18s ease,color .18s ease}.app-shell,body{min-height:100dvh}.app-main{display:flex;flex-direction:column;min-height:100dvh}.app-content{flex:1 1;display:flex;flex-direction:column}.app-main{padding-top:var(--navbar-h)}@media (min-width:992px){.app-main{margin-left:var(--sidebar-w);padding-top:0;--navbar-h:120px}[dir=rtl] .app-main{margin-left:0;margin-right:var(--sidebar-w)}}.app-content{padding-bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom, 0px))}@media (min-width:992px){.app-content{padding-top:var(--navbar-h);padding-bottom:0}}.page-container{padding-left:16px;padding-right:16px}@media (max-width:991px){.page-container{padding-top:calc(var(--page-section-gap) * 2)}}@media (min-width:992px){.page-container{padding-left:36px;padding-right:36px}}.page-container .container{max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}.home-stack{display:flex;flex-direction:column;gap:var(--page-section-gap)}.home-title{margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(28px,3vw,48px);line-height:.98;font-weight:900;letter-spacing:-.04em;color:var(--text-primary,#1a1a1a)}@media (max-width:600px){.home-title{font-size:30px;line-height:1.02}}@media (max-width:991px){.home-stack>.home-banner,.home-stack>.new-packs,.home-stack>.upload-section{margin-top:0;margin-bottom:0}.home-stack>.new-packs .feed-section-title{margin-top:0}}h1,h2,h3{letter-spacing:-.4px;margin-bottom:12px}.feed-section-title,.section-title,h1,h2,h3{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:800;color:var(--text-primary,#1a1a1a)}.feed-section-title,.section-title{font-size:24px;letter-spacing:-.6px;margin:24px 0 16px;line-height:1.1}@media (max-width:600px){.feed-section-title,.section-title{font-size:21px}}.category-page-title{margin:0}.app-content>.container:first-child .feed-section-title,.app-content>.container:first-child .section-title,.app-content>.new-packs:first-child .feed-section-title,.app-content>.new-packs:first-child .section-title{margin-top:0!important}a{color:inherit;text-decoration:none}.section-title{margin:10px 0 12px;font-size:22px;font-weight:500;padding:0;line-height:1.3;color:var(--text-primary,#222)}html[data-theme=dark],html[data-theme=dark] .app-content,html[data-theme=dark] .app-main,html[data-theme=dark] .app-shell,html[data-theme=dark] body{background:var(--page-bg)}html[data-theme=dark] .category-intro,html[data-theme=dark] .plan-text{color:var(--text-secondary)!important}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color:var(--text-primary)}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:var(--text-muted)}html[data-theme=dark] .api-error-state{border-color:rgba(255,122,0,.28);background:radial-gradient(circle at 96% 0,rgba(255,122,0,.18),transparent 30%),linear-gradient(180deg,rgba(37,27,18,.96),rgba(28,23,20,.96));color:#ffd9af;box-shadow:0 14px 34px rgba(0,0,0,.24)}html[data-theme=dark] .api-error-title{color:#ffb36b}html[data-theme=dark] .api-error-message{color:#ffd9af}