@font-face{font-family:'Z CJK';src:url('fonts/NotoSansCJKtc-Regular.otf') format('opentype');font-display:swap}
:root{color-scheme:dark;--bg:#181817;--surface:#222220;--line:#373733;--text:#f0eee7;--muted:#afaea5;--accent:#ef6245;--serif:Georgia,'Z CJK',serif;--sans:Arial,'Z CJK',sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--sans)}
button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#ef624570}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.skip-link{position:fixed;top:-80px;left:16px;z-index:100;background:var(--accent);padding:12px}.skip-link:focus{top:10px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:24px 4.5%;border-bottom:1px solid var(--line);gap:24px}
.brand{display:flex;align-items:center;gap:13px;font-size:19px;font-weight:800;letter-spacing:1px;line-height:1.3}.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);font-weight:400;margin-top:5px}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#191916;width:48px;height:48px;font-size:33px;font-weight:800;line-height:1}.brand-mark span{font-size:19px;align-self:flex-start;margin-top:5px;margin-left:-3px}.brand-mark.small{width:36px;height:36px;font-size:22px;flex-shrink:0}
.site-header nav{display:flex;gap:30px;margin-left:auto;margin-right:auto}.nav-tab{position:relative;color:var(--muted);padding:12px 5px;font-weight:600}.nav-tab span{margin-left:8px;font-size:11px;font-weight:400}.nav-tab.active{color:var(--text)}.nav-tab.active:after{content:'';position:absolute;bottom:-25px;height:3px;background:var(--accent);left:0;right:0}
.model-label{font:11px ui-monospace,'Z CJK',monospace;color:var(--muted);display:flex;align-items:center;gap:8px}.model-label i{width:6px;height:6px;background:var(--accent);border-radius:50%}
main{max-width:1800px;margin:auto;padding:0 4.5%}.intro{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:62px 0 48px}.eyebrow{font:10px/1.6 ui-monospace,'Z CJK',monospace;letter-spacing:1.7px;color:var(--muted)}
.intro h1{font:500 clamp(38px,4.7vw,72px)/1.2 var(--serif);letter-spacing:-2px;margin:22px 0}.intro h1 span{color:var(--accent)}.intro-copy{font-size:14px;line-height:1.9;color:var(--muted);margin:0}
.collection-meta{border-left:1px solid var(--line);padding-left:32px;min-width:240px;display:flex;flex-direction:column;color:var(--muted);font-size:12px}.meta-label{font:9px ui-monospace,'Z CJK',monospace;letter-spacing:1.8px}.collection-meta strong{font:60px/1.3 var(--serif);color:var(--text);margin:5px 0}.collection-meta b{font-weight:400;margin-left:25px}.collection-meta #progress{font-size:11px;margin-top:16px;color:var(--accent)}
.toolbar{display:flex;gap:10px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.search-wrap{display:flex;align-items:center;gap:14px;max-width:700px;flex:1;background:var(--surface);border:1px solid #3c3c37;border-radius:7px;padding:0 16px;height:46px}.search-wrap>span{font-size:26px;color:var(--muted)}.search-wrap input{border:none;outline:none;min-width:0;width:100%;background:transparent}.search-wrap:focus-within{border-color:var(--accent)}input::placeholder{color:#929288}input::-webkit-search-cancel-button{display:none}kbd{border:1px solid #48483f;padding:0 6px;border-radius:3px;color:var(--muted);font-size:11px}
.outline-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid #44443c;padding:10px 17px;min-height:42px;border-radius:6px;font-size:12px;white-space:nowrap}.outline-button:hover{border-color:var(--muted);background:#ffffff08}.primary-button{background:var(--accent);border-color:var(--accent);color:#181817;font-weight:700}.toolbar #category-toggle{margin-left:auto}
.category-panel{display:flex;flex-wrap:wrap;gap:8px;padding:23px 0;border-bottom:1px solid var(--line)}.category-chip{border:1px solid var(--line);border-radius:5px;padding:8px 13px;font-size:12px;color:var(--muted)}.category-chip span{font:10px ui-monospace,'Z CJK',monospace;opacity:.7;margin-left:12px}.category-chip.active{color:var(--accent);border-color:var(--accent);background:#ef624510}
.results-line{display:flex;justify-content:space-between;align-items:center;margin:27px 0 22px;font-size:11px;color:var(--muted)}#result-count{margin-left:18px;padding-left:18px;border-left:1px solid var(--line)}.results-note{font-size:11px}
.masonry{column-count:4;column-gap:20px}.case-card{position:relative;break-inside:avoid;display:inline-block;width:100%;margin-bottom:24px}.case-open{text-align:left;width:100%;padding:0;display:block}.case-media{width:100%;position:relative;overflow:hidden;border-radius:8px;background:#252522}.case-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.case-open:hover img{transform:scale(1.035)}
.image-category{position:absolute;bottom:12px;left:12px;color:#fff;background:#181817b8;backdrop-filter:blur(8px);font-size:10px;letter-spacing:.4px;padding:4px 9px;border:1px solid #ffffff25;border-radius:3px;opacity:0;transition:opacity .2s}.case-open:hover .image-category,.case-open:focus-visible .image-category{opacity:1}
.card-caption{padding:12px 2px 0}.card-template{font-size:10px;letter-spacing:.5px;color:var(--muted)}.card-title{font-size:13px;font-weight:500;line-height:1.6;margin:4px 0 0;color:var(--text);padding-right:8px;overflow-wrap:anywhere}
.save-button{position:absolute;top:10px;right:10px;display:grid;place-items:center;background:#181817a8;backdrop-filter:blur(8px);border:1px solid #ffffff30;border-radius:50%;width:33px;height:33px;font-size:22px;color:white}.save-button[aria-pressed=true]{color:var(--accent);background:#181817de}.save-button:hover{background:#181817}
.pending{display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#242420,#242420 1px,#21211e 1px,#21211e 14px);color:#9b9b8e;min-height:180px;gap:14px}.pending-mark{font:italic 70px var(--serif);color:#55554b}.pending-label{font:11px var(--sans)}.pending .image-category{opacity:1}
.empty-state{padding:70px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);margin-bottom:30px}.error-banner{padding:18px;background:#ef624515;border:1px solid var(--accent);margin-bottom:24px}
.collection-footnote{border-top:1px solid var(--line);padding:34px 0;display:flex;align-items:center;gap:18px;margin-top:30px}.collection-footnote strong{font-size:13px;font-weight:500}.collection-footnote p{font-size:11px;color:var(--muted);margin:3px 0 0}.collection-footnote>.eyebrow{margin-left:auto}
footer{display:flex;align-items:center;gap:30px;justify-content:space-between;border-top:1px solid var(--line);padding:24px 4.5%;font-size:10px;color:var(--muted)}footer p{max-width:650px;line-height:1.8;margin:0}footer>span{flex-shrink:0}footer>span:last-child{font:9px ui-monospace,'Z CJK',monospace;letter-spacing:1px}
dialog{color:var(--text);background:var(--bg);border:1px solid #45453e;border-radius:12px;padding:0;width:min(1250px,94vw);max-height:92vh;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}
.dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:2}.dialog-bar>div{display:flex;gap:7px}.dialog-bar button{font-size:22px;width:36px;height:36px;border:1px solid var(--line);border-radius:5px}
#detail-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.detail-visual{background:#101010;display:flex;align-items:center;justify-content:center;min-height:450px;overflow:auto;position:sticky;top:66px;height:calc(92vh - 68px)}.zoom-button{padding:20px;position:relative;width:100%;height:100%;cursor:zoom-in}.zoom-button img{object-fit:contain;display:block;width:100%;height:100%;max-height:100%}.zoom-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;border-radius:5px;background:#000b;padding:8px 14px;color:#ddd}.detail-visual.zoomed{display:block}.zoomed .zoom-button{width:max-content;height:max-content;min-width:100%;cursor:zoom-out;padding:0}.zoomed img{width:auto;height:auto;max-height:none;max-width:none}.zoomed .zoom-hint{display:none}
.detail-info{padding:28px 32px;min-width:0}.detail-info h2{font:500 27px/1.4 var(--serif);margin:12px 0 20px}.detail-info h3{font-size:12px;font-weight:500;margin:26px 0 12px}.adaptation{color:var(--muted);font-size:13px;line-height:1.9}.prompt{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,'Z CJK',monospace;padding:18px;border:1px solid var(--line);border-radius:5px;background:#22221e;max-height:280px;overflow:auto;color:#d4d3c9}
.parameters{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:5px;overflow:hidden}.parameters div{padding:11px 12px;background:var(--surface);min-width:0}.parameters dt{font:10px ui-monospace,'Z CJK',monospace;color:var(--muted);margin-bottom:4px}.parameters dd{font:12px ui-monospace,'Z CJK',monospace;margin:0;overflow-wrap:anywhere}.downloads{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.detail-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:22px}
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);box-shadow:0 5px 30px #0006;padding:12px 22px;border-radius:7px;font-size:12px;z-index:100;max-width:90vw}
@media(min-width:1600px){.masonry{column-count:5}}
@media(max-width:1100px){.masonry{column-count:3}.collection-footnote>.eyebrow{display:none}footer{flex-wrap:wrap}footer p{order:3;max-width:none}}
@media(max-width:760px){
.site-header{padding:18px 5%;gap:14px}.site-header nav{margin:0 0 0 auto;gap:16px}.model-label{display:none}.brand{font-size:16px}.brand small{font-size:7px;letter-spacing:1px}.brand-mark{width:38px;height:38px;font-size:28px}.nav-tab span{display:none}.nav-tab.active:after{bottom:-20px}
main{padding:0 5%}.intro{padding:38px 0 32px;gap:20px}.intro h1{font-size:41px;letter-spacing:-1px}.intro-copy{font-size:12px}.collection-meta{min-width:0;padding-left:18px;font-size:10px;width:145px}.collection-meta strong{font-size:42px}.collection-meta b{display:block;margin:0}.meta-label{font-size:8px;letter-spacing:.6px}
.toolbar{gap:8px;flex-wrap:wrap;padding:16px 0}.search-wrap{max-width:none;flex-basis:100%}.toolbar #category-toggle{margin-left:0}.masonry{column-count:2;column-gap:14px}.case-card{margin-bottom:20px}.results-note{display:none}.results-line{margin:22px 0 18px}.card-title{font-size:12px}.card-template{font-size:9px}.image-category{display:none}.save-button{width:30px;height:30px;top:7px;right:7px}
.collection-footnote{align-items:flex-start}.collection-footnote p{line-height:1.8}footer{padding:22px 5%;gap:12px}dialog{width:96vw;max-height:95vh}.dialog-bar{padding:10px 16px}#detail-body{grid-template-columns:1fr}.detail-visual{position:relative;top:0;height:50vh;min-height:240px}.detail-info{padding:20px}.detail-info h2{font-size:25px}.zoom-button{padding:15px}.pending-mark{font-size:52px}.pending-label{font-size:9px}.pending{min-height:130px}}
@media(max-width:420px){.intro{display:block}.collection-meta{display:none}.intro h1{font-size:43px}.masonry{column-gap:12px}.brand{gap:8px}.site-header nav{gap:9px}.nav-tab{font-size:12px}.downloads .outline-button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
