:root{--paper:#faf9fd;--ink:#424650;--line:#dedee6}body{background:var(--paper);color:var(--ink)}main>header{height:48px;min-height:48px;margin:0;padding:0;gap:10px;background:var(--paper)}main>header>#breadcrumb{font-size:14px}main>header>div:not(.notebook-toolbar){margin-left:auto}main>header .notebook-toolbar{display:flex!important;gap:4px!important;margin:0!important;padding:0!important}main>header #network,main>header #mobile-logout{display:none!important}#feed{padding-top:8px}.icon-button,.focus-send{width:40px;height:40px;min-width:40px;border:0;background:transparent;padding:10px;border-radius:12px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}.icon-button svg,.focus-send svg,.add-note summary svg,#focus-reply svg,#library-projects svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover,.icon-button[aria-pressed=true]{background:#e9e8f3;color:#476094}#feed-list{gap:9px}#feed-list.note-grid{grid-template-columns:1fr}#feed-list .notebook-card{padding:15px 17px;border:1px solid #d6d5dd;box-shadow:none;border-radius:15px;background:#faf9fd}#feed-list .notebook-card .meta,#feed-list .note-card-foot,#feed-list .note-tags{display:none}#feed-list .note-title{font-size:16px;padding:0;margin:0 0 8px;color:#45454d}#feed-list .note-excerpt{font-size:15px;line-height:1.5;max-height:10.5em;overflow:hidden}#feed-list .empty{border:0;background:none;padding:24px;min-height:0}#feed-list .empty b{font-weight:500}#feed-list .empty p{font-size:14px}.writing-note main>header{display:none}.writing-note main{padding-top:0}#note-focus:not([hidden]){height:calc(100dvh - 12px);display:flex;flex-direction:column;max-width:1400px;margin:auto}.focus-top{height:48px;min-height:48px;display:flex;gap:4px;align-items:center}.focus-top #focus-status{flex:1;font-size:11px;color:#90929a}.focus-top .icon-button:not(:first-child){background:#f0eff6}#focus-split{flex:1;min-height:0;display:flex;gap:0}#focus-paper{flex:1;min-width:0;display:flex;flex-direction:column}#focus-title{border:0;box-shadow:none;background:transparent;padding:18px 8px 8px;font-size:25px;font-weight:400;outline:none}#focus-title::placeholder,#note::placeholder{color:#a2a0a9}#focus-writing{flex:1;min-height:0;display:flex}#capture.focus-capture{padding:0;border:0;box-shadow:none;border-radius:0;background:transparent;margin:0;flex:1;min-height:0;display:flex;flex-direction:column}#capture.focus-capture[hidden]{display:none}#capture #note{flex:1;min-height:120px;resize:none;padding:12px 8px;border:0;outline:none;box-shadow:none;border-radius:0;background:transparent;font-size:17px;line-height:1.65}#capture .composer-tools{padding:8px 0;margin:0;gap:5px;align-items:center}#capture .composer-tools .add-note{flex:0}#capture .add-note summary{padding:10px;list-style:none;border:0;background:#eeedf4;border-radius:50%;width:40px;height:40px}#capture .add-note>div{bottom:48px;top:auto}#capture .focus-send{margin-left:auto;background:#e1e8fb;color:#35518d}#voice-status:empty,#focus-error:empty,#attachments:empty{display:none}#voice-status,#focus-error{font-size:12px;margin:0;padding:5px}#focus-split.split #focus-paper{flex-basis:50%}#focus-conversation{flex:1;min-width:0;min-height:0;border-left:1px solid var(--line);display:flex;flex-direction:column;padding-left:18px;margin-left:16px}#focus-conversation[hidden]{display:none}#focus-conversation header{display:flex;justify-content:space-between;gap:8px;font-size:13px;min-height:36px;position:static;padding:8px 0;margin:0;background:transparent}#focus-agent-status{color:#898993;font-size:11px}#focus-messages{flex:1;min-height:0;overflow:auto}.structure-message{padding:10px 0}.structure-message small{color:#92919a;font-size:11px}.structure-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:15px;margin:5px 0}.structure-message.user{padding:12px;border-radius:12px;background:#eff0f8}#focus-reply{display:flex;align-items:flex-end;background:#f0eff6;border-radius:18px;padding:8px;gap:5px;margin:8px 0}#focus-reply textarea{border:0;box-shadow:none;background:transparent;resize:vertical;min-height:92px;max-height:30vh;font-size:15px;flex:1;margin:0;padding:8px}#focus-reply button{background:transparent;border:0;padding:9px}aside{overflow:auto}.library-menu{display:flex;flex-direction:column;gap:14px;margin:12px 0 20px}.library-actions{display:flex;flex-wrap:wrap;gap:4px}.library-actions button{border:0;background:transparent;font-size:14px;padding:10px 4px}#library-search input{border:0;background:white;border-radius:18px;padding:13px;width:100%;font-size:15px}#library-records,#library-projects{display:flex;flex-direction:column;gap:4px}#library-records button,#library-projects button{text-align:left;border:0;background:transparent;font-weight:400;padding:9px 4px;font-size:14px;display:flex;align-items:center;gap:8px}#library-records h3{font-size:13px;color:#93909c}#library-sketches{display:flex;overflow-x:auto;gap:8px;min-height:0}#library-sketches:empty{display:none}#library-sketches button{padding:0;flex:0 0 98px;overflow:hidden;border:0;background:#eeedf5;border-radius:12px}#library-sketches img,#library-sketches canvas{width:98px;height:82px;object-fit:cover}#library-sketches small{font-size:11px;padding:4px;display:block}#focus-project-notes{max-height:50vh;overflow:auto}#focus-project-dialog,#focus-share-dialog{max-width:500px;width:calc(100% - 24px);border:1px solid var(--line);border-radius:18px}#note-sheet{max-height:95dvh}#note-sheet #sheet-text{min-height:45vh}#note-sheet-status{font-size:11px}
@media(min-width:901px){main{padding:0 28px 16px}aside{width:245px}main{margin-left:245px}.library-menu{order:0}aside nav{font-size:12px}#feed-list.note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){main{padding:0 12px 10px}main>header{height:46px}#menu-toggle{border:0;background:transparent;width:36px;height:38px;padding:7px}.writing-note #note-focus{height:100dvh}#focus-title{padding-top:20px}.focus-top{height:46px;min-height:46px}.focus-top .icon-button{width:36px;height:36px;min-width:36px;padding:8px}#focus-split.split{flex-direction:column}#focus-split.split #focus-paper{flex:1 1 50%;min-height:140px}#focus-conversation{flex:1 1 50%;border-left:0;border-top:1px solid var(--line);margin:0;padding:0 3px}#focus-split.split #focus-title{font-size:19px;padding:7px 8px}#focus-split.split #note{min-height:75px}#focus-reply textarea{min-height:70px}body.menu-open aside{display:flex;flex-direction:column;inset:0 auto 0 0;width:min(88vw,360px);height:100dvh;padding:18px;z-index:30;box-shadow:30px 0 0 100vw #2223;background:#f6f5fb}body.menu-open aside .brand{font-size:18px;margin:0 0 14px}body.menu-open aside .sidebar-bottom{position:static;margin-top:20px}body.menu-open aside nav{display:grid;grid-template-columns:1fr 1fr}body.menu-open aside nav button{font-size:12px;padding:8px}#library-sketches button{flex-basis:100px}}
body [hidden]{display:none!important}
body.panel-collapsed aside{display:none!important}body.panel-collapsed main{margin-left:0}#menu-toggle{display:inline-flex!important;align-items:center;justify-content:center}#panel-close{position:absolute;right:10px;top:10px;z-index:1}aside>.brand{padding-right:40px}#panel-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
#focus-existing-assets:empty{display:none}#focus-existing-assets{max-height:24vh;overflow:auto;margin:0 8px}#focus-existing-assets img{max-height:18vh;object-fit:contain}#focus-paper #focus-existing-assets audio{max-width:100%}
@media(max-width:900px){.writing-note #note-focus{height:var(--writing-height,100dvh)}}
/* One composer below the model's response, on phones and desktops alike. */
#focus-split.split{flex-direction:column}#focus-split.split #focus-conversation{order:0;flex:1 1 50%;min-height:0;border:0;border-bottom:1px solid var(--line);margin:0;padding:0 8px 10px}#focus-split.split #focus-paper{order:1;flex:1 1 50%;min-height:140px;padding-top:8px}#focus-split.split #focus-title{font-size:19px;padding:7px 8px}#focus-split.split #note{min-height:75px}
/* Conversation-first layout, shared by desktop and mobile PWA. */
body.chat-home main{height:var(--writing-height,100dvh);display:flex;flex-direction:column;padding:0 20px;max-width:none}body.chat-home main>header{flex-shrink:0;padding:8px 0;min-height:44px}body.chat-home main>header #mobile-logout,body.chat-home #network{display:none}#model-chat:not([hidden]){display:flex;flex-direction:column;min-height:0;flex:1;width:min(100%,960px);margin:auto}#model-chat[hidden]{display:none!important}.model-top{display:flex;align-items:center;gap:12px;padding:4px 0}.model-top h1{font-size:17px;font-weight:500;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-top button{border:0;background:transparent;font-size:24px}#model-messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 0}.chat-welcome{display:grid;place-content:center;min-height:100%;text-align:center;color:#73777d}.chat-welcome h2{font-size:27px;font-weight:500;color:#293b38;margin-bottom:8px}.model-message{padding:16px 4px;max-width:100%;line-height:1.7;overflow-wrap:anywhere}.model-message>div{white-space:pre-wrap}.model-message>small{font-size:12px;color:#7b8286}.model-message.from-user{background:#eeedf5;border-radius:18px;margin:12px 0 12px 12%;padding:14px 20px}.model-message button{font-size:12px;padding:6px 10px;margin-top:12px}.streaming>div:after{content:'▍';color:#688197}#model-form{background:#eeedf5;border:1px solid #e5e3ed;border-radius:22px;padding:14px 16px;margin-bottom:max(14px,env(safe-area-inset-bottom));flex-shrink:0}#model-text{border:0;background:transparent;box-shadow:none;min-height:150px;height:22dvh;max-height:40dvh;width:100%;padding:4px;resize:vertical;font-size:17px;line-height:1.6}#model-text:focus{outline:0}.model-bottom{display:flex;align-items:center;gap:12px}.model-bottom select{width:auto;max-width:calc(100% - 60px);border:0;background:transparent;font-size:13px}.model-bottom button{margin-left:auto;border-radius:50%;height:40px;width:40px;padding:0;font-size:24px}#model-mode{display:block;color:#777e85;font-size:11px;padding:4px}#model-context{font-size:13px;margin:6px 0}#model-context summary{cursor:pointer;color:#62716d}#model-context-list{max-height:150px;overflow:auto}#model-context-list label{display:flex;align-items:center;gap:8px}#model-context-list input{width:auto}#model-error:empty,#model-status:empty{display:none}#model-error,#model-status{margin:4px;font-size:13px}#model-error{color:#b03c42}#model-history{max-height:40vh;overflow:auto}#model-history button{display:block;text-align:left;width:100%;border:0;background:transparent;padding:9px;border-radius:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#model-history button.selected{background:#e6e6f0}#model-history small{display:block;color:#83868b}#sidebar-new-chat{width:100%;margin:12px 0}#chat-search{width:100%}.chat-document{display:flex;flex-wrap:wrap;gap:12px;align-items:center}@media(max-width:640px){body.chat-home main{padding:0 12px}#model-text{height:25dvh;min-height:115px}#model-form{padding:10px 12px;border-radius:19px}.chat-welcome p{max-width:260px}.model-message{font-size:16px}.model-message.from-user{margin-left:8%}}
/* Якоря 0.3.15: подложка под прозрачным textarea — та же типографика, строка в строку; плашки на всю строку. */
#capture.focus-capture .note-layer{--note-lh:28.05px;flex:1;min-height:0;overflow:auto;position:relative;display:grid;align-content:start}
.note-layer>#note,.note-layer>#note-backdrop{grid-area:1/1;margin:0;padding:12px 8px;border:0;font:inherit;font-size:17px;line-height:1.65;letter-spacing:normal;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;tab-size:8;box-sizing:border-box;width:100%;min-width:0}
.note-layer>#note{color:transparent;caret-color:var(--ink);background:transparent;height:auto;min-height:100%;overflow:hidden;resize:none;flex:none;outline:none;box-shadow:none;border-radius:0;display:block}
.note-layer>#note::placeholder{color:#a2a0a9}
#note-backdrop{pointer-events:none;color:var(--ink);min-height:100%;z-index:1}
#note-backdrop .ln{min-height:var(--note-lh,1.65em)}
#note-backdrop mark.k{background:#ffe08a;color:inherit;border-radius:3px;padding:0 1px}
.anchor{pointer-events:auto;display:flex;align-items:center;gap:8px;height:var(--note-lh,1.65em);line-height:var(--note-lh,1.65em);box-sizing:border-box;padding:0 8px 0 6px;margin:0;border-radius:8px;background:#eef1f8;border:1px solid #dde2ee;font-size:13px;color:#41505f;overflow:hidden;white-space:nowrap}
.anchor-ink{background:#f4efe6;border-color:#e6dcc8}.anchor-audio{background:#e9f3ef;border-color:#d3e5dc}.anchor-gone{background:#f3f1f1;color:#9a8f8f;border-style:dashed}
.anchor .anchor-icon{display:inline-flex;width:18px;height:18px;flex:none}.anchor .anchor-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.anchor img,.anchor canvas{height:calc(var(--note-lh,1.65em) - 8px);width:auto;max-width:150px;border-radius:4px;background:#fff;object-fit:contain;flex:none;border:1px solid #d7dbe4}
.anchor .anchor-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.anchor .anchor-time{font-variant-numeric:tabular-nums;color:#6a7683}
.anchor .anchor-actions{display:inline-flex;gap:2px;flex:none}
.anchor button,.anchor a{border:0;background:transparent;padding:0 6px;height:calc(var(--note-lh,1.65em) - 8px);line-height:1;font-size:14px;color:#3d5a80;border-radius:6px;text-decoration:none;display:inline-flex;align-items:center;cursor:pointer}
.anchor button:hover,.anchor a:hover{background:#ffffffb0}
.anchor .anchor-play{width:28px;justify-content:center;font-size:12px;background:#fff;border:1px solid #c8dbd1}
.anchor-chip{display:inline-block;font-size:11px;padding:0 7px;border-radius:10px;background:#eef1f8;color:#41505f;vertical-align:middle;white-space:nowrap}
#focus-existing-assets .asset-figure{margin:0 8px 8px 0;font-size:12px}#focus-existing-assets figcaption button,#focus-existing-assets .audio-note button{font-size:11px;padding:4px 8px;margin-top:4px}
#focus-existing-assets [data-anchor-add]{border-color:#c9d3e4;color:#3d5a80}
/* «Удобный блокнот»: пад рукописи снизу экрана, крупное поле для письма пером или пальцем. */
.writing-note #drawing:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:26;background:#fff;padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #1c2a3a22;border-top:1px solid #dde2ee;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.writing-note #drawing canvas{width:100%;height:auto;aspect-ratio:2.5/1;max-height:42vh;border:1px solid #d9dde6;border-radius:10px;background:#fff linear-gradient(transparent 31px,#eceae2 32px);background-size:100% 32px;touch-action:none}
.writing-note #drawing .pad-hint{width:100%;margin:0;font-size:12px}
.writing-note #drawing button{font-size:12px;padding:8px 10px}
body.pad-open #capture .composer-tools{visibility:hidden}
@media(max-width:900px){.writing-note #drawing canvas{aspect-ratio:auto;height:38vh;max-height:none}.anchor{font-size:12px;gap:6px}.anchor img,.anchor canvas{max-width:90px}}
/* 0.3.16: видео, ссылки [[…]], обратные ссылки, граф, выгрузка. */
.anchor-video{background:#efe9f4;border-color:#dfd2ea}.anchor-video .anchor-icon{font-size:12px;justify-content:center}
.video-note{max-width:100%}.video-note video{max-width:100%;max-height:40vh;border-radius:8px;background:#000}#focus-existing-assets video{max-height:24vh}
#note-backdrop a.wiki{pointer-events:auto;color:#2f6f9f;text-decoration:underline;text-decoration-color:#b5c9d7;text-underline-offset:3px;cursor:pointer}
#focus-backlinks{padding:0 8px 6px;font-size:12px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}#focus-backlinks button{border:0;background:#eef1f8;border-radius:10px;padding:3px 9px;font-size:12px;color:#2f6f9f}#focus-backlinks .wiki-missing{border:1px dashed #c9d3e4;border-radius:10px;padding:2px 8px;color:#8a95a5}
#library-records button small{display:block;color:#83868b;font-size:11px;white-space:normal}#library-records small mark{background:#ffe08a;padding:0 1px;border-radius:2px}
#graph-svg{width:100%;height:auto;max-height:78vh;background:#fff;border:1px solid var(--line);border-radius:14px}#graph-svg line{stroke:#9fb3c8;stroke-width:1.2}#graph-svg line.edge-tag{stroke:#cfd8e3;stroke-dasharray:4 4}#graph-svg .node circle{fill:#476094;stroke:#fff;stroke-width:1.5;cursor:pointer}#graph-svg .node:hover circle,#graph-svg .node:focus circle{fill:#2f6f9f}#graph-svg .node text{font-size:11px;fill:#41505f;pointer-events:none}#graph-stats{margin:0 0 8px;font-size:12px}
/* 0.3.17: чат — единственный вход. Композер заметки внутри формы чата, пульт в левой панели, сообщения с плашками. */
body.chat-home main>header .notebook-toolbar{display:none!important}
#home-composer{display:flex;flex-direction:column;gap:4px}
#home-composer .note-layer{--note-lh:28.05px;max-height:40dvh;min-height:110px;overflow:auto;display:grid;align-content:start;position:relative}
#home-composer .note-layer>#note{min-height:110px;height:auto}
#home-composer .composer-tools{border:0;padding:4px 0 0;margin:0;gap:5px;align-items:center;flex-wrap:nowrap}
#home-composer .composer-tools .add-note{flex:0}#home-composer .add-note>div{bottom:48px;top:auto;position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 12px 30px #1c2a3a22;z-index:5}
#home-composer .focus-send{margin-left:auto;background:#e1e8fb;color:#35518d}
#home-mic[aria-pressed=true]{background:#fde2e2;color:#a13a3a}
#model-form .model-bottom #model-send{display:none}#model-form .model-bottom{margin-top:2px}
.model-message.from-user .home-note .ln{min-height:1.5em}.model-message .home-note .anchor{margin:4px 0}
.home-figure{margin:6px 0}.home-figure img{max-height:260px;max-width:100%;border-radius:10px}.home-figure figcaption{font-size:13px;color:#5c5a54;white-space:pre-wrap}
.model-message .video-note video{max-height:40vh}
#home-pult{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:13px}#home-pult h3{margin:0;font-size:12px;color:#93909c;letter-spacing:1px;text-transform:uppercase}
#home-pult label{margin:0;font-size:12px;color:#5c6470}#home-pult select{padding:7px 9px;font-size:13px;margin-top:3px}#home-pult label.check{display:flex;gap:8px;align-items:center;font-size:13px;color:inherit}#home-pult label.check input{width:auto;margin:0}
#home-pult details{border:0;padding:0;margin:0;font:inherit}#home-pult summary{cursor:pointer;font-size:12px;color:#5c6470;padding:4px 0}#home-pult summary span{color:#93909c}
.pult-list{display:flex;flex-direction:column;gap:3px;padding:2px 0 4px}.pult-row{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:8px;background:#f0eff6;min-width:0}.pult-row span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pult-row small{color:#83868b;white-space:nowrap;font-size:11px}.pult-row .dot{width:8px;height:8px;border-radius:50%;background:#c9cdd4;flex:none}.pult-row.on .dot{background:#4caf7d}
body.chat-home #library-records:not([data-search]){display:none}
@media(max-width:900px){#home-composer .note-layer{max-height:32dvh}#model-form{padding:10px 12px}}
/* 0.3.18: композер в одну строку, дерево проектов в панели, модель в пульте, настройки как оглавление. */
#home-composer{display:flex;flex-direction:row;align-items:flex-end;gap:6px}
#home-center{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
#home-composer .composer-tools{flex:none;position:relative;padding:0;gap:2px}
#home-composer .note-layer{min-height:44px;max-height:40dvh}
#home-composer .note-layer>#note,#home-composer .note-layer>#note-backdrop{padding:8px 10px}
#home-composer .note-layer>#note{min-height:44px}
#home-composer>.focus-send{margin:0;flex:none}
#home-composer .add-note>div{bottom:48px;left:0;width:min(440px,calc(100vw - 40px))}
#home-composer #model-context{margin:8px 0 0;width:100%;font-size:12px;border-top:1px solid var(--line);padding-top:8px}
#model-form{padding:8px 10px;border-radius:24px}
#home-pult #model-select{width:100%;padding:7px 9px;font-size:13px;margin-top:3px;border:1px solid var(--line);background:#fff}
#home-pult #model-mode{padding:0 0 4px;font-size:11px}
#home-pult .pult-warn{font-size:12px;color:#8a6d1a;margin:0 0 4px}
.chat-welcome{min-height:0;height:100%}
#model-messages{padding:12px 0 8px}
#model-history{max-height:none}
#model-history details.proj{border:0;margin:0;padding:0}
#model-history details.proj>summary{display:flex;align-items:center;gap:6px;padding:8px 6px;border-radius:10px;cursor:pointer;font-size:14px;list-style:none}
#model-history details.proj>summary::-webkit-details-marker{display:none}
#model-history details.proj>summary::before{content:'▸';color:#93909c;font-size:11px;width:10px;flex:none}
#model-history details.proj[open]>summary::before{content:'▾'}
#model-history details.proj.active>summary{background:#eef1f8}
.proj-icon{color:#93909c;font-size:12px;flex:none}
.proj-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#model-history summary small{color:#83868b;font-size:11px;display:inline;white-space:nowrap}
.proj-use{border:0;background:transparent;padding:2px 6px;font-size:12px;color:#476094;border-radius:8px;flex:none}
.proj-use:hover{background:#e1e8fb}
.proj-chats{padding:0 0 4px 14px}
.proj-chats button{padding:7px 9px;font-size:13px}
.proj-chats .muted{font-size:12px;margin:2px 9px 6px}
#home-new-project{width:100%;border:1px dashed #c9d3e4;background:transparent;color:#476094;font-size:13px;padding:8px;margin-top:6px;border-radius:10px}
#settings-toc{margin:0 0 18px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;max-width:900px}
#settings-toc h2{font-size:15px;margin:0 0 8px}#settings-toc h3{font-size:12px;color:#93909c;margin:12px 0 4px;text-transform:uppercase;letter-spacing:1px}
#settings-toc a{display:block;padding:3px 0;font-size:14px;color:#2f6f9f}#settings-toc small{display:block;margin:-2px 0 6px;color:#83868b;font-size:12px}
.settings-group-title{font-size:16px;margin:0 0 12px}
#settings-advanced{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}
#settings-advanced>summary{cursor:pointer;font-size:15px;padding:8px 0;color:#5c6470}
#settings-advanced .settings-grid{margin-top:12px}
#settings-checks{margin:0;padding-left:0;list-style:none}#settings-checks li{margin:6px 0;line-height:1.5;font-size:14px}
#settings-checks .ok{color:#2e7d4f}#settings-checks .bad{color:#b03c42}#settings-checks .warn{color:#8a6d1a}#settings-checks .muted{color:#83868b}
#platform-projects{margin-top:10px}
@media(max-width:900px){#home-composer .note-layer{max-height:32dvh}#model-form{padding:6px 8px}}
/* Кнопка ○/● в строке проекта: старое #model-history button{width:100%} растягивало её и выдавливало название проекта. */
#model-history summary .proj-use{width:auto;display:inline-flex;text-align:center;padding:2px 7px;margin:0}
/* 0.3.19: разбор под сообщением — ответ секретаря, кандидаты, кнопка «Принять». */
.review{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#f6f7fb;border:1px solid #e3e6ee;font-size:14px;line-height:1.5}
.review>small{display:block;color:#7b8286;font-size:12px}.review.processing>small:after,.review.queued>small:after{content:' ▍';color:#688197}
.review-summary{white-space:pre-wrap}.review-list{margin:8px 0 0;padding-left:18px}.review-list li{margin:3px 0}.review-list li small{display:block;color:#6a7683;font-size:12px}
.review-list li.bad{color:#b03c42}.review .issue{color:#b03c42}.review button{margin:8px 6px 0 0;font-size:13px;padding:7px 12px}
.model-message.from-user .review{background:#fff}
/* 0.3.20: гибридный лист — перо по строкам, высокие блоки рукописи и картинок, режим «Заметка», дописывание сообщения. */
/* 0.3.23: холст пера прозрачен и без рамки — общий canvas{background:#fff;border} из app.css красил его белым, и после «Готово»
   растянутый на лист холст закрывал подложку с текстом (снимки Антона 17.09: поле белое, текст виден лишь при выделении). */
#ink-overlay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:4;pointer-events:none;touch-action:none;background:transparent;border:0;border-radius:0}
body.ink-mode #ink-overlay{pointer-events:auto;cursor:crosshair;background:transparent}
/* 26.09: сетка для ластика на кнопке S Pen (anchors.js) — невидимый текст над листом; ловит выделение Chrome, пока кнопка зажата. */
#ink-grid{display:none;position:absolute;left:0;top:0;width:100%;z-index:5;overflow:hidden;pointer-events:none;touch-action:none;color:transparent;font:8px/8px monospace;white-space:pre;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;caret-color:transparent}
#ink-grid>div{height:8px;overflow:hidden}
body.ink-mode #ink-grid{display:block}
body.ink-mode #ink-grid.on{pointer-events:auto;-webkit-user-select:text;user-select:text}
#ink-grid::selection,#ink-grid ::selection{background:transparent;color:transparent}
body.ink-mode .note-layer>#note{pointer-events:none}
.anchor.tall{position:relative;overflow:visible;background:transparent;border:0;padding:0;justify-content:flex-end;gap:4px}
.anchor.tall .ink-sheet,.anchor.tall .img-sheet{position:absolute;left:0;top:0;width:100%;height:calc(var(--lines,1)*var(--note-lh,1.65em));pointer-events:none;z-index:2;border:0;background:transparent;max-width:none;border-radius:0}
.anchor.tall .img-sheet{width:auto;max-width:100%;object-fit:contain;object-position:left top;pointer-events:auto;border-radius:6px}
.anchor.tall a{position:absolute;left:0;top:0;padding:0;height:auto}
.anchor.tall .anchor-label{flex:0 1 60%;font-size:11px;color:#8a95a5;z-index:3;background:#ffffffc0;border-radius:6px;padding:0 6px;text-align:right}
.anchor.tall .anchor-label:empty{display:none}
.anchor.tall .anchor-actions{z-index:3;background:#ffffffc0;border-radius:6px}
#home-pen[aria-pressed=true]{background:#e1e8fb;color:#35518d}
#ink-undo,#ink-done{font-size:12px;padding:8px 10px;margin-left:2px;white-space:nowrap}
#home-view{border:1px solid var(--line);background:#fff;font-size:13px;padding:6px 12px;border-radius:10px;white-space:nowrap}
#home-view[aria-pressed=true]{background:#e1e8fb;color:#35518d}
body.note-mode #model-messages,body.note-mode #model-status{display:none!important}
body.note-mode #model-form{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:6px}
body.note-mode #home-composer{flex:1;min-height:0}
body.note-mode #home-center{flex:1;min-height:0}
body.note-mode #home-composer .note-layer{max-height:none;flex:1;min-height:0}
body.note-mode #home-composer .note-layer>#note{min-height:100%}
body.note-mode #home-composer{align-items:stretch}body.note-mode #home-composer>.composer-tools,body.note-mode #home-composer>.focus-send{align-self:flex-end}
#home-editing{display:flex;align-items:center;gap:10px;font-size:12px;color:#5c6470;padding:2px 8px 4px}#home-editing button{font-size:12px;padding:4px 10px}
.msg-edit{font-size:12px;padding:5px 10px;margin-top:8px}
.home-note{--note-lh:1.6em}.model-message.from-user .home-note .ln{min-height:var(--note-lh)}.model-message .home-note .anchor.tall{margin:0}
/* 0.3.21: живое распознавание и лист на весь экран. Подпись под штрихами — текст, который Gemini читает по мере письма. */
#ink-live{position:absolute;z-index:5;max-width:min(70%,520px);padding:3px 9px;border-radius:8px;background:#fffbe8f0;border:1px solid #e9dfb4;color:#41505f;font-size:14px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;box-shadow:0 4px 14px #1c2a3a1a}
/* Плашка высокого блока: кнопки справа поверх штрихов полупрозрачны, пока на них не навели, — штрихи видны целиком. */
.anchor.tall .anchor-actions{opacity:.55}.anchor.tall:hover .anchor-actions,.anchor.tall .anchor-actions:focus-within{opacity:1}
/* Служебная фишка «Рукопись.png» скрыта (блок виден на листе); если скрыты все, полоса вложений не занимает место. */
#attachments .attachment[hidden]{display:none!important}#attachments:not(:has(.attachment:not([hidden]))){display:none}
/* Телефон: композер в две строки — лист на всю ширину сверху, кнопки (микрофон, «+», перо, «↶», «Готово») и «отправить» под ним.
   В одну строку кнопки пера оставляли полю 130 px (снимок Антона 17.09). */
@media(max-width:640px){#home-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"center center" "tools send";align-items:center;column-gap:6px;row-gap:4px}
 #home-center{grid-area:center;min-width:0}#home-composer>.composer-tools{grid-area:tools;flex-wrap:wrap}#home-composer>.focus-send{grid-area:send;justify-self:end}
 #ink-undo,#ink-done{padding:8px 9px}}
/* Режим «Заметка» на любом экране: лист во всю ширину формы, кнопки под ним — на ПК блок кнопок слева отбирал у листа 240 px. */
body.note-mode #home-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"center center" "tools send";align-items:stretch;column-gap:6px;row-gap:4px}
body.note-mode #home-center{grid-area:center;min-width:0}body.note-mode #home-composer>.composer-tools{grid-area:tools;align-self:center}body.note-mode #home-composer>.focus-send{grid-area:send;justify-self:end;align-self:center}
/* 0.3.24: лист как в Samsung Notes (список Антона 17.09). Панель листа сверху, точечная бумага, название и папка в шапке,
   меню материалов списком, блоки рукописи без лишних кнопок. */
#sheet-tools{display:none;align-items:center;gap:2px;padding:2px 4px;border-bottom:1px solid var(--line);margin-bottom:2px;overflow-x:auto;flex:none}
body.note-mode #sheet-tools{display:flex}
#sheet-tools .icon-button{width:36px;height:36px;min-width:36px;padding:8px}
#sheet-tools .icon-button:disabled{opacity:.35}
#sheet-tools .icon-button[aria-pressed=true]{background:#e1e8fb;color:#35518d}
#sheet-tools .st-sep{width:1px;height:22px;background:var(--line);margin:0 6px;flex:none}
/* Цвет — классом, не инлайновым style: CSP страницы (style-src 'self') инлайновые стили режет, кружки выходили пустыми. */
#sheet-tools .st-color{width:22px;height:22px;min-width:22px;border-radius:50%;border:2px solid transparent;padding:0;margin:0 4px;box-shadow:0 0 0 1px #0001}
#sheet-tools .st-color[data-color="#2f6fed"]{background:#2f6fed}#sheet-tools .st-color[data-color="#f5c400"]{background:#f5c400}#sheet-tools .st-color[data-color="#304b61"]{background:#304b61}
#sheet-tools .st-color[aria-pressed=true]{border-color:#fff;box-shadow:0 0 0 2px #35518d}
body.note-mode #home-pen,body.note-mode #ink-undo,body.note-mode #ink-done{display:none}
body.note-mode #home-composer .note-layer{background-color:#fff;background-image:radial-gradient(#c6c9d3 1.1px,transparent 1.4px);background-size:40px var(--note-lh,28.05px);background-position:14px calc(8px + var(--note-lh,28.05px) - 6px);border-radius:12px}
body.ink-mode #home-composer .note-layer{background-color:#fff}
body.note-mode #home-composer .note-layer>#note-backdrop .ln{background:transparent}
body.ink-mode .anchor.tall .anchor-actions,body.ink-mode .anchor.tall .anchor-label{display:none}
.anchor.tall .anchor-actions{opacity:0}.anchor.tall:hover .anchor-actions,.anchor.tall .anchor-actions:focus-within,.anchor.tall:focus-within .anchor-actions{opacity:.9}
@media(hover:none){.anchor.tall .anchor-actions{opacity:.45}}
#model-title[role=button]{cursor:text;border-radius:8px;padding:2px 6px;margin-left:-6px}#model-title[role=button]:hover{background:#eef1f8}
#model-title-input{flex:1;min-width:0;font-size:17px;font-weight:500;border:0;border-bottom:2px solid #35518d;border-radius:0;background:transparent;padding:2px 6px;margin-left:-6px;outline:none}
#home-folder-box{position:relative;flex:none}
#home-folder{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;font-size:13px;padding:6px 10px;border-radius:10px;white-space:nowrap;max-width:44vw}
#home-folder #home-folder-name{overflow:hidden;text-overflow:ellipsis}
#home-folder-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:240px;max-width:min(340px,92vw);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px #1c2a3a22;padding:8px;display:flex;flex-direction:column;gap:2px}
#home-folder-menu[hidden]{display:none}
#home-folder-menu .folder-head{font-size:12px;color:#93909c;padding:4px 8px 6px;letter-spacing:.5px}
#home-folder-menu button{border:0;background:transparent;text-align:left;font-size:14px;padding:9px 10px;border-radius:9px;width:100%}
#home-folder-menu button:hover{background:#eef1f8}#home-folder-menu button[aria-checked=true]{background:#e1e8fb;color:#35518d}
#home-folder-menu #home-folder-new{color:#2e7d4f;border-top:1px solid var(--line);border-radius:0 0 9px 9px;margin-top:4px}
.mat-list{display:flex;flex-direction:column;gap:1px;min-width:220px}
.mat-list button{display:flex;align-items:center;gap:12px;border:0;background:transparent;text-align:left;font-size:14px;padding:9px 10px;border-radius:9px;width:100%;color:inherit}
.mat-list button span{width:20px;text-align:center;color:#476094;flex:none}
.mat-list button:hover:not(:disabled){background:#eef1f8}.mat-list button:disabled{opacity:.45}
#home-composer .add-note>div{max-height:70vh;overflow:auto}
@media(max-width:640px){.model-top{flex-wrap:wrap;gap:6px}.model-top h1{flex:1 1 100%;order:-1}#home-folder{max-width:52vw}#sheet-tools .st-sep{margin:0 3px}}
/* PDF — карточка-ссылка в сообщении и над листом (вложение без якоря). */
.home-file{display:inline-flex;align-items:center;gap:8px;margin:6px 0;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#2f6f9f;text-decoration:none;font-size:14px;max-width:100%}
.home-file span{color:#476094}.home-file small{color:#83868b}
/* 0.3.25 (решение 2026-09-17): лист живёт в редакторе заметки #note-focus, чат — простое поле. Панель «Разбор» справа,
   на телефоне — под листом. Список кандидатов с галочками. */
#focus-writing{flex:1;min-height:0;display:flex}
#focus-writing>#home-composer{flex:1;min-height:0;width:100%}
#capture[hidden]{display:none}
body.note-mode #focus-split.split #focus-conversation{flex:0 0 360px;order:1;border-left:1px solid var(--line);border-top:0;margin-left:14px;padding:0 0 0 14px}
body.note-mode #focus-split.split #focus-paper{order:0;flex:1;min-width:0}
@media(max-width:900px){body.note-mode #focus-split.split{flex-direction:column}body.note-mode #focus-split.split #focus-conversation{flex:0 0 auto;max-height:46%;order:1;border-left:0;border-top:1px solid var(--line);margin:0;padding:0 4px}body.note-mode #focus-split.split #focus-paper{flex:1 1 50%;min-height:160px}}
#focus-conversation header{display:flex;align-items:center;gap:8px}#focus-conversation header span{font-weight:500}
.review-check{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.review-check li{border:1px solid #e3e6ee;border-radius:12px;padding:8px 10px;background:#f6f7fb;font-size:14px;display:flex;flex-direction:column;gap:3px}
.review-check li.done{opacity:.75}.review-check li.off{opacity:.45}.review-check li.bad{border-color:#e8c4c4}
.review-check label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.review-check input{margin:3px 0 0;width:auto}
.review-check small{color:#6a7683;display:block}.review-check .issue{color:#b03c42}
.review-actions{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.review-actions button{font-size:12px;padding:5px 9px}
#focus-messages .review-summary{white-space:pre-wrap;font-size:14px;margin:6px 0}
#focus-messages>button,#focus-messages .muted{margin:6px 0;font-size:13px}
.focus-top #home-folder-box{margin-left:4px}.focus-top #home-folder{padding:5px 9px;font-size:12px;max-width:40vw}
/* Чат снова с простым полем: кнопка «отправить» и поле видны. */
#model-form .model-bottom{display:flex;gap:8px;align-items:center;justify-content:flex-end}#model-form .model-bottom #model-send{display:inline-flex;font-size:18px;padding:8px 14px}
#model-form #model-text{display:block;min-height:64px;resize:vertical}
/* Панель «Разбор» на ПК — справа от листа (старое правило 0.3.17 ставило колонку на любой ширине). */
@media(min-width:901px){body.note-mode #focus-split.split{flex-direction:row}}
/* 0.3.26: чат — только поле и «отправить» (нижняя панель съедала место, Антон 17.09); переключатель разделов в шапке;
   экран «Фокус» — матрица Q1–Q4 и «ждёт меня». */
#model-form{display:flex;align-items:flex-end;gap:8px;padding:6px 8px;border-radius:22px}
#model-form #model-text{flex:1;min-height:44px;max-height:40vh;resize:none;padding:11px 12px;border-radius:16px;overflow:auto}
#model-form #model-context{display:none}
#model-form .model-bottom{margin:0;padding:0}#model-form .model-bottom #model-send{width:40px;height:40px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
#section-switch{display:inline-flex;gap:2px;margin-left:10px;background:#eceaf3;border-radius:12px;padding:3px}
#section-switch button{border:0;background:transparent;font-size:13px;padding:6px 12px;border-radius:9px;color:#5c6470;white-space:nowrap}
#section-switch button.active{background:#fff;color:#35518d;box-shadow:0 1px 3px #1c2a3a1a}
main>header>#breadcrumb{white-space:nowrap}
@media(max-width:640px){main>header>#breadcrumb{display:none}#section-switch{margin-left:4px}#section-switch button{padding:6px 9px;font-size:12px}}
#matrix{padding-top:6px}
#matrix h2{font-size:16px;margin:10px 0 6px}
#matrix-waiting{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
#matrix-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quadrant{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#faf9fd;min-height:140px}
.quadrant h3{margin:0 0 8px;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:#93909c;display:flex;justify-content:space-between}
.quadrant.q1 h3{color:#b03c42}.quadrant.q2 h3{color:#35518d}.quadrant.q3 h3{color:#8a6d1a}
.task-card{border:1px solid #e3e6ee;border-radius:12px;padding:8px 10px;background:#fff;font-size:14px;display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.task-card.waiting{border-color:#f0d9a8;background:#fffbf0}.task-card.failed{border-color:#e8c4c4}
.task-card .task-head{display:flex;gap:8px;align-items:baseline}.task-card .task-number{font-family:Consolas,monospace;font-size:12px;color:#476094;flex:none}
.task-card .task-title{font-weight:500;flex:1;min-width:0;overflow-wrap:anywhere}
.task-card small{color:#6a7683}.task-card .task-error{color:#b03c42}
.task-card .task-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.task-card .task-actions button,.task-card .task-actions select{font-size:12px;padding:5px 9px}
@media(max-width:640px){#matrix-grid{grid-template-columns:1fr}}
/* 0.3.27: метка «срок» и «отв.» в листе — подсветка без отступов (подложка лежит под прозрачным textarea, ширина букв не меняется). */
#note-backdrop mark.due,.home-note mark.due{background:#ffe3c2;color:inherit;border-radius:0;padding:0;text-decoration:underline dotted #d2782b}
#note-backdrop mark.who,.home-note mark.who{background:#dcecff;color:inherit;border-radius:0;padding:0}
.review-check li.required{border-color:#e9b98a;background:#fff8f0}.review-check .req{font-style:normal;font-size:11px;color:#b5651d;margin-left:4px}
.review-found{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}.review-found li{border:1px dashed #e9b98a;border-radius:12px;padding:8px 10px;background:#fff8f0;font-size:14px}.review-found small{display:block;color:#6a7683}
.matrix-filter{font-size:13px;font-weight:400;color:#6a7683;margin-left:12px;display:inline-flex;gap:6px;align-items:center}.matrix-filter input{width:auto;margin:0}
.dated-row{display:grid;grid-template-columns:auto 1fr 150px 140px;gap:8px;align-items:center;border:1px solid #e3e6ee;border-radius:12px;padding:6px 10px;background:#fff;margin-bottom:6px;font-size:14px}
.dated-row.late{border-color:#e8c4c4;background:#fff6f6}.dated-row.done{opacity:.6}.dated-row .task-number{font-family:Consolas,monospace;font-size:12px;color:#476094}
.dated-row .task-title{min-width:0;overflow-wrap:anywhere}.dated-row .task-title small{display:block;color:#6a7683}.dated-row input{font-size:13px;padding:4px 6px;min-height:0}
@media(max-width:640px){.dated-row{grid-template-columns:1fr 1fr}.dated-row .task-title{grid-column:1/-1}}
/* 0.3.28: одна шапка на все экраны — тонкая полоса с кнопками, как в Samsung Notes. Строка .focus-top пуста и скрыта,
   «Название» компактное, поиск и порядок заметок видны только в списке, кнопки редактора — в конце панели листа. */
main>header{height:44px;min-height:44px;gap:6px}.writing-note main>header{display:flex}body.chat-home main>header{padding:2px 0;min-height:44px}
.focus-top{display:none!important}main>header>#breadcrumb{display:none!important}
main>header .notebook-toolbar{margin-left:auto!important;align-items:center}body.chat-home main>header .notebook-toolbar{display:flex!important}
body:not([data-section="feed"]) #note-order,body:not([data-section="feed"]) #note-view{display:none!important}
#focus-back,#focus-status,#focus-mic{display:none}body.note-mode #focus-back,body.note-mode #focus-mic{display:inline-flex}body.note-mode #focus-status{display:inline-block}body.note-mode #dictate{display:none!important}
#focus-status{font-size:11px;color:#90929a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
#new-note,#new-chat{width:auto;padding:6px 10px;gap:4px}#new-note span,#new-chat span{font-size:12px}
#new-note svg,#new-chat svg{flex:none}
#sheet-tools .st-right{margin-left:auto;background:transparent}#sheet-tools #home-folder-box{margin-left:2px}#sheet-tools #home-folder{padding:5px 9px;font-size:12px;max-width:34vw}
#focus-title{padding:4px 8px 2px;font-size:18px}#focus-split.split #focus-title{font-size:18px;padding:4px 8px 2px}
@media(max-width:900px){#focus-title{padding-top:4px}main>header{height:44px}}
main>header .notebook-toolbar{flex-wrap:nowrap!important}main>header #section-switch{flex:none}
@media(max-width:640px){#new-note span,#new-chat span{display:none}main>header .icon-button,main>header #menu-toggle,#new-note,#new-chat{width:32px;min-width:32px;height:36px;padding:6px}body.note-mode #focus-status{display:none}main>header{gap:2px}#section-switch{margin-left:0;padding:2px}#section-switch button{padding:6px 7px;font-size:12px}main>header .notebook-toolbar{gap:2px!important}}
/* Поле чата — одна строка, растёт по мере ввода (старое правило задавало высоту 180 px). */
#model-form #model-text{height:44px;min-height:44px}
/* 0.3.29: идёт запись — микрофон красный и мигает на всех трёх кнопках (п. 7 списка Антона 17.09). Раньше нажатие давало лишь бледную подложку, как у наведения. */
#focus-mic[aria-pressed=true],#home-mic[aria-pressed=true],#dictate[aria-pressed=true],body.recording #focus-mic,body.recording #home-mic{background:#fde2e2!important;color:#c62828!important;animation:prisma-rec 1.1s ease-in-out infinite}
@keyframes prisma-rec{0%,100%{box-shadow:0 0 0 0 #c6282880;opacity:1}50%{box-shadow:0 0 0 7px #c6282800;opacity:.6}}
@media(prefers-reduced-motion:reduce){#focus-mic[aria-pressed=true],#home-mic[aria-pressed=true],#dictate[aria-pressed=true]{animation:none}}
/* 0.3.34: «Отменить» на карточке и свёрнутые «Отменённые» внизу Фокуса */
.task-card .task-actions .task-cancel{color:#8a4a4f;border-color:#ecd3d5;background:#fff}
.task-card .task-actions .task-cancel:hover{background:#fbeff0}
.task-card.cancelled{opacity:.75;background:#f7f7f9}
#matrix-cancelled{margin-top:18px}
#matrix-cancelled>summary{cursor:pointer;font-weight:600;color:#5b6573;padding:6px 0}
#matrix-cancelled>summary small{color:#8a93a0;font-weight:400;margin-left:6px}
/* 0.3.34: ✎ переименовать проект — видна при наведении и всегда на сенсорных экранах */
#model-history summary .proj-rename{border:0;background:transparent;padding:2px 6px;margin:0;width:auto;display:inline-flex;font-size:12px;color:#7a8594;border-radius:8px;flex:none;opacity:0;transition:opacity .15s}
#model-history summary:hover .proj-rename,#model-history summary .proj-rename:focus-visible{opacity:1}
#model-history summary .proj-rename:hover{background:#e1e8fb;color:#476094}
@media(hover:none){#model-history summary .proj-rename{opacity:1}}
/* 0.3.34: настройки в две колонки (как у ChatGPT): меню групп слева, выбранный раздел справа, флажки — переключатели */
#settings-sections.split{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start;margin-top:12px}
#settings-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:8px;background:#f3f3f7;border-radius:16px;padding:8px}
#settings-nav button{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:9px 12px;border:0;border-radius:11px;background:transparent;color:#3a3947;text-align:left;cursor:pointer;font:inherit}
#settings-nav button[hidden]{display:none}
#settings-nav button:hover{background:#e8e8f0}
#settings-nav button[aria-current=true]{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1f2a44}
#settings-nav .sn-icon{flex:none;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#e6e6ee;color:#6a6978;transition:background .15s,color .15s}
#settings-nav button[aria-current=true] .sn-icon{background:#476094;color:#fff}
#settings-nav button:hover .sn-icon{color:#476094}
#settings-nav button[aria-current=true]:hover .sn-icon{color:#fff}
#settings-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#settings-nav .sn-text{display:flex;flex-direction:column;min-width:0}
#settings-nav .sn-text b{font-weight:500;font-size:14.5px}
#settings-nav .sn-text small{font-size:12px;color:#7c7b88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#settings-pane{min-width:0}
#settings-back{display:none}
.split .settings-section{border:0;background:transparent;border-radius:0;overflow:visible}
.split .settings-section:not([open]){display:none}
.split .settings-section>summary{pointer-events:none;padding:4px 0 14px;border-bottom:1px solid #e6e6ee;margin-bottom:6px}
.split .settings-section>summary::after{display:none}
.split .settings-section>summary b{font-size:22px;font-weight:600;color:#1f2a44}
.split .settings-section>summary small{display:block;width:100%;order:3}
.split .settings-section>summary:hover{background:transparent}
.split .settings-section>.settings-grid{padding:0;grid-template-columns:1fr}
.split .settings-section .card{border:1px solid #e6e6ee;border-radius:16px;background:#fff;padding:18px 20px}
.split .settings-section .card h2{font-size:15.5px;font-weight:600}
#settings>.settings-grid:empty{display:none}
/* Переключатели вместо флажков: подпись слева, тумблер справа — как строки настроек GPT */
#settings-pane label:has(>input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-top:1px solid #f0f0f4}
#settings-pane input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:42px;height:24px;margin:0;border-radius:12px;background:#d3d3dc;position:relative;cursor:pointer;transition:background .15s;border:0}
#settings-pane input[type=checkbox]::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}
#settings-pane input[type=checkbox]:checked{background:#3b82f6}
#settings-pane input[type=checkbox]:checked::after{transform:translateX(18px)}
#settings-pane input[type=checkbox]:disabled{opacity:.5;cursor:default}
#settings-pane input[type=checkbox]:focus-visible{outline:2px solid #476094;outline-offset:2px}
@media(max-width:760px){
 #settings-sections.split{grid-template-columns:1fr;gap:12px}
 #settings-nav{position:static;background:transparent;padding:0}
 #settings-nav button{padding:12px 10px;border-bottom:1px solid #ececf2;border-radius:0}
 #settings-nav button[aria-current=true]{box-shadow:none;background:transparent}
 .split.pane-open #settings-nav{display:none}
 .split:not(.pane-open) #settings-pane{display:none}
 .split.pane-open #settings-back{display:inline-block;margin:0 0 8px;padding:6px 10px;border:0;background:#eef0f7;border-radius:10px;color:#476094;font:inherit}
 .split .settings-section>summary b{font-size:19px}
 .split .settings-section .card{padding:14px}
}
/* 0.3.35: Таак — кнопка в шапке и плашка внизу: что слышит, что ответил, за сколько */
#taak-toggle[aria-pressed=true]{background:#e3e9fb!important;color:#2f4a8a!important}
#taak-toggle[aria-pressed=true] svg{animation:taak-breath 2.4s ease-in-out infinite}
@keyframes taak-breath{0%,100%{opacity:1}50%{opacity:.55}}
#voice-taak[hidden]{display:none!important}
#taak-pill{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:min(640px,calc(100vw - 20px));min-width:240px;padding:8px 8px 8px 10px;border-radius:18px;background:#1f2a44f2;color:#fff;box-shadow:0 6px 24px #0003;font-size:14px}
#taak-pill[hidden]{display:none}
#taak-pill button{margin:0;border:0;background:transparent;color:inherit;cursor:pointer;flex:none}
#taak-pill-mic{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff1f!important;padding:0}
#taak-pill .tp-dot{width:12px;height:12px;border-radius:50%;background:#8fb0ff}
#taak-pill[data-mode=awake] .tp-dot,#taak-pill[data-mode=question] .tp-dot{background:#5fd18b;animation:taak-pulse 1s ease-in-out infinite}
#taak-pill[data-mode=thinking] .tp-dot{background:#ffd166;animation:taak-pulse .6s ease-in-out infinite}
#taak-pill[data-mode=speaking] .tp-dot{background:#fff}
#taak-pill[data-mode=recording] .tp-dot{background:#ff5a5a;animation:taak-pulse 1.1s ease-in-out infinite}
#taak-pill[data-mode=unsupported] .tp-dot{background:#999}
@keyframes taak-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.6}}
#taak-pill .tp-body{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}
#taak-pill .tp-body b{font-weight:600;font-size:13px;color:#c9d6ff}
#taak-pill #taak-heard{color:#fff;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#taak-pill #taak-said{color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#taak-pill #taak-heard:empty,#taak-pill #taak-said:empty{display:none}
#taak-pill-close{font-size:20px;padding:4px 10px!important;opacity:.7}
#taak-settings .taak-help{margin-top:12px}
#taak-settings .taak-help summary{cursor:pointer;color:#476094}
#taak-settings .taak-help li{margin:4px 0;font-size:14px}
#taak-settings input[type=range]{width:100%}
main>header #taak-toggle{width:auto;min-width:32px;display:inline-flex;align-items:center;gap:4px;padding:6px 10px}
#taak-toggle svg{flex:none}
#taak-toggle span{font-size:12px}
@media(max-width:640px){main>header #taak-toggle{width:32px;padding:6px}#taak-toggle span{display:none}}
/* 0.3.36: проекты платформы — своя группа в дереве */
#model-history .proj-group{margin:12px 8px 4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#8a8a98}
#model-history details.platform .proj-icon{color:#476094}
/* 0.3.37: раздел «Платформа» — агенты участников, проекты, доска и todo */
#platform-view{padding:8px 4px 40px;max-width:1200px}
#platform-view h3{margin:22px 0 10px;font-size:16px;display:flex;align-items:center;gap:10px}
/* 28.09 (Л4): одна шапка у Платформы, Входящих и Заказов — название, «обновлено», ↻ у правого края. Раньше правило
   кнопки было прибито к #pv-refresh, и у Входящих с Заказами ↻ висел посреди строки крупной плитой. */
.pv-head{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap}
.pv-head h2{margin:0}
/* Л4: треды Входящих — кнопки, а кнопка сжимается по тексту; карточки раздела — во всю ширину, как Заказы. */
button.pv-project{display:block;width:100%;text-align:left;font:inherit;color:inherit}
#pv-refresh,.pv-head>button{margin:0 0 0 auto;min-height:36px;border:1px solid #e0e0ea;background:#fff;border-radius:10px;padding:4px 10px}
.pv-error{color:#b03c42;background:#fbeff0;border-radius:10px;padding:8px 12px}
.pv-agents{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.pv-agent{border:1px solid #e3e6ee;border-radius:14px;background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pv-agent.busy{border-color:#b9ccf5;box-shadow:0 0 0 2px #e6eeff}
.pv-agent.limited{border-color:#f0d9a8;background:#fffbf0}
.pv-agent-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pv-agent-head b{font-size:16px}
.pv-agent-head small{color:#6a7683}
.pv-me{background:#e3e9fb;color:#2f4a8a!important;border-radius:8px;padding:0 6px}
.pv-now{font-size:13px;color:#2f4a8a;background:#f1f5ff;border-radius:8px;padding:6px 8px}
.pv-agent label{font-size:13px;color:#5b6573;display:flex;flex-direction:column;gap:4px}
.pv-agent label.check{flex-direction:row;align-items:center}
.pv-agent select{margin:0}
.pv-filter{font-size:13px;font-weight:400;color:#6a7683;display:inline-flex;gap:6px;align-items:center}
.pv-filter input{width:auto;margin:0}
.pv-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.pv-project{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;padding:10px 12px;border:1px solid #e3e6ee;border-radius:12px;background:#fff;text-align:left;cursor:pointer;font:inherit}
.pv-project:hover{border-color:#b9ccf5}
.pv-project.selected{border-color:#476094;box-shadow:0 0 0 2px #e3e9fb}
.pv-badge{background:#e7f5ec;color:#2d7a4b;border-radius:8px;padding:0 6px;font-size:11px}
.pv-counts{display:flex;flex-wrap:wrap;gap:4px}
.pv-counts i{font-style:normal;font-size:12px;border-radius:8px;padding:1px 7px;background:#f1f1f5;color:#5b6573}
.pv-counts i.doing{background:#e6eeff;color:#2f4a8a}.pv-counts i.todo{background:#fff4dd;color:#8a6212}.pv-counts i.blocked{background:#fbeff0;color:#a3434a}
#pv-board{margin-top:18px;border-top:1px solid #e6e6ee;padding-top:6px}
.pv-board-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pv-board-head h3{margin:12px 0}
.pv-shared{font-size:13px;display:inline-flex;align-items:center;gap:6px;color:#2d7a4b}
.pv-shared input{width:auto;margin:0}
.pv-tabs{display:inline-flex;background:#eeeef4;border-radius:10px;padding:2px}
.pv-tabs button{margin:0;border:0;background:transparent;padding:5px 12px;border-radius:8px;font:inherit;font-size:13px;cursor:pointer}
.pv-tabs button[aria-pressed=true]{background:#fff;box-shadow:0 1px 2px #0001}
#pv-board-close{margin:0 0 0 auto;border:0;background:transparent;font-size:20px;cursor:pointer;color:#8a8a98}
.pv-add{display:flex;gap:8px;margin:6px 0 12px}
.pv-add input{flex:1;margin:0}.pv-add button{margin:0}
.pv-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.pv-col{background:#f6f6fa;border-radius:12px;padding:8px}
.pv-col h4{margin:2px 4px 8px;font-size:13px;color:#5b6573}
.pv-task{background:#fff;border:1px solid #e3e6ee;border-radius:10px;padding:7px 9px;margin-bottom:6px;font-size:13.5px;display:flex;flex-direction:column;gap:3px}
.pv-task.doing{border-color:#b9ccf5}.pv-task.blocked{border-color:#e8c4c4}.pv-task.done{opacity:.75}
.pv-task .task-number{font-family:Consolas,monospace;font-size:12px;color:#476094}
.pv-task .pv-note{color:#8a4a4f;white-space:pre-wrap}
.pv-task .task-actions button{font-size:12px;padding:3px 9px;margin:2px 0 0}
.pv-queue li{margin:4px 0}
#pv-todo-text{white-space:pre-wrap;background:#f6f6fa;border-radius:10px;padding:12px;max-height:60vh;overflow:auto}
#model-history summary .proj-board{border:0;background:transparent;padding:2px 6px;margin:0;width:auto;display:inline-flex;font-size:13px;color:#476094;border-radius:8px;flex:none}
#model-history summary .proj-board:hover{background:#e1e8fb}
@media(max-width:900px){.pv-columns{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pv-columns{grid-template-columns:1fr}#section-switch button{padding-left:7px;padding-right:7px}}
.pv-more{margin:4px 0 0;border:0;background:transparent;color:#476094;font-size:12px;cursor:pointer;padding:4px}
/* 0.3.40: плашка рукописи — как плашка ссылки в Google Keep: иконка и распознанный текст с многоточием; стоит у левого края рамки
   (--chip-x), клик показывает или прячет рукопись под ней (холст на следующих строках, --lines считает и строку плашки). */
.anchor.chip{position:relative;overflow:visible;background:transparent;border:0;padding:0;gap:4px;justify-content:flex-start}
/* На узком экране плашка не уезжает влево от рамки, а сужается (многоточие); влево — только если рамка у самого правого края. */
.anchor.chip .ink-chip{display:inline-flex;align-items:center;gap:8px;flex:0 1 auto;min-width:110px;max-width:min(440px,calc(100% - var(--chip-x,0%) - 40px));height:calc(var(--note-lh,1.65em) - 4px);margin-left:min(var(--chip-x,0%),calc(100% - 150px));padding:0 12px 0 8px;border:1px solid #dadce0;border-radius:8px;background:#f1f3f4;color:#3c4043;font:inherit;font-size:13px;line-height:1;cursor:pointer;text-align:left}
.anchor.chip .ink-chip:hover{background:#e8eaed}
.anchor.chip .ink-chip .anchor-icon{color:#5f6368}
.anchor.chip .ink-chip .anchor-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anchor.chip.open .ink-chip{background:#e8f0fe;border-color:#c6dafc;color:#1a4fa0}.anchor.chip.open .ink-chip .anchor-icon{color:#1a73e8}
.anchor.chip .ink-sheet{position:absolute;left:0;top:var(--note-lh,1.65em);width:100%;height:calc((var(--lines,2) - 1)*var(--note-lh,1.65em));pointer-events:none;z-index:2;border:0;background:transparent;max-width:none;border-radius:0}
.anchor.chip .anchor-actions{opacity:0;background:#ffffffc0;border-radius:6px}.anchor.chip:hover .anchor-actions,.anchor.chip:focus-within .anchor-actions{opacity:.9}
@media(hover:none){.anchor.chip .anchor-actions{opacity:.45}}
body.ink-mode .anchor.chip .anchor-actions{display:none}
/* Поле правки не уже ~260 px: у рамки справа на телефоне оно на время правки сдвигается влево. */
.anchor.chip .ink-chip.editing{cursor:text;background:#fff;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833;flex:1 1 auto;margin-left:min(var(--chip-x,0%),calc(100% - 290px));max-width:none}
.anchor.chip .ink-chip-input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:#202124;padding:0;height:100%}
/* 24.09: поле правки многострочное (строки почерка — строки текста). Пока правят, оно растёт вниз поверх рукописи; одна строка — как прежде. */
.anchor.chip .ink-chip.editing{height:auto;min-height:calc(var(--note-lh,1.65em) - 4px);align-items:flex-start;padding-top:4px;padding-bottom:4px}
.anchor.chip .ink-chip.editing .anchor-icon{margin-top:2px}
.anchor.chip textarea.ink-chip-input{resize:none;line-height:1.4;height:auto;min-height:1.4em;white-space:pre-wrap;overflow:auto;box-shadow:none;border-radius:0;margin:0}
.anchor.chip .anchor-actions [data-ink-edit]{font-size:12px;font-weight:600}
.model-message .home-note .anchor.chip{margin:0}

/* 0.3.42: вход паролем коробки и раздел «Доступ» */
#box-login-wrap{margin:18px 0 6px}#box-login{display:block;text-align:center;padding:12px 16px;border-radius:9px;text-decoration:none}#box-login-wrap .small{font-size:12px;margin:6px 0}
#invite-form h2{margin-top:10px}#invite-error{color:#a63d36}
/* t72: правила карточки «Доступ» убраны вместе с ней — раздел уехал в пульт Studio. */
.access-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-top:1px solid #eceee6;font-size:13px}

/* 0.3.51: «Показать ещё» у длинных списков и «Ещё» в меню материалов */
.more-btn{display:block;width:100%;border:0;background:transparent;color:#476094;font-size:12.5px;text-align:left;padding:6px 10px;border-radius:9px;cursor:pointer}.more-btn:hover{background:#eef1f8}
.mat-rest{display:contents}.mat-rest[hidden]{display:none}.mat-more span{color:#8a879a}
#model-chat-settings-dialog{width:min(520px,calc(100vw - 32px));max-height:80dvh;overflow:auto;border:1px solid #e3e2ea;border-radius:18px;padding:20px}
#model-chat-settings-info dt{font-size:12px;color:#777e85;margin-top:16px}
#model-chat-settings-info dd{margin:4px 0;overflow-wrap:anywhere;font-size:14px}
#model-chat-settings{font-size:18px;min-width:36px;min-height:36px;color:#777e85}
