/* ДОКИ · СУПЕР-35 ------------------------------------------------ */
@font-face{font-family:'super35';src:url('fonts/super35.woff2') format('woff2'),url('fonts/super35.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'Inter';font-weight:400;src:url('fonts/inter-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Inter';font-weight:400;src:url('fonts/inter-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:600;src:url('fonts/inter-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Inter';font-weight:600;src:url('fonts/inter-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:700;src:url('fonts/inter-cyrillic-700-normal.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Inter';font-weight:700;src:url('fonts/inter-latin-700-normal.woff2') format('woff2');}

:root{
  --accent:#ff4f3f; --amber:#f0b45c;
  --paper:#f7f5f1; --ink:#161513; --dim:#54514b; --faint:#8f8b83;
  --line:#cfcbc2; --line2:#e6e3dc; --card:#fffdfa; --chrome:#efece6; --shadow:0 8px 28px rgba(20,18,14,.08);
}
html[data-theme="dark"]{
  --paper:#121214; --ink:#eae7e1; --dim:#a5a19a; --faint:#6d6a64;
  --line:#302f33; --line2:#242327; --card:#1a191d; --chrome:#0c0c0e; --shadow:0 8px 28px rgba(0,0,0,.5);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font:15px/1.55 'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
.disp{font-family:'super35','Inter',sans-serif;font-weight:400;letter-spacing:.02em;}
a{color:var(--accent);text-decoration:none;}
button{font:inherit;cursor:pointer;}
::selection{background:var(--accent);color:#fff;}

/* фирменные тикмарки — подпись логотипа как разделитель */
.ticks{height:10px;background-image:repeating-linear-gradient(90deg,var(--accent) 0 3px,transparent 3px 14px);opacity:.9;}
.ticks.amber{background-image:repeating-linear-gradient(90deg,var(--amber) 0 3px,transparent 3px 14px);}

/* ---------- шапка приложения ---------- */
.topbar{position:sticky;top:0;z-index:50;background:var(--chrome);border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:14px;padding:10px 18px;}
.logo{width:34px;height:34px;background:var(--accent);-webkit-mask:url('img/logo.png') center/contain no-repeat;mask:url('img/logo.png') center/contain no-repeat;flex:none;}
.brand{display:flex;align-items:baseline;gap:10px;}
.brand .t{font-family:'super35';font-size:22px;letter-spacing:.04em;}
.brand .m{font-size:11px;color:var(--faint);letter-spacing:.22em;text-transform:uppercase;}
.topbar .grow{flex:1;}
.tabs{display:flex;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:3px;}
.tabs button{border:0;background:transparent;color:var(--dim);font-family:'super35';font-size:15px;letter-spacing:.06em;padding:6px 16px;border-radius:6px;}
.tabs button.on{background:var(--accent);color:#fff;}
.tbtn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;}
.tbtn:hover{border-color:var(--accent);}
.tbtn.red{background:var(--accent);border-color:var(--accent);color:#fff;}
.tbtn.icon{padding:7px 9px;}
.docname{font-weight:600;font-size:14px;color:var(--dim);max-width:26vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ---------- список проектов ---------- */
.home{max-width:880px;margin:0 auto;padding:48px 20px 80px;}
.home h1{font-family:'super35';font-size:44px;letter-spacing:.02em;margin:18px 0 6px;}
.home .lead{color:var(--dim);max-width:56ch;margin-bottom:28px;}
.plist{display:grid;gap:12px;}
.pcard{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);}
.pcard .nm{font-family:'super35';font-size:20px;flex:1;}
.pcard .dt{font-size:12px;color:var(--faint);}
.newrow{display:flex;gap:10px;margin:26px 0 34px;}
.newrow input{flex:1;background:var(--card);border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:11px 14px;font:inherit;}
.newrow input:focus{outline:2px solid var(--accent);outline-offset:-1px;}

/* ---------- полотно документа ---------- */
.canvas{max-width:900px;margin:26px auto 120px;padding:0 18px;}
.sheet{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:clamp(20px,5vw,56px);}
.runhead{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:'super35';font-size:12px;letter-spacing:.2em;color:var(--faint);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:26px;text-transform:uppercase;}
.runhead b{color:var(--accent);font-weight:400;}
.runhead .rlogo{width:20px;height:20px;background:var(--amber);-webkit-mask:url('img/logo.png') center/contain no-repeat;mask:url('img/logo.png') center/contain no-repeat;}

/* блок как единица верстки */
.blk{position:relative;margin-bottom:26px;}
.blk::after{content:'';display:block;clear:both;}
.blk .imgwrap{position:relative;}
.blk img.bimg{border-radius:6px;display:block;max-width:100%;}
.bimg.imgw{width:100%;margin:2px 0 8px;}
.bimg.imgh{float:right;width:min(46%,380px);margin:4px 0 12px 18px;}
.bimg.imgt{float:right;width:min(30%,260px);margin:4px 0 12px 18px;}
.bcap{font-size:11px;color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 2px;}
.bcap.fl{clear:both;}

em.acc{color:var(--accent);font-style:normal;font-weight:600;}
.blk b{font-weight:700;}

/* cover */
.cover .kicker{font-family:'super35';font-size:15px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase;margin-bottom:14px;}
.cover .ctitle{font-family:'super35';font-size:clamp(44px,9vw,86px);line-height:.98;margin-bottom:18px;}
.cover .ctitle .q{color:var(--accent);}
.cover .logline{font-size:17px;line-height:1.6;color:var(--dim);max-width:64ch;margin-bottom:22px;}
.cover .logline b{color:var(--ink);}
.cover .slot{border:2px dashed var(--line);border-radius:8px;aspect-ratio:21/9;display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:13px;margin-bottom:8px;}
.cover .meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px;}
.cover .cell{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:7px;padding:12px 14px;background:var(--card);}
.cover .cell .k{font-family:'super35';font-size:11px;letter-spacing:.24em;color:var(--accent);text-transform:uppercase;margin-bottom:4px;}
.cover .cell .v{font-size:13.5px;color:var(--ink);}

/* section */
.sec{display:flex;align-items:baseline;gap:14px;margin:34px 0 16px;}
.sec .n{font-family:'super35';font-size:30px;color:var(--accent);line-height:1;}
.sec h2{font-family:'super35';font-size:24px;letter-spacing:.03em;font-weight:400;}
.sec .rule{flex:1;height:10px;background-image:repeating-linear-gradient(90deg,var(--line) 0 3px,transparent 3px 14px);align-self:center;}

/* characters */
.char{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:14px 18px;margin-bottom:12px;background:var(--card);}
.char .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;flex-wrap:wrap;}
.char h3{font-family:'super35';font-size:19px;font-weight:400;}
.char h3 span{color:var(--dim);font-size:15px;}
.hook{font-family:'super35';font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border:1.5px solid var(--accent);padding:3px 9px;border-radius:4px;white-space:nowrap;}
.hook.amber{color:var(--amber);border-color:var(--amber);}
.hook.grey{color:var(--faint);border-color:var(--faint);}
.char p{color:var(--dim);font-size:14px;}
.char p b{color:var(--ink);}
.char .note{margin-top:6px;font-size:12.5px;color:var(--faint);font-style:italic;}

/* scene prose */
.scn-h{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
.scn-h .tag{font-family:'super35';font-size:12px;letter-spacing:.14em;color:var(--accent);border:1.5px solid var(--accent);border-radius:4px;padding:2px 8px;text-transform:uppercase;white-space:nowrap;}
.scn-h h3{font-family:'super35';font-size:19px;font-weight:400;}
.scn-h .loc{font-family:'super35';font-size:11px;color:var(--faint);letter-spacing:.14em;text-transform:uppercase;margin-left:auto;}
.scn p{font-size:15px;line-height:1.65;}
.scn p .w{color:var(--faint);font-size:12.5px;}

/* reel */
.reel{border:1px solid var(--line);border-radius:8px;padding:16px 18px;margin-bottom:14px;background:var(--card);}
.reel-h{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:10px;flex-wrap:wrap;}
.reel-h .tag{font-family:'super35';font-size:19px;color:var(--accent);}
.reel-h h3{font-family:'super35';font-size:18px;font-weight:400;}
.reel-h .dur{margin-left:auto;font-family:'super35';font-size:11px;letter-spacing:.14em;color:var(--faint);text-transform:uppercase;}
.reel .prose{font-size:14px;line-height:1.55;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid var(--line);}
.beat{display:flex;gap:9px;padding:4px 0;font-size:13.5px;border-bottom:1px solid var(--line2);}
.beat:last-of-type{border-bottom:0;}
.beat .src{flex:none;width:42px;font-family:'super35';font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding-top:2px;color:var(--faint);}
.beat .src.h{color:var(--accent);} .beat .src.d{color:var(--amber);}
.reel .titles{margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--dim);}
.reel .titles b{font-family:'super35';font-size:10.5px;letter-spacing:.2em;color:var(--ink);text-transform:uppercase;margin-right:8px;font-weight:400;}

/* locations */
.loc-card{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:12px 16px;margin-bottom:10px;background:var(--card);}
.loc-card h4{font-family:'super35';font-size:16px;font-weight:400;margin-bottom:2px;}
.loc-card h4 .mini{font-family:'Inter';font-size:11.5px;color:var(--faint);}
.loc-card p{font-size:13.5px;color:var(--dim);}
.loc-card p b{color:var(--ink);}
.loc-card .srcbox{display:inline-block;margin-top:6px;font-size:11.5px;color:var(--faint);border:1px dashed var(--line);border-radius:4px;padding:2px 8px;}

/* props + checkboxes */
.cb{appearance:none;width:19px;height:19px;border:2px solid var(--ink);border-radius:4px;flex:none;cursor:pointer;position:relative;background:transparent;}
.cb:checked{background:var(--accent);border-color:var(--accent);}
.cb:checked::after{content:'';position:absolute;inset:3px 5px 5px 5px;border:solid #fff;border-width:0 0 2.5px 2.5px;transform:rotate(-48deg);}
.cb:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.prop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 22px;}
.prop{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:8px 2px;font-size:14px;}
.prop .psrc{margin-left:auto;font-size:11px;color:var(--faint);text-align:right;}

/* shot list */
.ep{margin-bottom:20px;}
.ep-h{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--ink);padding-bottom:5px;margin-bottom:6px;flex-wrap:wrap;}
.ep-h .tag{font-family:'super35';font-size:12px;letter-spacing:.14em;color:var(--accent);border:1.5px solid var(--accent);border-radius:4px;padding:2px 8px;text-transform:uppercase;}
.ep-h h3{font-family:'super35';font-size:17px;font-weight:400;}
.ep-h .loc{font-family:'super35';font-size:11px;color:var(--faint);letter-spacing:.14em;text-transform:uppercase;margin-left:auto;}
.ep-note{font-size:12px;color:var(--amber);font-weight:600;margin:2px 0 6px;}
.shot{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--line2);align-items:flex-start;}
.shot .num{font-family:'super35';font-size:11px;color:var(--faint);width:22px;flex:none;padding-top:3px;}
.shot .dop{flex:none;font-family:'super35';font-size:9.5px;letter-spacing:.08em;color:var(--amber);text-transform:uppercase;padding-top:4px;width:52px;}
.shot .osn{flex:none;width:52px;}
.shot .txt{font-size:14px;flex:1;}
.shot .txt .w{color:var(--faint);font-size:12px;}
.shot.done .txt{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;}
.legend{font-size:12px;color:var(--faint);margin-bottom:10px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.legend .dopl{font-family:'super35';font-size:10px;color:var(--amber);letter-spacing:.08em;text-transform:uppercase;}
.progress{font-family:'super35';font-size:12px;color:var(--dim);margin-left:auto;letter-spacing:.06em;}

/* note / knot */
.dnote{border:1px dashed var(--line);border-radius:8px;padding:12px 16px;font-size:13.5px;color:var(--dim);}
.dnote b{font-family:'super35';font-size:11px;letter-spacing:.2em;color:var(--amber);text-transform:uppercase;margin-right:8px;font-weight:400;}
.dnote.knot b{color:var(--accent);}

/* ---------- КПП ---------- */
.kpphead h1{font-family:'super35';font-size:clamp(28px,5vw,44px);margin-bottom:8px;}
.kpphead .sub{color:var(--dim);max-width:70ch;}
table.doc{width:100%;border-collapse:collapse;font-size:13.5px;}
table.doc th{font-family:'super35';font-size:10.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);text-align:left;padding:7px 8px;border-bottom:2px solid var(--ink);}
table.doc td{padding:8px;border-bottom:1px solid var(--line2);vertical-align:top;}
table.doc td.c,table.doc th.c{text-align:center;}
.mark{font-family:'super35';font-size:12px;color:var(--accent);letter-spacing:.04em;}
.mark.off{color:var(--line);}
.hours{font-family:'super35';font-size:13px;}
.tscroll{overflow-x:auto;}
.slotline{display:inline-block;min-width:64px;border-bottom:1.5px dotted var(--faint);height:1em;vertical-align:baseline;}

.daycard{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:11px 15px;margin-bottom:9px;background:var(--card);}
.daycard h4{font-family:'super35';font-size:15px;font-weight:400;margin-bottom:2px;}
.daycard p{font-size:13px;color:var(--dim);}

.dayhead{display:flex;align-items:baseline;gap:14px;margin:30px 0 4px;flex-wrap:wrap;}
.dayhead .d{font-family:'super35';font-size:34px;color:var(--accent);line-height:1;}
.dayhead h2{font-family:'super35';font-size:24px;font-weight:400;}
.dayhead .ep{margin-left:auto;font-family:'super35';font-size:12px;letter-spacing:.14em;color:var(--faint);text-transform:uppercase;}
.dayline{font-size:13.5px;color:var(--dim);margin-bottom:12px;}
.dblock{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;background:var(--card);overflow:hidden;}
.dblock-h{display:flex;align-items:baseline;gap:10px;padding:8px 15px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.dblock-h .t{font-family:'super35';font-size:13px;letter-spacing:.05em;color:var(--accent);white-space:nowrap;}
.dblock-h h4{font-family:'super35';font-size:15px;font-weight:400;}
.dblock-h .who{margin-left:auto;font-family:'super35';font-size:10.5px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;text-align:right;}
.dblock-b{padding:6px 15px 9px;}
.drow{display:flex;gap:10px;padding:5px 0;font-size:13.5px;border-bottom:1px solid var(--line2);align-items:flex-start;}
.drow:last-child{border-bottom:0;}
.drow .k{flex:none;width:86px;font-family:'super35';font-size:10.5px;letter-spacing:.06em;color:var(--faint);padding-top:2px;text-transform:uppercase;}
.drow .k.d{color:var(--amber);}
.drow .v{flex:1;}

/* ---------- панель редактора над блоком ---------- */
.blk.editable{border-radius:8px;}
.blk.editable:hover{outline:1.5px dashed color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:8px;}
.btools{position:absolute;top:-14px;right:-6px;display:none;gap:4px;z-index:5;}
.blk.editable:hover .btools{display:flex;}
.btools button{border:1px solid var(--line);background:var(--chrome);color:var(--ink);border-radius:6px;width:30px;height:30px;font-size:14px;line-height:1;}
.btools button:hover{border-color:var(--accent);color:var(--accent);}
.addrow{display:flex;justify-content:center;margin:-8px 0 18px;}
.addrow button{border:1px dashed var(--line);background:transparent;color:var(--faint);border-radius:20px;padding:4px 18px;font-size:13px;}
.addrow button:hover{color:var(--accent);border-color:var(--accent);}

/* ---------- модалки ---------- */
.mback{position:fixed;inset:0;background:rgba(8,8,10,.6);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;z-index:100;overflow:auto;padding:5vh 14px;}
.modal{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);width:min(720px,100%);padding:22px 24px;margin-bottom:5vh;}
.modal h3{font-family:'super35';font-size:21px;font-weight:400;margin-bottom:14px;}
.f{margin-bottom:12px;}
.f label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;}
.f input[type=text],.f textarea,.f select{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:9px 12px;font:inherit;font-size:14px;}
.f textarea{min-height:74px;resize:vertical;}
.f input:focus,.f textarea:focus,.f select:focus{outline:2px solid var(--accent);outline-offset:-1px;}
.fs{border:1px solid var(--line2);border-radius:9px;padding:12px 12px 4px;margin-bottom:10px;position:relative;background:color-mix(in srgb,var(--paper) 60%,transparent);}
.fs .fsdel{position:absolute;top:6px;right:6px;border:0;background:transparent;color:var(--faint);font-size:15px;}
.fs .fsdel:hover{color:var(--accent);}
.fadd{border:1px dashed var(--line);background:transparent;color:var(--faint);border-radius:8px;padding:7px 14px;font-size:13px;margin-bottom:12px;}
.fadd:hover{color:var(--accent);border-color:var(--accent);}
.mrow{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap;}
.hint{font-size:12px;color:var(--faint);margin:-6px 0 12px;}
.imgctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.imgctl .thumb{width:86px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);}

/* модалка печати */
.pmodal{max-width:520px;text-align:center;}
.pmodal .opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 6px;}
.popt{border:2px solid var(--line);border-radius:12px;padding:16px 12px;background:transparent;color:inherit;}
.popt:hover{border-color:var(--accent);}
.popt .sw{height:64px;border-radius:8px;margin-bottom:10px;border:1px solid var(--line);}
.popt .sw.l{background:linear-gradient(#f7f5f1,#f7f5f1 60%,#ff4f3f 60%,#ff4f3f 63%,#f7f5f1 63%);}
.popt .sw.d{background:linear-gradient(#121214,#121214 60%,#ff4f3f 60%,#ff4f3f 63%,#121214 63%);}
.popt .nm{font-family:'super35';font-size:15px;}
.popt .warn{font-size:11.5px;color:var(--faint);margin-top:4px;}

.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);border-radius:10px;padding:10px 18px;font-size:13.5px;z-index:200;box-shadow:var(--shadow);}

@media (max-width:640px){
  .docname{display:none;}
  .bimg.imgh,.bimg.imgt{float:none;width:100%;margin:6px 0 10px;}
  .brand .m{display:none;}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }

/* ---------- печать ---------- */
@media print{
  @page{size:A4;margin:11mm 12mm;}
  html{background:var(--paper);}
  html[data-ptheme="light"]{
    --paper:#ffffff; --ink:#161513; --dim:#54514b; --faint:#8f8b83;
    --line:#cfcbc2; --line2:#e6e3dc; --card:#ffffff; --shadow:none;
  }
  html[data-ptheme="dark"]{
    --paper:#121214; --ink:#eae7e1; --dim:#a5a19a; --faint:#6d6a64;
    --line:#302f33; --line2:#242327; --card:#121214; --shadow:none;
  }
  html[data-ptheme="dark"], html[data-ptheme="dark"] body{background:#121214;}
  body{background:var(--paper);font-size:10.2pt;}
  .topbar,.addrow,.btools,.mback,.toast{display:none !important;}
  .canvas{max-width:none;margin:0;padding:0;}
  .sheet{border:0;border-radius:0;box-shadow:none;padding:0;background:var(--paper);}
  .blk{break-inside:avoid;}
  .sec{break-after:avoid;}
  .cover{break-after:page;}
  .cb{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .cover .slot{display:none;}
}
