/* Zdroje, inspirace a poděkování – CSS od Kateřiny 1:1, omezené na obsah stránky (#main-content); generuje nastroje/stranka-z-html.py */
#main-content *{box-sizing: border-box;}
#main-content{scroll-behavior: smooth;}
#main-content{margin:0; font-family:"Inter",sans-serif; font-weight:300; line-height:1.85;
    -webkit-font-smoothing: antialiased; overflow-x: hidden;}
#main-content h1, #main-content h2, #main-content h3, #main-content h4{font-family:"Fraunces",serif; font-weight:300; margin:0;}
#main-content a{color:inherit;}
#main-content p{margin:0 0 17px 0;}
#main-content strong{font-weight:500;}
#main-content .container{max-width: 900px; margin:0 auto; padding:0 28px; position: relative; z-index: 2;}
#main-content .container.narrow{max-width: 700px;}
#main-content section, #main-content header, #main-content footer{padding: 100px 0; position: relative; overflow: hidden;}
@media (max-width:720px){#main-content section, #main-content header, #main-content footer{padding:64px 0;}
#main-content .container{padding:0 22px;}}
#main-content .reveal{opacity:0; transform: translateY(20px); transition: opacity 1s ease, transform 1s ease;}
#main-content .reveal.in{opacity:1; transform: translateY(0);}
@media (prefers-reduced-motion: reduce){#main-content .reveal{opacity:1; transform:none; transition:none;}
#main-content{scroll-behavior:auto;}
#main-content .dot, #main-content .spark, #main-content .shimmer-text, #main-content .btn::before{animation:none !important;}}
#main-content .zone-dark{--bg: #221933; --bg-2: #2b2140; --card-bg: rgba(255,255,255,0.04);
    --ink: #f5f0e6; --ink-soft: #cec2df; --ink-faint: #948aa8;
    --gold: #d8b877; --gold-deep: #e8cd94; --gold-light: #f0d9a3; --line: rgba(216,184,119,0.22);
    --lilac: #b9a4d9; --lilac-pale: rgba(185,164,217,0.18); --plum: #16101f;
    background: radial-gradient(ellipse at 50% 15%, #33264a 0%, var(--bg) 62%);
    color: var(--ink);}
#main-content .zone-light{--bg: #faf6ee; --bg-2: #f4eee1; --card-bg: rgba(255,255,255,0.72);
    --ink: #241a30; --ink-soft: #6e6178; --ink-faint: #a79bb4;
    --gold: #a3803f; --gold-deep: #8a6a34; --gold-light: #dcb975; --line: #e7dcc4;
    --lilac: #8a6bb8; --lilac-pale: #efe7f8; --plum: #2e2140;
    background: var(--bg); color: var(--ink);}
#main-content .alt{background: var(--bg-2) !important;}
#main-content .eyebrow{font-family:"Inter",sans-serif; text-transform:uppercase; letter-spacing:3.5px;
    font-size:11px; font-weight:600; color: var(--gold);}
#main-content .flourish{display:flex; align-items:center; justify-content:center; gap:10px; margin: 0 auto 26px auto;}
#main-content .flourish .ln{width: 36px; height:1px; background: linear-gradient(90deg, transparent, var(--gold));}
#main-content .flourish .ln.r{background: linear-gradient(270deg, transparent, var(--gold));}
#main-content .flourish .diamond{width:5px; height:5px; background: var(--gold); transform: rotate(45deg); flex-shrink:0;}
#main-content .shimmer-text{background: linear-gradient(100deg, var(--gold) 20%, #fbe9c0 45%, var(--gold) 70%);
    background-size: 250% 100%;
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    animation: vmx-zdroje-shimmerMove 7s linear infinite;}
@keyframes vmx-zdroje-shimmerMove{ 0%{ background-position: 0% 0; } 100%{ background-position: -250% 0; } }
#main-content .card{background: var(--card-bg);
    border: 1px solid var(--line); border-radius: 14px;
    position: relative; z-index: 0;
    transition: transform 0.45s cubic-bezier(.2,.8,.2,1), box-shadow 0.45s ease, border-color 0.45s ease;}
