:root{color-scheme:light dark;--color-bg:#fff;--color-surface:#f6f8fa;--color-surface-strong:#e8ebef;--color-text:#15171a;--color-text-muted:#5b616a;--color-border:#d0d7de;--color-link:#075fb5;--color-primary:#24292f;--color-primary-text:#fff;--color-danger:#b42336;--color-danger-surface:#fde7e9;--color-success:#17663a;--color-success-surface:#e8f6ed;--color-private:#f2c94c;--color-public:#d7eaff;--color-public-text:#074e91;--color-media:#202328;--focus-ring:#0b72d9}@media(prefers-color-scheme:dark){:root{--color-bg:#151719;--color-surface:#202327;--color-surface-strong:#2b3036;--color-text:#edf0f3;--color-text-muted:#aeb6c0;--color-border:#3c434b;--color-link:#79b8ff;--color-primary:#e7ebef;--color-primary-text:#17191b;--color-danger:#e05468;--color-danger-surface:#3b2328;--color-success:#9bd7b2;--color-success-surface:#173527;--color-private:#e8bd42;--color-public:#244e7d;--color-public-text:#d7eaff;--color-media:#090a0b;--focus-ring:#79b8ff}}*,:after,:before{box-sizing:border-box}html{min-width:280px}body,html{background:var(--color-bg)}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--color-text)}button,input,select,textarea{font:inherit}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1 0 auto}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 12px;background:var(--color-primary);color:var(--color-primary-text);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.btn{min-height:36px;background:var(--color-primary);color:var(--color-primary-text);padding:7px 12px;border-radius:6px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;cursor:pointer}.btn,.btn:hover{text-decoration:none}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn.danger{background:var(--color-danger);color:#fff}.btn.disabled,.btn:disabled{opacity:.48;pointer-events:none}.hidden,.is-hidden{display:none!important}.error,.success{padding:9px 12px;border-radius:6px}.error{color:var(--color-danger);background:var(--color-danger-surface)}.success{color:var(--color-success);background:var(--color-success-surface)}.comment-load-error,.page-load-error,.page-loading,.pagination-error{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.page-load-error{min-height:120px;padding:20px;color:var(--color-danger);background:var(--color-danger-surface);border-radius:6px}.page-loading{min-height:120px;color:var(--color-text-muted)}.empty{padding:48px 0}.empty,.infinite-status{color:var(--color-text-muted);text-align:center}.infinite-status{min-height:62px;padding:13px 0;font-size:14px}.loader{display:inline-block;width:22px;height:22px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}.scroll-sentinel{width:100%;height:1px}.work-card{position:relative;width:100%;aspect-ratio:1/1;display:block;overflow:hidden;border-radius:6px;background:var(--color-surface-strong)}.work-card-media,.work-card-placeholder{width:100%;height:100%;display:flex;-o-object-fit:cover;object-fit:cover}.work-card-placeholder{align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--color-text-muted);background:var(--color-media)}.work-card-placeholder-icon{font-size:24px;color:#fff}.work-card-badge,.work-card-username{position:absolute;z-index:1;padding:3px 6px;border-radius:3px;background:#000000b8;color:#fff;font-size:11px;line-height:1.2}.work-card-badge{top:6px;right:6px;text-transform:uppercase}.work-card-username{left:6px;bottom:6px;max-width:calc(100% - 12px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.comments-section{margin-top:40px;max-width:780px}.comments-title{margin:0 0 12px;font-size:18px}.comment-form{margin-bottom:14px;display:flex;flex-direction:column;gap:8px}.comment-form textarea{width:100%;min-height:88px;padding:10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);resize:vertical}.comment-form textarea::-moz-placeholder{color:var(--color-text-muted)}.comment-form textarea::placeholder{color:var(--color-text-muted)}.comment-actions,.comment-meta,.comment-public-toggle{display:flex;align-items:center;flex-wrap:wrap}.comment-public-toggle{gap:7px;color:var(--color-text-muted);font-size:13px}.comment-actions{gap:9px}.comment-empty,.comment-helper,.comment-loading,.comment-login-hint{color:var(--color-text-muted);font-size:13px}.comment-status:empty{display:none}.comment-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:10px}.comment-item{border:1px solid var(--color-border);padding:10px 12px;border-radius:6px;background:var(--color-surface)}.comment-meta{gap:8px;margin-bottom:6px;font-size:13px}.comment-avatar{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.comment-date{color:var(--color-text-muted)}.comment-badge{padding:2px 6px;border-radius:4px;font-size:11px}.comment-badge--private{background:var(--color-private);color:#222}.comment-badge--public{background:var(--color-public);color:var(--color-public-text)}.comment-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.legal-wrap{max-width:960px;margin:24px auto;padding:0 16px;line-height:1.6}.legal-wrap h1{font-size:28px;margin:16px 0}.legal-wrap h2{font-size:20px;margin:20px 0 8px}.legal-meta,.legal-wrap li,.legal-wrap p{color:var(--color-text-muted)}.legal-meta{font-size:12px;margin:8px 0 24px}@media(max-width:520px){.wrap{padding:12px}.btn{min-height:40px}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.loader{animation:none;border-top-color:var(--color-border)}}.site-header{position:relative;z-index:10;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.site-header .site-header-wrap{padding-top:10px;padding-bottom:10px}.site-header-row,.site-user,.user-badge{display:flex;align-items:center}.site-header-row{justify-content:space-between;gap:12px 20px;flex-wrap:wrap}.site-title{flex:0 1 auto;min-width:0;color:var(--color-text);font-size:18px;font-weight:800;overflow-wrap:anywhere}.site-user{max-width:100%;gap:8px 12px;flex-wrap:wrap;justify-content:flex-end}.site-user a{font-weight:650}.user-badge{min-width:0;gap:8px}.user-badge img{width:28px;height:28px;display:block;border-radius:50%;-o-object-fit:cover;object-fit:cover}.user-badge .name{max-width:160px;overflow:hidden;color:var(--color-text);font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.logout-form{display:inline-flex;margin:0}.logout{padding:2px 0;border:0;background:transparent;color:var(--color-link);cursor:pointer;font-weight:650}.logout:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted)}.site-footer-nav{display:flex;justify-content:center;gap:20px;padding-top:18px;padding-bottom:18px;font-size:13px}.tabs{display:inline-flex;max-width:100%;gap:4px;padding:4px;border-radius:8px;background:var(--color-surface);overflow-x:auto}.tab{flex:0 0 auto;padding:6px 12px;border-radius:6px;color:var(--color-text-muted);font-weight:650;white-space:nowrap}.tab.active{background:var(--color-primary);color:var(--color-primary-text)}.tab:hover{text-decoration:none;background:var(--color-surface-strong)}.tab.active:hover{background:var(--color-primary)}@media(max-width:520px){.site-header-row{align-items:flex-start}.site-title{padding-top:4px;font-size:17px}.site-user{flex:1 1 180px}.user-badge .name{display:none}}.home-wrap{max-width:none;padding-left:24px;padding-right:24px}.home-wrap .home-top{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:12px;flex-wrap:wrap}.home-wrap .home-right{display:flex;min-width:0}.home-wrap .works-container{display:flex;flex-direction:column;gap:16px;overflow-anchor:none}.home-wrap .works-grid{--work-grid-min:240px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--work-grid-min)),1fr));gap:16px}.home-wrap .work-card{border-radius:8px}@media(max-width:760px){.home-wrap .works-container,.home-wrap .works-grid{gap:12px}.home-wrap .works-grid{--work-grid-min:180px}}@media(max-width:520px){.home-wrap{padding-left:12px;padding-right:12px}.home-wrap .home-right{width:100%}.home-wrap .works-grid{--work-grid-min:44%;gap:10px}}.artists-wrap .artists-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.artists-wrap .grid-artists{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}.artists-wrap .artist-item{position:relative;width:100%;aspect-ratio:1/1;display:block;overflow:hidden;border-radius:50%;background:var(--color-surface-strong)}.artists-wrap .artist-item img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.artists-wrap .artist-name{position:absolute;right:0;bottom:0;left:0;padding:12px 4px 5px;overflow:hidden;background:linear-gradient(transparent,#000000bf);color:#fff;font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.artists-wrap .grid-artists{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px}}@media(max-width:520px){.artists-wrap .grid-artists{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}}.artist-works-wrap .artist-actions,.artist-works-wrap .artist-stats,.artist-works-wrap .artist-works-top{display:flex;align-items:center;flex-wrap:wrap}.artist-works-wrap .artist-works-top{justify-content:space-between;gap:10px 14px;margin-bottom:12px}.artist-works-wrap .artist-actions,.artist-works-wrap .artist-stats{gap:8px 14px}.artist-works-wrap .artist-profile{display:flex;align-items:flex-start;gap:18px;margin:6px 0 24px}.artist-works-wrap .artist-avatar{width:120px;height:120px;flex:0 0 auto;border-radius:50%;background:var(--color-surface-strong);-o-object-fit:cover;object-fit:cover}.artist-works-wrap .artist-info{min-width:0;display:flex;flex:1 1 260px;flex-direction:column;gap:8px}.artist-works-wrap .artist-info h1{margin:0;overflow-wrap:anywhere;font-size:24px}.artist-works-wrap .artist-username{margin:-4px 0 0;color:var(--color-text-muted)}.artist-works-wrap .artist-stats{color:var(--color-text-muted);font-size:13px}.artist-works-wrap .artist-bio{max-width:720px;color:var(--color-text);font-size:14px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.artist-works-wrap .artist-external{max-width:100%;overflow-wrap:anywhere}.artist-works-wrap .artist-sections{display:flex;flex-direction:column;gap:20px}.artist-works-wrap .artist-section h2{margin:0 0 8px;color:var(--color-text);font-size:16px}.artist-works-wrap .artist-work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}@media(max-width:760px){.artist-works-wrap .artist-profile{gap:14px}.artist-works-wrap .artist-avatar{width:96px;height:96px}.artist-works-wrap .artist-work-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media(max-width:520px){.artist-works-wrap .artist-profile{flex-direction:column}.artist-works-wrap .artist-work-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}}.work-edit-wrap .work-edit-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.work-edit-wrap .work-edit-top h1{margin:0;font-size:20px}.work-edit-wrap .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.work-edit-wrap .form-row{display:flex;flex-direction:column;gap:6px}.work-edit-wrap .form-row label{font-weight:650}.work-edit-wrap .form-input,.work-edit-wrap .form-textarea{width:100%;padding:9px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text)}.work-edit-wrap .form-textarea{min-height:140px;resize:vertical}.work-edit-wrap .form-actions,.work-edit-wrap .form-row.full{grid-column:1/-1}.work-edit-wrap .form-actions,.work-edit-wrap .rotation-actions,.work-edit-wrap .rotation-controls{display:flex;gap:10px;flex-wrap:wrap}.work-edit-wrap .rotation-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:16px;align-items:start}.work-edit-wrap .rotation-preview{min-height:320px;padding:16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.work-edit-wrap .rotation-image{max-width:100%;max-height:420px;-o-object-fit:contain;object-fit:contain;transform-origin:center;transition:transform .12s ease}.work-edit-wrap .rotation-panel{display:flex;flex-direction:column;gap:10px}.work-edit-wrap .rotation-error{margin:0}@media(max-width:760px){.work-edit-wrap .form-grid,.work-edit-wrap .rotation-editor{grid-template-columns:minmax(0,1fr)}.work-edit-wrap .form-actions,.work-edit-wrap .form-row.full{grid-column:1}.work-edit-wrap .rotation-preview{min-height:260px}}@media(max-width:480px){.work-edit-wrap .form-input,.work-edit-wrap .form-textarea{padding:12px 10px;font-size:16px}}.work-detail-wrap .work-detail-meta,.work-detail-wrap .work-detail-title-group,.work-detail-wrap .work-detail-top,.work-detail-wrap .work-navigation,.work-detail-wrap .work-stats,.work-detail-wrap .work-tags{display:flex;align-items:center;flex-wrap:wrap}.work-detail-wrap .work-detail-top{justify-content:space-between;gap:10px 16px;margin-bottom:12px}.work-detail-wrap .work-detail-meta,.work-detail-wrap .work-detail-title-group,.work-detail-wrap .work-navigation,.work-detail-wrap .work-stats,.work-detail-wrap .work-tags{gap:8px 12px}.work-detail-wrap .work-detail-title{margin:0;font-size:18px;overflow-wrap:anywhere}.work-detail-wrap .work-stats{color:var(--color-text-muted);font-size:13px}.work-detail-wrap .like-error{margin:0 0 12px}.work-detail-wrap .work-viewer{position:relative;width:100%;max-height:calc(100svh - 150px);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px}.work-detail-wrap .work-viewer--without-poster{min-height:min(56vw,480px);aspect-ratio:16/9}.work-detail-wrap .work-media{width:100%;height:auto;max-height:calc(100svh - 150px);display:block;-o-object-fit:contain;object-fit:contain}.work-detail-wrap .work-viewer--without-poster .work-media{height:100%}.work-detail-wrap .empty-viewer-state,.work-detail-wrap .video-placeholder{color:#fff}.work-detail-wrap .video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.work-detail-wrap .empty-viewer-state{min-height:240px;display:flex;align-items:center;justify-content:center}.work-detail-wrap .work-tags{margin-top:12px}.work-detail-wrap .work-tag{padding:4px 8px;border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:12px}.work-detail-wrap .work-navigation{margin-top:12px}.work-detail-wrap .work-caption{margin-top:14px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.work-detail-wrap .work-source{margin-top:8px;color:var(--color-text-muted);font-size:13px;overflow-wrap:anywhere}@media(min-width:761px)and (max-height:4000px){.work-detail-wrap{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1208px) minmax(0,1fr)}.work-detail-wrap>*{grid-column:2}.work-detail-wrap .work-viewer{grid-column:1/-1;height:100svh;max-height:none}.work-detail-wrap .work-viewer--without-poster{min-height:0;aspect-ratio:auto}.work-detail-wrap .work-media,.work-detail-wrap .work-viewer--without-poster .work-media{width:auto;height:auto;max-width:100%;max-height:100%}}@media(max-width:760px){.work-detail-wrap .work-detail-meta,.work-detail-wrap .work-detail-top{align-items:flex-start}.work-detail-wrap .work-detail-meta{width:100%;justify-content:space-between}.work-detail-wrap .work-media,.work-detail-wrap .work-viewer{max-height:calc(100svh - 190px)}}@media(max-width:440px){.work-detail-wrap .work-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.work-detail-wrap .work-navigation .btn{width:100%}}.tag-works-wrap .tag-works-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.tag-works-wrap .tag-works-top h1{margin:0;overflow-wrap:anywhere;font-size:20px}.tag-works-wrap .tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}@media(max-width:760px){.tag-works-wrap .tag-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media(max-width:520px){.tag-works-wrap .tag-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}}
