:root{font-family:"DM Sans",sans-serif;color-scheme:dark;--bg:#101218;--panel:#171a23;--panel-2:#1d202b;--panel-3:#242837;--text:#f2f3f8;--muted:#9299aa;--subtle:#697184;--line:rgba(225,230,247,.09);--line-strong:rgba(225,230,247,.15);--accent:#9adbd2;--accent-2:#a9a0ee;--accent-dark:#1c3d3b;--good:#8bd4b1;--warn:#e9c78d;--shadow:0 22px 80px rgba(0,0,0,.34);--radius:18px}
:root[data-theme="light"]{color-scheme:light;--bg:#f4f5f8;--panel:#fff;--panel-2:#f8f9fc;--panel-3:#eef0f6;--text:#202431;--muted:#6e7586;--subtle:#8a91a1;--line:rgba(34,42,62,.09);--line-strong:rgba(34,42,62,.15);--accent:#377f79;--accent-2:#7467b8;--accent-dark:#e0f0ed;--good:#287f5c;--warn:#a36a17;--shadow:0 22px 70px rgba(29,38,59,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:254px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 18px 18px;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 35px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:var(--accent)}.brand-mark svg{width:38px;height:38px}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{font-family:Manrope,sans-serif;font-size:18px;letter-spacing:.19em;font-weight:800}.brand-copy small{font-size:8px;letter-spacing:.19em;color:var(--muted);font-weight:700}.side-label{font-size:9px;letter-spacing:.16em;font-weight:700;color:var(--subtle);padding:0 11px 11px}.side-label-spaced{margin-top:29px}.primary-nav,.category-nav{display:grid;gap:4px}.nav-item,.category-item{width:100%;height:42px;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:0 11px;text-align:left;transition:.18s}.nav-item:hover,.category-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active,.category-item.active{background:var(--accent-dark);color:var(--accent)}.nav-item>span:nth-child(2),.category-item>span:nth-child(2){flex:1}.nav-icon,.category-icon{width:17px;height:17px;display:grid;place-items:center}.nav-icon svg,.category-icon svg,.global-search>span svg,.icon-button svg,.button svg,.ai-principles span svg,.notice-panel>span svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-item kbd{font-size:10px;color:var(--subtle);background:var(--panel-3);padding:3px 6px;border-radius:5px}.nav-count{font-size:10px;background:var(--panel-3);padding:3px 7px;border-radius:20px}.nav-dot,.status-led{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px rgba(139,212,177,.11)}.category-item{height:38px;font-size:12px}.category-item .category-icon{width:16px;height:16px}.sidebar-bottom{margin-top:auto}.privacy-card{display:flex;gap:10px;padding:13px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,rgba(154,219,210,.07),rgba(169,160,238,.04));margin-bottom:18px}.privacy-icon{width:19px;height:19px;color:var(--accent);flex:0 0 auto}.privacy-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}.privacy-card strong{font-size:11px}.privacy-card p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.sidebar-foot{display:flex;align-items:center;gap:8px;color:var(--subtle);font-size:9px;letter-spacing:.08em;padding:0 5px}.foot-spacer{flex:1}.main-area{margin-left:254px;min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);position:sticky;top:0;z-index:15;backdrop-filter:blur(16px)}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--subtle);font-size:12px}.breadcrumb strong{color:var(--text);font-weight:600}.crumb-sep{opacity:.5}.topbar-actions{display:flex;align-items:center;gap:13px}.global-search{width:270px;height:38px;border:1px solid var(--line-strong);background:var(--panel);border-radius:9px;display:flex;align-items:center;gap:9px;padding:0 10px;color:var(--muted)}.global-search>span{display:grid;place-items:center}.global-search input{border:0;outline:0;background:transparent;color:var(--text);min-width:0;width:100%;font-size:11px}.global-search input::placeholder{color:var(--subtle)}.global-search kbd{white-space:nowrap;font-size:9px;color:var(--subtle);border:1px solid var(--line);padding:3px 5px;border-radius:4px}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);display:grid;place-items:center;transition:.18s}.icon-button:hover{color:var(--text);border-color:var(--line-strong);background:var(--panel-2)}.icon-button svg{width:17px;height:17px}.icon-button.subtle{width:25px;height:25px;border:0;background:transparent}.icon-button.subtle svg{width:14px;height:14px}.profile-chip{width:31px;height:31px;border-radius:50%;background:linear-gradient(135deg,#9adbd2,#a99eeb);padding:1px;display:grid;place-items:center}.profile-chip span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:var(--panel);font-family:Manrope;font-size:11px;font-weight:800;color:var(--text)}.mobile-menu{display:none}.page-content{max-width:1450px;margin:0 auto;padding:0 48px}.hero-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;min-height:360px;padding:48px 0 35px;border-bottom:1px solid var(--line);gap:30px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:9px;letter-spacing:.16em;font-weight:700}.eyebrow-line{height:1px;width:22px;background:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(35px,4.3vw,56px);line-height:1.13;letter-spacing:-.055em;margin:19px 0 15px;font-weight:700}h1 em{font-style:normal;color:var(--accent);font-weight:600}.hero-description{max-width:570px;color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:22px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:0 15px;border-radius:9px;border:1px solid transparent;font-size:11px;font-weight:700;transition:.18s}.button svg{width:15px;height:15px}.button-primary{background:var(--accent);color:#10201f}.button-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.button-quiet{background:transparent;border-color:var(--line-strong);color:var(--muted)}.button-quiet:hover{background:var(--panel);color:var(--text)}.hero-art{height:280px;position:relative;display:grid;place-items:center;overflow:hidden}.orbit{position:absolute;border:1px solid var(--line-strong);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:330px;height:160px}.orbit-two{width:260px;height:230px;transform:rotate(58deg)}.prism-glow{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(130,167,224,.23),rgba(154,219,210,.1) 38%,transparent 70%);filter:blur(9px)}.hero-prism{width:235px;height:235px;position:relative;filter:drop-shadow(0 18px 34px rgba(129,155,229,.17))}.art-tag{position:absolute;font-size:8px;letter-spacing:.11em;color:var(--muted);background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--line-strong);padding:7px 9px;border-radius:6px;backdrop-filter:blur(8px)}.art-tag i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:1px}.tag-local{top:28px;left:8px}.tag-ai{right:1px;top:83px}.tag-files{bottom:26px;left:18px}.metric-strip{display:flex;align-items:center;gap:28px;padding:21px 0 24px;border-bottom:1px solid var(--line)}.metric{display:flex;align-items:baseline;gap:9px}.metric strong{font-family:Manrope;font-size:20px;letter-spacing:-.04em}.metric span{font-size:10px;color:var(--muted)}.metric-divider{height:25px;width:1px;background:var(--line-strong)}.metric-note{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted)}.metric-note .status-led{width:6px;height:6px}.tools-section{padding:40px 0 30px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading h2,.ai-section h2{font-size:25px;letter-spacing:-.045em;margin:9px 0 5px}.section-heading p,.ai-section>p{font-size:11px;color:var(--muted);margin:0}.view-switch{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:9px}.view-button{width:29px;height:27px;border:0;border-radius:6px;background:transparent;color:var(--subtle);display:grid;place-items:center}.view-button.active{background:var(--panel-3);color:var(--accent)}.view-button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:23px 0 16px}.filter-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-chip{border:1px solid var(--line);border-radius:30px;padding:7px 11px;background:transparent;color:var(--muted);font-size:10px;transition:.18s}.filter-chip:hover{border-color:var(--line-strong);color:var(--text)}.filter-chip.active{background:var(--accent-dark);color:var(--accent);border-color:transparent}.result-count{font-size:10px;color:var(--subtle);white-space:nowrap}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tool-card{position:relative;min-height:160px;border:1px solid var(--line);border-radius:13px;padding:16px;background:var(--panel);display:flex;flex-direction:column;transition:transform .18s,border-color .18s,background .18s;cursor:pointer;overflow:hidden}.tool-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--panel-2)}.tool-card.is-disabled{opacity:.72;cursor:default}.tool-card.is-disabled:hover{transform:none;border-color:var(--line)}.tool-card-top{display:flex;align-items:flex-start;justify-content:space-between}.tool-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--accent);background:rgba(154,219,210,.09);border:1px solid rgba(154,219,210,.08)}.tool-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.tool-favorite{border:0;background:transparent;color:var(--subtle);padding:4px}.tool-favorite:hover,.tool-favorite.active{color:var(--warn)}.tool-favorite svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}.tool-favorite.active svg{fill:currentColor}.tool-card h3{font-size:13px;margin:14px 0 5px;letter-spacing:-.02em}.tool-card p{font-size:10px;line-height:1.6;color:var(--muted);margin:0;max-width:95%}.tool-card-bottom{margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between}.tool-tag{font-size:8px;color:var(--subtle);letter-spacing:.04em}.tool-status{font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--good)}.tool-status.beta{color:var(--warn)}.tool-status.soon{color:var(--subtle)}.tool-open{font-size:9px;color:var(--accent);opacity:0;transition:.18s}.tool-card:hover .tool-open{opacity:1}.tool-grid.list-view{grid-template-columns:1fr}.tool-grid.list-view .tool-card{min-height:78px;display:grid;grid-template-columns:40px minmax(160px,1fr) minmax(140px,1.5fr) auto;align-items:center;gap:12px;padding:12px 15px}.tool-grid.list-view .tool-card-top{display:contents}.tool-grid.list-view .tool-card h3{margin:0}.tool-grid.list-view .tool-card p{margin:0}.tool-grid.list-view .tool-card-bottom{margin:0;padding:0;gap:14px}.tool-grid.list-view .tool-open{opacity:1}.empty-state{text-align:center;padding:55px 15px;color:var(--muted)}.empty-state>span svg{width:28px;height:28px}.empty-state h3{color:var(--text);margin:12px 0 5px}.empty-state p{font-size:11px}.main-footer{display:flex;justify-content:space-between;gap:20px;padding:23px 0 28px;border-top:1px solid var(--line);font-size:9px;color:var(--subtle)}.main-footer a{color:var(--accent);margin-left:8px}.footer-dot{color:var(--accent);padding:0 4px}.ai-section{padding:52px 0 30px;min-height:70vh}.ai-section h2{font-size:32px;margin:12px 0 9px}.ai-intro{max-width:720px;line-height:1.8!important}.ai-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 42px}.ai-principles>div{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.ai-principles span{color:var(--accent)}.ai-principles strong{display:block;margin:12px 0 5px;font-size:12px}.ai-principles p{font-size:10px;color:var(--muted);line-height:1.6;margin:0}.provider-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.provider-heading h3{font-size:16px;margin:0 0 4px}.provider-heading p{font-size:10px;color:var(--muted);margin:0}.status-pill{font-size:8px;letter-spacing:.1em;font-weight:700;padding:7px 9px;border-radius:20px;background:rgba(233,199,141,.1);color:var(--warn)}.provider-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.provider-card{padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.provider-card-top{display:flex;justify-content:space-between;align-items:center}.provider-card h4{font-family:Manrope;font-size:13px;margin:12px 0 3px}.provider-kind{font-size:9px;color:var(--muted)}.provider-tags{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.provider-tags span{font-size:8px;color:var(--muted);background:var(--panel-3);border-radius:5px;padding:5px 7px}.provider-note{font-size:9px;color:var(--subtle);line-height:1.5;margin:0}.provider-stage{font-size:8px;color:var(--warn);border:1px solid rgba(233,199,141,.2);padding:4px 7px;border-radius:5px}.notice-panel{display:flex;gap:12px;margin-top:20px;padding:15px;border:1px solid rgba(154,219,210,.17);background:rgba(154,219,210,.045);border-radius:10px;color:var(--accent)}.notice-panel>span{flex:0 0 auto}.notice-panel p{font-size:10px;line-height:1.7;color:var(--muted);margin:0}.notice-panel strong{color:var(--text)}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(4,6,11,.7);backdrop-filter:blur(8px);display:grid;place-items:center;padding:22px}.tool-modal{width:min(630px,100%);max-height:min(86vh,800px);overflow:auto;background:var(--panel);border:1px solid var(--line-strong);border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:21px 23px;border-bottom:1px solid var(--line)}.modal-title-wrap{display:flex;align-items:center;gap:13px}.modal-icon{width:40px;height:40px;border-radius:11px;background:var(--accent-dark);color:var(--accent);display:grid;place-items:center}.modal-icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}.modal-kicker{font-size:8px;letter-spacing:.15em;color:var(--accent);font-weight:700;margin-bottom:4px}.modal-header h2{font-size:18px;margin:0;letter-spacing:-.03em}.modal-body{padding:22px 23px;overflow:auto}.modal-footer{display:flex;align-items:center;gap:10px;padding:16px 23px;border-top:1px solid var(--line)}.modal-footer .modal-privacy{margin-right:auto;display:flex;align-items:center;gap:7px;color:var(--subtle);font-size:9px}.modal-privacy svg{width:14px;height:14px;stroke:var(--accent);fill:none}.form-field{display:grid;gap:7px;margin-bottom:16px}.form-field label{font-size:10px;font-weight:700;color:var(--text)}.form-field small{font-size:9px;color:var(--subtle);line-height:1.5}.form-control{width:100%;min-height:39px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg);color:var(--text);padding:10px 11px;outline:none;font-size:11px}.form-control:focus{border-color:var(--accent)}textarea.form-control{min-height:115px;resize:vertical;line-height:1.6}.file-drop{border:1px dashed var(--line-strong);border-radius:11px;padding:25px 15px;text-align:center;background:var(--panel-2);transition:.2s;cursor:pointer}.file-drop.dragover{border-color:var(--accent);background:var(--accent-dark)}.file-drop input{display:none}.file-drop-icon{width:35px;height:35px;border-radius:10px;margin:0 auto 10px;display:grid;place-items:center;color:var(--accent);background:var(--accent-dark)}.file-drop-icon svg{width:18px;height:18px}.file-drop strong{font-size:11px;display:block}.file-drop p{font-size:9px;color:var(--muted);margin:5px 0 0}.file-list{display:grid;gap:6px;margin-top:10px}.file-row{display:flex;align-items:center;gap:9px;background:var(--panel-2);border:1px solid var(--line);padding:8px 10px;border-radius:7px}.file-row svg{width:15px;height:15px;stroke:var(--accent);fill:none}.file-row span{font-size:10px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row small{font-size:9px;color:var(--subtle)}.progress-wrap{margin-top:15px}.progress-label{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:7px}.progress-track{height:5px;background:var(--panel-3);border-radius:9px;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .2s}.output-panel{margin-top:16px;border:1px solid rgba(139,212,177,.2);background:rgba(139,212,177,.045);border-radius:10px;padding:13px}.output-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.output-head strong{font-size:10px;color:var(--good)}.output-actions{display:flex;gap:6px}.mini-button{border:1px solid var(--line-strong);border-radius:6px;padding:6px 8px;background:var(--panel);color:var(--muted);font-size:9px}.mini-button:hover{color:var(--text)}.output-text{white-space:pre-wrap;max-height:230px;overflow:auto;font:10px/1.6 ui-monospace,monospace;color:var(--text);margin:11px 0 0}.output-preview{max-width:100%;max-height:220px;display:block;margin:12px auto 0;border-radius:7px}.output-html{background:white;color:#222;border-radius:7px;padding:12px;max-height:220px;overflow:auto;margin-top:12px;font-size:11px}.tool-hint{font-size:10px;color:var(--muted);line-height:1.7;padding:11px 12px;background:var(--panel-2);border-radius:8px;border:1px solid var(--line)}.tool-hint strong{color:var(--text)}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toast-region{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;gap:8px}.toast{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:9px;padding:11px 14px;box-shadow:var(--shadow);font-size:10px;color:var(--text);min-width:230px;animation:toastIn .2s ease}.toast.success{border-color:rgba(139,212,177,.3)}.toast.error{border-color:rgba(231,133,133,.35)}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.page-content{padding:0 32px}.topbar{padding:0 32px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-section{grid-template-columns:1.2fr .8fr}.metric-strip{gap:17px}.metric span{max-width:115px;line-height:1.4}}@media(max-width:850px){.sidebar{width:230px;transform:translateX(-100%);transition:transform .25s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 22px;gap:12px}.breadcrumb{margin-right:auto}.global-search{width:min(250px,34vw)}.page-content{padding:0 24px}.hero-section{min-height:320px}.hero-art{height:230px}.hero-prism{width:195px;height:195px}.metric-note{display:none}}@media(max-width:620px){.topbar{height:64px;padding:0 14px}.topbar-actions{gap:7px}.global-search{width:36px;padding:0;justify-content:center;border:0;background:transparent}.global-search input,.global-search kbd{display:none}.global-search>span svg{width:19px;height:19px}.profile-chip{display:none}.page-content{padding:0 17px}.hero-section{display:block;padding:36px 0 23px}.hero-copy{position:relative;z-index:2}.hero-art{height:185px;margin-top:10px}.hero-prism{width:165px;height:165px}.orbit-one{width:250px;height:120px}.orbit-two{width:205px;height:170px}.tag-local{top:9px;left:0}.tag-ai{right:0;top:47px}.tag-files{bottom:5px;left:0}.hero-description{font-size:12px}.hero-actions{gap:8px}.button{min-height:38px;padding:0 11px;font-size:10px}.metric-strip{gap:12px;justify-content:space-between;padding:17px 0}.metric{display:grid;gap:2px}.metric strong{font-size:17px}.metric span{font-size:8px;max-width:90px}.metric-divider{height:24px}.tools-section{padding-top:30px}.section-heading h2{font-size:21px}.section-heading p{font-size:10px;max-width:260px;line-height:1.5}.view-switch{display:none}.filter-row{align-items:flex-start;flex-direction:column;margin:18px 0 13px}.filter-chips{gap:6px}.filter-chip{font-size:9px;padding:6px 9px}.result-count{align-self:flex-end}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tool-card{min-height:165px;padding:12px}.tool-icon{width:32px;height:32px}.tool-card h3{font-size:11px;margin:12px 0 5px}.tool-card p{font-size:9px;line-height:1.5}.tool-tag{font-size:7px}.tool-status{font-size:7px}.tool-grid.list-view .tool-card{grid-template-columns:34px 1fr auto;gap:8px}.tool-grid.list-view .tool-card p{display:none}.tool-grid.list-view .tool-card-bottom{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.main-footer{font-size:8px;flex-direction:column;gap:7px}.ai-section{padding-top:36px}.ai-section h2{font-size:25px}.ai-principles{grid-template-columns:1fr;gap:8px;margin:20px 0 30px}.ai-principles>div{padding:13px}.ai-principles strong{margin:7px 0 3px}.provider-grid{grid-template-columns:1fr}.provider-heading{align-items:flex-start;gap:10px}.provider-heading .status-pill{white-space:nowrap}.modal-backdrop{padding:0;align-items:end}.tool-modal{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.modal-header{padding:16px}.modal-body{padding:17px 16px}.modal-footer{padding:12px 16px;flex-wrap:wrap}.modal-footer .modal-privacy{width:100%;margin-bottom:3px}.modal-footer .button{flex:1}.inline-fields{grid-template-columns:1fr 1fr}.toast-region{left:12px;right:12px;bottom:12px}.toast{min-width:0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* PRISMA 1.1 — upload workspace and creation lab */
.file-drop{display:flex!important;position:relative;width:100%;min-height:218px;box-sizing:border-box;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:32px 24px;margin:8px 0 16px;border:1px dashed var(--line-strong);border-radius:16px;background:linear-gradient(145deg,var(--panel-2),color-mix(in srgb,var(--panel-2) 82%,var(--accent-dark)));text-align:center;overflow:hidden;isolation:isolate;line-height:1.5;white-space:normal;cursor:pointer}
.file-drop:before{content:"";position:absolute;inset:10px;border:1px dashed color-mix(in srgb,var(--line-strong) 80%,transparent);border-radius:10px;pointer-events:none;z-index:-1}
.file-drop:hover,.file-drop:focus-within{border-color:var(--accent);background:linear-gradient(145deg,var(--panel-2),var(--accent-dark))}
.file-drop.dragover{border-color:var(--accent);background:var(--accent-dark);box-shadow:inset 0 0 0 1px var(--accent),0 12px 35px rgba(154,219,210,.09)}
.file-drop input{display:block!important;position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0}
.file-drop-icon{width:52px;height:52px;border-radius:15px;margin:0 0 8px;display:grid;place-items:center;color:var(--accent);background:var(--accent-dark);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.file-drop-icon svg{width:23px;height:23px}
.file-drop strong{font-size:14px;line-height:1.45}
.file-drop p{font-size:11px;color:var(--accent);margin:0}
.file-drop-note{font-size:10px;color:var(--muted);line-height:1.5;margin-top:4px}
.file-drop-formats{max-width:100%;font-size:9px;color:var(--subtle);overflow-wrap:anywhere}
.upload-list-head{display:flex;align-items:center;gap:10px;padding:7px 2px 9px;color:var(--muted);font-size:10px}
.upload-list-head strong{color:var(--text)}
.upload-list-head span{margin-left:auto}
.upload-list-head button{border:0;background:transparent;color:var(--accent);font-size:10px;padding:4px 6px}
.file-row{min-width:0;gap:10px;padding:10px 12px;border-radius:9px}
.file-row span{min-width:0}
.remove-file{width:25px;height:25px;flex:0 0 auto;border:0;border-radius:6px;background:transparent;color:var(--subtle);display:grid;place-items:center}
.remove-file:hover{background:var(--panel-3);color:var(--text)}
.remove-file svg{width:13px;height:13px;stroke:currentColor}
.tool-modal{width:min(820px,100%);max-height:min(90vh,900px)}
.modal-body{padding:24px 28px}
.ai-feature-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:210px;padding:25px 28px;margin:26px 0 34px;border:1px solid color-mix(in srgb,var(--accent) 23%,var(--line));border-radius:17px;overflow:hidden;background:radial-gradient(circle at 85% 50%,rgba(169,160,238,.17),transparent 32%),linear-gradient(125deg,var(--panel),color-mix(in srgb,var(--panel) 80%,var(--accent-dark)))}
.ai-feature-copy{position:relative;z-index:2;max-width:560px}
.ai-feature-label{font-size:8px;letter-spacing:.15em;font-weight:800;color:var(--accent)}
.ai-feature-copy h3{font-size:23px;letter-spacing:-.04em;margin:10px 0 7px}
.ai-feature-copy p{font-size:11px;line-height:1.7;color:var(--muted);max-width:520px;margin:0 0 16px}
.ai-feature-art{position:relative;width:170px;height:150px;flex:0 0 170px;display:grid;place-items:center}
.ai-orb{position:absolute;border:1px solid rgba(154,219,210,.35);border-radius:50%;transform:rotate(-28deg)}
.ai-orb-one{width:155px;height:76px}
.ai-orb-two{width:110px;height:130px;transform:rotate(42deg);border-color:rgba(169,160,238,.45)}
.ai-art-spark{font-size:68px;color:var(--accent);text-shadow:0 0 36px rgba(154,219,210,.35)}
.color-palette-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.color-swatch{display:flex;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);text-align:left}
.color-swatch span{width:26px;height:26px;flex:0 0 auto;border:1px solid var(--line-strong);border-radius:6px}
.color-swatch code{font-size:9px}
.output-preview{max-height:460px;width:100%;object-fit:contain;background:rgba(0,0,0,.08)}
@media(max-width:620px){
 .file-drop{min-height:190px;padding:25px 15px}
 .file-drop strong{font-size:12px}
 .file-drop-note{max-width:260px}
 .tool-modal{max-height:94vh}
 .modal-body{padding:18px 16px}
 .ai-feature-card{padding:20px;min-height:0}
 .ai-feature-art{width:74px;height:110px;flex-basis:74px}
 .ai-orb-one{width:90px;height:50px}
 .ai-orb-two{width:70px;height:86px}
 .ai-art-spark{font-size:44px}
 .ai-feature-copy h3{font-size:18px}
 .color-palette-results{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.provider-config{padding:14px;margin:10px 0 16px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2)}
.provider-connect-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px}
.provider-connect-row .button{min-height:36px}
.provider-connection-status{font-size:10px;color:var(--muted)}
.provider-connection-status.connected{color:var(--good)}
.provider-redirect{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:9px;color:var(--subtle)}
.provider-redirect code{padding:5px 7px;border-radius:5px;background:var(--bg);color:var(--accent);overflow-wrap:anywhere}
.provider-config .tool-hint{margin-top:10px}
.docx-print-note{font-size:10px;color:var(--muted);line-height:1.6;margin-top:10px}
.output-audio{width:100%;margin-top:12px}
.diff-output{font:10px/1.7 ui-monospace,monospace;white-space:pre-wrap;max-height:280px;overflow:auto;margin-top:12px}
.diff-added{color:var(--good)}.diff-removed{color:#e58e8e}
@media(max-width:620px){.file-drop{min-height:180px;padding:23px 14px}.provider-config{padding:11px}.provider-redirect code{max-width:100%}}


/* Prisma Space — hero prism motion and pointer depth */
.brand-copy strong{font-size:16px;letter-spacing:.07em}
.hero-art{isolation:isolate;perspective:900px;touch-action:pan-y}
.orbit{will-change:transform}
.orbit-one{animation:prisma-orbit-one 34s linear infinite}
.orbit-two{animation:prisma-orbit-two 43s linear infinite}
.prism-glow{opacity:.72;transform:translate(var(--glow-x,0px),var(--glow-y,0px));animation:prisma-glow 8.5s ease-in-out infinite;will-change:opacity,transform;transition:transform .45s ease,opacity .45s ease}
.prism-core{position:relative;z-index:2;display:grid;place-items:center;transform-style:preserve-3d;will-change:transform;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.hero-prism{animation:prisma-breathe 8s ease-in-out infinite;transform-origin:50% 50%}
.art-tag{z-index:3;font-size:9px;padding:9px 11px;border-radius:8px;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .35s ease,background .35s ease,box-shadow .35s ease;will-change:transform}
.hero-art.is-hovered .prism-glow{opacity:.95}
.hero-art.is-hovered .art-tag{border-color:color-mix(in srgb,var(--accent) 28%,var(--line-strong));box-shadow:0 8px 30px rgba(0,0,0,.18)}
.hero-art.is-hovered .hero-prism{filter:drop-shadow(0 20px 42px rgba(129,155,229,.25))}
.hero-art.is-hovered .orbit-one{animation-duration:21s}
.hero-art.is-hovered .orbit-two{animation-duration:28s}
@keyframes prisma-orbit-one{from{transform:rotate(-24deg)}to{transform:rotate(336deg)}}
@keyframes prisma-orbit-two{from{transform:rotate(58deg)}to{transform:rotate(418deg)}}
@keyframes prisma-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.012)}}
@keyframes prisma-glow{0%,100%{opacity:.55}50%{opacity:.9}}
@media(max-width:850px){.brand-copy strong{font-size:15px;letter-spacing:.05em}}
@media(max-width:620px){.art-tag{font-size:7px;padding:7px 8px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.orbit-one,.orbit-two,.prism-glow,.hero-prism{animation:none!important}.prism-core,.art-tag{transition:none!important}}


/* Prisma Space — centro de inicio, historial y accesibilidad */
.heading-actions{display:flex;align-items:center;gap:10px}
.home-dashboard{padding:34px 0 32px;border-bottom:1px solid var(--line)}
.home-dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.home-dashboard-heading h2{font-size:23px;letter-spacing:-.045em;margin:8px 0 5px}
.home-dashboard-heading p{font-size:11px;color:var(--muted);margin:0}
.home-local-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:9px;white-space:nowrap}
.home-local-pill .status-led{width:6px;height:6px}
.home-goals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.goal-card{min-width:0;min-height:112px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;transition:transform .18s,border-color .18s,background .18s}
.goal-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--panel-2)}
.goal-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--accent-dark);color:var(--accent)}
.goal-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7}
.goal-card strong{font-size:10px;line-height:1.35}
.goal-card small{font-size:8px;color:var(--muted);line-height:1.35}
.home-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:14px}
.home-panel{min-width:0;padding:15px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}
.home-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.home-panel-heading h3{font-size:12px;margin:0 0 4px}
.home-panel-heading p{font-size:9px;color:var(--muted);margin:0}
.text-action{border:0;background:transparent;color:var(--accent);font-size:9px;white-space:nowrap;padding:6px}
.mini-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.mini-tool-card{display:flex;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);text-align:left;transition:border-color .18s,background .18s}
.mini-tool-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--panel-2)}
.mini-tool-icon{width:29px;height:29px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--accent-dark);color:var(--accent)}
.mini-tool-icon svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
.mini-tool-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.mini-tool-copy strong{font-size:9px;line-height:1.35;overflow-wrap:anywhere}
.mini-tool-copy small{font-size:7px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-tool-arrow{margin-left:auto;color:var(--subtle);flex:0 0 auto}
.mini-tool-arrow svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7}
.mini-empty{grid-column:1/-1;padding:13px;border:1px dashed var(--line-strong);border-radius:9px;color:var(--muted);font-size:9px;line-height:1.6}
.profile-wrap{position:relative}
.profile-chip{border:0;cursor:pointer}
.profile-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:40;width:250px;padding:14px;border:1px solid var(--line-strong);border-radius:13px;background:var(--panel);box-shadow:var(--shadow)}
.profile-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.profile-menu-heading strong{font-size:12px}
.profile-menu-heading span{font-size:8px;padding:5px 7px;border-radius:20px;background:var(--accent-dark);color:var(--accent)}
.profile-menu p{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0}
.profile-menu a,.profile-menu button{display:block;width:100%;padding:9px 8px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:10px;text-align:left;text-decoration:none}
.profile-menu a:hover,.profile-menu button:hover{background:var(--panel-2)}
.profile-menu button{color:var(--warn)}
.tool-card:focus-visible,.goal-card:focus-visible,.mini-tool-card:focus-visible,.nav-item:focus-visible,.category-item:focus-visible,.button:focus-visible,.icon-button:focus-visible,.filter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.global-search.is-open{width:min(230px,58vw);padding:0 10px;border:1px solid var(--line-strong);background:var(--panel)}
.global-search.is-open input{display:block;min-width:0}
.global-search.is-open kbd{display:none}
.global-search.is-open>span svg{width:16px;height:16px}
.ai-connection-card{margin:24px 0 30px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:15px;background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--panel) 82%,var(--accent-dark)))}
.ai-connection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}
.ai-connection-heading h3{font-size:17px;margin:8px 0 5px}
.ai-connection-heading p{font-size:10px;line-height:1.6;color:var(--muted);margin:0}
.connection-key-label{display:block;margin-bottom:7px;font-size:10px;font-weight:700}
.connection-key-input{max-width:560px}
.ai-connection-card>small{display:block;margin-top:6px;font-size:9px;color:var(--muted)}
.ai-connection-card>small a{color:var(--accent)}
.ai-connection-card .provider-connect-row{margin:13px 0 12px}
.connection-footnote{font-size:9px;line-height:1.6;color:var(--muted);margin:12px 0 0}
.provider-modal-status{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--muted)}
.provider-config>small{display:block;margin-top:7px;color:var(--muted);font-size:9px;line-height:1.5}
.provider-config .mini-button{white-space:nowrap}
@media(max-width:1100px){.home-goals{grid-template-columns:repeat(3,minmax(0,1fr))}.home-panels{grid-template-columns:1fr}}
@media(max-width:850px){.home-goals{grid-template-columns:repeat(3,minmax(0,1fr))}.home-dashboard{padding-top:27px}}
@media(max-width:620px){
 .profile-chip{display:grid;width:30px;height:30px}
 .profile-menu{position:fixed;top:70px;right:12px;width:min(270px,calc(100vw - 24px))}
 .home-dashboard{padding:25px 0}
 .home-dashboard-heading{align-items:flex-start;flex-direction:column;gap:10px}
 .home-dashboard-heading h2{font-size:20px}
 .home-local-pill{font-size:8px}
 .home-goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .goal-card{min-height:104px;padding:11px}
 .goal-card strong{font-size:9px}
 .home-panels{grid-template-columns:1fr;gap:9px}
 .home-panel{padding:12px}
 .mini-tool-grid{grid-template-columns:1fr}
 .mini-tool-card{padding:9px}
 .heading-actions{gap:5px}
 #clear-recent{font-size:9px;min-height:32px;padding:0 8px}
 .ai-connection-card{padding:14px;margin:18px 0 24px}
 .ai-connection-heading{flex-direction:column}
 .ai-connection-heading h3{font-size:15px}
 .ai-connection-card .provider-connect-row{gap:7px}
 .ai-connection-card .provider-connect-row .button{flex:1}
 .provider-redirect{align-items:flex-start}
 .provider-redirect code{max-width:100%;overflow-wrap:anywhere}
 .global-search.is-open{width:min(215px,55vw)}
}
@media(prefers-reduced-motion:reduce){.goal-card:hover,.mini-tool-card:hover{transform:none}}