#main-content .zone-light .card{backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 12px 34px rgba(150,117,74,0.14);}
#main-content .zone-dark .card{box-shadow: 0 12px 30px rgba(0,0,0,0.25);}
#main-content .card:hover{transform: translateY(-5px); border-color: var(--gold-light);}
#main-content .zone-light .card:hover{box-shadow: 0 22px 46px rgba(150,117,74,0.22);}
#main-content .zone-dark .card:hover{box-shadow: 0 22px 46px rgba(0,0,0,0.4), 0 0 26px rgba(216,184,119,0.1);}
#main-content .sparkle-field{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0;}
#main-content .dot{position:absolute; border-radius:50%; background: var(--gold-deep); animation: vmx-zdroje-twinkle 3.6s ease-in-out infinite;}
@keyframes vmx-zdroje-twinkle{ 0%,100%{ opacity:0.15; transform:scale(0.7); } 50%{ opacity:0.95; transform:scale(1.2); } }
#main-content .spark{position:absolute; animation: vmx-zdroje-twinkleSpark 4s ease-in-out infinite;}
@keyframes vmx-zdroje-twinkleSpark{ 0%,100%{ opacity:0.2; transform:scale(0.7) rotate(0deg);} 50%{ opacity:1; transform:scale(1.1) rotate(15deg);} }
#main-content .blob{position:absolute; border-radius:50%; filter: blur(80px); pointer-events:none; z-index:0; opacity:0.5;}
#main-content .hero{text-align:center; padding-top:130px; padding-bottom: 64px;}
#main-content .hero .glow{position:absolute; top:-10%; left:50%; width:700px; height:700px; transform:translateX(-50%);
    background: radial-gradient(circle, rgba(185,164,217,0.18), transparent 65%); pointer-events:none; z-index:0;}
#main-content .hero h1{font-size: clamp(26px, 4.4vw, 40px); font-style: italic; line-height: 1.4; max-width: 720px; margin: 22px auto 0 auto;}
#main-content .hero .lead{max-width: 620px; margin: 28px auto 0 auto; color: var(--ink-soft); font-size: 15.5px;}
#main-content .head{text-align:center; max-width:680px; margin:0 auto 20px auto;}
#main-content .head h2{font-size: clamp(22px,3.2vw,29px); font-style: italic; line-height:1.35;}
#main-content .section-intro{color: var(--ink-soft); text-align:center; max-width:660px; margin:0 auto 10px auto; font-size:15px;}
#main-content .body-copy{max-width: 680px; margin: 36px auto 0 auto; color: var(--ink-soft); font-size:15.3px;}
#main-content .body-copy p{margin-bottom:15px;}
#main-content .body-copy .short{margin-bottom:4px;}
#main-content .quote-box{max-width: 660px; margin: 30px auto 0 auto; padding: 30px 38px; text-align:center;}
#main-content .quote-box .mark{font-family:"Fraunces",serif; font-size: 40px; color: var(--gold-light); line-height:1; display:block; margin-bottom: 4px;}
#main-content .quote-box p{font-family:"Fraunces",serif; font-style: italic; font-size: 16px; line-height:1.6; margin:0; color: var(--ink);}
#main-content .thanks-box{position: relative; max-width: 620px; margin: 26px auto 0 auto; padding: 36px 40px;
    text-align:center; border-radius: 18px;
    background: linear-gradient(145deg, #fbe9c0 0%, #e8cd94 28%, #d8b877 58%, #a9824a 100%);
    box-shadow: 0 20px 44px rgba(130,97,42,0.32), 0 0 0 1px rgba(255,245,215,0.5) inset;
    overflow: hidden;}
#main-content .thanks-box::after{content:""; position:absolute; inset:7px; border:1px solid rgba(255,250,230,0.55); border-radius:12px; pointer-events:none;}
#main-content .thanks-box::before{content:"✦"; display:block; color:#6b4a1f; font-size:14px; letter-spacing:8px; margin-bottom:14px; opacity:0.8;}
#main-content .thanks-box p{font-family:"Fraunces",serif; font-style: italic; font-weight:500; font-size: 18px; line-height:1.6;
    margin:0; color:#2a1f16; text-shadow: 0 1px 0 rgba(255,255,255,0.25);}
