*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#0c0d10;color:#f3f4f6}:root{--bg: #0c0d10;--surface: #1f2329;--surface-2: #262b33;--surface-3: #343b46;--border: #3f4753;--text: #f3f4f6;--muted: #cbd2dc;--muted-2: #9aa3af;--overlay: rgba(0, 0, 0, .72)}.site{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card{width:min(100%,440px);padding:1.5rem;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 30px #00000059}.card h1{margin:0 0 .35rem;font-size:1.8rem}.card>p{margin:0 0 1rem;color:var(--muted)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.tab{padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);cursor:pointer;font-weight:600}.tab.active{background:var(--surface-3);border-color:var(--muted-2);color:var(--text)}.form{display:grid;gap:.5rem}.form label{font-size:.92rem;font-weight:600}.form input,.form select,.form textarea{padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface-2);color:var(--text)}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid #8b95a3;border-color:#8b95a3}.postBodyInput{resize:none;overflow-y:hidden;min-height:220px}button{border:1px solid transparent;border-radius:8px;padding:.6rem .8rem;background:#00000073;color:var(--text);font-size:.95rem;font-weight:600;cursor:pointer;transition:border-color .14s ease,color .14s ease}button:not(.iconModeButton):hover:not(:disabled){border-color:#f3f4f6}button:not(.iconModeButton):focus-visible{outline:none;border-color:#f3f4f6}button:disabled{background:#4b5563;color:var(--muted);border-color:transparent;cursor:wait}button.secondary{background:#00000059;color:var(--text)}.error{color:#b91c1c;margin-bottom:.35rem}.hint{color:var(--muted)}.imageOrderList{display:grid;gap:.6rem;border:1px solid var(--border);border-radius:12px;padding:.75rem;background:var(--surface-2)}.imagePreviewGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem}.imagePreviewCard{border:1px solid var(--border);border-radius:10px;padding:.45rem;background:var(--surface);cursor:grab;-webkit-user-select:none;user-select:none}.imagePreviewCard:active{cursor:grabbing}.imagePreviewCard.isDropTarget{border-color:#9aa3af;box-shadow:0 0 0 2px #9aa3af40}.imagePreviewFrame{aspect-ratio:1 / 1;overflow:hidden;border-radius:8px;background:#111318}.imagePreviewFrame img{width:100%;height:100%;object-fit:cover}.imagePreviewMeta{margin-top:.35rem;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:.82rem}.thumbnailChip{padding:.12rem .4rem;border-radius:999px;background:var(--surface-3);color:var(--text)}.fileName{margin:.25rem 0 0;font-size:.78rem;color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{margin-top:1rem;font-size:.95rem}.hub{width:100%;max-width:none;margin:0;padding:0 1.25rem 2rem}.hubSideRail{position:fixed;left:1.25rem;top:3.2rem;z-index:7;width:220px;height:calc(100vh - 3.8rem);padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}.profileRailCard{width:100%;max-width:208px;padding:0;border-radius:12px;background:transparent;border:none;display:grid;gap:.45rem}.profileRailDesktop{display:grid}.profileRailMobile{display:none}.profileRailLoading,.profileRailError,.profileRailIntro,.profileRailLastLogin{margin:0}.profileRailError{color:#fca5a5}.profileRailAvatar{width:100%;height:auto;aspect-ratio:1 / 1;border-radius:999px;object-fit:cover;background:transparent;border:none;display:block}.profileRailAvatarFallback{display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-size:1.2rem;font-weight:700}.profileRailName{margin:0;font-size:1.02rem;line-height:1.2}.profileRailIntro{color:var(--muted);font-size:.85rem;line-height:1.3;white-space:pre-wrap}.profileRailLastLogin{color:var(--muted-2);font-size:.75rem}.profileCustomizeButton{width:fit-content}.hubHeader{display:flex;align-items:center;gap:.8rem;margin-left:-1.25rem;margin-right:-1.25rem;position:sticky;top:0;z-index:6;padding:.45rem 1.25rem;background:linear-gradient(to bottom,#0c0d10 0% 10%,#0c0d1000);border-bottom:none}.headerBrand{margin:0;color:#f3f4f6;font-size:1.2rem;line-height:1.1;white-space:nowrap;flex-shrink:0}.headerBrandButton{border:0;background:transparent;padding:0;margin:0;width:calc(220px + 1rem - .8rem);display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;color:inherit;cursor:pointer}.headerBrandButton:hover .headerBrand{color:#fff}.headerBrandButton:focus{outline:none}.headerSearch{flex:1 1 auto;min-width:320px;max-width:none}.headerSearch input{width:100%;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:#00000059;color:var(--text)}.headerSearch input:focus{outline:2px solid #3b82f6;border-color:#3b82f6}.headerActions{display:flex;gap:.5rem;align-items:center;margin-left:auto}.headerGreeting{margin:0 .2rem 0 0;color:var(--muted);font-size:.82rem;white-space:nowrap}.headerGreeting strong{color:var(--text)}.headerGreetingButton{border:0;background:transparent;padding:0;margin:0 .2rem 0 0;color:var(--muted);font-size:.82rem;white-space:nowrap;cursor:pointer}.headerGreetingButton strong{color:var(--text)}.headerGreetingButton:hover strong{color:#fff}.headerGreetingButton:focus{outline:none}.viewModeSwitch{display:grid;gap:.45rem;margin-top:0;justify-items:start;align-content:start}.hubSideRail .iconModeButton{min-width:116px;justify-content:flex-start}.iconModeButton{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .6rem;border:1px solid transparent;border-radius:8px;background:#00000059;color:var(--text)}.iconModeButton svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.iconEmoji{font-size:.95rem;line-height:1}.iconModeButton.active{border-color:#f3f4f6;background:#0000008c}.iconModeButton:disabled{background:#6b728038;color:#9aa3af;border-color:transparent;cursor:not-allowed}.iconModeButton:disabled .iconEmoji{filter:grayscale(100%);opacity:.7}.composeCard{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1rem}.composeCard h2{margin:0 0 .75rem}.composeModal{width:100vw;height:100vh;max-height:none;overflow:auto;margin:0;background:var(--surface);border:none;border-radius:0;padding:1rem;box-sizing:border-box}.composeModalHeader{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.8rem}.composeModalHeader h2{margin:0}.composeSubmitRow{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:.75rem 0 .25rem;background:linear-gradient(to top,var(--surface) 74%,rgba(31,35,41,0));z-index:1}.profileEditorModal{width:min(560px,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);overflow:auto;margin:.75rem auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.95rem;box-sizing:border-box}.profileEditorHeader{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.8rem}.profileEditorHeader h2{margin:0}.profileEditorAvatarBlock{display:flex;align-items:center;gap:.75rem;margin-bottom:.2rem}.profileEditorAvatarPreview{width:86px;height:86px;border-radius:999px;border:1px solid var(--border);object-fit:cover;background:#ffffff1a}.profileEditorAvatarPlaceholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-size:1.4rem;font-weight:700}.profileEditorAvatarActions{display:grid;gap:.35rem}.profileAvatarRemoveButton{width:fit-content}.profileEditorSubmitRow{margin-top:.5rem;display:flex;justify-content:flex-end;gap:.5rem}.authOverlay{background:#0000006b}.authModal{width:min(460px,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);overflow:auto;margin:.75rem auto;padding:.95rem;box-sizing:border-box;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#1214189e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.authModalHeader{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem}.authModalHeader h2{margin:0}.authTabs{margin-bottom:.75rem}.feed{margin-left:calc(220px + 1rem);display:grid;gap:.8rem}.emptyFeed{margin:0;color:var(--muted)}.feedBottomTrigger{height:1px;width:100%}.postListItem{display:block;background:#00000073;border:none;border-radius:12px;padding:.7rem;cursor:pointer}.postListThumb{width:92px;border-radius:0;object-fit:contain;background:transparent;border:none}.postListThumb.ratio-1-1{aspect-ratio:1 / 1}.postListThumb.ratio-2-3{aspect-ratio:2 / 3}.postListThumb.ratio-3-2{aspect-ratio:3 / 2}.postListThumb.placeholder{display:grid;place-items:center;background:transparent;color:var(--muted-2);font-weight:700}.postListInfo h3{margin:0}.postListInfo{min-width:0}.listVoteLayout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:start}.listVoteLayout.hasThumb{grid-template-columns:auto 96px minmax(0,1fr)}.listVoteColumn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding-top:.05rem}.listInfoBody{min-width:0}.postListMeta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.45rem;color:var(--muted);font-size:.88rem}.albumGrid{column-width:320px;column-gap:.8rem}.albumCard{break-inside:avoid;margin-bottom:.8rem;background:#00000073;border:1px solid var(--border);padding:0;cursor:pointer;position:relative;overflow:hidden}.albumThumb{display:block;width:100%;height:auto;object-fit:contain;border-radius:0}.albumOverlay{position:absolute;inset:auto 0 0;padding:.55rem .6rem;background:linear-gradient(to top,#000000e0,#0000002e);color:var(--text);opacity:0;transition:opacity .16s ease;pointer-events:none}.albumOverlayLayout{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem}.albumOverlayBody{min-width:0}.albumOverlay h3{margin:0;font-size:.94rem;line-height:1.2}.albumOverlay p{margin:.2rem 0 0;font-size:.8rem;color:var(--muted)}.albumOverlayMeta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.26rem;font-size:.78rem;color:#dce2ea}.albumVoteColumn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding-top:.05rem}.albumVoteButton{width:26px;height:26px;padding:0;border:0;border-radius:6px;line-height:1;background:transparent;color:#dce2ea;display:inline-flex;align-items:center;justify-content:center}.albumVoteButton:hover{background:#ffffff1a}.albumVoteGlyph{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.albumVoteScore{font-size:.78rem;color:#dce2ea;line-height:1}.albumVoteButton.upvote.isActive{color:#fb923c;background:#fb923c29}.albumVoteButton.downvote.isActive{color:#60a5fa;background:#60a5fa29}.albumCard:hover .albumOverlay,.albumCard:focus-visible .albumOverlay{opacity:1;pointer-events:auto}.postModalOverlay{position:fixed;inset:0;background:var(--overlay);display:block;padding:0;z-index:10}.postModal{--post-vote-column-width: 2rem;--post-vote-column-gap: .65rem;width:100vw;height:100vh;max-height:none;overflow:auto;background:var(--bg);border:none;border-radius:0;padding:1rem;box-sizing:border-box}.textPostModal{--text-post-inline-pad: 2.8rem}.postModalHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.7rem}.postModalHeader h3{margin:0}.postHeaderMain{display:grid;grid-template-columns:var(--post-vote-column-width) minmax(0,1fr);align-items:start;gap:var(--post-vote-column-gap);min-width:0}.postHeaderText{min-width:0}.postModal .postBody{padding-left:calc(var(--post-vote-column-width) + var(--post-vote-column-gap))}.textPostModal .postModalHeader{padding-left:var(--text-post-inline-pad)}.textPostModal .postBody{padding-left:calc(var(--post-vote-column-width) + var(--post-vote-column-gap) + var(--text-post-inline-pad))}.closeButton{min-width:44px}.postModal .closeButton{min-width:0;padding:.2rem .45rem;border:0;background:transparent;color:#dce2ea}.postModal .closeButton:hover{color:#fff;background:transparent}.postModal .closeButton:focus{outline:none;background:transparent}.postBackButton{position:fixed;top:.65rem;left:.75rem;z-index:12;width:34px;height:34px;min-width:0;padding:0;line-height:1;border:0;background:transparent;border-radius:0;color:#dce2ea}.postBackButton svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.postBackButton:hover{color:#fff;background:transparent}.postBackButton:focus{outline:none;background:transparent}.imagePostModal{width:100vw}.imagePostContent{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:.9rem;align-items:start}.imagePostMain{display:grid;gap:0;min-width:0}.imagePostMainFrame{background:var(--bg);border-radius:0;width:100%;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.imagePostMainImage{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 2rem);object-fit:contain;object-position:center center}.imageMetaOverlay{position:absolute;left:.6rem;bottom:.6rem;display:inline-flex;gap:.45rem;align-items:center;padding:.25rem .45rem;border-radius:8px;background:#000000b8;color:#f3f4f6;font-size:.74rem;line-height:1;opacity:0;pointer-events:none;transition:opacity .16s ease}.imageDownloadButton{position:absolute;left:50%;bottom:.6rem;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:.3rem .6rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#000000bd;color:#f3f4f6;font-size:.76rem;font-weight:600;text-decoration:none;line-height:1;opacity:0;pointer-events:none;transition:opacity .16s ease,border-color .16s ease,color .16s ease}.imageDownloadButton:hover{color:#fff;border-color:#ffffffbf}.imagePostMainFrame:hover .imageMetaOverlay,.imagePostMainFrame:focus-within .imageMetaOverlay{opacity:1}.imagePostMainFrame:hover .imageDownloadButton,.imagePostMainFrame:focus-within .imageDownloadButton{opacity:1;pointer-events:auto}.imagePostEmpty{color:#cbd5e1}.imagePostInfo{padding-top:.2rem;padding-left:.9rem;border-left:1px solid var(--border);position:sticky;top:0;max-height:calc(100vh - 170px);overflow:auto}.imagePostInfoTop{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.7rem}.imagePostInfoTop h3{margin:0}.muted{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.authorLink{border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;cursor:pointer}.authorLink:hover,.authorLink:focus-visible{color:#f3f4f6;text-decoration-color:currentColor;outline:none}.typeTag{background:var(--surface-3);color:var(--text);border-radius:99px;padding:.2rem .55rem;font-size:.8rem;font-weight:700;text-transform:uppercase}.postBody{margin:.75rem 0}.thumbnailPreview{width:100%;max-height:360px;object-fit:contain;border-radius:8px;border:1px solid var(--border);margin-top:.75rem}.attachmentList{margin:0 0 .75rem;padding-left:1.1rem}.attachmentList li{margin:.15rem 0}.attachmentList a{color:var(--muted)}.postVoteColumn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding-top:.05rem;width:var(--post-vote-column-width)}.postVoteMeta{display:flex;flex-wrap:wrap;gap:.6rem;color:var(--muted);font-size:.88rem;margin-bottom:.7rem}.textPostModal .postVoteMeta{padding-left:calc(var(--post-vote-column-width) + var(--post-vote-column-gap) + var(--text-post-inline-pad))}.commentPanel{border-top:1px solid var(--border);padding-top:.75rem}.commentTop{margin-bottom:.5rem}.commentCreate{display:flex;gap:.5rem;margin-bottom:.75rem}.commentCreate input{flex:1;padding:.55rem .65rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px}.commentList{display:grid;gap:.5rem}.commentNode{border-left:2px solid var(--border);padding-left:.55rem}.commentNode p{margin:.25rem 0 .4rem}.commentMeta{display:flex;gap:.5rem;align-items:center}.commentMeta span{color:var(--muted-2);font-size:.8rem}.replyActions{margin-bottom:.4rem}.replyBox{display:flex;gap:.35rem;margin-bottom:.35rem}.replyBox input{flex:1;padding:.45rem .55rem;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px}.hubStatus{margin-left:calc(220px + 1rem);margin-top:1rem;color:var(--text)}@media(max-width:720px){.hub{padding:0 .75rem 5.25rem}.hubSideRail{position:fixed;inset:auto 0 0;height:auto;width:auto;display:block;padding:.45rem .75rem calc(.45rem + env(safe-area-inset-bottom));background:#0c0d10f0;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profileRailCard{max-width:none;width:100%}.profileRailDesktop{display:none}.profileRailMobile{display:grid;margin-bottom:.2rem}.hubHeader{margin-left:-.75rem;margin-right:-.75rem;padding:.45rem .75rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.headerBrandButton{width:auto}.headerSearch{order:1;flex-basis:100%;min-width:0;max-width:none}.headerActions{order:2;justify-self:auto}.feed,.hubStatus{margin-left:0}.viewModeSwitch{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;scrollbar-width:none}.viewModeSwitch::-webkit-scrollbar{display:none}.hubSideRail .iconModeButton{min-width:0;flex:0 0 auto;padding:.42rem .62rem}.postListItem{padding:.6rem}.postListThumb{width:72px}.listVoteLayout{gap:.55rem}.listVoteLayout.hasThumb{grid-template-columns:auto 74px minmax(0,1fr)}.albumGrid{column-width:180px;column-gap:.55rem}.albumCard{margin-bottom:.55rem;padding:0}.commentCreate,.replyBox{flex-direction:column}.iconModeButton span{display:inline}.profileEditorAvatarBlock{flex-direction:column;align-items:flex-start}}@media(max-width:1080px){.imagePostContent{grid-template-columns:1fr}.imagePostInfo{position:static;max-height:none;overflow:visible;border-left:none;padding-left:0}}
