:root{color-scheme:dark;--tg-bg: #0b1422;--tg-bg-strong: #09101b;--tg-surface: rgba(20, 32, 53, .84);--tg-card: rgba(24, 39, 64, .92);--tg-border: rgba(103, 137, 186, .24);--tg-border-strong: rgba(123, 168, 226, .34);--tg-text: #e7f1ff;--tg-muted: #98aecf;--tg-accent: #33a8eb;--tg-accent-press: #1b94d7;--tg-ok: #49d091;--tg-warn: #f2be5b;--tg-danger: #ef6a73;--tg-shadow: 0 22px 56px rgba(2, 9, 18, .45);--tg-radius-lg: 20px;--tg-radius-md: 14px;--tg-radius-sm: 10px;--tg-page-width: 980px;--tg-bottom-nav-height: 72px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Manrope,Sora,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--tg-text);background:radial-gradient(1300px 520px at 85% -10%,rgba(64,113,173,.3),transparent 62%),radial-gradient(900px 500px at -20% 100%,rgba(35,95,166,.22),transparent 58%),linear-gradient(180deg,var(--tg-bg) 0%,var(--tg-bg-strong) 100%);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;-webkit-tap-highlight-color:transparent}body.tg-theme-dark{color-scheme:dark}a{color:inherit}h1,h2,h3,h4,p{margin:0}.tg-shell{max-width:var(--tg-page-width);margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 14px 0}.tg-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 10px;border:1px solid var(--tg-border);border-radius:16px;background:#101c2ecc;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 24px #020a1338}.tg-topbar__title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.tg-topbar__title{font-family:Sora,Manrope,sans-serif;font-size:1.02rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tg-topbar__subtitle{font-size:.85rem;color:var(--tg-muted)}.tg-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(82,165,225,.42);background:#267dbf33;color:#b7ddfb;padding:5px 10px;font-size:.74rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.tg-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--tg-border);background:#111e31cc;color:var(--tg-text);text-decoration:none;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.tg-icon-btn:hover{transform:translateY(-1px);border-color:var(--tg-border-strong);background:#1e304ae6}.tg-content{flex:1;display:grid;gap:12px;padding:12px 0 calc(var(--tg-bottom-nav-height) + max(14px,env(safe-area-inset-bottom)) + 30px)}.tg-card{border:1px solid var(--tg-border);border-radius:var(--tg-radius-lg);background:linear-gradient(180deg,#ffffff08,#fff0),var(--tg-card);box-shadow:var(--tg-shadow);padding:16px}.tg-card--compact{padding:14px}.tg-card__title{font-family:Sora,Manrope,sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:8px;letter-spacing:-.02em}.tg-card__desc{color:var(--tg-muted);font-size:.92rem;line-height:1.5;margin-bottom:8px}.companion-card{display:grid;gap:10px}.companion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.companion-metric{min-width:0;border:1px solid rgba(91,130,181,.36);border-radius:var(--tg-radius-sm);background:#0a132094;padding:10px}.companion-metric__label{display:block;margin-bottom:5px;color:var(--tg-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.companion-metric strong{display:-webkit-box;overflow:hidden;color:#edf6ff;font-size:.9rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.companion-note{border:1px solid rgba(91,130,181,.28);border-radius:var(--tg-radius-sm);background:#0b14228c;color:#c9d9ef;padding:10px;font-size:.84rem;line-height:1.45}.tg-list{display:grid;gap:8px}.tg-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tg-key{color:var(--tg-muted);font-size:.86rem}.tg-value{font-size:.95rem;font-weight:700;text-align:right}.tg-divider{height:1px;border:0;margin:12px 0;background:linear-gradient(90deg,transparent,rgba(96,139,195,.42),transparent)}.tg-label{display:block;margin-bottom:8px;color:var(--tg-muted);font-size:.84rem}.tg-input-row{display:flex;gap:10px}.tg-input,.form-input,#edit-prompt-input,#user-caption-input{width:100%;border:1px solid rgba(92,130,181,.46);border-radius:var(--tg-radius-sm);background:#0b1422e0;color:var(--tg-text);padding:11px 12px;font-family:inherit;font-size:.95rem;transition:border-color .12s ease,box-shadow .12s ease}.tg-input:focus,.form-input:focus,#edit-prompt-input:focus,#user-caption-input:focus{outline:none;border-color:#48a3e4d6;box-shadow:0 0 0 3px #3a99de29}.tg-input.tg-input-code{text-align:center;letter-spacing:.26em;font-weight:700}.tg-button,.btn,.action-btn,.action-btn.full-width{border:1px solid transparent;border-radius:11px;padding:11px 14px;background:#263d5fbf;color:var(--tg-text);font-family:inherit;font-size:.9rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;transition:transform .12s ease,background .12s ease,border-color .12s ease}.tg-button:hover,.btn:hover,.action-btn:hover{transform:translateY(-1px);border-color:var(--tg-border-strong)}.tg-button:active,.btn:active,.action-btn:active{transform:translateY(0)}.tg-button:disabled,.btn:disabled,.action-btn:disabled{opacity:.62;cursor:not-allowed;transform:none}.tg-button-primary,.btn-primary,.action-btn--primary,.action-btn.full-width,.fab-btn{background:linear-gradient(180deg,#34b2f4,#2198db);color:#eff7ff;border-color:#72c1f080}.tg-button-primary:hover,.btn-primary:hover,.action-btn--primary:hover,.action-btn.full-width:hover,.fab-btn:hover{background:linear-gradient(180deg,#3bb6f5,#1f90cd)}.tg-button-muted,.btn-secondary{background:#1d2f4ac7;border-color:#577cb159}.action-btn-danger{background:#c0424bdb;border-color:#e7747e6b}.action-btn-accent{background:#32a8bcd6;border-color:#7ee0ee61}.tg-status,.state,#page-auth-status{min-height:1.2em;margin-top:10px;font-size:.87rem;color:var(--tg-muted)}.tg-status.ok,.state.ok,#page-auth-status.is-success{color:var(--tg-ok)}.tg-status.warn,.state.warn{color:var(--tg-warn)}.tg-status.err,.state.err,#page-auth-status.is-error{color:var(--tg-danger)}.tg-grid-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tg-tile-link{border:1px solid rgba(86,122,175,.36);border-radius:12px;background:#17253bd1;color:#d2e5ff;text-decoration:none;text-align:center;padding:11px;font-weight:700;font-size:.86rem;transition:border-color .12s ease,background .12s ease,transform .12s ease}.tg-tile-link:hover{border-color:#75abeb99;background:#20334fe6;transform:translateY(-1px)}.tg-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1100;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 14px max(8px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#09101d33,#09101de0);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(92,126,176,.2)}.tg-bottom-nav__item{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;border:1px solid rgba(88,123,173,.25);background:#101b2ce6;color:#b8cae4;text-decoration:none;font-size:.82rem;font-weight:700}.tg-bottom-nav__item.active{border-color:#78bbef9e;background:#1b2f4ef5;color:#e6f4ff}.tg-bottom-nav__item i{font-size:.95rem}.tg-empty{width:100%;text-align:center;color:var(--tg-muted);border:1px dashed rgba(95,131,183,.44);border-radius:14px;padding:24px;background:#111d30b8}.tg-empty i{display:block;font-size:1.6rem;color:#8ec8f2;margin-bottom:8px}.gallery-grid-full{grid-column:1 / -1}.is-hidden{display:none}.mini-hero{padding-top:18px;padding-bottom:18px}.mini-hero .tg-card__title{font-size:1.16rem}.gallery-shell .tg-content{padding-top:14px}.gallery-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat-card{border:1px solid var(--tg-border);border-radius:13px;background:#0e1827e0;padding:12px}.stat-card .label{color:var(--tg-muted);font-size:.78rem;margin-bottom:6px}.stat-card .value{font-family:Sora,Manrope,sans-serif;font-weight:700;font-size:1.2rem;color:#d9ecff}.controls{display:flex;gap:8px;flex-wrap:wrap}.controls .btn{flex:1 1 170px}#fav-filter-btn.is-active,#select-mode-btn.is-active{background:#316eace0;border-color:#7eb5ec80}#download-selected-btn,#delete-selected-btn{display:none}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.gallery-item{position:relative;border:1px solid var(--tg-border);border-radius:14px;overflow:hidden;cursor:pointer;background:#101b2df2;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.gallery-item:hover{transform:translateY(-2px);border-color:#86bbf080;box-shadow:0 10px 28px #030b1573}.gallery-item img,.gallery-item video{width:100%;aspect-ratio:1;display:block;object-fit:cover;background:#08101ce6}.gallery-item .info{padding:9px 10px 10px;display:grid;gap:4px;font-size:.8rem;color:#c6d8f1}.gallery-item .info strong{font-weight:700}.gallery-meta{display:block;color:var(--tg-muted);font-size:.76rem}.fav-btn,.delete-btn,.select-indicator{position:absolute;top:8px;width:30px;height:30px;border-radius:999px;z-index:2;display:flex;align-items:center;justify-content:center}.fav-btn{right:8px;border:1px solid rgba(130,173,228,.58);background:#0f1c2ecc;color:#dbe8f8;cursor:pointer}.delete-btn{left:8px;border:1px solid rgba(239,112,124,.48);background:#37121cc7;color:#ffd9df;cursor:pointer;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease,background .16s ease}.gallery-item:hover .delete-btn,.gallery-item:focus-within .delete-btn{opacity:1;transform:translateY(0)}.gallery-grid.selection-mode .delete-btn{display:none}.fav-btn.active{color:#ef6f7a;background:#2f141ee6;border-color:#f5838d85}.select-indicator{left:8px;border:1px solid rgba(118,163,221,.6);background:#0d1827d1;color:transparent;display:none}.action-btn-danger{border-color:#ef707c7a;background:#481622e6;color:#ffdce2}.gallery-grid.selection-mode .select-indicator{display:flex;color:#e6f2ff}.gallery-item.selected{border-color:#63adebeb;box-shadow:0 0 0 2px #63adeb57}.gallery-item.selected .select-indicator{background:#2985cceb;border-color:#8bc8f6cc}.play-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#eff7fff0;font-size:1.5rem;pointer-events:none;text-shadow:0 4px 12px rgba(0,0,0,.7)}.loading{text-align:center;padding:26px 12px;color:var(--tg-muted)}.loading i{display:block;font-size:1.25rem;color:#8fcaf6;margin-bottom:8px}.modal,.lightbox-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:22px;background:#050b13c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal.active,.lightbox-modal.active{display:flex}.modal-content,.lightbox-content{width:min(860px,100%);max-height:90vh;overflow-y:auto;border-radius:18px;border:1px solid rgba(114,151,203,.35);background:#0e1928f5;padding:16px;box-shadow:var(--tg-shadow)}.modal-content img,.modal-content video,.lightbox-content img{width:100%;border-radius:12px;background:#080e19f2;object-fit:contain;max-height:72vh}.modal-caption{margin-top:10px;color:#d3e2f6;font-size:.86rem;line-height:1.5}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.modal-close,.modal-nav,.lightbox-close,.lightbox-nav,.close-modal{border:1px solid rgba(116,153,203,.45);background:#111d2ee6;color:#ebf6ff;border-radius:12px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.modal-close:hover,.modal-nav:hover,.lightbox-close:hover,.lightbox-nav:hover,.close-modal:hover{border-color:#94c4f7a6;background:#1b2d47f5}.modal-close,.lightbox-close,.close-modal{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.modal-close{position:absolute;top:14px;right:14px;z-index:3}.modal-nav,.lightbox-nav{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:3}.modal-nav.prev,.lightbox-nav.prev{left:8px}.modal-nav.next,.lightbox-nav.next{right:8px}#edit-modal .modal-content{width:min(520px,100%)}#edit-prompt-input{min-height:130px;resize:vertical}.social-shell .tg-content{gap:10px;padding-top:10px}.social-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.view-tab{border:1px solid rgba(87,124,176,.35);border-radius:11px;background:#121f32db;color:#bad0eb;min-height:40px;font-size:1rem;cursor:pointer}.view-tab.active{background:#234879f0;border-color:#87b8f19e;color:#ebf6ff}.social-content-area{min-height:0}.social-feed{display:grid;gap:10px;padding-bottom:6px}.social-feed.hidden,.social-grid.hidden{display:none}.social-card{border:1px solid rgba(88,123,173,.3);border-radius:14px;background:#0f1b2deb;overflow:hidden}.social-header{display:flex;align-items:center;gap:10px;padding:10px}.social-avatar{width:34px;height:34px;border-radius:999px;object-fit:cover;border:1px solid rgba(114,151,200,.42);background:#16243bd1}.social-avatar.user-avatar{padding:6px}.social-user-info{flex:1}.social-username{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem}.verified-badge{color:#73c5ff}.social-location,.social-time{color:var(--tg-muted);font-size:.77rem}.social-carousel{width:100%;aspect-ratio:1;background:#080f19f2}.social-slides{display:flex;overflow-x:auto;height:100%;width:100%;scrollbar-width:none;scroll-snap-type:x mandatory}.social-slides::-webkit-scrollbar{display:none}.social-img{width:100%;height:100%;object-fit:cover;scroll-snap-align:center;flex-shrink:0}.social-dots{position:relative;margin-top:-24px;margin-bottom:10px;display:flex;justify-content:center;gap:6px}.social-dot{width:6px;height:6px;border-radius:999px;background:#e4efff66}.social-dot.active{background:#ecf5fffa}.social-actions{padding:8px 10px 0}.social-action-btn{border:0;background:transparent;color:#d8e9fc;font-size:1.2rem;cursor:pointer}.social-action-btn.liked{color:#f6757f}.like-count{display:block;padding:0 10px;margin-top:6px;font-size:.82rem;color:#c5d9f4;font-weight:700}.social-caption{padding:8px 10px 12px;font-size:.87rem;line-height:1.45;color:#d8e8fb}.social-caption .username{font-weight:700;margin-right:4px}.social-hashtag{color:#84cbfb}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.social-grid-item{aspect-ratio:1;position:relative;background:#0a111eeb;border-radius:10px;overflow:hidden;cursor:pointer}.social-grid-item img{width:100%;height:100%;object-fit:cover}.carousel-icon{position:absolute;top:8px;right:8px;font-size:.85rem;color:#f2f8ffeb}.fab-btn{position:fixed;right:18px;bottom:calc(var(--tg-bottom-nav-height) + max(12px,env(safe-area-inset-bottom)));width:56px;height:56px;border-radius:999px;z-index:1200}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{font-family:Sora,Manrope,sans-serif;font-size:1.05rem}.modal-body{display:grid;gap:10px}.post-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.post-tab{border:1px solid rgba(87,124,176,.35);border-radius:10px;background:#132135d6;color:#c1d5ef;min-height:38px;cursor:pointer;font-weight:700}.post-tab.active{background:#215c96f5;color:#eef7ff;border-color:#83bef5ad}.tab-content{display:none}.tab-content.active{display:block}.form-group{margin-bottom:10px}.form-group label{display:block;margin-bottom:5px;color:var(--tg-muted);font-size:.8rem}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sub-input{margin-top:6px}.upload-area{border:1px dashed rgba(108,156,216,.58);border-radius:12px;padding:18px;text-align:center;color:var(--tg-muted);cursor:pointer}.upload-area i{font-size:1.4rem;color:#9fd2f8;margin-bottom:8px}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preview-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid rgba(95,133,186,.4)}.preview-thumb{width:100%;height:100%;object-fit:cover;display:block}.preview-item .remove-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:999px;border:1px solid rgba(236,129,136,.7);background:#ad3740e0;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.social-modal-note{color:var(--tg-muted);font-size:.84rem;margin-bottom:8px;line-height:1.45}.loading-spinner{text-align:center;color:var(--tg-muted);padding:28px}.page-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:16px;background:#040910d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.page-auth-overlay.active{display:flex}.page-auth-card{width:min(420px,100%);border:1px solid rgba(118,157,211,.36);border-radius:16px;background:#0d1828f7;box-shadow:var(--tg-shadow);padding:16px}.page-auth-title{font-family:Sora,Manrope,sans-serif;font-size:1.15rem;margin-bottom:8px}.page-auth-desc{color:var(--tg-muted);font-size:.9rem;line-height:1.45;margin-bottom:14px}.page-auth-form{display:grid;gap:8px}.page-auth-actions{display:flex;gap:8px;margin-top:4px}.page-auth-actions .tg-button,.page-auth-actions .tg-button-muted{flex:1}@media(max-width:900px){.delete-btn{opacity:1;transform:none}.gallery-grid,.gallery-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.tg-shell{padding-left:10px;padding-right:10px}.tg-topbar{padding:10px}.tg-input-row{flex-direction:column}.tg-grid-links,.gallery-stats,.companion-grid{grid-template-columns:1fr}.controls .btn{flex:1 1 100%}.gallery-grid{gap:8px}.social-grid{gap:3px}.form-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.tg-card,.social-card,.gallery-item{animation:tgFadeIn .26s ease both}}@keyframes tgFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
