:root{--primary:#7c3aed;--accent:#ec4899;--bg:#0b0b12;--panel:#171722;--panel2:#222232;--text:#f7f4ff;--muted:#aaa5ba;--line:#343246;--danger:#ef4444}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,#29164a 0,transparent 38%),var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button,.button{border:0;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--accent));color:white;padding:.75rem 1rem;font-weight:700;cursor:pointer;text-align:center}button:disabled{opacity:.5}button.ghost,.ghost{background:transparent;border:1px solid var(--line)}button.link,.link{background:none;color:#c4b5fd;padding:.5rem}.danger{background:var(--danger)}header{height:64px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2rem;padding:0 max(1rem,calc((100vw - 1400px)/2));background:#0d0d16e8;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.7rem;font-size:1.25rem;font-weight:900}.brand img{width:36px;height:36px}.brand span{color:var(--site-name-color,#fff)}nav{display:flex;gap:.35rem;flex:1}nav a{padding:.6rem .8rem;border-radius:10px;color:var(--muted)}nav a:hover{background:var(--panel2);color:white}main{max-width:1400px;margin:auto;padding:1rem}.guest{min-height:calc(100vh - 96px);display:grid;grid-template-columns:1.3fr .7fr;gap:5vw;align-items:center;padding:4vw}.guest h1{font-size:clamp(3rem,7vw,7rem);line-height:.92;margin:.2em 0;background:linear-gradient(120deg,#fff,#c4b5fd,#f9a8d4);-webkit-background-clip:text;color:transparent}.guest>div:first-child>p{max-width:650px;font-size:1.15rem;color:var(--muted)}.eyebrow{color:#c4b5fd!important;text-transform:uppercase;letter-spacing:.2em;font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.feature-grid article{display:grid;padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:#ffffff08}.feature-grid span{color:var(--muted)}.card{background:linear-gradient(150deg,#1c1c2a,#13131e);border:1px solid var(--line);border-radius:18px;padding:1.2rem;box-shadow:0 14px 40px #0005}.auth{max-width:460px;width:100%;justify-self:center}.tabs{display:flex;margin-bottom:1rem}.tabs button{flex:1;background:transparent;color:var(--muted);border-radius:0;border-bottom:2px solid var(--line)}.tabs button.active{color:white;border-color:var(--accent)}form{display:grid;gap:1rem}label{display:grid;gap:.35rem;color:var(--muted);font-size:.9rem}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:11px;background:#0f0f18;color:white;padding:.8rem;font:inherit}textarea{min-height:100px;resize:vertical}.check{display:flex;grid-template-columns:auto 1fr;align-items:start}.check input{width:auto;margin-top:.25rem}.message{min-height:1.4em;color:#f9a8d4}.center{max-width:650px;margin:12vh auto;text-align:center}#app{display:grid;grid-template-columns:230px minmax(0,1fr) 250px;gap:1rem;align-items:start}aside{position:sticky;top:80px;display:grid;gap:1rem}.small{font-size:.9rem}.small a{display:block;padding:.45rem 0;color:var(--muted)}.avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;font-weight:900;font-size:1.3rem}.avatar.small{width:36px;height:36px;font-size:.9rem}.userline{display:flex;gap:.75rem;align-items:center}.muted{color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-head h2{margin:0}.post{margin-bottom:1rem}.post header{position:static;height:auto;padding:0;background:none;border:0}.post-body{white-space:pre-wrap;font-size:1.04rem;margin:1rem 0}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem;border-radius:14px;overflow:hidden}.media-grid>*{width:100%;max-height:520px;object-fit:cover;background:black}.media-grid>:only-child{grid-column:1/-1}.actions{display:flex;gap:.35rem;border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.actions button{flex:1;background:transparent;color:var(--muted);padding:.5rem}.actions button:hover{background:var(--panel2);color:white}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.profile-card{text-align:center}.profile-card .avatar{margin:auto;width:80px;height:80px}.gallery-cover{aspect-ratio:1.3;background:var(--panel2);border-radius:12px;overflow:hidden}.gallery-cover img,.gallery-cover video{width:100%;height:100%;object-fit:cover}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.7rem}.mini-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:#7c3aed44;color:#ddd6fe;font-size:.75rem}.notice{padding:1rem;border-left:3px solid var(--accent);background:#ec489911;border-radius:10px}.list{display:grid;gap:.6rem}.list-item{display:flex;gap:.8rem;align-items:center;padding:.8rem;background:var(--panel);border:1px solid var(--line);border-radius:12px}.list-item .grow{flex:1}.chat{display:grid;grid-template-columns:260px 1fr;min-height:70vh}.chat-list{border-right:1px solid var(--line);padding-right:.8rem}.messages{padding-left:1rem;display:flex;flex-direction:column}.message-list{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow:auto}.bubble{max-width:75%;background:var(--panel2);padding:.7rem 1rem;border-radius:14px}.bubble.mine{align-self:flex-end;background:#5b21b6}.notification.unread{border-color:var(--accent)}dialog{width:min(700px,92vw);max-height:90vh;overflow:auto;background:var(--panel);color:white;border:1px solid var(--line);border-radius:18px;padding:1.4rem}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.modal-close{float:right;background:none;font-size:1.5rem;padding:.2rem}.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}.stat{text-align:center}.stat b{display:block;font-size:2rem}#toast{position:fixed;right:1rem;bottom:1rem;background:#29223b;padding:.8rem 1rem;border-radius:10px;opacity:0;transition:.2s;pointer-events:none;z-index:50}#toast.show{opacity:1}.mini-profile{display:grid;gap:.6rem}.cover{height:180px;background:linear-gradient(135deg,#4c1d95,#be185d);border-radius:16px}.profile-hero{margin-top:-44px;padding:0 1rem}.profile-hero .avatar{width:100px;height:100px;border:5px solid var(--bg)}@media(max-width:1000px){#app{grid-template-columns:190px 1fr}.right{display:none}.guest{grid-template-columns:1fr;padding:2rem}.feature-grid{grid-template-columns:1fr}.guest h1{font-size:4rem}}@media(max-width:720px){header{padding:.6rem 1rem;height:auto;flex-wrap:wrap}#menu{display:block!important;margin-left:auto}nav{order:3;width:100%;overflow-x:auto}nav[hidden]{display:none}nav:not([hidden]){display:flex}.brand span{display:inline;white-space:nowrap;font-size:1.1rem}main{padding:.65rem}#app{display:block}aside{position:static}.right,#app>aside:first-child{display:none}.media-grid{grid-template-columns:1fr}.chat{grid-template-columns:1fr}.chat-list{border:0}.admin-stats{grid-template-columns:repeat(2,1fr)}}
[hidden]{display:none!important}
.media-grid>*{object-fit:contain!important}.gallery-cover img,.gallery-cover video,.mini-grid img{object-fit:contain!important;background:#050508}.weekly-link{display:block;border-radius:8px;overflow:hidden}.weekly-link img{width:100%;height:100%;object-fit:contain;background:#050508}
.shared-original{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#0b0b1288}.shared-original .post-body{margin:.75rem 0}.shared-unavailable{margin:1rem 0;padding:1rem;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}
#app{grid-template-columns:230px minmax(0,1fr)}.admin-stat-link{display:block;color:inherit;transition:transform .15s,border-color .15s}.admin-stat-link:hover{transform:translateY(-2px);border-color:var(--accent)}.rules-page{max-width:900px;margin:2rem auto}.rules-page p{white-space:pre-wrap}.admin-media-thumb{width:100px;height:80px;object-fit:contain;background:#050508;border-radius:8px}.cover{overflow:hidden}.cover img{display:block;width:100%;height:100%;object-fit:cover}.admin-user-card{display:grid;gap:1rem}.admin-user-actions{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap}.admin-user-actions label{min-width:130px}.admin-user-actions button{min-height:44px}.crop-canvas{display:block;width:100%;height:auto;max-height:55vh;background:#050508;border:1px solid var(--line);margin:1rem auto}.crop-canvas.avatar-crop{max-width:420px;border-radius:50%}.crop-canvas.cover-crop{aspect-ratio:3/1}
.gallery-card,.notification-link{cursor:pointer}.gallery-card:hover,.notification-link:hover{border-color:var(--accent)}.notification-arrow{font-size:2rem;color:var(--muted)}.lightbox-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:#050508}.lightbox-dialog .modal-close{position:fixed;z-index:3;right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top))}.lightbox-head{text-align:center;padding:.6rem 3rem}.lightbox-head span{display:block;color:var(--muted)}.lightbox-media{height:calc(100dvh - 150px);display:grid;place-items:center;touch-action:pan-y;background:#000}.lightbox-media img,.lightbox-media video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.lightbox-controls{display:grid;grid-template-columns:64px 1fr 64px;gap:.5rem;align-items:center;text-align:center}.lightbox-controls button{font-size:2rem;padding:.25rem}.mobile-nav{display:none}.ios-install-hint{position:fixed;z-index:45;left:1rem;right:1rem;bottom:calc(78px + env(safe-area-inset-bottom));padding:.8rem 3rem .8rem 1rem;background:#29223b;border:1px solid var(--accent);border-radius:14px;box-shadow:0 12px 40px #000a}.ios-install-hint b,.ios-install-hint span{display:block}.ios-install-hint button{position:absolute;right:.45rem;top:.45rem;padding:.35rem .6rem}.mobile-more-list{display:grid;gap:.6rem}.mobile-more-list a,.mobile-more-list button{display:block;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.lightbox-safe-close{position:fixed;z-index:10;left:calc(env(safe-area-inset-left) + 12px);top:calc(env(safe-area-inset-top) + 12px);min-width:76px;background:#29223beF;border:1px solid #ffffff66}.admin-gallery-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.admin-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.admin-gallery-preview{display:block;width:100%;padding:0;background:#050508;border:1px solid var(--line);overflow:hidden;aspect-ratio:1.25}.admin-gallery-preview img,.admin-gallery-preview video{display:block;width:100%;height:100%;object-fit:contain}
.post header .post-owner-actions{margin-left:auto;display:flex;gap:.4rem}.post-owner-actions button{padding:.45rem .7rem}.edit-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem}.edit-media-item{display:grid;gap:.4rem}.edit-media-item img,.edit-media-item video{width:100%;height:130px;object-fit:contain;background:#050508;border-radius:10px}
.media-item{position:relative;min-width:0;background:#050508}.media-item img,.media-item video{display:block;width:100%;max-height:520px;object-fit:contain;background:#050508}.media-like{position:absolute;right:.5rem;bottom:.5rem;padding:.42rem .65rem;border:1px solid #ffffff55;background:#171722dd;box-shadow:0 3px 14px #0008}.media-like.liked{color:#ff78b6;border-color:var(--accent)}.weekly-item{position:relative;min-width:0}.weekly-item .media-like{right:.25rem;bottom:.25rem;padding:.25rem .45rem}.weekly-item .weekly-link{height:100%}
.lightbox-like{position:static;padding:.45rem .9rem;background:#171722;border:1px solid #ffffff55}.lightbox-like.liked{color:#ff78b6;border-color:var(--accent)}
@media(min-width:721px){.lightbox-dialog{overflow:hidden}.lightbox-dialog #modalBody{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.lightbox-media{width:min(50vw,900px);height:100%;min-height:0;margin:0 auto;overflow:hidden;display:grid;place-items:center}.lightbox-media img,.lightbox-media video{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important}.lightbox-controls{width:min(50vw,900px);margin:0 auto;padding-top:.5rem}.lightbox-controls .lightbox-like{font-size:.82rem;line-height:1;padding:.28rem .52rem;border-radius:999px;min-width:0}}
body{position:relative;isolation:isolate}body.has-site-background::before{content:"";position:absolute;inset:0;min-height:100vh;z-index:0;pointer-events:none;background-image:var(--site-bg-image);background-repeat:no-repeat;background-position:var(--site-bg-position,center center);background-size:var(--site-bg-size,contain);opacity:var(--site-bg-opacity,.08)}body.site-background-fixed::before{position:fixed}body>main{position:relative;z-index:1}.background-preview{display:block;max-width:260px;max-height:220px;object-fit:contain;margin:1rem auto;background:#050508;border:1px solid var(--line);border-radius:12px}.background-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.background-actions{display:flex;gap:.6rem;flex-wrap:wrap}@media(min-width:721px){body.site-background-hide-desktop::before{display:none}}@media(max-width:720px){body.site-background-hide-mobile::before{display:none}}
.guest h1{line-height:1.08;padding-bottom:.2em;overflow:visible}
@media(min-width:721px){body.has-site-background::before{inset:72px 12px 12px;min-height:0}}
.background-customizer{display:grid;gap:1.25rem;margin-bottom:1rem}.background-customizer #backgroundForm{box-shadow:none;border:0;padding:0;background:none}.background-customizer #backgroundSettingsForm{padding-top:1.1rem;border-top:1px solid var(--line)}.opacity-preview-value{display:inline-block;justify-self:start;padding:.25rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--text);font-weight:800}.background-controls input[type="range"]{cursor:pointer;accent-color:var(--accent)}
@media(max-width:720px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}header{min-height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(1rem,env(safe-area-inset-right)) .5rem max(1rem,env(safe-area-inset-left))}header #nav,header #menu{display:none!important}main{padding:.65rem max(.65rem,env(safe-area-inset-right)) .65rem max(.65rem,env(safe-area-inset-left))}.mobile-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));padding:4px max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#0d0d16f5;border-top:1px solid var(--line);backdrop-filter:blur(16px)}.mobile-nav a,.mobile-nav button{display:grid;place-items:center;gap:0;background:none;color:var(--muted);padding:.2rem;font-size:.72rem;font-weight:700}.mobile-nav span{font-size:1.35rem;line-height:1}.mobile-nav .mobile-create span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:white;background:linear-gradient(135deg,var(--primary),var(--accent));margin-top:-18px;box-shadow:0 6px 18px #7c3aed88}.card{border-radius:14px;padding:1rem}.actions{overflow-x:auto}.actions button{min-width:max-content}.page-head{gap:.5rem;align-items:flex-start}.page-head h2{font-size:1.35rem}.cover{height:130px;border-radius:12px}.chat{min-height:calc(100dvh - 150px)}.bubble{max-width:88%}dialog:not(.lightbox-dialog){width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:1rem;margin:auto}.list-item{flex-wrap:wrap}.notification-link .grow{min-width:70%}#toast{bottom:calc(74px + env(safe-area-inset-bottom));left:.7rem;right:.7rem;text-align:center}.guest{padding:1rem}.guest h1{font-size:clamp(3rem,16vw,4.5rem)}}
@media(display-mode:standalone){header{padding-top:env(safe-area-inset-top)}body{overscroll-behavior-y:none}.ios-install-hint{display:none!important}}
