:root{--bg:#050f1f;--panel:#0b1d3a;--panel2:#0f2749;--line:#1b3a66;--cy:#4cc9f0;--or:#ffa94d;--ink:#e6f1ff;--mut:#8fa8c8;--ok:#2fbf71;--danger:#ff6b6b;--vio:#b197fc}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.hide{display:none!important}
#app{display:grid;grid-template-columns:230px minmax(0,1fr) 350px;height:100vh}
#app.wide{grid-template-columns:230px minmax(0,1fr)}
/* ---- боковая панель ---- */
#side{background:linear-gradient(180deg,#071a35,#050f1f);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 10px;overflow:auto}
.logo{font-size:19px;font-weight:700;padding:4px 8px 14px}
.logo b{color:var(--or)}
.logo small{display:block;font-size:11px;font-weight:400;color:var(--mut);letter-spacing:.4px}
#steps{display:flex;flex-direction:column;gap:4px}
.step{display:flex;gap:10px;align-items:center;text-align:left;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit}
.step .ico{font-size:18px;width:26px;text-align:center}
.step b{display:block;font-size:13.5px}
.step small{display:block;color:var(--mut);font-size:11px}
.step:hover{background:rgba(76,201,240,.08)}
.step.on{background:rgba(76,201,240,.14);border-color:var(--cy);box-shadow:0 0 14px rgba(76,201,240,.25)}
.side-foot{margin-top:auto;padding:12px 8px 0;font-size:11px;color:var(--mut)}
.side-foot a{color:var(--cy)}
/* ---- центр ---- */
#main{display:flex;flex-direction:column;min-width:0;height:100vh}
#topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line)}
#pname{background:transparent;border:1px solid transparent;color:var(--ink);font-size:15px;font-weight:700;width:230px;padding:6px 8px;border-radius:8px}
#pname:hover,#pname:focus{border-color:var(--line);background:#071a35;outline:0}
#floorPills,#tools{display:flex;gap:6px;flex-wrap:wrap}
.pill{background:#071a35;color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:5px 13px;cursor:pointer;font:inherit}
.pill.on{background:var(--cy);color:#04223a;border-color:var(--cy);font-weight:700}
.pill.add{padding:5px 11px}
.tool{display:flex;gap:6px;align-items:center;background:#071a35;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:6px 11px;cursor:pointer;font:inherit}
.tool span{font-size:15px}
.tool.on{background:rgba(255,169,77,.18);border-color:var(--or);color:#ffe3b3;box-shadow:0 0 12px rgba(255,169,77,.3)}
.sp{flex:1}
.ib{background:#071a35;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:6px 11px;cursor:pointer;font:inherit}
#stage{position:relative;flex:1;min-height:0;background:#071428}
#cv{width:100%;height:100%;display:block;touch-action:none;user-select:none}
#hint{position:absolute;left:12px;bottom:10px;background:rgba(7,26,53,.88);border:1px solid var(--line);border-radius:8px;padding:6px 11px;color:var(--mut);font-size:12px;max-width:70%}
#toast{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:var(--or);color:#2b1700;padding:7px 14px;border-radius:9px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s}
#toast.on{opacity:1}
#page{flex:1;overflow:auto;padding:16px}
/* ---- правая панель ---- */
#panel{background:var(--panel);border-left:1px solid var(--line);overflow:auto;padding:10px;display:flex;flex-direction:column;gap:10px}
.pcard{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px}
.pcard h3{margin:0 0 8px;font-size:14px;color:#cfe8ff}
.pcard.insp{border-color:var(--or)}
label{display:block;font-size:11.5px;color:var(--mut);margin:0 0 3px}
label.chk{display:flex;gap:7px;align-items:center;color:var(--ink);font-size:13px;margin:0;cursor:pointer}
label.chk input,label.inl input{width:auto}
label.inl{display:inline-flex;gap:6px;align-items:center;margin:0;font-size:12px}
input,select,textarea{width:100%;background:#071a35;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--cy)}
input[type=checkbox]{accent-color:var(--cy)}
textarea{resize:vertical;margin-bottom:6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hint{color:var(--mut);font-size:12px}
.btn{background:var(--or);color:#2b1700;border:0;border-radius:8px;padding:7px 12px;font:inherit;font-weight:700;cursor:pointer}
.btn.sec{background:#17345e;color:var(--ink);font-weight:600}
.btn.dng{background:rgba(255,107,107,.16);color:#ff9b9b}
.btn.ok{background:var(--ok);color:#fff}
.btn.sm{padding:4px 9px;font-size:12.5px}
.tabs{display:flex;gap:4px;margin:10px 0 8px}
.tabs button{flex:1;background:#071a35;color:var(--mut);border:1px solid var(--line);border-radius:8px;padding:5px;cursor:pointer;font:inherit}
.tabs button.on{background:rgba(76,201,240,.16);color:var(--ink);border-color:var(--cy)}
.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:6px}
.stat3 div{background:#071a35;border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center}
.stat3 b{display:block;font-size:16px;color:var(--cy)}
.stat3 span{font-size:10.5px;color:var(--mut)}
table.mini{width:100%;border-collapse:collapse;font-size:12px;margin-top:4px}
table.mini th{color:var(--mut);font-weight:600;text-align:left;padding:3px;font-size:11px}
table.mini td{padding:2px 3px;border-top:1px solid var(--line);vertical-align:middle}
table.mini input,table.mini select{padding:3px 5px;font-size:12px}
table.mini td:nth-child(2) select{min-width:92px}
table.mini td:last-child{white-space:nowrap}
table.mini tr.sel td{background:rgba(255,169,77,.1)}
.warn{background:rgba(255,169,77,.12);border:1px solid rgba(255,169,77,.5);border-radius:8px;padding:6px 10px;margin-top:6px;font-size:12px;color:#ffe3b3}
.mrow{display:flex;flex-direction:column;background:#071a35;border:1px solid var(--line);border-radius:8px;padding:7px 10px;margin-bottom:6px;cursor:pointer}
.mrow.sel{border-color:var(--vio)}
.mlink{margin-top:8px;padding:8px;border:1px dashed var(--vio);border-radius:8px}
.chip{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:middle}
.legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--mut)}
.lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;border:2px solid}
.lg.l{border-color:var(--or)}.lg.s{border-color:var(--cy)}.lg.w{border-color:var(--cy);border-radius:2px}.lg.a{border-color:var(--or);border-radius:2px}
/* ---- страницы (шаги 1 и 7) ---- */
.paper-wrap{max-width:1180px;margin:0 auto}
.card.dk{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
.card.dk h2{margin:0 0 12px;font-size:17px}
.card.dk h3{margin:16px 0 8px;font-size:14px;color:#cfe8ff}
.card.dk summary{cursor:pointer;color:var(--mut)}
.floorrow{margin-bottom:8px}
/* ---- «бумага» результата ---- */
.paper{background:#fff;color:#1c2430;border-radius:14px;padding:18px;--line:#e3e8ef;--mut:#6b7686;--ink:#1c2430}
.paper .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}
.paper .card h2{margin:0 0 12px;font-size:16px}
.paper .card h3{margin:14px 0 8px;font-size:14px;color:#1c2430}
.paper .hint{color:#6b7686}
.paper .warn{background:#fff6e0;border:1px solid #f0d28a;color:#1c2430}
.paper .stats{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:12px}
.paper .stat{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:10px}
.paper .stat b{display:block;font-size:19px}
.paper .stat span{font-size:12px;color:#6b7686}
table.res{width:100%;border-collapse:collapse;font-size:13px}
table.res th{background:#eef2f7;text-align:left;padding:6px;font-size:12px;color:#1c2430}
table.res td{padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:top}
table.res tr.blk td{background:#fff3d6;font-weight:700}
table.res tr.blk.wet td{background:#e3f0ff}
table.res .r{text-align:right;white-space:nowrap}
.scheme{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px}
.bomsec{margin-bottom:14px}
.assume li{margin-bottom:4px;font-size:13px}
.legend2{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin-top:6px}
#printHead{display:none}
/* ---- мобильный вид ---- */
@media(max-width:1000px){
  #app,#app.wide{grid-template-columns:1fr;height:auto}
  #side{flex-direction:row;flex-wrap:wrap;padding:8px;align-items:center}
  #steps{flex-direction:row;flex-wrap:wrap}
  .step small,.logo small,.side-foot{display:none}
  .logo{padding:0 8px}
  #main{height:auto}
  #stage{height:62vh;flex:none}
  #panel{border-left:0;border-top:1px solid var(--line)}
}
@media print{
  @page{size:A4 landscape;margin:8mm}
  html,body{background:#fff;height:auto}
  #side,#topbar,#panel,#stage,#hint,.noprint{display:none!important}
  #app{display:block;height:auto}
  #main{height:auto}
  #page{overflow:visible;padding:0}
  .paper-wrap{max-width:none}
  .paper{padding:0;border-radius:0}
  .paper .card{border:0;padding:0;margin-bottom:10px}
  #printHead{display:block;margin-bottom:8px}
  .scheme{border:0;overflow:visible;padding:0}
  .scheme svg{width:100%!important;height:auto!important}
  .scheme-row,.bomsec{break-inside:avoid}
  .card.pb{break-before:page}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ---- проекты, мебель, рекомендации, сценарии ---- */
.projbtn{background:rgba(255,169,77,.14);color:#ffe3b3;border:1px solid rgba(255,169,77,.5);border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;margin:0 0 10px;text-align:left}
.projbtn.on{box-shadow:0 0 12px rgba(255,169,77,.35)}
.b3d{background:linear-gradient(180deg,#1d6fa5,#17517a);border-color:var(--cy)}
.pgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.pcardp{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px}
.pcardp.cur{border-color:var(--cy);box-shadow:0 0 14px rgba(76,201,240,.25)}
.ptitle{font-weight:700;margin-bottom:4px}
.tag{display:inline-block;background:var(--cy);color:#04223a;border-radius:99px;padding:0 8px;font-size:11px;font-weight:700}
.fcat{margin:10px 0 4px;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.fbtn{display:flex;flex-direction:column;align-items:flex-start;background:#071a35;border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;position:relative}
.fbtn b{color:var(--cy);font-size:11px}
.fbtn span{font-size:12px}
.fbtn i{font-style:normal;font-size:10.5px;color:var(--mut)}
.fbtn.on{border-color:var(--or);background:rgba(255,169,77,.14)}
.prop{display:flex;gap:7px;align-items:flex-start;padding:4px 0;border-top:1px solid var(--line);font-size:12px;margin:0;color:var(--ink);cursor:pointer}
.prop input{width:auto;margin-top:3px}
.scene{border-top:1px solid var(--line);padding:8px 0}
.scene>input{margin-bottom:4px}
.sl{display:grid;grid-template-columns:90px 1fr 38px;gap:6px;align-items:center;margin:2px 0;font-size:11.5px}
.sl input{padding:0}
.scn{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}
input.dim{color:var(--mut)}
/* ---- 3D ---- */
#v3d{position:fixed;inset:0;z-index:100;background:#0b1220}
#c3d{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
#v3d .hud{position:absolute;color:#e6f1ff;font:13px/1.4 system-ui,sans-serif}
#v3d .tl{left:14px;top:12px;background:rgba(7,26,53,.82);border:1px solid var(--line);border-radius:10px;padding:8px 12px;max-width:min(520px,60vw)}
#v3d .hs{color:var(--mut);font-size:11.5px}
#v3d .tr{right:14px;top:12px;display:flex;flex-direction:column;gap:5px;align-items:flex-end;max-width:240px}
#v3d .tr button,#v3d .xbtn,#v3d .br button{background:rgba(7,26,53,.85);color:#e6f1ff;border:1px solid var(--line);border-radius:8px;padding:5px 11px;cursor:pointer;font:inherit}
#v3d .tr button.on{background:var(--cy);color:#04223a;border-color:var(--cy)}
#v3d .tr .sc{display:flex;flex-direction:column;gap:4px;margin-top:6px;width:100%}
#v3d .tr .sc button{background:rgba(48,28,4,.88);color:#ffe3b3;border-color:rgba(255,169,77,.6);text-align:left}
#v3d .bl{left:50%;transform:translateX(-50%);bottom:16px;white-space:pre-line;max-width:min(620px,70vw);text-align:center;background:var(--or);color:#2b1700;padding:8px 14px;border-radius:10px;font-weight:700;opacity:0;transition:opacity .25s}
#v3d .bl.on{opacity:1}
#v3d .br{right:14px;bottom:14px;display:flex;flex-direction:column;align-items:center;gap:4px}
#v3d .br>div{display:flex;gap:4px}
#v3d .xbtn{left:50%;top:12px;transform:translateX(-50%);background:rgba(255,107,107,.2);border-color:#ff6b6b}
@media(min-width:900px){#v3d .br{display:none}}

.ib.on{background:rgba(76,201,240,.22);border-color:var(--cy)}

/* 3D: джойстик, правка, прицел */
#v3d .joy{left:18px;bottom:18px;width:128px;height:128px;border-radius:50%;background:rgba(7,26,53,.55);border:2px solid rgba(76,201,240,.6);touch-action:none;display:flex;align-items:center;justify-content:center}
#v3d #knob{width:52px;height:52px;border-radius:50%;background:rgba(76,201,240,.75);border:2px solid #e6f6ff;pointer-events:none}
#v3d .hr{margin-top:4px;color:#ffe3b3;font-weight:700}
#v3d .edp{left:14px;top:150px;width:330px;max-height:calc(100vh - 330px);overflow:auto;background:rgba(7,26,53,.88);border:1px solid var(--line);border-radius:10px;padding:8px}
#v3d .edp .ei{font-size:12px;color:#cfe8ff;margin-bottom:6px}
#v3d .edp .row3{display:flex;flex-wrap:wrap;gap:4px}
#v3d .edp button{background:rgba(23,52,94,.95);color:#e6f1ff;border:1px solid var(--line);border-radius:7px;padding:4px 9px;cursor:pointer;font:inherit;font-size:12px}
#v3d .edp button.on{background:var(--cy);color:#04223a}
#v3d .edp button.dng{background:rgba(255,107,107,.2);color:#ff9b9b}
#v3d .cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font:700 22px/1 sans-serif;text-shadow:0 0 4px #000;pointer-events:none}
#v3d .hide{display:none!important}
#v3d .tr{max-height:92vh;overflow:auto}

/* ---- 3D: карта, подсказки, панель правки ---- */
#v3d .mapw{right:14px;bottom:14px;width:220px;display:flex;flex-direction:column;align-items:center;gap:4px}
#v3d .mapw canvas{width:220px;height:220px;border-radius:50%;box-shadow:0 0 0 3px rgba(7,26,53,.8),0 4px 16px rgba(0,0,0,.5);background:#0a1a2e}
#v3d .mapb{display:flex;gap:4px}
#v3d .mapb button{background:rgba(7,26,53,.88);color:#e6f1ff;border:1px solid var(--line);border-radius:7px;padding:2px 9px;cursor:pointer;font:inherit}
#v3d .tip{pointer-events:none;background:rgba(7,26,53,.94);border:1px solid var(--line);border-radius:10px;padding:8px 12px;max-width:260px;z-index:5}
#v3d .tip .kd{display:inline-block;color:#10131a;border-radius:5px;padding:1px 8px;font-weight:700;font-size:12px;margin:3px 0}
#v3d .tip .kr{padding:2px 6px;border-radius:5px;margin-top:2px;color:#cfe8ff}
#v3d .tip .kr b{display:inline-block;width:18px;color:#ffa94d}
#v3d .tip .kr.act{background:rgba(76,201,240,.25);color:#fff}
#v3d .tip .kn{color:var(--mut);font-size:11.5px;margin-top:4px}
#v3d .tr select{background:rgba(7,26,53,.85);color:#e6f1ff;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font:inherit;max-width:240px}
#v3d .edp .sec{font-weight:700;color:#ffa94d;margin:8px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
#v3d .edp .r{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:4px;color:#cfe8ff;font-size:12px}
#v3d .edp select,#v3d .edp input{background:#0b2447;color:#e6f1ff;border:1px solid var(--line);border-radius:6px;padding:3px 6px;font:inherit;font-size:12px;max-width:100%}
#v3d .edp .gr{display:flex;gap:8px;margin-bottom:6px}
#v3d .edp .gr label{display:flex;flex-direction:column;font-size:11px;color:#9fb8d8;flex:1}
#v3d .edp .gr input,#v3d .edp .gr select{margin-top:2px}
#v3d .edp .ck{display:block;font-size:12px;margin:4px 0;color:#cfe8ff}
#v3d .edp .ei.warn{background:rgba(255,169,77,.18);border-radius:6px;padding:4px 6px;color:#ffe3b3}
@media(max-width:900px){#v3d .mapw{width:150px}#v3d .mapw canvas{width:150px;height:150px}#v3d .edp{top:auto;bottom:160px;width:calc(100vw - 28px);max-height:40vh}}
.swb{display:inline-block;color:#10131a;border-radius:4px;padding:1px 7px;font-weight:800;font-size:11px}
.paper .swb{color:#10131a}

#v3d .tr .scb{display:none}
@media(max-width:900px){
  #v3d .hs{display:none}
  #v3d .tl{max-width:46vw;padding:5px 9px;font-size:11.5px}
  #v3d .tr{max-width:44vw;gap:3px;top:8px;right:8px}
  #v3d .tr button,#v3d .tr select{padding:3px 7px;font-size:12px}
  #v3d .tr .scb{display:block}
  #v3d .tr .sc{display:none}
  #v3d .tr .sc.open{display:flex}
  #v3d .mapw{width:128px}#v3d .mapw canvas{width:128px;height:128px}
  #v3d .joy{width:104px;height:104px;left:10px;bottom:10px}
  #v3d #knob{width:42px;height:42px}
  #v3d .bl{font-size:12px;bottom:150px;max-width:86vw;padding:6px 10px}
  #v3d .xbtn{top:auto;bottom:12px;left:36%}
}
.rules{margin:8px 0;background:rgba(76,201,240,.06);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.rules summary{cursor:pointer}
.rules .rule{margin:8px 0;display:flex;flex-direction:column;gap:2px;padding-left:8px;border-left:3px solid #4cc9f0}
.krow{margin:6px 0;padding:4px 6px;border-radius:8px;background:rgba(255,255,255,.04)}
.kdot{display:inline-block;width:18px;height:18px;border-radius:50%;text-align:center;font:800 12px/18px sans-serif;color:#10131a;font-style:normal;margin-right:4px}
.chipk{display:inline-block;background:rgba(177,151,252,.18);border:1px solid rgba(177,151,252,.5);border-radius:6px;padding:0 5px;margin:1px 2px;font-size:11px;color:#e3ccff}
.chipk a{color:#ff8a8a;text-decoration:none;margin-left:3px}
#pwarn{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:min(620px,94%);background:rgba(60,18,18,.96);border:1px solid #ff6b6b;border-radius:12px;padding:10px 14px;z-index:20;color:#ffe3e3;box-shadow:0 6px 24px rgba(0,0,0,.5)}
#pwarn .pw{margin:6px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#pwarn button{background:#ff6b6b;color:#1a0707;border:0;border-radius:8px;padding:4px 10px;font-weight:700;cursor:pointer}
#pwarn button.sec{background:rgba(255,255,255,.14);color:#ffe3e3}
#v3d .insp3{right:206px;top:14px;width:330px;max-height:calc(100vh - 28px);overflow:auto;background:rgba(7,26,53,.94);border:1px solid var(--line);border-radius:10px;padding:8px;color:#dfeeff;font-size:12.5px;z-index:6}
#v3d .insp3 .ihead{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
#v3d .insp3 .ihead button{background:rgba(255,107,107,.2);color:#ff9b9b;border:1px solid var(--line);border-radius:7px;padding:2px 8px;cursor:pointer}
#v3d .insp3 .pcard{background:transparent;border:0;padding:0}
#v3d .insp3 h3{font-size:14px;margin:4px 0 6px;color:#fff}
#v3d .insp3 label{display:block;font-size:11px;color:#9fc3ea;margin-top:4px}
#v3d .insp3 select,#v3d .insp3 input[type=text],#v3d .insp3 input[type=number],#v3d .insp3 input:not([type]){background:#0b2447;color:#e6f1ff;border:1px solid var(--line);border-radius:6px;padding:3px 6px;font:inherit;font-size:12px;width:100%;box-sizing:border-box}
#v3d .insp3 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#v3d .insp3 .btn{background:rgba(23,52,94,.95);color:#e6f1ff;border:1px solid var(--line);border-radius:7px;padding:4px 9px;cursor:pointer;font:inherit;font-size:12px}
#v3d .insp3 .btn.dng{background:rgba(255,107,107,.2);color:#ff9b9b}
#v3d .insp3 .hint{color:#9fc3ea;font-size:11.5px}
#v3d .insp3 .warn{background:rgba(255,160,60,.15);border:1px solid #ffa94d;border-radius:8px;padding:5px 8px;color:#ffd9a8;margin:4px 0}
#v3d .insp3 .tag{background:#ffd43b;color:#10131a;border-radius:6px;padding:0 5px;font-size:11px}
#v3d #pwarn3{left:50%;bottom:14px;transform:translateX(-50%);max-width:min(560px,70vw);background:rgba(60,18,18,.96);border:1px solid #ff6b6b;border-radius:12px;padding:10px 14px;z-index:20;color:#ffe3e3;position:absolute}
#v3d #pwarn3 .pw{margin:6px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#v3d #pwarn3 button{background:#ff6b6b;color:#1a0707;border:0;border-radius:8px;padding:4px 10px;font-weight:700;cursor:pointer}
#v3d #pwarn3 button.sec{background:rgba(255,255,255,.14);color:#ffe3e3}
@media(max-width:900px){#v3d .insp3{right:10px;left:10px;width:auto;top:auto;bottom:160px;max-height:42vh}}
/* аккаунт, модалка «Поделиться», метки */
#acct{margin:6px 0 10px}.acct{padding:8px 10px;border-radius:10px;background:rgba(76,201,240,.08);border:1px solid var(--line);font-size:13px}
.acct.ro{background:rgba(139,92,246,.18);color:#e3d8ff;font-weight:700}
.acl{display:inline-block;margin:2px 8px 0 0;color:var(--cy);font-size:12px;text-decoration:underline;cursor:pointer}
.amodal{position:fixed;inset:0;z-index:9000;background:rgba(2,6,20,.78);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:14px}
.amodal.on{display:flex}.abox{width:min(520px,100%);max-height:92vh;overflow:auto;background:#0c1a3a;border:1px solid var(--line);border-radius:16px;padding:22px;position:relative;color:#e6f1ff}
.abox h3{margin:0 0 8px}.abox input{background:#0b2447;color:#e6f1ff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;width:100%}
.ax{position:absolute;top:8px;right:12px;background:none;border:0;color:#9fb0d8;font-size:24px;cursor:pointer}
.qrw{display:grid;place-items:center;margin:12px 0}.qrw>div{background:#fff;padding:12px;border-radius:14px}
.mkp textarea,.mkp input{background:#0b2447;color:#e6f1ff;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;width:100%}
.mkp textarea{min-height:70px;margin:6px 0}
.mk{margin:8px 0;padding:8px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid transparent}.mk.sel{border-color:var(--cy);background:rgba(76,201,240,.1)}.mk.done{opacity:.6}
.mkh{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mkn{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ff4d8d;color:#fff;font:800 12px/1 sans-serif;font-style:normal}
.mkt{margin:6px 0;font-size:13.5px}.mkc2{margin:4px 0 0 10px;padding:4px 8px;border-left:3px solid #4a5a85;font-size:13px}.mkc2.own{border-color:var(--cy)}
.mkdraft{margin:8px 0;padding:8px;border-radius:10px;border:1px dashed #ffd43b;background:rgba(255,212,59,.07)}
body.ro #btnNums,body.ro #btnDims,body.ro #undo{display:none}
#v3d .insp3 .mkp .row{display:flex;gap:6px;flex-wrap:wrap}
