body{overflow:hidden}
.shell{display:block;min-height:0;height:100dvh}
#workspace-main{height:100%;width:100%}
#sidebar{position:fixed;inset:0 auto 0 0;width:min(288px,calc(100vw - 24px));z-index:41;transform:translateX(-100%);transition:transform .18s;background:#f6f8f7}
.sidebar-open #sidebar{transform:none}
.sidebar-open #sidebar-shade{display:block!important;position:fixed;inset:0;z-index:40;border:0;border-radius:0;background:#14221d66}
#sidebar .brand .mobile{display:inline-flex!important;margin-left:auto;border:0;background:transparent}
.topbar{min-height:64px;padding:9px 20px;gap:12px}
.app-return{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:5px;color:#365c47;text-decoration:none;font-size:12px;white-space:nowrap}
.app-return:hover{background:#eff5f1}.app-return svg{width:17px;height:17px}.return-short{display:none}
#access-return{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:12px;color:#365c47;text-decoration:none;font-size:13px}
.eyebrow{font-size:9px;margin-bottom:3px}
h1{font-size:16px;max-width:none}
.heading{min-width:0}.header-actions{flex:0 0 auto;gap:3px}
.private-label{font-size:11px;margin-right:8px}
.header-actions #rename-chat,.header-actions #delete-chat{display:none}
.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr)}
.chat-pane{display:flex;flex-direction:column;min-width:0;min-height:0}
#timeline{padding:24px 24px 10px;scrollbar-gutter:auto;overscroll-behavior:contain}
#empty-state{margin:12vh auto 0;padding:12px 0}
#empty-state h2{font-size:21px}
.quick-actions button{min-height:42px;font-size:12px;padding:8px 11px}
.quick-actions{gap:8px}
.quick-actions [data-action=crear_web]{color:#006778;background:#edfafd;border-color:#72b9c5}
.quick-actions [data-action=crear_panel]{color:#a12f66;background:#fff0f6;border-color:#d18aa9}
.quick-actions [data-action=leer]{color:#775500;background:#fff8df;border-color:#bea553}
.quick-actions button:hover{border-color:currentColor}
.user-message{max-width:90%;font-size:14px;margin-bottom:22px}
.result{padding-bottom:22px;margin-bottom:18px}.result-text{font-size:13px}
.result-toolbar{gap:5px}.result-toolbar a,.result-toolbar button{padding:7px 9px}
.project-details{font-size:12px;margin:14px 0;color:#61736a}.project-details>summary{cursor:pointer;min-height:32px;padding:6px 0;font-weight:500}.project-details .result-text{margin-top:8px}.project-details table{color:#34493c}
.result-downloads>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font:500 12px system-ui;min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:#54635b;background:#fff}
.result-downloads>summary::-webkit-details-marker{display:none}.result-downloads>summary svg{width:15px;height:15px}.result-downloads>summary:hover{background:#f1f5f3}.result-downloads>summary:focus-visible,.project-details>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.result-downloads[open]{flex-basis:100%;order:2}.result-file-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:380px;padding:8px 0}.result-toolbar .receipt{order:3}.result-file-menu a{min-width:0;overflow-wrap:anywhere}
.preview-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border-left:1px solid var(--line);background:#f4f6f5}
.preview-toolbar{min-height:58px;padding:7px 12px;display:flex;gap:5px;align-items:center;background:#fff;border-bottom:1px solid var(--line)}
.preview-picker{flex:1;min-width:0}.preview-picker select{width:100%;max-width:100%;min-height:42px;padding:7px 26px 7px 8px;border:1px solid transparent;border-radius:5px;background:#fff;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.preview-kind{padding:4px 6px;border:1px solid #dce6e0;color:#617269;background:#f5f8f6;font-size:10px;border-radius:4px;white-space:nowrap}
.preview-toolbar .icon{border:0;color:#68776f;text-decoration:none}
#preview-stage{position:relative;display:flex;flex:1;min-height:0;min-width:0;overflow:auto}
#preview-stage .project-preview{display:block;flex:1;width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;background:#fff}
.preview-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center top;align-self:flex-start}
#preview-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;color:#829087;padding:24px;text-align:center}
#preview-empty svg{width:30px;height:30px;stroke-width:1.4;color:#8a9e92}
#preview-empty h2{font-size:15px;font-weight:500;margin:15px 0;color:#7b8a81}
.preview-error{position:absolute;inset:auto 12px 12px;padding:10px;color:#995e33;background:#fff5e8;border:1px solid #ebd5bb;border-radius:5px;font-size:12px}
.preview-closed .workspace{grid-template-columns:minmax(0,1fr)}
.preview-closed .preview-pane{display:none}
.preview-closed #messages,.preview-closed #empty-state,.preview-closed .composer-wrap form,.preview-closed .composer-footer{max-width:900px}
.workspace-tabs{display:none}
.composer-wrap{padding:10px 18px 12px;max-height:55dvh;overscroll-behavior:contain}
.composer-wrap form{width:100%}.composer-wrap textarea{min-height:68px;padding:12px 14px 5px}
.url-row{margin:0 13px}.url-row input{min-height:34px}
.composer-controls{padding:5px 8px 8px;min-height:54px}
.composer-shortcuts{display:flex;gap:2px;align-items:center;margin-right:auto}
.composer-shortcuts .icon{border-color:transparent;color:#687d70}
.composer-options{padding:5px 0 0;border-top:1px solid var(--line)}
.composer-options .selectors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:5px 12px 10px;max-width:none}
.composer-options .selectors select{width:100%;max-width:none;height:40px;font-size:12px}
.composer-options .upload-controls{margin:0 10px 5px}
.composer-footer{font-size:10px;margin-top:7px}
#notice{width:calc(100% - 36px);flex:0 0 auto}
#workspace-menu{width:330px;padding:16px;max-height:85dvh;overflow:auto}
#workspace-menu header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
#workspace-menu header h2{font-size:17px;margin:0}
#workspace-menu header .icon{border-color:transparent}
.workspace-menu-actions{display:grid;gap:3px}
.workspace-menu-actions button,.workspace-menu-actions a{display:flex;align-items:center;gap:12px;min-height:46px;padding:9px 12px;font-size:13px;text-align:left;border-color:transparent;background:transparent}
.workspace-menu-actions a{color:#365c47;text-decoration:none;border-radius:5px}
.workspace-menu-actions button:hover,.workspace-menu-actions a:hover{background:#eff4f1}
.workspace-menu-actions svg{width:18px;height:18px;color:#6c8274}
#conversation-actions{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}
#conversation-actions #delete-chat{color:#a1493a}
#toast{z-index:60}
@media(min-width:900px){.preview-closed #timeline{padding-left:32px;padding-right:32px}.preview-closed .composer-wrap{padding-left:32px;padding-right:32px}}
@media(max-width:1100px){.private-label{display:none}.workspace{grid-template-columns:minmax(330px,1fr) minmax(0,1fr)}.preview-kind{display:none}.topbar{padding-left:14px;padding-right:14px}#timeline{padding-left:18px;padding-right:18px}.composer-wrap{padding-left:12px;padding-right:12px}}
@media(max-width:899px){
 .workspace{display:flex;flex-direction:column}.chat-pane,.preview-pane{width:100%;height:100%;flex:1}
 .preview-pane{border-left:0}
 body[data-workspace-view=chat] .preview-pane{display:none}
 body[data-workspace-view=preview] .chat-pane{display:none}
 body[data-workspace-view=preview] .preview-pane{display:flex}
 .workspace-tabs{display:flex;flex:0 0 auto;min-height:54px;padding:6px 12px max(6px,env(safe-area-inset-bottom));gap:6px;border-top:1px solid var(--line);background:#f7f9f8}
 .workspace-tabs button{display:flex;flex:1;align-items:center;justify-content:center;gap:8px;min-height:40px;font-size:13px;border-color:transparent;background:transparent;color:#738078}
 .workspace-tabs button[aria-selected=true]{background:#fff;border-color:#d5e0d9;color:#205e44;font-weight:600}
 #preview-count{font-size:10px;border-radius:4px;min-width:18px;padding:2px 4px;background:#e6eee9;color:#547461}
 #preview-toggle{display:none}
 .topbar{min-height:60px;padding:7px 10px}
 .app-return{padding:0 8px;font-size:12px;gap:5px}.return-full{display:none}.return-short{display:inline}
 .heading{gap:8px}.heading>div{min-width:0}h1{font-size:15px;max-width:calc(100vw - 138px)}
 #empty-state{margin-top:8vh;max-width:620px}
 #timeline{padding:20px 16px 6px}
 .composer-wrap{padding:8px 10px 9px;max-height:52dvh}
 .composer-wrap textarea{font-size:16px;min-height:65px;padding-top:10px}
 .composer-controls{padding-top:3px}.composer-footer{font-size:9px}
 .preview-toolbar{padding:5px 8px;min-height:54px}
 .preview-kind{display:inline-block}
 #notice{width:calc(100% - 20px)}
 .result-toolbar button,.result-toolbar a{min-height:40px}
}
@media(max-width:360px){.preview-kind{display:none}.upload-drop small{font-size:9px}.url-row input{font-size:12px}.workspace-tabs{padding-left:8px;padding-right:8px}}

/* A single reading surface; previews are opened explicitly. */
:root{--chat-font-size:18px;font-size:17px}
#messages{max-width:960px}
.user-message,.result-text,.error-text,.review-item{font-size:var(--chat-font-size);line-height:1.65}
.user-message{padding:16px 18px;max-width:94%}
.result-text,.result-text.expanded{max-height:none;overflow:visible}
.result-text.code{font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}
.result h3,.review-section h3,.review-item strong{font-size:18px;line-height:1.45}
.result-header{font-size:15px;gap:9px}
.engine{font-size:16px}.engine svg{width:20px;height:20px}
.status{font-size:14px;padding:4px 7px}
.receipt,.result-source,.review-scope,.review-limits,.workflow-stage{font-size:15px;color:#52665a;line-height:1.6}
.busy-line,.project-details,.workflow-details{font-size:16px}
.workflow-details pre,.adaptation-review pre{font-size:15px}
.result-toolbar button,.result-toolbar a,.result-downloads>summary{font-size:15px;min-height:44px;padding:9px 12px}
.result-toolbar svg,.result-downloads>summary svg{width:19px;height:19px}
.result-file-menu{max-width:100%}
.table-wrap table{font-size:16px}
.composer-wrap textarea{font-size:var(--chat-font-size);line-height:1.5;min-height:90px;padding:12px 14px 8px}
.url-row input{font-size:16px;min-height:40px}
.composer-options .selectors select{font-size:16px;height:46px}
.composer-options .upload-drop,.upload-chip,.base-upload-label{font-size:15px}
.upload-drop small,.upload-progress{font-size:13px}
.composer-footer{font-size:13px;color:#53665b;line-height:1.4}
.composer-controls .icon,.composer-controls #send,.composer-controls #cancel{width:48px;height:48px;min-height:48px;flex-basis:48px}
#send,#cancel{padding:0}
#send>span,#cancel>span{display:none}
#send svg,#cancel svg,.composer-shortcuts svg{width:23px;height:23px}
#notice{font-size:16px;line-height:1.5}
.topbar{min-height:68px}
h1{font-size:19px;line-height:1.35}
.eyebrow{font-size:11px;color:#54645b}
.app-return,#access-return{font-size:16px}
#empty-state{margin:18px auto 0}
#empty-state h2{font-size:24px}
.quick-actions button{font-size:16px;min-height:48px;padding:10px 13px}
.quick-actions svg{width:20px;height:20px}
.quick-upload{font-size:16px}
#chat-list button,.sidebar-bottom button,.sidebar-bottom a,.new-chat{font-size:16px;min-height:48px}
.section-label{font-size:12px;color:#53665b}
.brand span:not(.brand-icon){font-size:14px}
.preview-picker select{font-size:16px;min-height:46px}
.preview-kind{font-size:14px}
.preview-error{font-size:16px}
#preview-empty h2{font-size:18px}
.workspace-menu-actions button,.workspace-menu-actions a{font-size:16px;min-height:48px}
.text-size-control{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 0 16px;border-bottom:1px solid var(--line);margin-bottom:8px;font-size:16px}
.text-size-buttons{display:flex;gap:6px;align-items:center}
.text-size-buttons output{min-width:44px;text-align:center;font-size:16px}
.text-size-buttons button:disabled{cursor:default}
dialog label,dialog .primary,.dialog-buttons button{font-size:16px}
dialog input{font-size:18px;min-height:48px}
.dialog-brand,#access-error,#publish-state,.publish-privacy{font-size:15px}
#tools-dialog footer,.tool-row span{font-size:14px}
.tool-row{font-size:16px}
#toast{font-size:16px}
@media(max-width:899px){
 .topbar{padding:7px 10px;gap:8px;min-height:66px}
 h1{font-size:18px}
 #timeline{padding:18px 14px 8px}
 .user-message{padding:14px;max-width:100%}
 .composer-wrap{padding:6px 10px 8px;max-height:42dvh}
 .composer-wrap textarea{min-height:86px;font-size:var(--chat-font-size)}
 .composer-footer{font-size:12px;margin-top:6px}
 .workspace-tabs{min-height:58px;padding:6px 10px max(6px,env(safe-area-inset-bottom))}
 .workspace-tabs button{font-size:17px;min-height:44px}
 .workspace-tabs button:disabled{cursor:default}
 .workspace-tabs svg{width:22px;height:22px}
 #preview-count{font-size:14px;min-width:23px}
 .quick-actions button{font-size:16px}
 .result-toolbar button,.result-toolbar a{min-height:44px}
 .receipt{font-size:14px}
}
@media(max-width:360px){
 .app-return{font-size:15px;padding:0 7px}
 .heading{gap:5px}
 .url-row input{font-size:16px}
 .workspace-tabs button{font-size:16px;gap:6px}
}
@media(max-height:500px) and (max-width:899px){
 .topbar{min-height:54px;padding-top:4px;padding-bottom:4px}
 .composer-wrap{max-height:48dvh;padding-top:4px;padding-bottom:4px}
 .composer-wrap textarea{min-height:60px;padding-top:6px;padding-bottom:4px}
 .composer-footer{display:none}
 .workspace-tabs{min-height:48px;padding-top:2px;padding-bottom:2px}
}