.tool-card-launch{display:block;align-self:stretch;width:100%;margin:14px 0 5px;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.tool-card-launch h3{margin:0;font-family:Manrope,sans-serif;font-size:13px;letter-spacing:-.02em}
.tool-card-launch:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
.tool-grid.list-view .tool-card-launch{margin:0}
@media(max-width:620px){.tool-card-launch{margin:12px 0 5px}.tool-card-launch h3{font-size:11px}}


/* Navegación y ventanas: controles siempre visibles y destino inmediato */
html{scroll-padding-top:92px}
#home-dashboard,#tools-section,#ai-section{scroll-margin-top:92px}
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.modal-backdrop{overflow:hidden;overscroll-behavior:contain}
.tool-modal{overflow:hidden;min-height:0}
.modal-header,.modal-footer{flex:0 0 auto}
.modal-header{position:relative;z-index:2;background:var(--panel)}
.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.modal-footer{position:relative;z-index:2;background:var(--panel)}
#modal-close{flex:0 0 36px;touch-action:manipulation}
body.modal-open{overflow:hidden}
@media(max-width:850px){
  #home-dashboard,#tools-section,#ai-section{scroll-margin-top:76px}
}
@media(max-width:620px){
  .tool-modal{max-height:94vh;max-height:94dvh;overflow:hidden}
  .modal-header{padding:15px 16px}
  .modal-body{min-height:0;padding:17px 16px}
  .modal-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
}

/* Flujos inteligentes */
.workflow-hub{margin:19px 0 17px;padding:17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--panel) 88%,var(--accent-dark)))}
.workflow-hub-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.workflow-hub-heading h3{font-size:15px;letter-spacing:-.025em;margin:6px 0 4px}
.workflow-hub-heading p{font-size:9px;line-height:1.55;color:var(--muted);margin:0}
.workflow-hub-note{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:8px;white-space:nowrap}
.workflow-hub-note .status-led{width:6px;height:6px}
.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.workflow-card{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--text);text-align:left;transition:border-color .18s,transform .18s,background .18s}
.workflow-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--panel-2)}
.workflow-card-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--accent-dark);color:var(--accent)}
.workflow-card-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7}
.workflow-card-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.workflow-card-copy strong{font-size:9px;line-height:1.35}
.workflow-card-copy small{font-size:7px;color:var(--muted);line-height:1.4}
.workflow-card-arrow{margin-left:auto;flex:0 0 auto;color:var(--subtle)}
.workflow-card-arrow svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7}
.workflow-check{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);cursor:pointer}
.workflow-check input{width:15px;height:15px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--accent)}
.workflow-check span{display:flex;flex-direction:column;gap:3px}
.workflow-check strong{font-size:10px;color:var(--text)}
.workflow-check small{font-size:8px;line-height:1.45;color:var(--muted)}
.workflow-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.workflow-result-panel{display:grid;gap:10px}
.workflow-result-steps{display:flex;flex-wrap:wrap;gap:7px 18px;margin:0;padding:0 0 0 18px;color:var(--muted);font-size:8px;line-height:1.5}
.workflow-summary{margin:0}
.workflow-artifact{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.workflow-artifact-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.workflow-artifact-copy strong{font-size:9px;overflow-wrap:anywhere}
.workflow-artifact-copy small{font-size:8px;color:var(--muted);overflow-wrap:anywhere}
.workflow-artifact-actions{display:flex;gap:6px;flex:0 0 auto}
.workflow-preview{max-height:300px}
.workflow-text-preview{max-height:220px}
@media(max-width:1000px){.workflow-grid{grid-template-columns:1fr}.workflow-card{min-height:58px}}
@media(max-width:620px){
 .workflow-hub{padding:13px;margin:15px 0}
 .workflow-hub-heading{flex-direction:column;gap:8px}
 .workflow-hub-heading h3{font-size:13px}
 .workflow-options{grid-template-columns:1fr}
 .workflow-artifact{align-items:flex-start;flex-direction:column}
 .workflow-artifact-actions{width:100%}
 .workflow-artifact-actions .mini-button{flex:1}
}

/* Laboratorio IA: conexiones simples, sin exponer claves en formularios de cada tarea */
.ai-connection-hub{margin:24px 0 30px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:15px;background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--panel) 82%,var(--accent-dark)))}
.ai-connection-hub .ai-connection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.ai-connection-hub .ai-connection-heading h3{font-size:18px;letter-spacing:-.035em;margin:7px 0 5px}
.ai-connection-hub .ai-connection-heading p{font-size:10px;line-height:1.6;color:var(--muted);margin:0;max-width:590px}
.provider-connect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.provider-connection-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}
.provider-connection-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.provider-connection-top h4{font-family:Manrope;font-size:12px;margin:0 0 3px}
.provider-connection-top p{font-size:8px;color:var(--muted);margin:0;line-height:1.4}
.provider-connection-status{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 7px;border:1px solid var(--line);border-radius:20px;font-size:8px;color:var(--muted);white-space:nowrap}
.provider-connection-status.connected{color:var(--good);border-color:rgba(139,212,177,.24);background:rgba(139,212,177,.055)}
.provider-connection-detail{font-size:9px;line-height:1.55;color:var(--muted);margin:10px 0 11px}
.provider-connection-card .provider-connect-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0}
.provider-connection-card .button{min-height:32px;padding:0 10px;font-size:9px}
.provider-credential-details{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}
.provider-credential-details summary{font-size:9px;color:var(--accent);font-weight:700;cursor:pointer;list-style:none}
.provider-credential-details summary::-webkit-details-marker{display:none}
.provider-credential-details summary:after{content:'＋';float:right;font-size:12px}
.provider-credential-details[open] summary:after{content:'−'}
.provider-credential-details .connection-key-label{display:block;margin:10px 0 6px;font-size:9px}
.provider-credential-details .form-control{min-height:35px;font-size:10px}
.provider-credential-details small{display:block;margin:6px 0 9px;font-size:8px;line-height:1.5;color:var(--muted)}
.provider-credential-details small a{color:var(--accent)}
.provider-credential-details .button{margin-top:3px}
.provider-connection-error{font-size:8px;line-height:1.5;color:var(--danger);margin:7px 0 0;min-height:0}
.provider-connection-error:empty{display:none}
.provider-managed-card{background:var(--panel-2)}
.ai-connection-hub .connection-footnote{margin:14px 0 0;font-size:8px;line-height:1.6;color:var(--subtle)}
@media(max-width:850px){.provider-connect-grid{grid-template-columns:1fr}}
@media(max-width:620px){
 .ai-connection-hub{padding:14px;margin:18px 0 23px}
 .ai-connection-hub .ai-connection-heading{flex-direction:column;gap:8px}
 .ai-connection-hub .ai-connection-heading h3{font-size:15px}
 .provider-connection-card{padding:12px}
 .provider-connection-card .provider-connect-row .button{flex:1}
}

.workflow-provider-notice{margin:9px 0 12px;font-size:9px}
.prompt-examples{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 15px}
.prompt-examples>span{font-size:8px;color:var(--muted);font-weight:700;margin-right:3px}
.prompt-examples .mini-button{font-size:8px}
.prompt-examples .mini-button:hover{border-color:var(--accent);color:var(--accent)}