#main-content .thanks-box p strong{color:#5c3812; font-weight:700; font-style:normal; letter-spacing:0.3px;}
#main-content .thanks-box .src-link{display:inline-block; margin-top:14px; font-family:"Inter",sans-serif; font-style:normal;
    font-size:13px; font-weight:600; letter-spacing:0.3px; color:#5c3812; text-decoration:none;
    border-bottom:1px solid rgba(92,56,18,0.45); text-shadow:none;}
#main-content .thanks-box .src-link:hover{color:#3d2509; border-bottom-color:#3d2509;}
#main-content .sources{display:grid; grid-template-columns: 1fr; gap: 22px; max-width: 760px; margin: 42px auto 0 auto;}
#main-content .source-card{padding: 32px 34px;}
#main-content .source-card .tag{font-size:11px; text-transform:uppercase; letter-spacing:1.6px; color: var(--gold-deep); font-weight:600; margin-bottom:10px;}
#main-content .source-card h3{font-size:19px; font-weight:500; font-style: italic; margin-bottom:14px; line-height:1.3;}
#main-content .source-card p{color: var(--ink-soft); font-size:14.3px; margin-bottom:13px;}
#main-content .source-card p:last-child{margin-bottom:0;}
#main-content .source-card .thanks{font-style: italic; color: var(--ink); font-family:"Fraunces",serif; font-size:14.5px; margin-top:14px;}
#main-content .source-card .subtag{font-family:"Fraunces",serif; font-style:italic; font-size:15.5px; color: var(--ink); margin: 18px 0 6px 0;}
#main-content .source-card .thanks-box p{font-family:"Fraunces",serif; font-style: italic; font-weight:500; font-size: 18px; line-height:1.6;
    margin:0; color:#2a1f16; text-shadow: 0 1px 0 rgba(255,255,255,0.25);}
#main-content .source-card .thanks-box p strong{color:#5c3812; font-weight:700; font-style:normal; letter-spacing:0.3px;}
#main-content .list-block{max-width: 680px; margin: 34px auto 0 auto;}
#main-content .list-block ul{list-style:none; margin:0; padding:0; columns: 1;}
#main-content .list-block li{position:relative; padding-left:22px; margin-bottom:13px; font-size:14.3px; color: var(--ink-soft);
    break-inside: avoid;}
#main-content .list-block li::before{content:"✦"; position:absolute; left:0; top:1px; color: var(--gold); font-size:10.5px;}
#main-content .list-block li strong{color: var(--ink);}
@media (min-width: 640px){#main-content .list-block.two-col ul{columns: 2; column-gap: 32px;}}
#main-content .divider-line{width:40px; height:1px; background: var(--line); margin: 36px auto;}
#main-content .signoff{text-align:center; margin-top:46px;}
#main-content .signoff .name{font-family:"Fraunces",serif; font-style:italic; font-size:19px; color: var(--ink);}
#main-content .signoff .org{font-size:11px; letter-spacing:2px; text-transform:uppercase; color: var(--gold); margin-top:6px;}
#main-content .closing{text-align:center;}
#main-content .closing blockquote{margin:0 auto; max-width: 660px; font-family:"Fraunces",serif; font-style: italic;
    font-size: clamp(17px,2.4vw,21px); line-height:1.65; color: var(--ink);}
#main-content .closing .sig{display:block; margin-top:20px; font-family:"Inter",sans-serif; font-style:normal; font-size:12px; letter-spacing:2px; text-transform:uppercase; color: var(--gold);}
#main-content .final .copyline{margin-top: 46px; font-size:11px; letter-spacing:1.4px; text-transform:uppercase; color: var(--ink-faint);}
#main-content .fineprint{max-width: 680px; margin: 0 auto; text-align:center; color: var(--ink-faint); font-size:12.6px;}
#main-content .fineprint p{margin-bottom:13px;}
#main-content .tagline{text-align:center; font-family:"Fraunces",serif; font-style:italic; font-size:14px; letter-spacing:1px; color: var(--gold-deep); margin-top:40px;}
#main-content .subhead{font-family:"Fraunces",serif; font-style:italic; font-weight:500; font-size: clamp(18px,2.4vw,21px);
    text-align:center; margin: 0 auto 6px auto; color: var(--ink); max-width:680px;}
