:root{--ink:var(--tg-text);--muted:var(--tg-hint);--line:var(--tg-separator);--paper:var(--tg-bg);--gold:var(--tg-accent)}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font-family:inherit}button{border-radius:8px;border-color:var(--tg-separator);font-weight:500;transition:background .15s}button.primary{background:var(--tg-accent);border-color:var(--tg-separator)}.chat-mode .chat{background:var(--tg-secondary-bg)}.message{box-shadow:none;border-color:var(--tg-separator);border-radius:13px 13px 13px 4px;padding:12px 15px}.message.mine{background:var(--tg-secondary-bg);border-color:var(--tg-separator);border-radius:13px 13px 4px 13px}.message>b{font-size:10px;font-weight:600;letter-spacing:.1px}.message p{font-size:13px;line-height:1.65;margin:6px 0 4px}.message.shared-ai-message{background:var(--tg-secondary-bg);border-color:var(--tg-separator);border-left-width:2px}.shared-ai-message .ai-context{font-size:10px;line-height:1.5}.workflow-actions{border-top:1px solid var(--tg-separator);margin-top:7px;padding-top:3px}.workflow-actions button,.chat-help-button{font-size:10px;color:var(--tg-hint)}.chat-help-button{display:inline-block}.library-card{box-shadow:none;border-radius:9px;padding:12px}.library-card h3{font-weight:600;font-size:12px;line-height:1.5}.library-card .file-symbol{font-size:23px;padding:13px}.library-actions button{background:var(--tg-secondary-bg);border-radius:7px}.attention-bar{padding:0 0 7px;margin:0;border-bottom:1px solid var(--tg-separator)}.attention-bar button{background:transparent;font-size:10px;color:var(--tg-hint)}.attention-bar button span{background:var(--tg-secondary-bg);border-radius:8px;padding:1px 5px}.conversation-bar{height:66px;min-height:66px;border-color:var(--tg-separator)}.conversation-title b{font-size:13px}.conversation-title small{font-size:9px;letter-spacing:.1px}.object-menu summary{font-size:22px;color:var(--tg-hint)}.project-files{border:0;background:var(--tg-secondary-bg);color:var(--tg-hint);font-size:10px}.composer{gap:7px}.composer input{border-color:var(--tg-separator);border-radius:16px;background:var(--tg-bg);padding:11px 15px;font-size:14px;box-shadow:0 1px 3px var(--tg-separator)}.composer input:focus{outline:1px solid var(--tg-separator);outline-offset:1px}.composer button{border-radius:14px!important;font-size:21px!important}.composer .primary{background:var(--tg-accent)}.attach-button{color:var(--tg-hint)!important}.audience-switch{border-radius:11px;background:var(--tg-secondary-bg);padding:3px}.audience-switch button{border-radius:8px;font-size:10px}.audience-bar{margin-bottom:8px}.ask-line{margin-bottom:2px}.ask-line button{font-size:9px;color:var(--tg-hint)}.ask-line span{display:none}.reply-composer{border-radius:7px}.chat-date{font-size:9px;color:var(--tg-hint)}.demo{background:var(--tg-secondary-bg);color:var(--tg-hint)}.demo button{color:var(--tg-hint)}.brand{letter-spacing:5px;font-weight:600}.panel,dialog{box-shadow:none;border-color:var(--tg-separator)}dialog{border-radius:16px;padding:25px}.modal-head h2{font-size:20px;line-height:1.4;letter-spacing:-.3px}.modal-head #close{border:0;background:var(--tg-secondary-bg);border-radius:10px;color:var(--tg-hint)}.warning{background:var(--tg-secondary-bg);border:1px solid var(--tg-separator);border-radius:8px;font-size:11px;line-height:1.6;padding:12px}#fields label{font-size:12px;color:var(--tg-text)}#fields input,#fields textarea,#fields select{border-radius:9px;background:var(--tg-secondary-bg);padding:12px}.download-link{font-size:11px}.image-controls button{border-color:var(--tg-separator);background:var(--tg-secondary-bg)}.phone-image-stage{border-color:var(--tg-separator);background:var(--tg-secondary-bg)}.question-state{border:1px solid var(--tg-separator);border-radius:8px;background:var(--tg-secondary-bg)}.invite-intro{font-size:12px;color:var(--tg-hint);margin-bottom:16px}.invite-role-info{padding:12px;background:var(--tg-secondary-bg);border:1px solid var(--tg-separator);border-radius:8px;font-size:11px;color:var(--tg-hint);line-height:1.7}.invite-item{border:1px solid var(--tg-separator);border-radius:9px;padding:14px;margin:10px 0}.invite-item .split{align-items:flex-start}.invite-item h3{font-size:12px}.invite-item p{font-size:10px}.invite-status{font-size:9px;color:var(--tg-hint)}.invite-item button{font-size:10px;padding:7px 10px}.invite-actions{display:flex;gap:8px;margin-top:12px}.join-card{text-align:center;padding:20px 5px}.join-card .join-brand{font-size:26px;letter-spacing:5px;color:var(--tg-text);margin-bottom:22px}.join-card h3{font-size:17px;font-weight:500;margin:12px 0}.join-card p{font-size:12px}.join-card .join-role{display:inline-block;margin:12px 0 22px;padding:7px 12px;background:var(--tg-secondary-bg);color:var(--tg-hint);border-radius:8px;font-size:11px}.join-card button{min-height:44px;width:100%}.join-card small{line-height:1.7;margin:15px 0}.invite-footer{font-size:10px!important;color:var(--tg-hint)!important;border-top:1px solid var(--tg-separator);padding-top:14px;margin-top:18px!important}
@media(max-width:760px){header{height:calc(42px + env(safe-area-inset-top));min-height:calc(42px + env(safe-area-inset-top));padding-left:16px;padding-right:16px}.role select{font-size:10px;min-height:32px;border:0;background:var(--tg-secondary-bg)}.role{font-size:9px}.demo{min-height:20px;padding:3px 16px;font-size:7px}.demo span{font-size:8px}.demo button{font-size:7px}.conversation-bar{height:61px;min-height:61px;gap:5px}.conversation-title b{font-size:12px;font-weight:600}.conversation-title small{font-size:8px;margin-top:4px}.conversation-bar .project-files{font-size:9px;min-height:36px;padding:6px 8px}.chat-mode .chat,.single-project .chat{padding-left:12px;padding-right:12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.message{padding:10px 12px;max-width:96%}.message p{font-size:13px;line-height:1.65}.message>b{font-size:9px}.message-list{gap:10px;padding-top:12px}.chat-date{padding:10px 0 5px;font-size:8px}.attention-bar{padding-bottom:3px}.attention-bar button{min-height:34px;font-size:9px;padding:5px 10px}.composer{gap:6px}.composer input{font-size:16px;min-height:44px;height:44px;padding:10px 13px;border-radius:14px}.composer input::placeholder{font-size:13px;color:var(--tg-hint)}.composer button{width:44px;height:44px;min-height:44px;min-width:44px;font-size:20px!important;border-radius:13px!important}.audience-bar{gap:6px;margin-bottom:7px}.audience-bar>span{font-size:8px;max-width:110px;color:var(--tg-hint)}.audience-switch button{min-height:32px;padding:6px 12px;font-size:9px}.ask-line button{min-height:30px;padding:4px 0;font-size:8px}.workflow-actions{margin-top:5px;padding-top:1px}.workflow-actions button{min-height:34px;font-size:9px}.chat-help-button{min-height:34px;font-size:9px;padding-top:7px}.library-card{padding:11px;gap:10px}.library-card h3{font-size:11px}.library-card p,.library-card .tiny{font-size:8px}.library-actions button{min-height:36px;padding:6px 10px;font-size:10px}.library-card img{width:48px;height:61px}.reply-composer{padding:7px 10px;margin-bottom:7px}.reply-composer b{font-size:8px}.reply-composer p{font-size:10px}.question-state{font-size:9px;padding:9px}.question-state p{font-size:12px}.question-state button{font-size:10px}.heading h1{font-size:23px}.heading p{font-size:10px}.heading .primary{font-size:10px;padding:10px}dialog{width:100vw;max-width:100vw;height:var(--phone-height,100dvh);border-radius:0;padding:18px;padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}.modal-head{gap:12px!important}.modal-head h2{font-size:17px}.modal-head #close{min-height:38px;min-width:38px;font-size:20px}.image-controls button{min-height:38px;min-width:38px;font-size:13px}.image-controls{gap:8px;margin:10px 0}.image-controls span{font-size:11px}.phone-image-stage{border-radius:8px}.warning{font-size:10px;line-height:1.7}#fields p{font-size:11px;line-height:1.7}#fields label{font-size:11px;margin:14px 0}#fields input,#fields textarea,#fields select{font-size:16px;min-height:44px}#fields input::placeholder{font-size:13px}#fields .primary{font-size:12px}.mention-picker-title{font-size:7px}.mention-picker button b{font-size:11px}.latest-messages{bottom:130px}.library-note{font-size:9px;line-height:1.7}.pdf-preview{border-radius:8px}.invite-item{padding:12px}.invite-actions button{min-height:38px}.invite-role-info{font-size:10px}.join-card{padding:15px 4px}.image-controls{top:42px}#fields .join-card p{font-size:12px}}
.workflow-actions{display:inline-flex;border:0;margin:0 0 0 10px;padding:0;vertical-align:middle;gap:10px}.chat-help-button{vertical-align:middle;margin-top:4px}.workflow-actions button{font-size:9px}.message .question-state{margin-top:8px}@media(max-width:760px){.workflow-actions{gap:9px;margin-left:10px}.workflow-actions button{min-height:34px;font-size:9px}.chat-help-button{margin-top:0}}
.return-navigation{display:flex;align-items:center;gap:12px;padding:10px 0 12px;border-bottom:1px solid var(--tg-separator);margin-bottom:14px}.return-navigation button{border:0;background:var(--tg-secondary-bg);color:var(--tg-hint);border-radius:8px;padding:8px 12px;font-size:11px;white-space:nowrap}.return-navigation span{color:var(--tg-hint);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-return{padding-top:16px}.portfolio-return #portfolioObjects{margin-left:auto;background:transparent;color:var(--tg-hint)}.return-navigation+.heading{margin-top:18px}@media(max-width:760px){.return-navigation{gap:8px;margin-bottom:12px;padding:8px 0 10px}.return-navigation button{min-height:40px;padding:8px 10px;font-size:10px}.return-navigation span{font-size:9px;min-width:0}.portfolio-return{flex-wrap:wrap;padding-top:12px}.portfolio-return span{order:3;flex-basis:100%;padding-left:2px}.portfolio-return #portfolioObjects{font-size:10px}}
.return-navigation{position:sticky;top:0;z-index:6;background:var(--tg-bg)}.portfolio-return{border-bottom:1px solid var(--tg-separator)}
.intake-metrics{display:flex;gap:12px;margin:18px 0}.intake-metrics span{flex:1;border:1px solid var(--tg-separator);border-radius:8px;padding:12px;font-size:10px;color:var(--tg-hint)}.intake-metrics b{display:block;font-size:22px;color:var(--tg-text);margin-bottom:6px}.intake-details{border-bottom:1px solid var(--tg-separator);padding:14px 0;font-size:11px;line-height:1.8}.intake-details summary{cursor:pointer;color:var(--tg-hint)}.intake-details ul{padding-left:18px;color:var(--tg-hint)}.intake-method{font-size:10px!important}.intake-page{display:grid;border-top:1px solid var(--tg-separator);padding:9px 0}.intake-page b{font-size:9px;color:var(--tg-hint)}.intake-page span{font-size:11px}.intake-ai-controls{margin:20px 0}.intake-ai-controls small{font-size:10px;line-height:1.8}.intake-ai-controls button{min-height:40px;font-size:11px}.intake-ai-controls button:disabled{opacity:.45}#intakeProgress,#visionProgress{font-size:11px;color:var(--tg-hint);margin-top:14px}#confirmIntake{width:100%;min-height:44px;margin:12px 0}@media(max-width:500px){.intake-metrics{gap:6px}.intake-metrics span{padding:9px;font-size:9px}.intake-metrics b{font-size:20px}}

/* Визуальный раунд v2: серверный поиск Kris. */
.message.tony-search-answer{display:block;max-width:min(100%,520px);border:1px solid var(--tg-separator);background:var(--tg-secondary-bg);border-radius:14px 14px 14px 4px;padding:14px 16px;box-shadow:none}
.message.tony-search-answer>b{display:block;color:var(--tg-hint);font-size:10px;font-weight:600;margin-bottom:8px;line-height:1.5}
.message.tony-search-answer>p{font-size:13px;line-height:1.65;color:var(--tg-text);margin:0 0 12px}
.tony-sources{background:var(--tg-bg);border:1px solid var(--tg-separator);border-radius:10px;overflow:hidden;margin-top:12px}
.tony-sources-heading{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;font-size:9px;color:var(--tg-hint);border-bottom:1px solid var(--tg-separator);letter-spacing:.15px}
.tony-sources-heading>span:first-child{font-weight:600;color:var(--tg-hint)}
.tony-source-list{display:grid}
.tony-source-row{display:flex;align-items:center;gap:11px;width:100%;min-height:59px;padding:10px 12px;border:0;border-bottom:1px solid var(--tg-separator);border-radius:0;background:var(--tg-bg);text-align:left;color:var(--tg-text)}
.tony-source-row:last-child{border-bottom:0}.tony-source-row:hover{background:var(--tg-secondary-bg)}.tony-source-row:focus-visible{outline:2px solid var(--tg-separator);outline-offset:-3px}
.tony-page-number{flex:0 0 35px;min-height:35px;border-radius:7px;background:var(--tg-secondary-bg);color:var(--tg-hint);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;line-height:1.2;font-variant-numeric:tabular-nums}
.tony-page-number small{font-size:7px;margin:0;color:var(--tg-hint)}
.tony-page-caption{display:grid;gap:4px;min-width:0;flex:1}.tony-page-caption>span{font-size:11px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.tony-page-caption .tony-toc-label{font-size:8px;line-height:1.3;color:var(--tg-hint);margin:0}
.tony-source-arrow{color:var(--tg-hint);font-size:15px;flex-shrink:0}
.tony-source-file{font-size:8px;line-height:1.5;color:var(--tg-hint);padding:8px 12px;border-top:1px solid var(--tg-separator);overflow-wrap:anywhere}
.tony-sources .tony-source-caution{font-size:9px!important;line-height:1.6;margin:0!important;padding:9px 12px;background:var(--tg-secondary-bg);color:var(--tg-hint)}
.tony-excerpts{margin-top:10px}.tony-excerpts summary{font-size:9px;color:var(--tg-hint);cursor:pointer;min-height:30px;display:list-item;line-height:30px;margin-left:12px}.tony-excerpts p{font-size:11px!important;color:var(--tg-hint)!important;line-height:1.7!important;margin-top:7px!important}
.tony-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tony-options .tony-option{border:1px solid var(--tg-separator);border-radius:10px;background:var(--tg-bg);color:var(--tg-hint);min-height:42px;padding:9px 13px;font-size:11px;line-height:1.4;text-align:left;font-weight:500}
.tony-options .tony-option:hover{background:var(--tg-secondary-bg)}.tony-options .tony-option:focus-visible{outline:2px solid var(--tg-separator);outline-offset:2px}
.tony-search-notice{display:inline-flex;align-items:center;gap:7px;color:var(--tg-hint);font-size:9px;line-height:1.5;background:var(--tg-secondary-bg);border:1px solid var(--tg-separator);border-radius:7px;padding:6px 9px;margin:0 0 10px}
.message.tony-search-caution{background:var(--tg-secondary-bg);border-color:var(--tg-separator)}.message.tony-search-caution>p{color:var(--tg-hint)}
.message.tony-search-pending{width:240px;background:var(--tg-secondary-bg);border-style:dashed;border-color:var(--tg-separator);padding:14px 16px}
.message.tony-search-pending>b{display:flex;align-items:center;gap:9px}.tony-search-pending>b:after{content:'';width:6px;height:6px;border-radius:50%;background:var(--tg-secondary-bg);animation:tony-search-pulse 1.4s ease-in-out infinite}
.message.tony-search-pending>p{font-size:11px;margin:0;color:var(--tg-hint)}
@keyframes tony-search-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.tony-search-pending>b:after{animation:none}}
@media(max-width:760px){.message.tony-search-answer{max-width:100%;width:auto;padding:12px;border-radius:12px 12px 12px 4px}.message.tony-search-answer>b{font-size:9px;margin-bottom:7px}.message.tony-search-answer>p{font-size:12px;line-height:1.7;margin-bottom:10px}.tony-sources{margin-top:10px;border-radius:9px}.tony-sources-heading{padding:10px;font-size:9px}.tony-source-row{padding:9px 10px;gap:9px;min-height:58px}.tony-page-caption>span{font-size:11px;line-height:1.5}.tony-page-number{flex-basis:31px;min-height:34px;font-size:13px}.tony-page-caption .tony-toc-label{font-size:8px}.tony-source-file{padding:7px 10px;font-size:8px}.tony-options{gap:7px;margin-top:12px}.tony-options .tony-option{min-height:44px;font-size:11px;padding:10px 12px}.message.tony-search-pending{width:235px}.tony-search-notice{font-size:9px}.tony-excerpts summary{min-height:36px;line-height:36px;font-size:9px}.tony-sources .tony-source-caution{font-size:9px!important;padding:8px 10px}}

.tony-source-list.is-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:230px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:10px;gap:7px;padding:10px;scrollbar-width:thin;scrollbar-color:var(--tg-separator) transparent}.is-carousel .tony-source-row{scroll-snap-align:start;min-height:94px;align-items:flex-start;border:1px solid var(--tg-separator);border-radius:8px;padding:12px 10px}.is-carousel .tony-source-arrow{align-self:center}.is-carousel .tony-page-caption{padding-top:1px}.is-carousel .tony-page-caption>span{font-size:11px}.is-carousel .tony-source-row:last-child{border-bottom:1px solid var(--tg-separator)}@media(max-width:760px){.tony-source-list.is-carousel{grid-auto-columns:225px;padding:8px;gap:7px}.is-carousel .tony-source-row{min-height:94px}}

/* PDF page preview: fit the sheet; retain scrolling when zoomed. */
.phone-image-stage{height:auto;min-height:0;max-height:70vh;max-height:70dvh;overflow:auto}
.phone-image-stage img{vertical-align:top}
.tony-page-preview{display:flex;align-items:center;justify-content:center;flex:0 0 42px;height:48px;overflow:hidden;border:1px solid var(--tg-separator);border-radius:4px;background:var(--tg-secondary-bg)}
.tony-page-preview img{display:block;width:100%;height:100%;object-fit:contain;font-size:0}
.tony-source-row .tony-page-number{flex-basis:27px;background:transparent;min-height:32px}
@media(max-width:760px){.phone-image-stage{height:auto;min-height:0;max-height:65vh;max-height:65dvh}.tony-page-preview{flex-basis:36px;height:43px}.tony-source-row{gap:7px}.tony-source-row .tony-page-number{flex-basis:23px}.is-carousel .tony-page-preview{flex-basis:32px;height:42px}.is-carousel .tony-page-number{flex-basis:21px}}

.tony-page-preview[hidden]{display:none}

/* Questions about project sheets: mobile-first step. */
.sheet-questions.chat-help-button{align-self:flex-start;display:block;margin:2px 0 9px;padding:9px 12px;min-height:40px;border:1px solid var(--tg-separator);border-radius:9px;background:var(--tg-secondary-bg);color:var(--tg-text);font-size:11px;line-height:1.4;text-align:left}
.sheet-question{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}
.sheet-question-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--tg-hint);font-size:11px;line-height:1.5}.sheet-question-progress b{color:var(--tg-text);font-weight:600;background:var(--tg-secondary-bg);border-radius:6px;padding:5px 8px}
#fields .sheet-question-file{font-size:10px;overflow-wrap:anywhere;color:var(--tg-hint);margin:-7px 0 0}
.sheet-question-preview{border:1px solid var(--tg-separator);border-radius:9px;overflow:hidden;background:var(--tg-secondary-bg)}
.sheet-question-image{overflow:auto;max-height:340px;max-height:38dvh;touch-action:pan-x pan-y pinch-zoom}.sheet-question-image img{display:block;width:100%;max-width:none;height:auto}.sheet-question-image.is-zoomed img{width:220%}
#qZoom{display:block;width:100%;border:0;border-top:1px solid var(--tg-separator);border-radius:0;background:var(--tg-secondary-bg);color:var(--tg-hint);font-size:11px;min-height:40px;padding:9px}
.sheet-question-prompt h3{font-size:15px;line-height:1.5;font-weight:600;color:var(--tg-text);margin:0 0 8px}
#fields .sheet-question-prompt p{font-size:11px;line-height:1.65;color:var(--tg-hint);margin:0;padding-left:10px;border-left:2px solid var(--tg-separator)}.sheet-question-prompt span{display:block;color:var(--tg-hint);font-weight:600;margin-bottom:3px}
#fields .sheet-question label{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:0;font-size:11px;color:var(--tg-hint)}
#fields .sheet-question input,#fields .sheet-question select{display:block;width:100%;min-width:0;box-sizing:border-box;min-height:44px;margin:0;border:1px solid var(--tg-separator);background:var(--tg-secondary-bg);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--tg-text)}
#fields #qError{margin:0;color:var(--tg-text);background:var(--tg-secondary-bg);border-radius:7px;padding:10px;font-size:11px;line-height:1.6}#fields #qError:empty{display:none}
.sheet-question-actions.library-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 0;padding:12px 0 4px;border-top:1px solid var(--tg-separator)}
.sheet-question-actions button{min-height:44px;border:1px solid var(--tg-separator);border-radius:9px;background:var(--tg-secondary-bg);color:var(--tg-hint);font-size:11px;line-height:1.4;padding:11px}
.sheet-question-actions #qSave.primary{grid-column:1/-1;background:var(--tg-accent);border-color:var(--tg-separator);color:var(--tg-button-text);font-size:13px;font-weight:600}
.sheet-question button:focus-visible{outline:2px solid var(--tg-separator);outline-offset:2px}
@media(max-width:760px){#fields .sheet-question input,#fields .sheet-question select{font-size:16px}.sheet-question{gap:13px}.sheet-question-prompt h3{font-size:14px}.sheet-questions.chat-help-button{font-size:10px;min-height:40px}.sheet-question-progress{font-size:10px}}

/* Optional AI review is separate from the human decision. */
.sheet-question-ai{display:grid;gap:9px;border:1px solid var(--tg-separator);border-radius:10px;background:var(--tg-secondary-bg);padding:12px;min-width:0}
.sheet-ai-label{font-size:10px;font-weight:600;letter-spacing:.2px;color:var(--tg-hint)}
#qAI{display:block;width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--tg-separator);border-radius:8px;background:var(--tg-bg);color:var(--tg-text);font-size:12px;font-weight:500;line-height:1.5;white-space:normal;text-align:left;overflow-wrap:anywhere}
#qAI:hover{background:var(--tg-secondary-bg)}#qAI:focus-visible{outline:2px solid var(--tg-separator);outline-offset:2px}
#qAIStatus{display:block;font-size:10px;line-height:1.65;color:var(--tg-hint);overflow-wrap:anywhere}
.sheet-question-ai[data-state=confirm]{background:var(--tg-secondary-bg);border-color:var(--tg-separator)}
.sheet-question-ai[data-state=confirm] .sheet-ai-label{color:var(--tg-hint)}
.sheet-question-ai[data-state=confirm] #qAI{background:var(--tg-secondary-bg);border-color:var(--tg-separator);color:var(--tg-text);font-weight:600}
.sheet-question-ai[data-state=confirm] #qAIStatus{color:var(--tg-hint)}
.sheet-question-ai[data-state=loading] #qAI{opacity:.65;cursor:wait}.sheet-question-ai[data-state=loading] #qAIStatus{color:var(--tg-hint)}
.sheet-question-ai[data-state=error]{background:var(--tg-secondary-bg);border-color:var(--tg-separator)}.sheet-question-ai[data-state=error] #qAIStatus{color:var(--tg-hint)}
#fields .sheet-question-prompt .sheet-question-ai-guess{margin:12px 0 0;padding:11px 12px;border:1px solid var(--tg-separator);border-left:3px solid var(--tg-separator);border-radius:8px;background:var(--tg-secondary-bg);color:var(--tg-hint);font-size:12px;line-height:1.65}
.sheet-question-prompt .sheet-question-ai-guess span{font-size:10px;color:var(--tg-hint);margin-bottom:5px}
@media(max-width:760px){.sheet-question-ai{padding:11px;gap:8px}#qAI{font-size:11px;padding:10px 11px}#qAIStatus{font-size:10px}}

/* Compact messenger composer. Keep existing form and send handlers. */
#chatForm.composer{display:flex;align-items:flex-end;gap:8px;padding-top:3px}
#chatForm #message{display:block;flex:1;min-width:0;box-sizing:border-box;width:100%;height:44px;min-height:44px;max-height:144px;resize:none;overflow-y:auto;border:1px solid var(--tg-separator);border-radius:23px;background:var(--tg-bg);padding:11px 15px;font-family:inherit;font-size:14px;line-height:22px;color:var(--tg-text);box-shadow:0 1px 3px var(--tg-separator);scrollbar-width:thin}
#chatForm #message:focus{outline:1px solid var(--tg-separator);outline-offset:1px}#chatForm #message::placeholder{font-size:13px;color:var(--tg-hint)}
#chatForm.composer>.attach-button,#chatForm.composer>button.primary{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;max-height:44px;border-radius:50%!important;padding:0;display:flex;align-items:center;justify-content:center;line-height:1;font-size:24px!important}
#chatForm.composer>.attach-button{border:0;background:transparent;color:var(--tg-hint)!important}#chatForm.composer>button.primary{background:var(--tg-accent);border:0;color:var(--tg-button-text);box-shadow:0 1px 3px var(--tg-separator)}
#chatForm.composer>button.primary:active{background:var(--tg-accent)}.audience-bar{padding:0 4px}
.intake-details{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;min-width:0}.intake-summary{padding:10px;border:1px solid var(--tg-separator);border-radius:10px;background:var(--tg-secondary-bg);min-width:0}.intake-preview{display:block;width:100%;max-height:200px;object-fit:contain;border-radius:6px;background:var(--tg-secondary-bg)}
#fields .intake-summary p{font-size:11px;line-height:1.6;margin:9px 0 0;overflow-wrap:anywhere}#fields .intake-summary .intake-method{font-size:10px;color:var(--tg-hint)}
#fields .intake-details label{display:grid;gap:6px;grid-template-columns:minmax(0,1fr);font-size:11px;color:var(--tg-hint);margin:0}
.intake-field-hint{font-size:10px;color:var(--tg-hint);font-weight:400}
#fields .intake-details input,#fields .intake-details select{width:100%;box-sizing:border-box;min-width:0;min-height:44px;margin:0;padding:10px 12px;border:1px solid var(--tg-separator);border-radius:8px;background:var(--tg-secondary-bg);color:var(--tg-text)}
#fields .intake-details>p{margin:0;padding:11px 12px;background:var(--tg-secondary-bg);border-radius:8px;font-size:10px;color:var(--tg-hint);line-height:1.65}
#form:has(.intake-details)>button[type=submit]{display:block;width:100%;min-height:46px;background:var(--tg-accent);color:var(--tg-button-text);border:0;border-radius:10px;margin-top:18px;font-size:13px;font-weight:600}
@media(max-width:760px){#chatForm #message{font-size:16px;line-height:22px}#chatForm.composer{gap:6px}#fields .intake-details input,#fields .intake-details select{font-size:16px}.intake-preview{max-height:180px}}

/* Intake typography: consistent labels, controls and supporting text. */
#fields .intake-details{gap:18px}
#fields .intake-details label{font-size:13px;line-height:1.45;font-weight:500;gap:8px;color:var(--tg-text)}
#fields .intake-details input,#fields .intake-details select{font-family:inherit;font-size:16px;line-height:22px;font-weight:400;min-height:46px;height:46px;padding:11px 12px;border-radius:9px}
#fields .intake-details input::placeholder{font-size:14px;line-height:22px;color:var(--tg-hint);opacity:1}
#fields .intake-details .intake-summary{padding:12px;background:var(--tg-secondary-bg)}
#fields .intake-summary .intake-filename{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--tg-text)}
.intake-filename b{display:block;font-weight:600;overflow-wrap:anywhere}.intake-filename span{display:block;margin-top:3px;font-size:12px;color:var(--tg-hint);font-weight:400}
#fields .intake-summary .intake-method,#fields .intake-details>p{font-size:12px;line-height:1.6;font-weight:400}
#fields .intake-details .intake-kind-label{padding-bottom:18px;border-bottom:1px solid var(--tg-separator);color:var(--tg-text);font-weight:600}
#form:has(.intake-details)>button[type=submit]{font-size:14px;line-height:22px;min-height:46px}
@media(max-width:760px){#modal:has(.intake-details) .modal-head h2{font-size:19px;line-height:1.4}.intake-preview{max-height:150px}}

/* Fast room labeling for a sequence of visualizations (ADR-010). */
.visual-question{gap:11px}
.visual-question .sheet-question-file{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.visual-question .sheet-question-image{max-height:clamp(150px,27dvh,260px);background:var(--tg-secondary-bg)}
.visual-question .sheet-question-image:not(.is-zoomed) img{max-height:clamp(150px,27dvh,260px);object-fit:contain}
.visual-question #qZoom{min-height:34px;padding:7px;font-size:10px}
.visual-question .sheet-question-prompt h3{font-size:14px;line-height:1.45;margin:0}
.visual-question #qSame{display:block;width:100%;min-height:46px;border:1px solid var(--tg-separator);border-radius:9px;padding:10px 12px;background:var(--tg-secondary-bg);color:var(--tg-text);font-size:12px;font-weight:600;line-height:1.4;text-align:left;overflow-wrap:anywhere}
.visual-question #qSame:hover{background:var(--tg-secondary-bg)}
.visual-room-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:160px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--tg-separator) var(--tg-separator);padding:2px 3px 2px 1px}
.visual-room-option{min-width:0;min-height:46px;border:1px solid var(--tg-separator);border-radius:9px;background:var(--tg-secondary-bg);color:var(--tg-text);font-size:12px;line-height:1.4;font-weight:500;padding:9px 10px;text-align:left;overflow-wrap:anywhere;box-shadow:none}
.visual-room-option:hover{background:var(--tg-secondary-bg);border-color:var(--tg-separator)}
#fields .visual-question label{font-size:11px;gap:5px}
#fields .visual-question #qRoom{min-height:44px;height:44px;padding:9px 12px}
.visual-question .sheet-question-actions{position:sticky;bottom:0;z-index:2;background:var(--tg-bg);padding:10px 0 4px;margin:0;gap:7px;box-shadow:0 -6px 12px var(--tg-separator)}
.visual-question .sheet-question-actions #qSave{min-height:44px;font-size:12px}
.visual-question .sheet-question-actions #qService,.visual-question .sheet-question-actions #qLater{font-size:10px;min-height:44px;padding:8px;line-height:1.4}
@media(max-width:760px){#modal:has(.visual-question){padding:14px 16px}#modal:has(.visual-question) .modal-head{margin-bottom:12px}#modal:has(.visual-question) .modal-head h2{font-size:17px}.visual-question .sheet-question-progress{font-size:9px}.visual-question .sheet-question-progress b{padding:4px 7px}.visual-room-options{max-height:152px}}

/* Today home, driven by krisHome only. */
body.home-mode{display:block;background:var(--tg-secondary-bg)}body.home-mode>aside,body.home-mode footer,body.home-mode .crumb{display:none!important}body.home-mode main{margin:0;width:100%;max-width:none}body.home-mode #content{display:block;padding:0!important}body.home-mode header{justify-content:flex-end}body.home-mode .home-today{max-width:660px;margin:auto;min-height:calc(100dvh - 90px);padding:22px 24px 100px;box-sizing:border-box;background:var(--tg-bg)}
.home-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.home-brand{text-decoration:none;font-size:28px;letter-spacing:5px;color:var(--tg-text);font-weight:500}.home-brand-row>div{display:flex;gap:12px;align-items:center}.home-add,.home-profile{width:42px;height:42px;min-height:42px;border-radius:50%;border:0;padding:0}.home-add{background:var(--tg-accent);color:var(--tg-button-text);font-size:26px}.home-profile{background:var(--tg-secondary-bg);color:var(--tg-hint);font-size:14px}.home-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 20px}.home-title h1{font-size:28px;line-height:1.25;font-weight:600;letter-spacing:-.6px;margin:0;color:var(--tg-text)}.home-title>span{font-size:11px;color:var(--tg-hint);text-align:right}
.home-questions{display:flex;align-items:center;gap:11px;width:100%;min-height:54px;padding:12px 15px;border:1px solid var(--tg-separator);border-radius:11px;background:var(--tg-secondary-bg);color:var(--tg-text);font-size:13px;text-align:left;margin-bottom:12px}.home-questions>span:nth-child(2){flex:1}
.home-project{display:flex;align-items:flex-start;gap:12px;width:100%;padding:19px 0;background:transparent;border:0;border-bottom:1px solid var(--tg-separator);border-radius:0;text-align:left;color:inherit}.home-cover{position:relative;width:58px;height:64px;flex:0 0 58px;overflow:hidden;border-radius:10px;background:var(--tg-secondary-bg);display:grid;place-items:center;color:var(--tg-hint);font-size:22px}.home-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.home-project-copy{flex:1;min-width:0}.home-project-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.home-project-top b{font-size:14px;font-weight:600;line-height:1.45;color:var(--tg-text)}.home-project-top time{font-size:9px;white-space:nowrap;color:var(--tg-hint)}.home-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.6;color:var(--tg-hint);margin-top:4px;overflow-wrap:anywhere}.home-statuses{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.home-statuses small{border-radius:7px;padding:4px 7px;background:var(--tg-secondary-bg);font-size:9px;color:var(--tg-hint)}.home-unread{background:var(--tg-accent);color:var(--tg-button-text);min-width:20px;min-height:20px;box-sizing:border-box;border-radius:20px;text-align:center;line-height:20px;font-size:10px;margin-top:27px;padding:0 5px}
.home-bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,660px);display:flex;background:var(--tg-bg);border-top:1px solid var(--tg-separator);padding:10px 12px max(12px,env(safe-area-inset-bottom));box-sizing:border-box;z-index:10}.home-bottom button{flex:1;display:grid;gap:4px;place-items:center;border:0;background:transparent;border-radius:8px;min-height:52px;color:var(--tg-hint);font-size:11px}.home-bottom button span{font-size:23px;line-height:1}.home-bottom button[aria-current=page]{color:var(--tg-text)}.home-bottom button[aria-current=page]:after{content:'';height:2px;width:20px;background:var(--tg-secondary-bg);border-radius:2px}
.home-state{font-size:12px;color:var(--tg-hint);line-height:1.7;padding:20px 0}.home-empty{text-align:center;padding:48px 12px;color:var(--tg-hint)}.home-empty>span{font-size:36px}.home-empty h2{font-size:17px;color:var(--tg-hint);font-weight:500}.home-empty p{font-size:12px;line-height:1.7}.home-empty button{min-height:44px;background:var(--tg-secondary-bg);border:1px solid var(--tg-separator);color:var(--tg-hint)}
.home-search-intro,.home-search-message{font-size:13px;color:var(--tg-hint);line-height:1.7}.home-search-form{display:flex;gap:8px;margin:22px 0}.home-search-form input{flex:1;min-width:0;border:1px solid var(--tg-separator);border-radius:23px;padding:12px 15px;font-size:16px;background:var(--tg-secondary-bg);color:var(--tg-text)}.home-search-form button{width:44px;height:44px;flex:0 0 44px;border-radius:50%;border:0;background:var(--tg-accent);color:var(--tg-button-text);font-size:22px}.home-search-results{display:grid;gap:9px}.home-search-results button{display:grid;gap:7px;text-align:left;padding:14px;background:var(--tg-secondary-bg);border:1px solid var(--tg-separator);border-radius:10px;min-height:70px}.home-search-results small{color:var(--tg-hint);font-size:10px}.home-search-results b{font-size:13px;line-height:1.5;color:var(--tg-text)}.home-search-results span,.home-search-results em{font-size:10px;color:var(--tg-hint);font-style:normal}.home-question-list{display:grid;gap:9px}.home-question-list button{display:grid;gap:6px;text-align:left;padding:14px;background:var(--tg-secondary-bg);border:1px solid var(--tg-separator);min-height:64px}.home-question-list b{font-size:13px;color:var(--tg-text)}.home-question-list span{font-size:11px;color:var(--tg-hint)}.message-time{display:block;text-align:right;margin-top:6px;color:var(--tg-hint);font-size:9px;line-height:1.4;font-variant-numeric:tabular-nums}
@media(max-width:760px){body.home-mode .home-today{padding:19px 18px 100px;min-height:calc(var(--phone-height,100dvh) - 65px)}.home-brand-row{margin-bottom:26px}.home-brand{font-size:25px}.home-title h1{font-size:25px}.home-project{gap:10px;padding:17px 0}.home-cover{width:52px;height:60px;flex-basis:52px}.home-project-top b{font-size:13px}.home-preview{font-size:11px}.home-questions{font-size:12px}.home-title>span{font-size:10px}}
.home-project .home-cover{display:grid;min-height:60px}.home-project .home-cover img{height:100%!important;max-height:none!important;width:100%!important;object-fit:cover}

/* Home scrolling, migrated from tech-fixes.css (all themes and default). */
body.home-mode #content{overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* Primary readable design A, selected by owner (ADR-021). html:root preserves cascade specificity. */
html:root{--read-ink:var(--tg-text);--read-muted:var(--tg-hint);--read-bg:var(--tg-chat-bg);--read-card:var(--tg-bg);--read-line:var(--tg-separator);--read-action:var(--tg-accent);--read-mine:var(--tg-bubble-out);--read-ai:var(--tg-bubble-in)}
html:root body{background:var(--read-bg)!important;color:var(--read-ink)!important}
html:root body *{color:var(--read-ink)!important;text-shadow:none!important;box-shadow:none!important}
html:root body :is(p,span,small,b,strong,label,time,button,a,summary,div,em){font-size:13px!important;line-height:1.5}
html:root :is(button,summary,select,input[type=file],a.download-link){min-height:44px!important}
html:root button{white-space:normal;line-height:1.45!important}
html:root :is(input,textarea,select){font-size:16px!important;color:var(--read-ink)!important}
html:root input::placeholder,html:root textarea::placeholder{color:var(--read-muted)!important;opacity:1;font-size:16px!important}
html:root header{height:auto!important;min-height:48px!important;padding:4px 16px!important;background:var(--read-card)!important;border-bottom:1px solid var(--read-line)}
html:root .role{gap:7px!important;font-size:12px!important}
html:root .role select{min-height:44px!important;font-size:13px!important}
html:root .demo{min-height:36px!important;padding:3px 12px!important;gap:6px!important;background:var(--read-bg)!important;flex-wrap:wrap}
html:root .demo,html:root .demo span,html:root .demo button{font-size:12px!important;color:var(--read-muted)!important}
html:root .demo button{min-height:44px!important}
html:root .home-today{background:var(--read-bg)!important;padding-top:16px!important}
html:root .home-brand{font-size:28px!important;letter-spacing:5px}
html:root .home-brand-row{margin-bottom:22px!important}
html:root .home-title h1{font-size:29px!important;line-height:1.2!important;color:var(--read-ink)!important}
html:root .home-title>span{font-size:13px!important;color:var(--read-muted)!important}
html:root .home-project{border-color:var(--read-line)!important;gap:12px!important;padding:17px 0!important}
html:root .home-project-top b{font-size:17px!important;line-height:1.4!important}
html:root .home-project-top{flex-wrap:wrap;gap:4px!important}
html:root .home-project-top time,html:root .message-time{font-size:12px!important;color:var(--read-muted)!important}
html:root .home-preview{font-size:16px!important;line-height:1.5!important;color:var(--read-muted)!important}
html:root .home-statuses small{font-size:12px!important;color:var(--read-muted)!important;background:var(--read-card)!important}
html:root .home-unread{background:var(--read-action)!important;color:var(--tg-button-text)!important;font-size:13px!important;min-width:24px!important;line-height:24px!important}
html:root .home-cover{height:72px!important;min-height:72px!important;width:60px!important;flex-basis:60px!important}
html:root .home-cover>span{font-size:25px!important}
html:root .home-questions{border-color:var(--read-line)!important;background:var(--read-mine)!important;min-height:56px!important}
html:root .home-questions span{font-size:16px!important}
html:root .home-bottom{background:var(--read-card)!important;border-color:var(--read-line)!important}
html:root .home-bottom button{font-size:13px!important;color:var(--read-muted)!important}
html:root .home-bottom button span{font-size:24px!important}
html:root .home-bottom button[aria-current=page]{color:var(--read-action)!important;font-weight:600}
html:root .home-search-intro,html:root .home-search-message,html:root .home-state,html:root .home-empty p{font-size:16px!important;color:var(--read-muted)!important}
html:root .home-search-results b{font-size:17px!important}
html:root .home-search-results :is(small,span,em){font-size:13px!important;color:var(--read-muted)!important}
html:root .conversation-bar{height:auto!important;min-height:80px!important;align-items:center!important;gap:8px!important;background:var(--read-card)!important;border-color:var(--read-line)!important}
html:root .conversation-title{min-width:0;flex:1}
html:root .conversation-title b{font-size:17px!important;line-height:1.35!important}
html:root .conversation-title small{font-size:12px!important;line-height:1.4!important;color:var(--read-muted)!important;white-space:normal!important}
html:root .conversation-bar #back,html:root .object-menu summary{min-width:44px!important;width:44px!important;font-size:26px!important}
html:root .project-files{font-size:13px!important;min-height:44px!important;padding:8px!important}
html:root .chat-mode .chat,html:root .single-project .chat{background:var(--read-bg)!important;padding:10px 12px!important}
html:root .chat-date{font-size:13px!important;color:var(--read-muted)!important;line-height:1.5!important;padding:8px 0!important}
html:root .attention-bar{border-color:var(--read-line)!important}
html:root .attention-bar button,html:root .sheet-questions.chat-help-button{font-size:13px!important;min-height:44px!important;color:var(--read-muted)!important}
html:root .message-list{gap:13px!important}
html:root #content .message{background:var(--read-card)!important;border:1px solid var(--read-line)!important;padding:12px 14px!important;max-width:96%!important}
html:root #content .message.mine{background:var(--read-mine)!important}
html:root #content .message>b{font-size:13px!important;font-weight:600!important;color:var(--read-ink)!important}
html:root #content .message p,html:root #content .message.tony-search-answer>p{font-size:16px!important;line-height:1.55!important;color:var(--read-ink)!important}
html:root #content .message.tony-search-answer,html:root #content .message.shared-ai-message{background:var(--read-ai)!important}
html:root .workflow-actions button,html:root .chat-help-button,html:root .ask-line button{font-size:13px!important;min-height:44px!important;color:var(--read-muted)!important}
html:root .workflow-actions{display:flex;gap:6px;flex-wrap:wrap;border-color:var(--read-line)!important}
html:root .audience-bar{gap:8px!important;align-items:center!important}
html:root .audience-bar>span{font-size:12px!important;max-width:none!important;flex:1;color:var(--read-muted)!important;line-height:1.4!important}
html:root .audience-switch button{font-size:13px!important;min-height:44px!important;padding:8px 12px!important}
html:root .audience-switch{background:var(--read-mine)!important}
html:root #chatForm #message{font-size:17px!important;line-height:23px!important;border-color:var(--read-line)!important;background:var(--tg-bg)!important}
html:root #chatForm.composer>button.primary,html:root .home-add,html:root .home-search-form button{background:var(--read-action)!important;color:var(--tg-button-text)!important}
html:root #chatForm.composer>.attach-button{color:var(--read-action)!important;font-size:27px!important}
html:root .tony-source-row{min-height:74px!important;padding:12px!important;border-color:var(--read-line)!important}
html:root .tony-page-caption>span{font-size:16px!important;line-height:1.4!important}
html:root .tony-page-number{font-size:17px!important;min-width:28px!important}
html:root .tony-page-number small,html:root .tony-page-caption .tony-toc-label,html:root .tony-source-file,html:root .tony-sources-heading,html:root .tony-sources-heading span{font-size:12px!important;color:var(--read-muted)!important}
html:root .tony-source-caution,html:root .tony-sources .tony-source-caution,html:root .tony-search-notice{font-size:13px!important;color:var(--tg-text)!important;line-height:1.5!important}
html:root .tony-options .tony-option{font-size:16px!important;min-height:44px!important;color:var(--read-ink)!important}
html:root .tony-excerpts summary{font-size:13px!important;min-height:44px!important;line-height:44px!important;color:var(--read-muted)!important}
html:root .tony-source-list.is-carousel{grid-auto-columns:280px!important}
html:root .is-carousel .tony-source-row{min-height:120px!important}
html:root .tony-source-arrow{font-size:22px!important}
html:root #modal{background:var(--tg-bg)!important;border-color:var(--read-line)!important;padding:16px!important}
html:root #modal .modal-head h2{font-size:22px!important;line-height:1.3!important}
html:root #modal .modal-head #close{width:44px!important;min-width:44px!important;font-size:24px!important}
html:root #modal #fields p{font-size:16px!important;line-height:1.55!important}
html:root #modal #fields :is(small,label,span),html:root #modal .warning{font-size:13px!important;line-height:1.5!important}
html:root #modal .warning{padding:12px!important;color:var(--tg-text)!important;background:var(--tg-secondary-bg)!important}
html:root .image-controls button,html:root .image-controls span{font-size:16px!important;min-width:44px!important}
html:root .image-controls{flex-wrap:wrap;gap:8px!important}
html:root .image-instruction,html:root .download-link,html:root .page-share-hint{font-size:13px!important;color:var(--read-muted)!important}
html:root .sheet-question{gap:15px!important}
html:root #modal #fields .sheet-question-prompt h3{font-size:17px!important;line-height:1.45!important}
html:root #modal #fields .sheet-question-prompt p{font-size:16px!important}
html:root #modal #fields .sheet-question-file,html:root .sheet-question-progress,html:root .sheet-question-progress b,html:root .sheet-question-progress span{font-size:13px!important;color:var(--read-muted)!important}
html:root #modal #fields .sheet-question label{font-size:13px!important;gap:7px!important}
html:root #modal #fields :is(input,select,textarea){font-size:17px!important;min-height:46px!important;line-height:1.45!important;color:var(--read-ink)!important}
html:root #modal :is(#qZoom,#qAI,#qAIStatus,#qSame,.visual-room-option){font-size:13px!important;min-height:44px!important;line-height:1.5!important}
html:root #qAIStatus{color:var(--read-muted)!important}
html:root #modal .sheet-question-actions button{font-size:14px!important;min-height:46px!important}
html:root #modal .sheet-question-actions #qSave.primary,html:root #modal #form>button.primary{color:var(--tg-button-text)!important;background:var(--read-action)!important;border-color:var(--read-action)!important;font-size:16px!important}
html:root #modal .visual-room-option{font-size:16px!important;min-height:48px!important}
html:root #modal .visual-room-options{max-height:190px!important}
html:root .sheet-question-ai[data-state=confirm] #qAI,html:root .sheet-question-ai[data-state=confirm] #qAIStatus{color:var(--tg-text)!important}
html:root .kris-learn,html:root .kris-learn *,html:root .kris-advice-hint{font-size:13px!important;color:var(--read-muted)!important}
html:root .kris-advice-body p,html:root .kris-advice-body li,html:root .kris-facts{font-size:16px!important;line-height:1.55!important}
html:root .kris-advice-body h4{font-size:17px!important}
html:root .kris-advice-ask,html:root .kris-advice-send,html:root .page-share button{font-size:13px!important;min-height:44px!important}
html:root a:focus-visible,html:root button:focus-visible,html:root input:focus-visible,html:root select:focus-visible,html:root summary:focus-visible{outline:2px solid var(--read-action)!important;outline-offset:2px}

html:root .message{border-radius:14px 14px 14px 4px!important}html:root .message.mine{border-radius:14px 14px 4px 14px!important}
html:root #content :is(h3,.library-card h3){font-size:16px!important;line-height:1.45!important}
html:root .conversation-title b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
html:root :is(button,summary){min-width:44px!important}
html:root .private-welcome h2{font-size:24px!important;line-height:1.35!important}
html:root .private-welcome p{font-size:16px!important;line-height:1.5!important}

html:root a[href]{display:inline-flex;align-items:center;min-height:44px!important}
html:root button:disabled{opacity:1!important;color:var(--read-muted)!important;background:var(--tg-secondary-bg)!important;cursor:default}

/* Primary action contrast, migrated from tech-fixes.css. */
html:root body button.primary,html:root body a.primary,html:root body .primary{color:var(--tg-button-text)!important}

/* Mobile chat: fixed-height chrome, one scrollable services row, shared composer toolbar. */
@media(max-width:760px){
 html:root body.chat-mode:not(.home-mode) .demo{display:none!important}
 html:root body.chat-mode:not(.home-mode) header{height:48px!important;min-height:48px!important;padding:0 12px!important}
 html:root body.chat-mode:not(.home-mode) .conversation-bar{height:56px!important;min-height:56px!important;max-height:56px!important;flex:none;padding:0 6px!important;gap:2px!important;overflow:visible}
 html:root body.chat-mode:not(.home-mode) .conversation-title{min-width:0!important;flex:1!important;overflow:hidden}
 html:root body.chat-mode:not(.home-mode) .conversation-title b{display:block;font-size:16px!important;line-height:22px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:none!important}
 html:root body.chat-mode:not(.home-mode) .conversation-title small{display:none!important}
 html:root body.chat-mode:not(.home-mode) .project-files{font-size:0!important;min-width:44px!important;width:44px!important;height:44px!important;padding:0!important;border:0;background:transparent}
 html:root body.chat-mode:not(.home-mode) .project-files:before{content:'▤';font-size:24px;color:var(--read-ink)}
 html:root body.chat-mode:not(.home-mode) .conversation-bar #back,html:root body.chat-mode:not(.home-mode) .object-menu summary{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;display:grid;place-items:center}
 html:root body.chat-mode:not(.home-mode) #content{min-height:0;overflow:hidden}
 html:root body.chat-mode:not(.home-mode) .chat{display:grid!important;grid-template-columns:repeat(4,max-content);grid-template-rows:44px minmax(0,1fr)44px auto;column-gap:6px;row-gap:3px;align-items:stretch;justify-content:start;min-height:0;min-width:0;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 10px max(6px,env(safe-area-inset-bottom))!important}
 html:root body.chat-mode:not(.home-mode) .chat::-webkit-scrollbar{display:none}
 html:root body.chat-mode:not(.home-mode) .chat>.chat-date{display:none!important}
 html:root body.chat-mode:not(.home-mode) .chat>:is(.sheet-questions,.attention-bar,.tg-invite,.kris-learn){grid-row:1!important;align-self:center;justify-self:start;width:max-content!important;min-width:0!important;max-width:300px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center;gap:6px;border:0!important;white-space:nowrap!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
 html:root body.chat-mode:not(.home-mode) .chat>.sheet-questions{grid-column:1!important;padding:0 10px!important;background:var(--tg-secondary-bg)!important;border-radius:18px!important;font-size:12px!important}
 html:root body.chat-mode:not(.home-mode) .chat>.attention-bar{grid-column:2!important}
 html:root body.chat-mode:not(.home-mode) .chat>.tg-invite{grid-column:3!important}
 html:root body.chat-mode:not(.home-mode) .chat>.kris-learn{grid-column:4!important;font-size:12px!important;background:transparent!important}
 html:root body.chat-mode:not(.home-mode) .chat>.kris-learn:not(:has(button)){display:none!important}
 html:root body.chat-mode:not(.home-mode) .chat>:is(.attention-bar,.tg-invite,.kris-learn) :is(button,a){white-space:nowrap!important;min-height:44px!important;margin:0!important;padding:0 10px!important;font-size:12px!important;border-radius:18px!important;background:var(--tg-secondary-bg)!important;display:inline-flex;align-items:center}
 html:root body.chat-mode:not(.home-mode) .chat>:is(.attention-bar,.tg-invite,.kris-learn) :is(small,.kris-learn-hint){display:none!important}
 html:root body.chat-mode:not(.home-mode) .chat>.kris-learn:has(button)>span{display:none!important}
 html:root body.chat-mode:not(.home-mode) .chat>.message-list{grid-row:2;grid-column:1/-1;width:calc(100vw - 20px)!important;max-width:none!important;min-width:0;min-height:0;position:sticky;left:0;overflow-y:auto;overflow-x:hidden;align-self:stretch;padding:6px 0!important;margin:0!important}
 html:root body.chat-mode:not(.home-mode) .chat>.ask-line,html:root body.chat-mode:not(.home-mode) .chat>.audience-bar{grid-row:3;grid-column:1/-1;position:sticky;left:0;width:calc(100vw - 20px)!important;max-width:none!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;align-self:center}
 html:root body.chat-mode:not(.home-mode) .chat>.ask-line{display:flex;align-items:center;justify-content:flex-start}
 html:root body.chat-mode:not(.home-mode) .ask-line button{font-size:12px!important;white-space:nowrap!important;padding:0 3px!important;min-height:44px!important}
 html:root body.chat-mode:not(.home-mode) .chat>.audience-bar{display:flex;justify-content:flex-end;pointer-events:none}
 html:root body.chat-mode:not(.home-mode) .audience-switch{pointer-events:auto;padding:2px!important;gap:0!important;border-radius:16px}
 html:root body.chat-mode:not(.home-mode) .audience-switch button{min-height:40px!important;min-width:66px!important;font-size:12px!important;padding:7px 9px!important}
 html:root body.chat-mode:not(.home-mode) .audience-bar>span,html:root body.chat-mode:not(.home-mode) .ask-line>span{display:none!important}
 html:root body.chat-mode:not(.home-mode) .chat>#chatForm{grid-row:4;grid-column:1/-1;width:calc(100vw - 20px)!important;max-width:none!important;position:sticky;left:0;padding:0!important;margin:0!important}
 html:root body.chat-mode:not(.home-mode) .chat>.reply-composer{grid-row:3;grid-column:1/-1;position:sticky;left:0;width:calc(100vw - 20px);z-index:3;margin:0!important;height:44px;overflow:auto}
 html:root body.chat-mode:not(.home-mode) .latest-messages{bottom:103px!important;right:14px!important}
}
@media(max-width:760px){
 html:root body.chat-mode:not(.home-mode) main>header{display:none!important}
}
@media(max-width:760px){
 html:root body.chat-mode:not(.home-mode) .chat.private-mode>.ask-line{display:none!important}
}
@media(max-width:760px){
 html:root body.chat-mode:not(.home-mode) .audience-switch{padding:0!important}
 html:root body.chat-mode:not(.home-mode) .audience-switch button{min-height:44px!important}
}

/* Comfortable mobile message density: keep the type, compact the chrome. */
@media(max-width:760px){
 html:root .chat>.message-list{gap:9px!important}
 html:root #content .message-list>.message{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:7px;row-gap:0;align-content:start;align-items:start;padding:9px 11px!important;min-height:0;max-width:96%!important}
 html:root #content .message-list>.message>*{grid-column:1/-1;min-width:0}
 html:root #content .message-list>.message>b{margin:0!important;font-size:13px!important;line-height:1.4!important}
 html:root #content .message-list>.message>p{font-size:16px!important;line-height:1.5!important;margin:3px 0 4px!important}
 html:root #content .message-list>.message>.chat-help-button{grid-column:1;width:62px;align-self:center;min-height:44px!important;margin:0!important;padding:0 3px!important;font-size:0!important;white-space:nowrap}
 html:root #content .message-list>.message>.chat-help-button:before{content:'✧ Kris';font-size:13px;line-height:1.4}
 html:root #content .message-list>.message>.workflow-actions{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:3px;margin:0!important;padding:0!important;border:0!important;min-height:44px}
 html:root #content .message-list>.message>.workflow-actions button{font-size:12px!important;line-height:1.35!important;min-height:44px!important;margin:0;padding:3px 4px!important}
 html:root #content .message-list>.message>.message-time{margin:0!important;padding:0!important;font-size:12px!important;line-height:16px!important}
 html:root #content .message-list>.message>.reply-quote{min-height:44px!important;margin:0 0 5px!important;padding:5px 8px!important;font-size:12px!important;line-height:1.4!important}
 html:root #content .message-list>.message>.ai-context{padding:4px 8px!important;margin:0 0 5px!important;font-size:12px!important;line-height:1.45!important}
 html:root #content .message-list>.message>.question-state{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;margin:3px 0 2px!important;padding:6px 8px!important;border:0!important;background:var(--tg-secondary-bg)!important}
 html:root #content .message-list>.message>.question-state>span{font-size:12px!important;line-height:1.45!important}
 html:root #content .message-list>.message>.question-state>button{margin:0!important;padding:4px 6px!important;min-height:44px!important;font-size:12px!important;line-height:1.4!important}
 html:root #content .message-list>.message .tony-sources{margin-top:6px!important}
 html:root #content .message-list>.message .tony-sources-heading{padding:7px 10px!important}
 html:root #content .message-list>.message .tony-source-file{padding:5px 10px!important}
 html:root #content .message-list>.message .tony-source-row{padding:8px 10px!important;min-height:64px!important}
 html:root #content .message-list>.message .tony-source-caution{padding:7px 10px!important;margin:0!important}
 html:root #content .message-list>.message .tony-excerpts{margin-top:3px!important}
 html:root #content .message-list>.message>.kris-advice-ask{margin:3px 0 0!important;padding:7px 9px!important;min-height:44px!important}
}

/* Migrated technical layout rules; theme-aware colors. */
/* Технические исправления архитектора (не оформление). Визуал может перенести правило в polish.css и удалить файл. */
/* Главная: последний объект уходил под нижнюю панель «Объекты / Личный Kris» на 8–16 px — запас снизу. */
html:root body.home-mode .home-today{padding-bottom:132px!important}
/* Пока печатают в чате на телефоне (body.typing, chat-keyboard.js): только шапка объекта, переписка и поле ввода.
   #content в селекторе — чтобы перебить правила компактного чата (у них id нет). */
html:root body.typing main>header,
html:root body.typing .demo,
html:root body.typing #content .chat-date,
html:root body.typing #content .sheet-questions,
html:root body.typing #content .attention-bar,
html:root body.typing #content .kris-learn,
html:root body.typing #content .tg-invite,
html:root body.typing #content .ask-line,
html:root body.typing #content .audience-bar,
html:root body.typing #content .conversation-title small{display:none!important}
html:root body.typing #content .panel.chat{grid-template-rows:0 minmax(0,1fr) 0 auto!important;row-gap:0!important}
/* Владелец 2026-11-02: рамки в чате легче — без обводки у сообщений и у поля ввода (и без зелёной двойной рамки в фокусе). */
html:root body #content .message-list>.message{border-color:transparent!important}
html:root body #chatForm #message,html:root body #chatForm #message:focus,html:root body #chatForm #message:focus-visible{border:0!important;outline:none!important;box-shadow:none!important}
/* Ответ на сообщение (жалоба 02.11): тонкая полоска над полем, как в Telegram, — не накрывает поле ввода. */
html:root body #content .panel.chat:has(>.reply-composer)>:is(.ask-line,.audience-bar){display:none!important}
html:root body.typing #content .panel.chat:has(>.reply-composer){grid-template-rows:0 minmax(0,1fr) auto auto!important}
html:root body #content .chat>.reply-composer{height:40px!important;min-height:0!important;margin:0 0 4px!important;padding:0 0 0 10px!important;border-radius:8px!important;border:0!important;border-left:2px solid var(--tg-accent)!important;background:var(--tg-secondary-bg)!important;display:flex!important;align-items:center;gap:6px;overflow:hidden!important;align-self:end}
html:root body #content .chat>.reply-composer>div{min-width:0;flex:1;line-height:1.2}
html:root body #content .chat>.reply-composer b{display:block;font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html:root body #content .chat>.reply-composer p{margin:1px 0 0!important;font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html:root body #content .chat>.reply-composer button{min-width:40px!important;min-height:40px!important;width:40px;color:var(--tg-hint)}
/* Мигающий курсор накрывал первую букву подсказки «Напишите…» (владелец 02.11): при наборе подсказка скрыта. */


/* Telegram palette is the single source of UI colors (ADR-030). */
:root{--ink:var(--tg-text);--muted:var(--tg-hint);--line:var(--tg-separator);--paper:var(--tg-bg);--gold:var(--tg-accent)}
html:root{--read-ink:var(--tg-text);--read-muted:var(--tg-hint);--read-bg:var(--tg-chat-bg);--read-card:var(--tg-bg);--read-line:var(--tg-separator);--read-action:var(--tg-accent);--read-mine:var(--tg-bubble-out);--read-ai:var(--tg-bubble-in);accent-color:var(--tg-accent)}
html:root body{background:var(--tg-bg)!important;color:var(--tg-text)!important}
html:root :is(header,.conversation-bar,dialog,.home-today,.home-bottom,.object-menu>div,.mention-picker,.panel,.return-navigation){background:var(--tg-bg)!important;border-color:var(--tg-separator)!important;color:var(--tg-text)!important}
html:root :is(aside,.side-bottom){background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root aside :is(a,button,b,span,small){color:var(--tg-text)!important}
html:root aside :is(button.active,button:hover){background:var(--tg-bg)!important}
html:root body .home-today,html:root body .home-project{background:var(--tg-bg)!important}
html:root :is(.home-cover,.home-profile,.project-avatar,.avatar,.home-statuses small,.home-questions,.home-question-list button,.home-search-results button,.badge,.question-state,.reply-quote,.ai-context,.invite-role-info,.invite-item,.join-role){background:var(--tg-secondary-bg)!important;border-color:var(--tg-separator)!important;color:var(--tg-text)!important}
html:root :is(.home-cover>span,.home-profile,.home-title>span,.home-preview,.home-project-top time,.home-state,.home-search-intro,.home-search-message,.home-search-results span,.home-search-results small,.tiny,.demo,.demo span,.demo button,.side-label,.library-note,.library-card p,.library-card .tiny,.message-time){color:var(--tg-hint)!important}
html:root .home-unread{background:var(--tg-accent)!important;color:var(--tg-button-text)!important}
html:root :is(.home-bottom button[aria-current=page],.home-bottom button[aria-current=page] span,a.download-link,.kris-advice-pages a){color:var(--tg-accent)!important}
html:root .home-bottom button[aria-current=page]:after{background:var(--tg-accent)!important}
html:root .home-bottom button{background:transparent!important}
html:root :is(.home-brand,.brand){color:var(--tg-text)!important}
html:root body :is(input,select,textarea){background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important;caret-color:var(--tg-accent)}
html:root :is(input::placeholder,textarea::placeholder){color:var(--tg-hint)!important;opacity:1}
html:root #fields :is(input,select,textarea),html:root #fields .intake-details :is(input,select){background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root :is(button,.library-actions button,.tony-options .tony-option){background:var(--tg-secondary-bg);color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root body :is(button.primary,a.primary,.primary),html:root #modal .sheet-question-actions #qSave.primary,html:root #modal #form>button.primary,html:root #form:has(.intake-details)>button[type=submit]{background:var(--tg-action-bg)!important;color:var(--tg-button-text)!important;border-color:transparent!important}
html:root body .primary *{color:var(--tg-button-text)!important}
html:root body :is(.home-add,.home-search-form button,#chatForm.composer>button.primary,#chatForm .voice-button){background:var(--tg-accent)!important;color:var(--tg-button-text)!important;border:0!important}
html:root #chatForm .voice-button svg{stroke:var(--tg-button-text)!important;color:var(--tg-button-text)!important;fill:none!important}
html:root #chatForm .voice-button.recording{background:var(--tg-destructive)!important;color:var(--tg-button-text)!important}
html:root #chatForm .voice-button.recording *{color:var(--tg-button-text)!important}
html:root body.chat-mode:not(.home-mode) :is(.chat,.chat.private-mode){background:var(--tg-chat-bg)!important}
html:root #content .message-list>.message{background:var(--tg-bubble-in)!important;border:0!important;justify-self:start;align-self:flex-start;margin-left:0!important;margin-right:auto!important;box-shadow:none!important}
html:root #content .message-list>.message.mine{background:var(--tg-bubble-out)!important;justify-self:end;align-self:flex-end;margin-right:0!important;margin-left:auto!important}
html:root #content .message-list>:is(.message.ai-message,.message.shared-ai-message,.message.tony-search-answer){background:var(--tg-bubble-in)!important}
html:root #content .message :is(p,b,strong,.reply-quote){color:var(--tg-text)!important}
html:root #content .message :is(.message-time,.chat-help-button,.workflow-actions button,.ai-context){color:var(--tg-hint)!important}
html:root #content .message :is(.chat-help-button,.workflow-actions button){background:transparent!important}
html:root #content .message .chat-help-button:before{color:var(--tg-accent)!important}
html:root #content .message :is(.question-state,.reply-quote,.ai-context){background:var(--tg-secondary-bg)!important;border-color:var(--tg-accent)!important}
html:root #content .message-list>.message.mine .reply-quote{background:color-mix(in srgb,var(--tg-accent) 10%,var(--tg-bubble-out))!important}
html:root body #chatForm #message,html:root body #chatForm #message:focus,html:root body #chatForm #message:focus-visible{background:var(--tg-secondary-bg)!important;border:0!important;outline:0!important;box-shadow:none!important;color:var(--tg-text)!important}

html:root body #chatForm .attach-button,html:root body #chatForm .emoji-button{background:transparent!important;color:var(--tg-hint)!important;border:0!important}
html:root .emoji-panel{background:var(--tg-bg)!important;border-color:var(--tg-separator)!important;box-shadow:none!important}
html:root .emoji-panel .emoji-pick{background:transparent!important}
html:root :is(.voice-player,.voice-player audio){background:var(--tg-secondary-bg)!important;border-radius:10px;color:var(--tg-text)!important;max-width:100%}
html:root .audience-switch{background:var(--tg-secondary-bg)!important}
html:root .audience-switch button{background:transparent!important;color:var(--tg-hint)!important}
html:root .audience-switch button[aria-pressed=true]{background:var(--tg-bg)!important;color:var(--tg-accent)!important}
html:root body.chat-mode:not(.home-mode) .chat>:is(.sheet-questions,.attention-bar,.tg-invite,.kris-learn){background:transparent!important}
html:root body.chat-mode:not(.home-mode) .chat>:is(.sheet-questions,.attention-bar,.tg-invite,.kris-learn) :is(button,a),html:root body.chat-mode:not(.home-mode) .chat>.sheet-questions{background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important}
html:root #content .chat>.reply-composer{background:var(--tg-secondary-bg)!important;border-left-color:var(--tg-accent)!important}
html:root #content .chat>.reply-composer b{color:var(--tg-accent)!important}
html:root :is(.tony-sources,.tony-source-row,.tony-source-row:hover,.tony-sources-heading,.tony-source-file,.tony-page-number,.tony-page-preview,.tony-options .tony-option,.library-card,.library-actions button,.library-tools,.material-card,.help-files button){background:var(--tg-bg)!important;border-color:var(--tg-separator)!important;color:var(--tg-text)!important}
html:root .tony-source-row{border-bottom:1px solid var(--tg-separator)!important}
html:root :is(.tony-page-caption>span,.tony-page-number){color:var(--tg-text)!important}
html:root :is(.tony-source-file,.tony-sources-heading,.tony-sources-heading span,.tony-page-number small,.tony-toc-label,.tony-source-arrow,.tony-excerpts summary){color:var(--tg-hint)!important}
html:root :is(.tony-source-caution,.tony-sources .tony-source-caution,.tony-search-notice,.warning,.sheet-question-ai[data-state=confirm],.sheet-question-ai[data-state=error]){background:var(--tg-notice-bg)!important;border-color:var(--tg-separator)!important;color:var(--tg-text)!important}
html:root :is(.sheet-question-ai[data-state=confirm],.sheet-question-ai[data-state=error]) :is(button,small,span){background:transparent!important;color:var(--tg-text)!important}
html:root #modal :is(.warning,#qAIStatus,.sheet-question-ai-guess,.sheet-question-prompt p,.sheet-question-prompt span,.sheet-question-file,.sheet-question-progress,.sheet-question-progress b,.sheet-question-progress span){color:var(--tg-text)!important}
html:root :is(.phone-image-stage,.sheet-question-preview,.sheet-question-image,.intake-preview){background:var(--tg-secondary-bg)!important;border-color:var(--tg-separator)!important}
html:root :is(.sheet-question-ai,.sheet-question-ai-guess,.sheet-question-progress b,.sheet-question-prompt .sheet-question-ai-guess,.intake-summary,.intake-details>p,.question,.decision,.question-state,.join-card,.invite-intro){background:var(--tg-secondary-bg)!important;border-color:var(--tg-separator)!important;color:var(--tg-text)!important}
html:root #fields .intake-details :is(.intake-summary,p),html:root #fields .sheet-question-prompt .sheet-question-ai-guess{background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root #fields :is(.intake-kind-label,.intake-filename,.intake-filename span,.intake-method){color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root .sheet-question-actions{background:var(--tg-bg)!important;border-color:var(--tg-separator)!important;box-shadow:none!important}
html:root #modal :is(#qZoom,#qSame,#qAI,.visual-room-option){background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root :is(.image-controls,.image-controls button,.modal-head #close,.return-navigation button,.object-menu button,.mention-picker button,.mention-picker-title){background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root .object-menu button:hover,html:root .mention-picker button:hover{background:var(--tg-chat-bg)!important}
html:root :is(.kris-advice-body,.kris-advice-option,.kris-advice-pages,.kris-advice-hint,.kris-facts,.kris-learn,.kris-learn-hint,.page-share,.page-share-result){background:transparent!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root :is(.kris-advice-option,.kris-advice-pages a,.page-share button){background:var(--tg-secondary-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root #toast{background:var(--tg-text)!important;color:var(--tg-bg)!important;border:0!important}
html:root #toast *{color:var(--tg-bg)!important}
html:root :is(.metric,.table,.table td,.table th,.row,.project,.project-body,.invite-item,.invite-role-info){background:var(--tg-bg)!important;color:var(--tg-text)!important;border-color:var(--tg-separator)!important}
html:root :is(.progress,.file-symbol,.dot){background:var(--tg-secondary-bg)!important}
html:root :is(.progress i,.mention){background:var(--tg-accent)!important;color:var(--tg-button-text)!important}
html:root a{color:var(--tg-accent)}
html:root button:disabled{background:var(--tg-secondary-bg)!important;color:var(--tg-hint)!important;opacity:1!important}
html:root :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--tg-accent)!important}
html:root #modal::backdrop{background:color-mix(in srgb,var(--tg-chat-bg) 70%,transparent)}
/* Text links use a readable accent; send/microphone keep the exact Telegram accent. */
html:root :is(.home-bottom button[aria-current=page],.home-bottom button[aria-current=page] span,a.download-link,.kris-advice-pages a){color:var(--tg-link-text)!important}
html:root .audience-switch button[aria-pressed=true],html:root #content .message .chat-help-button:before{color:var(--tg-link-text)!important}
html:root .ask-line button{background:transparent!important}
/* The recorder copies an inline color once; this surface follows the live theme without JS changes. */
html:root #chatForm .voice-button{position:relative;isolation:isolate;overflow:hidden}
html:root #chatForm .voice-button:before{content:'';position:absolute;inset:0;border-radius:inherit;background:var(--tg-accent);z-index:-1}
html:root #chatForm .voice-button.recording:before{background:var(--tg-destructive)}
html:root input[type=file]::file-selector-button{background:var(--tg-secondary-bg);color:var(--tg-text);border:1px solid var(--tg-separator);border-radius:7px;padding:9px 12px;margin-right:10px;cursor:pointer}
html:root .home-unread{background:var(--tg-action-bg)!important;color:var(--tg-button-text)!important}
html:root body #content button.primary,html:root body #modal button.primary{color:var(--tg-button-text)!important}
html:root body #content button.primary *,html:root body #modal button.primary *{color:var(--tg-button-text)!important}
