:root{--tg-bg:#16171d;--tg-text:#f3f4f6;--tg-hint:#9ca3af;--tg-link:#7aa8ff;--tg-button:#5b8def;--tg-button-text:#fff;--tg-secondary-bg:#1f2028;--surface-0:#16171d;--surface-1:#1f2028;--surface-2:#262832;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--border:#ffffff1f;--accent:#ff7a45;--accent-bg:color-mix(in srgb, var(--accent) 20%, var(--surface-0));--success:#34c98c;--success-bg:color-mix(in srgb, var(--success) 20%, var(--surface-0));--danger:#f26469;--danger-bg:color-mix(in srgb, var(--danger) 20%, var(--surface-0));--warning:#e0ab3d;--warning-bg:color-mix(in srgb, var(--warning) 20%, var(--surface-0));--radius-s:8px;--radius-m:12px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}:root[data-theme=light]{--tg-bg:#fff;--tg-text:#1a1a1a;--tg-hint:#7a7f87;--tg-link:#2481cc;--tg-button:#2481cc;--tg-button-text:#fff;--tg-secondary-bg:#f5f6f8;--surface-0:#fff;--surface-1:#f5f6f8;--surface-2:#ececef;--text-primary:#1a1a1a;--text-secondary:#7a7f87;--border:#0000001f}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}*,:before,:after{box-sizing:border-box}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html,body,#root{height:100%;margin:0}body{background:var(--surface-0);color:var(--text-primary);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-size:15px;line-height:1.4}input,textarea{-webkit-user-select:text;user-select:text}#root{max-width:480px;padding-top:var(--safe-top);flex-direction:column;margin:0 auto;display:flex}img{max-width:100%;display:block}input,textarea,select,button{color:var(--text-primary);font-family:inherit;font-size:15px}input,textarea,select{width:100%;padding:var(--space-3);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-s);outline:none}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a93a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:34px}select:disabled{opacity:.5;cursor:not-allowed}select option{background:var(--surface-1);color:var(--text-primary)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--tg-link);outline-offset:2px}button{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-s);padding:var(--space-2) var(--space-3);cursor:pointer;min-height:40px}button:active{opacity:.7}button.primary{background:var(--tg-button);color:var(--tg-button-text);border-color:#0000;font-weight:600}.chip{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);background:var(--surface-1);color:var(--text-secondary);min-height:unset;border:none;padding:5px 10px;font-size:12px;display:inline-flex}.chip.excluded{background:var(--danger-bg);color:var(--danger)}.chip.included{background:var(--accent-bg);color:var(--accent)}.favorite-icon-button{width:32px;height:32px;min-height:unset;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;border:none;justify-content:center;align-items:center;padding:0;display:flex}.badge{border-radius:var(--radius-s);padding:2px 8px;font-size:11px;font-weight:500}.badge.promo{background:var(--accent-bg);color:var(--accent)}.badge.published{background:var(--success-bg);color:var(--success)}.badge.on_review,.badge.needs_revision{background:var(--warning-bg);color:var(--warning)}.badge.rejected{background:var(--danger-bg);color:var(--danger)}.skeleton{background:linear-gradient(90deg, var(--surface-1) 25%, var(--surface-2) 50%, var(--surface-1) 75%);border-radius:var(--radius-s);background-size:200% 100%;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