/* Prisma Core workspace */
.core-section{max-width:1500px;margin:0 auto;padding-bottom:42px}
.core-hero{padding:24px 0 27px;border-bottom:1px solid var(--line)}
.core-hero h2{font:800 clamp(28px,4vw,46px)/1.08 Manrope,sans-serif;letter-spacing:-1.8px;margin:13px 0 10px}
.core-hero h2 em{font-style:normal;background:linear-gradient(100deg,#a4e4dc,#b6a9f2);-webkit-background-clip:text;background-clip:text;color:transparent}
.core-hero>p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.core-capabilities{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.core-capabilities span{border:1px solid var(--line);border-radius:30px;padding:6px 10px;color:var(--muted);font-size:9px;background:var(--panel)}
.core-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;margin-top:20px;align-items:start}
.core-chat-column{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden;box-shadow:var(--shadow-soft)}
.core-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.core-chat-toolbar .core-toolbar-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.core-toolbar-actions .mini-button{white-space:nowrap}@media(max-width:620px){.core-toolbar-actions{gap:5px}.core-toolbar-actions .mini-button{font-size:8px;padding:6px 7px}}
.core-chat-toolbar>div{display:grid;gap:3px}
.core-chat-toolbar strong{font:700 12px Manrope,sans-serif}
.core-chat-toolbar small{font-size:9px;color:var(--muted)}
.core-messages{min-height:330px;max-height:56vh;overflow:auto;overflow-anchor:auto;overscroll-behavior:contain;padding:22px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.core-welcome{text-align:center;max-width:620px;margin:auto;padding:26px 10px}
.core-welcome-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin:0 auto 15px;font-size:24px;color:#101218;background:linear-gradient(135deg,#a4e4dc,#b6a9f2);box-shadow:0 8px 28px #a4e4dc22}
.core-welcome h2{font:800 24px Manrope,sans-serif;letter-spacing:-.8px;margin:9px 0}
.core-welcome p{font-size:11px;color:var(--muted);line-height:1.65;max-width:490px;margin:0 auto 17px}
.core-examples{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
.core-examples button{border:1px solid var(--line);background:var(--bg);border-radius:9px;padding:8px 10px;color:var(--text);font:500 9px 'DM Sans',sans-serif;cursor:pointer}
.core-examples button:hover{border-color:var(--accent);color:var(--accent)}
.core-message{max-width:88%;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}
.core-message.user{align-self:flex-end;background:var(--panel-2);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.core-message.assistant{align-self:flex-start}
.core-message.assistant.has-results{max-width:100%;width:min(100%,860px)}
.core-message-results{display:grid;gap:9px;width:100%;margin-top:12px}
.core-result-preview{display:block;width:auto;max-width:100%;max-height:520px;height:auto;object-fit:contain;border-radius:10px;margin:10px 0;background:var(--panel-2)}
.core-result-player{display:block;width:min(100%,560px);max-width:100%;margin:10px 0;border-radius:9px}
.core-result-expired{padding:8px 10px;border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:9px;line-height:1.5}
.core-message-label{display:block;font-size:8px;letter-spacing:.1em;font-weight:800;color:var(--accent);margin-bottom:6px}
.core-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.65;color:var(--text)}
.core-message-files{margin-top:7px;color:var(--muted);font-size:9px}
.core-plan{margin:0 18px 15px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:13px;background:var(--panel-2)}
.core-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.core-plan-heading strong{font:700 12px Manrope,sans-serif}
.core-plan-heading span{font-size:9px;color:var(--muted)}
.core-plan>p{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 11px}
.core-plan-steps{display:grid;gap:8px;list-style:none;padding:0;margin:0}
.core-plan-steps li{display:flex;align-items:center;gap:9px}
.core-plan-number{width:23px;height:23px;flex:0 0 23px;border-radius:8px;display:grid;place-items:center;background:var(--bg);color:var(--accent);font-size:9px;font-weight:800}
.core-plan-copy{display:grid;gap:2px;min-width:0}
.core-plan-copy strong{font-size:10px}
.core-plan-copy small{font-size:8px;color:var(--muted);line-height:1.45}
.core-plan-warning{padding:9px 10px;border-radius:8px;background:rgba(214,155,54,.09);color:var(--warning)!important}
.core-plan-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}
.core-plan-question{font-weight:700;color:var(--text)!important}
.core-results{padding:0 18px 14px}
.core-results:empty{display:none}
.core-results-heading{font:700 12px Manrope,sans-serif;color:var(--good);margin-bottom:9px}
.core-result-card{padding:11px 12px;border:1px solid var(--line);border-radius:10px;margin-top:8px;background:var(--bg)}
.core-result-card>strong{font-size:10px}
.core-result-card>p{font-size:9px;line-height:1.55;color:var(--muted)}
.core-result-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:230px;overflow:auto;padding:9px;border-radius:7px;background:var(--panel-2);font:9px/1.55 ui-monospace,monospace;color:var(--text)}
.core-result-download{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:9px;color:var(--muted)}
.core-status{padding:8px 16px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);background:var(--panel-2)}
.core-status[data-kind="success"]{color:var(--good)}
.core-status[data-kind="warning"]{color:var(--warning)}
.core-status[data-kind="error"]{color:var(--danger)}
.core-composer{padding:12px 14px 13px;border-top:1px solid var(--line);background:var(--bg)}
.core-composer textarea{display:block;width:100%;min-height:54px;max-height:160px;resize:none;border:0;outline:0;background:transparent;color:var(--text);font:11px/1.6 'DM Sans',sans-serif;padding:5px 3px}
.core-composer textarea::placeholder{color:var(--subtle)}
.core-composer-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}
.core-composer-tools{display:flex;align-items:center;gap:7px}
.core-composer .button{min-height:34px;padding:0 13px}
.core-composer>small{display:block;color:var(--subtle);font-size:8px;line-height:1.5;margin-top:8px}
.core-attachments{display:flex;gap:6px;flex-wrap:wrap}
.core-attachments:empty{display:none}
.core-attachment{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 8px;border-radius:7px;background:var(--panel-2);font-size:8px;color:var(--muted)}
.core-attachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.core-attachment button{border:0;background:transparent;color:var(--muted);font-size:14px;cursor:pointer}
.core-side{display:grid;gap:10px}
.core-side-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.core-side-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--panel-2);color:var(--accent);margin-bottom:10px}
.core-side-card h3{font:700 11px Manrope,sans-serif;margin:0 0 6px}
.core-side-card p{font-size:9px;line-height:1.6;color:var(--muted);margin:0}
.core-side-card .text-action{margin-top:9px;font-size:9px}
.core-side-footnote{padding:4px 3px;font-size:8px;line-height:1.6;color:var(--subtle)}
@media(max-width:950px){.core-workspace{grid-template-columns:minmax(0,1fr)}.core-side{grid-template-columns:repeat(3,minmax(0,1fr))}.core-side-footnote{grid-column:1/-1}}
@media(max-width:620px){
 .core-hero{padding:16px 0 20px}.core-hero h2{font-size:30px;letter-spacing:-1.1px}.core-hero>p{font-size:11px}
 .core-workspace{margin-top:13px;gap:12px}.core-messages{min-height:280px;max-height:54vh;padding:13px}.core-message{max-width:96%}
 .core-plan{margin:0 10px 12px;padding:12px}.core-message.assistant.has-results{width:100%;max-width:100%}.core-result-preview{max-height:420px}
 .core-side{grid-template-columns:1fr 1fr}.core-side-card{padding:11px}.core-side-card:last-of-type{grid-column:1/-1}
 .core-chat-toolbar{padding:11px 12px}.core-composer{padding:10px}.core-composer-footer{align-items:flex-end}
 .core-composer-tools .mini-button{font-size:8px;padding:6px 8px}.core-composer .button{min-height:32px}
 .core-welcome{padding:16px 4px}.core-welcome h2{font-size:21px}.core-examples button{font-size:8px}
}


.core-progress{display:flex;align-items:center;gap:10px;padding:9px 15px 11px;border-top:1px solid var(--line);background:var(--panel-2)}
.core-progress-track{height:5px;flex:1;overflow:hidden;border-radius:8px;background:var(--line)}
.core-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8fd8d0,#a99be8);transition:width .22s ease}
.core-progress small{min-width:145px;text-align:right;font-size:8px;color:var(--muted)}
@media(max-width:620px){.core-progress{gap:7px;padding:8px 10px}.core-progress small{min-width:100px;font-size:7px}}


/* Product-first assistant home: useful workspace, not a decorative AI landing page */
.core-section{max-width:1120px;margin:0 auto;padding:24px 0 48px}
.core-hero-compact{padding:8px 0 18px;border:0}
.core-hero-compact .eyebrow{font-size:9px}
.core-hero-compact h2{font:750 clamp(26px,3.4vw,36px)/1.12 Manrope,sans-serif;letter-spacing:-1.2px;margin:8px 0 6px}
.core-hero-compact h2 em{color:var(--text);background:none}
.core-hero-compact>p{font-size:12px;line-height:1.55;max-width:700px}
.core-hero-compact .core-capabilities{margin-top:11px}
.core-hero-compact .core-capabilities span{font-size:8px;padding:5px 9px}
.core-workspace{grid-template-columns:minmax(0,1fr) 230px;gap:14px;margin-top:12px}
.core-chat-column{border-radius:14px;box-shadow:none}
.core-chat-toolbar{padding:12px 15px;background:var(--panel)}
.core-chat-toolbar strong{font-size:13px}
.core-chat-toolbar small{font-size:9px}
.core-messages{min-height:340px;max-height:58vh;padding:22px 24px;background:var(--bg)}
.core-welcome{padding:28px 10px}
.core-welcome-mark{display:none}
.core-welcome .eyebrow{font-size:9px;letter-spacing:.12em}
.core-welcome h2{font:650 23px Manrope,sans-serif;letter-spacing:-.65px;margin:9px 0}
.core-welcome p{font-size:11px;max-width:460px}
.core-examples{gap:8px}
.core-examples button{background:var(--panel);font-size:9px;border-radius:20px;padding:8px 12px}
.core-message{max-width:90%;border-radius:14px;padding:12px 15px;box-shadow:none}
.core-message.user{background:var(--panel-2)}
.core-message.assistant{background:var(--panel);border-color:var(--line)}
.core-message-label{font-size:8px;letter-spacing:.08em}
.core-message-body{font-size:12px;line-height:1.7}
.core-connect-banner{display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.core-connect-mark{width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:grid;place-items:center;background:var(--panel-3);color:var(--accent)}
.core-connect-banner>div{flex:1;min-width:0}
.core-connect-banner strong{font-size:10px}
.core-connect-banner p{font-size:9px;color:var(--muted);line-height:1.45;margin:3px 0 0}
.core-connect-banner .button{min-height:32px;padding:0 11px;font-size:9px;white-space:nowrap}
.core-plan{margin:0 15px 14px;background:var(--panel-2);border-color:var(--line)}
.core-plan-warning{font-size:9px;line-height:1.5}
.core-results{padding:0 15px 15px}
.core-result-card{background:var(--panel);padding:13px}
.core-result-card>strong{font-size:11px}
.core-result-card>p{font-size:10px}
.core-result-card pre{font-size:10px;max-height:320px}
.core-result-preview{display:block;max-width:100%;max-height:420px;object-fit:contain;border-radius:9px;margin:10px 0;background:var(--panel-2)}
.core-composer{padding:13px 15px;background:var(--panel)}
.core-composer textarea{font-size:12px;min-height:62px;padding:7px 4px}
.core-composer-footer{padding-top:7px;border-top:1px solid var(--line)}
.core-composer .button{border-radius:9px}
.core-side{gap:9px}
.core-side-card{padding:13px;border-radius:11px;box-shadow:none}
.core-side-card h3{font-size:10px}
.core-side-card p{font-size:9px}
.core-side-footnote{font-size:8px}
.core-status{background:var(--panel);font-size:9px}
.core-progress{background:var(--panel)}
@media(max-width:950px){
 .core-section{max-width:760px}
 .core-workspace{grid-template-columns:1fr}
 .core-side{grid-template-columns:repeat(2,minmax(0,1fr))}
 .core-side-footnote{grid-column:1/-1}
}
@media(max-width:620px){
 .core-section{padding:12px 0 28px}
 .core-hero-compact{padding:5px 0 13px}
 .core-hero-compact h2{font-size:27px}
 .core-hero-compact>p{font-size:10px}
 .core-workspace{margin-top:7px;gap:9px}
 .core-messages{min-height:300px;max-height:54vh;padding:13px}
 .core-message{max-width:96%;padding:10px 12px}
 .core-connect-banner{align-items:flex-start;flex-wrap:wrap;padding:10px}
 .core-connect-banner>div{width:calc(100% - 46px);flex:1}
 .core-connect-banner .button{margin-left:44px}
 .core-composer{padding:10px}
 .core-composer textarea{min-height:58px}
 .core-side{grid-template-columns:1fr 1fr}
}

/* Prisma Core is the primary workspace */
.core-nav-item{position:relative}
.core-nav-item .core-nav-badge{margin-left:auto;padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:7px;font-weight:800;letter-spacing:.08em}
.core-nav-item.active{background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),color-mix(in srgb,#a9a0ee 9%,var(--panel)));border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
.core-section{min-height:calc(100vh - 112px)}
.core-hero{padding:30px 0 24px}
.core-hero h2{font-size:clamp(34px,4.6vw,54px);letter-spacing:-2.2px}
.core-hero>p{font-size:14px;max-width:790px}
.core-capabilities span{font-size:10px;padding:7px 11px}
.core-workspace{margin-top:22px;grid-template-columns:minmax(0,1fr) 250px;gap:16px}
.core-chat-column{min-height:620px;display:flex;flex-direction:column}
.core-chat-toolbar{padding:15px 18px}
.core-chat-toolbar strong{font-size:14px}
.core-chat-toolbar small{font-size:10px}
.core-messages{flex:1;min-height:390px;max-height:calc(100vh - 460px);padding:26px}
.core-welcome{max-width:760px;padding:36px 12px}
.core-welcome-mark{width:56px;height:56px;font-size:27px}
.core-welcome h2{font-size:28px}
.core-welcome p{font-size:13px;max-width:590px}
.core-examples{gap:9px}
.core-examples button{font-size:10px;padding:10px 12px;border-radius:11px}
.core-composer{padding:16px 18px 17px}
.core-composer textarea{font-size:13px;min-height:62px}
.core-composer .button{min-height:40px}
.core-composer .mini-button{font-size:10px}
.core-side-card{padding:16px}
.core-side-card h3{font-size:12px}
.core-side-card p{font-size:10px}
@media(max-width:950px){
 .core-section{min-height:auto}
 .core-workspace{grid-template-columns:minmax(0,1fr)}
 .core-chat-column{min-height:560px}
 .core-messages{min-height:340px;max-height:58vh;padding:16px}
 .core-welcome{padding:22px 6px}
 .core-welcome h2{font-size:23px}
 .core-examples button{font-size:9px}
 .core-hero{padding:20px 0}
 .core-hero h2{font-size:clamp(30px,8vw,42px)}
}

/* Prisma Core: conversational output and subtle provider attribution */
.core-message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
.core-message-engine{display:block;margin-top:10px;font-size:9px;color:var(--subtle);letter-spacing:.015em}
.core-message.assistant:not(.has-results){min-width:0}
@media(max-width:620px){.core-message-body{font-size:11px;line-height:1.7}.core-message-engine{font-size:9px}}

/* Inline, accessible indication of an in-flight Prisma Core response */
.core-thinking{display:flex;align-items:center;gap:9px;align-self:flex-start;margin:8px 0;padding:10px 13px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--panel);font-size:10px;line-height:1.45}
.core-thinking-dot{color:var(--accent);font-size:15px;animation:prisma-thinking-pulse 1.6s ease-in-out infinite}
@keyframes prisma-thinking-pulse{0%,100%{opacity:.45;transform:scale(.93)}50%{opacity:1;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.core-thinking-dot{animation:none}}


/* PRISMA 1.1 · Repertorio simplificado y espacio de trabajo amplio */
.category-family{margin:0 0 3px}
.category-family-toggle{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);text-align:left;padding:10px 12px;cursor:pointer;font:inherit;font-size:12px;font-weight:650}
.category-family-toggle:hover,.category-family-toggle.expanded{background:var(--panel-2);border-color:var(--line)}
.category-family-toggle>span:nth-child(2){flex:1;min-width:0}
.category-family-toggle small{font-size:10px;font-weight:500;color:var(--muted)}
.category-family-toggle .category-chevron svg{width:12px;height:12px;opacity:.6;transition:transform .2s}
.category-family-toggle.expanded .category-chevron svg{transform:rotate(180deg)}
.category-family-children{padding:3px 0 8px 25px}
.category-family-children .category-item{min-height:32px;padding:7px 12px;margin:1px 0;font-size:11px}
.explore-finder{display:flex;align-items:stretch;gap:10px;margin:0 0 12px;flex-wrap:wrap}
.explore-query-wrap{display:flex;align-items:center;gap:10px;flex:2 1 320px;min-width:0;padding:0 15px;min-height:48px;border:1px solid var(--line-strong);background:var(--panel);border-radius:12px}
.explore-query-wrap>span svg{height:18px;width:18px;color:var(--muted)}
.explore-query-wrap input{flex:1;min-width:0;border:0;outline:0;color:var(--text);background:transparent;font:inherit;font-size:12px}
.explore-specialty{display:flex;align-items:center;gap:10px;flex:1 1 170px;min-height:48px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:0 12px;font-size:11px}
.explore-specialty>span{color:var(--muted);white-space:nowrap}
.explore-specialty select{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:11px}
.quick-tool-actions{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.quick-tool-actions button{border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);padding:8px 12px;font:inherit;font-size:10px;cursor:pointer}
.quick-tool-actions button:hover{border-color:var(--accent);background:var(--panel-2)}
.filter-row{gap:10px}
.filter-chips{display:flex;gap:6px;flex-wrap:wrap;max-width:100%}
.tool-modal{width:min(1120px,calc(100vw - 38px));max-height:min(95vh,1000px);max-height:min(95dvh,1000px)}
.modal-header{padding:20px 28px}
.modal-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px 18px;padding:22px 28px}
.modal-body>.modal-description,.modal-body>.file-drop,.modal-body>.file-list,.modal-body>.tool-hint,.modal-body>.progress-wrap,.modal-body>.workflow-options,.modal-body>.inline-fields,.modal-body>.provider-config,.modal-body>.prompt-examples,.modal-body>.workflow-provider-notice,.modal-body>#tool-output,.modal-body>.mini-button,.modal-body>.check-line,.modal-body>.model-controls,.modal-body>.model-details,.modal-body>.output-panel{grid-column:1/-1;min-width:0}
.modal-body>.form-field:has(textarea){grid-column:1/-1}
.modal-body>.form-field:has(textarea) textarea{min-height:154px;resize:vertical;line-height:1.55}
.modal-body>.form-field:has(#field-prompt) textarea,.modal-body>.form-field:has(#field-text) textarea{min-height:180px}
.modal-body .form-field{min-width:0}
.modal-body .form-field .form-control{width:100%;min-width:0}
.modal-body>.tool-hint{margin-block:2px}
.modal-body .file-drop{padding:24px;min-height:145px}
.modal-footer{padding:13px 28px}
.model-details{border:1px solid var(--line);border-radius:11px;padding:10px 14px;background:var(--panel-2)}
.model-details summary{cursor:pointer;font-size:11px;font-weight:650;color:var(--text)}
.model-details .form-field{margin-top:11px}
.modal-body .workflow-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media(max-width:750px){
 .tool-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column}
 .modal-header{padding:13px 16px;flex:0 0 auto}
 .modal-body{grid-template-columns:minmax(0,1fr);gap:10px;padding:13px 16px;flex:1 1 auto;min-height:0;overflow:auto}
 .modal-body>.form-field:has(textarea){grid-column:1}
 .modal-body .workflow-options{grid-template-columns:minmax(0,1fr)}
 .modal-footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:8px}
 .modal-footer .modal-privacy{display:none}
 .modal-body .file-drop{min-height:115px;padding:17px}
 .explore-finder{gap:8px}
 .explore-query-wrap{flex-basis:100%}
 .explore-specialty{flex-basis:100%}
 .quick-tool-actions{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
 .quick-tool-actions button{white-space:nowrap}
}

