/* Pyrotek – uzamčení portálu */
#ptl-root{--ptl-ink:#E8EEF6;--ptl-mut:#93A3B8;--ptl-line:rgba(148,170,200,.18);--ptl-bg:rgba(9,14,24,.86);--ptl-red:#EE3426;--ptl-amb:#F5B83D;--ptl-grn:#3DD68C;--ptl-cy:#5CC8FF;
	font-family:Inter,"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--ptl-ink);-webkit-font-smoothing:antialiased}
#ptl-root *,#ptl-root *::before,#ptl-root *::after{box-sizing:border-box}
html.ptl-on:not(.ptl-int) body.ptl-body>*:not(#ptl-root){filter:saturate(.55) brightness(.97);transition:filter .6s}
html.ptl-on body.ptl-body{padding-bottom:58px!important}
html.ptl-on:not(.ptl-int) body.ptl-body *:not(#ptl-root):not(#ptl-root *){cursor:not-allowed!important;user-select:text}
html.ptl-on:not(.ptl-int) body.ptl-body input,html.ptl-on:not(.ptl-int) body.ptl-body textarea,html.ptl-on:not(.ptl-int) body.ptl-body select{caret-color:transparent}
/* závoj a skenovací linka */
.ptl-shade{position:fixed;inset:0;pointer-events:none;z-index:2147483000;background:repeating-linear-gradient(135deg,rgba(15,23,42,.035) 0 2px,transparent 2px 14px)}
.ptl-scan{position:absolute;left:0;right:0;height:120px;top:-120px;background:linear-gradient(180deg,transparent,rgba(92,200,255,.06),transparent);animation:ptl-scan 7s linear infinite}
@keyframes ptl-scan{to{top:100%}}
/* panel */
.ptl-panel{position:fixed;inset:0;z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(1200px 600px at 50% 0%,rgba(238,52,38,.16),transparent 60%),rgba(5,9,16,.62);backdrop-filter:blur(6px) saturate(.8);-webkit-backdrop-filter:blur(6px) saturate(.8);animation:ptl-fade .35s ease-out}
.ptl-panel[hidden]{display:none}
@keyframes ptl-fade{from{opacity:0}to{opacity:1}}
.ptl-card{position:relative;overflow:hidden;width:min(680px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:linear-gradient(160deg,rgba(18,27,44,.96),rgba(9,14,24,.97));border:1px solid var(--ptl-line);border-radius:22px;padding:28px 30px 24px;box-shadow:0 40px 120px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);animation:ptl-rise .5s cubic-bezier(.2,.8,.2,1)}
@keyframes ptl-rise{from{transform:translateY(18px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.ptl-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:repeating-linear-gradient(135deg,var(--ptl-amb) 0 12px,#111827 12px 24px);opacity:.9}
.ptl-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--ptl-line) 1px,transparent 1px),linear-gradient(90deg,var(--ptl-line) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(500px 260px at 80% 0%,#000,transparent 70%);-webkit-mask-image:radial-gradient(500px 260px at 80% 0%,#000,transparent 70%);opacity:.5}
.ptl-head{position:relative;display:flex;gap:18px;align-items:center;margin:6px 0 14px}
.ptl-head h2{margin:4px 0 0;font-size:28px;line-height:1.15;font-weight:750;letter-spacing:-.5px;color:#fff}
.ptl-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ptl-amb)}
.ptl-live{width:8px;height:8px;border-radius:50%;background:var(--ptl-red);box-shadow:0 0 0 0 rgba(238,52,38,.7);animation:ptl-pulse 1.6s infinite}
@keyframes ptl-pulse{0%{box-shadow:0 0 0 0 rgba(238,52,38,.7)}70%{box-shadow:0 0 0 10px rgba(238,52,38,0)}100%{box-shadow:0 0 0 0 rgba(238,52,38,0)}}
/* zámek */
.ptl-lock{flex:0 0 76px;width:76px;height:76px;overflow:visible}
.ptl-lock .ptl-ring{fill:none;stroke:rgba(92,200,255,.35);stroke-width:1.2;stroke-dasharray:4 6;transform-origin:32px 32px;animation:ptl-rot 18s linear infinite}
.ptl-lock .ptl-ring2{fill:rgba(238,52,38,.08);stroke:rgba(238,52,38,.55);stroke-width:1.4;transform-origin:32px 32px;animation:ptl-breathe 2.8s ease-in-out infinite}
.ptl-lock .ptl-shackle{fill:none;stroke:#fff;stroke-width:3.4;stroke-linecap:round;animation:ptl-close 1.1s .35s cubic-bezier(.5,1.6,.5,1) both}
.ptl-lock .ptl-body-l{fill:var(--ptl-red);filter:drop-shadow(0 4px 10px rgba(238,52,38,.45))}
.ptl-lock .ptl-key{fill:#fff;stroke:#fff;stroke-width:2.6;stroke-linecap:round}
@keyframes ptl-rot{to{transform:rotate(360deg)}}
@keyframes ptl-breathe{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.07);opacity:.55}}
@keyframes ptl-close{from{transform:translateY(-7px)}to{transform:none}}
.ptl-msg{position:relative;margin:0 0 16px;font-size:15.5px;line-height:1.6;color:#C9D4E3}
.ptl-note{position:relative;margin:-6px 0 16px;font-size:14px;color:var(--ptl-mut);border-left:2px solid var(--ptl-cy);padding-left:10px}
/* stavy */
.ptl-status{position:relative;list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ptl-status li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ptl-line);border-radius:12px;background:rgba(255,255,255,.025);font-size:13px}
.ptl-status li span{flex:1;color:var(--ptl-mut)}.ptl-status li b{font-weight:700;color:#fff}
.ptl-status i{width:9px;height:9px;border-radius:50%;flex:0 0 9px}
.ptl-status .ok i{background:var(--ptl-grn);box-shadow:0 0 10px rgba(61,214,140,.6)}.ptl-status .hold i{background:var(--ptl-red);box-shadow:0 0 10px rgba(238,52,38,.6)}
.ptl-status .wait i{background:var(--ptl-amb);animation:ptl-blink 1.2s steps(2,start) infinite}.ptl-status .wait b{color:var(--ptl-amb)}.ptl-status .hold b{color:#FF8A80}
@keyframes ptl-blink{to{visibility:hidden}}
/* terminál */
.ptl-term{position:relative;border:1px solid var(--ptl-line);border-radius:12px;background:#060A12;overflow:hidden;margin-bottom:16px}
.ptl-term-h{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--ptl-line);background:rgba(255,255,255,.03)}.ptl-term-h span{width:9px;height:9px;border-radius:50%;background:#2A3446}.ptl-term-h span:first-child{background:#5B2A2A}.ptl-term-h em{margin-left:auto;font-style:normal;font-size:11px;color:var(--ptl-mut);font-family:ui-monospace,"JetBrains Mono",Consolas,monospace}
#ptl-log{margin:0;height:122px;overflow:hidden;padding:10px 12px;font:12.5px/1.65 ui-monospace,"JetBrains Mono",Consolas,monospace;color:#9FB3C8;white-space:pre-wrap}
#ptl-log .t{color:#4B5B70}#ptl-log .k{color:var(--ptl-cy);font-weight:700}#ptl-log .w{color:var(--ptl-amb)}#ptl-log .cur::after{content:"▋";color:var(--ptl-grn);animation:ptl-blink 1s steps(2,start) infinite;margin-left:2px}
/* meta + tlačítka */
.ptl-meta{position:relative;display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 18px}.ptl-meta div{display:flex;flex-direction:column}.ptl-meta dt{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ptl-mut)}.ptl-meta dd{margin:2px 0 0;font-size:14px;font-weight:650;color:#fff;font-variant-numeric:tabular-nums}
.ptl-actions{position:relative;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ptl-btn{appearance:none;border:0;border-radius:12px;padding:12px 20px;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer!important;color:#fff;background:linear-gradient(180deg,#F04A3C,#C9261A);box-shadow:0 8px 24px rgba(238,52,38,.35)}
.ptl-btn:hover{filter:brightness(1.08)}.ptl-btn:focus-visible,.ptl-link:focus-visible{outline:2px solid var(--ptl-cy);outline-offset:3px}
.ptl-btn.ghost{background:rgba(255,255,255,.06);box-shadow:none;border:1px solid var(--ptl-line);padding:7px 12px;font-size:12.5px;border-radius:9px}
.ptl-link{color:var(--ptl-cy)!important;font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer!important}.ptl-link:hover{text-decoration:underline}
/* spodní lišta */
.ptl-bar{position:fixed;left:0;right:0;bottom:0;z-index:2147483500;height:50px;display:flex;align-items:center;gap:14px;padding:0 14px;background:var(--ptl-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--ptl-line);box-shadow:0 -10px 40px rgba(0,0,0,.18)}
.ptl-bar::before{content:"";position:absolute;left:0;right:0;top:-3px;height:3px;background:repeating-linear-gradient(135deg,var(--ptl-amb) 0 10px,#111827 10px 20px);animation:ptl-stripe 1.2s linear infinite;background-size:28.28px 3px}
@keyframes ptl-stripe{to{background-position:28.28px 0}}
.ptl-bar-l{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px}.ptl-bar-l b{font-weight:700;color:#fff}.ptl-bar .ptl-lock{width:30px;height:30px;flex-basis:30px}
.ptl-ticker{flex:1;overflow:hidden;position:relative;height:50px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
#ptl-tick{position:absolute;top:0;left:0;white-space:nowrap;line-height:50px;font:12px/50px ui-monospace,"JetBrains Mono",Consolas,monospace;color:#8FA2B8;animation:ptl-marquee 60s linear infinite}
#ptl-tick b{color:var(--ptl-cy);font-weight:700;margin-left:28px}
@keyframes ptl-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ptl-bar-r{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:12.5px;color:var(--ptl-mut);font-variant-numeric:tabular-nums}
.ptl-toast{position:fixed;left:50%;bottom:66px;transform:translateX(-50%);z-index:2147483650;background:#0B1220;color:#fff;border:1px solid rgba(238,52,38,.5);border-radius:12px;padding:10px 16px;font-size:13.5px;box-shadow:0 12px 30px rgba(0,0,0,.35);max-width:92vw;display:flex;gap:8px;align-items:center}
.ptl-toast[hidden]{display:none}.ptl-toast::before{content:"🔒"}
@media (max-width:760px){.ptl-card{padding:22px 18px 18px;border-radius:18px}.ptl-head{gap:12px}.ptl-head h2{font-size:22px}.ptl-lock{width:56px;height:56px;flex-basis:56px}.ptl-status{grid-template-columns:1fr}#ptl-log{height:100px;font-size:11.5px}
	.ptl-ticker{display:none}.ptl-bar{gap:8px;justify-content:space-between}.ptl-bar-l b{font-size:12px;white-space:normal;line-height:1.2}.ptl-bar-r .ptl-elapsed,.ptl-bar-r .ptl-link{display:none}}
@media (prefers-reduced-motion:reduce){#ptl-root *,#ptl-root *::before{animation:none!important}.ptl-shade .ptl-scan{display:none}}
@media print{#ptl-root{display:none}}

/* jazyk */
#ptl-root[data-lang="cs"] .ptl-l[lang="en"],#ptl-root[data-lang="en"] .ptl-l[lang="cs"]{display:none}
.ptl-langsw{position:absolute;top:16px;right:18px;z-index:2;display:inline-flex;border:1px solid var(--ptl-line);border-radius:9px;overflow:hidden;background:rgba(255,255,255,.03)}
.ptl-langsw button{appearance:none;border:0;background:none;color:var(--ptl-mut);font:700 11.5px/1 inherit;font-family:inherit;letter-spacing:.08em;padding:7px 10px;cursor:pointer!important}
.ptl-langsw button+button{border-left:1px solid var(--ptl-line)}.ptl-langsw button.on{background:rgba(92,200,255,.14);color:#fff}
.ptl-langsw button:focus-visible{outline:2px solid var(--ptl-cy);outline-offset:-2px}
.ptl-langsw.sm{position:static}.ptl-langsw.sm button{padding:6px 8px;font-size:11px}
.ptl-head{padding-right:84px}
@media (max-width:760px){.ptl-head{padding-right:0;margin-top:30px}.ptl-langsw{top:14px;right:14px}}
