:root{--color-bg: #fff9f7;--color-bg-alt: #fff1ee;--color-surface: #ffffff;--color-text: rgba(43, 34, 48, .95);--color-text-muted: #7a6b73;--color-primary: #e35d78;--color-primary-hover: #c8425f;--color-border: rgba(43, 34, 48, .1);--color-accent-soft: #ffd9e0;--color-telegram: #0088cc;--color-error: #b42318;--color-error-bg: #fee2e2;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-pill: 999px;--radius-card: 12px;--shadow-card: rgba(43, 34, 48, .04) 0 4px 18px, rgba(43, 34, 48, .03) 0 2px 8px, rgba(43, 34, 48, .02) 0 1px 3px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--color-bg: #201823;--color-bg-alt: #2a1f2b;--color-surface: #2d222f;--color-text: rgba(243, 233, 236, .95);--color-text-muted: #b39aa3;--color-primary: #f2879b;--color-primary-hover: #f7a4b4;--color-border: rgba(255, 255, 255, .12);--color-accent-soft: #4a2c34;--color-error: #fca5a5;--color-error-bg: #3f1d1d;--shadow-card: rgba(0, 0, 0, .25) 0 4px 18px, rgba(0, 0, 0, .18) 0 2px 8px;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}html{background:var(--color-bg)}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{width:100%;margin:0;text-align:initial;border:none;min-height:100svh;display:flex;flex-direction:column}h1,h2{line-height:1.15;letter-spacing:-.02em;font-weight:700;margin:0 0 var(--space-4);color:var(--color-text)}h1{font-size:2rem}h2{font-size:1.25rem}p{margin:0 0 var(--space-4)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:960px;margin:0 auto;padding:0 var(--space-5)}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-bg)}.app-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding-top:var(--space-4);padding-bottom:var(--space-4);flex-wrap:wrap}.logo{font-size:1.5rem;font-weight:800;color:var(--color-primary);letter-spacing:-.02em}.logo:hover{text-decoration:none}.app-header-end{display:flex;align-items:center;gap:var(--space-4)}.app-main{padding-top:var(--space-7);padding-bottom:var(--space-8);flex:1}.lang-switcher{display:inline-flex;gap:4px}.lang-switcher button{padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;font-size:.85rem;line-height:1}.lang-switcher button.is-active{border-color:var(--color-primary);font-weight:600}.text-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;font-weight:500;color:var(--color-primary);cursor:pointer}.text-btn:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);font-weight:600;font-size:.9375rem;border:none;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff8f9}.btn-primary:hover{background:var(--color-primary-hover);color:#fff8f9}.btn-telegram{background:var(--color-telegram);color:#fff}.btn-telegram:hover{filter:brightness(1.08);color:#fff}.alert{color:var(--color-error);padding:var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--color-error);border-radius:var(--radius-card);background:var(--color-error-bg)}.muted{color:var(--color-text-muted)}.profile-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-7)}.profile-hero h1{margin-bottom:var(--space-2)}.profile-hero .muted{margin:0}.empty-library{padding:var(--space-6);background:var(--color-bg-alt);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.empty-library h2{margin-bottom:var(--space-3)}.empty-library p:last-child{margin-bottom:0}.login-card{max-width:28rem}.login-card .btn{margin-top:var(--space-4)}