/* Prisma Core 2 · chat-first workspace; retains the existing dark/turquoise/lavender identity */
.core-section{max-width:1660px;width:100%;min-width:0;padding-bottom:8px}
.core-section.has-conversation .core-hero{display:none}
.core-section.has-conversation .core-workspace{margin-top:0}
.core-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:stretch;min-width:0}
.core-side{display:none!important}
.core-chat-column{min-width:0;min-height:500px;display:flex;flex-direction:column;border-radius:17px;isolation:isolate}
.core-messages{flex:1 1 auto;min-width:0;min-height:400px;height:clamp(480px,67dvh,900px);max-height:none;padding:25px clamp(16px,3vw,40px);scrollbar-width:thin}
.core-chat-toolbar{flex:0 0 auto;padding:13px 17px;gap:12px}
.core-chat-name{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:center;gap:11px;min-width:0;flex:1}
.core-chat-name>div{display:grid;min-width:0;gap:3px}
.core-chat-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}
.core-history-toggle,.core-history-close,.core-editor-close{border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;background:var(--bg);color:var(--text);cursor:pointer;flex:0 0 auto}
.core-history-toggle{width:35px;height:35px;font-size:15px}
.core-history-close{width:32px;height:32px;font-size:23px}
.core-history{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:470px;max-height:calc(100dvh - 112px);padding:15px 10px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.core-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px}
.core-history-head strong{font:750 13px Manrope,system-ui,sans-serif}
.core-history-close{display:none}
.core-history-new{width:100%;display:flex;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--panel-2);padding:11px 12px;border-radius:11px;color:var(--text);font:650 12px Manrope,system-ui,sans-serif;cursor:pointer}
.core-history-new>span{font-size:19px;color:var(--accent);line-height:1}
.core-history-search{display:flex;align-items:center;gap:7px;padding:0 10px;background:var(--bg);border:1px solid var(--line);border-radius:9px;min-height:37px}
.core-history-search>span{font-size:19px;color:var(--muted)}
.core-history-search input{width:100%;min-width:0;background:transparent;color:var(--text);border:0;outline:0;font-size:11px}
.core-conversation-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:3px;padding:2px;min-height:100px}
.core-history-entry{display:flex;align-items:stretch;gap:1px;border:1px solid transparent;border-radius:10px;position:relative;min-width:0}
.core-history-entry.active{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:var(--panel-2)}
.core-history-select{flex:1;min-width:0;border:0;background:transparent;color:var(--text);text-align:left;display:grid;gap:4px;padding:11px 8px;font:inherit;cursor:pointer}
.core-history-select strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;font-size:11px}
.core-history-select small{color:var(--subtle);font-size:9px}
.core-history-more{flex:0 0 28px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:18px}
.core-history-menu{position:absolute;right:1px;top:41px;z-index:6;min-width:135px;display:grid;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-soft)}
.core-history-menu button{background:transparent;color:var(--text);border:0;text-align:left;padding:9px;border-radius:6px;cursor:pointer;font-size:11px}
.core-history-menu button:hover{background:var(--panel-2)}
.core-history-menu button.danger{color:var(--danger)}
.core-history-empty,.core-history-footnote{font-size:10px;color:var(--subtle);line-height:1.5;padding:3px 6px}
.core-history-footnote{margin:auto 0 0}
.core-history-backdrop{display:none}
.core-message{min-width:0;max-width:85%;padding:13px 16px;border-radius:17px}
.core-message.assistant{max-width:min(100%,880px);width:min(100%,880px);background:transparent;border-color:transparent;padding:14px 8px}
.core-message.user{max-width:min(81%,610px);border-radius:18px 18px 4px 18px}
.core-message.assistant.has-results{width:min(100%,880px)}
.core-message-body{font-size:12px;line-height:1.78;white-space:pre-wrap;overflow-wrap:anywhere}
.core-message-label{font-size:9px}
.core-message-actions{display:flex;position:relative;gap:3px;align-items:center;flex-wrap:wrap;margin-top:12px}
.core-message-action{width:31px;height:31px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:8px;display:grid;place-items:center;cursor:pointer}
.core-message-action:hover,.core-message-action[aria-pressed="true"]{border-color:var(--line);color:var(--accent);background:var(--panel-2)}
.core-message-action svg{width:16px!important;height:16px!important;max-width:16px;max-height:16px;flex:none}
.core-action-menu{position:absolute;left:154px;bottom:32px;z-index:9;display:grid;min-width:205px;max-width:calc(100vw - 90px);padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-soft)}
.core-action-menu button{font:500 11px/1.4 'DM Sans',system-ui,sans-serif;color:var(--text);border:0;background:transparent;text-align:left;padding:9px;border-radius:6px;cursor:pointer}
.core-action-menu button:hover{background:var(--panel-2)}
.core-message-results{min-width:0;max-width:100%}
.core-result-card{min-width:0;padding:13px;overflow:hidden}
.core-result-download{gap:8px;flex-wrap:wrap;justify-content:flex-start;min-width:0}
.core-result-download span{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
.core-result-preview{max-width:100%;width:min(100%,720px);height:auto;max-height:460px}
.core-composer{flex:0 0 auto;padding:11px 15px 10px;position:relative;background:var(--panel);border-top:1px solid var(--line)}
.core-composer textarea{border:1px solid var(--line-strong);background:var(--bg);border-radius:13px;padding:13px 14px;min-height:54px;max-height:145px;font-size:13px;line-height:1.55;overflow-y:auto}
.core-composer-footer{margin-top:8px;gap:9px;align-items:center}
.core-attach-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;color:var(--text);background:var(--bg);cursor:pointer;font:600 11px Manrope,system-ui,sans-serif;min-height:37px}
.core-attach-button svg{display:block;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important;flex:0 0 18px!important;color:var(--accent)}
.core-attach-button:hover{border-color:var(--accent)}
.core-composer-note{font-size:9px!important;line-height:1.5}
.core-attachments{margin-bottom:8px}
.core-attachment{font-size:11px;padding:7px 10px;border-radius:10px}
.core-model-settings{font-size:10px;color:var(--muted);margin-top:6px}
.core-model-settings summary{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.core-model-settings label{display:grid;gap:5px;margin-top:9px;font-size:10px}
.core-model-settings select{min-height:36px;max-width:100%;width:min(350px,100%);padding:6px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px}
.core-model-settings>small{display:block;max-width:540px;margin:7px 0 0;font-size:9px;line-height:1.5}
.core-chat-toolbar .core-toolbar-actions{display:flex;align-items:center;flex-wrap:nowrap;flex:0 0 auto}
.core-mini-button{font-size:10px}
.core-editor-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px;background:rgba(5,9,18,.85);backdrop-filter:blur(10px)}
.core-editor-backdrop.hidden{display:none}
body.core-editor-open{overflow:hidden}
.core-editor-panel{background:var(--panel);width:min(1120px,100%);max-height:95dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.core-editor-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px;border-bottom:1px solid var(--line)}
.core-editor-panel h2{font:750 23px Manrope,system-ui,sans-serif;margin:6px 0}
.core-editor-panel p{color:var(--muted);font-size:11px;line-height:1.55;margin:0}
.core-editor-close{width:35px;height:35px;font-size:23px}
.core-editor-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(230px,1fr);gap:18px;padding:20px}
.core-editor-preview{min-width:0}
.core-editor-preview canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;max-width:100%;border:1px solid var(--line);border-radius:12px}
.core-editor-preview small{display:block;margin-top:8px;font-size:10px;color:var(--subtle)}
.core-editor-controls{display:grid;gap:12px;align-content:start}
.core-editor-controls label{display:grid;gap:6px;font-size:11px;color:var(--muted)}
.core-editor-controls input,.core-editor-controls select{min-width:0;width:100%;height:39px;padding:0 10px;border-radius:9px;background:var(--bg);border:1px solid var(--line);color:var(--text);font-size:12px}
.core-editor-controls input[type="range"]{height:25px;padding:0}
.core-editor-controls .core-editor-check{display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.core-editor-check input{height:17px;width:17px;flex:0 0 17px}
.core-editor-panel>footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:14px 20px}
@media(max-width:1050px){
 .core-workspace{grid-template-columns:196px minmax(0,1fr);gap:9px}
 .core-history{padding:10px 7px}
 .core-chat-toolbar .core-mini-button{display:none}
}
@media(max-width:750px){
 .core-section{width:100%;max-width:none;padding-bottom:0;min-width:0}
 .core-workspace{display:block;margin-top:11px;min-width:0}
 .core-section.has-conversation .core-workspace{margin-top:0}
 .core-hero{padding:14px 0 17px}
 .core-hero h2{font-size:clamp(29px,7vw,36px);letter-spacing:-1.1px;line-height:1.11}
 .core-hero>p{font-size:11px;line-height:1.6}
 .core-capabilities{display:none}
 .core-chat-column{border-radius:13px;min-height:0;width:100%;max-width:100%;overflow:hidden}
 .core-messages{height:calc(100dvh - 292px);min-height:280px;max-height:none;padding:15px 12px;gap:12px;scroll-behavior:auto}
 .core-message{max-width:92%;padding:11px 12px}
 .core-message.user{max-width:91%}
 .core-message.assistant,.core-message.assistant.has-results{max-width:100%;width:100%;padding:9px 3px}
 .core-message-body{font-size:13px;line-height:1.66}
 .core-chat-toolbar{padding:10px 10px}
 .core-chat-name{gap:7px}
 .core-chat-name strong{max-width:39vw;font-size:11px}
 .core-chat-name small{font-size:9px}
 .core-chat-toolbar .core-new-button{padding:7px 8px;min-height:34px}
 .core-chat-toolbar .core-new-button span{display:none}
 .core-composer{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
 .core-composer textarea{min-height:48px;font-size:16px}
 .core-composer-note{font-size:9px}
 .core-attach-button{width:38px;height:38px;padding:7px;border-radius:11px}
 .core-attach-button span{display:none}
 .core-attach-button svg{width:19px!important;height:19px!important;max-width:19px!important}
 .core-composer-footer .button{min-height:38px;padding:0 13px}
 .core-history{position:fixed;inset:0 auto 0 0;z-index:405;width:min(84vw,330px);max-height:100dvh;height:100dvh;border-radius:0;transform:translateX(-110%);transition:transform .22s ease;box-shadow:0 20px 70px rgba(0,0,0,.28);padding:20px 13px calc(17px + env(safe-area-inset-bottom))}
 .core-history-close{display:grid}
 .core-history-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:404;opacity:0;pointer-events:none;transition:opacity .2s}
 .core-workspace.history-open .core-history{transform:translateX(0)}
 .core-workspace.history-open .core-history-backdrop{display:block;opacity:1;pointer-events:auto}
 .core-editor-backdrop{padding:0}
 .core-editor-panel{width:100vw;max-height:100dvh;height:100dvh;border-radius:0;display:flex;flex-direction:column}
 .core-editor-panel>header{padding:16px}
 .core-editor-layout{display:block;padding:12px 14px;overflow-y:auto;flex:1}
 .core-editor-controls{grid-template-columns:1fr 1fr;gap:11px;margin-top:15px}
 .core-editor-controls label:first-child,.core-editor-controls label:nth-child(2),.core-editor-controls .core-editor-check{grid-column:1/-1}
 .core-editor-panel>footer{flex:0 0 auto;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
 .core-result-download .mini-button{font-size:10px}
 .core-action-menu{left:30px}
}
@media(prefers-reduced-motion:reduce){
 .core-history,.core-history-backdrop{transition:none}
}

/* True 3D prism surface: animated tetrahedron geometry, not a flat rotating SVG */
.prism-core.canvas-ready .hero-prism{display:none}
.hero-prism-canvas{display:block;width:235px;height:235px;max-width:100%;aspect-ratio:1;filter:drop-shadow(0 16px 24px rgba(150,165,248,.22))}
@media(max-width:850px){.hero-prism-canvas{width:195px;height:195px}}
@media(max-width:620px){.hero-prism-canvas{width:165px;height:165px}}
@media(prefers-reduced-motion:reduce){.hero-prism-canvas{animation:none}}

/* Keep the composer visible in the first mobile viewport without hiding the
   gradient Prisma headline that introduces the assistant. */
@media(max-width:750px){
 .core-section:not(.has-conversation) .core-messages{height:clamp(275px,calc(100dvh - 455px),490px);min-height:275px}
}

/* Prisma Core 3 · un solo menú lateral y chat a ancho completo */
.sidebar-backdrop{display:none}
.core-sidebar-conversations{min-height:0;flex:0 0 auto;margin:0 0 16px}
#core-sidebar-conversations .core-history{
 position:static!important;inset:auto!important;z-index:auto;
 display:flex;transform:none!important;transition:none!important;box-shadow:none;
 width:100%;max-width:100%;height:auto;max-height:none;min-height:0;
 padding:0;border:0;border-radius:0;background:transparent;overflow:visible
}
#core-sidebar-conversations .core-history-head,
#core-sidebar-conversations .core-history-close{display:none!important}
#core-sidebar-conversations .core-history-new{min-height:40px}
#core-sidebar-conversations .core-conversation-list{max-height:none;overflow:visible}
#core-sidebar-conversations .core-history-footnote{margin-top:15px}
#core-section .core-history-backdrop{display:none!important}
body.is-core-view .sidebar-bottom{margin-top:20px}
body.is-core-view .page-content{max-width:none;padding-left:clamp(12px,2vw,28px);padding-right:clamp(12px,2vw,28px)}
body.is-core-view .core-section{max-width:none;padding-bottom:0}
body.is-core-view .core-workspace{grid-template-columns:minmax(0,1fr)!important;margin-top:0;gap:0}
body.is-core-view .core-chat-toolbar{display:none!important}
body.is-core-view .core-chat-column{
 border:0;box-shadow:none;background:transparent;border-radius:0;overflow:visible;
 min-height:calc(100dvh - 100px)
}
body.is-core-view .core-messages{width:100%;padding-inline:clamp(8px,2.6vw,36px);height:clamp(390px,calc(100dvh - 280px),1100px);min-height:390px}
body.is-core-view .core-composer{border-radius:16px;background:var(--panel);border:1px solid var(--line)}
@media(max-width:850px){
 .sidebar-backdrop.open{display:block;position:fixed;inset:0;z-index:19;background:rgba(4,6,11,.62);border:0;padding:0;cursor:default}
 body.is-core-view .core-chat-column{min-height:calc(100dvh - 80px)}
 body.is-core-view .core-messages{height:clamp(340px,calc(100dvh - 272px),1000px);min-height:340px}
}
@media(max-width:620px){
 body.is-core-view .page-content{padding-left:10px;padding-right:10px}
 body.is-core-view .core-messages{padding:12px 4px;height:clamp(330px,calc(100dvh - 265px),900px);min-height:330px}
 body.is-core-view .core-composer{border-radius:12px}
}

/* Readable markdown output with no injected raw HTML */
.core-message-body p{margin:0 0 10px;line-height:1.68}
.core-message-body p:last-child{margin-bottom:0}
.core-message-body h2,.core-message-body h3,.core-message-body h4,.core-message-body h5{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.025em;line-height:1.3;margin:13px 0 8px;color:var(--text)}
.core-message-body h2{font-size:17px}
.core-message-body h3{font-size:15px}
.core-message-body h4,.core-message-body h5{font-size:13px}
.core-message-body ul,.core-message-body ol{padding-left:22px;margin:9px 0 12px}
.core-message-body li{margin:4px 0;line-height:1.55}
.core-message-body blockquote{margin:10px 0;border-left:2px solid var(--accent);padding:6px 12px;color:var(--muted);background:var(--panel-2);border-radius:0 8px 8px 0}
.core-message-body pre{max-width:100%;overflow-x:auto;padding:13px 15px;background:var(--bg);border:1px solid var(--line);border-radius:11px;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre}
.core-message-body code{font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--panel-2);padding:2px 5px;border-radius:5px;overflow-wrap:anywhere}
.core-message-body pre code{padding:0;background:none;white-space:inherit}
.core-message-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}


/* Prisma Core 3.1 — one full-height chat, no split landing, pinned composer.
   The scroll container is #core-messages, never the composer or page. */
