:root{
  --mem-bg:#0b0c0f;
  --mem-bg-2:#111318;
  --mem-panel:#15171d;
  --mem-panel-soft:#1a1d24;
  --mem-line:rgba(224,190,81,.18);
  --mem-line-soft:rgba(255,255,255,.08);
  --mem-gold:#d9b84f;
  --mem-gold-2:#f0d26c;
  --mem-white:#f7f5ee;
  --mem-text:#e9e7df;
  --mem-muted:#9b9a95;
  --mem-green:#98aa88;
  --mem-shadow:0 25px 70px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{background:var(--mem-bg)}
body.memorial-page,body.memorial-cabinet-page{margin:0;background-color:#090a0d;background-image:radial-gradient(ellipse at 12% 8%,rgba(255,255,255,.055),transparent 18%),radial-gradient(ellipse at 88% 20%,rgba(217,184,79,.045),transparent 22%),linear-gradient(118deg,transparent 0%,transparent 31%,rgba(255,255,255,.028) 31.35%,transparent 31.85%,transparent 48%,rgba(217,184,79,.026) 48.25%,transparent 48.75%,transparent 70%,rgba(255,255,255,.022) 70.35%,transparent 70.9%),linear-gradient(176deg,rgba(255,255,255,.018) 0 2%,transparent 2.5% 62%,rgba(255,255,255,.016) 63%,transparent 64%),linear-gradient(180deg,#07080a 0%,#111318 46%,#08090b 100%);color:var(--mem-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;background-attachment:fixed;background-size:cover}
a{color:inherit}
body.memorial-page:before,body.memorial-cabinet-page:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 35% 30%,transparent 0 34%,rgba(255,255,255,.018) 34.4%,transparent 35.2%),radial-gradient(ellipse at 78% 62%,transparent 0 28%,rgba(217,184,79,.018) 28.5%,transparent 29.2%);mix-blend-mode:screen;opacity:.7}.memorial-shell,.memory-public{position:relative;z-index:1}
.memorial-shell{max-width:1280px;margin:0 auto;padding:34px 22px 64px}
.memorial-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.memorial-brand{font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--mem-muted)}
.memorial-brand strong{display:block;margin-top:7px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:25px;letter-spacing:0;color:var(--mem-white);text-transform:none}
.memorial-brand strong span{color:var(--mem-gold)}
.memorial-top-actions{display:flex;gap:10px;flex-wrap:wrap}
.memorial-btn{appearance:none;border:1px solid var(--mem-line-soft);background:transparent;color:var(--mem-white);border-radius:12px;padding:11px 15px;font:700 14px/1.1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.2s ease}
.memorial-btn:hover{transform:translateY(-1px);border-color:rgba(217,184,79,.42)}
.memorial-btn-gold{background:linear-gradient(180deg,var(--mem-gold-2),var(--mem-gold));color:#17130a;border-color:transparent}
.memorial-btn-ghost{background:rgba(255,255,255,.025)}
.memorial-eyebrow{color:var(--mem-gold);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:800}
.memorial-cabinet{display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px;align-items:start}
.memorial-sidebar{position:sticky;top:18px;background:rgba(16,18,23,.80);backdrop-filter:blur(12px);border:1px solid var(--mem-line-soft);border-radius:22px;padding:16px;box-shadow:var(--mem-shadow)}
.memorial-sidebar-head{padding:9px 10px 16px;border-bottom:1px solid var(--mem-line-soft);margin-bottom:10px}
.memorial-sidebar-head span{font-size:12px;color:var(--mem-muted);text-transform:uppercase;letter-spacing:.14em}
.memorial-sidebar-head strong{display:block;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:20px;color:var(--mem-white);margin-top:4px}
.memorial-nav{display:grid;gap:7px}
.memorial-nav-btn{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;width:100%;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--mem-text);padding:12px 10px;text-align:left;cursor:pointer}
.memorial-nav-btn.active{background:linear-gradient(90deg,rgba(217,184,79,.14),rgba(217,184,79,.03));border-color:var(--mem-line);}
.memorial-nav-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#22252c;color:var(--mem-gold);font-weight:800;font-size:12px}
.memorial-nav-btn strong{font-size:13px}.memorial-nav-btn small{display:block;color:var(--mem-muted);margin-top:2px;font-size:11px}.memorial-nav-check{font-size:13px;color:var(--mem-gold)}
.memorial-progress{margin-top:16px;padding:14px 11px;border-top:1px solid var(--mem-line-soft)}
.memorial-progress-row{display:flex;justify-content:space-between;color:var(--mem-muted);font-size:12px}.memorial-progress-row strong{color:var(--mem-white)}
.memorial-progress-bar{height:5px;border-radius:999px;background:#252830;margin-top:9px;overflow:hidden}.memorial-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--mem-gold),var(--mem-gold-2));width:0}
.memorial-main{background:rgba(15,17,22,.80);backdrop-filter:blur(12px);border:1px solid var(--mem-line-soft);border-radius:26px;box-shadow:var(--mem-shadow);overflow:hidden}
.memorial-main-head{padding:24px 28px;border-bottom:1px solid var(--mem-line-soft);display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.memorial-main-head h1,.memorial-main-head h2{margin:6px 0 6px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mem-white);font-weight:500;font-size:clamp(28px,4vw,44px)}
.memorial-main-head p{margin:0;color:var(--mem-muted);max-width:700px}
.memorial-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--mem-line-soft);font-size:11px;color:var(--mem-muted);white-space:nowrap}
.memorial-status.is-published{color:#dbedca;border-color:rgba(152,170,136,.25);background:rgba(152,170,136,.08)}
.memorial-section{display:none;padding:28px}.memorial-section.active{display:block}
.memorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.memorial-field{display:grid;gap:7px}.memorial-field.wide{grid-column:1/-1}.memorial-field label,.memorial-field>span{font-size:12px;color:var(--mem-muted);font-weight:700}
.memorial-field input,.memorial-field textarea,.memorial-field select{width:100%;border:1px solid var(--mem-line-soft);background:#11141a;color:var(--mem-white);border-radius:13px;padding:13px 14px;font:inherit;outline:none}.memorial-field textarea{min-height:150px;resize:vertical}.memorial-field input:focus,.memorial-field textarea:focus{border-color:rgba(217,184,79,.6);box-shadow:0 0 0 3px rgba(217,184,79,.08)}
.memorial-hint{color:var(--mem-muted);font-size:12px;line-height:1.5}
.memorial-actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.memorial-save-msg{color:var(--mem-muted);font-size:12px}
.memorial-photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}.memorial-photo-count{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mem-white);font-size:23px}.memorial-photo-count span{color:var(--mem-gold)}
.memorial-file{position:relative;overflow:hidden;display:inline-flex}.memorial-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.memorial-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.memorial-photo-card{border:1px solid var(--mem-line-soft);border-radius:17px;background:#11141a;overflow:hidden}.memorial-photo-card img{display:block;width:100%;aspect-ratio:1/.78;object-fit:cover;background:#0a0b0e}.memorial-photo-body{padding:11px}.memorial-photo-body input{width:100%;border:1px solid var(--mem-line-soft);background:#0d0f14;color:var(--mem-white);border-radius:10px;padding:9px 10px;font:13px Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.memorial-photo-row{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-top:9px}.memorial-mini-btn{padding:8px 9px;border-radius:9px;border:1px solid var(--mem-line-soft);background:#171a20;color:var(--mem-text);font:700 11px Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.memorial-mini-btn.gold{color:var(--mem-gold);border-color:var(--mem-line)}.memorial-mini-btn.danger{color:#e5aaaa}
.memorial-place-card,.memorial-qr-card,.memorial-preview-card{border:1px solid var(--mem-line-soft);background:linear-gradient(145deg,#13161c,#0f1116);border-radius:20px;padding:20px}
.memorial-qr-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:center}.memorial-qr-box{background:#f5f1df;border-radius:16px;padding:14px;display:grid;place-items:center;min-height:220px}.memorial-qr-box img{width:100%;max-width:190px;height:auto;display:block}.memorial-qr-copy h3{margin:0 0 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mem-white);font-size:25px;font-weight:500}.memorial-qr-copy p{color:var(--mem-muted)}
.memorial-preview-link{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.memorial-alert{margin-bottom:15px;padding:12px 14px;border:1px solid var(--mem-line-soft);background:rgba(255,255,255,.03);border-radius:12px;color:var(--mem-muted);font-size:12px}.memorial-alert.error{border-color:rgba(195,106,106,.25);color:#e7b8b8;background:rgba(195,106,106,.06)}.memorial-alert.success{border-color:rgba(152,170,136,.25);color:#d9e8cf;background:rgba(152,170,136,.06)}
.memorial-footer{text-align:center;margin-top:25px;color:#6e706d;font-size:12px}
/* Public memory page */
.memory-public{max-width:980px;margin:0 auto;padding:30px 18px 70px}.memory-hero{padding:52px 30px 34px;text-align:center;border-bottom:1px solid var(--mem-line-soft)}.memory-hero-frame{width:min(240px,55vw);aspect-ratio:1;border-radius:50%;padding:7px;margin:0 auto 25px;background:linear-gradient(135deg,var(--mem-gold),#4b3d18,var(--mem-gold-2));box-shadow:0 20px 55px rgba(0,0,0,.38)}.memory-hero-frame img,.memory-hero-placeholder{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;background:#12141a}.memory-hero-placeholder{display:grid;place-items:center;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:66px;color:var(--mem-gold);border:1px solid rgba(217,184,79,.22)}.memory-hero h1{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:500;color:var(--mem-white);font-size:clamp(34px,6vw,64px)}.memory-dates{margin:10px 0 0;color:var(--mem-gold-2);font:500 20px Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.memory-epitaph{max-width:680px;margin:20px auto 0;color:#b7b4ac;font:italic 18px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.memory-section{padding:30px;border-top:1px solid var(--mem-line-soft)}.memory-section h2{margin:0 0 14px;font:500 30px Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--mem-white)}.memory-biography{white-space:pre-wrap;color:#c6c3bb;line-height:1.85;font-size:16px}
.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.memory-photo{border:1px solid var(--mem-line-soft);border-radius:16px;overflow:hidden;background:#111318;cursor:zoom-in}.memory-photo img{width:100%;aspect-ratio:1/1.03;display:block;object-fit:cover;transition:transform .2s}.memory-photo:hover img{transform:scale(1.02)}.memory-photo figcaption{padding:9px 11px;color:#a7a49d;font-size:12px}.memory-place{display:grid;grid-template-columns:1fr 1fr;gap:12px}.memory-place div{padding:16px;border:1px solid var(--mem-line-soft);border-radius:14px;background:#111318}.memory-place b{display:block;color:var(--mem-gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.memory-place span{color:var(--mem-text)}.memory-empty{padding:24px;border:1px dashed var(--mem-line-soft);border-radius:16px;text-align:center;color:var(--mem-muted)}
.memory-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:grid;place-items:center;padding:25px;z-index:50}.memory-lightbox[hidden]{display:none}.memory-lightbox img{max-width:95vw;max-height:88vh;object-fit:contain;border-radius:12px}.memory-lightbox button{position:fixed;top:18px;right:18px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.35);color:#fff;width:42px;height:42px;border-radius:50%;font-size:25px;cursor:pointer}
.memory-brandline{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:0 0 10px;color:#73746f;font-size:12px}.memory-brandline strong{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#d5d0c3;font-size:14px}.memory-brandline span{color:var(--mem-gold)}
@media(max-width:900px){.memorial-cabinet{grid-template-columns:1fr}.memorial-sidebar{position:relative;top:0}.memorial-nav{display:flex;overflow:auto;padding-bottom:4px}.memorial-nav-btn{min-width:170px}.memorial-nav-btn small{display:none}.memorial-progress{display:none}.memorial-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.memorial-shell{padding:18px 12px 42px}.memorial-top{align-items:flex-start}.memorial-top-actions{width:100%}.memorial-top-actions .memorial-btn{flex:1}.memorial-main-head{padding:20px 18px;flex-direction:column}.memorial-section{padding:18px}.memorial-grid{grid-template-columns:1fr}.memorial-field.wide{grid-column:auto}.memorial-photo-grid{grid-template-columns:1fr 1fr;gap:9px}.memorial-qr-wrap{grid-template-columns:1fr}.memorial-qr-box{max-width:240px;margin:0 auto;width:100%}.memory-public{padding:16px 10px 45px}.memory-hero{padding:34px 12px 27px}.memory-section{padding:24px 12px}.memory-grid{grid-template-columns:1fr 1fr;gap:8px}.memory-place{grid-template-columns:1fr}.memory-hero h1{font-size:38px}.memory-epitaph{font-size:16px}.memory-section h2{font-size:27px}}
@media(max-width:430px){.memorial-photo-grid{grid-template-columns:1fr}.memorial-nav-btn{min-width:155px}.memorial-nav-btn strong{font-size:12px}.memory-grid{grid-template-columns:1fr}.memory-hero-frame{width:min(220px,70vw)}}

/* v20: marble depth, publication safety and visibility controls */
body.memorial-page,body.memorial-cabinet-page{
  background-color:#070708;
  background-image:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.065),transparent 19%),
    radial-gradient(circle at 82% 18%,rgba(212,173,62,.055),transparent 24%),
    linear-gradient(132deg,transparent 0 17%,rgba(255,255,255,.022) 17.2%,transparent 17.8% 39%,rgba(255,255,255,.018) 39.2%,transparent 39.8% 63%,rgba(212,173,62,.018) 63.2%,transparent 63.8% 83%,rgba(255,255,255,.02) 83.2%,transparent 83.8%),
    linear-gradient(24deg,transparent 0 26%,rgba(255,255,255,.018) 26.2%,transparent 26.8% 54%,rgba(255,255,255,.014) 54.2%,transparent 54.7% 76%,rgba(255,255,255,.02) 76.2%,transparent 76.9%),
    linear-gradient(180deg,#060607 0%,#101116 46%,#070708 100%);
}
.memorial-main,.memorial-sidebar,.memorial-place-card,.memorial-qr-card,.memorial-preview-card{
  box-shadow:0 24px 80px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.025);
}
.memorial-alert.pending{border-color:rgba(217,184,79,.28);background:rgba(217,184,79,.07);color:#e8d59a}
.memorial-visibility-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;margin-top:18px;border:1px solid var(--mem-line-soft);border-radius:16px;background:rgba(255,255,255,.025)}
.memorial-visibility-row strong{display:block;color:var(--mem-white);font-size:15px}.memorial-visibility-row span:not(.memorial-switch span){display:block;margin-top:4px;color:var(--mem-muted);font-size:12px}
.memorial-switch{position:relative;width:60px;height:34px;display:inline-flex;flex:0 0 auto}.memorial-switch input{position:absolute;opacity:0;width:1px;height:1px}.memorial-switch span{position:absolute;inset:0;background:#2b2e35;border:1px solid rgba(255,255,255,.08);border-radius:999px;transition:.2s}.memorial-switch span:after{content:"";position:absolute;width:26px;height:26px;left:3px;top:3px;border-radius:50%;background:#8e8f8b;box-shadow:0 3px 12px rgba(0,0,0,.4);transition:.2s}.memorial-switch input:checked + span{background:linear-gradient(90deg,#80631c,#d9b84f);border-color:rgba(217,184,79,.45)}.memorial-switch input:checked + span:after{transform:translateX(26px);background:#fff6d0}
.memorial-security-card{margin-top:14px}
.memorial-admin-pending{display:inline-flex;align-items:center;padding:5px 8px;margin-left:8px;border-radius:999px;background:#fff4cf;color:#7b5b0b;font-size:11px;font-weight:800}
.memorial-admin-visibility{display:inline-flex;margin:8px 0 0;padding:6px 9px;border-radius:999px;background:#f6f8f6;border:1px solid #dce5df;color:#607269;font-size:12px;font-weight:700}
@media(max-width:680px){.memorial-visibility-row{align-items:flex-start}.memorial-visibility-row .memorial-switch{margin-top:2px}.memorial-admin-pending{margin:7px 0 0}.memory-public{padding-bottom:55px}}

/* v21: unified site font — memorial cabinet and memory page use the same typography as the main site */
body.memorial-page,body.memorial-cabinet-page,body.memorial-page *,body.memorial-cabinet-page *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
/* v22: единый шрифт */
body.memorial-page, body.memorial-cabinet-page, body.memorial-page *, body.memorial-cabinet-page *, body.memorial-page *::before, body.memorial-cabinet-page *::before, body.memorial-page *::after, body.memorial-cabinet-page *::after { font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; }

/* v23: standalone static export */
.memorial-static-export{margin-top:18px;padding:17px;border:1px solid var(--mem-line-soft);border-radius:16px;background:rgba(255,255,255,.02)}
.memorial-static-export strong{display:block;margin:4px 0;color:var(--mem-white);font-size:15px}
.memorial-static-export .memorial-btn{margin-top:10px}
.memorial-static-export .memorial-save-msg{display:block;margin-top:8px}
