/* ===== Листы персонажей: экранный интерфейс =====
   Цвета и размеры — переменные --cs-* (светлая и тёмная тема).
   Блок «лист для печати» ниже не менялся: он нужен для A4. */
:is(#cs,.csmodal){
 --cs-bg:#f4f0e8;--cs-surface:#fffdf9;--cs-surface2:#f6f1e6;--cs-field:#fff;
 --cs-line:#e4dbc8;--cs-line2:#cfc2a6;--cs-text:#1f1b16;--cs-muted:#6a5f50;
 --cs-accent:#922610;--cs-accent-ink:#8a2410;--cs-accent-soft:rgba(146,38,16,.09);--cs-ring:rgba(146,38,16,.28);
 --cs-ok:#2f6b2f;--cs-ok-soft:rgba(47,107,47,.12);--cs-warn:#a02010;--cs-warn-soft:rgba(160,32,16,.1);
 --cs-shadow:0 1px 2px rgba(60,40,10,.06),0 6px 20px rgba(60,40,10,.06);
 --cs-r:12px;
}
@media(prefers-color-scheme:dark){:is(#cs,.csmodal){
 --cs-bg:#16120f;--cs-surface:#221d18;--cs-surface2:#2b251e;--cs-field:#18140f;
 --cs-line:#3a3228;--cs-line2:#52483a;--cs-text:#efe6d4;--cs-muted:#b3a58c;
 --cs-accent:#b13a1d;--cs-accent-ink:#f0a083;--cs-accent-soft:rgba(240,160,131,.12);--cs-ring:rgba(240,160,131,.35);
 --cs-ok:#7ec37e;--cs-ok-soft:rgba(126,195,126,.15);--cs-warn:#f08a74;--cs-warn-soft:rgba(240,138,116,.14);
 --cs-shadow:0 1px 2px rgba(0,0,0,.45),0 6px 20px rgba(0,0,0,.25);
}}