body.is-core-view{
  height:var(--prisma-core-viewport,100dvh);
  min-height:0;
  overflow:hidden;
}
body.is-core-view .app-shell{
  height:var(--prisma-core-viewport,100dvh);
  min-height:0;
  overflow:hidden;
}
body.is-core-view .main-area{
  height:var(--prisma-core-viewport,100dvh);
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.is-core-view .topbar{
  flex:0 0 76px;
  height:76px;
  position:relative;
  top:auto;
  width:100%;
}
body.is-core-view .page-content{
  flex:1 1 0;
  height:auto;
  min-height:0;
  max-height:none;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding-top:0;
  padding-bottom:0;
}
body.is-core-view .core-section{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0;
  padding:0;
}
body.is-core-view .core-hero{display:none!important}
body.is-core-view .core-workspace,
body.is-core-view .core-section.has-conversation .core-workspace{
  flex:1 1 0;
  display:flex!important;
  flex-direction:column;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0;
  padding:0;
  gap:0;
}
body.is-core-view .core-chat-column{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  width:100%;
  height:auto;
  min-height:0!important;
  max-height:100%;
  overflow:hidden;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body.is-core-view .core-connect-banner{
  flex:0 1 auto;
  max-height:22%;
  overflow-y:auto;
}
body.is-core-view .core-messages,
body.is-core-view .core-section:not(.has-conversation) .core-messages{
  flex:1 1 0;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  width:100%;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scroll-behavior:auto;
  padding-block:18px;
}
body.is-core-view .core-plan:not(.hidden){
  flex:0 1 auto;
  min-height:0;
  max-height:31%;
  overflow-y:auto;
}
body.is-core-view .core-status,
body.is-core-view .core-progress{flex:0 0 auto}
body.is-core-view .core-composer{
  flex:0 0 auto;
  min-height:0;
  width:100%;
  max-height:min(46dvh,420px);
  overflow-y:auto;
  overscroll-behavior:contain;
  position:relative;
  z-index:2;
  margin:0;
  border-radius:16px 16px 0 0;
  border:1px solid var(--line);
  box-shadow:0 -8px 30px rgba(0,0,0,.13);
  background:var(--panel);
}
body.is-core-view .main-footer{display:none!important}
body.is-core-view .core-welcome{
  width:100%;
  max-width:720px;
  margin:auto;
  padding:22px 12px 28px;
  text-align:center;
}
body.is-core-view .core-welcome-eyebrow{
  display:flex;
  justify-content:center;
  color:var(--accent);
  font:750 10px Manrope,system-ui,sans-serif;
  letter-spacing:.16em;
}
body.is-core-view .core-welcome h2{
  max-width:690px;
  margin:16px auto 15px;
  font:800 clamp(30px,3.9vw,48px)/1.12 Manrope,system-ui,sans-serif;
  letter-spacing:-.048em;
  text-wrap:balance;
  color:var(--text);
}
body.is-core-view .core-welcome-gradient{
  background:linear-gradient(105deg,#8bdcd2 0%,#8ac4e0 46%,#b6a9f2 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
body.is-core-view .core-welcome p{
  max-width:540px;
  margin:0 auto 22px;
  color:var(--muted);
  font-size:clamp(12px,1.1vw,14px);
  line-height:1.65;
}
@media(max-width:850px){
  body.is-core-view .topbar{flex-basis:76px}
}
@media(max-width:620px){
  body.is-core-view .topbar{height:64px;flex-basis:64px}
  body.is-core-view .core-messages{padding:12px 6px!important}
  body.is-core-view .core-welcome{padding:14px 6px 22px}
  body.is-core-view .core-welcome h2{
    font-size:clamp(28px,7.6vw,38px);
    margin:12px auto;
  }
  body.is-core-view .core-welcome p{font-size:12px;margin-bottom:18px}
  body.is-core-view .core-examples{gap:9px}
  body.is-core-view .core-composer{
    max-height:min(55dvh,330px);
    border-radius:14px 14px 0 0;
    padding:10px 10px max(10px,env(safe-area-inset-bottom));
  }
  body.is-core-view .core-composer-note{display:none}
  body.is-core-view .core-status{padding:6px 11px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  body.is-core-view .core-messages{scroll-behavior:auto}
}


/* Prisma Core · composer compacto: chat dominante, controles esenciales fijos */
body.is-core-view .core-status[data-kind="info"],
body.is-core-view .core-status[data-kind="success"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  clip-path:inset(50%);
  white-space:nowrap;
}
body.is-core-view .core-status[data-kind="warning"],
body.is-core-view .core-status[data-kind="error"]{
  flex:0 0 auto;
  padding:6px 12px;
  background:var(--panel);
  font-size:11px;
  line-height:1.4;
  border-top:1px solid var(--line);
}
body.is-core-view .core-composer{
  flex:0 0 auto;
  max-height:none;
  overflow:visible;
  padding:9px 12px max(9px,env(safe-area-inset-bottom));
  border-radius:14px 14px 0 0;
}
body.is-core-view .core-composer textarea{
  box-sizing:border-box;
  height:44px;
  min-height:44px;
  max-height:110px;
  overflow-y:auto;
  padding:10px 12px;
  margin:0;
  font-size:15px;
  line-height:1.45;
  border-radius:12px;
}
body.is-core-view .core-composer-footer{
  gap:8px;
  margin-top:7px;
  align-items:center;
}
body.is-core-view .core-attachments{
  max-height:64px;
  overflow-y:auto;
  overscroll-behavior:contain;
  margin-bottom:6px;
}
body.is-core-view .core-attachments:empty{display:none}
body.is-core-view .core-composer-tools{display:flex;align-items:center;gap:6px}
body.is-core-view .core-model-settings{
  position:relative;
  margin:0;
  padding:0;
  display:block;
}
body.is-core-view .core-model-settings>summary{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  padding:0;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--bg);
  color:var(--muted);
  cursor:pointer;
  list-style:none;
  -webkit-tap-highlight-color:transparent;
}
body.is-core-view .core-model-settings>summary::-webkit-details-marker{display:none}
body.is-core-view .core-model-settings>summary::marker{content:""}
body.is-core-view .core-model-settings>summary svg{
  width:19px;
  height:19px;
  flex:0 0 19px;
}
body.is-core-view .core-model-settings>summary:hover,
body.is-core-view .core-model-settings[open]>summary{
  border-color:var(--accent);
  color:var(--accent);
}
body.is-core-view .core-model-panel{
  position:absolute;
  bottom:calc(100% + 11px);
  left:-52px;
  z-index:20;
  display:grid;
  gap:11px;
  width:min(320px,calc(100vw - 30px));
  max-height:min(290px,55dvh);
  overflow-y:auto;
  padding:16px;
  color:var(--text);
  border:1px solid var(--line-strong);
  border-radius:13px;
  background:var(--panel);
  box-shadow:0 12px 45px rgba(0,0,0,.25);
}
body.is-core-view .core-model-panel strong{
  font:700 13px Manrope,system-ui,sans-serif;
}
body.is-core-view .core-model-panel label{
  display:grid;
  gap:7px;
  margin:0;
  font-size:12px;
  color:var(--muted);
}
body.is-core-view .core-model-panel select{
  width:100%;
  max-width:100%;
  min-height:39px;
  font-size:12px;
}
body.is-core-view .core-model-panel small{
  font-size:10px;
  line-height:1.6;
  color:var(--muted);
}
@media(max-width:620px){
  body.is-core-view .core-composer{
    max-height:none;
    overflow:visible;
    padding:8px 10px max(8px,env(safe-area-inset-bottom));
  }
  body.is-core-view .core-composer textarea{
    height:44px;
    min-height:44px;
    max-height:108px;
    font-size:16px; /* iOS: no autofocus zoom */
    padding:10px 12px;
  }
  body.is-core-view .core-composer-footer{margin-top:6px}
  body.is-core-view .core-model-panel{
    left:-49px;
    width:min(305px,calc(100vw - 26px));
  }
}


/* Prisma Space: navegación Core, panel personal y voz · identidad no invasiva */
body.is-core-view .global-search{display:none!important}
.core-top-actions{display:none;align-items:center;gap:7px;position:relative}
body.is-core-view .core-top-actions{display:flex}
.core-top-actions .icon-button{width:37px;height:37px;flex:none}
.core-top-actions .icon-button:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.core-top-actions svg{width:19px;height:19px}
.core-more-menu{position:absolute;right:0;top:calc(100% + 14px);z-index:60;width:225px;padding:7px;display:grid;gap:2px;background:var(--panel);border:1px solid var(--line-strong);border-radius:13px;box-shadow:var(--shadow)}
.core-more-menu button{border:0;background:transparent;color:var(--text);text-align:left;border-radius:8px;padding:11px 12px;font-size:12px}
.core-more-menu button:hover{background:var(--panel-2);color:var(--accent)}
body.is-core-view .topbar-actions{gap:8px}
body.is-core-view .profile-chip{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}
body.is-core-view .core-welcome-gradient{background:linear-gradient(100deg,#91e4d6 2%,#83c5e6 47%,#b7a5f2 97%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
body.is-core-view .core-welcome h2{max-width:600px}
body.is-core-view .core-voice-button{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:var(--bg);padding:0}
body.is-core-view .core-voice-button svg{display:block;width:19px;height:19px}
body.is-core-view .core-voice-button:hover,body.is-core-view .core-voice-button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
body.is-core-view .core-talk-button{background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 17%,var(--bg)),color-mix(in srgb,#ad9dee 14%,var(--bg)));color:var(--accent)}
body.is-core-view .core-composer-tools{gap:5px}
body.is-core-view .core-composer-footer{gap:7px}
body.is-core-view .core-attach-button{width:38px;height:38px;min-height:38px}
body.is-core-view .core-composer .button-primary{background:linear-gradient(110deg,#9adbd2,#91d3d5);color:#152627}
.profile-wrap{position:relative}
body.profile-open::before{content:"";position:fixed;inset:0;z-index:14;background:rgba(1,3,9,.56);pointer-events:auto}
.profile-menu{position:fixed;top:82px;right:18px;z-index:100;width:min(350px,calc(100vw - 30px));max-height:calc(100dvh - 105px);overflow-y:auto;padding:0;background:var(--panel);color:var(--text);border-radius:19px;border:1px solid var(--line-strong);box-shadow:0 26px 85px rgba(0,0,0,.32)}
.profile-menu-top{display:flex;gap:12px;align-items:center;padding:19px 18px;border-bottom:1px solid var(--line)}
.profile-menu-top img{width:36px;height:36px;border-radius:10px}
.profile-menu-top div{display:grid;gap:4px;min-width:0}
.profile-menu-top strong{font:750 15px Manrope,system-ui,sans-serif}
.profile-menu-top small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-menu-section{display:grid;gap:3px;padding:8px;border-bottom:1px solid var(--line)}
.profile-menu .profile-menu-action{display:flex;align-items:center;gap:12px;min-height:42px;width:100%;padding:10px 12px;color:var(--text);font-size:12px;border:0;border-radius:10px;background:transparent;text-align:left;text-decoration:none}
.profile-menu .profile-menu-action:hover{color:var(--accent);background:var(--panel-2)}
.profile-menu .profile-menu-action>span:first-child{width:23px;flex:none;font-size:19px;font-weight:400;line-height:1;text-align:center;color:var(--muted)}
.profile-menu .profile-menu-action.danger:hover{color:var(--warn)}
.profile-menu .profile-menu-privacy{margin:11px 16px 17px;color:var(--muted);font-size:10px;line-height:1.6}
.profile-menu .profile-menu-section .hidden{display:none!important}
.profile-chip{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}
.auth-backdrop,.voice-backdrop,.pwa-instructions{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(6,8,15,.72);backdrop-filter:blur(9px)}
.auth-panel,.voice-panel,.pwa-instructions>section{position:relative;display:flex;flex-direction:column;gap:12px;width:min(450px,100%);max-height:min(92dvh,850px);overflow-y:auto;padding:27px 25px;border:1px solid var(--line-strong);border-radius:21px;background:var(--panel);box-shadow:0 30px 100px rgba(0,0,0,.3);color:var(--text)}
.auth-panel>img,.pwa-instructions img{border-radius:13px}
.auth-close,.pwa-instructions-close,#pwa-instructions-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--muted);font-size:27px;width:36px;height:36px;cursor:pointer}
.auth-panel h2,.voice-panel h2,.pwa-instructions h2{font:750 23px/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.035em;margin:0}
.auth-panel p,.voice-panel p,.pwa-instructions p{color:var(--muted);font-size:12px;line-height:1.65;margin:0}
.auth-availability{background:color-mix(in srgb,var(--accent) 9%,var(--panel));padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:9px}
.auth-provider-grid{display:grid;gap:8px;margin-top:7px}
.auth-provider-grid button,.auth-submit,#auth-phone-form button{min-height:43px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg);color:var(--text);font-weight:650;padding:9px 13px}
.auth-provider-grid button{display:flex;align-items:center;justify-content:center;gap:8px;position:relative}
.auth-provider-grid button small{font-weight:400;font-size:9px;color:var(--muted)}
.auth-provider-grid button:disabled,.auth-submit:disabled{opacity:.52;cursor:not-allowed}
.auth-provider-grid button:not(:disabled):hover{border-color:var(--accent)}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line-strong);flex:1}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;background:var(--bg);border-radius:11px}
.auth-tabs button{border:0;border-radius:9px;background:transparent;padding:9px;color:var(--muted);font-size:12px}
.auth-tabs button.active{background:var(--panel-3);color:var(--text);font-weight:700}
#auth-form,#auth-phone-form{display:grid;gap:12px}
#auth-form label,#auth-phone-form label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:650}
#auth-form input,#auth-phone-form input{height:43px;width:100%;padding:0 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);font-size:16px;outline:0}
#auth-form input:focus,#auth-phone-form input:focus{border-color:var(--accent)}
.auth-submit{background:linear-gradient(110deg,#9adbd2,#91c8df);color:#142122;border:0}
.auth-guest,.auth-reset{border:0;background:transparent;color:var(--accent);font-size:12px;padding:9px 4px}
.auth-message:empty{display:none}
.auth-message{border-radius:8px;padding:9px;background:var(--panel-2)}
.voice-panel{align-items:center;text-align:center;max-width:420px;gap:18px}
.voice-orb{width:84px;height:84px;display:grid;place-items:center;color:#152329;font-size:32px;border-radius:50%;background:linear-gradient(130deg,#93e5da,#a8a4ee);box-shadow:0 0 35px rgba(154,219,210,.22);margin:12px}
.voice-transcript{min-height:65px;width:100%;padding:16px;border-radius:13px;background:var(--bg);color:var(--text);font-size:13px;line-height:1.6}
.voice-controls{display:flex;justify-content:center;gap:10px;width:100%}
.voice-controls button{border:1px solid var(--line-strong);padding:12px 17px;border-radius:12px;background:var(--panel-2);color:var(--text)}
.voice-controls #voice-record{border:0;background:linear-gradient(110deg,#9adbd2,#a6aceb);color:#112422;font-weight:700}
.voice-panel small{font-size:10px;line-height:1.6;color:var(--muted)}
.pwa-banner{flex:0 0 auto;display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 12px;background:var(--panel);color:var(--text);border-bottom:1px solid var(--line);position:relative;z-index:16}
.pwa-banner img{border-radius:10px;flex:none}
.pwa-banner-copy{flex:1;min-width:0;display:grid;gap:3px}
.pwa-banner-copy strong{font-size:12px}
.pwa-banner-copy span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pwa-banner-install{border:0;border-radius:11px;padding:10px 14px;background:linear-gradient(110deg,#92dcd3,#b0a4ee);font-size:11px;font-weight:700;color:#17292c;white-space:nowrap}
.pwa-banner-close{width:28px;height:28px;border:0;background:transparent;color:var(--muted);font-size:24px}
.pwa-instructions>section{width:min(380px,100%);align-items:center;text-align:center}
@media(max-width:850px){
 .profile-menu{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-height:min(84dvh,670px);border-radius:22px}
 body.is-core-view .breadcrumb>span:not(.crumb-sep){display:none}
 body.is-core-view .breadcrumb .crumb-sep{display:none}
 body.is-core-view .topbar-actions{gap:6px}
 body.is-core-view .topbar .breadcrumb{font-size:12px;white-space:nowrap;overflow:hidden}
 .auth-panel,.voice-panel{max-height:calc(100dvh - 28px);padding:23px 18px}
}
@media(max-width:390px){
 body.is-core-view .core-top-actions{gap:4px}
 body.is-core-view .core-top-actions .icon-button{width:33px;height:34px}
 body.is-core-view .core-voice-button{width:34px;height:38px}
 body.is-core-view .core-composer .button-primary{padding:0 10px;font-size:11px}
 body.is-core-view .core-composer-tools{gap:4px}
}
@media(display-mode:standalone){
 .topbar{padding-top:env(safe-area-inset-top)}
}

/* Dos líneas con degradado, sin forzar una cabecera separada del chat */
body.is-core-view .core-welcome-gradient{display:block;margin-top:.08em}
body.is-core-view .core-top-actions .icon-button:focus-visible,
body.is-core-view .core-voice-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

@media(max-width:850px){
 .profile-menu .profile-menu-action{font-size:14px;min-height:46px}
 .profile-menu .profile-menu-privacy{font-size:11px}
 .auth-panel{gap:10px}
 .auth-panel .auth-guest{display:block;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:10px;text-align:center;color:var(--accent);background:var(--panel-2)}
}


/* PRISMA CORE 4 · un campo, un contenedor, corrección iOS Safari y PWA */
html:has(body.is-core-view){
  height:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
  background:var(--bg);
}
body.is-core-view{
  position:fixed!important;
  top:var(--prisma-vp-top,0px)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--prisma-core-viewport,100dvh)!important;
  max-height:var(--prisma-core-viewport,100dvh)!important;
  overflow:hidden!important;
  overscroll-behavior:none;
}
body.is-core-view .app-shell,
body.is-core-view .main-area{
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
}
body.is-core-view .page-content,
body.is-core-view .core-section,
body.is-core-view .core-workspace,
body.is-core-view .core-chat-column{
  min-height:0!important;
  overflow:hidden!important;
}
body.is-core-view .core-messages{
  flex:1 1 0!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden;
}
body.is-core-view .core-composer{
  flex:0 0 auto;
  width:100%;
  padding:8px 10px max(8px,env(safe-area-inset-bottom));
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  z-index:5;
}
body.is-core-view.is-keyboard-open .core-composer{padding-bottom:6px!important}
body.is-core-view .core-compose-surface{
  width:100%;
  display:flex;
  gap:4px;
  align-items:center;
  min-height:52px;
  padding:5px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line-strong));
  border-radius:21px;
  background:linear-gradient(115deg,color-mix(in srgb,#85d8d5 5%,var(--panel)),var(--panel) 42%,color-mix(in srgb,#b0a1ef 5%,var(--panel)));
  box-shadow:0 4px 24px rgba(0,0,0,.08);
}
body.is-core-view .core-compose-surface:focus-within{
  border-color:color-mix(in srgb,var(--accent) 56%,var(--line));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 9%,transparent);
}
body.is-core-view .core-compose-surface #core-input{
  flex:1 1 0;
  min-width:0;
  width:100%;
  height:39px;
  min-height:39px;
  max-height:118px;
  padding:9px 10px;
  margin:0;
  border:0!important;
  border-radius:13px;
  resize:none;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text);
  font-size:16px;
  line-height:1.35;
  outline:none;
  -webkit-appearance:none;
}
body.is-core-view .core-compose-surface .core-composer-footer{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:0;
  border:0!important;
}
body.is-core-view .core-composer-tools{display:flex;gap:3px;align-items:center}
body.is-core-view .core-attach-button,
body.is-core-view .core-model-settings>summary,
body.is-core-view .core-voice-button{
  display:grid;
  place-items:center;
  min-width:31px;
  width:31px;
  height:34px;
  min-height:34px;
  flex:0 0 31px;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--muted);
}
body.is-core-view .core-attach-button:hover,
body.is-core-view .core-model-settings>summary:hover,
body.is-core-view .core-voice-button:hover{background:var(--panel-2);color:var(--accent)}
body.is-core-view .core-talk-button{
  background:linear-gradient(130deg,color-mix(in srgb,#8fe0d8 16%,var(--panel)),color-mix(in srgb,#b3a5f3 18%,var(--panel)));
  color:var(--accent);
}
body.is-core-view .core-composer .button-primary{
  min-width:37px;
  width:37px;
  height:37px;
  min-height:37px;
  padding:0;
  border-radius:13px;
  flex:0 0 37px;
  background:linear-gradient(125deg,#8cddd5,#abc4ea 56%,#b7a9f2);
  color:#142327;
  gap:0;
}
body.is-core-view #core-send-label{display:none}
body.is-core-view #core-send svg{width:17px;height:17px}
body.is-core-view .core-attachments:empty{display:none}
body.is-core-view .core-attachments:not(:empty){margin-bottom:6px}
body.is-core-view .core-model-panel{bottom:calc(100% + 17px);left:-47px}
body.is-core-view .topbar{position:relative!important;top:0!important;}
/* Evita que la hoja de login quede atrapada en el área del teclado de iOS. */
.auth-backdrop,.voice-backdrop,.pwa-instructions{
  top:var(--prisma-vp-top,0px);
  bottom:auto;
  height:var(--prisma-core-viewport,100dvh);
  min-height:0;
  overflow:hidden;
}
.auth-backdrop.hidden,.voice-backdrop.hidden,.pwa-instructions.hidden{display:none!important}
.auth-panel{
  max-height:calc(var(--prisma-core-viewport,100dvh) - 24px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.auth-panel .auth-close{
  position:sticky!important;
  top:0;
  align-self:flex-end;
  margin-top:-8px;
  margin-bottom:-36px;
  z-index:15;
  flex:0 0 36px;
  border-radius:50%;
  background:var(--panel-2);
  color:var(--text);
}
body.is-core-view .core-top-actions .icon-button:hover,
body.is-core-view .profile-chip:hover{
  border-color:color-mix(in srgb,#a9b8e9 48%,var(--line));
}
@media(max-width:620px){
  body.is-core-view .core-compose-surface{gap:2px;padding:4px;border-radius:18px}
  body.is-core-view .core-compose-surface #core-input{padding:9px 7px}
  body.is-core-view .core-compose-surface .core-composer-footer{gap:2px}
  body.is-core-view .core-composer-tools{gap:1px}
  body.is-core-view .core-attach-button,
  body.is-core-view .core-model-settings>summary,
  body.is-core-view .core-voice-button{
    width:29px;min-width:29px;flex-basis:29px;height:34px;
  }
  body.is-core-view .core-composer .button-primary{width:36px;min-width:36px;flex-basis:36px}
  body.is-core-view .core-composer{padding:7px 8px max(7px,env(safe-area-inset-bottom))}
  body.is-core-view.is-keyboard-open .core-composer{padding-bottom:4px!important}
  body.is-core-view .core-compose-surface #core-input{font-size:16px}
}
@media(max-width:355px){
  body.is-core-view .core-compose-surface #core-input{padding-left:5px;padding-right:2px}
  body.is-core-view .core-attach-button,
  body.is-core-view .core-model-settings>summary,
  body.is-core-view .core-voice-button{width:27px;min-width:27px;flex-basis:27px}
}
@media(display-mode:standalone){
  body.is-core-view .topbar{
    height:calc(64px + env(safe-area-inset-top))!important;
    flex:0 0 calc(64px + env(safe-area-inset-top))!important;
    min-height:calc(64px + env(safe-area-inset-top))!important;
    padding:env(safe-area-inset-top) 12px 0!important;
    box-sizing:border-box;
  }
  body.is-core-view .core-composer{padding-bottom:max(8px,env(safe-area-inset-bottom))}
  body.is-core-view.is-keyboard-open .core-composer{padding-bottom:5px!important}
}


/* Voice feedback and restrained accents */
body.is-core-view .core-voice-feedback:not(.hidden){
 display:block;
 padding:5px 11px 6px;
 margin:0 7px 5px;
 color:var(--accent);
 font-size:11px;
 line-height:1.5;
 background:linear-gradient(90deg,color-mix(in srgb,#87ded5 10%,var(--panel)),transparent 86%);
 border-radius:10px;
}
body.is-core-view #core-dictate[aria-pressed="true"]{
 color:#0e282b;
 background:linear-gradient(135deg,#8addd3,#b0aeed)!important;
 animation:prisma-voice-pulse 1.5s ease-in-out infinite;
}
@keyframes prisma-voice-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}}
@media(prefers-reduced-motion:reduce){body.is-core-view #core-dictate[aria-pressed="true"]{animation:none}}
.voice-panel #voice-play-reply{
 border-color:color-mix(in srgb,var(--accent) 38%,var(--line));
 background:color-mix(in srgb,#9acfcf 13%,var(--panel));
 color:var(--accent);
}
body.is-core-view .core-message.assistant .core-message-label{
 color:color-mix(in srgb,var(--accent) 72%,#b5a8f3);
}
body.is-core-view .core-message.user{
 border-color:color-mix(in srgb,#a6a4f0 18%,var(--line-strong));
}
body.is-core-view #core-top-more[aria-expanded="true"]{
 border-color:color-mix(in srgb,#a9a1f0 42%,var(--line));
}
body.is-core-view .core-history-entry.active{
 border-left:2px solid color-mix(in srgb,#a1d7db 55%,#b9a3ef);
}
@media(display-mode:standalone){
 body:not(.is-core-view) .topbar{
  min-height:calc(76px + env(safe-area-inset-top));
  height:calc(76px + env(safe-area-inset-top));
  padding-top:env(safe-area-inset-top);
 }
 .sidebar{padding-top:env(safe-area-inset-top)}
 .profile-menu{padding-bottom:max(6px,env(safe-area-inset-bottom))}
}


/* PWA en iPhone: separar los diálogos de la barra de estado y el home indicator. */
@media(display-mode:standalone){
 .auth-backdrop,.voice-backdrop,.pwa-instructions{
  padding-top:max(16px,env(safe-area-inset-top));
  padding-bottom:max(16px,env(safe-area-inset-bottom));
 }
 .auth-panel,.voice-panel{
  max-height:calc(var(--prisma-core-viewport,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 26px);
 }
 .auth-panel .auth-close{top:0}
}

/* La barra unificada usa solo el icono de clip; su etiqueta queda accesible en aria-label. */
body.is-core-view .core-attach-button span{display:none!important}


/* Core iOS viewport: keyboard tracks visualViewport.pageTop + height.
 * Standalone PWA without a keyboard uses the ACTUAL window.innerHeight, not
 * screen.height (which includes unavailable iOS status/home-indicator areas).
 * Never extend the chat behind the home indicator. */
body.is-core-view{
  position:absolute!important;
  top:var(--prisma-vp-top,0px)!important;
  bottom:auto!important;
  height:var(--prisma-core-viewport,100dvh)!important;
  min-height:0!important;
  max-height:var(--prisma-core-viewport,100dvh)!important;
}
body.is-core-view.is-prisma-standalone:not(.is-keyboard-open){
  position:fixed!important;
  inset:0 0 auto 0!important;
  height:var(--prisma-core-viewport,100dvh)!important;
  max-height:var(--prisma-core-viewport,100dvh)!important;
}
body.is-core-view.is-prisma-standalone.is-keyboard-open{
  position:absolute!important;
  top:var(--prisma-vp-top,0px)!important;
  bottom:auto!important;
}
body.is-core-view .app-shell,
body.is-core-view .main-area{
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
}
body.is-core-view .core-chat-column{min-height:0!important}
body.is-core-view .core-messages{min-height:0!important}
body.is-core-view .core-composer{margin-top:auto!important}
body.is-core-view.is-keyboard-open .core-composer{
  padding-bottom:4px!important;
}
body.is-core-view.is-prisma-standalone:not(.is-keyboard-open) .core-composer{
  padding-bottom:max(7px,env(safe-area-inset-bottom))!important;
}
@supports (height:100dvh){
  body.is-core-view.is-prisma-standalone:not(.is-keyboard-open) .app-shell{
    min-height:0!important;
  }
}


/* iOS PWA: the WKWebView already reserves the home-indicator region outside
 * the usable content area. Applying env(safe-area-inset-bottom) again to the
 * composer double-counts that region and leaves ~34px of dead space.
 * Keep a small 6–12px optical cushion without stretching the viewport. */
@media (display-mode: standalone) {
  body.is-core-view:not(.is-keyboard-open) .core-composer {
    padding-bottom: clamp(6px, calc(env(safe-area-inset-bottom, 0px) - 26px), 12px) !important;
  }
}
body.is-core-view.is-prisma-standalone:not(.is-keyboard-open) .core-composer {
  padding-bottom: clamp(6px, calc(env(safe-area-inset-bottom, 0px) - 26px), 12px) !important;
}

/* Minor final iPhone PWA refinement. Keep this restricted to genuine iOS
 * standalone installations: normal Safari, Android, tablets and desktop retain
 * the tested responsive spacing. Avoid expanding the WKWebView or shifting
 * document coordinates, which previously caused clipping on iPhone. */
@media (max-width: 620px) {
  body.is-core-view.is-prisma-ios.is-prisma-standalone:not(.is-keyboard-open) .core-composer {
    padding-bottom: 2px !important;
  }
}


/* Sidebar refresh · compact ChatGPT-inspired navigation shell */
.sidebar{
 width:254px;
 padding:14px 13px 12px;
 gap:0;
 transition:transform .24s ease,background .18s ease;
}
.sidebar-header{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:6px;
 min-height:38px;
 margin:0 0 13px;
 padding:0 3px;
}
.sidebar-header .brand{
 min-width:0;
 flex:1 1 auto;
 gap:8px;
 padding:0;
}
.sidebar-header .brand-mark{
 width:27px;
 height:27px;
 flex:0 0 27px;
}
.sidebar-header .brand-mark svg{width:27px;height:27px}
.sidebar-header .brand-copy{min-width:0;gap:0}
.sidebar-header .brand-copy strong{
 font-size:15px;
 line-height:1.2;
 letter-spacing:-.035em;
 font-weight:750;
 white-space:nowrap;
}
.sidebar-header .brand-copy small{display:none}
.sidebar-header-actions{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.sidebar-header-button{
 width:31px;
 height:31px;
 display:grid;
 place-items:center;
 padding:0;
 border:0;
 border-radius:8px;
 background:transparent;
 color:var(--muted);
 transition:background .16s,color .16s;
}
.sidebar-header-button:hover,
.sidebar-header-button[aria-expanded="true"]{
 background:var(--panel-3);
 color:var(--text);
}
.sidebar-header-button svg{
 width:18px;
 height:18px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.75;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.sidebar-search-slot{margin:0 3px 7px;min-width:0}
.sidebar-search-slot .core-history-search{
 display:none;
 width:100%;
 min-height:36px;
 padding:0 10px;
 border:1px solid var(--line-strong);
 border-radius:9px;
 background:var(--bg);
}
body.sidebar-search-open .sidebar-search-slot .core-history-search{display:flex}
.sidebar-search-slot .core-history-search>span{font-size:17px;line-height:1;color:var(--muted)}
.sidebar-search-slot .core-history-search input{font-size:12px;min-height:34px}
.sidebar-new-chat-slot{margin:0 0 10px;min-width:0}
.sidebar-new-chat-slot .core-history-new{
 width:100%;
 min-height:38px;
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:11px;
 padding:0 10px;
 border:1px solid transparent;
 border-radius:9px;
 background:transparent;
 color:var(--text);
 font:600 13px "DM Sans",sans-serif;
 text-align:left;
}
.sidebar-new-chat-slot .core-history-new:hover{
 background:var(--panel-2);
 border-color:var(--line);
}
.sidebar-new-chat-icon{
 width:18px;
 height:18px;
 flex:0 0 18px;
 display:grid;
 place-items:center;
 color:var(--muted);
}
.sidebar-new-chat-icon svg{
 width:18px;
 height:18px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.sidebar>.side-label{
 font-size:8px;
 letter-spacing:.13em;
 padding:0 10px 6px;
}
.sidebar>.side-label-spaced{margin-top:15px;padding-bottom:6px}
.primary-nav,.category-nav{gap:2px}
.sidebar .nav-item{
 height:37px;
 min-height:37px;
 gap:10px;
 padding:0 10px;
 border-radius:8px;
 font-size:13px;
}
.sidebar .nav-icon{width:17px;height:17px;flex:0 0 17px}
.sidebar .nav-icon svg{width:17px;height:17px}
.sidebar .core-nav-badge{
 font-size:8px;
 letter-spacing:.06em;
 padding:4px 6px;
 border-radius:5px;
}
.sidebar .nav-item kbd,.sidebar .nav-count{font-size:9px;padding:3px 6px}
.sidebar .category-item{
 height:34px;
 min-height:34px;
 gap:9px;
 padding:0 10px;
 border-radius:8px;
 font-size:11px;
}
.sidebar .category-icon{width:15px;height:15px}
#core-sidebar-conversations{margin:0 0 8px}
#core-sidebar-conversations .core-history{gap:4px}
#core-sidebar-conversations .core-history-new,
#core-sidebar-conversations .core-history-search,
#core-sidebar-conversations .core-history-head{display:none!important}
#core-sidebar-conversations .core-conversation-list{
 display:flex;
 flex-direction:column;
 gap:2px;
 max-height:none;
 overflow:visible;
}
#core-sidebar-conversations .core-history-entry{border-radius:8px}
#core-sidebar-conversations .core-history-select{padding:8px 9px;gap:3px}
#core-sidebar-conversations .core-history-select strong{font-size:11px;font-weight:550}
#core-sidebar-conversations .core-history-select small{font-size:9px}
#core-sidebar-conversations .core-history-footnote{display:none}
.sidebar-bottom{margin-top:auto}
.sidebar .privacy-card{padding:9px 10px;margin-bottom:9px;gap:8px;border-radius:9px}
.sidebar .privacy-card strong{font-size:10px}
.sidebar .privacy-card p{display:none}
.sidebar .privacy-icon,.sidebar .privacy-icon svg{width:16px;height:16px}
.sidebar .sidebar-foot{font-size:8px;gap:6px;padding:0 4px}
.sidebar .sidebar-foot .icon-button{width:23px;height:23px}

@media(min-width:851px){
 body.sidebar-collapsed .sidebar{transform:translateX(-105%);pointer-events:none}
 body.sidebar-collapsed .main-area{margin-left:0}
 body.sidebar-collapsed .mobile-menu{display:grid}
 body:not(.sidebar-collapsed) .mobile-menu{display:none}
}
@media(max-width:850px){
 .sidebar{
  width:min(88vw,320px);
  padding:calc(13px + env(safe-area-inset-top)) 13px calc(12px + env(safe-area-inset-bottom));
 }
 .sidebar.open{transform:translateX(0)}
 .sidebar-header{margin-bottom:12px}
 .sidebar-header .brand-copy strong{font-size:16px}
 .sidebar .nav-item{height:39px;min-height:39px}
 .sidebar .category-item{height:36px;min-height:36px}
 .sidebar-bottom{margin-top:14px}
 .sidebar .privacy-card p{display:none}
}
@media(max-width:620px){
 .sidebar{width:min(88vw,330px)}
 .sidebar-header{min-height:40px}
 .sidebar-header-button{width:33px;height:33px}
 .sidebar-search-slot .core-history-search{min-height:40px}
 .sidebar-new-chat-slot .core-history-new{min-height:40px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 .sidebar{transition:none}
 .sidebar-header-button,.sidebar-new-chat-slot .core-history-new{transition:none}
}


/* Prisma Core · Markdown tables and readable structured answers */
.core-message-body{min-width:0;overflow-wrap:anywhere}
.core-message-body .core-table-wrap{
 width:100%;
 max-width:100%;
 margin:12px 0 16px;
 overflow-x:auto;
 overscroll-behavior-inline:contain;
 border:1px solid var(--line);
 border-radius:11px;
 background:var(--panel);
 scrollbar-width:thin;
}
.core-message-body .core-markdown-table{
 width:100%;
 min-width:390px;
 border:0;
 border-collapse:separate;
 border-spacing:0;
 color:var(--text);
 font-size:11px;
 line-height:1.55;
}
.core-message-body .core-markdown-table th,
.core-message-body .core-markdown-table td{
 min-width:90px;
 padding:10px 12px;
 border:0;
 border-bottom:1px solid var(--line);
 text-align:left;
 vertical-align:top;
 overflow-wrap:anywhere;
}
.core-message-body .core-markdown-table th{
 background:var(--panel-2);
 color:var(--text);
 font-weight:750;
 white-space:normal;
}
.core-message-body .core-markdown-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel-2) 42%,transparent)}
.core-message-body .core-markdown-table tbody tr:last-child td{border-bottom:0}
.core-message-body .core-markdown-table .align-center{text-align:center}
.core-message-body .core-markdown-table .align-right{text-align:right;font-variant-numeric:tabular-nums}
.core-message-body .core-md-rule{height:1px;border:0;background:var(--line);margin:14px 0}
.core-message-body del{color:var(--muted);text-decoration:line-through}
@media(max-width:620px){
 .core-message-body .core-table-wrap{margin:10px 0 13px;border-radius:9px}
 .core-message-body .core-markdown-table{min-width:340px;font-size:10px}
 .core-message-body .core-markdown-table th,
 .core-message-body .core-markdown-table td{padding:8px 9px;min-width:82px}
}


/* Core is the first paint: keep the old landing navigation out of the boot frame. */
body.is-core-view #core-workspace > .core-history{display:none!important}
.core-sidebar-loading{margin:0;padding:8px 10px;color:var(--subtle);font-size:10px;line-height:1.5}


/* Coordinated first paint: never expose the pre-hydrated shell. */
body.app-booting{overflow:hidden!important;background:var(--bg)}
body.app-booting .app-shell{visibility:hidden!important}
.app-startup{
 position:fixed;inset:0;z-index:10000;display:grid;place-items:center;
 padding:24px;background:var(--bg);color:var(--text);
}
.app-startup.hidden{display:none!important}
.app-startup-card{
 display:grid;justify-items:center;gap:12px;width:min(320px,100%);
 padding:28px 24px;border:1px solid var(--line);border-radius:20px;
 background:var(--panel);box-shadow:var(--shadow);text-align:center;
}
.app-startup-mark{width:48px;height:48px;display:grid;place-items:center;color:var(--accent)}
.app-startup-mark svg{width:44px;height:44px}
.app-startup-card>strong{font:800 18px/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.035em}
.app-startup-status{min-height:18px;color:var(--muted);font-size:11px;line-height:1.5}
.app-startup-spinner{
 width:20px;height:20px;border:2px solid var(--line-strong);
 border-top-color:var(--accent);border-radius:50%;
 animation:prismaBootSpin .8s linear infinite;
}
@keyframes prismaBootSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.app-startup-spinner{animation:none;border-color:var(--accent)}}

/* Account modal: guest mode stays compact; unavailable sign-in methods are hidden. */
.auth-panel{
 width:min(440px,calc(100vw - 32px));
 max-height:min(82dvh,640px);
 padding:24px;
 gap:13px;
 overflow-x:hidden;
 overflow-y:auto;
 scrollbar-width:thin;
}
.auth-panel>img{width:48px;height:48px;object-fit:cover}
.auth-panel h2{font-size:22px}
.auth-panel .auth-availability{font-size:11px;line-height:1.55}
.auth-panel .auth-guest{min-height:42px}
@media(max-width:620px){
 .auth-backdrop{padding:14px}
 .auth-panel{width:100%;max-height:calc(100dvh - 28px);padding:22px 18px;border-radius:18px}
}


/* Prisma Core · keep both sides of every turn inside one readable chat lane. */
html:has(body.is-core-view),
html:has(body.is-core-view) body {
  overflow-x: hidden !important;
}
body.is-core-view {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
body.is-core-view .app-shell,
body.is-core-view .main-area,
body.is-core-view .page-content,
body.is-core-view #core-section,
body.is-core-view #core-workspace,
body.is-core-view .core-chat-column,
body.is-core-view #core-messages {
  box-sizing: border-box;
  min-width: 0 !important;
  max-width: 100% !important;
}
body.is-core-view .app-shell,
body.is-core-view .main-area,
body.is-core-view .page-content,
body.is-core-view #core-section,
body.is-core-view #core-workspace,
body.is-core-view .core-chat-column {
  overflow-x: hidden !important;
}
body.is-core-view #core-messages {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  overflow-x: hidden !important;
}
body.is-core-view .core-message-row {
  display: flex;
  flex: 0 0 auto;
  width: 100%;
  max-width: 1080px;
  min-width: 0;
  margin-inline: auto;
  box-sizing: border-box;
}
body.is-core-view .core-message-row.user { justify-content: flex-end; }
body.is-core-view .core-message-row.assistant { justify-content: flex-start; }
body.is-core-view .core-message-row > .core-message {
  min-width: 0;
  max-width: 100%;
  align-self: auto;
  flex: 0 1 auto;
}
body.is-core-view .core-message-row > .core-message.user {
  width: auto;
  max-width: min(81%, 610px);
}
body.is-core-view .core-message-row > .core-message.assistant {
  width: min(100%, 980px);
  max-width: 100%;
}
body.is-core-view .core-message-row > .core-message.assistant.has-results {
  width: 100%;
  max-width: 100%;
}
body.is-core-view .core-message-body,
body.is-core-view .core-message-results,
body.is-core-view .core-result-card {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
body.is-core-view .core-message-body pre {
  max-width: 100%;
  overflow-x: hidden;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
body.is-core-view .core-message-body pre code {
  white-space: inherit;
  overflow-wrap: anywhere;
}
body.is-core-view #core-thinking {
  width: min(100%, 1080px);
  max-width: 100%;
  margin-inline: auto;
}
@media (max-width: 620px) {
  body.is-core-view .core-message-row { max-width: 100%; }
  body.is-core-view .core-message-row > .core-message.user { max-width: 91%; }
  body.is-core-view .core-message-row > .core-message.assistant,
  body.is-core-view .core-message-row > .core-message.assistant.has-results {
    width: 100%;
  }
}

/* Core 5: constrained previews of locally downloaded website artifacts. */
.core-website-preview{width:100%;margin:10px 0 12px;overflow:hidden;border:1px solid var(--border,rgba(90,103,129,.25));border-radius:14px;background:#fff}
.core-website-frame{display:block;width:100%;height:min(56vh,520px);min-height:280px;border:0;background:#fff}
.core-website-preview.hidden{display:none!important}
@media(max-width:640px){.core-website-frame{height:410px;min-height:320px}.core-website-preview{border-radius:10px}}

/* PWA UX 2026-11: transient chat search, no reserved sidebar row. */
.sidebar-search-slot{display:none!important}
.conversation-search-layer{
 position:fixed;
 inset:0;
 z-index:950;
 box-sizing:border-box;
 display:flex;
 align-items:flex-start;
 justify-content:center;
 padding:clamp(28px,9vh,90px) 18px 18px;
 overflow:hidden;
}
.conversation-search-layer.hidden{display:none!important}
.conversation-search-backdrop{
 position:absolute;inset:0;
 background:rgba(5,7,13,.78);
 backdrop-filter:blur(7px);
 -webkit-backdrop-filter:blur(7px);
}
.conversation-search-panel{
 position:relative;
 z-index:1;
 display:flex;
 flex-direction:column;
 width:min(600px,100%);
 max-height:min(74dvh,700px);
 min-height:0;
 border:1px solid var(--line-strong);
 border-radius:19px;
 background:var(--panel);
 color:var(--text);
 overflow:hidden;
 box-shadow:0 24px 80px rgba(0,0,0,.35);
}
.conversation-search-header{
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 flex:0 0 auto;
 padding:16px 18px 8px;
}
.conversation-search-header h2{
 margin:0;
 color:var(--text);
 font:750 16px/1.35 Manrope,"DM Sans",sans-serif;
 letter-spacing:-.025em;
}
#conversation-search-close{
 display:grid;place-items:center;
 flex:0 0 38px;width:38px;height:38px;
 border:1px solid var(--line);
 border-radius:11px;background:var(--panel-2);
 color:var(--muted);font-size:18px;cursor:pointer;
}
#conversation-search-close:hover{color:var(--text);border-color:var(--accent)}
.conversation-search-field-slot{padding:3px 18px 10px;flex:0 0 auto}
.conversation-search-field-slot .core-history-search{
 display:flex!important;align-items:center;
 width:100%;min-width:0;min-height:49px;
 padding:0 14px;gap:10px;
 border:1px solid var(--line-strong);
 border-radius:13px;
 background:var(--bg);
}
.conversation-search-field-slot .core-history-search>span{
 display:inline-block;color:var(--accent);
 font-size:24px;line-height:1;
}
.conversation-search-field-slot .core-history-search input{
 display:block;flex:1 1 auto;
 min-width:0;width:100%;height:46px;min-height:46px;
 border:0;outline:0;box-shadow:none;
 background:transparent;color:var(--text);
 font:500 16px/1.35 "DM Sans",sans-serif;
 -webkit-appearance:none;
}
.conversation-search-field-slot .core-history-search:focus-within{
 border-color:color-mix(in srgb,var(--accent) 66%,var(--line));
 box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 11%,transparent);
}
.conversation-search-section-head{
 display:flex;justify-content:space-between;align-items:center;gap:6px;
 padding:10px 20px 8px;color:var(--muted);
 border-top:1px solid var(--line);
 font-size:11px;font-weight:650;
}
.conversation-search-private{color:var(--subtle);font-size:10px;font-weight:450}
.conversation-search-results{
 min-height:0;max-height:430px;overflow-y:auto;overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 padding:0 11px 11px;
}
.conversation-search-result{
 display:flex;align-items:center;gap:12px;
 width:100%;min-width:0;min-height:64px;
 padding:10px 11px;
 border:1px solid transparent;border-radius:12px;
 background:transparent;color:var(--text);
 text-align:left;cursor:pointer;
}
.conversation-search-result:hover,
.conversation-search-result:focus-visible{
 outline:none;background:var(--panel-2);
 border-color:var(--line-strong);
}
.conversation-search-result-icon{
 display:grid;place-items:center;
 flex:0 0 32px;width:32px;height:32px;
 border:1px solid var(--line-strong);border-radius:10px;
 background:var(--panel-2);
 color:var(--accent);font-size:22px;line-height:1;
}
.conversation-search-result-copy{min-width:0;flex:1 1 auto;display:grid;gap:4px}
.conversation-search-result-copy strong{
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 font-size:13px;font-weight:680;
}
.conversation-search-result-copy small{
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 color:var(--muted);font-size:11px;
}
.conversation-search-result-count{
 flex:0 0 auto;align-self:center;white-space:nowrap;
 color:var(--subtle);font-size:10px;
}
.conversation-search-empty{
 padding:35px 13px;text-align:center;color:var(--muted);
 font-size:13px;line-height:1.6;
}
.conversation-search-hint{
 flex:0 0 auto;margin:0;padding:10px 20px 13px;
 border-top:1px solid var(--line);
 color:var(--subtle);font-size:10px;
}
@media(max-width:750px){
 .conversation-search-layer{
  padding:0;align-items:stretch;
  height:100dvh;max-height:100dvh;
 }
 .conversation-search-panel{
  width:100%;height:100%;max-height:none;
  border:0;border-radius:0;box-shadow:none;
 }
 .conversation-search-header{padding:18px 18px 9px}
 .conversation-search-header h2{font-size:17px}
 .conversation-search-field-slot{padding:5px 16px 13px}
 .conversation-search-section-head{padding:13px 18px 9px}
 .conversation-search-results{flex:1 1 0;max-height:none;padding:0 9px 12px}
 .conversation-search-result{min-height:70px;padding:10px}
 .conversation-search-result-copy strong{font-size:14px}
 .conversation-search-result-copy small{font-size:12px}
 .conversation-search-hint{padding:12px 16px max(12px,env(safe-area-inset-bottom,0px))}
 /* The generated PWA layout can include the status bar in its web viewport.
    Reserve a reliable notch/dynamic-island space only for iOS standalone. */
 body.is-prisma-ios.is-prisma-standalone .conversation-search-panel{
  padding-top:max(58px,calc(env(safe-area-inset-top,0px) + 8px));
 }
}
/* Dedicated safe-area treatment for every individual tool and workflow.
 * Keep scroll within the modal body; the header and footer stay usable. */
@media(max-width:750px){
 #tool-modal.modal-backdrop{
  padding:0!important;display:flex;align-items:stretch;justify-content:stretch;
  height:100dvh;max-height:100dvh;overflow:hidden;
 }
 #tool-modal .tool-modal{
  width:100%;height:100%;max-height:100%;
  min-height:0;margin:0;border-radius:0;
  display:flex;flex-direction:column;overflow:hidden;
 }
 #tool-modal .modal-header{
  flex:0 0 auto;
  padding:14px 16px;
  background:var(--panel);
 }
 #tool-modal .modal-body{
  flex:1 1 0;min-height:0;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:18px;
 }
 #tool-modal .modal-footer{
  flex:0 0 auto;
  padding:10px 14px max(12px,calc(env(safe-area-inset-bottom,0px) + 8px));
 }
 body.is-prisma-ios.is-prisma-standalone #tool-modal .modal-header{
  padding-top:max(64px,calc(env(safe-area-inset-top,0px) + 12px));
 }
}
/* Shift the composer gently down within the actual usable PWA viewport.
 * Avoid negative insets and never extend behind the home indicator. */
@media(max-width:620px){
 body.is-core-view.is-prisma-ios.is-prisma-standalone:not(.is-keyboard-open) .core-composer{
  padding-bottom:0!important;
 }
 body.is-core-view.is-prisma-ios.is-prisma-standalone.is-keyboard-open .core-composer{
  padding-bottom:3px!important;
 }
}

/* Keep iOS search results above the software keyboard. Unlike a full-screen
   page, this temporary finder follows the visual viewport when focused. */
@media(max-width:750px){
 .conversation-search-layer:not(.hidden){
  inset:auto 0 auto 0;
  top:var(--prisma-search-vp-top,0px);
  height:var(--prisma-search-viewport,100dvh);
  max-height:var(--prisma-search-viewport,100dvh);
 }
}

/* PWA screen reconciliation: the JS viewport is the largest *paintable*
   browser measurement, never the hardware screen. Align the fixed navigation
   drawer with that same height so it cannot appear to end above the chat. */
@media(max-width:620px){
 body.is-core-view.is-prisma-ios.is-prisma-standalone:not(.is-keyboard-open) .sidebar{
  bottom:auto;
  height:var(--prisma-core-viewport,100dvh);
  max-height:var(--prisma-core-viewport,100dvh);
  min-height:0;
  box-sizing:border-box;
 }
}

/* Mobile sidebar gestures and ChatGPT-like independent inertial scrolling.
   The native vertical scroll never competes with horizontal edge gestures.
   Do not adjust the app viewport or iPhone home-indicator geometry. */
.sidebar-scroll-region{
 flex:1 1 0;
 min-height:0;
 min-width:0;
 overflow-y:auto;
 overflow-x:hidden;
 overscroll-behavior-y:contain;
 -webkit-overflow-scrolling:touch;
 touch-action:pan-y;
}
.sidebar-scroll-region>.side-label{
 font-size:8px;
 letter-spacing:.13em;
 padding:0 10px 6px;
}
.sidebar-scroll-region>.side-label-spaced{margin-top:15px;padding-bottom:6px}
.sidebar>.sidebar-bottom{
 flex:0 0 auto;
 margin-top:0!important;
 padding-top:10px;
 background:var(--panel);
}
@media(max-width:850px){
 .sidebar{
  overflow:hidden;
  overscroll-behavior:contain;
  transition:transform .24s cubic-bezier(.22,.7,.2,1),background .18s ease;
 }
 .sidebar-scroll-region{
  scroll-behavior:auto;
  overscroll-behavior-y:contain;
 }
 .sidebar.sidebar-gesture-preview{
  pointer-events:auto;
  will-change:transform;
 }
 .sidebar-backdrop.sidebar-gesture-preview{
  display:block;
  position:fixed;
  inset:0;
  z-index:19;
  background:rgba(4,6,11,.62);
  border:0;
  pointer-events:none;
 }
 .sidebar .sidebar-bottom{margin-top:0!important}
}
@media(prefers-reduced-motion:reduce){
 .sidebar{transition:none!important}
}

/* Prisma account experience · real multi-provider sign-in and onboarding.
   Intentionally does not touch the Core viewport/composer or PWA home area. */
#auth-modal.auth-backdrop{
 z-index:2200;
 overflow:hidden;
 padding:clamp(12px,3vh,24px) 14px;
}
#auth-modal .auth-panel{
 width:min(448px,100%);
 max-height:min(89dvh,760px);
 min-height:0;
 gap:0;
 padding:28px 28px 22px;
 background:var(--panel);
 border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line-strong));
 border-radius:24px;
 scrollbar-width:thin;
 box-shadow:0 36px 110px rgba(0,0,0,.35);
}
#auth-modal .auth-identity{
 display:flex;align-items:center;gap:11px;
 margin:0 42px 25px 0;color:var(--text);
}
#auth-modal .auth-identity img{
 width:44px;height:44px;flex:0 0 44px;border-radius:13px;
 background:var(--panel-2);
}
#auth-modal .auth-identity>span{
 display:grid;gap:3px;font-size:14px;font-weight:800;
 letter-spacing:.055em;
}
#auth-modal .auth-identity small{
 color:var(--muted);font-size:8px;font-weight:650;
 letter-spacing:.14em;
}
#auth-modal .auth-screen{
 display:flex;flex-direction:column;gap:13px;min-width:0;
}
#auth-modal .auth-screen.hidden{display:none!important}
#auth-modal .auth-screen h2{
 margin:0;font:800 clamp(23px,5vw,28px)/1.2 Manrope,system-ui,sans-serif;
 letter-spacing:-.04em;
}
#auth-modal .auth-description{
 color:var(--muted);font-size:13px;line-height:1.65;margin:0 0 2px;
}
#auth-modal .auth-provider-grid{gap:10px;margin:7px 0 0}
#auth-modal .auth-provider-grid button{
 display:grid;grid-template-columns:26px minmax(0,1fr) auto;
 gap:10px;justify-content:stretch;align-items:center;
 width:100%;min-height:52px;
 padding:10px 15px;border-radius:13px;
 background:var(--bg);color:var(--text);
 font-size:13px;font-weight:700;text-align:left;
 transition:border-color .16s,background .16s;
}
#auth-modal .auth-provider-grid button small{
 font-size:9px;color:var(--muted);font-weight:550;white-space:nowrap;
}
#auth-modal .auth-provider-grid button:disabled{
 opacity:.75;background:var(--panel-2);
 cursor:not-allowed;
}
#auth-modal .auth-provider-grid button:not(:disabled):hover{
 background:color-mix(in srgb,var(--accent) 9%,var(--panel));
}
#auth-modal .auth-provider-grid .auth-provider-g{
 font-size:22px;font-weight:800;
 background:conic-gradient(#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 70%,#ea4335 70%);
 color:transparent;background-clip:text;
 text-align:center;
}
#auth-modal .auth-provider-grid .auth-provider-apple,
#auth-modal .auth-provider-grid .auth-provider-phone{
 display:grid;place-items:center;
 width:26px;height:26px;color:var(--text);
}
#auth-modal .auth-provider-grid .auth-provider-apple svg,
#auth-modal .auth-provider-grid .auth-provider-phone svg{
 display:block;width:22px;height:22px;
}
#auth-modal .auth-divider{margin:3px 0;font-size:12px}
#auth-modal .auth-email-choice{
 width:100%;min-height:49px;display:flex;
 justify-content:space-between;align-items:center;gap:12px;
 padding:0 17px;border:0;border-radius:13px;
 color:#12262a;background:linear-gradient(110deg,#9adbd2,#9fc9ed);
 font:750 13px/1.3 Manrope,system-ui,sans-serif;
 cursor:pointer;
}
#auth-modal .auth-email-choice:disabled{opacity:.55;cursor:not-allowed}
#auth-modal .auth-email-choice>span{font-size:23px;line-height:1}
#auth-modal .auth-availability{
 margin:0;padding:11px 12px;border-radius:10px;
 font-size:11px;line-height:1.55;
 color:var(--muted);background:var(--panel-2);
 border:1px solid var(--line);
}
#auth-modal .auth-guest{
 width:100%;min-height:43px;padding:10px;
 border:1px solid var(--line);border-radius:11px;
 color:var(--text);background:transparent;
 font-size:12px;font-weight:650;
}
#auth-modal .auth-guest:hover{background:var(--panel-2)}
#auth-modal .auth-back{
 border:0;background:none;padding:0;margin:0 0 6px;
 width:max-content;min-height:34px;color:var(--muted);
 font-weight:650;font-size:12px;text-align:left;
}
#auth-modal .auth-back:hover{color:var(--text)}
#auth-modal .auth-tabs{
 margin:2px 0 1px;grid-template-columns:1fr 1fr;
 padding:4px;background:var(--bg);border:1px solid var(--line);
}
#auth-modal .auth-tabs button{min-height:37px;font-size:12px}
#auth-modal #auth-form,
#auth-modal #auth-phone-form,
#auth-modal #auth-reset-form,
#auth-modal #auth-recovery-form,
#auth-modal #auth-profile-form{
 display:grid;gap:13px;
}
#auth-modal form label{
 display:grid;gap:7px;min-width:0;
 color:var(--text);font-size:12px;font-weight:650;
}
#auth-modal form label.hidden{display:none!important}
#auth-modal form input{
 box-sizing:border-box;
 min-width:0;width:100%;height:48px;
 padding:0 13px;border-radius:11px;
 font:500 16px/1.25 system-ui,sans-serif;
 color:var(--text);background:var(--bg);
 border:1px solid var(--line-strong);
 outline:none;
}
#auth-modal form input:focus-visible{
 border-color:var(--accent);
 box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);
}
#auth-modal .auth-password-wrap{
 position:relative;display:flex;align-items:center;
}
#auth-modal .auth-password-wrap input{padding-right:78px}
#auth-modal .auth-password-toggle{
 position:absolute;right:5px;top:4px;bottom:4px;
 padding:0 10px;border:0;border-radius:8px;
 background:transparent;color:var(--accent);
 font-size:11px;font-weight:750;
}
#auth-modal .auth-submit{
 display:flex;align-items:center;justify-content:center;
 width:100%;min-height:49px;padding:12px 16px;
 border:0;border-radius:12px;
 color:#12262a;background:linear-gradient(110deg,#9adbd2,#9fc9ed);
 font:750 13px/1.3 Manrope,system-ui,sans-serif;
 cursor:pointer;
}
#auth-modal .auth-submit:disabled{opacity:.5;cursor:wait}
#auth-modal .auth-reset{
 align-self:center;
 border:0;background:transparent;color:var(--accent);
 font-size:12px;font-weight:650;
}
#auth-modal .auth-validation,
#auth-modal .auth-confirm-email{
 color:var(--muted);font-size:11px;line-height:1.55;
 overflow-wrap:anywhere;
}
#auth-modal .auth-legal{
 margin:19px 0 0;color:var(--subtle);
 font-size:10px;line-height:1.65;
 text-align:center;
}
#auth-modal .auth-legal a{color:var(--accent);text-decoration:underline}
#auth-modal .auth-message{
 margin:12px 0 0;padding:12px 13px;
 border-radius:10px;font-size:12px;line-height:1.6;
 overflow-wrap:anywhere;
}
#auth-modal .auth-message:empty{display:none}
#auth-modal .auth-message[data-kind="error"]{
 color:#ffb8b8;background:rgba(200,55,80,.08);
 border:1px solid rgba(220,90,105,.24);
}
#auth-modal .auth-message[data-kind="success"]{
 color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
}
#auth-modal .auth-state-icon{
 display:grid;place-items:center;
 width:58px;height:58px;border-radius:18px;
 background:color-mix(in srgb,var(--accent) 16%,var(--panel-2));
 color:var(--accent);font-size:30px;font-weight:850;
}
#auth-modal .auth-account-identity{
 display:flex;align-items:center;gap:13px;
 padding:15px 13px;border:1px solid var(--line);
 background:var(--bg);border-radius:14px;
}
#auth-modal .auth-account-avatar{
 width:45px;height:45px;display:grid;place-items:center;
 flex:0 0 45px;border-radius:50%;
 color:#142b2c;background:var(--accent);
 font-size:20px;font-weight:800;
}
#auth-modal .auth-account-identity>span:last-child{
 display:grid;gap:4px;min-width:0;
}
#auth-modal .auth-account-identity strong{
 font-size:14px;overflow-wrap:anywhere;
}
#auth-modal .auth-account-identity small{
 font-size:11px;color:var(--muted);overflow-wrap:anywhere;
}
#auth-modal .auth-account-verification{
 color:var(--muted);font-size:11px;
}
#auth-modal .auth-account-actions{display:grid;gap:8px}
#auth-modal .auth-account-actions button{
 width:100%;min-height:43px;padding:10px;
 border:1px solid var(--line-strong);
 border-radius:10px;background:var(--panel-2);
 color:var(--text);font-weight:650;
}
#auth-modal #auth-account-signout{color:#e2a2ac}
@media(max-width:620px){
 #auth-modal.auth-backdrop{
  padding:max(12px,env(safe-area-inset-top,12px)) 12px
    max(12px,env(safe-area-inset-bottom,12px));
  align-items:center;
 }
 #auth-modal .auth-panel{
  width:100%;
  max-height:min(88dvh,calc(var(--prisma-core-viewport,100dvh) - 28px));
  border-radius:20px;padding:22px 18px 18px;
 }
 #auth-modal .auth-identity{margin-bottom:20px}
}


