:root{--ink:#1a1b18;--paper:#eee9de;--paper2:#f7f3ea;--wine:#722f37;--brass:#a47a3b;--sage:#677064;--line:#c9c1b2;--serif:Georgia,'Times New Roman',serif;--sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:1rem clamp(1rem,4vw,4.5rem);background:rgba(238,233,222,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;gap:.8rem;align-items:center}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ink);font:700 13px var(--serif)}.brand b{display:block;letter-spacing:.14em}.brand small{display:block;color:var(--sage);font-size:.68rem}.main-nav{display:flex;justify-content:center;gap:clamp(.8rem,2vw,2rem);font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.main-nav a{padding:.65rem .1rem;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav a.active{border-color:var(--wine)}.menu-toggle{display:none}.search-toggle,.menu-toggle{border:0;background:transparent}.search-toggle{font-size:1.8rem}.search-panel{display:none;position:sticky;z-index:19;top:75px;padding:1.1rem clamp(1rem,8vw,10rem);background:var(--ink);color:white}.search-panel.open{display:block}.search-panel label{font-family:var(--serif);font-size:1.2rem}.search-panel div{display:flex;margin-top:.6rem}.search-panel input{width:100%;padding:.8rem;border:0}.search-panel button,.button,.install-form button{padding:.8rem 1.25rem;border:0;background:var(--wine);color:#fff;font-weight:700}.wrap{width:min(1180px,calc(100% - 2rem));margin:auto}.hero{min-height:68vh;display:grid;grid-template-columns:1.35fr .65fr;gap:4rem;align-items:end;padding:clamp(4rem,9vw,9rem) 0 4rem;border-bottom:1px solid var(--line)}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--wine);font-weight:800}.hero h1{max-width:800px;margin:.8rem 0;font:clamp(3.8rem,10vw,9rem)/.84 var(--serif);letter-spacing:-.06em}.hero-lead{max-width:650px;font:clamp(1.15rem,2vw,1.55rem)/1.45 var(--serif)}.hero-aside{border-left:1px solid var(--line);padding-left:2rem}.hero-number{display:block;font:5rem/1 var(--serif);color:var(--brass)}.section{padding:clamp(3rem,7vw,7rem) 0;border-bottom:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem}.section h2,.page-title{margin:.3rem 0;font:clamp(2.2rem,5vw,4.7rem)/1 var(--serif);letter-spacing:-.04em}.text-link{color:var(--wine);font-weight:700}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.card{min-height:280px;padding:2rem;background:var(--paper2);display:flex;flex-direction:column;transition:.2s}.card:hover{background:#fff;transform:translateY(-3px)}.card h3{font:1.65rem/1.1 var(--serif);margin:.7rem 0}.card p{color:#4d504a}.card .meta{margin-top:auto;font-size:.75rem;color:var(--wine);text-transform:uppercase;letter-spacing:.12em}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.era{padding:1.5rem 0;border-top:3px solid var(--wine)}.era time{color:var(--brass);font-weight:800}.era h3{font:1.5rem var(--serif)}.canon-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center;background:var(--ink);color:var(--paper);padding:clamp(2rem,6vw,5rem)}.record-visual{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#b08a54 0 3%,#171815 3% 17%,#333 18% 19%,#111 20% 43%,#2d2d2b 44% 45%,#10100f 46% 100%);box-shadow:0 25px 70px #0008}.canon-feature h2{font:clamp(2.3rem,5vw,5rem)/.95 var(--serif)}.page-hero{padding:5rem 0 2.5rem;border-bottom:1px solid var(--line)}.page-hero p{max-width:720px;font:1.25rem var(--serif)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}.filters a{padding:.45rem .8rem;border:1px solid var(--line)}.filters a.active{background:var(--ink);color:white}.detail{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:4rem;padding:4rem 0}.prose{font:1.15rem/1.8 var(--serif)}.prose p:first-child:first-letter{float:left;font-size:4.5rem;line-height:.8;padding:.2rem .55rem 0 0;color:var(--wine)}.facts{border-top:2px solid var(--ink)}.facts div{padding:1rem 0;border-bottom:1px solid var(--line)}.facts small{display:block;color:var(--sage);text-transform:uppercase;letter-spacing:.1em}.search-results{display:grid;gap:1rem}.result{padding:1.5rem;border-top:1px solid var(--line)}.result h2{font:1.7rem var(--serif);margin:.25rem 0}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:3rem;padding:4rem clamp(1rem,4vw,4.5rem);background:var(--ink);color:var(--paper)}.site-footer div:nth-child(2){display:flex;gap:1.5rem}.site-footer>p{text-align:right;color:#aaa}.installer{min-height:100vh;display:grid;place-items:center;padding:2rem;background:#151b19}.install-card{width:min(700px,100%);padding:clamp(2rem,5vw,4rem);background:var(--paper2);border-top:6px solid var(--wine)}.install-card h1{font:3rem var(--serif)}.install-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.install-form label{display:grid;gap:.35rem;font-size:.82rem;font-weight:700}.install-form input{width:100%;padding:.8rem;border:1px solid var(--line);background:white}.install-form button{grid-column:1/-1}.alert{padding:1rem;background:#f2d3d3;color:#650f17}.muted{color:var(--sage);font-size:.85rem}.empty{padding:3rem;border:1px dashed var(--line);text-align:center}.admin-shell{min-height:100vh;background:#101614;color:#e8e5dc}.admin-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid #34413e}.admin-top nav{display:flex;gap:1rem;flex-wrap:wrap}.admin-main{width:min(1200px,calc(100% - 2rem));margin:auto;padding:3rem 0}.admin-main h1{font:3rem var(--serif)}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.admin-stat,.admin-panel{padding:1.5rem;background:#18221f;border:1px solid #34413e}.admin-stat strong{display:block;font:3rem var(--serif);color:#80cbc4}.admin-table{width:100%;border-collapse:collapse;background:#18221f}.admin-table th,.admin-table td{text-align:left;padding:.8rem;border-bottom:1px solid #34413e}.admin-actions{display:flex;gap:.5rem}.admin-actions a,.admin-actions button{color:#80cbc4;background:none;border:0}.editor-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.editor-form label{display:grid;gap:.35rem}.editor-form .wide{grid-column:1/-1}.editor-form input,.editor-form textarea,.editor-form select{padding:.8rem;background:#0e1513;color:white;border:1px solid #42534f}.editor-form textarea{min-height:160px}.editor-form button{padding:1rem;background:#80cbc4;border:0;font-weight:800}.login-box{width:min(460px,calc(100% - 2rem));margin:12vh auto;padding:3rem;background:#18221f}.login-box label{display:grid;margin:1rem 0}.login-box input{padding:.8rem}.login-box button{width:100%;padding:1rem;background:#80cbc4;border:0}@media(max-width:900px){.site-header{grid-template-columns:1fr auto auto}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;padding:1.5rem;background:var(--paper2);flex-direction:column}.main-nav.open{display:flex}.hero{grid-template-columns:1fr;gap:2rem}.card-grid{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr}.canon-feature{grid-template-columns:1fr}.detail{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.site-footer>p{text-align:left}.admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.brand small{display:none}.card-grid,.timeline,.install-form,.editor-form{grid-template-columns:1fr}.card{min-height:220px}.install-form button,.editor-form .wide{grid-column:auto}.site-footer div:nth-child(2){flex-direction:column}.admin-grid{grid-template-columns:1fr}.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}}
/* PROGCANON editorial control room */
.admin-body{margin:0;background:#0c1211;color:#edf0eb;min-height:100vh}.admin-body:before{opacity:.08}.admin-top{position:sticky;top:0;z-index:40;min-height:76px;padding:0 clamp(1rem,3vw,2.5rem);background:rgba(13,20,18,.94);border-bottom:1px solid #283633;backdrop-filter:blur(18px)}.admin-brand{display:flex;align-items:baseline;gap:.65rem}.admin-brand b{font:800 1.05rem var(--sans);letter-spacing:.16em}.admin-brand small{color:#81c7c0;letter-spacing:.12em;text-transform:uppercase}.admin-top nav{align-items:center;gap:.6rem}.admin-top nav a{padding:.55rem .85rem;border:1px solid transparent;border-radius:999px;color:#cbd5d1;font-size:.84rem}.admin-top nav a:hover{border-color:#40524e;color:white}.admin-menu{display:none;border:1px solid #40524e;border-radius:8px;padding:.45rem .7rem;color:white;background:#16211f}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 76px);background:#0c1211}.admin-side{position:sticky;top:76px;height:calc(100vh - 76px);padding:2rem 1.1rem;background:#101917;border-right:1px solid #283633}.admin-side-label{margin:.2rem .75rem 1.1rem;color:#70827d;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.admin-side a{display:flex;align-items:center;gap:.85rem;margin:.25rem 0;padding:.8rem .9rem;border-radius:10px;color:#bac7c3;font-size:.92rem}.admin-side a span{display:grid;place-items:center;width:1.35rem;color:#7bc9c1;font-size:1rem}.admin-side a:hover{background:#1a2926;color:#fff}.admin-main{width:100%;max-width:1440px;margin:0;padding:clamp(1.5rem,4vw,4rem)}.admin-main h1{margin:.2rem 0;font:clamp(2.2rem,4vw,4.4rem)/.95 var(--serif);letter-spacing:-.045em}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.admin-heading>.button{border-radius:999px;padding:.8rem 1.1rem;background:#7bc9c1;color:#08100e}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.admin-stats a,.admin-stat{min-height:150px;padding:1.35rem;background:linear-gradient(145deg,#182522,#121c1a);border:1px solid #30423e;border-radius:14px}.admin-stats strong,.admin-stat strong{display:block;font:3.2rem/1 var(--serif);color:#83d1c9}.admin-stats span{display:block;margin-top:1.4rem;color:#aebdb9}.admin-panel{padding:clamp(1.3rem,3vw,2.2rem);background:#15211f;border:1px solid #30423e;border-radius:14px}.admin-panel h2{margin-top:0;font:1.7rem var(--serif)}.admin-table{overflow:auto;background:#14201e;border:1px solid #30423e;border-radius:14px}.admin-table table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid #2b3b37}.admin-table th{color:#81938e;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.admin-table td small{display:block;color:#81938e}.admin-table .actions{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;white-space:nowrap}.admin-table .actions a,.admin-table .actions button{border:0;background:transparent;color:#83d1c9}.editor-form{padding:clamp(1rem,3vw,2rem);background:#14201e;border:1px solid #30423e;border-radius:14px}.editor-form label{color:#b7c4c0;font-size:.78rem;font-weight:700}.editor-form input,.editor-form textarea,.editor-form select{border:1px solid #3b504b;border-radius:8px;background:#0d1513}.editor-form input:focus,.editor-form textarea:focus,.editor-form select:focus{outline:2px solid #72bbb4;outline-offset:1px}.editor-form button{border-radius:8px;background:#7bc9c1;color:#07100e}.login-box{border:1px solid #30423e;border-radius:14px}.login-box input{border:1px solid #3b504b;border-radius:8px;background:#0d1513;color:white}.login-box button{border-radius:8px;color:#08100e}.admin-body .empty{border-color:#40524e;color:#879994}
@media(max-width:850px){.admin-top nav{display:none}.admin-menu{display:block;margin-left:auto}.admin-shell{grid-template-columns:1fr}.admin-side{display:none;position:fixed;z-index:35;top:76px;left:0;width:min(320px,86vw);height:calc(100vh - 76px);box-shadow:20px 0 50px #0008}.admin-side.open{display:block}.admin-main{padding:1.25rem}.admin-stats{grid-template-columns:1fr 1fr}.admin-heading{align-items:flex-start;flex-direction:column;gap:1rem}}
@media(max-width:560px){.admin-brand small{display:none}.admin-stats{grid-template-columns:1fr}.admin-stats a{min-height:120px}.admin-main h1{font-size:2.35rem}.admin-table th:nth-child(2),.admin-table td:nth-child(2){display:none}.admin-table .actions{flex-direction:column;align-items:flex-end}.admin-heading>.button{width:100%;text-align:center}}

/* --- Добавлено при аудите: Telegram-раздел админки и тёмные алерты --- */
.admin-body .alert{background:#3a1414;color:#f2b8b8;border:1px solid #5c2020;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1rem}
.admin-body .alert.success{background:#123024;color:#8fe3b3;border-color:#1f4a38}
.status{font-weight:700;color:#7bc9c1}
.status.off{color:#c9ab6a}
.help{color:#aebdb9;font-size:.85rem;margin:.5rem 0 1.25rem;max-width:64ch;line-height:1.5}
.link-button{background:transparent;border:1px solid #30423e;color:#83d1c9;border-radius:14px;padding:.55rem 1rem;font-size:.78rem;font-weight:700;cursor:pointer}
.link-button:disabled{opacity:.4;cursor:not-allowed}
.admin-body code{background:#101917;color:#bac7c3;padding:.15rem .4rem;border-radius:4px;font-size:.85em}

/* --- Добавлено: изображение и медиа-вставка в карточке материала --- */
.hero-image{margin:1.5rem 0 0}
.hero-image img{width:100%;max-height:420px;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}
.media-embed{margin:1.5rem 0 0}
.media-embed audio{width:100%;display:block}
.media-link{display:inline-flex;align-items:center;gap:.5rem;background:var(--wine);color:var(--paper);border-radius:999px;padding:.6rem 1.2rem;font-weight:700;font-size:.85rem;text-decoration:none}
.media-link:hover{opacity:.9}

/* --- Добавлено: панель форматирования редактора (жирный/курсив/ссылка) --- */
.editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:.4rem 0 .6rem}
.admin-body .button.alt{background:transparent;border:1px solid #30423e;color:#83d1c9;border-radius:10px;padding:.5rem .9rem;font-size:.85rem;cursor:pointer}
.admin-body .button.alt:hover{background:#101917}
.detail .prose strong{font-weight:800}
.detail .prose em{font-style:italic}
.detail .prose a{color:var(--wine);text-decoration:underline}

/* --- Добавлено: загрузка своих изображений в админке --- */
.upload-row{display:flex;align-items:center;gap:10px;margin-top:.5rem}
.admin-body .img-upload-input{font-size:.78rem;color:#aebdb9}
.upload-status{font-size:.78rem;color:#83d1c9}
.upload-preview{display:block;margin-top:.6rem;max-width:220px;max-height:220px;border-radius:10px;border:1px solid #30423e;object-fit:cover}