/* --- общие правила прежней версии: ими пользуются и другие разделы сайта (экран мастера, справочник) --- */
.mhint{font-size:13px;color:#6b5f4d;margin:4px 0 8px}
.none{color:#6b5f4d;font-style:italic;padding:6px 8px}
.row{display:flex;gap:6px;margin:6px 0}
details{margin:4px 0}summary{cursor:pointer;font-weight:700}
.dmmodal button{background:#fdf1dc;color:#1d1a16}
.dmdlg.wide{width:min(640px,100%)}

/* --- каркас --- */
#cs{display:none}
body.cs .col,body.cs .wrap,body.cs #dm{display:none!important}
body.cs main{padding:0!important;display:block;overflow:auto}
body.cs #cs{display:block;background:var(--cs-bg);min-height:100%}
#cs{font:15px/1.4 'PT Sans',sans-serif;color:var(--cs-text)}
#cs .csbody{max-width:1100px;margin:0 auto;padding:16px 16px 72px}
#cs .csbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px max(16px,calc((100% - 1068px)/2));background:var(--cs-surface);border-bottom:1px solid var(--cs-line)}
#cs .csbar>b{font:700 16px 'PT Sans',sans-serif}
#cs .cscur{width:auto;min-width:220px;max-width:min(360px,100%);font-weight:700}
.dmsp{flex:1}

/* --- поля ввода --- */
:is(#cs,.csmodal) :is(select,input[type=text],input[type=number],textarea){
 font:15px 'PT Sans',sans-serif;color:var(--cs-text);background-color:var(--cs-field);
 border:1px solid var(--cs-line2);border-radius:8px;padding:0 12px;height:40px;width:100%;min-width:0;
 transition:border-color .12s,box-shadow .12s}
:is(#cs,.csmodal) textarea{height:auto;padding:9px 12px;line-height:1.4;resize:vertical}
:is(#cs,.csmodal) select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23918673' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 12px center}
:is(#cs,.csmodal) :is(select,input,textarea):hover{border-color:var(--cs-muted)}
:is(#cs,.csmodal) :is(select,input,textarea,button,summary,a):focus-visible{outline:0;border-color:var(--cs-accent);box-shadow:0 0 0 3px var(--cs-ring)}
:is(#cs,.csmodal) input[type=checkbox]{width:18px;height:18px;accent-color:var(--cs-accent);margin:0;flex:none;cursor:pointer}
#cs .cscur,#cs .csheet select{height:40px}
#cs input.num,#cs td input[type=number]{width:72px;text-align:center;padding:0 6px}
#cs .cstbl select,#cs .abrow select{width:auto;min-width:76px}
#cs .csasi select{width:auto;min-width:150px}

/* --- кнопки --- */
:is(#cs,.csmodal) button{
 font:700 14px 'PT Sans',sans-serif;height:36px;padding:0 14px;border-radius:8px;cursor:pointer;white-space:nowrap;
 border:1px solid var(--cs-line2);background:var(--cs-surface);color:var(--cs-text);
 transition:background-color .12s,border-color .12s,color .12s}
:is(#cs,.csmodal) button:hover:not(:disabled){border-color:var(--cs-accent);color:var(--cs-accent-ink)}
:is(#cs,.csmodal) button:disabled{opacity:.45;cursor:default}
:is(#cs,.csmodal) button:is(.pri,.act){background:var(--cs-accent);border-color:var(--cs-accent);color:#fff!important}
:is(#cs,.csmodal) button:is(.pri,.act):hover:not(:disabled){filter:brightness(1.12)}
#cs .cb2{width:34px;padding:0;font-size:16px;line-height:1}
#cs .xx{border:0;background:transparent;color:var(--cs-muted);width:30px;padding:0;font-size:18px}
#cs .xx:hover:not(:disabled){background:var(--cs-warn-soft);color:var(--cs-warn)}
#cs .csbar .danger:hover:not(:disabled){border-color:var(--cs-warn);color:var(--cs-warn)}

/* --- сегменты и фильтры --- */
#cs .seg.csmeth{display:flex;gap:2px;padding:3px;background:var(--cs-surface2);border:1px solid var(--cs-line);border-radius:10px;margin:0 0 12px;max-width:560px}
#cs .csmeth button{flex:1;height:34px;border:0;background:transparent;border-radius:7px;color:var(--cs-muted)}
#cs .csmeth button:hover:not(:disabled){background:var(--cs-surface);color:var(--cs-text);border:0}
#cs .csmeth button.act{background:var(--cs-surface);color:var(--cs-accent-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.18);filter:none}
.seg.csmeth.wrapseg{display:flex;flex-wrap:wrap;gap:6px;padding:0;background:none;border:0;max-width:none}
.wrapseg button{flex:0 1 auto!important;height:32px!important;padding:0 13px;border:1px solid var(--cs-line2)!important;border-radius:999px!important;background:var(--cs-surface)!important;color:var(--cs-text)!important;font-size:13px!important}
.wrapseg button.act{background:var(--cs-accent)!important;border-color:var(--cs-accent)!important;color:#fff!important;box-shadow:none!important}

/* --- приветствие --- */
.cswel{text-align:center;margin:10vh auto;max-width:560px;background:var(--cs-surface);padding:36px 32px;border:1px solid var(--cs-line);border-radius:18px;box-shadow:var(--cs-shadow)}
.cswel h2{font:700 30px 'PT Serif',serif;color:var(--cs-accent-ink);margin:0 0 10px}
.cswel p{margin:0 0 18px;color:var(--cs-muted);font-size:16px}
.cswel .cssteps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 22px;text-align:left}
.cswel .cssteps div{background:var(--cs-surface2);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--cs-muted)}
.cswel .cssteps b{display:block;color:var(--cs-text);font-size:14px;margin-bottom:2px}
.cswel button{height:44px;padding:0 24px;font-size:15px}

/* --- шапка персонажа --- */
.cshead{background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:16px;padding:18px 20px;margin-bottom:12px;box-shadow:var(--cs-shadow)}
.cssum{display:flex;gap:16px 28px;align-items:center;flex-wrap:wrap}
.cssn{flex:1 1 260px;min-width:0}
.cssn h2{margin:0;font:700 28px/1.15 'PT Serif',serif;color:var(--cs-accent-ink);overflow-wrap:anywhere}
.cssub{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cssub span{background:var(--cs-surface2);border:1px solid var(--cs-line);border-radius:999px;padding:2px 11px;font-size:13px;color:var(--cs-muted)}
.cssub span:first-child{color:var(--cs-text);font-weight:700}
.csstats{flex:1 1 100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}
.cstat{background:var(--cs-surface2);border:1px solid var(--cs-line);border-radius:12px;padding:8px 6px 7px;text-align:center;min-width:0}
.cstat small{display:block;font:700 10.5px/1.2 'PT Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--cs-muted);min-height:25px;display:flex;align-items:center;justify-content:center}
.cstat b{display:block;font:700 26px/1.15 'PT Serif',serif;white-space:nowrap}
.cstat.key{background:var(--cs-accent-soft);border-color:transparent}
.cstat.key b{color:var(--cs-accent-ink)}

/* чек-лист «что осталось» */
#cs .cstodo{margin:14px 0 0;padding:12px 14px;border:0;border-radius:12px;background:var(--cs-warn-soft);display:block}
#cs details.cstodo[open]{background:var(--cs-warn-soft)}
#cs .cstodo .tdh{font:700 13px 'PT Sans',sans-serif;color:var(--cs-warn);padding:0;list-style-position:inside}
#cs .cstodo[open] .tdh{margin-bottom:10px}
.cstodo .tdl{display:flex;flex-wrap:wrap;gap:6px}
.cstodo a{display:inline-flex;gap:7px;align-items:center;background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:8px;padding:4px 10px;font-size:13px;color:var(--cs-text);text-decoration:none}
.cstodo a:hover{border-color:var(--cs-accent);color:var(--cs-accent-ink)}
.cstodo a em{font:700 10.5px 'PT Sans',sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.04em;color:var(--cs-accent-ink);background:var(--cs-accent-soft);border-radius:5px;padding:1px 6px}
.cstodo .tdm{font-size:13px;color:var(--cs-muted);align-self:center}
.cstodo.done,#cs .cstodo.done{display:flex;background:var(--cs-ok-soft);flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;color:var(--cs-ok);font-weight:700}
.cstodo.done button{margin-left:auto;height:32px;font-size:13px}

/* --- вкладки-шаги --- */
.cstabs{position:sticky;top:0;z-index:6;display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:8px 2px;margin:0 -2px 10px;background:var(--cs-bg)}
.cstabs::-webkit-scrollbar{display:none}
#cs .cstab{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 13px 0 7px;border-radius:999px;flex:none;background:var(--cs-surface);font-size:13.5px}
#cs .cstab.sec{padding-left:13px}
#cs .cstab i{font:700 12px 'PT Sans',sans-serif;font-style:normal;width:23px;height:23px;border-radius:50%;display:inline-grid;place-items:center;background:var(--cs-surface2);color:var(--cs-muted);border:1px solid var(--cs-line)}
#cs .cstab.act i{background:rgba(255,255,255,.22);border-color:transparent;color:#fff}
#cs .cstab .bd{width:auto;font:700 11px 'PT Sans',sans-serif;font-style:normal;background:var(--cs-warn);color:#fff;border:0;min-width:19px;height:19px;border-radius:10px;padding:0 5px;margin-right:-6px}
#cs .cstab.act .bd{background:#fff;color:var(--cs-accent)}
.cstabs .tsep{width:1px;height:22px;background:var(--cs-line2);flex:none;margin:0 4px}
#cs .cstab.printtab{margin-left:auto}

/* --- основная панель --- */
.cspane{background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:16px;padding:22px 24px;box-shadow:var(--cs-shadow)}
.cspane.t-sheet{background:none;border:0;box-shadow:none;padding:0}
.csh{display:flex;align-items:center;gap:12px;font:700 13px 'PT Sans',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--cs-accent-ink);margin:30px 0 12px}
.csh::after{content:'';flex:1;height:1px;background:var(--cs-line)}
.cspane>.csh:first-child{margin-top:0}
.csh2{font:700 14px 'PT Sans',sans-serif;color:var(--cs-text);margin:18px 0 6px}
.csgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;margin-bottom:12px}
.csgrid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.csf{display:block;min-width:0}
.csf>span{display:block;font:700 12px 'PT Sans',sans-serif;color:var(--cs-muted);margin-bottom:5px}
.csro{padding:9px 0;color:var(--cs-muted)}
.csfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:12px 0}
.fact{background:var(--cs-surface2);border:1px solid var(--cs-line);padding:9px 12px;border-radius:10px;font-size:14px}
.fact small{display:block;font:700 10.5px 'PT Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--cs-muted);margin-bottom:2px}
.cstr{margin:6px 0 10px;padding-left:20px}.cstr li{margin-bottom:4px}
:is(#cs,.csmodal) .mhint{font-size:13.5px;color:var(--cs-muted);margin:6px 0 12px;line-height:1.45}
.csb{font-size:14.5px;margin:6px 0}.csb p{margin:0 0 6px}
:is(#cs,.csmodal) .warn{color:var(--cs-warn)!important;font-weight:700}
:is(#cs,.csmodal) .none{color:var(--cs-muted);font-style:normal;padding:14px;text-align:center;border:1px dashed var(--cs-line2);border-radius:10px;margin:6px 0}
:is(#cs,.csmodal) .cslist .none{border:0;margin:0}
#cs .row{display:flex;gap:8px;margin:10px 0}#cs .row input{flex:1}
.kit{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.buy{display:inline-flex;gap:8px;align-items:center}.buy b{min-width:24px;text-align:center;font-size:17px}

/* раскрывающиеся блоки */
#cs details{border:1px solid var(--cs-line);border-radius:10px;background:var(--cs-surface);margin:8px 0;padding:0 14px}
#cs details[open]{background:var(--cs-surface2)}
#cs summary{cursor:pointer;font-weight:700;padding:10px 0;list-style-position:inside}
#cs summary::marker{color:var(--cs-accent-ink)}
#cs summary small{font-weight:400;color:var(--cs-muted)}
#cs details>.csb,#cs details>.cstr{padding-bottom:10px}
#cs details .xx{margin-left:6px;vertical-align:middle}

/* --- таблицы --- */
.cstbl{border-collapse:collapse;width:100%;margin:8px 0}
.cstbl th{font:700 11px 'PT Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--cs-muted);text-align:left;border-bottom:1px solid var(--cs-line2);padding:6px 10px}
.cstbl td{padding:7px 10px;border-bottom:1px solid var(--cs-line);vertical-align:middle}
.cstbl tr:hover td{background:var(--cs-surface2)}
.cstbl tr.prof td:nth-child(2){font-weight:700}
.cstbl tr.abh td{background:var(--cs-accent-soft);font-size:14px;padding:8px 10px;border-bottom:0}.cstbl tr.abh small{color:var(--cs-muted)}
.cstbl tr.sv td{color:var(--cs-muted);font-size:13.5px}
.cstbl tr.prof td b{color:var(--cs-accent-ink)}
.big{font-size:20px}
.cstbl.sk td:first-child{width:76px;white-space:nowrap;color:var(--cs-muted)}
.cstbl.sk td:first-child input{vertical-align:middle;margin-right:4px}
.cslegend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--cs-muted);margin:4px 0 10px}

/* --- характеристики: карточки --- */
.csabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.abc{border:1px solid var(--cs-line);border-radius:14px;background:var(--cs-surface);padding:12px 12px 10px;display:flex;flex-direction:column;gap:9px}
.abc.hl{background:var(--cs-accent-soft);border-color:var(--cs-accent)}
.abt{display:flex;justify-content:space-between;align-items:center;gap:6px}.abt b{font:700 14px 'PT Sans',sans-serif}
.abtot{min-width:34px;text-align:center;font:700 13px 'PT Sans',sans-serif;background:var(--cs-surface2);border:1px solid var(--cs-line);border-radius:999px;padding:1px 9px}
.abbody{display:grid;grid-template-columns:76px 1fr;gap:6px 12px;align-items:center}
.abmod{font:700 40px/1 'PT Serif',serif;text-align:center;color:var(--cs-accent-ink)}
.abctl{display:flex;flex-direction:column;gap:4px;min-width:0}
.abrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;font-size:13px;min-height:36px}
.abrow>small{color:var(--cs-muted);font-size:12px;font-weight:700}
.abrow .abbon{display:inline-flex;align-items:center;gap:6px;color:var(--cs-muted)}
.abrow .abbon input{width:54px!important;padding:0 4px!important;height:34px!important}
.abchip{background:var(--cs-surface2);border:1px solid var(--cs-line);border-radius:7px;padding:3px 8px;font-weight:700;color:var(--cs-text)}
.absv{font-size:13px;color:var(--cs-muted);border-top:1px dashed var(--cs-line2);padding-top:8px;text-align:center}
.absv.on{color:var(--cs-ok);font-weight:700}
.csasi{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;margin:8px 0;background:var(--cs-surface2);border:1px solid var(--cs-line);border-radius:12px}
.csasi>b{min-width:120px}
.csasi .csfeat{font-weight:700}
.csall{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:13.5px;color:var(--cs-muted);cursor:pointer}

/* --- списки и поиск --- */
.cssb>input{margin-bottom:8px}
.cslist{max-height:360px;overflow:auto;border:1px solid var(--cs-line);border-radius:12px;background:var(--cs-field);margin:8px 0}
.csrow{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--cs-line)}
.csrow:last-child{border-bottom:0}
.csrow:hover{background:var(--cs-accent-soft)}
.csrow>b{flex:1 1 180px;min-width:0}
.csrow small{color:var(--cs-muted)}
.csrow a,.cspane a{color:var(--cs-accent-ink)}
.csrow button{height:30px;font-size:13px;padding:0 11px}
.csrow.prepd{background:var(--cs-ok-soft)}
.prep{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap;color:var(--cs-muted)}
.csrow input[type=checkbox]{width:16px;height:16px}
.slots{display:flex;gap:8px;flex-wrap:wrap}
.slot{text-align:center;background:var(--cs-surface2);border:1px solid var(--cs-line);border-radius:12px;padding:6px 14px;min-width:64px}
.slot small{display:block;font:700 10.5px 'PT Sans',sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--cs-muted)}
.slot b{font:700 22px 'PT Serif',serif;color:var(--cs-accent-ink)}
.spcnt{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.spcnt span{background:linear-gradient(90deg,var(--cs-accent-soft) var(--p,0%),var(--cs-surface2) var(--p,0%));border:1px solid var(--cs-line);padding:5px 13px;border-radius:999px;font-size:13.5px}
.spcnt .ok{background:var(--cs-ok-soft);border-color:transparent;color:var(--cs-ok);font-weight:700}
.spcnt .over{background:var(--cs-warn-soft);border-color:transparent;color:var(--cs-warn);font-weight:700}
.coins{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.lchips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.lchips.rare{padding-top:10px;border-top:1px dashed var(--cs-line2)}
.lchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--cs-line2);border-radius:999px;padding:5px 13px;font-size:13.5px;cursor:pointer;user-select:none;background:var(--cs-surface)}
.lchip input{display:none}
.lchip:hover{border-color:var(--cs-accent)}
.lchip.on{background:var(--cs-accent);border-color:var(--cs-accent);color:#fff}

/* --- панель печати --- */
.sheetbar{display:flex;gap:14px 20px;align-items:flex-end;flex-wrap:wrap;background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:16px;padding:16px 20px;margin-bottom:14px;box-shadow:var(--cs-shadow)}
.sheetbar .csf{min-width:180px}
.sheetbar .csall{margin:0 0 10px}
.sheetbar .mhint{flex:1 1 100%;margin:0;order:9}
.sheetbar>button{height:42px;padding:0 22px;font-size:15px}
.sheetopt{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:14px;margin-bottom:14px;align-items:start}
.csprint{background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:16px;padding:16px 20px;box-shadow:var(--cs-shadow);min-width:0}
.cslbl{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cs-muted);margin-bottom:10px}
.cspages{display:flex;flex-wrap:wrap;gap:2px 22px;align-items:center}
.cspages .csall{margin:4px 0}
#cs .cspages select{width:auto;min-width:140px;flex:none;height:34px;font-size:13px;margin-left:-14px}
.cspr{margin-top:12px;border-top:1px solid var(--cs-line);padding-top:10px}
.cspr>summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--cs-text);padding:4px 0}
.csfbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 6px}
.csfbar small{color:var(--cs-muted);font-size:12.5px}
.csfg{margin:8px 0;padding:8px 12px;background:var(--cs-surface2);border-radius:12px}
.csfgh{display:flex;align-items:center;gap:6px;font-size:13.5px;cursor:pointer}
.csfgl{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0 18px;margin-top:4px}
.csfgl .csall{margin:3px 0;font-size:13px}
.csport{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.csport img{width:84px;height:112px;object-fit:cover;border-radius:10px;border:1px solid var(--cs-line)}
.csport0{width:84px;height:112px;border:1px dashed var(--cs-line2);border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11.5px;color:var(--cs-muted);padding:6px}
.csportb{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.sheetopt{grid-template-columns:1fr}}
@media screen{.pg{box-shadow:0 2px 14px rgba(0,0,0,.16)}.cspane.t-sheet .csheet{background:transparent}}

/* --- окна --- */
.csmodal .dmdlg{background:var(--cs-surface);color:var(--cs-text);border:1px solid var(--cs-line);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.45);padding:22px 24px}
.csmodal .dmdlg h3{font:700 22px 'PT Serif',serif;color:var(--cs-accent-ink);margin:0 0 10px}
.csmodal .mhint{margin:0 0 14px}
.csmodal .mbtn{margin-top:14px}
.csmodal .cslist,.csmodal .none{color:var(--cs-text)}
.csmodal .csrow{cursor:pointer}
.csmodal .csrow>b{color:var(--cs-text)}
.csmodal .seg.csmeth.wrapseg{margin-bottom:10px}
.csopts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
:is(#cs,.csmodal) button.csopt{height:auto;padding:16px;text-align:left;white-space:normal;background:var(--cs-surface2);border-radius:14px;display:flex;flex-direction:column;gap:4px;color:var(--cs-text)}
.csopt strong{font:700 22px 'PT Serif',serif;color:var(--cs-accent-ink)}
.csopt span{font:400 13px/1.35 'PT Sans',sans-serif;color:var(--cs-muted)}
:is(#cs,.csmodal) button.csopt:hover:not(:disabled){background:var(--cs-accent-soft);border-color:var(--cs-accent)}
.csmodal .dmdlg.wide{width:min(680px,100%)}

/* --- узкие экраны --- */
@media(max-width:760px){
 #cs .csbody{padding:10px 10px 64px}
 .cspane{padding:16px 14px;border-radius:14px}
 .cshead{padding:14px;border-radius:14px}
 .cssn h2{font-size:23px}
 .csstats{grid-template-columns:repeat(3,1fr)}
 .csabs{grid-template-columns:repeat(2,1fr)}
 .abbody{grid-template-columns:1fr}.abmod{font-size:34px}
 .csgrid.two{grid-template-columns:1fr}
 .coins{grid-template-columns:repeat(3,1fr)}
 .cstbl{display:block;overflow-x:auto}
 .cswel{margin:5vh auto;padding:26px 18px}.cswel .cssteps{grid-template-columns:1fr}
 .csopts{grid-template-columns:1fr}
 #cs .cstab.printtab{margin-left:0}
 #cs .cscur{min-width:0;flex:1 1 100%;max-width:none}
 #cs .csbar .dmsp{display:none}
 #cs .csbar button{flex:1 1 auto}
 .cstat small{min-height:0;margin-bottom:2px}.cstat b{font-size:22px}
 .cstodo a{font-size:12.5px}
}
@media(prefers-reduced-motion:reduce){:is(#cs,.csmodal) *{transition:none!important}}

/* ===== печать: скрываем интерфейс, оставляем только страницы листа (их стили — в charprint.css) ===== */
@media print{
 @page{size:A4;margin:8mm}
 html,body{height:auto!important;display:block!important;background:#fff!important}
 nav,aside,.col,#dm,.wrap,#tip,#rolls,.dmtoast,.csbar,.cshead,.cstabs,.cswel,.noprint{display:none!important}
 main{overflow:visible!important;height:auto!important;padding:0!important}
 body.cs #cs{display:block;background:#fff;min-height:0}
 #cs .csbody{max-width:none;padding:0}.cspane{border:0;padding:0;background:#fff;box-shadow:none;border-radius:0}
}
