:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242334;background:#f6f5fa;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ae89ec;outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}.container{max-width:950px;margin:0 auto;padding:16px 18px 80px}header{background:linear-gradient(118deg,#242135 12%,#463653 66%,#705668 100%);color:#fff;border-radius:26px;padding:28px 29px;position:relative;overflow:hidden}header:after{content:'✦';position:absolute;color:#e8c7f8;opacity:.3;font-size:180px;right:10px;top:-56px}header .eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#e6d3fa}header h1{font-size:clamp(26px,4vw,41px);max-width:560px;line-height:1.12;margin:13px 0}header p{max-width:575px;color:#e9deed;line-height:1.55;margin:0}header .version{display:inline-block;margin-top:18px;background:#ffffff25;border:1px solid #ffffff44;border-radius:100px;padding:6px 12px;font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:18px;align-items:start;margin-top:18px}.panel{background:#fff;border:1px solid #ece7f3;border-radius:22px;padding:23px;margin-bottom:17px;box-shadow:0 6px 28px #28223c08}.panel h2{font-size:20px;margin-bottom:8px}.panel h3{font-size:16px;margin-bottom:8px}.small{color:#777184;font-size:13px;line-height:1.55}.lead{color:#635f73;line-height:1.5}.section-label{display:block;font-weight:750;margin:21px 0 8px;font-size:14px}select{display:block;width:100%;background:#fff;color:#282435;border:1px solid #d9d3e0;border-radius:12px;padding:12px 13px;min-height:46px}.option-grid{display:flex;flex-wrap:wrap;gap:8px}.option-grid label{position:relative;display:block;margin:0}.option-grid input{position:absolute;opacity:0;width:1px;height:1px}.option-grid span{display:flex;align-items:center;justify-content:center;min-height:39px;border:1px solid #dcd6e5;background:#fff;border-radius:12px;padding:8px 12px;font-size:14px;color:#484156;transition:background .15s}.option-grid input:checked+span{color:#4c2e69;background:#f1e6ff;border-color:#ad81d3;font-weight:700}.option-grid input:focus-visible+span{outline:3px solid #a77ae1;outline-offset:2px}.option-grid.days label{flex:1;min-width:48px}.option-grid.days span{padding:9px 5px}.hint{padding:11px 13px;background:#f6f1fb;border-radius:12px;border:1px solid #e9def3;color:#59476d;font-size:13px;line-height:1.55;margin-top:13px}.note{margin-top:9px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.goal-note{margin-top:5px;color:#696179;font-size:13px}.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.button{background:#663a89;border:0;color:white;border-radius:13px;padding:13px 17px;font-weight:750;min-height:44px}.button.primary{flex:1}.button.secondary{background:#f2eaf9;color:#663a89}.button.mini{min-height:34px;padding:8px 11px;font-size:12px}.button.ghost{background:white;color:#665477;border:1px solid #d8ccdf}.button:hover:not(:disabled){filter:brightness(.97)}details.extended{border-top:1px solid #ece6f1;margin-top:21px;padding-top:15px}details.extended>summary{cursor:pointer;font-weight:750;color:#513165;list-style:revert}details.extended[open] summary{margin-bottom:13px}.sidebar .panel{position:relative}.steps{display:grid;gap:12px;margin-top:16px}.step{display:flex;gap:11px;align-items:start}.step b{display:grid;place-items:center;border-radius:50%;background:#eadcf7;color:#513165;width:30px;height:30px;flex:none}.step p{margin:3px 0;font-size:14px;color:#5a5367}.result-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:6px;border-radius:20px;background:#eaf7ed;color:#266a40;font-weight:700;padding:6px 10px;font-size:12px}.hidden{display:none!important}.notice{padding:13px 15px;border-radius:13px;background:#f0ecf8;color:#45325a;font-size:14px;line-height:1.6}.notice.error{background:#fdf0ee;color:#853d32;border:1px solid #efc9c4}.notice.warning{background:#fff9e8;color:#7a5b25}.summary-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 5px}.summary-list span{background:#f4f2f8;padding:7px 10px;border-radius:10px;color:#4b455c;font-size:12px}.day-card{border:1px solid #e8dff0;border-radius:17px;padding:16px;margin-top:15px;background:white}.day-card h3{margin:0 0 4px}.day-card .day-title{display:flex;gap:10px;justify-content:space-between;align-items:start}.day-card .day-subtitle{font-size:13px;color:#746b7d;margin:0 0 13px}.day-pill{border-radius:9px;background:#f3eafb;color:#624077;padding:5px 8px;font-size:12px;font-weight:700;white-space:nowrap}.exercise{padding:13px 0;border-top:1px solid #f0ecf4}.exercise h4{font-size:15px;margin:0 0 6px}.exercise p{font-size:13px;color:#686273;margin:4px 0}.exercise details{margin-top:9px}.exercise details summary{font-size:13px;color:#633b80;font-weight:700;cursor:pointer}.exercise details p{color:#494252;line-height:1.55;margin-top:10px}.exercise .button{margin-top:10px}.training-foot{background:#f7f1fb;border-radius:13px;padding:12px;color:#644c75;font-size:13px;margin-top:10px}.training-foot p{margin:4px 0}.error-anchor{scroll-margin-top:22px}footer{font-size:12px;color:#80788c;line-height:1.6;padding:15px 3px 10px}.install-panel{background:#f1edfa}.install-panel button{margin-top:7px}.install-panel ol{padding-left:22px;font-size:13px;color:#665974;line-height:1.55}.install-panel li{margin:6px 0}.install-panel details summary{font-weight:700;color:#513165;cursor:pointer}.privacy{font-size:13px;color:#64596b;line-height:1.55}.privacy strong{color:#3c344d}.circle{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e9d7f6;font-size:22px}.intro-icon{display:flex;align-items:center;gap:11px;margin-bottom:12px}@media(max-width:700px){.layout{grid-template-columns:1fr}.container{padding:12px 13px 58px}header{padding:25px 21px}.panel{padding:19px}.sidebar{display:grid;grid-template-columns:1fr;gap:0}.form-row{grid-template-columns:1fr 1fr}.option-grid.days label{min-width:42px}}@media(max-width:390px){.form-row{grid-template-columns:1fr}.option-grid.days label{min-width:37px}.option-grid.days span{font-size:12px}}@media(display-mode:standalone){.install-panel{display:none}}@media print{body{background:#fff}.container{max-width:none;padding:0}header,.sidebar,#editor,.card-actions,footer,.exercise button{display:none!important}#result{border:0;box-shadow:none;padding:0}.day-card{page-break-inside:avoid}.exercise details{display:block}}
/* v0.4: выбор клуба, собственное оборудование и карточки техники */
.custom-club{margin-top:14px;padding:16px;border:1px solid #ddd2ec;border-radius:16px;background:#faf7fe}
.custom-club input[type="text"]{width:100%;min-height:46px;border:1px solid #d9d3e0;border-radius:12px;padding:11px 13px;background:#fff;color:#282435}
.manual-stations{display:grid;gap:8px;margin-top:14px;max-height:360px;overflow-y:auto;padding-right:4px}
.station-group{padding:12px 13px;border:1px solid #ddd6e7;border-radius:12px;background:#fff}
.station-group summary{cursor:pointer;font-weight:750;color:#363043}
.manual-grid{display:grid;gap:10px;margin-top:12px}
.manual-option{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;line-height:1.4}
.manual-option input{flex:0 0 auto;width:18px;height:18px;accent-color:#7951b1;margin:0}
.catalog-heading{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:16px}
.catalog-heading h2{font-size:23px;margin:6px 0}
.catalog-eyebrow{color:#80539c;font-size:10px;letter-spacing:.13em;font-weight:800}
.catalog-count{border:1px solid #e1d9ec;background:#f7f1ff;padding:7px 10px;border-radius:100px;color:#65418d;white-space:nowrap;font-weight:700;font-size:12px}
.catalog-filters{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin-bottom:17px}
.catalog-filters input{min-width:0;width:100%;height:46px;padding:11px 13px;border:1px solid #d9d3e0;border-radius:12px;background:#fff;color:#282435}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.station-card{display:flex;align-items:start;gap:12px;padding:14px;background:#fcfbff;border:1px solid #eae5f1;border-radius:17px;min-width:0}
.station-visual{flex:0 0 52px;width:52px;height:56px;display:flex;align-items:center;justify-content:center;font-size:29px;color:#765399;background:#f0e9fb;border:1px solid #e0d4ef;border-radius:13px}
.station-content{flex:1;min-width:0}
.station-category{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8b729c;font-weight:800;margin:1px 0 6px}
.station-card h3{font-size:15px;line-height:1.25;margin:0 0 5px}
.station-muscles{font-size:12px;color:#766b83;margin:0 0 9px}
.station-tag{font-size:11px;display:inline-block;font-weight:750;color:#366b57;background:#ecf8f1;padding:5px 8px;border-radius:9px;margin-bottom:9px}
.station-muted{font-size:12px;color:#8d808d;line-height:1.45;margin:0 0 9px}
.station-technique{border-top:1px solid #eae5f1;padding-top:9px;margin-top:3px}
.station-technique summary{font-size:12px;font-weight:750;color:#65418d;cursor:pointer}
.technique-block{font-size:12px;line-height:1.5;padding:10px 0 0;border-bottom:1px dotted #eee5f3}
.technique-block:last-child{border-bottom:0}
.technique-block strong{display:block;margin-bottom:7px;font-size:13px}
.technique-block p{margin:0 0 8px}
.source-note{margin:15px 0 0;border-top:1px solid #eae5f1;padding-top:13px}
.workout-station{font-size:12px!important;color:#7547a2!important;font-weight:650}
@media(max-width:730px){.catalog-grid{grid-template-columns:1fr}.catalog-filters{grid-template-columns:1fr}.catalog-heading{flex-wrap:wrap}.station-visual{flex-basis:45px;width:45px;height:50px}}
@media print{.custom-club,.catalog-filters,.station-technique{display:none}.catalog-grid{display:none}}

/* v0.5: независимые схемы оборудования и русскоязычные карточки техники */
.station-visual{width:112px;height:93px;flex-basis:112px;padding:0;overflow:hidden;border:0;background:#f6f0fb}
.station-visual img{display:block;width:100%;height:100%;object-fit:contain}
.station-visual::after{content:'СХЕМА';position:absolute;bottom:4px;right:6px;font-size:8px;letter-spacing:.06em;color:#6c5187;background:#fdfaffbb;border-radius:5px;padding:2px 4px}
.station-visual{position:relative}
.station-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.station-actions .button{min-height:35px;font-size:12px;padding:8px 11px}
.station-video-label{display:inline-flex;font-size:11px;font-weight:700;color:#65418d;background:#f1e7fc;border-radius:9px;padding:5px 8px;margin-bottom:7px}
.video-filter{display:flex;align-items:center;gap:9px;margin:0 0 16px;color:#5b4b71;font-size:13px;cursor:pointer}
.video-filter input{accent-color:#8055a8;width:17px;height:17px;flex:none}
.video-filter span{color:#92849d;font-size:11px}
.tech-dialog{padding:0;border:1px solid #e2d5f0;border-radius:23px;max-width:650px;width:min(650px,calc(100vw - 24px));max-height:90vh;overflow-y:auto;box-shadow:0 20px 70px #22143255;color:#332d3d}
.tech-dialog::backdrop{background:#241b32aa;backdrop-filter:blur(3px)}
.dialog-header{position:sticky;top:0;background:#fff;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:20px 22px 13px;border-bottom:1px solid #e8dff0}
.dialog-kicker{color:#78569a;font-weight:800;font-size:10px;letter-spacing:.14em;margin:0 0 7px}
.dialog-header h2{font-size:23px;margin:0;line-height:1.2}
.close-dialog{border:1px solid #e6ddec;background:#fff;color:#63497b;border-radius:12px;min-width:40px;min-height:40px;font-size:18px;flex:none}
#techContents{padding:0 22px 24px}
.guide-image{border-radius:17px;background:#f2eafa;overflow:hidden;margin-top:17px;position:relative}
.guide-image img{width:100%;height:210px;object-fit:contain;display:block}
.guide-image span{position:absolute;right:10px;bottom:10px;font-size:10px;font-weight:700;letter-spacing:.07em;background:#ffffffdd;border-radius:8px;color:#684b7b;padding:6px 8px}
.guide-meta{font-size:13px;color:#756a7e;margin:13px 0 17px}
.guide-steps{display:grid;gap:10px;padding:0;margin:0;list-style:none}
.guide-step{display:flex;gap:12px;padding:13px;background:#faf8fd;border:1px solid #eee8f5;border-radius:12px;line-height:1.55;color:#4a4056;font-size:14px}
.guide-step b{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;background:#e5d5f4;color:#633580;flex:none}
.guide-step strong{display:block;color:#332643;margin-bottom:3px}
.guide-alert{background:#fff7ea;color:#78522f;border-radius:13px;padding:12px 13px;font-size:13px;line-height:1.5;margin:13px 0}
.guide-video{display:block;text-decoration:none;text-align:center;color:#fff;background:#61388a;border-radius:12px;padding:14px 10px;font-weight:750;margin:15px 0 6px}
.guide-video:hover{filter:brightness(.94)}
.guide-small{font-size:12px;color:#817889;line-height:1.5;margin:8px 0}
.workout-media-button{margin:10px 8px 0 0!important}
@media(max-width:730px){.station-visual{width:106px;height:86px;flex-basis:106px}.tech-dialog{max-height:94dvh}.dialog-header{padding:15px 17px 12px}#techContents{padding:0 17px 19px}}
@media(max-width:390px){.station-card{gap:8px;padding:10px}.station-visual{width:78px;height:70px;flex-basis:78px}}
@media print{.tech-dialog,.video-filter,.station-actions{display:none!important}}
/* 0.6 — экран тренировки. Приоритет: крупные касания и чёткие поля в зале. */
.training-panel{scroll-margin-top:16px}.training-panel h2{margin:7px 0 18px}.training-panel h3{margin:5px 0 10px}.start-training{margin:12px 0 8px;width:100%;background:linear-gradient(100deg,#a72a77,#da468e)!important}.session-top{display:flex;justify-content:space-between;align-items:start;gap:12px;flex-wrap:wrap;border-bottom:1px solid #eee2f2;padding-bottom:11px;margin-bottom:10px}.session-top h3{margin:0}.session-notice{margin:16px 0 22px;border:1px solid #efdded;background:#fff5fb}.training-progress{font-weight:750;font-size:14px;margin:10px 0 7px;color:#5d305e}.progress-track{background:#efe7f1;border-radius:99px;height:10px;overflow:hidden}.progress-fill{width:0;background:linear-gradient(90deg,#ce4da1,#ff6ba6);height:100%;border-radius:99px;transition:width .15s}.training-exercise{border:1px solid #edddec;padding:16px;border-radius:18px;margin-bottom:17px;background:#fffafd}.exercise-head h3{margin:5px 0}.exercise-kicker{font-size:11px;letter-spacing:.08em;color:#ab5692;font-weight:800;text-transform:uppercase}.exercise-head p{margin:4px 0 8px}.weight-recommendation{background:#f8eaf5;padding:13px 15px;border-radius:13px;margin:14px 0 10px;display:grid;gap:5px}.weight-caption{text-transform:uppercase;letter-spacing:.08em;color:#824a83;font-size:10px;font-weight:850}.recommended-value{font-size:21px;color:#5f2457}.weight-recommendation p{margin:0;color:#65526a}.weight-recommendation .button{margin-top:5px;justify-self:start}.step-field{display:flex;flex-direction:column;gap:5px;max-width:300px;margin:0 0 15px}.small-field-label{display:block;font-size:11px;line-height:1.4;font-weight:700;color:#766879;margin-bottom:5px}.session-input,.feedback-choice select{width:100%;min-width:0;border:1px solid #dccddd;border-radius:11px;padding:10px 11px;background:#fff;font-size:16px;color:#33283c;min-height:43px}.sets-grid{display:grid;gap:8px}.set-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #ebdfea;background:#fff;border-radius:12px}.set-row[data-type="warmup"]{background:#f5f1fa;border-style:dashed}.set-check{display:flex;align-items:center;gap:9px;flex:1 1 160px;min-width:115px;font-weight:700;font-size:12px;color:#483c54}.set-check input{width:20px;height:20px;flex:none;accent-color:#db4294}.set-weight{flex:0 1 96px}.set-reps{flex:0 1 84px}.session-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 14px}.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feedback-choice{min-width:0}.rest-timer{border:1px solid #e9d9ec;border-radius:17px;background:linear-gradient(110deg,#171322,#39203a);color:#fff;padding:17px;display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px}.rest-timer .small{color:#f3d7e8}.timer-clock{font-variant-numeric:tabular-nums;font-size:32px;font-weight:850;line-height:1.4}.timer-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.timer-actions .button{background:#f6e4f4;color:#512451}.rest-timer button{min-width:59px}.history-block{margin-top:23px;border-top:1px solid #e9dfeb;padding-top:14px}.history-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #efe5f0;padding:11px 0}.history-entry strong{font-size:14px}.history-entry p{margin:5px 0 0}.backup-block{margin-top:18px}.backup-import-label{display:inline-flex;align-items:center;cursor:pointer;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.small{line-height:1.55}@media(max-width:650px){.set-row{gap:7px;padding:9px 8px}.set-check{min-width:105px;flex-basis:135px;font-size:11px}.set-weight{flex-basis:70px}.set-reps{flex-basis:64px}.set-row .session-input{padding:8px;font-size:16px}.feedback-grid{grid-template-columns:1fr}.rest-timer{flex-direction:column;align-items:stretch}.timer-actions{justify-content:flex-start}.training-exercise{padding:12px}.session-top{gap:8px}}@media print{#training{display:none!important}.start-training{display:none!important}}

/* Telegram Mini App adapts to WebView safe areas and compact phones. */
.telegram-status { margin-top:12px; border:1px solid #eed1e7; background:#fff2f9; color:#632650; padding:10px 12px; border-radius:12px; font-size:.85rem; line-height:1.5; }
body.telegram-app .container { padding-bottom:calc(22px + env(safe-area-inset-bottom, 0px)); }
body.telegram-app .sidebar .install-panel { display:none; }

/* v0.6.2: карточки оборудования. Приоритет: фото, мышцы, видео и читаемость на телефоне. */
.catalog-feature-note{border:1px solid #f0bddb;background:#fff5fa;color:#873364;border-radius:13px;padding:12px 14px;font-weight:650;font-size:13px;line-height:1.5;margin:0 0 16px}
.station-card.is-curated{background:#201c25;border-color:#49303f;color:#fff;align-items:flex-start;box-shadow:0 5px 18px #24112413}
.station-card.is-curated h3{color:#fff;font-size:16px;letter-spacing:-.01em}
.station-card.is-curated .station-muscles{color:#d4c5d3}
.station-card.is-curated .station-category{color:#ff7bb7}
.station-card.is-curated .station-tag{background:#2a4337;color:#adf1c7;margin-right:6px}
.station-card.is-curated .station-muted{color:#cfbecc}
.station-card.is-curated .station-technique{border-color:#493d4b}
.station-card.is-curated .station-technique summary{color:#ff9ec6}
.station-card.is-curated .technique-block{border-color:#4d4150}
.station-card.is-curated .button.secondary{background:#f9378d;border-color:#f9378d;color:white}
.station-card.is-curated .station-video-label{background:#3d2a3c;color:#ffadd6}
.station-feature-tag{font-size:11px;font-weight:800;color:#ff86be;background:#3c273a;padding:5px 8px;border-radius:8px;display:inline-flex;margin:0 0 8px}
.station-card.is-curated .station-visual{width:136px;height:113px;flex-basis:136px;position:relative;background:#f8f8f8;border-radius:13px}
.station-card.is-curated .station-visual::after{display:none}
.machine-photo{position:relative;overflow:hidden;background:#efeff0;border-radius:15px}
.machine-photo img{display:block;object-fit:contain;width:100%;height:245px;padding:10px;box-sizing:border-box;color:#312639}
.machine-photo-compact{width:100%;height:100%;border-radius:12px}
.machine-photo-compact img{height:100%;padding:6px}
.photo-stamp{position:absolute;bottom:9px;left:9px;background:#221924d9;color:#ffbad7;padding:5px 7px;border-radius:6px;letter-spacing:.04em;font-size:9px;font-weight:800}
.photo-fallback{background:#f5edfc}
.visual-photo-tag{position:absolute;left:5px;bottom:5px;background:#271b28e8;color:#ffb3d2;font-weight:850;font-size:8px;padding:4px 5px;border-radius:5px;max-width:90%}
.curated-open{display:block;margin:4px 0 11px;min-height:38px;width:100%;font-weight:800}
/* В карточке техники используем утверждённый тёмный стиль, остальной интерфейс не ломаем. */
.tech-dialog.curated-dialog{max-width:850px;width:min(850px,calc(100vw - 18px));color:#f6f3f7;background:#121116;border:1px solid #3c2937;border-radius:22px;box-shadow:0 25px 95px #000a;max-height:94dvh}
.curated-dialog .dialog-header{background:#161419;border-color:#45323f;color:#fff;padding:18px 22px 15px}
.curated-dialog .dialog-kicker{color:#ff65a9}
.curated-dialog .dialog-header h2{color:#fff;font-size:24px}
.curated-dialog .close-dialog{background:#2a242b;color:#fff;border-color:#493747}
.curated-dialog #techContents{padding:18px 20px 24px;background:#121116}
.tech-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}
.tech-left-column{display:grid;grid-template-rows:auto auto;gap:14px;min-width:0}
.tech-dark-card{min-width:0;background:#202026;border:1px solid #3d333e;border-radius:18px;padding:15px}
.tech-dark-card h3,.tech-how-section h3{font-weight:800;font-size:17px;color:#fff;margin:0 0 12px;letter-spacing:-.015em}
.tech-image-credit{font-size:11px;line-height:1.5;color:#aaa0ac;margin:9px 0 0}
.tech-image-credit a{color:#ff92bf;text-decoration:underline;text-underline-offset:3px}
.tech-pink-video{display:block;background:#f8378b;color:#fff;text-align:center;font-weight:850;padding:14px 10px;border-radius:12px;text-decoration:none;font-size:14px}
.tech-pink-video:hover{background:#d92d77}
.tech-small-muted{font-size:12px;color:#b9aebd;line-height:1.6;margin:8px 0 0}
.tech-muscle-diagram{display:block;width:100%;max-height:257px;object-fit:contain;object-position:center;border-radius:12px;background:#1b1b24}
.tech-muscle-legend{margin-top:12px;display:grid;gap:9px}
.muscle-legend-line{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.4;margin:0;color:#f2e7ee}
.muscle-dot{width:13px;height:13px;flex:none;border-radius:5px;margin-top:2px}
.primary-dot{background:#ff3b8f}.secondary-dot{background:#f7a5c9}
.muscle-focus{border-radius:12px;background:#382435;padding:12px 13px;margin-top:14px;display:grid;gap:5px}
.muscle-focus strong{color:#ff69a9;font-size:13px}.muscle-focus span{color:#efdae7;font-size:13px}
.tech-how-section{margin-top:14px;background:#202026;border:1px solid #3d333e;border-radius:18px;padding:17px}
.curated-dialog .guide-steps{gap:9px}
.curated-dialog .guide-step{background:#27242d;border-color:#3d3440;color:#f0e9ef;padding:12px}
.curated-dialog .guide-step strong{color:#fff}
.curated-dialog .guide-step b{background:#f8378b;color:white;width:28px;height:28px}
.curated-dialog .guide-alert{background:#38212e;color:#fbb4d1;border:1px solid #f8378b;margin:14px 0}
.curated-dialog .guide-small{color:#baaebc}
.tech-alternative{background:#2b2630;border:1px solid #413648;border-radius:12px;padding:12px 14px;margin:14px 0}
.tech-alternative strong{display:block;color:#ff80b8;margin-bottom:5px}
.tech-alternative p{color:#ded3e0;font-size:13px;line-height:1.55;margin:0}
@media(max-width:730px){
 .station-card.is-curated .station-visual{width:117px;height:105px;flex-basis:117px}
 .tech-dialog.curated-dialog{width:calc(100vw - 12px);max-height:96dvh;border-radius:16px}
 .curated-dialog .dialog-header{padding:14px 15px 12px}
 .curated-dialog #techContents{padding:12px 12px 18px}
 .tech-card-grid{grid-template-columns:1fr;gap:10px}
 .tech-left-column{gap:10px}
 .tech-dark-card{padding:12px;border-radius:14px}
 .tech-dark-card .machine-photo img{height:218px}
 .tech-muscle-diagram{max-height:260px}
 .tech-how-section{padding:12px;border-radius:14px;margin-top:10px}
 .curated-dialog .guide-step{font-size:13px}
}
@media(max-width:390px){.station-card.is-curated .station-visual{width:100px;height:95px;flex-basis:100px}.station-card.is-curated h3{font-size:14px}.station-feature-tag{font-size:10px}}
@media print{.tech-card-grid{display:none}}

/* Иллюстрация под фото всегда видна: даже если внешний CDN не ответит. */
.machine-photo{min-height:80px}
.machine-photo .machine-remote-image{position:absolute;inset:0;opacity:0;transition:opacity .2s ease;background:#f3f3f3}
.machine-photo.photo-loaded .machine-remote-image{opacity:1}
.machine-photo .machine-fallback-image{position:relative;z-index:0}
.machine-photo .photo-stamp{z-index:2}
