@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--surface-base: #f6f5f4;--surface-panel: #ffffff;--surface-raised: #ffffff;--surface-control: rgba(0, 0, 0, .04);--surface-soft: #fbfaf8;--text-primary: #1f1f1d;--text-secondary: #31302e;--text-muted: #615d59;--text-faint: #a39e98;--border-subtle: rgba(0, 0, 0, .08);--border-default: rgba(0, 0, 0, .12);--accent-primary: #0075de;--accent-hover: #005bab;--accent-focus: #097fe8;--accent-soft: #f2f9ff;--decor-sky: #62aef0;--decor-purple: #d6b6f6;--decor-pink: #ff64c8;--decor-orange: #dd5b00;--decor-teal: #2a9d99;--decor-green: #1aae39;--type-prompt: #0075de;--type-prompt-soft: #f2f9ff;--type-image: #8a4edb;--type-image-soft: #f7f0ff;--type-repo: #1aae39;--type-repo-soft: #eefbf1;--type-workflow: #dd5b00;--type-workflow-soft: #fff4ec;--type-favorite: #d88a00;--type-favorite-soft: #fff7e8;--type-all: #615d59;--type-all-soft: #f1efed;--font-card-title: 15.5px;--font-card-preview: 12.5px;--font-detail-body: 14.5px;--line-detail-body: 1.65;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--font-brand: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;background:var(--surface-base);color:var(--text-primary)}*{box-sizing:border-box}body{min-width:320px;min-height:100dvh;margin:0;background:var(--surface-base)}button,input{font:inherit}button{color:inherit}.app-shell{width:min(100%,1180px);min-height:100dvh;margin:0 auto;padding:var(--space-6)}.topbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,360px);gap:var(--space-4);align-items:center;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-panel)}.title-block{min-width:0}.brand-lockup{display:flex;align-items:center;gap:var(--space-3)}.brand-favicon{width:34px;height:34px;flex:0 0 auto;border-radius:8px}h1{margin:0;color:var(--text-primary);font-family:var(--font-brand);font-size:24px;font-weight:600;font-optical-sizing:auto;letter-spacing:-.015em;line-height:1.1}.section-stack{display:grid;gap:var(--space-6)}.content-panel{min-height:160px;padding:var(--space-4);border:1px solid var(--border-default);border-radius:8px;background:var(--surface-panel)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.section-heading-main{display:flex;min-width:0;align-items:baseline;gap:var(--space-2)}.section-heading h2{margin:0;color:var(--text-primary);font-size:18px;font-weight:650;line-height:1.3}.section-heading span{color:var(--text-muted);font-size:12px;line-height:1.4}.search-control{display:flex;min-height:40px;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-muted)}.search-control input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-secondary)}.search-control input::placeholder{color:var(--text-muted)}.add-button,.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button,.section-add-button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:510;line-height:1.4}.add-button:hover,.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.danger-button:hover,.icon-button:hover,.section-add-button:hover{border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);color:var(--text-primary)}.primary-button{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--surface-panel)}.danger-button{color:var(--text-primary)}.danger-button:hover{border-color:color-mix(in srgb,#b42318 44%,transparent);color:#b42318}.ghost-button{border-color:transparent;background:transparent;color:var(--text-secondary)}.icon-button,.section-add-button{width:36px;padding:0}.icon-button.active{border-color:color-mix(in srgb,var(--accent-primary) 40%,transparent);color:var(--accent-hover)}.topbar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.danger-button:focus-visible,.icon-button:focus-visible,.section-add-button:focus-visible,.tab-button:focus-visible,.tag-chip:focus-visible,.gallery-card a:focus-visible,.card-open-button:focus-visible,.star-indicator:focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.62}.tabbar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 var(--space-6)}.tab-button{display:inline-flex;min-height:36px;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:510;line-height:1.4;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out}.tab-button svg{flex:0 0 auto;color:var(--type-all)}.tab-button[data-tab-tone=favorite] svg{color:var(--type-favorite)}.tab-button[data-tab-tone=prompt] svg{color:var(--type-prompt)}.tab-button[data-tab-tone=image] svg{color:var(--type-image)}.tab-button[data-tab-tone=workflow] svg{color:var(--type-workflow)}.tab-button[data-tab-tone=repo] svg{color:var(--type-repo)}.tab-button.active{border-color:color-mix(in srgb,var(--accent-primary) 44%,transparent);background:var(--accent-soft);color:var(--accent-hover)}.tab-button.active svg{color:var(--accent-hover)}.tab-button:hover{border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);background:var(--accent-soft)}.tag-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-6)}.tag-chip{min-height:32px;max-width:min(100%,220px);padding:0 var(--space-3);overflow:hidden;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-panel);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:510;line-height:1.4;text-overflow:ellipsis;transition:background-color .12s ease-out,border-color .12s ease-out,color .12s ease-out;white-space:nowrap}.tag-chip:hover,.tag-chip.selected{border-color:color-mix(in srgb,var(--accent-primary) 48%,transparent);color:var(--text-primary)}.tag-chip.selected{background:var(--accent-soft);color:var(--accent-hover)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,248px),264px));gap:var(--space-3);justify-content:start}.image-masonry-grid{display:block;column-count:4;column-gap:var(--space-3)}.gallery-card{display:grid;min-height:210px;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:8px;background:var(--surface-panel);transition:border-color .16s ease-out,box-shadow .16s ease-out,transform .16s ease-out}.card-masonry{display:flex;align-items:flex-start;gap:var(--space-3)}.masonry-column{display:flex;min-width:0;flex:1 1 0;flex-direction:column;gap:var(--space-3)}.gallery-card[data-card-type=image_prompt]{align-content:start}.image-masonry-grid .gallery-card[data-card-type=image_prompt]{width:100%;margin:0 0 var(--space-3);break-inside:avoid}.gallery-card:hover,.gallery-card:has(.card-open-button:focus-visible){border-color:color-mix(in srgb,var(--accent-hover) 34%,transparent);box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000f;transform:translateY(-2px)}.card-topline,.card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-actions,.modal-action-group{display:inline-flex;align-items:center;gap:var(--space-2)}.copy-status{display:inline-flex;min-height:24px;align-items:center;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-panel);color:var(--text-muted);font-size:12px;line-height:1.4;white-space:nowrap}.card-toast{box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000f}.type-badge{display:inline-flex;flex:0 0 auto;min-height:24px;align-items:center;gap:var(--space-1);padding:0 var(--space-2);border:1px solid var(--border-default);border-radius:999px;color:var(--text-secondary);font-size:12px;font-weight:510;line-height:1.4;white-space:nowrap}.type-badge svg{flex:0 0 auto}.type-badge.prompt{border-color:color-mix(in srgb,var(--type-prompt) 45%,transparent);background:var(--type-prompt-soft);color:var(--type-prompt)}.type-badge.image{border-color:color-mix(in srgb,var(--type-image) 42%,transparent);background:var(--type-image-soft);color:var(--type-image)}.type-badge.workflow{border-color:color-mix(in srgb,var(--type-workflow) 42%,transparent);background:var(--type-workflow-soft);color:var(--type-workflow)}.type-badge.repo{border-color:color-mix(in srgb,var(--type-repo) 42%,transparent);background:var(--type-repo-soft);color:var(--type-repo)}.type-badge.neutral{border-color:var(--border-default);background:var(--type-all-soft);color:var(--type-all)}.star-indicator{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-muted);cursor:pointer}.star-indicator.active{border-color:color-mix(in srgb,var(--accent-primary) 40%,transparent);color:var(--accent-hover)}.star-indicator:hover{border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);color:var(--text-primary)}.card-open-button{display:grid;width:100%;gap:var(--space-3);padding:0;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;text-align:left}.card-open-button:hover h3{color:var(--accent-hover)}.gallery-card h3{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-primary);font-size:var(--font-card-title);font-weight:700;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:1}.card-preview{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-muted);font-size:var(--font-card-preview);line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.tag-chip-editor{display:grid;gap:var(--space-2)}.card-tags{display:flex;max-height:52px;overflow:hidden;flex-wrap:wrap;gap:var(--space-1);align-content:start;align-items:flex-start}.gallery-card:not([data-card-type=image_prompt]) .card-tags{max-height:50px}.card-tag{display:inline-flex;max-height:22px;max-width:min(100%,136px);align-items:center;gap:var(--space-1);padding:2px var(--space-2);overflow:hidden;border-radius:5px;background:var(--surface-control);color:var(--text-muted);font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.editable-tag,.tag-add-button,.tag-add-select{border:1px solid var(--border-subtle);cursor:pointer;font:inherit}.editable-tag:hover,.tag-add-button:hover{border-color:color-mix(in srgb,var(--accent-primary) 40%,transparent);color:var(--text-primary)}.readonly-tag{opacity:.86}.tag-add-button{display:inline-flex;width:fit-content;min-height:24px;align-items:center;gap:var(--space-1);padding:0 var(--space-2);border-radius:999px;background:var(--surface-panel);color:var(--text-muted);font-size:12px;line-height:1.4}.tag-add-button:disabled{cursor:not-allowed;opacity:.5}.tag-add-select{width:min(100%,160px);min-height:28px;border-radius:6px;background:var(--surface-panel);color:var(--text-secondary);font-size:12px}.card-footer{color:var(--text-muted);font-size:12px;line-height:1.4}.card-status-footer:empty{display:none}.card-footer a{color:var(--text-secondary);text-decoration:none}.card-footer a:hover{color:var(--text-primary)}.empty-copy{margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}.image-preview{display:grid;gap:var(--space-3)}.image-preview.compact{gap:var(--space-2)}.image-preview-frame{display:grid;min-height:168px;overflow:hidden;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-control)}.image-preview-frame.dragging{border-color:color-mix(in srgb,var(--accent-primary) 60%,transparent);background:color-mix(in srgb,var(--accent-primary) 8%,var(--surface-control))}.image-preview.compact .image-preview-frame{min-height:0}.image-preview.compact .image-preview-empty{min-height:132px}.image-preview-frame img{width:100%;height:100%;object-fit:cover}.image-preview.compact .image-preview-frame img{height:auto;max-height:420px;object-fit:contain}.image-preview-empty{display:grid;min-height:100%;place-items:center;gap:var(--space-2);padding:var(--space-4);color:var(--text-muted);font-size:13px;line-height:1.4;text-align:center}.image-preview.compact .image-preview-empty{padding:var(--space-3);font-size:12px}.image-preview-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.file-control{position:relative;display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:0 var(--space-3);overflow:hidden;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:510;line-height:1.4}.file-control:hover{border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);color:var(--text-primary)}.file-control input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-control:has(input:disabled){cursor:not-allowed;opacity:.62}.file-name,.preview-help{margin:0;color:var(--text-muted);font-size:12px;line-height:1.4}.upload-progress{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:12px;line-height:1.4}.upload-progress progress{width:96px;accent-color:var(--accent-primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:var(--space-6);background:#000000a3}.item-modal{display:grid;width:min(100%,620px);max-height:min(760px,calc(100dvh - var(--space-8)));margin:auto;gap:var(--space-4);padding:var(--space-4);overflow:auto;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-raised);color:var(--text-primary)}.item-modal::backdrop{background:#000000a3}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.modal-header{display:flex;min-width:0;flex-direction:column;gap:var(--space-2)}.modal-header-top{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3)}.modal-header-actions{display:inline-flex;min-width:0;flex:0 0 auto;align-items:center;gap:var(--space-2)}.modal-header h2{display:-webkit-box;overflow:hidden;margin:0;color:var(--text-primary);font-size:16px;font-weight:650;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:1}.form-grid,.detail-stack{display:grid;gap:var(--space-3)}.form-grid label,.form-field,.readonly-field{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:13px;font-weight:510;line-height:1.4}.readonly-field strong,.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;padding:var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-primary);font:inherit}.form-grid input,.form-grid select,.form-grid textarea{outline:0}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:color-mix(in srgb,var(--accent-primary) 48%,transparent)}.detail-body,.detail-notes,.form-error,.delete-warning{margin:0;color:var(--text-secondary);font-size:var(--font-detail-body);line-height:var(--line-detail-body);white-space:pre-wrap}.detail-notes{font-size:13px;line-height:1.5;color:var(--text-muted)}.detail-divider{height:1px;background:var(--border-subtle)}.detail-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-muted);font-size:12px;line-height:1.4}.detail-meta .detail-link{min-height:0;padding:0;border:0;background:none;color:var(--text-muted);font-size:12px}.detail-meta .detail-link:hover{border-color:transparent;color:var(--accent-primary)}.modal-toast{width:fit-content;justify-self:end}.detail-link{display:inline-flex;width:fit-content;min-height:32px;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-secondary);font-size:13px;font-weight:510;line-height:1.4;text-decoration:none}.detail-link:hover{border-color:color-mix(in srgb,var(--accent-hover) 45%,transparent);color:var(--text-primary)}.workflow-step-editor,.workflow-steps{display:grid;gap:var(--space-3)}.workflow-steps{margin:0;padding:0;list-style:none}.workflow-step-row{display:grid;grid-template-columns:minmax(112px,.7fr) minmax(0,1fr) auto;gap:var(--space-2);align-items:end}.workflow-steps li{display:grid;grid-template-columns:32px 82px minmax(0,1fr);align-items:start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control);color:var(--text-secondary);font-size:13px;line-height:1.5}.workflow-steps strong{color:var(--text-primary);font-weight:590}.workflow-step-position{display:inline-flex;min-height:24px;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:5px;color:var(--text-muted);font-size:12px;line-height:1.4}.form-error,.delete-warning{padding:var(--space-3);border:1px solid color-mix(in srgb,var(--accent-primary) 40%,transparent);border-radius:6px;background:color-mix(in srgb,var(--accent-primary) 12%,transparent);color:var(--text-primary)}.tag-management-modal{width:min(100%,920px)}.tag-management-help{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5}.tag-management-list{display:grid;gap:var(--space-3)}.tag-management-row{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-control)}.tag-management-row-heading,.tag-management-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.tag-management-row-heading strong{color:var(--text-primary);font-weight:590}.tag-source-badge{display:inline-flex;min-height:22px;align-items:center;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-raised);color:var(--text-muted);font-size:12px;line-height:1.4}.tag-management-row-heading span:last-child,.tag-row-status{color:var(--text-muted);font-size:12px;line-height:1.4}.tag-color-dot{width:14px;height:14px;border:1px solid var(--border-default);border-radius:99px}.tag-management-grid{display:grid;grid-template-columns:minmax(120px,.8fr) 96px minmax(180px,1.2fr) minmax(140px,.9fr);gap:var(--space-3)}.tag-create-grid{grid-template-columns:minmax(120px,.8fr) 96px minmax(180px,1.2fr) minmax(120px,.7fr)}.tag-management-grid label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:13px;font-weight:510;line-height:1.4}.tag-management-grid input,.tag-management-grid select{width:100%;min-width:0;min-height:36px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:6px;background:var(--surface-raised);color:var(--text-primary);font:inherit}.tag-management-grid input[type=color]{padding:4px}.tag-create-actions{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-2)}@media(max-width:860px){.app-shell{padding:var(--space-4)}.topbar{grid-template-columns:minmax(0,1fr) auto}.search-control{grid-column:1 / -1}.topbar-actions{flex-wrap:nowrap;justify-content:flex-end}.topbar-actions .primary-button span,.topbar-actions .ghost-button span{display:none}.topbar-actions .primary-button,.topbar-actions .ghost-button{width:40px;padding:0}}@media(max-width:680px){.topbar{grid-template-columns:auto 1fr;align-items:center}.topbar h1{font-size:20px}.search-control{grid-column:1 / -1;width:100%}.tab-button{flex:0 1 auto;justify-content:center;white-space:nowrap}.tag-chip{max-width:min(100%,168px)}.gallery-card{min-height:190px}.gallery-card:not([data-card-type=image_prompt]){min-height:190px}.image-masonry-grid{column-count:1}.modal-backdrop{align-items:end;padding:var(--space-3)}.item-modal{max-height:calc(100dvh - var(--space-6))}.modal-actions{flex-wrap:wrap}.tag-management-grid{grid-template-columns:1fr}}@media(min-width:681px)and (max-width:959px){.image-masonry-grid{column-count:2}}@media(min-width:960px)and (max-width:1120px){.image-masonry-grid{column-count:3}}@media(prefers-reduced-motion:reduce){.tab-button,.tag-chip,.card-open-button,.gallery-card{transition:none}}
