:root{color-scheme:dark;--bg:#0c0d0f;--surface:#141619;--raised:#1b1e22;--line:#292d32;--ink:#e4e7eb;--muted:#9299a3;--accent:#a6dfc2;--green:#377f63}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}button,input,textarea,select,a{outline-offset:3px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:19px;font-weight:600;letter-spacing:-.4px}h2{font-size:15px;font-weight:600}h3{font-size:13px;font-weight:600;margin:16px 0 9px}p{font-size:12px;line-height:1.5;color:var(--muted)}.muted,.result-count{color:var(--muted);font-size:11px}.sidebar{position:fixed;inset:0 auto 0 0;width:184px;background:#101214;border-right:1px solid var(--line);padding:20px 12px;display:flex;flex-direction:column}.brand{font-size:22px;font-weight:700;display:flex;align-items:center;gap:9px;margin:0 10px 28px;letter-spacing:-1px}.brand-mark{display:inline-grid;place-items:center;background:#a6dfc2;color:#15271e;border-radius:7px;width:27px;height:27px;font-size:22px}.nav{display:flex;align-items:center;gap:9px;width:100%;border:0;border-radius:6px;background:none;color:#9299a3;text-align:left;padding:10px;margin:3px 0;font-size:12px}.nav span{font-size:17px;width:18px;text-align:center}.nav.active{background:#212b26;color:var(--accent)}.nav b{margin-left:auto;background:#303d35;font-size:10px;padding:2px 5px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding:12px 10px 0;font-size:11px;color:var(--muted)}.text-button{background:none;border:0;padding:0;font-size:inherit;text-align:left}.sidebar-bottom .text-button{display:block;margin-top:15px}main{margin-left:184px}header{height:60px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 25px;position:sticky;top:0;background:#0c0d0ff5;z-index:5}.header-right{display:flex;align-items:center;gap:14px;font-size:10px;color:var(--muted)}.connection{color:#9bb4a6}.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:6px;width:28px;height:28px;font-size:18px}.content{padding:20px 25px;max-width:1800px;margin:auto}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search,input[type=text],input[type=password],select{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:11px}.search{width:200px}.filters{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--surface);gap:2px}.filter{border:0;background:none;padding:5px 10px;border-radius:4px;font-size:11px;color:var(--muted)}.filter.active{background:#30353b;color:white}.student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.student-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:15px;text-align:left;transition:border-color .15s}.student-card:hover{border-color:#58675e}.card-top{display:flex;gap:9px;align-items:center}.avatar{width:30px;height:30px;border-radius:7px;display:inline-grid;place-items:center;background:#27352e!important;color:#a4cbb5;font-size:12px;flex-shrink:0}.card-top h3{font-size:13px;margin:0 0 4px}.card-top small{font-size:10px;color:var(--muted)}.exam{margin-left:auto;background:#26352b;color:#aac7a8;border-radius:4px;padding:4px 5px;font-size:9px}.exam.oge{background:#302a3c;color:#c0afd4}.progress-label{display:flex;justify-content:space-between;margin:15px 0 7px;color:var(--muted);font-size:10px}.progress-label strong{font-size:11px;color:var(--accent)}.progress-bar{height:4px;border-radius:3px;background:#272d2a;overflow:hidden}.progress-bar i{display:block;height:100%;background:#77b794}.topic-dots{display:flex;flex-wrap:wrap;gap:3px;margin:9px 0 12px}.topic-dots i{width:6px;height:6px;border-radius:1px}.card-next{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:10px 0 0;font-size:10px;color:var(--muted)}.card-next strong{color:var(--ink);font-size:10px;font-weight:500}.card-bottom{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;color:var(--muted)}.linked{color:#a6cbb6}.card-bottom b{font-size:13px;font-weight:400}.matrix-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface)}table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap}th,td{padding:7px 9px;text-align:left;border-bottom:1px solid var(--line);font-size:11px}th{font-weight:500;background:#1c1f23;color:#b2bac4;position:sticky;top:0;z-index:2}tr:last-child td{border-bottom:0}.matrix-wrap td:first-child{position:sticky;left:0;background:var(--surface);z-index:1;min-width:100px}.matrix-wrap th:first-child{left:0;z-index:3}.topic-cell{border:1px solid #424a45;width:25px;height:25px;border-radius:4px;color:white;font-size:11px}.topic-cell:hover{outline:1px solid var(--accent)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin:0 0 12px}.legend i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:2px}.panel{background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:8px;margin-bottom:14px}.panel h2{margin-bottom:12px}.primary,.secondary{border:1px solid var(--line);border-radius:6px;background:var(--raised);padding:8px 12px;font-size:11px}.primary{background:#a6dfc2;border-color:#a6dfc2;color:#10271c;font-weight:600}.secondary:hover{background:#272d32}.notice{padding:10px 12px;margin-bottom:14px;border:1px solid #6b5530;background:#2b2419;color:#dfbe80;border-radius:6px;font-size:11px}.empty{padding:35px 15px;text-align:center;color:var(--muted)}.settings-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.settings-form label{font-size:11px;color:var(--muted)}input[type=color]{height:32px;width:40px;background:none;border:0}.note{width:100%;min-height:80px;resize:vertical;border:1px solid var(--line);border-radius:6px;background:#101215;padding:10px;font-size:12px;line-height:1.5}.note:focus{border-color:#688a77}dialog{color:var(--ink);background:var(--surface);border:1px solid #41464b;border-radius:11px;padding:0;width:min(850px,calc(100vw - 28px));max-height:92vh;box-shadow:0 20px 90px #0009}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.detail-head{padding:19px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.detail-head h2{font-size:20px}.detail-head p{font-size:11px;margin-top:5px}.close{margin-left:auto;border:0;background:var(--raised);width:28px;height:28px;border-radius:5px;font-size:18px}.detail-body{padding:19px}.detail-summary{display:flex;gap:30px;margin-bottom:15px}.detail-summary strong{font-size:21px;font-weight:500}.detail-summary small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.client-details{display:flex;gap:22px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.client-details strong{font-weight:500;color:var(--ink)}.topic-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.topic-tile{background:#1b1e21;border:1px solid var(--line);border-radius:6px;padding:10px 8px;text-align:left}.topic-tile:hover{border-color:#7a9b87}.topic-tile strong{font-size:11px;display:block;margin-bottom:7px}.topic-tile small{font-size:9px;color:var(--muted)}.topic-tile i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.bot-link{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:9px}.bot-link select{flex:1;min-width:180px}.detail-body>p{margin:9px 0}.detail-body .primary{margin-top:8px}.lesson-block{margin:9px 0}.lesson-block summary{font-size:11px;cursor:pointer;color:var(--muted)}.task-row{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0}.task-square{display:inline-grid;place-items:center;width:23px;height:23px;background:#24282c;color:var(--muted);font-size:9px;border-radius:3px}.task-square.done{background:#2e6048;color:#b8e6c9}.task-square.current{outline:1px solid #d7b77a}#statusDialog{width:340px;padding:20px}#statusChoices{display:grid;gap:7px;margin:15px 0}#statusChoices button{text-align:left}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#d6e6db;color:#162c20;padding:10px 18px;border-radius:7px;font-size:11px;z-index:100}#login{min-height:100vh;display:grid;place-items:center}.login-card{width:min(360px,90vw);padding:30px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.login-card h1{margin:18px 0}.login-card label{display:block;font-size:11px}.login-card input{display:block;width:100%;margin:7px 0 15px}.login-card .primary{width:100%}
/* Selected answer columns share variant numbers. Long cells scroll independently. */
.answer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.answer-selector{border:1px solid var(--line);padding:10px;border-radius:7px;margin-bottom:12px;background:var(--surface)}.answer-chips{display:flex;gap:5px;flex-wrap:wrap}.task-chip{border:1px solid var(--line);background:#191c20;color:var(--muted);border-radius:5px;padding:6px 9px;min-width:33px;font-size:11px}.task-chip[aria-pressed=true]{background:#30483b;border-color:#638b73;color:#d3ecdc}.answer-selection-actions{display:flex;gap:12px;margin-top:10px;font-size:10px;color:var(--muted)}.answer-selection-actions button{border:0;background:none;padding:0;color:inherit}.answer-grid{max-height:calc(100vh - 235px);min-height:150px;scrollbar-color:#4b525c #181b1f}.answer-grid table{table-layout:fixed}.answer-grid th{height:37px}.answer-grid th:first-child,.answer-grid td:first-child{width:46px;min-width:46px;text-align:center;color:var(--muted)}.answer-grid td{vertical-align:top;padding:6px 9px}.answer-cell{white-space:pre-wrap;overflow:auto;max-height:76px;min-height:18px;line-height:1.55;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;scrollbar-width:thin;scrollbar-color:#525a64 #1b1e22;overflow-wrap:anywhere}.answer-pairs{display:grid;grid-template-columns:max-content minmax(max-content,1fr);gap:1px 14px;white-space:pre}.answer-pairs span:nth-child(2n){color:#a5d8bc}.answer-grid th:not(:first-child){border-left:1px solid var(--line)}.answer-grid td:not(:first-child){border-left:1px solid #25292e}.answer-empty{color:#5c626c}.column-remove{border:0;background:none;color:#858e9c;margin-left:9px;padding:0 3px}.answer-label{font-size:11px;color:var(--muted)}
/* Feedback */
.feedback-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.feedback-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.board-column{min-width:0}.board-column h2{font-size:13px;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center}.board-column h2 small{color:var(--muted);font-size:10px;font-weight:400}.board-card{border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:12px;margin-bottom:8px;border-top:2px solid #588e72}.board-column.negative .board-card{border-top-color:#bc827d}.board-column.ideas .board-card{border-top-color:#9a8dbc}.board-card p{color:#d2d6dc;font-size:12px}.board-source{display:block;margin-top:9px;color:#7d8996;font-size:10px;background:none;border:0;padding:0;cursor:pointer;text-align:left}.board-source:hover{color:#bec9d6}.board-quote{font-size:10px;color:#8d969f;margin-top:8px;line-height:1.4;border-left:2px solid #39404a;padding-left:8px}.board-add{font-size:16px;border:0;background:none;color:var(--muted);padding:0 3px}.review-list{display:grid;gap:8px}.review-card{border:1px solid var(--line);border-radius:7px;padding:13px;background:var(--surface);scroll-margin-top:80px}.review-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}.review-top small{font-size:10px;color:var(--muted)}.review-text{white-space:pre-wrap;line-height:1.6;color:#b8c0ca;font-size:12px;margin-top:10px}.rating{font-size:10px;background:#263b2f;color:var(--accent);padding:3px 5px;border-radius:3px;margin-left:7px}.review-card details{margin-top:10px;color:var(--muted);font-size:11px}.review-card summary{cursor:pointer}.feedback-form .note{min-height:130px;margin:12px 0}.feedback-form .settings-form{margin-top:12px}.analysis-edit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.analysis-edit label{font-size:11px;color:var(--muted)}.analysis-edit textarea{display:block;min-height:110px;margin-top:7px}.analysis-hint{font-size:10px;color:#87918c}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.inline-add{display:flex;gap:7px;margin-bottom:10px}.inline-add input{min-width:0;flex:1}.feedback-compose summary{cursor:pointer;font-weight:500;font-size:12px}.review-highlight{outline:1px solid var(--accent)}
@media(min-width:1600px){.student-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1200px){.student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:950px){.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:160px}main{margin-left:160px}.content{padding:15px}.topic-grid{grid-template-columns:repeat(5,1fr)}header{padding:0 15px}.feedback-board{gap:8px}.board-card{padding:10px}.section-head{align-items:flex-start;flex-wrap:wrap}}@media(max-width:650px){.sidebar{position:static;width:100%;padding:12px;border-bottom:1px solid var(--line)}.brand{margin:0 0 10px;font-size:19px}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.nav{width:auto;margin:0;padding:7px;font-size:10px}.nav span,.nav b,.sidebar-bottom{display:none}main{margin:0}header{height:48px;position:static}h1{font-size:16px}.header-right{font-size:9px;gap:8px}#syncTime{display:none}.content{padding:13px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-card{padding:12px}.card-top{gap:6px}.avatar{width:24px;height:24px}.card-top h3{font-size:12px}.exam{font-size:8px}.topic-grid{grid-template-columns:repeat(3,1fr)}.detail-body,.detail-head{padding:15px}.detail-summary{gap:19px}.search{width:150px}.feedback-board{grid-template-columns:1fr}.analysis-edit{grid-template-columns:1fr}.answer-grid{max-height:65vh}.tools{gap:5px}.answer-cell{font-size:11px}}@media(max-width:390px){.student-grid{grid-template-columns:1fr}.card-top h3{font-size:14px}}
.review-card>summary{cursor:pointer;list-style:none}.review-card>summary::after{content:'+';color:var(--muted);margin-left:auto}.review-card[open]>summary::after{content:'−'}.review-card>summary small{margin-left:auto}.review-card[open]{background:#191d20}.review-card:not([open]) .review-top{font-weight:400}.board-column>.secondary{width:100%;color:var(--muted)}

/* Единая палитра бренда «Пульс». */
:root{--bg:#f7f4e9;--surface:#fff;--raised:#f5f4ed;--line:#dce1e5;--ink:#243650;--muted:#65758b;--accent:#b19137;--green:#35577a;color-scheme:light}
body{background:linear-gradient(160deg,#fffdf5,#f4f0e2 75%);color:var(--ink)}
.sidebar{background:#243650;border-right-color:#243650}
.brand{color:#fffbed}.brand-mark{background:#fceea8;color:#243650}
.sidebar .nav{color:#d7e0e8}.sidebar .nav.active{background:#344b69;color:#fceea8}.sidebar .nav:hover{background:#344b69;color:#fffbed}.nav b{background:#506884;color:#fffbed}
.sidebar-bottom,.sidebar-bottom a,.sidebar-bottom button{color:#d7e0e8}
header{background:#fffdf5f5;border-bottom-color:var(--line)}
.connection{color:#476e70}.icon-button{background:#fff;color:var(--ink)}
.search,input[type=text],input[type=password],select,.note{background:#fff;color:var(--ink);border-color:var(--line)}
.filter.active{background:#243650;color:#fffbed}.filter:hover{background:#ebeef0;color:var(--ink)}
.student-card,.panel,.matrix-wrap,.answer-selector,.review-card,.board-card,.login-card{background:#fff;border-color:var(--line);box-shadow:0 4px 18px #2436500b}
.student-card:hover,.topic-tile:hover{border-color:#8ba1b5}
.avatar{background:#e8edf1!important;color:#243650}.exam{background:#f7f1d5;color:#6c5421}.exam.oge{background:#e7edf2;color:#35577a}
.progress-label strong{color:#243650}.progress-bar{background:#e5e9eb}.progress-bar i{background:#d8bc54}
.card-next strong,.linked{color:#35577a}
th{background:#eef1f3;color:#52627a}.matrix-wrap td:first-child{background:#fff}
.topic-cell{border-color:#aebcc8;color:#243650}
.primary{background:#fceea8;border-color:#eadb91;color:#243650}.primary:hover{background:#f5e28c}
.secondary{background:#fff;color:#243650;border-color:#c8d1d9}.secondary:hover{background:#f3f0df}
.notice{background:#fff4d3;color:#765a22;border-color:#e5d18c}
.note{background:#fff}.note:focus{border-color:#9caebf}
dialog{background:#fff;border-color:#b9c5cf;box-shadow:0 20px 90px #24365035}
.close,.topic-tile,.task-chip{background:#f5f6f4;color:#243650;border-color:var(--line)}
.task-square{background:#e8edf0;color:#52627a}.task-square.done{background:#f8edba;color:#243650}.task-square.current{outline-color:#d1ad4c}
#toast{background:#243650;color:#fffbed}
.task-chip[aria-pressed=true]{background:#fceea8;border-color:#dbc871;color:#243650}
.answer-grid{scrollbar-color:#879aab #f2f3f0}.answer-cell{scrollbar-color:#879aab #f2f3f0}.answer-pairs span:nth-child(2n){color:#35577a}.answer-grid td:not(:first-child){border-left-color:var(--line)}
.answer-empty,.column-remove{color:#65758b}
.board-card{border-top-color:#d8bc54}.board-column.negative .board-card{border-top-color:#ba756d}.board-column.ideas .board-card{border-top-color:#5b7794}
.board-card p,.review-text{color:#52627a}.board-source{color:#5a7590}.board-source:hover{color:#243650}.board-quote{color:#65758b;border-left-color:#b6c3ce}
.rating{background:#f8f3d5;color:#6c5421}.analysis-hint{color:#65758b}.review-card[open]{background:#fffdf5}
.review-highlight{outline-color:#d8bc54}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #d8bc54;outline-offset:2px}
@media(max-width:650px){.sidebar{background:#243650;border-bottom-color:#243650}.sidebar .nav{color:#d7e0e8}.sidebar .nav.active{color:#fceea8}.sidebar .brand{color:#fffbed}}
