/* ROCKSTAR branding — stejné tokeny jako identityshifting.evaberankovamentor.com */
:root{--ink:#15000B;--plum:#2A0F1D;--pink:#FF1B8D;--lime:#C9F24C;--blush:#FFF0F7;
--paper:#fff;--muted:#6B6068;--line:#CFCACD;--dm:rgba(255,255,255,.66);--dl:rgba(255,255,255,.13);
color-scheme:only light;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:#fff;font-family:Poppins,system-ui,sans-serif;font-size:16px;line-height:1.6;
-webkit-font-smoothing:antialiased;min-height:100svh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:
radial-gradient(110% 60% at 90% 0%,rgba(255,27,141,.22),transparent 58%),
radial-gradient(80% 50% at 0% 100%,rgba(201,242,76,.08),transparent 60%)}
.grain{position:fixed;inset:0;z-index:95;pointer-events:none;opacity:.35;mix-blend-mode:overlay;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.36'/%3E%3C/svg%3E")}
main,header,footer{position:relative;z-index:2}
p{margin:0 0 1em}strong{font-weight:600}
a{color:var(--lime)}
h1,h2,.anton{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:1.03;letter-spacing:.005em}
h1{font-size:clamp(2.3rem,8vw,4.2rem);margin:0 0 .25em}
h2{font-size:clamp(1.7rem,5vw,2.6rem);margin:0 0 .4em}
h3{font-size:1.05rem;font-weight:600;margin:0 0 .3em;line-height:1.35}
.kicker{font-family:"Space Grotesk",monospace;font-weight:700;font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;color:var(--pink);display:block;margin:0 0 10px}
.mono{font-family:"Space Grotesk",monospace}
.muted{color:var(--dm)}.pink{color:var(--pink)}.limec{color:var(--lime)}
.small{font-size:.86rem;line-height:1.5}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.narrow{max-width:460px}

/* lišta */
.top{position:sticky;top:0;z-index:50;background:rgba(21,0,11,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--dl)}
.top .bar{display:flex;align-items:center;gap:12px;max-width:1080px;margin:0 auto;padding:12px 16px}
.brand{flex:1;min-width:0;text-decoration:none;color:#fff;line-height:1.15}
.brand b{display:block;font-family:Anton,sans-serif;font-weight:400;font-size:1.05rem;letter-spacing:.03em;text-transform:uppercase}
.brand span{font-family:"Space Grotesk",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink)}
.tbtn{flex:none;background:none;border:1px solid var(--dl);color:var(--dm);font-family:"Space Grotesk",monospace;font-weight:700;
font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:9px 12px;cursor:pointer;text-decoration:none}
.tbtn:hover{border-color:var(--pink);color:#fff}
.prog{height:3px;background:rgba(201,242,76,.16)}
.prog i{display:block;height:100%;background:var(--lime);width:0;transition:width .8s cubic-bezier(.22,1,.36,1)}

/* tlačítka */
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--lime);color:var(--ink);text-decoration:none;position:relative;overflow:hidden;
border:0;font-family:"Space Grotesk",monospace;font-weight:700;font-size:.86rem;letter-spacing:.09em;text-transform:uppercase;
padding:18px 26px;cursor:pointer;width:100%;text-align:center;transition:transform .2s,box-shadow .3s}
.cta::before{content:"";position:absolute;inset:0;background:var(--pink);transform:translateY(101%);transition:transform .35s cubic-bezier(.76,0,.24,1)}
.cta:hover::before{transform:none}
.cta>*{position:relative;z-index:2;transition:color .3s}
.cta:hover>*{color:#fff}
.cta:hover{transform:translateY(-2px);box-shadow:0 16px 38px -16px rgba(201,242,76,.6)}
.cta[disabled]{opacity:.55;pointer-events:none}
.cta.ghost{background:transparent;box-shadow:inset 0 0 0 2px var(--lime);color:var(--lime)}
.cta.ghost::before{background:var(--lime)}
.cta.ghost:hover>*{color:var(--ink)}
.cta.pinkbtn{background:var(--pink);color:#fff}
.cta.pinkbtn::before{background:var(--lime)}
.cta.pinkbtn:hover>*{color:var(--ink)}
.linkbtn{background:none;border:0;color:var(--dm);font:inherit;font-size:.86rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
.linkbtn:hover{color:#fff}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px}

/* formuláře */
label{display:block;font-family:"Space Grotesk",monospace;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dm);margin:0 0 6px}
input,select,textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--dl);color:#fff;font:inherit;padding:14px 14px;margin:0 0 16px;border-radius:0}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--pink);background:rgba(255,27,141,.07)}
.msg{font-size:.88rem;padding:12px 14px;margin:0 0 16px;border-left:3px solid var(--pink);background:rgba(255,27,141,.1)}
.msg.ok{border-color:var(--lime);background:rgba(201,242,76,.1)}
.msg:empty{display:none}

/* přihlášení */
.auth{min-height:calc(100svh - 60px);display:flex;align-items:center;padding:40px 0 60px}
.auth .card{background:rgba(42,15,29,.72);border:1px solid var(--dl);padding:32px 22px}
@media(min-width:560px){.auth .card{padding:40px 36px}}
.auth .switch{margin-top:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}

/* nástěnka */
.hero{padding:44px 0 22px}
.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.stat{border:1px solid var(--dl);padding:10px 14px;font-family:"Space Grotesk",monospace;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dm)}
.stat b{color:var(--lime);font-family:Anton,sans-serif;font-weight:400;font-size:1.25rem;letter-spacing:.02em;margin-right:6px}
.grid{display:grid;gap:12px;grid-template-columns:1fr;padding:12px 0 70px}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.grid{grid-template-columns:repeat(3,1fr)}}
.lc{position:relative;display:flex;flex-direction:column;gap:6px;min-height:150px;padding:20px 18px 18px;background:var(--plum);border:1px solid var(--dl);
color:#fff;text-decoration:none;text-align:left;font:inherit;cursor:pointer;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,background .25s}
.lc:hover{transform:translateY(-3px);border-color:var(--pink)}
.lc .d{font-family:Anton,sans-serif;font-size:2.1rem;line-height:1;text-transform:uppercase;color:var(--pink)}
.lc h3{margin-top:auto}
.lc .st{font-family:"Space Grotesk",monospace;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dm)}
.lc.done .st{color:var(--lime)}
.lc.done::after{content:"✓";position:absolute;top:16px;right:16px;width:28px;height:28px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-weight:700}
.lc.next{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime)}
.lc.next .st{color:var(--lime)}
.lc.locked{cursor:default;background:rgba(42,15,29,.4)}
.lc.locked:hover{transform:none;border-color:var(--dl)}
.lc.locked .d{color:rgba(255,255,255,.22)}
.lc.locked h3{color:rgba(255,255,255,.45)}
.lc.locked::after{content:"";position:absolute;top:18px;right:18px;width:16px;height:20px;opacity:.5;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 20' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='1.5' y='8.5' width='13' height='10'/%3E%3Cpath d='M4.5 8.5V5.5a3.5 3.5 0 0 1 7 0v3'/%3E%3C/svg%3E") no-repeat center/contain}
.lc.finale{background:linear-gradient(140deg,var(--pink),#b80f63)}
.lc.finale .d{color:var(--lime)}
.lc.finale.locked{background:rgba(255,27,141,.12)}

/* lekce */
.lesson{padding:26px 0 80px}
.lgrid{display:grid;gap:28px}
@media(min-width:980px){.lgrid{grid-template-columns:1fr 300px;gap:40px}}
.back{display:inline-flex;gap:8px;align-items:center;margin:0 0 18px;color:var(--dm);text-decoration:none;font-family:"Space Grotesk",monospace;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;cursor:pointer;padding:0}
.back:hover{color:#fff}
.video{position:relative;aspect-ratio:16/9;background:#000;margin:0 0 24px;box-shadow:0 30px 70px -30px rgba(255,27,141,.45)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.body{font-size:1.04rem;max-width:680px}
.items{display:grid;gap:12px;margin:22px 0 0;max-width:680px}
.it{display:flex;gap:16px;align-items:flex-start;padding:18px;background:var(--plum);border:1px solid var(--dl);color:#fff;text-decoration:none}
a.it:hover{border-color:var(--lime)}
.it .ic{flex:none;width:44px;height:44px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-family:"Space Grotesk",monospace;font-weight:700;font-size:.66rem;letter-spacing:.08em}
.it.gift{background:linear-gradient(135deg,rgba(255,27,141,.22),rgba(42,15,29,.9));border-color:rgba(255,27,141,.45)}
.it.gift .ic{background:var(--pink);color:#fff;font-size:1.2rem}
.it .tx{flex:1;min-width:0}
.it .tx p{margin:.2em 0 .6em;color:var(--dm);font-size:.92rem}
.it audio{width:100%;margin-top:6px;height:40px}
.it .sub{font-family:"Space Grotesk",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.it .video{margin:10px 0 0}
.side .box{border:1px solid var(--dl);padding:20px;background:rgba(42,15,29,.6);position:sticky;top:90px}
.navl{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.navl button{width:100%;display:flex;gap:10px;align-items:center;background:none;border:0;color:#fff;font:inherit;font-size:.88rem;text-align:left;padding:9px 8px;cursor:pointer}
.navl button:hover{background:rgba(255,255,255,.05)}
.navl button[disabled]{color:rgba(255,255,255,.3);cursor:default;background:none}
.navl button.cur{background:rgba(255,27,141,.16);box-shadow:inset 3px 0 0 var(--pink)}
.navl .n{flex:none;width:58px;font-family:"Space Grotesk",monospace;font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pink)}
.navl button[disabled] .n{color:rgba(255,255,255,.25)}
.navl .ok{margin-left:auto;color:var(--lime);font-weight:700}
.pager{display:flex;gap:10px;margin-top:30px;max-width:680px}
.pager .cta{padding:15px 16px;font-size:.74rem}

/* grand finále */
.finale{margin:26px 0 0;max-width:680px;padding:28px 22px;background:linear-gradient(140deg,var(--plum),#3d0f26);border:1px solid rgba(255,27,141,.5);text-align:center}
.cd{display:flex;justify-content:center;gap:8px;margin:14px 0 6px}
.cd div{min-width:64px;padding:10px 6px;background:var(--ink);border:1px solid var(--dl)}
.cd b{display:block;font-family:Anton,sans-serif;font-weight:400;font-size:2rem;line-height:1;color:var(--lime);font-variant-numeric:tabular-nums}
.cd span{font-family:"Space Grotesk",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm)}

footer{border-top:1px solid var(--dl);padding:22px 0 30px;color:var(--dm);font-size:.8rem}
.hide{display:none!important}
.loading{min-height:60svh;display:grid;place-items:center;font-family:"Space Grotesk",monospace;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dm)}

/* administrace */
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--dl);vertical-align:middle}
th{font-family:"Space Grotesk",monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dm);font-weight:700}
td input{margin:0;padding:6px 8px;font-size:.84rem}
.pill{display:inline-block;padding:3px 8px;font-family:"Space Grotesk",monospace;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.pill.on{background:var(--lime);color:var(--ink)}.pill.off{background:rgba(255,255,255,.12);color:var(--dm)}
.bar2{height:6px;background:rgba(255,255,255,.1);min-width:70px}.bar2 i{display:block;height:100%;background:var(--pink)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.mini{background:none;border:1px solid var(--dl);color:#fff;font-family:"Space Grotesk",monospace;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;cursor:pointer;white-space:nowrap}
.mini:hover{border-color:var(--pink)}
.mini.danger:hover{border-color:#ff4d4d;color:#ff8080}
.panel{background:rgba(42,15,29,.6);border:1px solid var(--dl);padding:20px;margin:0 0 20px}
.row{display:grid;gap:12px}
@media(min-width:760px){.row{grid-template-columns:2fr 1fr auto;align-items:end}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* sledování videa → otevření další lekce */
.watch{display:flex;flex-direction:column;gap:8px;margin:-10px 0 24px;max-width:680px;font-family:"Space Grotesk",monospace;font-size:.74rem;letter-spacing:.06em;color:var(--dm)}
.watch b{color:var(--lime)}
.wbar{height:6px;background:rgba(255,255,255,.1)}
.wbar i{display:block;height:100%;width:0;background:var(--lime);transition:width .6s ease}
