:root{--tg-bg: #f4f6fa;--tg-surface: #ffffff;--tg-text: #1c2530;--tg-muted: #667487;--tg-accent: #2c8cff;--tg-accent-text: #ffffff;--danger: #e04b43;--danger-strong: #c8362d;--line: #dbe4f0;--panel-shadow: 0 16px 40px rgba(23, 42, 66, .14)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--tg-text);background:radial-gradient(1200px 500px at -10% -20%,#d8ecff 0%,transparent 60%),radial-gradient(900px 400px at 110% 0%,#ffe9cf 0%,transparent 55%),var(--tg-bg);padding-bottom:calc(20px + env(safe-area-inset-bottom))}.app-shell{width:min(980px,100%);margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 12px 18px}.glass{background:color-mix(in srgb,var(--tg-surface) 88%,#ffffff);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--line) 70%,#ffffff);box-shadow:var(--panel-shadow)}.top-card,.panel-card{border-radius:22px;padding:14px}.top-card{margin-bottom:12px}.top-row{display:flex;align-items:center;gap:10px}.avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ffd28e,#ff9f7f);font-size:1.25rem;box-shadow:0 8px 20px #ff9f7f59}h1{margin:0;font-size:clamp(1.2rem,5vw,1.6rem)}.subtitle{margin:2px 0 0;color:var(--tg-muted);font-size:.82rem}.stats-line{margin-top:10px;font-size:.88rem;color:var(--tg-muted);line-height:1.35}.session-row{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:8px}.grid-layout{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 960px){.grid-layout{grid-template-columns:340px 1fr}}h2{margin:0;font-size:1rem}label{display:block;margin-top:10px;font-size:.82rem;color:var(--tg-muted)}input,select{width:100%;margin-top:6px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--tg-text);padding:11px 12px;font-size:.95rem}button{border:0;border-radius:12px;padding:11px 12px;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .12s ease,filter .2s ease}button:active{transform:translateY(1px)}.btn-primary{background:var(--tg-accent);color:var(--tg-accent-text)}.btn-secondary{background:#6b7c90;color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.94);background:var(--danger-strong)}.compact{width:auto;min-width:84px}.action-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tg-user-card{margin-top:10px;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.tg-user-avatar{width:42px;height:42px;border-radius:12px;object-fit:cover;border:1px solid var(--line);flex-shrink:0}.tg-user-avatar-fallback{display:grid;place-items:center;font-weight:800;color:#385273;background:#e7f1fd}.tg-user-meta{min-width:0}.tg-user-label{font-size:.73rem;color:var(--tg-muted)}.tg-user-name{margin-top:2px;font-size:.93rem;font-weight:800;color:#0f172a;letter-spacing:.01em;text-shadow:0 0 .01px currentColor;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-chip{margin-top:10px;min-height:22px;padding:6px 10px;border-radius:999px;background:#e8f5ed;color:#2e7a4a;font-size:.82rem}.status-chip.error{background:#ffe9e7;color:#a8362e}.suggestions{margin-top:8px;max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.suggestion-item{width:100%;border:0;border-bottom:1px solid #edf2f9;border-radius:0;padding:8px;background:#fff;display:flex;align-items:flex-start;gap:9px;text-align:left}.suggestion-item:last-child{border-bottom:0}.suggestion-item:hover{background:#f4f8ff}.suggestion-poster{width:30px;height:44px;border-radius:6px;object-fit:cover;border:1px solid var(--line);flex-shrink:0;background:#e8edf5}.suggestion-body{display:grid;gap:2px}.suggestion-title{font-size:.9rem;font-weight:700;color:var(--tg-text)}.suggestion-year{font-size:.75rem;color:var(--tg-muted)}.suggestion-overview{font-size:.73rem;color:#5f6e84;line-height:1.25}.list{margin-top:10px;display:grid;gap:10px}.movie-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff;display:flex;justify-content:space-between;gap:10px}.movie-card.lead{background:linear-gradient(180deg,#f0fbff,#f8fdff);border-color:#98d2f2}.movie-left{display:flex;gap:10px;min-width:0}.poster{width:58px;height:84px;border-radius:8px;object-fit:cover;border:1px solid var(--line);flex-shrink:0}.poster-fallback{width:58px;height:84px;border-radius:8px;border:1px dashed #b8c8db;display:grid;place-items:center;text-align:center;font-size:.66rem;color:#74839a;background:#eef4fb;line-height:1.1}.movie-content{min-width:0}.title-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.movie-title{font-weight:800;font-size:.97rem}.badge{font-size:.68rem;padding:3px 8px;border-radius:999px;background:#ffe4b8;color:#80521d;font-weight:700}.muted{color:var(--tg-muted);font-size:.78rem}.item-meta{margin-top:5px;display:flex;flex-wrap:wrap;gap:6px}.meta-chip{font-size:.68rem;padding:3px 8px;border-radius:999px;background:#eaf1fb;color:#43566e}.overview{margin-top:7px;font-size:.8rem;line-height:1.35;color:#2e3c4f}.overview.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.overview-toggle{margin-top:6px;padding:6px 10px;border-radius:10px;background:#f2f6fb;color:#40566f;font-size:.74rem;border:1px solid #dde7f2}.movie-actions{margin-top:8px;display:flex;justify-content:flex-start}.movie-right{min-width:92px;text-align:right}.votes-num{font-size:1.18rem;font-weight:900;color:#1e8a69}.vote-btn{margin-top:8px;background:var(--tg-accent);color:var(--tg-accent-text);width:auto;min-width:90px}.empty{padding:16px;border:1px dashed #bfd0e3;border-radius:12px;text-align:center;color:#62758d;background:#f8fbff}.movie-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;padding:18px 12px calc(18px + env(safe-area-inset-bottom));background:#08101c73;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center}.movie-sheet{position:relative;width:min(720px,100%);max-height:min(86vh,860px);overflow:auto;border-radius:28px;padding:18px;background:radial-gradient(400px 180px at 100% 0%,rgba(255,209,133,.26),transparent 60%),var(--movie-backdrop, linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(246, 250, 255, .96)));background-size:cover;background-position:center top}.movie-sheet-close{position:absolute;top:12px;right:12px;width:36px;height:36px;padding:0;border-radius:50%;font-size:1.5rem;line-height:1;background:#ffffffd1;color:#465c76;border:1px solid rgba(210,223,238,.95)}.movie-sheet-head{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:start}.movie-sheet-poster{width:112px;height:164px;border-radius:18px;object-fit:cover;border:1px solid var(--line);box-shadow:0 12px 30px #23354f29}.movie-sheet-poster-fallback{display:grid;place-items:center;text-align:center;font-size:.82rem;color:#6a7b91;background:linear-gradient(180deg,#eaf1fa,#dfe9f6)}.movie-sheet-summary{min-width:0;padding-right:28px}.movie-sheet-kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5e83a6}.movie-sheet-summary h3{margin:6px 0 0;font-size:clamp(1.32rem,6vw,1.85rem);line-height:1.08}.movie-sheet-subtitle{margin-top:8px;color:#60748b;font-size:.9rem}.movie-sheet-meta{margin-top:10px}.accent-chip{background:#dff5ed;color:#15684d}.movie-sheet-badge{display:inline-flex;margin-top:10px}.movie-sheet-body{margin-top:18px;display:grid;gap:16px}.movie-sheet-section{padding:14px;border-radius:18px;background:#ffffffc7;border:1px solid #e3ebf5}.movie-sheet-label{font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d839c}.movie-sheet-overview{margin:10px 0 0;font-size:.95rem;line-height:1.55;color:#213247}.movie-sheet-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.movie-sheet-vote{min-width:132px}.movie-sheet-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:132px}@media (max-width: 680px){.movie-sheet{border-radius:24px 24px 20px 20px;padding:16px}.movie-sheet-head{grid-template-columns:88px 1fr;gap:12px}.movie-sheet-poster{width:88px;height:130px;border-radius:14px}.movie-sheet-footer{flex-direction:column-reverse}.movie-sheet-footer button{width:100%}}
