:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#f6f4ed;background:#080d17;color-scheme:dark}*{box-sizing:border-box}body{margin:0}header{padding:26px 5vw;border-bottom:1px solid #263044;display:flex;gap:25px;align-items:center}.brand{color:#ffcf63;font-size:26px;text-decoration:none;font-weight:900}.brand span{color:#e1e3ea;font-size:12px;letter-spacing:2px}.tag{margin-left:auto;font-size:11px;letter-spacing:2px;color:#9ca6b9}main{max-width:1300px;padding:35px;margin:auto}.intro{padding:20px 0 35px}.eyebrow{font-size:11px;letter-spacing:3px;color:#ffcf63;font-weight:700}h1{font-size:clamp(45px,6vw,78px);line-height:1.05;margin:18px 0;letter-spacing:-3px}h1 em{color:#ffcf63;font-style:normal}p{color:#aab4c5;line-height:1.6}h2{font-size:24px;margin:12px 0 20px}h3{font-size:18px;margin-top:30px}.card{background:#111a29;border:1px solid #293449;border-radius:15px;padding:28px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.grid .card{margin:0 0 24px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}label{display:block;color:#c7cfdd;font-size:13px;margin:12px 0}input,select{display:block;width:100%;padding:12px;margin-top:7px;background:#080e1a;border:1px solid #384256;border-radius:6px;font:inherit;color:#f8f6f1}input[type=checkbox]{display:inline;width:auto;margin-right:8px}button{background:#ffcf63;border:0;color:#171206;border-radius:6px;padding:12px 19px;cursor:pointer;font:600 13px Segoe UI;margin:7px 0}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#243047;color:#e7ecf5}.actions,.bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.bar{justify-content:space-between}.lap{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;align-items:end;border-bottom:1px solid #283345;padding:6px 0}.lap button{margin-bottom:12px}a{color:#ffcf63}.admin-link{display:block;margin-top:24px;font-size:13px}#message:not(:empty){padding:15px 20px;background:#243047;border-radius:8px;color:white}#signin{max-width:520px}#graphicImage{display:block;max-width:100%;max-height:950px;margin:auto;border:1px solid #37435a}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;padding:10px;border-bottom:1px solid #334058}#comparison{overflow:auto}.item{border-bottom:1px solid #283345;padding:10px 0;font-size:13px;overflow-wrap:anywhere}.item button{margin-left:10px}footer{padding:25px;text-align:center;font-size:10px;letter-spacing:2px;color:#6d7d97}[hidden]{display:none!important}@media(max-width:650px){main{padding:20px}.card{padding:20px}.lap{grid-template-columns:1fr 1fr}.tag{display:none}header{padding:20px}.brand span{font-size:9px}}
textarea{display:block;width:100%;padding:15px;background:#080e1a;border:1px solid #384256;border-radius:8px;font:15px Segoe UI;color:#f8f6f1;resize:vertical}details{margin:15px 0 25px}summary{cursor:pointer;color:#ffcf63;padding:15px 0}.agent-area{border-color:#5a4c30;background:linear-gradient(150deg,#141d2c,#0d1422)}.agent-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.agent-badge{font-size:11px;border:1px solid #5e523c;border-radius:20px;color:#ffcf63;padding:9px 15px}.agent-start{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid #293449;padding-bottom:20px}.agent-start>div{flex:1;min-width:250px}.agent-thread{max-height:650px;overflow:auto;padding:24px 6px;display:flex;flex-direction:column;gap:18px}.chat-bubble{max-width:88%;border-radius:14px;padding:18px 22px}.chat-bubble strong{font-size:12px;letter-spacing:.5px;color:#ffcf63}.chat-bubble p{white-space:pre-wrap;color:#e1e6ee;margin:10px 0 0;overflow-wrap:anywhere}.from-agent{align-self:flex-start;background:#1b283e;border:1px solid #35435c}.from-user{align-self:flex-end;background:#31311f;border:1px solid #6b5b32}.chat-bubble small{display:block;color:#aab4c5;margin-top:10px}.agent-review{margin-top:25px;border:1px solid #8c753e;background:#0a101c;padding:20px;border-radius:10px}.review-scroll{overflow:auto}.attachment-label{flex:1}.attachment-label input{font-size:12px}#agentThinking{color:#ffcf63}#agentHistory{margin-top:15px}#agentEmpty{padding:15px 0}#agentEmpty p{max-width:800px}@media(max-width:650px){.agent-heading{display:block}.agent-badge{display:inline-block;margin-bottom:12px}.chat-bubble{max-width:96%;padding:15px}.agent-start>div{min-width:100%}}
.model-picker{border-top:1px solid #34415a;margin-top:18px;padding-top:12px}.model-current{color:#ffcf63;font-weight:600}.model-description{font-size:13px;min-height:20px}.model-hint{font-size:12px}.model-picker select{min-height:145px}.model-picker option{padding:8px}.model-drawer{border:1px solid #35425b;border-radius:9px;padding:0 18px}.model-drawer summary{font-weight:600}
.model-policy{border:1px solid #42506a;border-radius:8px;margin:22px 0 0;padding:15px}.model-policy legend{color:#ffcf63;font-weight:600;font-size:13px}.model-policy p{font-size:12px}.model-policy label{display:flex;align-items:center;gap:8px}.model-policy input[type=checkbox]{margin:0}
.background-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin:20px 0}.background-card{min-width:0;border:1px solid #344156;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}.background-card.selected{border:2px solid #ffd366;background:#1e2b40}.background-pick{padding:0;overflow:hidden;width:100%;text-align:left}.background-pick img{width:100%;height:180px;object-fit:cover;object-position:top;display:block}.background-pick span{display:block;padding:10px;overflow-wrap:anywhere}.background-card p{font-size:.85rem;margin:0}.background-error{color:#ffb2a5}#backgroundCreator summary{cursor:pointer;font-weight:700;margin:16px 0}#backgroundLibrary{margin-top:20px}#backgroundLibrary .fields{margin-top:16px}
/* Floating conversation: only the message history scrolls; controls stay reachable. */
.agent-launcher{position:fixed;right:24px;bottom:22px;z-index:40;box-shadow:0 10px 35px #0008;max-width:min(390px,calc(100vw - 32px));text-align:left;border:1px solid #b9984e;border-radius:15px;padding:16px 22px}.agent-launcher span,.agent-launcher small{display:block}.agent-launcher small{font-size:11px;margin-top:5px;max-width:330px}.agent-launcher.is-working:before{content:'';display:inline-block;width:9px;height:9px;background:#171206;border-radius:50%;margin-right:8px;animation:agent-pulse 1.3s infinite}.agent-panel{position:fixed;right:22px;bottom:22px;width:440px;height:min(790px,calc(100dvh - 44px));max-width:calc(100vw - 32px);min-width:320px;min-height:350px;background:#101a2a;border:1px solid #78633b;border-radius:17px;box-shadow:0 18px 65px #000b;z-index:50;display:flex;flex-direction:column;overflow:hidden}.agent-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#1c2940;border-bottom:1px solid #3d4960;flex-shrink:0}.agent-panel-header strong{color:#ffcf63}.agent-panel-header small{display:block;font-size:11px;color:#b4bfd0;margin-top:5px}.agent-panel-header button{padding:9px 12px;margin:0}.agent-panel-tools{display:flex;gap:6px;flex-wrap:wrap;padding:5px 12px;flex-shrink:0}.agent-panel-tools button{font-size:11px;padding:8px 10px;margin:3px 0}.agent-panel .model-drawer{margin:0 12px;flex-shrink:0;max-height:36%;overflow:auto}.agent-panel .model-drawer summary{font-size:12px;padding:9px 0}.agent-panel .model-picker{margin-top:0;padding-top:0}.agent-panel #agentActive{display:flex;flex-direction:column;flex:1;min-height:0}.agent-panel .agent-thread{flex:1;min-height:50px;max-height:none;overflow:auto;overscroll-behavior:contain;padding:14px 12px;gap:12px}.agent-panel .chat-bubble{max-width:95%;padding:12px 14px;font-size:13px}.agent-panel .chat-bubble p{line-height:1.5}.agent-panel #agentForm{padding:10px 14px;background:#121e31;border-top:1px solid #34435c;flex-shrink:0}.agent-panel #agentForm>label{font-size:12px;margin:0 0 6px}.agent-panel textarea{font-size:13px;padding:10px;min-height:64px;max-height:120px;resize:vertical}.agent-panel #agentForm .actions{gap:6px;flex-wrap:nowrap;align-items:center}.agent-panel #agentForm button{padding:10px 12px;font-size:12px;white-space:nowrap}.agent-panel .attachment-label{font-size:11px;margin:6px 0}.agent-panel .attachment-label input{padding:5px;font-size:10px;max-width:180px}.agent-panel #agentAttachment{font-size:11px;margin:0;max-height:32px;overflow:auto}.agent-panel #agentPanelEmpty{padding:20px;overflow:auto}.agent-progress{display:flex;gap:10px;align-items:center;padding:10px 14px;background:#262b2e;border-top:1px solid #665a3d;flex-shrink:0}.agent-progress strong{font-size:12px;color:#ffe09a}.agent-progress small{display:block;font-size:10px;color:#c9c3b5;margin-top:4px}.activity-spinner{width:16px;height:16px;border:2px solid #6a634d;border-top-color:#ffd46c;border-radius:50%;animation:agent-spin .9s linear infinite;flex-shrink:0}#agentChatError{color:#ffd0c5;background:#3e2529;font-size:12px;margin:0;padding:10px 14px;max-height:100px;overflow:auto;flex-shrink:0}#agentExternalWork{font-size:11px;margin:0;padding:8px 14px;color:#ffdb8b}.conversation-history{margin:8px 0}.conversation-history summary{font-size:13px;padding:10px 0}.background-library{padding:0 22px}.background-library>summary{font-weight:700;padding:16px 0}.background-library>summary span{font-size:12px;color:#b4bfd0;margin-left:12px;font-weight:400}.background-library .background-cards{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.background-library .background-pick img{height:110px}.background-library[open]{padding-bottom:20px}#agentReview{scroll-margin-top:20px}#agentContext{margin-top:15px}#reviewBackgroundName{font-size:13px;color:#ffcf63}.signed-in .intro{padding:0 0 14px}.signed-in .intro h1{font-size:38px;letter-spacing:-1px}.signed-in main{padding-bottom:110px}.agent-area>p{font-size:13px}.agent-heading h2{margin-bottom:10px}
@keyframes agent-spin{to{transform:rotate(360deg)}}@keyframes agent-pulse{50%{opacity:.25}}
@media(max-width:600px){.agent-panel{right:8px;bottom:8px;width:calc(100vw - 16px);max-width:none;min-width:0;height:calc(100dvh - 16px);border-radius:12px}.agent-launcher{right:12px;bottom:12px}.agent-panel .attachment-label input{max-width:145px}.agent-panel-tools button{padding:7px 8px}.background-library .background-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.signed-in .intro h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){.activity-spinner,.agent-launcher.is-working:before{animation:none}}
.agent-quick-replies{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;border-top:1px solid #3a4963;padding-top:8px}.agent-panel .agent-quick-replies button{margin:0;padding:9px 19px;font-size:12px;min-width:62px}.agent-reply-hint{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:11px;color:#ffdc90;margin-bottom:8px}.agent-reply-hint span{max-height:52px;overflow:auto}.agent-panel #agentForm .agent-reply-hint button{font-size:10px;padding:6px 9px;flex-shrink:0}
.self-run-start{margin:20px 0;border-bottom:1px solid #293449;padding-bottom:12px}.self-run-start h3{margin-top:12px}.self-run-start p{font-size:13px}.manual-run-lap{display:grid;grid-template-columns:110px repeat(4,minmax(115px,1fr)) auto;gap:10px;align-items:end;border-bottom:1px solid #334058;padding:8px 0}.manual-run-lap button{margin-bottom:12px}.run-history-item{border-top:1px solid #34415a;margin:0;padding:5px 0}.run-history-item summary{font-size:14px;line-height:1.5}.run-history-item p{font-size:12px}.run-image-status{color:#ffdb8d}#manualRunStatus{font-size:13px}#runHistoryStatus{font-size:13px}@media(max-width:950px){.manual-run-lap{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.manual-run-lap{grid-template-columns:repeat(2,minmax(0,1fr))}.run-history-item summary{font-size:13px}}
/* App navigation and compact, responsive workspace. */
header{position:sticky;top:0;z-index:45;min-height:76px;padding:14px max(20px,calc((100vw - 1230px)/2));background:#0b1220f5;backdrop-filter:blur(16px);gap:18px}.session-identity{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0;max-width:45%}.session-avatar{display:grid;place-items:center;background:#26354a;color:#ffd26a;width:34px;height:34px;border-radius:50%;font-size:12px;flex-shrink:0}.session-identity>div{min-width:0}.session-identity span#sessionEmail{display:block;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-identity small{display:block;font-size:11px;color:#9eacc2;margin-top:3px}.signed-in header .tag{display:none}.signed-in .intro{display:none}.signed-in main{padding-top:24px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.workspace-heading h2{font-size:17px;color:#b4c0d3;font-weight:500;overflow-wrap:anywhere}.workspace-heading button{padding:9px 14px}.workspace-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 14px;margin-bottom:18px;border-bottom:1px solid #2a374d;scrollbar-width:thin;scroll-padding-inline:8px}.workspace-tab{background:transparent;color:#aebbd0;display:flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;border:1px solid transparent;border-radius:10px;margin:0;padding:13px 18px;min-height:46px;font-size:14px}.workspace-tab svg{width:20px;height:20px;flex-shrink:0}.workspace-tab[aria-selected=true]{color:#ffdb88;background:#2d2b23;border-color:#6d5835}.workspace-tab:hover{background:#1c293e;filter:none}.workspace-panel{min-width:0;outline-offset:5px}.workspace-panel>.card{margin-top:0!important}.workspace-panel .agent-area{border-color:#303e55}.workspace-panel #backgroundLibrary>summary{display:none}.workspace-panel #backgroundLibrary{padding:24px}.workspace-panel #inviteCard h3{margin-top:28px}.workspace-panel #graphicImage{max-height:70dvh}.signed-in .brand span{font-size:10px;letter-spacing:1px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ffd36f;outline-offset:4px}input,select,textarea{max-width:100%;min-width:0}.workspace-panel .fields,.workspace-panel .grid{min-width:0}.workspace-panel .agent-review{min-width:0}#message{overflow-wrap:anywhere}#agentReview,#agentContext,#manualRunCard,#graphic{scroll-margin-top:100px}.agent-start>div{min-width:min(250px,100%)}.agent-panel{z-index:60}.agent-panel-header{padding-top:max(12px,env(safe-area-inset-top))}.agent-launcher{bottom:max(16px,env(safe-area-inset-bottom))}.workspace-panel>section>h2{margin-top:10px}
@media(max-width:850px){header{padding:12px 20px}.signed-in .brand span{display:none}.session-identity{max-width:65%}.workspace-tab{padding:12px 15px}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-heading{align-items:flex-start}.agent-heading h2{font-size:23px}.manual-run-lap{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){header{padding:10px 14px;gap:10px;min-height:68px}.brand{font-size:23px}.session-identity{max-width:calc(100% - 135px);gap:7px}.session-identity span#sessionEmail{font-size:12px}.session-avatar{display:none}header #logout{padding:10px;font-size:11px}.signed-in main{padding:12px 12px 100px}.workspace-heading h2{font-size:13px;line-height:1.5;margin:5px 0}.workspace-heading button{font-size:11px;padding:8px 11px}.workspace-tabs{margin:10px -2px 16px;padding-bottom:10px;gap:4px}.workspace-tab{font-size:12px;padding:11px 12px;gap:7px}.workspace-tab svg{width:18px;height:18px}.card,.workspace-panel #backgroundLibrary{padding:18px;border-radius:12px}.fields{grid-template-columns:1fr}.manual-run-lap{grid-template-columns:repeat(2,minmax(0,1fr))}.agent-heading{display:flex;flex-wrap:wrap;gap:4px}.agent-heading h2{font-size:21px}.agent-heading button{padding:10px 12px}.agent-start{gap:12px}.agent-review{padding:14px}.actions{gap:8px}.actions>button{flex-grow:1;min-height:42px}.agent-panel{height:calc(100dvh - 16px);bottom:8px}.agent-panel #agentForm .actions{flex-wrap:wrap}.agent-panel .attachment-label{flex:1;min-width:130px}.agent-panel #agentForm .actions button{flex-grow:0}.agent-panel .attachment-label input{max-width:100%}.agent-panel textarea{max-height:100px}.background-library .background-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.run-history-item summary{overflow-wrap:anywhere}.eyebrow{letter-spacing:2px}.session-identity+button{flex-shrink:0}}
@media(max-height:550px){.agent-panel{height:calc(100dvh - 16px);min-height:0;bottom:8px}.agent-panel textarea{min-height:42px;max-height:65px}.agent-panel .model-drawer{max-height:25%}.agent-panel #agentForm{padding:6px 12px}}
@media(max-width:600px){.agent-launcher{padding:12px 15px;max-width:180px;font-size:12px}.agent-launcher small{font-size:10px}.workspace-tabs{scrollbar-width:thin}}
#download:before{content:'↓';margin-right:7px}#shareGraphic:before{content:'↗';margin-right:7px}#openManualRun:before{content:'✎';margin-right:7px}
/* Lucide square-sparkles: one visual language for AI actions. */
:root{--ai-gradient:linear-gradient(135deg,#c4a0ff 10%,#f0a5e5 48%,#79dfff 92%)}
.ai-icon,.ai-action:before,#agentHistory button:before,.agent-quick-replies button:before{content:'';display:inline-block;width:21px;height:21px;flex-shrink:0;vertical-align:middle;background:var(--ai-gradient);-webkit-mask:url('/icons/ai-sparkles.svg') center/contain no-repeat;mask:url('/icons/ai-sparkles.svg') center/contain no-repeat}
.ai-action:before,#agentHistory button:before,.agent-quick-replies button:before{margin-right:8px}
button.ai-action,#agentHistory button,.agent-quick-replies button{color:#f4edff;background:linear-gradient(115deg,#302346,#172f44);border:1px solid #8161ac;box-shadow:inset 0 1px #ffffff0a;line-height:1.5}
button.ai-action:hover,#agentHistory button:hover,.agent-quick-replies button:hover{filter:none;border-color:#b69be7;background:linear-gradient(115deg,#402d5c,#21425a)}
button.ai-action:focus-visible,.ai-tab:focus-visible{outline-color:#c8afff}
a.ai-action{color:#d7bfff}.model-drawer summary.ai-action{color:#e0caff}.ai-tab{color:#d7c1f5}.ai-tab[aria-selected=true]{color:#efddff;background:linear-gradient(115deg,#302346,#172f44);border-color:#8161ac}
.agent-launcher.ai-action{display:grid;grid-template-columns:27px 1fr;column-gap:9px;text-align:left;border-color:#9675bc;box-shadow:0 8px 30px #08041480}.agent-launcher.ai-action:before{width:27px;height:27px;margin:0;grid-row:1/3;align-self:center;animation:none;border-radius:0}.agent-launcher.ai-action small{grid-column:2;color:#cfbde4}.agent-launcher.ai-action.is-working:after{content:'';position:absolute;right:9px;top:9px;width:6px;height:6px;border-radius:50%;background:#9be5ff;animation:agent-pulse 1.3s infinite}
.agent-panel .ai-action:before,.agent-panel .agent-quick-replies button:before{width:17px;height:17px;margin-right:6px}
@media(max-width:600px){.ai-action:before{width:19px;height:19px}.agent-launcher.ai-action{max-width:210px;grid-template-columns:23px 1fr;padding:12px}.agent-launcher.ai-action:before{width:23px;height:23px}}
@media(forced-colors:active){.ai-icon,.ai-action:before,#agentHistory button:before,.agent-quick-replies button:before{background:ButtonText}}
@media(prefers-reduced-motion:reduce){.agent-launcher.ai-action.is-working:after{animation:none}}
/* Compact icon launcher; status text remains available to assistive technology. */
#agentLauncher.ai-action{display:grid;place-items:center;grid-template-columns:1fr;gap:0;width:56px;height:56px;min-width:56px;max-width:56px;padding:0;margin:0;border-radius:18px;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom))}
#agentLauncher.ai-action:before{width:28px;height:28px;grid-row:auto;margin:0;align-self:auto;background:var(--ai-gradient)}
#agentLauncherTitle,#agentLauncherStatus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#agentLauncher.ai-action.is-working:after{width:10px;height:10px;top:3px;right:3px;background:#89e5ff;border:2px solid #1c2339;box-shadow:0 0 0 1px #b5efff,0 0 9px #65cfee90;animation:agent-pulse 1.3s infinite}
@media(max-width:600px){#agentLauncher.ai-action{width:50px;height:50px;min-width:50px;max-width:50px;border-radius:16px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}#agentLauncher.ai-action:before{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){#agentLauncher.ai-action.is-working:after{animation:none}}
#agentLauncher #agentUnreadBadge{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e6c9ff;color:#29183b;border:2px solid #172235;font:700 11px/1 Segoe UI,sans-serif;box-shadow:0 2px 8px #0006}
#agentLauncher.ai-action.is-working:has(#agentUnreadBadge:not([hidden])):after{right:2px;top:auto;bottom:2px}
.roster-name-editor{margin:8px 0}.roster-name-editor summary{font-size:12px;padding:8px 0}.roster-name-editor form{max-width:440px;border:1px solid #35425b;border-radius:8px;padding:12px}.roster-name-editor label{margin-top:0}.roster-name-editor .actions button{margin-left:0}#inviteForm{max-width:600px}
button.danger{background:#35202c;border:1px solid #97586d;color:#ffcfdb}button.danger:hover{background:#4a2938}#deleteDialog{max-width:min(520px,calc(100vw - 28px));color:#f6f4ed;background:#142033;border:1px solid #6c4a5a;border-radius:14px;padding:24px;box-shadow:0 20px 70px #000a}#deleteDialog::backdrop{background:#030710b8}#deleteDialog h2{font-size:23px}#deleteDialog .actions{justify-content:flex-end}#deleteDialog p{overflow-wrap:anywhere}