/* Prisma Core welcome · reactive halftone matrix.
   Decorative only. Never intercept gestures, chat actions or typing. */
body.is-core-view .core-welcome{
  position:relative;
  isolation:isolate;
}
body.is-core-view .core-welcome > :not(.core-welcome-ambient){
  position:relative;
  z-index:1;
}
body.is-core-view .core-welcome-ambient{
  position:absolute;
  inset:-64px -102px -56px;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  user-select:none;
  border-radius:32px;
  opacity:.95;
  background:
    radial-gradient(ellipse 56% 52% at 50% 49%,rgba(78,191,190,.075),transparent 78%),
    radial-gradient(ellipse 38% 48% at 64% 51%,rgba(123,109,214,.048),transparent 88%);
  -webkit-mask-image:radial-gradient(ellipse 72% 69% at 50% 48%,#000 29%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 69% at 50% 48%,#000 29%,transparent 100%);
}
body.is-core-view .core-welcome-dots{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
body.is-core-view .core-welcome h2{
  position:relative;
  z-index:2;
}
body.is-core-view .core-welcome .core-examples{
  position:relative;
  z-index:2;
}
html[data-theme="light"] body.is-core-view .core-welcome-ambient{
  opacity:.84;
  background:
    radial-gradient(ellipse 55% 55% at 50% 49%,rgba(44,157,161,.056),transparent 78%),
    radial-gradient(ellipse 39% 48% at 64% 51%,rgba(113,96,194,.032),transparent 88%);
}
@media(max-width:620px){
  body.is-core-view .core-welcome-ambient{
    inset:-45px -15px -33px;
    opacity:.81;
    border-radius:22px;
    -webkit-mask-image:radial-gradient(ellipse 78% 66% at 50% 46%,#000 24%,transparent 100%);
    mask-image:radial-gradient(ellipse 78% 66% at 50% 46%,#000 24%,transparent 100%);
  }
  html[data-theme="light"] body.is-core-view .core-welcome-ambient{
    opacity:.71;
  }
}
@media(prefers-reduced-motion:reduce){
  body.is-core-view .core-welcome-ambient{
    transition:none!important;
    animation:none!important;
  }
}


/* Prisma Core welcome v2: full-bleed ambient grid, no empty-state scrollbar. */
body.is-core-view #core-messages.is-empty{
  position:relative!important;
  isolation:isolate;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none;
  overscroll-behavior:contain;
  scroll-behavior:auto;
}
body.is-core-view #core-messages.is-empty::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent;
}
body.is-core-view #core-messages.is-empty > .core-welcome-ambient{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden;
  border-radius:0!important;
  opacity:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse 76% 74% at 50% 48%,rgba(78,191,190,.105),transparent 86%),
    radial-gradient(ellipse 55% 66% at 68% 52%,rgba(123,109,214,.052),transparent 90%);
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
body.is-core-view #core-messages.is-empty > .core-welcome{
  position:relative!important;
  z-index:1!important;
  flex:0 0 auto;
  width:100%!important;
  max-width:920px!important;
  margin:auto!important;
  padding:clamp(22px,4vh,46px) clamp(14px,3vw,34px)!important;
  text-align:center;
}
body.is-core-view #core-messages.is-empty > .core-welcome > :not(.core-welcome-ambient){
  position:relative;
  z-index:1;
}
body.is-core-view #core-messages.is-empty .core-welcome h2{
  max-width:760px;
  margin:16px auto 15px;
}
body.is-core-view #core-messages.is-empty .core-welcome p{
  max-width:590px;
}
body.is-core-view #core-messages.is-empty .core-examples{
  max-width:100%;
  margin-inline:auto;
}
body.is-core-view #core-messages.is-empty .core-welcome-ambient{
  /* Backward-compatible in case the canvas is moved into the welcome in a future renderer. */
  inset:0!important;
}
@media(max-width:850px){
  body.is-core-view #core-messages.is-empty > .core-welcome{
    max-width:820px!important;
    padding:clamp(18px,3.4vh,34px) 18px!important;
  }
}
@media(max-width:620px){
  body.is-core-view #core-messages.is-empty{
    padding:0!important;
  }
  body.is-core-view #core-messages.is-empty > .core-welcome{
    max-width:100%!important;
    padding:20px 10px 26px!important;
  }
  body.is-core-view #core-messages.is-empty .core-welcome h2{
    font-size:clamp(27px,7.5vw,38px);
    margin:12px auto;
  }
  body.is-core-view #core-messages.is-empty .core-welcome p{
    max-width:440px;
    font-size:12px;
  }
  body.is-core-view #core-messages.is-empty .core-examples{
    gap:8px;
  }
}
@media(prefers-reduced-motion:reduce){
  body.is-core-view #core-messages.is-empty{
    scroll-behavior:auto!important;
  }
}



