:root{--bg:#1c1c1c;--bg-rgb:28,28,28;--panel:#242424;--card:#2b2b2b;--tile:#161616;--border:#3d3d3d;--text:#f5f5f5;--muted:#9c9c9c;--accent:#f07f1b;--green:#3fb97f;--amber:#e0a85a;--red:#e0545a;--bg-panel:#2b2b2b;--bg-elevated:#242424;--text-muted:#9c9c9c;--accent-hover:#ffa14d;--accent-soft:rgba(240,127,27,.12);--viewer-bg:radial-gradient(circle at 50% 35%,#34373c 0%,#24262a 55%,#151618 100%);--r-card:12px;--r-btn:8px;--r-pill:999px;--font:"Montserrat",system-ui,"Segoe UI",Roboto,sans-serif;--mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",monospace}[data-theme=light]{--bg:#f5f5f4;--bg-rgb:245,245,244;--panel:#fff;--card:#fff;--tile:#ececea;--border:#d9d9d6;--text:#1c1c1c;--muted:#6e6e6e;--accent:#f07f1b;--green:#2e9e6b;--amber:#b57f2e;--red:#d43c42;--bg-panel:#fff;--bg-elevated:#f0f0ee;--text-muted:#6e6e6e;--accent-hover:#d96a0e;--accent-soft:rgba(240,127,27,.12);--viewer-bg:radial-gradient(circle at 50% 35%,#fff 0%,#f1f1f3 55%,#d9dade 100%)}.model-viewer-reset{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:var(--r-btn);color:var(--text);background:color-mix(in srgb,var(--panel) 82%,transparent);cursor:pointer;line-height:0;transition:color .15s ease,border-color .15s ease}.model-viewer-reset:hover{color:var(--accent);border-color:var(--accent)}.model-viewer-hint{position:absolute;right:56px;bottom:20px;font-size:12px;color:var(--muted);opacity:.75;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.5}::selection{background:rgba(240,127,27,.35)}h1,h2,h3{font-weight:700}h1{font-size:40px}main{max-width:1100px;margin:0 auto;padding:24px 16px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.mono{font-family:var(--mono)}.hero{position:relative;margin:0 -16px;padding:24px 16px 4px;border-radius:var(--r-card);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:url(/pattern-tile.png) repeat;background-size:51px 88px;opacity:.25;pointer-events:none}.hero--live:before{content:none}.hero>.hero-hex-canvas{z-index:0}.hero:after,.hero>.hero-hex-canvas{position:absolute;inset:0;pointer-events:none}.hero:after{content:"";background:linear-gradient(90deg,rgba(var(--bg-rgb),.85) 0,rgba(var(--bg-rgb),.55) 45%,rgba(var(--bg-rgb),.12) 100%)}.hero>*{position:relative;z-index:1}.hero h1{margin-top:0}.search-row{display:flex;gap:12px;align-items:center;max-width:780px;margin:32px auto}.search-row .search-box{flex:1 1;max-width:none;margin:0}.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.catalog-bar{display:flex;justify-content:flex-end;margin:14px 0 12px}.catalog-sort{margin:0}.catalog-sort,.pill{font-size:13px;color:var(--text-muted)}.pill{display:inline-block;padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:transparent;font-weight:600}.pill:hover{color:var(--text);border-color:var(--text-muted)}.pill-active,.pill-active:hover{background:var(--accent);border-color:var(--accent);color:#fff}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;margin:0 auto;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.site-header .brand{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:600}.site-header .brand:hover{color:var(--text)}.site-header .brand img{height:40px;width:auto}.brand-logo-light,[data-theme=light] .brand-logo-dark{display:none}[data-theme=light] .brand-logo-light{display:block}.theme-toggle{padding:8px;line-height:0;background:transparent;border:1px solid var(--border);color:var(--text-muted)}.theme-toggle:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.site-header nav{display:flex;gap:4px;flex-wrap:wrap}.site-header nav a{color:var(--text-muted);padding:6px 12px;border-radius:var(--r-pill)}.site-header nav a:hover{color:var(--text);background:var(--bg-elevated)}.site-footer{max-width:1100px;margin:32px auto 0;padding:16px;border-top:1px solid var(--border)}.site-footer,.site-footer a{color:var(--text-muted)}.site-footer a:hover{color:var(--accent-hover)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px;margin-top:24px}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-card);padding:12px;color:inherit;transition:border-color .15s ease}.card:hover{border-color:var(--accent);color:inherit}.card img{width:100%;height:180px;object-fit:contain;background:var(--tile);border-radius:var(--r-btn)}.muted{color:var(--text-muted);font-size:14px}.chip{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap}.chip-green{color:var(--green);background:rgba(63,185,127,.12)}.chip-amber{color:var(--amber);background:rgba(224,168,90,.12)}.chip-red{color:var(--red);background:rgba(235,90,90,.12)}.chip-muted{color:var(--text-muted);background:hsla(0,0%,61%,.12)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.stat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-card);padding:14px 16px}.stat-card .stat-label{color:var(--text-muted);font-size:13px}.stat-card .stat-value{display:block;font-size:28px;font-weight:700;line-height:1.3;margin-top:2px}@media (min-width:1132px){.full-bleed{margin-left:calc((1100px - 100vw) / 2);margin-right:calc((1100px - 100vw) / 2)}}.cabinet-shell{display:grid;grid-template-columns:264px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start;padding-bottom:24px}.cabinet-side{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-card);padding:16px;position:-webkit-sticky;position:sticky;top:16px}.cabinet-user{gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:12px}.cabinet-avatar,.cabinet-user{display:flex;align-items:center}.cabinet-avatar{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:18px;justify-content:center;flex-shrink:0}.cabinet-name{font-weight:600;line-height:1.25;overflow-wrap:anywhere}.cabinet-email{font-size:12.5px;overflow-wrap:anywhere}.cabinet-nav{display:flex;flex-direction:column;gap:2px}.cabinet-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-radius:var(--r-btn);background:transparent;color:var(--text-muted);font:inherit;font-size:14px;text-align:left;cursor:pointer}.cabinet-nav-item:hover{background:hsla(0,0%,100%,.05);color:var(--text)}.cabinet-nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.cabinet-nav-icon{display:inline-flex;flex-shrink:0}.cabinet-nav-icon,.cabinet-nav-icon svg{width:18px;height:18px}.cabinet-nav-sep{border-top:1px solid var(--border);margin:10px 0 8px}.cabinet-nav-title{padding:2px 12px 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}a.cabinet-nav-item{text-decoration:none}.cabinet-nav-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;line-height:1.6;border-radius:var(--r-pill);padding:0 8px;flex-shrink:0}.cabinet-content{min-width:0}@media (max-width:900px){.cabinet-shell{grid-template-columns:1fr}.cabinet-side{position:static}.cabinet-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto}.cabinet-nav-sep,.cabinet-nav-title{display:none}.cabinet-nav-item{width:auto;white-space:nowrap}}.dropzone{border:2px dashed var(--border);border-radius:var(--r-card);background:var(--tile);padding:32px 24px;text-align:center;transition:border-color .15s ease,background .15s ease}.dropzone-active,.dropzone:hover{border-color:var(--accent)}.dropzone-active{background:var(--accent-soft)}.dropzone input[type=file]{display:none}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal-dialog{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-card);padding:16px 20px 20px;width:min(980px,100%);max-height:92vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}@keyframes dropzone-flash-kf{0%{border-color:var(--accent);background:var(--accent-soft)}to{border-color:var(--border);background:var(--tile)}}.dropzone-flash{animation:dropzone-flash-kf .9s ease-out}.upload-sending{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--tile)}.upload-sending-label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600}.upload-indeterminate{height:6px;border-radius:999px;background:var(--bg-elevated);overflow:hidden}.upload-indeterminate span{display:block;height:100%;width:40%;border-radius:999px;background:var(--accent);animation:upload-slide 1.1s ease-in-out infinite}@keyframes upload-slide{0%{margin-left:-40%}to{margin-left:100%}}.legal-doc{max-width:760px;line-height:1.65}.legal-doc h2{margin-top:28px;font-size:18px}.legal-doc ol,.legal-doc p,.legal-doc ul{margin-top:10px}.legal-doc ol,.legal-doc ul{padding-left:22px;display:flex;flex-direction:column;gap:6px}.legal-doc hr{border:none;border-top:1px solid var(--bg-elevated);margin-top:28px}.legal-doc table.legal-table{width:100%;margin-top:12px;border-collapse:collapse;font-size:14px}.legal-doc .legal-table td,.legal-doc .legal-table th{border:1px solid var(--bg-elevated);padding:8px 10px;text-align:left;vertical-align:top}.legal-doc .legal-table th{color:var(--text-muted);font-weight:600}form.stack{gap:12px;max-width:480px}.stack label,form.stack{display:flex;flex-direction:column}.stack label{gap:6px;font-size:14px;font-weight:600}.stack label:has(>input[type=checkbox]),.stack label:has(>input[type=radio]){flex-direction:row;align-items:center;gap:8px;font-weight:400}.stack input:not([type=checkbox]):not([type=radio]),.stack select,.stack textarea{width:100%;box-sizing:border-box}.stack button[type=submit]{width:100%;padding:12px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:600px){.form-grid-2{grid-template-columns:1fr}}.stack .license-option{border:1px solid var(--border);border-radius:var(--r-btn);background:var(--bg-elevated);padding:10px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.stack .license-option:hover{border-color:var(--accent)}.stack .license-option:has(>input:checked){border-color:var(--accent);background:var(--accent-soft)}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-btn);background:var(--bg-elevated);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}button{background:var(--accent);color:#fff;border:1px solid transparent;border-radius:var(--r-btn);cursor:pointer;font:inherit;font-weight:600;padding:8px 12px}button:hover{background:var(--accent-hover)}button:disabled{background:var(--bg-elevated);border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--bg-elevated)}.btn-ghost:disabled{background:transparent;color:var(--text-muted)}.btn-outline{background:transparent;border-color:var(--accent);color:var(--accent)}.btn-outline:hover{background:var(--accent-soft)}.btn-outline:disabled{background:transparent;border-color:var(--border);color:var(--text-muted)}.btn-danger{background:transparent;border-color:var(--red);color:var(--red)}.btn-danger:hover{background:rgba(235,90,90,.12)}.btn-danger:disabled{background:transparent;border-color:var(--border);color:var(--text-muted)}.search-box{position:relative;max-width:640px;margin:32px auto}.search-box form{display:flex;align-items:center}.search-box input{flex:1 1;width:100%;padding:14px 52px 14px 24px;border-radius:var(--r-pill);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:0 0 32px rgba(240,127,27,.22);transition:border-color .2s ease,box-shadow .2s ease}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 48px rgba(240,127,27,.45)}.search-box button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;min-width:38px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}.search-suggest{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:0 8px 32px rgba(0,0,0,.5),0 0 24px rgba(240,127,27,.15);z-index:10;overflow:hidden}.search-suggest div{padding:10px 20px;cursor:pointer}.search-suggest div:hover{background:rgba(240,127,27,.12)}table th{color:var(--text-muted);font-weight:600}.model-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-gap:24px;gap:24px;align-items:start}.model-meta{margin-top:16px;padding:16px 20px;display:grid;grid-gap:10px;gap:10px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--card);font-size:14px}.model-gallery-stage{height:480px;border-radius:var(--r-card);background:var(--tile);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center}.model-gallery-stage canvas,.model-gallery-stage>div{border-radius:var(--r-card)}.model-gallery-thumbs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.model-thumb{width:64px;height:48px;padding:0;border:1px solid var(--border);border-radius:var(--r-btn);background:var(--bg-elevated);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text-muted)}.model-thumb:hover{border-color:var(--accent);background:var(--bg-elevated)}.model-thumb img{width:100%;height:100%;object-fit:cover}.model-thumb-active,.model-thumb-active:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.model-aside h1{margin-top:0}.model-aside .muted a{color:var(--accent)}.model-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.model-tags .pill{cursor:default}@media (max-width:1000px){.model-layout{grid-template-columns:1fr}.model-gallery-stage{height:360px}}@media (max-width:600px){.site-header{flex-direction:column;align-items:flex-start;gap:8px}h1{font-size:26px}}