:root{color-scheme:dark;--font-size:58px;--line-height:1.38;--read-width:82%;--amber:#d9a441;--muted:#898989;--panel:rgba(13,13,13,.94);--safe-t:max(10px,env(safe-area-inset-top));--safe-r:max(12px,env(safe-area-inset-right));--safe-b:max(10px,env(safe-area-inset-bottom));--safe-l:max(12px,env(safe-area-inset-left));font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
 [hidden]{display:none!important}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;height:100dvh;margin:0;overflow:hidden;background:#000;color:#fff}button,input,textarea{font:inherit}button{color:#fff}.reader{position:fixed;inset:0;overflow:hidden;background:#000;touch-action:manipulation}.mirror-plane{position:absolute;inset:0;transform-origin:center;will-change:transform}.track{width:var(--read-width);max-width:1800px;margin:0 auto;padding:33vh 0 70vh;font-size:var(--font-size);line-height:var(--line-height);font-weight:560;letter-spacing:-.018em;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.track p{margin:0 0:.72em}.track strong{font-weight:850;color:#fff}.direction{display:inline;color:var(--amber);opacity:.78;font-size:.58em;line-height:1.45;font-style:italic;font-weight:520;letter-spacing:0}.direction.block{display:block;margin:.45em 0 1em;padding-left:1rem;border-left:2px solid color-mix(in srgb,var(--amber) 48%,transparent)}.hide-directions .direction{display:none}.pause{color:#777;font-size:.72em;letter-spacing:.12em;white-space:nowrap}.divider{margin:1.8em 0 1.15em;color:#7b7b7b;font-size:.42em;line-height:1.3;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.divider:before{content:"";display:block;width:100%;height:1px;margin-bottom:.7em;background:linear-gradient(90deg,#555,transparent)}.reset{color:#a98342}.eyeline{position:absolute;z-index:5;top:33.333%;left:var(--safe-l);right:var(--safe-r);height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(217,164,65,.56) 12%,rgba(217,164,65,.56) 88%,transparent);transition:opacity .2s}.eyeline:before,.eyeline:after{content:"";position:absolute;top:-4px;width:9px;height:9px;border-radius:50%;background:#d9a441}.eyeline:before{left:0}.eyeline:after{right:0}.eyeline.off{opacity:0}.countdown{position:absolute;z-index:20;inset:0;display:grid;place-items:center;pointer-events:none;font-size:min(46vw,46vh);font-weight:800;background:rgba(0,0,0,.28);opacity:0}.countdown.active{opacity:1}.progress{position:fixed;z-index:30;left:0;right:0;bottom:0;height:4px;background:#202020}.progress i{display:block;width:0;height:100%;background:var(--amber);transform-origin:left;transition:none}.controls{position:fixed;z-index:25;left:var(--safe-l);right:var(--safe-r);bottom:calc(var(--safe-b) + 8px);padding:10px;border:1px solid #303030;border-radius:18px;background:var(--panel);box-shadow:0 12px 50px #000;backdrop-filter:blur(16px);transition:opacity .2s,transform .25s}.controls.hidden{opacity:0;transform:translateY(calc(100% + 30px));pointer-events:none}.primary-row{display:flex;align-items:stretch;gap:8px}.button,.compact-control button,.settings button,.file-button{min-width:58px;min-height:52px;border:1px solid #3a3a3a;border-radius:12px;background:#222;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.button span{font-size:1.25rem}.button b{font-size:.76rem}.accent{background:#e2aa3e!important;border-color:#e2aa3e!important;color:#080808!important}.compact-control{display:flex;align-items:center;gap:7px;flex:1;padding:0 10px;border:1px solid #303030;border-radius:12px;background:#171717}.compact-control button{min-width:44px;min-height:44px;font-size:1.5rem}.control-label{font-size:.72rem;color:#aaa}.compact-control input{flex:1;min-width:80px;accent-color:var(--amber)}.compact-control output{min-width:67px;font-size:.74rem;font-variant-numeric:tabular-nums;color:#ddd}.settings{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;padding-top:10px}.settings label,.setting-stepper{min-height:58px;padding:7px 10px;border:1px solid #303030;border-radius:12px;background:#171717;font-size:.76rem}.settings label:not(.toggle){display:grid;grid-template-columns:1fr auto;gap:6px}.settings label input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--amber)}.setting-stepper{display:grid;grid-template-columns:1fr 42px 42px;align-items:center;gap:5px}.setting-stepper span{display:flex;flex-direction:column;color:#bbb}.setting-stepper output{color:#fff}.setting-stepper button{min-width:40px;min-height:40px}.toggle{display:flex;align-items:center!important;gap:9px;cursor:pointer}.toggle input{position:absolute;opacity:0}.toggle span{position:relative;width:38px;height:22px;flex:none;border-radius:20px;background:#444}.toggle span:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#bbb;transition:.15s}.toggle input:checked+span{background:#a97925}.toggle input:checked+span:after{left:19px;background:#fff}.wide{font-size:.76rem}.show-controls{position:fixed;z-index:24;right:var(--safe-r);bottom:calc(var(--safe-b) + 12px);width:60px;height:48px;border:1px solid #333;border-radius:14px;background:rgba(25,25,25,.8);font-size:1.4rem;opacity:0;pointer-events:none;transition:.2s}.controls.hidden~*{}.show-controls.visible{opacity:1;pointer-events:auto}dialog{width:min(94vw,1000px);height:min(88dvh,760px);padding:0;border:1px solid #3b3b3b;border-radius:20px;background:#101010;color:#fff;box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.editor-card{display:grid;grid-template-rows:auto 1fr auto;height:100%}.editor-card header,.editor-card footer{display:flex;align-items:center;gap:10px;padding:14px}.editor-card header{justify-content:space-between}.editor-card h2,.editor-card p{margin:0}.editor-card p{margin-top:3px;color:#999;font-size:.8rem}.editor-card header button{width:44px;height:44px;border:0;background:transparent;font-size:2rem}.editor-card textarea{width:calc(100% - 28px);height:100%;margin:0 14px;padding:14px;resize:none;border:1px solid #333;border-radius:12px;outline:none;background:#070707;color:#eee;font:15px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.editor-card footer{justify-content:flex-end;flex-wrap:wrap}.editor-card footer button,.file-button{min-height:46px;padding:0 16px;border:1px solid #3a3a3a;border-radius:10px;background:#222;color:#fff;font-size:.82rem}.file-button input{display:none}.toast{position:fixed;z-index:100;left:50%;bottom:calc(var(--safe-b) + 16px);max-width:90vw;padding:10px 16px;border-radius:10px;background:#292929;color:#eee;font-size:.78rem;opacity:0;transform:translate(-50%,15px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.ios-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;background:#000!important}
@media (max-width:760px){.track{--read-width:94%;font-size:clamp(32px,var(--font-size),72px)}.button b{display:none}.button{min-width:52px}.controls{padding:7px}.control-label{display:none}.compact-control{padding:0 6px}.compact-control output{min-width:58px}.settings{grid-template-columns:repeat(2,1fr);max-height:48dvh;overflow:auto}.settings .wide{grid-column:1/-1}.editor-card footer{justify-content:stretch}.editor-card footer>*{flex:1}}
@media (orientation:landscape) and (max-height:520px){.track{padding-top:33vh;font-size:var(--font-size)}.controls{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom));padding:6px;border-radius:14px}.primary-row{gap:6px}.button,.compact-control button{min-height:46px}.button{min-width:48px}.button b,.control-label{display:none}.settings{grid-template-columns:repeat(8,1fr);max-height:38dvh;overflow:auto}.settings label,.setting-stepper{min-height:50px}.setting-stepper{grid-column:span 2}.settings .wide{grid-column:span 2}.compact-control output{font-size:.68rem}.progress{height:3px}}
@media (prefers-reduced-motion:reduce){.controls,.toast{transition:none}}
.progress i{width:100%;transform:scaleX(0)}
.direction.block .direction{font-size:1em}.hide-directions .direction.block{display:none}
/* Knihovna scénářů (menu) */
.library-dialog{width:min(94vw,760px);height:auto;max-height:min(88dvh,720px)}
.library-card{display:flex;flex-direction:column;height:100%;min-height:0}
.library-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #2a2a2a}
.library-card h2{margin:0;font-size:1.05rem}
.library-card header p{margin:3px 0 0;color:#999;font-size:.8rem}
.library-card>header button{width:44px;height:44px;flex:none;border:0;background:transparent;color:#fff;font-size:1.9rem;cursor:pointer;border-radius:10px}
.library-card>header button:hover{background:#242424}
.library-folders{padding:12px 0 16px;overflow:auto}
.library-folder{margin:0 14px 8px}
.library-folder>summary{list-style:none;cursor:pointer;padding:10px 6px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);font-weight:700}
.library-folder>summary::-webkit-details-marker{display:none}
.scenario-list{display:grid;gap:8px}
.scenario-item{width:100%;text-align:left;min-height:62px;padding:16px 18px;border:1px solid #3a3a3a;border-radius:12px;background:#1c1c1c;color:#fff;font-size:1.02rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;transition:border-color .15s,background .15s,transform .1s}
.scenario-item:hover,.scenario-item:focus-visible{border-color:var(--amber);background:#242424;outline:none}
.scenario-item:active{transform:scale(.99)}
.scenario-item::before{content:"\25B6";color:var(--amber);font-size:.8rem}
@media (orientation:landscape) and (max-height:520px){.library-dialog{max-height:92dvh}.scenario-item{min-height:52px;padding:12px 16px}.library-folders{padding:8px 0}}
/* Menu tlačítko Scénáře — vždy s popiskem, zvýrazněné jako vstup do knihovny */
#openLibrary{border-color:var(--amber);background:#241d0e}
#openLibrary b{display:inline!important;font-size:.78rem}
#openLibrary span{font-size:1.2rem}