/* Prisma Core welcome: shorter helper copy with a clearer, softer foreground. */
body.is-core-view .core-welcome p{
  max-width:680px;
  margin:0 auto 17px;
  color:color-mix(in srgb,var(--text) 76%,var(--accent) 24%);
  font-weight:500;
  line-height:1.5;
}
@media(max-width:620px){
  body.is-core-view .core-welcome p{
    margin-bottom:14px;
    line-height:1.45;
  }
}


/* Guest onboarding: compact in-flow invitation above the Core composer.
   Never overlays the transcript or blocks ordinary text chat. */
body.is-core-view .core-guest-register-card{
  position:relative;
  flex:0 0 auto;
  min-width:0;
  max-width:100%;
  max-height:min(28dvh,195px);
  overflow-y:auto;
  overscroll-behavior:contain;
  margin:0 8px 7px;
  padding:13px 46px 13px 17px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:16px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel) 66%);
  box-shadow:0 5px 22px rgba(0,0,0,.12);
  color:var(--text);
  z-index:3;
}
body.is-core-view .core-guest-register-card.hidden{display:none!important}
body.is-core-view .core-guest-register-card p{
  margin:0 0 11px;
  font-size:12px;
  line-height:1.45;
  color:var(--muted);
}
body.is-core-view .core-guest-register-card strong{
  font-weight:750;
  color:var(--text);
}
body.is-core-view .core-guest-register-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
body.is-core-view .core-guest-register-actions button{
  min-height:36px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid var(--line-strong);
  background:var(--panel-2);
  color:var(--text);
  cursor:pointer;
  font:700 12px/1.3 Manrope,system-ui,sans-serif;
}
body.is-core-view .core-guest-register-actions .core-guest-register-signup{
  background:linear-gradient(105deg,#8fded8,#a9b4ef);
  color:#141b27;
  border-color:transparent;
}
body.is-core-view .core-guest-register-actions .core-guest-register-close{
  position:absolute;
  top:7px;
  right:9px;
  width:30px;
  height:30px;
  padding:0;
  min-height:30px;
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:21px;
}
body.is-core-view .core-guest-register-actions button:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
@media(max-width:620px){
 body.is-core-view .core-guest-register-card{
   margin:0 7px 5px;
   padding:11px 34px 11px 12px;
   border-radius:16px;
   max-height:min(29dvh,175px);
 }
 body.is-core-view .core-guest-register-card p{
   font-size:11px;
   line-height:1.43;
   margin-bottom:9px;
 }
 body.is-core-view .core-guest-register-actions{
   gap:7px;
 }
 body.is-core-view .core-guest-register-actions button{
   min-height:34px;
   font-size:11px;
   padding:6px 11px;
 }
 /* Only the file-limit sign-in becomes the iOS-style bottom sheet. */
 body.prisma-guest-gate-open #auth-modal.auth-backdrop{
   align-items:flex-end;
   padding:10px 0 0;
 }
 body.prisma-guest-gate-open #auth-modal .auth-panel{
   width:100%;
   max-width:100%;
   max-height:min(84dvh,calc(var(--prisma-core-viewport,100dvh) - 12px));
   margin:0;
   border-radius:25px 25px 0 0;
   padding:25px 20px max(20px,env(safe-area-inset-bottom));
   border-bottom:0;
 }
 body.prisma-guest-gate-open #auth-modal .auth-panel::before{
   content:'';
   position:sticky;
   top:0;
   display:block;
   flex:0 0 auto;
   width:42px;
   height:5px;
   border-radius:9px;
   margin:-12px auto 17px;
   background:var(--line-strong);
 }
}


/* Keep the application viewport bounded. Intentional horizontal scrollers
   (tables, attachments and media controls) retain their own local overflow. */
html,body{overflow-x:hidden}
.app-shell,.main-area,.page-content{min-width:0}

