/* AI² COMPOSER SHELL V2 — conversation-first shell; existing runtime/control owners unchanged */
.ai2-chat-shell{max-width:1120px;margin:18px auto 0;padding:0 24px;position:relative}
.ai2-chat-brand{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;width:min(920px,100%);margin:0 auto 10px;padding:0 8px;color:#dcecff;pointer-events:none}
.ai2-chat-brand .ai2-word{font:760 20px/1 var(--sans);letter-spacing:-.045em;background:linear-gradient(135deg,#75b7ff 0%,#4b8eff 46%,#c6d8ef 78%,#d8b66a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(67,137,255,.16))}
.ai2-chat-brand .ai2-word sup{font-size:.52em;top:-.55em;position:relative;margin-left:1px}.ai2-chat-brand small{font:650 8px/1 var(--mono);letter-spacing:.16em;color:#627993;text-transform:uppercase}
.ai2-chat-surface{position:relative;width:min(960px,100%);margin:0 auto;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.ai2-chat-shell .thread-head{min-height:32px;padding:0 8px 8px;border:0;background:transparent;display:flex;align-items:center}
.ai2-chat-shell .thread-head>.t,.ai2-chat-shell .thread-head>.mission-state{display:none!important}
.ai2-chat-shell .thread-head .spring{flex:1}
.ai2-chat-shell .thread-head #newThread{height:28px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:#6e849e;font:600 10px/1 var(--sans);box-shadow:none;font-size:0}
.ai2-chat-shell .thread-head #newThread::after{content:'New chat';font:600 10px/1 var(--sans)}
.ai2-chat-shell .thread-head #newThread:hover{color:#dce9f7;border-color:rgba(112,165,230,.16);background:rgba(255,255,255,.025)}
.ai2-chat-thread{height:min(48vh,520px);min-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:18px 22px 24px;scroll-behavior:smooth;border:0;background:transparent}
.ai2-chat-thread:empty::before{content:'What can AI² help you accomplish?';display:block;color:#70839a;font-size:14px;padding:72px 8px 36px;text-align:center;letter-spacing:-.01em}
.ai2-ui-host{width:min(900px,calc(100% - 20px));margin:0 auto}
.ai2-chat-composer{position:sticky;bottom:16px;z-index:12;width:min(920px,calc(100% - 8px));margin:0 auto 4px;padding:13px 14px 11px;border:1px solid rgba(111,164,229,.25);border-radius:25px;background:linear-gradient(180deg,rgba(12,20,34,.975),rgba(8,15,27,.99));box-shadow:0 20px 55px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.018) inset,0 0 42px rgba(45,111,214,.055);backdrop-filter:blur(22px);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.ai2-chat-composer:focus-within{border-color:rgba(103,169,255,.58);box-shadow:0 24px 64px rgba(0,0,0,.48),0 0 0 3px rgba(69,137,238,.08),0 0 56px rgba(52,120,226,.08)}
.ai2-chat-composer textarea{display:block;width:100%;min-height:76px;max-height:220px;resize:none;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#eef5fc;font:400 17px/1.5 var(--sans);letter-spacing:-.012em;padding:7px 8px 12px}
.ai2-chat-composer textarea::placeholder{color:#71849b;opacity:1}
.ai2-chat-bar{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 2px;border:0!important;background:transparent!important}
.ai2-chat-bar .spring{flex:1}
.ai2-chat-btn{height:34px;min-width:34px;padding:0 9px;border-radius:11px;border:1px solid transparent;background:transparent;color:#8296ad;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:620;box-shadow:none;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}
.ai2-chat-btn:hover,.ai2-chat-btn[aria-expanded="true"],.ai2-chat-btn.on{border-color:rgba(112,165,230,.17);background:rgba(255,255,255,.04);color:#e5eef8}
.ai2-chat-btn:active{transform:translateY(1px)}
.ai2-chat-btn.icon{width:34px;padding:0;border-radius:50%;font-size:20px;color:#a4b5c7;background:rgba(255,255,255,.025);border-color:rgba(112,165,230,.11)}
#composerAttach,#composerFocus,#composerSaveProject,#composerSonar,.ai2-chat-bar>a.ai2-chat-btn{padding:0 9px}
#composerFocus,#composerSaveProject{color:#697d94}
#composerSonar{color:#96acd0}
.ai2-chat-btn.mic[data-state="listening"]{border-color:rgba(255,119,131,.45);color:#ffd2d6;box-shadow:0 0 0 3px rgba(255,119,131,.06)}
.ai2-chat-send{width:40px;height:40px;min-width:40px;padding:0;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#5ca4ff,#3976ec 72%,#315ed1);color:#fff;border:1px solid rgba(151,201,255,.48);box-shadow:0 8px 24px rgba(45,105,221,.34),inset 0 1px 0 rgba(255,255,255,.18);transition:filter .14s ease,transform .14s ease,box-shadow .14s ease}
.ai2-chat-send:hover{filter:brightness(1.08);box-shadow:0 10px 28px rgba(45,105,221,.42),inset 0 1px 0 rgba(255,255,255,.2)}
.ai2-chat-send:active{transform:translateY(1px)}
.ai2-chat-send svg{width:17px;height:17px}
.ai2-chat-composer .model-note{margin:6px 8px 0;color:#536a84;font:500 9px/1.35 var(--sans);letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai2-cap-tray{position:absolute;left:14px;bottom:64px;z-index:20;width:min(390px,calc(100% - 28px));padding:10px;border:1px solid rgba(104,156,222,.22);border-radius:18px;background:rgba(8,15,27,.985);backdrop-filter:blur(22px);box-shadow:0 28px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.018) inset}
.ai2-cap-tray[hidden]{display:none!important}
.ai2-cap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.ai2-cap-item{min-height:58px;padding:10px 11px;border-radius:12px;border:1px solid rgba(96,146,226,.10);background:rgba(255,255,255,.017);text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px}
.ai2-cap-item b{font-size:11px;color:#d1dfed}.ai2-cap-item small{font-size:9.5px;color:#72869e;line-height:1.35}
.ai2-cap-item:hover{border-color:rgba(107,166,255,.27);background:rgba(59,130,246,.055)}
.ai2-cap-item[aria-disabled="true"]{opacity:.48;cursor:not-allowed}
.ai2-attachment-strip{display:flex;gap:6px;flex-wrap:wrap;padding:0 6px 9px}
.ai2-attachment-strip:empty{display:none}
.ai2-attachment-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;height:28px;padding:0 9px;border-radius:999px;border:1px solid rgba(96,146,226,.15);background:rgba(255,255,255,.025);color:#a3b6ca;font-size:10px}
.ai2-attachment-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai2-attachment-chip button{color:#657990;font-size:13px}
.ai2-scratch-trigger-row{display:flex;justify-content:center;padding:10px 0 0}
.ai2-scratch-trigger{height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(96,146,226,.12);background:rgba(255,255,255,.012);color:#7489a2;font:650 9.5px var(--mono);letter-spacing:.05em}
.ai2-scratch-trigger:hover{color:#d8e7f6;border-color:rgba(107,166,255,.3)}
.ai2-chat-drop{position:absolute;inset:0;z-index:30;display:grid;place-items:center;background:rgba(5,10,19,.91);backdrop-filter:blur(7px);border:1px dashed rgba(107,166,255,.46);border-radius:24px;color:#d7e8f8;font-size:13px;pointer-events:none}
.ai2-chat-drop[hidden]{display:none!important}
.ai2-chat-shell+section#map{margin-top:28px}
/* World Interface is presentation-only. These later rules stop it from forcing the conversation back into a dashboard card. */
.ai2-world-interface{border-color:rgba(107,166,255,.055)!important;background:linear-gradient(180deg,rgba(5,10,19,.22),rgba(4,9,18,.1))!important;box-shadow:none!important}
.ai2-world-interface .ai2-chat-shell{padding:6px 18px 20px!important;overflow:visible!important}
.ai2-world-interface .ai2-chat-brand{width:min(920px,100%)!important;margin:0 auto 8px!important;padding:0 8px!important;opacity:1!important;filter:none!important}
.ai2-world-interface .ai2-chat-surface{height:100%!important;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.ai2-world-interface .thread-head{background:transparent!important;border:0!important}
.ai2-world-interface #thread{padding:18px 22px 24px!important;background:transparent!important}
.ai2-world-interface #composer{position:relative!important;bottom:auto!important;z-index:12;width:min(920px,calc(100% - 8px))!important;margin:0 auto 4px!important;padding:13px 14px 11px!important;border:1px solid rgba(111,164,229,.25)!important;border-radius:25px!important;background:linear-gradient(180deg,rgba(12,20,34,.975),rgba(8,15,27,.99))!important;box-shadow:0 20px 55px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.018) inset,0 0 42px rgba(45,111,214,.055)!important;backdrop-filter:blur(22px)}
.ai2-world-interface #composer:focus-within{border-color:rgba(103,169,255,.58)!important;box-shadow:0 24px 64px rgba(0,0,0,.48),0 0 0 3px rgba(69,137,238,.08),0 0 56px rgba(52,120,226,.08)!important}
@media(max-width:700px){.ai2-chat-shell{padding:0 8px;margin-top:10px}.ai2-chat-brand{padding:0 5px;margin-bottom:6px}.ai2-chat-brand .ai2-word{font-size:18px}.ai2-chat-shell .thread-head{padding:0 4px 5px}.ai2-chat-thread{height:44vh;min-height:250px;padding:12px 10px 18px}.ai2-chat-thread:empty::before{padding-top:48px}.ai2-chat-composer{bottom:8px;width:100%;padding:11px 10px 9px;border-radius:21px}.ai2-chat-composer textarea{min-height:70px;font-size:16px;padding:6px 6px 10px}.ai2-chat-bar{gap:4px}.ai2-chat-btn{padding:0 7px}.ai2-chat-btn .label{display:none}.ai2-chat-bar>a.ai2-chat-btn{width:34px;padding:0;font-size:0}.ai2-chat-bar>a.ai2-chat-btn::before{content:'AI';font:700 10px var(--sans)}.ai2-cap-grid{grid-template-columns:1fr}.ai2-chat-composer .model-note{display:none}.ai2-world-interface .ai2-chat-shell{padding:4px 8px 14px!important}.ai2-world-interface #thread{padding:12px 10px 18px!important}.ai2-world-interface #composer{width:100%!important;padding:11px 10px 9px!important;border-radius:21px!important}}
@media(prefers-reduced-motion:reduce){.ai2-chat-thread{scroll-behavior:auto}.ai2-chat-btn,.ai2-chat-send,.ai2-chat-composer{transition:none!important}}
