:root{--bg:#f4f6f4;--surface:#ffffff;--surface-soft:#eef2ef;--surface-strong:#dfe6e1;--ink:#141a16;--muted:#657268;--faint:#9ba7a0;--line:#d7dfd9;--line-strong:#b9c6bd;--accent:#087c73;--accent-strong:#055f58;--accent-soft:#d9f0ec;--danger:#be2d21;--warning:#a36a08;--success:#227354;--surface-inverse:#10231d;--surface-inverse-strong:#081511;--ink-inverse:#f2faf5;--muted-inverse:#b8c8bf;--focus-ring:rgba(8,124,115,0.16);--shadow:0 24px 60px rgba(20,26,22,0.1);--shadow-soft:0 12px 32px rgba(20,26,22,0.07);--shadow-tight:0 6px 18px rgba(20,26,22,0.08);color-scheme:light}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;color:var(--ink);background:linear-gradient(180deg,rgba(255,255,255,.86) 0,rgba(244,246,244,.92) 42%,rgba(238,242,239,.88) 100%),repeating-linear-gradient(90deg,rgba(20,26,22,.028) 0 1px,transparent 1px 72px),var(--bg);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.app-shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.5rem;border-bottom:1px solid rgba(215,223,217,.88);background:rgba(249,251,249,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:.75rem;min-width:15rem}.brand-mark{display:inline-grid;width:2.25rem;height:2.25rem;place-items:center;border:1px solid rgba(201,212,204,.9);border-radius:.65rem;background:#fff;box-shadow:var(--shadow-tight)}.brand small,.brand strong{display:block}.brand strong{font-size:.95rem;font-weight:760;letter-spacing:0}.brand small{margin-top:.1rem;color:var(--muted);font-size:.72rem}.main-nav{gap:.35rem;padding:.25rem;border:1px solid rgba(209,218,211,.94);border-radius:.85rem;background:rgba(255,255,255,.74);box-shadow:0 10px 28px rgba(20,26,22,.05)}.main-nav,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:.6rem}.nav-link{display:inline-flex;align-items:center;gap:.42rem;min-height:2.25rem;padding:0 .75rem;border-radius:.65rem;color:var(--muted);font-size:.9rem;font-weight:680;white-space:nowrap;transition:color .16s ease,background .16s ease,box-shadow .16s ease}button.nav-link{border:1px solid rgba(209,218,211,.86);background:rgba(255,255,255,.72)}.nav-link:hover{color:var(--ink);background:rgba(255,255,255,.82)}.nav-link.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 0 rgba(255,255,255,.9),0 8px 22px rgba(20,26,22,.07)}.main-content{width:min(1500px,100%);margin:0 auto;padding:1.35rem 1.5rem 2.75rem}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.1rem 0 1.1rem}.page-heading h1{margin:0;font-size:2.35rem;letter-spacing:0;line-height:1.12}.page-heading p{margin:.45rem 0 0;max-width:42rem;color:var(--muted);font-size:.95rem;line-height:1.65}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.45rem;border:1px solid rgba(205,215,208,.95);border-radius:.68rem;background:rgba(255,255,255,.88);color:var(--ink);font-weight:720;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.button{padding:0 .95rem}.icon-button{width:2.45rem;padding:0}.button:hover,.icon-button:hover{transform:translateY(-1px);border-color:var(--line-strong);background:#fff;box-shadow:var(--shadow-tight)}.button.primary{border-color:#101713;background:#101713;color:#fff;box-shadow:0 10px 24px rgba(16,23,19,.16)}.button.primary:hover{border-color:var(--accent-strong);background:var(--accent-strong);box-shadow:0 14px 30px rgba(5,95,88,.2)}.button.ghost,.icon-button.ghost{background:transparent}.button.subtle{background:rgba(238,242,239,.84)}.button.danger,.icon-button.danger{border-color:rgba(190,45,33,.22);color:var(--danger)}.button.danger:hover,.icon-button.danger:hover{border-color:rgba(190,45,33,.44);background:rgba(255,240,238,.92)}.button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.input,.select,.textarea{width:100%;border:1px solid rgba(200,211,203,.92);border-radius:.68rem;background:rgba(255,255,255,.95);color:var(--ink);outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input,.select{min-height:2.6rem;padding:0 .85rem}.textarea{min-height:8.5rem;resize:vertical;padding:.75rem;line-height:1.6}.command-box{display:block;overflow-x:auto;padding:.75rem;border:1px solid var(--line);border-radius:.55rem;background:#171717;color:#f8f4ec;font-size:.84rem;line-height:1.55;white-space:nowrap}.update-log{max-height:18rem;white-space:pre-wrap}.input:focus,.select:focus,.textarea:focus{border-color:rgba(8,124,115,.64);background:#fff;box-shadow:0 0 0 3px var(--focus-ring)}.field{display:grid;grid-gap:.5rem;gap:.5rem}.field label,.field-label{color:#566259;font-size:.78rem;font-weight:760;letter-spacing:.01em}.field-hint{color:var(--muted);font-size:.78rem;line-height:1.5}.settings-subsection{display:grid;grid-gap:.85rem;gap:.85rem;padding:1rem;border:1px solid rgba(210,220,213,.88);border-radius:.85rem;background:rgba(248,251,248,.72)}.settings-subsection h3{margin:0;font-size:1rem}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.button-row{display:flex;flex-wrap:wrap;gap:.65rem}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.4rem;gap:.4rem;padding:.3rem;border:1px solid rgba(205,215,208,.95);border-radius:.8rem;background:rgba(238,242,239,.84)}.segmented.two{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button{min-height:2.1rem;border:1px solid transparent;border-radius:.6rem;background:transparent;color:var(--muted);font-weight:720}.segmented button.active{border-color:rgba(200,211,203,.95);background:#fff;color:var(--ink);box-shadow:var(--shadow-tight)}.panel{min-width:0;border:1px solid rgba(210,220,213,.96);border-radius:.85rem;background:rgba(255,255,255,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 18px 42px rgba(20,26,22,.065)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem .9rem;border-bottom:1px solid rgba(218,226,220,.88);border-radius:.85rem .85rem 0 0;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,249,247,.82))}.panel-header h2,.panel-header h3{margin:0;font-size:.98rem;font-weight:780;line-height:1.2}.panel-header p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}.panel-body{padding:1rem}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.badge{display:inline-flex;align-items:center;gap:.35rem;min-height:1.65rem;padding:0 .5rem;border:1px solid rgba(205,215,208,.9);border-radius:999px;background:rgba(238,242,239,.88);color:var(--muted);font-size:.76rem;font-weight:720;white-space:nowrap}.badge.success{border-color:rgba(35,112,79,.26);background:rgba(35,112,79,.1);color:var(--success)}.badge.warning{border-color:rgba(161,98,7,.26);background:rgba(161,98,7,.1);color:var(--warning)}.badge.danger{border-color:rgba(180,35,24,.26);background:rgba(180,35,24,.1);color:var(--danger)}.badge.neutral{border-color:rgba(95,108,100,.22);background:rgba(95,108,100,.1);color:#516058}.empty-state{display:grid;min-height:14rem;place-items:center;border:1px dashed rgba(165,180,169,.95);border-radius:.85rem;background:rgba(248,250,248,.66);color:var(--muted);text-align:center}.empty-state strong{display:block;margin-bottom:.35rem;color:var(--ink)}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));grid-gap:.9rem;gap:.9rem}.image-card{position:relative;overflow:hidden;border:1px solid rgba(210,220,213,.96);border-radius:.8rem;background:var(--surface);box-shadow:var(--shadow-soft);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.image-card.selectable.selected{border-color:rgba(8,124,115,.58);box-shadow:0 0 0 3px rgba(8,124,115,.12),var(--shadow-soft)}.image-select-control{position:absolute;z-index:2;top:.6rem;left:.6rem;display:inline-flex;align-items:center;width:2rem;height:2rem;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.64);border-radius:999px;background:rgba(255,255,255,.86);color:var(--ink);font-size:.72rem;font-weight:760;opacity:0;pointer-events:none;transform:translateY(-.25rem);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .16s ease,transform .16s ease,background .16s ease,border-color .16s ease}.history-selecting .image-select-control,.image-card.selectable.selected .image-select-control,.image-card.selectable:hover .image-select-control,.image-select-control:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.image-card.selectable.selected .image-select-control{border-color:rgba(8,124,115,.4);background:rgba(239,248,245,.96)}.image-select-control input{width:.95rem;height:.95rem;accent-color:var(--accent)}.image-card:hover{border-color:rgba(161,178,166,.95);box-shadow:var(--shadow);transform:translateY(-1px)}.image-frame-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:left}.image-frame-button.selected .image-frame{outline:3px solid rgba(15,95,88,.52);outline-offset:-3px}.image-frame{position:relative;aspect-ratio:1/1;overflow:hidden;background:#e7ede8}.image-frame.tall{aspect-ratio:2/3}.image-frame.wide{aspect-ratio:3/2}.image-frame img{width:100%;height:100%;object-fit:cover}.selected-image-badge{position:absolute;top:.55rem;left:.55rem;display:inline-flex;align-items:center;min-height:1.65rem;padding:0 .55rem;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(20,20,18,.72);color:#fff;font-size:.72rem;font-weight:750;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-card-body{display:grid;grid-gap:.7rem;gap:.7rem;padding:.85rem}.image-prompt{display:-webkit-box;min-height:2.9rem;overflow:hidden;color:#59665e;font-size:.84rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-actions{display:flex;flex-wrap:wrap;gap:.4rem}.status-dot{width:.52rem;height:.52rem;border-radius:999px;background:var(--faint)}.status-dot.processing{background:var(--warning)}.status-dot.succeeded{background:var(--success)}.status-dot.failed{background:var(--danger)}.status-dot.canceled{background:#6c7870}.toast-line{min-height:1.25rem;color:var(--muted);font-size:.85rem}.toast-line.error{color:var(--danger)}.workbench-layout{display:grid;grid-template-columns:minmax(19rem,24rem) minmax(0,1fr) minmax(19rem,24rem);grid-gap:1rem;gap:1rem;align-items:stretch;min-width:0}.mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.45rem;gap:.45rem;padding:.35rem;border:1px solid rgba(205,215,208,.95);border-radius:.9rem;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(236,242,238,.94)),#eef2ef;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 10px 24px rgba(32,29,24,.04)}.mode-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:0;min-height:2.8rem;border:1px solid transparent;border-radius:.7rem;background:transparent;color:#59665e;font-size:.95rem;font-weight:760;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.mode-tabs button:hover{border-color:rgba(181,195,185,.9);background:rgba(255,255,255,.58);color:var(--ink)}.mode-tabs button.active{border-color:#101713;background:#101713;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 26px rgba(16,23,19,.18);transform:translateY(-1px)}.mode-tabs button.active svg{color:#9ee7dc}.form-stack,.stats-grid,.template-list{display:grid;grid-gap:.9rem;gap:.9rem}.oauth-callback-panel{display:grid;grid-gap:.7rem;gap:.7rem;padding:.85rem;border:1px solid rgba(205,215,208,.95);border-radius:.75rem;background:rgba(238,242,239,.78)}.oauth-callback-panel small{color:var(--muted);line-height:1.6}.oauth-callback-input{min-height:5.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem}.queue-panel{display:flex;flex-direction:column;max-height:calc(100vh - 8.8rem);overflow:hidden}.queue-panel .panel-header{flex:0 0 auto}.queue-list{display:grid;align-content:start;grid-gap:.85rem;gap:.85rem;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:.35rem}.queue-list::-webkit-scrollbar{width:.45rem}.queue-list::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(93,110,99,.28)}.auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,26rem);grid-gap:1.25rem;gap:1.25rem;align-items:center;min-height:calc(100vh - 8rem)}.auth-copy{display:grid;grid-gap:.85rem;gap:.85rem;max-width:42rem}.auth-copy h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1.08;letter-spacing:0}.auth-copy p{margin:0;color:var(--muted);font-size:1rem;line-height:1.8}.auth-card{width:100%}.auth-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-tabs.single{grid-template-columns:1fr}.switch-row{display:flex;align-items:center;gap:.7rem;min-height:2.75rem;padding:.6rem .75rem;border:1px solid rgba(205,215,208,.95);border-radius:.75rem;background:rgba(255,255,255,.72)}.switch-row input{width:1.05rem;height:1.05rem;accent-color:var(--accent)}.switch-row small,.switch-row strong{display:block}.switch-row small{margin-top:.15rem;color:var(--muted);font-size:.78rem}.admin-subsection{display:grid;grid-gap:.75rem;gap:.75rem;padding-top:.15rem}.admin-create-user-details{border:1px solid rgba(205,215,208,.95);border-radius:.8rem;background:rgba(238,242,239,.78)}.admin-create-user-details summary{display:inline-flex;align-items:center;gap:.45rem;min-height:2.6rem;padding:0 .8rem;cursor:pointer;color:var(--ink);font-weight:700}.admin-create-user{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(11rem,1.2fr) minmax(9rem,1fr) minmax(8rem,.75fr) minmax(9rem,1fr) minmax(7rem,.7fr) auto;grid-gap:.55rem;gap:.55rem;align-items:end;padding:.75rem;border-top:1px solid var(--line)}.admin-grid{display:grid;grid-gap:.45rem;gap:.45rem;overflow-x:auto}.admin-grid-groups{grid-template-columns:minmax(12rem,1fr) minmax(9rem,12rem) auto}.admin-grid-users{grid-template-columns:minmax(14rem,1fr) minmax(8rem,10rem) minmax(10rem,12rem) minmax(7rem,9rem) auto auto}.admin-grid-head{color:var(--muted);font-size:.78rem;font-weight:760}.admin-grid-row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;grid-gap:.45rem;gap:.45rem;padding:.55rem;border:1px solid rgba(205,215,208,.95);border-radius:.75rem;background:rgba(255,255,255,.74)}.admin-grid-row.new-row{background:rgba(238,242,239,.84)}.compact-field{gap:.25rem}.compact-field small{color:var(--muted);font-size:.78rem}.advanced{border-top:1px solid rgba(218,226,220,.88);padding-top:.75rem}.advanced summary{cursor:pointer;color:var(--muted);font-weight:760}.advanced-fields{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:.85rem}.sidebar-generate-button{width:100%;min-height:2.9rem;font-size:.95rem;border-radius:.78rem}.upload-target{display:grid;grid-gap:.65rem;gap:.65rem;place-items:center;min-height:9rem;padding:.85rem;border:1px dashed rgba(165,180,169,.95);border-radius:.85rem;background:rgba(238,242,239,.78);color:var(--muted);text-align:center;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.upload-target.dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-soft));color:var(--ink);transform:translateY(-1px)}.upload-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.upload-actions .button{min-height:2.25rem;padding-inline:.85rem}.field-label-row,.quota-hint,.source-purpose-row,.template-variable-heading{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.field-label-row{justify-content:space-between}.mini-button{min-height:2rem;padding-inline:.65rem;border-radius:999px;font-size:.74rem}.template-production-card,.template-variable-panel{display:grid;grid-gap:.7rem;gap:.7rem;padding:.8rem;border:1px solid rgba(205,215,208,.95);border-radius:.85rem;background:rgba(248,251,249,.9)}.template-production-card>div{display:flex;align-items:center;gap:.5rem;min-width:0}.template-production-card strong{min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.quota-hint,.source-purpose-row,.template-production-card p,.template-production-card>span,.template-variable-heading span{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.template-variable-heading{justify-content:space-between}.template-variable-heading strong{color:var(--ink);font-size:.88rem}.required-mark{color:var(--danger)}.compact-textarea{min-height:5rem}.source-purpose-row{padding:.55rem .65rem;border:1px solid rgba(205,215,208,.8);border-radius:.72rem;background:rgba(255,255,255,.65)}.source-purpose-row strong{padding:.15rem .5rem;border-radius:999px;background:rgba(235,243,239,.9);color:var(--accent-strong);font-size:.76rem}.quota-hint{justify-content:center;padding:.2rem .4rem}.quota-hint strong{color:var(--ink)}.upload-preview{width:100%;max-height:13rem;border-radius:.7rem;object-fit:cover}.source-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));grid-gap:.5rem;gap:.5rem;padding:.5rem;width:100%}.source-preview-grid .upload-preview{width:100%;height:5rem;max-height:5rem;border-radius:.4rem;object-fit:cover}.source-preview-grid .chat-reference-preview{display:flex;flex-direction:column;align-items:center;gap:.25rem}.source-preview-grid .icon-button{position:absolute;top:.15rem;right:.15rem}.results-panel{min-height:37rem}.conversation-panel{display:flex;flex-direction:column;min-height:44rem;max-height:calc(100vh - 8.8rem);overflow:hidden}.conversation-panel .panel-header{flex:0 0 auto}.conversation-body{flex:1 1 auto;min-height:0;padding:0;overflow:hidden}.conversation-window{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0}.fixed-prompt-panel{display:grid;grid-gap:.65rem;gap:.65rem;padding:.85rem 1rem;border-bottom:1px solid rgba(218,226,220,.9);background:rgba(250,252,250,.92)}.fixed-prompt-panel.enabled{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,#fff),rgba(255,255,255,.92))}.fixed-prompt-actions,.fixed-prompt-editor-actions,.fixed-prompt-title{display:flex;align-items:center;gap:.5rem;min-width:0}.fixed-prompt-title{justify-content:space-between}.fixed-prompt-actions,.fixed-prompt-editor-actions{flex-wrap:wrap;justify-content:flex-end}.fixed-prompt-panel p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:.84rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.fixed-prompt-editor{display:grid;grid-gap:.65rem;gap:.65rem}.fixed-prompt-editor .textarea{min-height:5.5rem}.fixed-prompt-editor .select{min-width:min(100%,14rem)}.conversation-thread{display:grid;align-content:start;grid-gap:1rem;gap:1rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:1rem;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(247,250,247,.78))}.message-row{display:flex}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{display:grid;grid-gap:.65rem;gap:.65rem;min-width:0;width:min(100%,28rem);padding:.8rem;border:1px solid rgba(210,220,213,.96);border-radius:.85rem;background:rgba(255,255,255,.94);box-shadow:var(--shadow-soft)}.message-bubble.multi-image-message{width:min(100%,42rem)}.message-row.user .message-bubble{border-color:rgba(9,39,31,.92);background:radial-gradient(circle at top right,rgba(21,87,69,.32),transparent 42%),linear-gradient(135deg,var(--surface-inverse),var(--surface-inverse-strong));color:var(--ink-inverse)}.message-row.user .message-bubble .badge{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.1);color:var(--ink-inverse)}.message-row.user .message-bubble .badge.success{border-color:rgba(102,211,158,.28);background:rgba(34,115,84,.24);color:#96ebc4}.message-row.user .message-bubble .badge.warning{border-color:rgba(231,175,70,.3);background:rgba(163,106,8,.24);color:#ffd689}.message-row.user .message-bubble .badge.danger{border-color:rgba(247,125,111,.3);background:rgba(190,45,33,.24);color:#ffb1a8}.message-row.user .message-bubble .badge.neutral{border-color:rgba(215,226,219,.18);background:rgba(255,255,255,.1);color:var(--muted-inverse)}.message-bubble p{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.65}.message-fixed-prompt{display:grid;grid-gap:.25rem;gap:.25rem;padding:.55rem .65rem;border:1px solid rgba(191,210,201,.8);border-radius:.7rem;background:rgba(244,248,245,.86);color:var(--muted)}.message-fixed-prompt span{color:var(--accent-strong);font-size:.78rem;font-weight:800}.message-fixed-prompt em,.message-fixed-prompt small{display:-webkit-box;overflow:hidden;color:inherit;font-size:.78rem;font-style:normal;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.message-row.user .message-fixed-prompt{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.1);color:var(--muted-inverse)}.message-row.user .message-fixed-prompt span{color:#c7fff3}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:.65rem;color:var(--muted);font-size:.8rem;font-weight:700}.message-meta-actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.retry-task-button,.stop-task-button{min-height:1.85rem;padding:0 .55rem;border-radius:999px;font-size:.76rem}.message-row.user .retry-task-button,.message-row.user .stop-task-button{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.12);color:var(--ink-inverse)}.message-row.user .message-meta{color:var(--muted-inverse)}.message-bubble .image-card{box-shadow:none}.message-bubble .image-card:hover{box-shadow:var(--shadow-tight)}.message-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.message-image-grid .image-card{min-width:0}.image-lightbox-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:1.4rem;background:rgba(16,16,14,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-lightbox{position:relative;display:grid;max-width:min(94vw,72rem);max-height:92vh;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:.9rem;background:#111;box-shadow:0 24px 80px rgba(0,0,0,.34)}.image-lightbox img{display:block;max-width:100%;max-height:88vh;object-fit:contain}.image-lightbox-close{position:absolute;z-index:1;top:.75rem;right:.75rem;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;flex:0 0 auto;min-width:0;padding:1rem;border-top:1px solid rgba(218,226,220,.9);background:rgba(255,255,255,.86);transition:background .16s ease,box-shadow .16s ease}.chat-composer.dragging{background:color-mix(in srgb,var(--accent) 9%,#fff);box-shadow:inset 0 0 0 1px var(--accent)}.chat-reference-strip{display:flex;grid-column:1/-1;align-items:center;gap:.55rem;min-width:0}.chat-reference-strip small{overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.chat-upload-button{min-height:2.25rem}.chat-attachment-grid{display:grid;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));grid-gap:.55rem;gap:.55rem}.chat-attachment-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.55rem;gap:.55rem;align-items:center;padding:.48rem;border:1px solid rgba(205,215,208,.95);border-radius:.75rem;background:rgba(255,255,255,.88)}.chat-attachment-card.primary{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,#fff)}.chat-attachment-card img{width:3.25rem;height:3.25rem;border-radius:.5rem;object-fit:cover}.chat-attachment-card span,.chat-attachment-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment-card strong{font-size:.82rem}.chat-attachment-card span{color:var(--muted);font-size:.76rem}.chat-attachment-actions{display:flex;grid-column:1/-1;align-items:center;gap:.4rem}.chat-attachment-actions .button{min-height:1.9rem;padding-inline:.58rem;border-radius:999px;font-size:.74rem}.chat-attachment-actions .button.active{border-color:color-mix(in srgb,var(--accent) 60%,var(--line));background:color-mix(in srgb,var(--accent) 11%,#fff);color:var(--accent-strong)}.chat-reference-preview,.message-reference-card{display:inline-grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;max-width:100%;padding:.35rem;border:1px solid rgba(205,215,208,.95);border-radius:.7rem;background:rgba(255,255,255,.9);color:var(--ink)}.chat-reference-preview img,.message-reference-card img{width:2.4rem;height:2.4rem;border-radius:.4rem;object-fit:cover}.chat-reference-preview span,.message-reference-card span{color:var(--ink);font-weight:750}.message-reference-card{grid-template-columns:auto minmax(0,1fr);width:min(100%,18rem)}.message-reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));grid-gap:.5rem;gap:.5rem;max-width:min(100%,34rem)}.message-reference-grid .message-reference-card{width:100%}.message-reference-card small{display:block;overflow:hidden;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.chat-composer .textarea{min-height:4.5rem}.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.compare-cell{display:grid;grid-gap:.5rem;gap:.5rem}.compare-cell span{color:var(--muted);font-size:.82rem;font-weight:650}.queue-item,.stat-card,.template-item{border:1px solid rgba(210,220,213,.96);border-radius:.8rem;background:rgba(255,255,255,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.queue-item{display:grid;grid-gap:.55rem;gap:.55rem;min-width:0;padding:.85rem;width:100%;color:inherit;text-align:left}.conversation-list-item{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.conversation-list-item.active,.conversation-list-item:hover{border-color:rgba(8,124,115,.42);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.conversation-list-item.active{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(239,248,245,.92))}.conversation-list-item strong{overflow:hidden;font-size:.92rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.conversation-item-actions,.template-item-actions{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.conversation-item-actions .icon-button,.template-item-actions .icon-button{width:2rem;min-height:2rem;border-radius:.6rem}.queue-item-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}.queue-item-top .badge{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-prompt{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.82rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.history-toolbar{display:grid;grid-template-columns:minmax(12rem,1fr) 12rem 12rem auto;align-items:end;grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.history-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.history-action-button{min-height:2.6rem;border-radius:.72rem;white-space:nowrap}.history-action-button.primary{box-shadow:0 8px 18px rgba(16,23,19,.12)}.template-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}.template-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,26rem);grid-gap:1rem;gap:1rem;align-items:start}.inspiration-panel{margin-bottom:1rem}.inspiration-body{display:grid;grid-gap:.95rem;gap:.95rem}.inspiration-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.scene-pill{min-height:2rem;padding:0 .7rem;border:1px solid rgba(205,215,208,.9);border-radius:999px;background:rgba(248,250,248,.8);color:var(--muted);font:inherit;font-size:.8rem;font-weight:760;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.scene-pill:hover{transform:translateY(-1px);border-color:rgba(20,117,94,.36);color:var(--ink)}.scene-pill.active{border-color:rgba(4,42,32,.9);background:#0c1612;color:#fff;box-shadow:0 8px 18px rgba(16,23,19,.12)}.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.85rem;gap:.85rem}.inspiration-card{display:grid;grid-gap:.7rem;gap:.7rem;padding:1rem;border:1px solid rgba(210,220,213,.96);border-radius:.85rem;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,250,247,.88));box-shadow:0 10px 24px rgba(23,36,29,.06)}.inspiration-card h3{margin:0;font-size:1rem}.inspiration-card p,.inspiration-card small{margin:0;color:var(--muted);line-height:1.55}.inspiration-card small{font-size:.82rem}.effect-direction{display:grid;grid-gap:.25rem;gap:.25rem;padding:.72rem;border:1px solid rgba(195,211,201,.92);border-radius:.72rem;background:rgba(242,247,244,.86)}.effect-direction strong,.prompt-breakdown summary{color:var(--ink);font-size:.78rem;font-weight:820}.effect-direction span{color:var(--muted);font-size:.84rem;line-height:1.52}.prompt-breakdown{overflow:hidden;border:1px solid rgba(211,220,214,.92);border-radius:.72rem;background:rgba(255,255,255,.72)}.prompt-breakdown summary{display:flex;align-items:center;gap:.45rem;padding:.65rem .72rem;cursor:pointer}.prompt-breakdown summary::marker{content:""}.breakdown-grid{display:grid;grid-gap:0;gap:0;border-top:1px solid rgba(218,226,220,.72)}.breakdown-row{display:grid;grid-template-columns:4.2rem minmax(0,1fr);grid-gap:.55rem;gap:.55rem;padding:.58rem .72rem;border-bottom:1px solid rgba(225,231,227,.72)}.breakdown-row:last-child{border-bottom:0}.breakdown-row span{color:var(--muted);font-size:.75rem;font-weight:760}.breakdown-row strong{color:var(--ink);font-size:.78rem;font-weight:680;line-height:1.48}.source-case-panel{margin-bottom:1rem}.source-case-body{display:grid;grid-gap:1rem;gap:1rem}.case-filter-grid{display:grid;grid-template-columns:minmax(18rem,1fr) repeat(3,minmax(10rem,13rem));grid-gap:.75rem;gap:.75rem;align-items:end}.case-search-field{min-width:0}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;top:50%;left:.85rem;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-with-icon .input{padding-left:2.35rem}.case-pagination,.case-result-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.82rem}.source-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.source-case-card{overflow:hidden;display:grid;border:1px solid rgba(210,220,213,.96);border-radius:.9rem;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(23,36,29,.06)}.source-case-image{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:rgba(238,242,239,.92)}.source-case-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}.source-case-card:hover .source-case-image img{transform:scale(1.025)}.source-case-image span{position:absolute;left:.6rem;bottom:.6rem;display:inline-flex;align-items:center;min-height:1.55rem;padding:0 .5rem;border-radius:999px;background:rgba(10,17,14,.74);color:#fff;font-size:.72rem;font-weight:760;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.source-case-content{display:grid;grid-gap:.72rem;gap:.72rem;padding:.9rem}.source-case-content h3{margin:0;font-size:1rem;line-height:1.35}.source-case-content>p{overflow:hidden;display:-webkit-box;min-height:4.5rem;margin:0;color:var(--muted);font-size:.82rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.case-tag-row{display:flex;flex-wrap:wrap;gap:.38rem}.case-tag-row span{min-height:1.45rem;padding:0 .45rem;border:1px solid rgba(205,215,208,.8);border-radius:999px;background:rgba(246,249,247,.86);color:var(--muted);font-size:.72rem;font-weight:720;line-height:1.45rem}.prompt-breakdown.compact summary{padding-block:.55rem}.case-prompt-text{max-height:12rem;overflow:auto;margin:0;padding:.72rem;border-top:1px solid rgba(218,226,220,.72);color:var(--muted);font-size:.78rem;line-height:1.55;white-space:pre-wrap}.template-item{display:grid;grid-gap:.65rem;gap:.65rem;padding:.95rem}.template-item h3{margin:0;font-size:1rem}.template-item p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{padding:1rem;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.stat-card:hover{border-color:rgba(161,178,166,.95);box-shadow:var(--shadow-tight);transform:translateY(-1px)}.stat-card span{color:var(--muted);font-size:.82rem;font-weight:720}.stat-card strong{display:block;margin-top:.5rem;font-size:1.85rem;letter-spacing:0}.popular-list{display:grid;grid-gap:.65rem;gap:.65rem}.popular-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:1rem;gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(218,226,220,.9)}.popular-row span,.popular-row strong{min-width:0;overflow-wrap:anywhere}.popular-row:last-child{border-bottom:0}@media (max-width:1180px){.workbench-layout{grid-template-columns:minmax(18rem,24rem) minmax(0,1fr)}.case-filter-grid,.inspiration-grid,.source-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-panel{grid-column:1/-1}}@media (max-width:860px){.topbar{position:static;align-items:stretch;flex-direction:column}.brand{min-width:0}.topbar-actions{align-items:stretch;flex-direction:column}.main-nav{overflow-x:auto;justify-content:flex-start}.main-content{padding:1rem}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:2rem}.auth-layout,.case-filter-grid,.compare-grid,.inspiration-grid,.source-case-grid,.template-layout,.workbench-layout{grid-template-columns:1fr}.queue-list{max-height:32rem}.history-toolbar,.template-toolbar{grid-template-columns:1fr}.history-actions{justify-content:flex-start}.case-pagination,.case-result-bar{align-items:flex-start;flex-direction:column}.admin-create-user,.chat-composer,.field-row,.message-image-grid,.stats-grid{grid-template-columns:1fr}.message-bubble.multi-image-message{width:min(100%,30rem)}.admin-grid-groups,.admin-grid-row,.admin-grid-users{grid-template-columns:1fr}.admin-grid-head{display:none}}