.admin{grid-template-columns:var(--nav-width) 1fr;height:100vh;display:grid}:root{--nav-width:240px}.warn{color:#ffb86b}.ok{color:#7ddc9f}.small{font-size:12px}.admin-nav{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:18px;min-height:0;padding:18px 12px;display:flex}.nav-brand{color:inherit;align-items:center;gap:8px;padding:0 8px;font-size:16px;font-weight:650;text-decoration:none;display:flex}.nav-tag{background:var(--raised);color:var(--muted);border-radius:6px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-items{flex:1;align-content:start;gap:2px;margin:0;padding:0;list-style:none;display:grid}.nav-foot{border-top:1px solid var(--line);gap:2px;padding-top:12px;display:grid}.nav-item{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-weight:550;text-decoration:none;display:flex}.nav-item:hover{background:var(--raised);color:var(--text)}.nav-item[aria-current=page]{background:var(--line);color:var(--text)}.nav-item svg{fill:currentColor;flex:none;width:18px;height:18px}.nav-item svg.stroke{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.nav-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.admin-main{min-width:0;overflow-y:auto}.page{max-width:1280px;padding:26px 32px 60px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head h1{font-size:26px}.page-head p{margin:4px 0 0}.page-head .primary{white-space:nowrap}.empty{color:var(--muted);text-align:center;margin:0;padding:40px 0}.todo-progress{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:10px;margin-bottom:18px;padding:16px;display:grid}.todo-bar{background:var(--line);border-radius:5px;height:10px;display:flex;overflow:hidden}.todo-bar-part.imported{background:#7ddc9f}.todo-bar-part.generated{background:#8fb8ff}.todo-bar-part.skipped{background:#6b6b75}.todo-legend{flex-wrap:wrap;gap:6px 18px;margin:0;font-size:13px;display:flex}.todo-legend strong{font-variant-numeric:tabular-nums}.todo-dot{background:var(--line);border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.todo-dot.imported{background:#7ddc9f}.todo-dot.generated{background:#8fb8ff}.todo-dot.skipped{background:#6b6b75}.todo-rarities{color:var(--muted);flex-wrap:wrap;gap:6px 20px;font-size:13px;display:flex}.todo-rarity{align-items:center;gap:8px;display:flex}.todo-table th span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;font-size:12px;font-weight:600;display:block}.todo-table tbody tr{cursor:default}.todo-table .breed-sub .rarity-pill{padding:0 6px;font-size:10px;line-height:16px}.coat-cell-name{font-weight:550}.status-select{width:auto;padding-top:6px;padding-bottom:6px;font-size:13px}.status-select.generated{color:#8fb8ff;border-color:#8fb8ff}.status-select.skipped{color:var(--muted)}.status-chip{white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-block}.status-chip.imported{color:#7ddc9f;background:#34c77026}.todo-actions{justify-content:flex-end;gap:6px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.prompt-list{gap:16px;display:grid}.prompt-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:18px;display:grid}.prompt-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.prompt-head h2{font-size:18px}.prompt-head p{margin:4px 0 0}.prompt-step{text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:650;color:var(--accent)!important;margin:0 0 4px!important}.prompt-meta{flex-wrap:wrap;gap:6px;display:flex;margin-top:8px!important}.prompt-meta span{background:var(--raised);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:12px}.prompt-text{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;max-height:520px;margin:0;padding:14px 16px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-y:auto}.prompt-text mark{color:var(--accent);background:#d4ff3a24;border-radius:4px;padding:0 2px}.prompt-note{color:var(--muted);margin:0;font-size:13px}.small-button{flex:none;padding:6px 12px;font-size:13px}.prompt-source{margin-top:18px}.prompt-section{margin-top:18px;font-size:20px}.prompt-section-note{margin:-8px 0 0}.prompt-source code{background:var(--raised);border-radius:5px;padding:1px 5px;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar input[type=search]{flex:240px;width:auto}.toolbar select{width:auto}.result-count{margin:0 0 8px;font-size:12px}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow-x:auto}.breed-table{border-collapse:collapse;width:100%}.breed-table th{text-align:left;border-bottom:1px solid var(--line);background:var(--raised);white-space:nowrap;padding:0}.breed-table td.hide-narrow{white-space:nowrap}.breed-table th button{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.breed-table th.num button{justify-content:flex-end}.breed-table th button:hover,.breed-table th[aria-sort] button{color:var(--text)}.breed-table th[aria-sort=ascending] button:after{content:"▲";font-size:9px}.breed-table th[aria-sort=descending] button:after{content:"▼";font-size:9px}.breed-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px 14px}.breed-table tbody tr{cursor:pointer}.breed-table tbody tr:hover{background:var(--raised)}.breed-table tbody tr:last-child td{border-bottom:0}.breed-table .num{text-align:right;font-variant-numeric:tabular-nums}.breed-cell{color:inherit;align-items:center;gap:12px;min-width:180px;text-decoration:none;display:flex}.breed-cell:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.breed-text{min-width:0;display:grid}.breed-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.breed-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12px;overflow:hidden}.photo-status{white-space:nowrap;align-items:center;gap:10px;font-size:13px;display:flex}.progress{background:var(--line);border-radius:3px;flex:none;width:56px;height:6px;position:relative;overflow:hidden}.progress:after{content:"";width:calc(var(--done) * 100%);background:#7ddc9f;border-radius:3px;position:absolute;inset:0}.breed-thumb{object-fit:cover;background:var(--raised);border-radius:8px;flex:none;width:38px;height:38px}.breed-thumb.placeholder{color:var(--muted);border:1px dashed #4a4a55;place-items:center;display:grid}.breed-thumb.placeholder svg{fill:currentColor;width:22px;height:22px}.rarity-pill{vertical-align:middle;white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.rarity-pill.common{color:#c4c4ce;background:#a0a0ac2e}.rarity-pill.uncommon{color:#8fb8ff;background:#4d90fe33}.rarity-pill.rare{color:#7ddc9f;background:#34c77033}.rarity-pill.very_rare{color:#c4a3ff;background:#a86eff38}.add-row{gap:8px;display:flex}.add-row input{flex:1;min-width:0}.add-row select{width:auto}.small-dialog{color:var(--text);background:0 0;border:0;padding:0}.small-dialog::backdrop{background:#000000b3}.small-dialog .card{width:min(400px,100vw - 32px)}.small-dialog h2{font-size:20px}.breadcrumb{color:var(--muted);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--text);text-decoration:underline}.breadcrumb [aria-current]{color:var(--text)}.breed-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.breed-head-main{align-items:center;gap:14px;min-width:0;display:flex}.breed-head .breed-thumb{border-radius:12px;width:56px;height:56px}.breed-head .breed-thumb.placeholder svg{width:30px;height:30px}.breed-head h1{flex-wrap:wrap;align-items:center;gap:10px;font-size:26px;display:flex}.breed-head p{margin:4px 0 0}.breed-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;padding:16px;display:grid}.breed-form .wide{grid-column:1/-1}.form-actions{justify-content:flex-end;display:flex}.form-actions .primary:disabled{opacity:.4;cursor:default}.coats{gap:14px;margin-top:28px;display:grid}.coats-head h3{margin:0;font-size:18px}.coats-head p{margin:4px 0 0}.coats>.warn{margin:0}.coat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:14px 16px 16px;display:grid}.coat-head{align-items:center;gap:8px;display:flex}.coat-name{flex:1;min-width:0;font-weight:600}.coat-head select{width:auto}.coat-warn{margin:-4px 0 0;font-size:13px}.icon-button{border:1px solid var(--line);background:var(--raised);cursor:pointer;border-radius:10px;flex:none;width:36px;height:38px}.icon-button:disabled{opacity:.3;cursor:default}.icon-button.danger:hover{border-color:var(--danger)}.photo-group{gap:6px;display:grid}.photo-group h4{margin:0}.sheet-head{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.sheet-head p{flex:260px;margin:0}.sheet-actions{gap:6px;display:flex}.photo-row{flex-wrap:wrap;gap:10px;display:flex}.photo{gap:4px;width:120px;margin:0;display:grid;position:relative}.photo.sheet{width:180px}.photo.head_sheet{width:120px}.photo-box{aspect-ratio:1;border:1px solid var(--line);cursor:zoom-in;background:#fff;border-radius:10px;place-items:center;width:100%;padding:0;display:grid;overflow:hidden}.photo.sheet .photo-box{aspect-ratio:3/2}.photo.head_sheet .photo-box{aspect-ratio:1}.photo-box img{object-fit:contain;width:100%;height:100%;display:block}.photo.empty .photo-box{background:var(--raised);color:var(--muted);cursor:pointer;border-style:dashed;font-size:13px}.photo.empty .photo-box:hover,.photo.over .photo-box{border-color:var(--accent);color:var(--text)}.photo-box.busy{background:var(--raised);color:var(--muted);cursor:progress;font-size:13px}.photo figcaption{color:var(--muted);font-size:12px;line-height:1.3}.photo-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.photo:hover .photo-actions,.photo:focus-within .photo-actions{opacity:1}.mini{color:#fff;cursor:pointer;background:#000000bf;border:0;border-radius:6px;padding:3px 7px;font-size:11px}.mini.danger{color:#ffb3b3}.photo-viewer{border:1px solid var(--line);background:var(--panel);max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:16px;padding:16px}.photo-viewer::backdrop{background:#000c}.photo-viewer img{object-fit:contain;background:#fff;border-radius:8px;max-width:min(1000px,100vw - 64px);max-height:calc(100vh - 110px);display:block}.photo-viewer p{margin:10px 0 0}.photo-viewer .chip-close{z-index:1;position:absolute}@media (width<=760px){.admin{grid-template-columns:1fr;height:auto}.admin-nav{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:4px;padding:10px 12px}.nav-brand{padding-right:8px}.nav-tag{display:none}.nav-items{flex:1;display:flex}.nav-foot{border:0;padding:0;display:flex}.nav-item span:not(.nav-count){display:none}.nav-items .nav-item span{display:inline}.admin-main{overflow:visible}.page{padding:20px 16px 40px}.hide-narrow{display:none}.breed-table th button,.breed-table td{padding-left:10px;padding-right:10px}.breed-sub{max-width:140px}.photo-status .progress{display:none}.photo{width:calc(50% - 5px)}.photo.sheet{width:100%}.photo.head_sheet{width:calc(50% - 5px)}}