#main-content .subhead.first{margin-top:0;}
#main-content .subhead.spaced{margin-top:44px;}
#main-content .cosmos-about{position:relative!important;isolation:isolate!important;overflow:hidden!important;background-color:#30213f!important;background-image:radial-gradient(ellipse 35% 58% at 0% 52%,rgba(173,112,196,.27),transparent 100%),radial-gradient(ellipse 34% 65% at 100% 47%,rgba(148,101,196,.28),transparent 100%),radial-gradient(ellipse 22% 45% at 92% 77%,rgba(220,161,188,.17),transparent 100%),radial-gradient(ellipse 42% 60% at 50% 45%,rgba(71,48,94,.28),transparent 100%),linear-gradient(120deg,#30213f 0%,#39284b 50%,#2c203d 100%)!important}
#main-content .cosmos-about .about-stars{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;overflow:hidden}
#main-content .cosmos-about .about-star{position:absolute;display:block;border-radius:50%;background:#fff1d9;box-shadow:0 0 5px 1px rgba(255,230,192,.58),0 0 11px rgba(251,211,166,.2);animation:vmx-zdroje-about-twinkle var(--tw) ease-in-out var(--phase) infinite alternate}
@keyframes vmx-zdroje-about-twinkle{0%{opacity:.12;transform:scale(.8)}100%{opacity:var(--alpha);transform:scale(1.16)}}
#main-content .cosmos-about>.container, #main-content .cosmos-about>.hero-editorial-inner, #main-content .cosmos-about>.hero-story, #main-content .cosmos-about>.hero-audio-wrap, #main-content .cosmos-about>.gift-inner{position:relative;z-index:2}
#main-content .cosmos-about .glow{pointer-events:none}
#main-content .vm-night-stars{position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;pointer-events:none!important}
#main-content .vm-night-stars .vm-star{position:absolute;display:block;border-radius:50%;background:#fff4e7;opacity:var(--shine);box-shadow:0 0 var(--blur) rgba(255,235,202,.65),0 0 calc(var(--blur) * 2.3) rgba(249,202,160,.25)}
#main-content .vm-night-stars .vm-star.vm-pulse{animation:vmx-zdroje-vm-stellar-pulse var(--period) ease-in-out var(--delay) infinite alternate}
@keyframes vmx-zdroje-vm-stellar-pulse{0%{opacity:.035;transform:scale(.55)}100%{opacity:var(--shine);transform:scale(1.12)}}
#main-content .vm-night-stars .vm-star.vm-cross::before, #main-content .vm-night-stars .vm-star.vm-cross::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,rgba(255,239,215,.72),transparent)}
#main-content .vm-night-stars .vm-star.vm-cross::before{width:16px;height:1px}
#main-content .vm-night-stars .vm-star.vm-cross::after{width:1px;height:16px;background:linear-gradient(180deg,transparent,rgba(255,239,215,.72),transparent)}
#main-content .cosmos-about .about-stars{display:none!important}
@media (prefers-reduced-motion:reduce){#main-content .vm-night-stars .vm-star.vm-pulse{animation:none!important}
#main-content .cosmos-about .sparkle-field{display:none!important}
#main-content .cosmos-about > .container{position:relative;z-index:2}
#main-content .bali-wide-photo{width:100%;margin:0;padding:0;line-height:0;overflow:hidden;background:#281a34}
#main-content .bali-wide-photo img{display:block;width:100%;height:auto;object-fit:cover;}
#main-content .bali-wide-photo{display:block!important;margin:0!important;padding:0!important;line-height:0!important}
#main-content .bali-wide-photo img{display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}
#main-content .bali-wide-photo + section{margin-top:0!important}}