/* Attached files: compact, accessible previews that never expand the composer. */
body.is-core-view .core-attachments{
  display:flex;
  flex-wrap:nowrap;
  gap:7px;
  max-width:100%;
  max-height:74px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  padding:2px 2px 7px;
  scrollbar-width:thin;
  margin-bottom:3px;
}
body.is-core-view .core-attachment-preview{
  display:flex;
  flex:0 0 auto;
  min-width:0;
  width:min(198px,60vw);
  max-width:198px;
  height:56px;
  padding:5px 5px 5px 6px;
  gap:7px;
  align-items:center;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--panel-2);
  color:var(--text);
  box-sizing:border-box;
}
body.is-core-view .core-attachment-preview .core-attachment-thumb,
body.is-core-view .core-attachment-preview .core-attachment-type{
  display:flex;
  flex:0 0 43px;
  width:43px;
  height:43px;
  align-items:center;
  justify-content:center;
  object-fit:cover;
  border-radius:8px;
  border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));
  background:color-mix(in srgb,var(--accent) 9%,var(--bg));
  color:var(--accent);
  font:750 10px/1 Manrope,system-ui,sans-serif;
  overflow:hidden;
}
body.is-core-view .core-attachment-preview .core-attachment-details{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-width:0;
  gap:4px;
}
body.is-core-view .core-attachment-preview .core-attachment-filename{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:650 10px/1.3 Manrope,system-ui,sans-serif;
}
body.is-core-view .core-attachment-preview small{
  display:block;
  color:var(--muted);
  font-size:9px;
  line-height:1;
}
body.is-core-view .core-attachment-preview .core-attachment-remove{
  flex:0 0 22px;
  width:22px;
  height:25px;
  min-width:22px;
  padding:0;
  border:0;
  background:transparent;
  font-size:20px;
  line-height:1;
  color:var(--muted);
}
body.is-core-view .core-attachment-preview .core-attachment-remove:focus-visible{
  outline:2px solid var(--accent);
}
@media(max-width:620px){
  body.is-core-view .core-attachments{max-height:68px;padding-bottom:4px;}
  body.is-core-view .core-attachment-preview{width:min(175px,64vw);max-width:175px;height:53px;}
  body.is-core-view .core-attachment-preview .core-attachment-thumb,
  body.is-core-view .core-attachment-preview .core-attachment-type{width:39px;height:39px;flex-basis:39px;}
}
/* Assistant answer reveal: optical cursor, never applied to saved chat history. */
body.is-core-view .core-message-body.is-revealing::after{
  content:'';
  display:inline-block;
  width:2px;
  height:1em;
  margin-left:3px;
  vertical-align:-.15em;
  background:var(--accent);
  opacity:.8;
  animation:core-reveal-caret .75s steps(2,end) infinite;
}
@keyframes core-reveal-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){
 body.is-core-view .core-message-body.is-revealing::after{animation:none;opacity:0}
}

/* Prisma Core: prismatic welcome hero. Only affects the empty chat. */
body.is-core-view #core-messages.is-empty > .core-welcome{
 position:relative!important;z-index:1;display:flex;flex-direction:column;align-items:center;
 width:min(100%,760px);max-width:760px!important;box-sizing:border-box;
 padding:clamp(12px,2.4vh,25px) clamp(12px,3vw,28px)!important;
}
body.is-core-view #core-messages.is-empty{
 background:radial-gradient(ellipse 75% 58% at 50% 47%,rgba(49,121,168,.11),transparent 75%);
}
body.is-core-view #core-messages.is-empty > .core-welcome-ambient{
 background:radial-gradient(ellipse 70% 67% at 50% 45%,rgba(65,177,187,.12),transparent 76%),linear-gradient(160deg,rgba(11,23,39,.23),rgba(23,29,55,.23))!important;
}
body.is-core-view .core-prism-scene{
 width:min(100%,330px);height:clamp(132px,23vh,210px);margin:5px auto 2px;
 display:grid;place-items:center;pointer-events:none;filter:drop-shadow(0 0 22px rgba(88,162,226,.16));
}
body.is-core-view .core-prism-svg{display:block;width:100%;height:100%;overflow:visible}
body.is-core-view .core-prism-shape{transform-origin:160px 103px;animation:core-prism-float 7s ease-in-out infinite}
@keyframes core-prism-float{0%,100%{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
body.is-core-view #core-messages.is-empty .core-welcome-eyebrow{
 color:#96dcd7;letter-spacing:.17em;font-size:clamp(9px,1.2vw,11px);
}
body.is-core-view #core-messages.is-empty .core-welcome h2{
 font-size:clamp(26px,4vw,43px);line-height:1.16;letter-spacing:-.045em;
 margin:4px auto 12px;max-width:100%;
}
body.is-core-view #core-messages.is-empty .core-welcome p{
 max-width:450px;font-size:clamp(11px,1.3vw,13px);line-height:1.5;margin:0 auto 16px;
}
body.is-core-view #core-messages.is-empty .core-examples{
 display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:560px;
}
body.is-core-view #core-messages.is-empty .core-examples button{
 background:rgba(24,29,43,.88);border:1px solid rgba(147,171,204,.22);
 color:#e5e9f5;border-radius:999px;padding:10px 14px;
 font:600 clamp(10px,1.15vw,12px)/1.25 'DM Sans',sans-serif;
 min-height:37px;transition:border-color .18s,background .18s,transform .18s;
}
body.is-core-view #core-messages.is-empty .core-examples button:hover{border-color:#8fded8;background:rgba(35,49,65,.95);transform:translateY(-1px)}
body.is-core-view #core-messages.is-empty .core-examples button:focus-visible{outline:2px solid #91dfdb;outline-offset:3px}
@media(max-width:620px){
 body.is-core-view #core-messages.is-empty > .core-welcome{padding:10px 12px!important}
 body.is-core-view .core-prism-scene{width:min(74vw,260px);height:clamp(116px,20dvh,168px);margin:4px auto 0}
 body.is-core-view #core-messages.is-empty .core-welcome h2{font-size:clamp(26px,7vw,35px);margin:4px auto 10px}
 body.is-core-view #core-messages.is-empty .core-welcome p{max-width:330px;margin-bottom:14px}
 body.is-core-view #core-messages.is-empty .core-examples{gap:7px}
 body.is-core-view #core-messages.is-empty .core-examples button{font-size:10px;min-height:35px;padding:8px 11px}
}
@media(max-height:690px){
 body.is-core-view .core-prism-scene{height:110px}
 body.is-core-view #core-messages.is-empty .core-welcome h2{font-size:clamp(24px,5vw,34px)}
 body.is-core-view #core-messages.is-empty .core-welcome p{margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){body.is-core-view .core-prism-shape{animation:none}}

/* Prisma Space Aurora: coherent, responsive Explore experience. */
body:not(.is-core-view) .hero-section{
 position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.86fr);
 align-items:center;gap:clamp(16px,4vw,56px);min-height:410px;
 padding:clamp(34px,6vw,76px) clamp(18px,4vw,54px) 38px;
 border:1px solid rgba(145,192,220,.12);border-radius:28px;
 overflow:hidden;background:radial-gradient(ellipse 55% 75% at 78% 52%,rgba(54,136,183,.17),transparent 85%),
 radial-gradient(ellipse 60% 80% at 90% 85%,rgba(134,100,200,.12),transparent 80%),
 linear-gradient(145deg,#0d1523,#102638 53%,#201c36);
}
body:not(.is-core-view) .hero-section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.38;background-image:radial-gradient(circle,rgba(144,207,227,.38) 1px,transparent 1.7px);background-size:24px 24px;mask-image:radial-gradient(ellipse at 76% 48%,#000,transparent 70%)}
body:not(.is-core-view) .hero-copy{position:relative;z-index:2;min-width:0}
body:not(.is-core-view) .hero-copy .eyebrow{color:#98ded7;font-size:clamp(9px,1vw,11px);letter-spacing:.15em}
body:not(.is-core-view) .hero-copy h1{font-size:clamp(35px,4.5vw,65px);line-height:1.12;letter-spacing:-.06em;margin:20px 0 18px;color:#f4f5fa;text-wrap:balance}
body:not(.is-core-view) .hero-copy h1 em{font-weight:750;background:linear-gradient(100deg,#8ce0d3,#83bce9 52%,#b8a3f0);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
body:not(.is-core-view) .hero-description{color:#c0cadb;font-size:clamp(12px,1.25vw,15px);line-height:1.7;max-width:480px}
body:not(.is-core-view) .hero-actions{gap:10px}
body:not(.is-core-view) .hero-actions .button{border-radius:13px;min-height:45px;padding:10px 17px;font-size:12px}
body:not(.is-core-view) .hero-actions .button-primary{background:linear-gradient(110deg,#8bd4ce,#a0e3d7);color:#12202c;border-color:transparent}
body:not(.is-core-view) .hero-art{height:clamp(285px,32vw,400px);min-width:0;overflow:visible}
body:not(.is-core-view) .hero-prism{width:min(85%,310px);height:auto;max-height:320px;filter:drop-shadow(0 0 32px rgba(108,187,229,.33))}
body:not(.is-core-view) .prism-glow{width:290px;height:290px;background:radial-gradient(circle,rgba(105,193,222,.26),rgba(124,134,231,.12) 46%,transparent 72%)}
body:not(.is-core-view) .orbit{border-color:rgba(169,191,232,.21)}
body:not(.is-core-view) .hero-aurora-particles{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#9edfe7 1.4px,transparent 2px);background-size:23px 23px;opacity:.26;mask-image:radial-gradient(ellipse,#000,transparent 72%)}
body:not(.is-core-view) .art-tag{border-color:rgba(165,197,225,.24);background:rgba(22,29,46,.82);color:#b6c7d7;border-radius:11px;font-size:9px;padding:9px 11px}
body:not(.is-core-view) .metric-strip{margin-top:22px;padding:18px 4px 22px;gap:clamp(12px,3vw,30px)}
body:not(.is-core-view) .metric strong{font-size:clamp(19px,2vw,26px)}
body:not(.is-core-view) .home-dashboard{padding:36px 0 38px}
body:not(.is-core-view) .home-dashboard-heading h2{font-size:clamp(22px,2.6vw,32px)}
body:not(.is-core-view) .workflow-hub{border-radius:20px}
body:not(.is-core-view) .workflow-card{min-height:76px;padding:14px;border-radius:14px;background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--accent) 3%,var(--panel)))}
body:not(.is-core-view) .workflow-card:focus-visible,body:not(.is-core-view) .goal-card:focus-visible,body:not(.is-core-view) .tool-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body:not(.is-core-view) .goal-card{border-radius:15px;min-height:118px;transition:transform .2s,border-color .2s}
body:not(.is-core-view) .goal-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}
body:not(.is-core-view) .home-panel{border-radius:18px}
body:not(.is-core-view) .tools-section{padding-top:40px}
body:not(.is-core-view) .tools-section .section-heading h2{font-size:clamp(23px,2.7vw,32px)}
body:not(.is-core-view) .tool-card{border-radius:16px;min-height:170px}
@media(max-width:850px){
 body:not(.is-core-view) .hero-section{grid-template-columns:1fr;gap:0;padding:30px 22px 25px;min-height:0;border-radius:23px}
 body:not(.is-core-view) .hero-copy{text-align:center}
 body:not(.is-core-view) .hero-copy .eyebrow{justify-content:center}
 body:not(.is-core-view) .hero-copy h1{font-size:clamp(34px,7vw,52px);margin:18px 0 13px}
 body:not(.is-core-view) .hero-description{margin:0 auto 19px}
 body:not(.is-core-view) .hero-actions{justify-content:center}
 body:not(.is-core-view) .hero-art{height:280px;margin-top:12px}
 body:not(.is-core-view) .hero-prism{width:245px}
}
@media(max-width:620px){
 body:not(.is-core-view) .hero-section{padding:26px 14px 19px;border-radius:19px}
 body:not(.is-core-view) .hero-copy h1{font-size:clamp(32px,9vw,43px);line-height:1.13}
 body:not(.is-core-view) .hero-description{font-size:12px;line-height:1.6;max-width:330px}
 body:not(.is-core-view) .hero-actions .button{min-height:43px;font-size:11px;flex:1 1 auto}
 body:not(.is-core-view) .hero-art{height:248px;margin-top:8px}
 body:not(.is-core-view) .hero-prism{width:230px}
 body:not(.is-core-view) .art-tag{font-size:7px;padding:7px 8px}
 body:not(.is-core-view) .metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}
 body:not(.is-core-view) .metric{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
 body:not(.is-core-view) .metric span{font-size:9px;line-height:1.35}
 body:not(.is-core-view) .metric-divider{display:none}
 body:not(.is-core-view) .metric-note{grid-column:1/-1;margin:0}
 body:not(.is-core-view) .home-dashboard{padding:26px 0}
 body:not(.is-core-view) .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body:not(.is-core-view) .workflow-card{padding:11px;min-height:80px;align-items:flex-start}
 body:not(.is-core-view) .workflow-card-copy strong{font-size:10px}
 body:not(.is-core-view) .workflow-card-copy small{font-size:9px}
 body:not(.is-core-view) .home-goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body:not(.is-core-view) .goal-card{min-height:104px}
 body:not(.is-core-view) .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 body:not(.is-core-view) .tool-card{padding:12px;min-height:152px}
}
@media(max-width:370px){body:not(.is-core-view) .workflow-grid,body:not(.is-core-view) .tool-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body:not(.is-core-view) .hero-art *,body:not(.is-core-view) .goal-card,body:not(.is-core-view) .workflow-card{animation:none!important;transition:none!important}}


/* Prisma Core: full-width animated field across the entire chat stage.
   Anchor it to .main-area, never to a centered content container. */
/* Safety net: if a view transition or browser restore delays JS cleanup,
   the decorative canvas must never become a normal-flow block in Explore. */
body:not(.is-core-view) .main-area > .core-welcome-ambient{
  display:none!important;
}
body.is-core-view .main-area{
  position:relative!important;
  isolation:isolate!important;
}
body.is-core-view .main-area > .core-welcome-ambient{
  position:absolute!important;
  inset:76px 0 0 0!important;
  z-index:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:0!important;
  opacity:.96!important;
  pointer-events:none!important;
  user-select:none!important;
  background:
    radial-gradient(ellipse 76% 70% at 50% 43%,rgba(58,157,216,.12),transparent 88%),
    radial-gradient(ellipse 52% 66% at 66% 57%,rgba(115,101,205,.075),transparent 90%);
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
body.is-core-view .main-area > .core-welcome-ambient > .core-welcome-dots{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  pointer-events:none!important;
}
body.is-core-view .main-area > .topbar{
  position:relative!important;
  z-index:15!important;
}
body.is-core-view .main-area > #page-content{
  position:relative!important;
  z-index:1!important;
  background:transparent!important;
}
body.is-core-view #core-section,
body.is-core-view #core-messages{
  background-color:transparent!important;
}
@media(prefers-reduced-motion:reduce){
  body.is-core-view .main-area > .core-welcome-ambient{animation:none!important}
}


/* Prisma Core desktop welcome: keep the prism clear of the headline.
   Pointer-fine desktop only; tablet, mobile and PWA layouts remain unchanged. */
@media (min-width:851px) and (pointer:fine){
 body.is-core-view .core-prism-scene{
  height:clamp(132px,18vh,154px);
  margin:4px auto 24px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex:0 0 auto;
 }
 body.is-core-view .core-prism-svg{
  display:block;
  width:min(100%,232px);
  height:100%;
  flex:0 0 auto;
 }
 body.is-core-view #core-messages.is-empty .core-welcome h2{
  margin:0 auto 12px;
 }
}


/* Prisma personal identity — native, lightweight, no photo uploads required.
   Uses the existing brand palette and stays readable in both themes. */
.profile-chip>.prisma-avatar-face,
#auth-modal .auth-account-avatar.prisma-avatar-face,
#auth-modal .auth-personal-preview-avatar.prisma-avatar-face,
#auth-modal .auth-avatar-choice .prisma-avatar-face{
 display:grid;place-items:center;flex:none;
 overflow:hidden;position:relative;isolation:isolate;
 background:var(--prisma-avatar-bg,#151b2b);
 color:var(--prisma-avatar-fg,#e5f7fb);
 border-radius:50%;
}
.prisma-avatar-face[data-prisma-avatar="prism"]{--prisma-avatar-bg:#151b2b;--prisma-avatar-fg:#98e6df}
.prisma-avatar-face[data-prisma-avatar="aurora"]{--prisma-avatar-bg:linear-gradient(145deg,#356d80,#8273b5);--prisma-avatar-fg:#f2fdff}
.prisma-avatar-face[data-prisma-avatar="orbit"]{--prisma-avatar-bg:linear-gradient(145deg,#25385b,#5b76a9);--prisma-avatar-fg:#b7eff6}
.prisma-avatar-face[data-prisma-avatar="nova"]{--prisma-avatar-bg:linear-gradient(145deg,#684da4,#a987ce);--prisma-avatar-fg:#fff5ff}
.prisma-avatar-face[data-prisma-avatar="bloom"]{--prisma-avatar-bg:linear-gradient(145deg,#806aa6,#c88d9d);--prisma-avatar-fg:#fff7fa}
.prisma-avatar-face[data-prisma-avatar="spark"]{--prisma-avatar-bg:linear-gradient(145deg,#166c74,#5bb7a5);--prisma-avatar-fg:#efffff}
.prisma-avatar-face img{
 width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;
}
.prisma-avatar-face .prisma-avatar-glyph{
 font:800 1.2em/1 Manrope,system-ui,sans-serif;
 display:grid;place-items:center;min-width:0;min-height:0;
 color:inherit;text-shadow:0 1px 8px rgba(0,0,0,.12);
}
.profile-chip>.prisma-avatar-face{width:100%;height:100%;font-size:20px}
.profile-chip>.prisma-avatar-face .prisma-avatar-glyph{font-size:19px}
#auth-modal .auth-account-avatar.prisma-avatar-face{
 width:46px;height:46px;font-size:29px;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
#auth-modal .auth-signup-personalization{
 display:grid;gap:11px;margin:0;
}
#auth-modal .auth-personal-preview{
 display:flex;align-items:center;gap:11px;
 padding:10px 12px;border-radius:13px;
 background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 11%,var(--panel-2)),var(--panel-2));
 border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));
}
#auth-modal .auth-personal-preview-avatar{
 width:43px;height:43px;font-size:28px;
 border:1px solid rgba(255,255,255,.13);
}
#auth-modal .auth-personal-preview>span:last-child{display:grid;gap:3px;min-width:0}
#auth-modal .auth-personal-preview strong{
 color:var(--text);font-size:13px;
 overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
#auth-modal .auth-personal-preview small{color:var(--muted);font-size:10px}
#auth-modal .auth-avatar-field{
 border:0;min-width:0;margin:0;padding:0;
}
#auth-modal .auth-avatar-field legend{
 margin:0 0 10px;padding:0;
 font:700 11px/1.5 Manrope,system-ui,sans-serif;color:var(--text);
}
#auth-modal .auth-avatar-field legend small{font-size:10px;font-weight:400;color:var(--muted)}
#auth-modal .auth-avatar-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#auth-modal .auth-avatar-choice{
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
 border:1px solid var(--line-strong);background:var(--panel-2);
 border-radius:11px;color:var(--muted);padding:9px 5px;min-height:70px;
 cursor:pointer;transition:border-color .15s ease,background .15s ease;
}
#auth-modal .auth-avatar-choice .prisma-avatar-face{width:35px;height:35px;font-size:25px}
#auth-modal .auth-avatar-choice small{font-size:10px;line-height:1.2}
#auth-modal .auth-avatar-choice[aria-checked="true"]{
 background:color-mix(in srgb,var(--accent) 11%,var(--panel-2));
 border-color:color-mix(in srgb,var(--accent) 66%,var(--line));
 box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);
 color:var(--text);
}
#auth-modal .auth-avatar-choice:focus-visible,.profile-chip:focus-visible{
 outline:2px solid var(--accent);outline-offset:3px;
}
#auth-modal .auth-avatar-choice:hover{border-color:var(--accent)}
@media(max-width:390px){
 #auth-modal .auth-avatar-choices{gap:6px}
 #auth-modal .auth-avatar-choice{min-height:65px;padding:7px 4px}
 #auth-modal .auth-avatar-choice small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 #auth-modal .auth-avatar-choice{transition:none}
}


/* Native radio controls keep keyboard navigation while the styled choices
   remain compact in the signup form (which otherwise sizes inputs to 43px). */
#auth-modal .auth-avatar-choice{position:relative}
#auth-modal .auth-avatar-choice input[type="radio"]{
 position:absolute;width:1px;height:1px;min-width:1px;min-height:1px;
 opacity:0;overflow:hidden;clip-path:inset(50%);
 padding:0;margin:0;border:0;
}
#auth-modal .auth-avatar-choice:has(input[type="radio"]:checked){
 background:color-mix(in srgb,var(--accent) 11%,var(--panel-2));
 border-color:color-mix(in srgb,var(--accent) 66%,var(--line));
 box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);
 color:var(--text);
}
#auth-modal .auth-avatar-choice:has(input[type="radio"]:focus-visible){
 outline:2px solid var(--accent);outline-offset:3px;
}
