*{box-sizing:border-box}body{margin:0;background:#f3f7fb;color:#15263a;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wrap{max-width:820px;margin:auto;padding:16px 16px 48px}.top,.qtop,.loginbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.top{margin-bottom:24px}.back{color:#12619a;font-weight:700;text-decoration:none}.small,.muted,.foot{color:#63768b;font-size:14px}.heading{margin:0 0 24px}.heading h1{font-size:clamp(32px,6vw,45px);line-height:1.1;margin:10px 0 8px}.heading p{color:#4d6073;margin:0}.kicker{color:#1372a9;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.panel{padding:clamp(18px,3vw,32px);background:#fff;border:1px solid #d8e3ef;box-shadow:0 3px 20px #10334a0c;border-radius:18px;margin-bottom:18px}.panel h2{margin:0 0 16px}.stack{display:grid;gap:8px}label{font-weight:700;display:block;margin-bottom:6px}select,input[type=password]{font:inherit;width:100%;padding:13px;border:1px solid #b6c9dc;border-radius:10px;background:white;min-height:48px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.btn{cursor:pointer;border:0;border-radius:11px;min-height:48px;padding:12px 20px;font:700 16px system-ui;display:inline-flex;justify-content:center;align-items:center}.primary{color:white;background:#125c96}.primary:hover{background:#084673}.secondary{color:#125c96;background:#dceaf6}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fa9d37;outline-offset:2px}.linkbutton{background:none;border:0;color:#125c96;text-decoration:underline;cursor:pointer;font:inherit}.loginbar{margin-bottom:12px;color:#246446;font-size:14px}.err{background:#fff3f3;color:#ad2020;padding:12px;margin:10px 0;border:1px solid #f2acac;border-radius:8px}.hidden{display:none!important}.progressbar{background:#e7edf4;height:9px;border-radius:50px;margin:12px 0 22px;overflow:hidden}.progressbar div{background:#167bb7;height:100%;transition:width .25s}.tag{background:#e4edf8;color:#1d5076;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:700}.qtop{font-size:14px}#question{font-size:clamp(19px,3vw,23px);line-height:1.3}.option{border:1px solid #c9d9e6;border-radius:10px;padding:13px 14px;display:flex;gap:12px;align-items:flex-start;margin-bottom:10px;cursor:pointer;font-weight:500}.option:hover{background:#f5faff}.option input{accent-color:#125c96;transform:scale(1.25);margin-top:4px;flex-shrink:0}.option strong{min-width:20px}.option.good{border-color:#50b28a;background:#e9f8f0}.option.bad{border-color:#e78f8a;background:#fff0ef}fieldset{border:0;margin:0 0 10px;padding:0}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#check,#next,#start,#again{width:100%}.feedback{margin:16px 0;padding:15px;background:#f1f6fd;border-radius:10px}.feedback.ok{background:#e8f8f0}.feedback.fail{background:#fff2ed}.feedback a{color:#064a89}.feedback h3{margin:0 0 8px}.score{font-size:32px;font-weight:800;color:#175e95}.review{padding:12px 0;border-bottom:1px solid #d9e5f1}.review p{margin:6px 0}.foot{line-height:1.6;margin-top:26px}@media(max-width:580px){.fields{grid-template-columns:1fr}.top{align-items:flex-start}.panel{border-radius:12px}.heading{margin-top:10px}}
.tinyNote{color:#677e91;font-size:13px;line-height:1.5}.testCards{display:grid;gap:10px}.testCard{text-align:left;display:flex;flex-direction:column;gap:3px;border:1px solid #c6d8e6;background:#fafcff;padding:15px;border-radius:12px;color:inherit;font:inherit;cursor:pointer}.testCard:hover{border-color:#2978a9;background:#eff7fc}.testCard strong{font-size:18px;color:#164b74}.testCard span{font-size:13px;color:#526b81}.testCard .opentext{color:#0b5f9d;font-weight:800;margin-top:5px}.archiveNav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.archiveNav button:disabled{cursor:not-allowed;opacity:.45}.archiveImage{display:block;width:100%;height:auto;border-radius:8px;border:1px solid #a8bccd;margin:18px 0;object-fit:contain}.archiveOptions{padding-left:26px}.archiveOptions li{margin:12px 0}details{background:#f2f7fc;border-radius:10px;padding:12px;margin-top:18px;cursor:pointer}#archiveContent>p{font-size:17px;line-height:1.6}#sourceBadge{font-weight:700;font-size:13px}
/* Source-based practice and Krimi – isolated from the unchanged road-sign module. */
.practicePhoto{display:block;width:100%;max-height:75vh;object-fit:contain;border:1px solid #c5d3df;border-radius:10px;margin:14px 0;background:#f1f5f9}
.practiceManualButtons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
#practiceGame .qtop{margin-top:20px}
#practiceGame #practiceCheck,#practiceGame #practiceNext,#practiceGame #practicePhoto button{width:100%}
#practiceFeedback{overflow-wrap:anywhere}
@media(max-width:480px){.practiceManualButtons{grid-template-columns:1fr}}
.practiceAnswerPhoto{max-width:calc(100% - 50px);width:auto;height:auto;max-height:160px;object-fit:contain;display:block}
#practiceChoices .option{align-items:center;min-height:48px}
#practiceChoices .option input{margin:0}

/* Tmavý design sjednocený s dopravními značkami, mobilní ovládání. */
:root{color-scheme:dark}
html,body{background:#0b1420;color:#edf4fd}
body{overflow-x:hidden}
.wrap{max-width:900px;width:100%;padding:clamp(12px,3vw,26px) 14px 48px}
.back,.linkbutton{color:#92c8ff}
.small,.muted,.foot,.tinyNote{color:#bac9d9}
.heading p{color:#b6c8da}
.kicker{color:#85bcf6}
.panel{background:#172537;color:#edf5fd;border-color:#314760;box-shadow:0 12px 30px #030a1445}
.panel h1,.panel h2,.heading h1{color:#f3f8ff}
select,input[type=password],textarea{background:#0e1c2d;color:#edf6ff;border:1px solid #506c86;border-radius:10px;min-height:48px;font:inherit;width:100%;padding:12px}
select option{background:#172537;color:#fff}
.btn.primary{background:#287dca;color:#fff}.btn.primary:hover{background:#388ddd}
.btn.secondary{background:#294561;color:#edf6ff}
.option{background:#1a2b3e;border-color:#3d5570;color:#edf6ff;min-height:50px}
.option:hover,.option:focus-within{background:#283d56;border-color:#5d8dbe}
.option:has(input:checked){background:#263f5c;border-color:#73ace3}
.option input{accent-color:#61a8ed}
.progressbar{background:#30455b}.progressbar>div{background:#4c9ad9}
.tag{background:#2a415b;color:#d3e8fc}
.review{border-bottom-color:#38526b}
.review strong{color:#edf6ff}
.review small{display:block;color:#b9cbda;margin-top:6px}
.score{color:#8ccaff}
.text-success{color:#6bd6a6}.text-danger{color:#ffae9b}
.feedback{background:#20364e}.feedback.ok{background:#1c4538}.feedback.fail{background:#51312f}
.testCard{background:#1d3046;border-color:#395770;color:#e8f2ff}
.testCard:hover{background:#273f58;border-color:#6ba7d7}
.testCard strong{color:#f1f7fe}.testCard span{color:#b2c9dc}.testCard .opentext{color:#90c9ff}
.archiveImage,.practicePhoto{border-color:#4d6780;background:#253b51}
details{background:#253a50;color:#edf5fd}
.loginbar{color:#91deb7}.err{background:#49282a;border-color:#a54f55;color:#ffcece}
#practiceReview .review{padding:16px 0}
#practiceChoices textarea{resize:vertical;min-height:120px}
#practiceGame,#game{scroll-margin-top:12px}
#practiceCheck,#practiceStart,#start,#check,#again,#practiceAgain{width:100%}
button{touch-action:manipulation;max-width:100%}
@media(max-width:600px){.wrap{padding:12px 10px 36px}.fields{grid-template-columns:1fr;gap:10px}.panel{padding:16px 13px;border-radius:12px}.heading h1{font-size:clamp(27px,7vw,38px)}.top{align-items:flex-start;flex-wrap:wrap}.top .small{max-width:100%}.option{padding:14px 12px;gap:10px}.option strong{flex:0 0 21px}.qtop{align-items:flex-start;flex-wrap:wrap}.archiveNav{grid-template-columns:1fr 1fr}.archiveNav .btn{padding:12px 8px}#practiceQuestion,#question{overflow-wrap:anywhere}.practicePhoto{max-height:55vh}}
@media(max-width:380px){.archiveNav{grid-template-columns:1fr}.btn{padding:12px 10px}}

/* Čistě textové výukové přepisy. */
.studyAnswer{margin:18px 0;padding:16px;border:1px solid #3d725e;background:#173c32;border-radius:12px;line-height:1.55}
.studyAnswer strong{color:#a0f2c9;display:block;margin-bottom:8px}
.studyAnswer p{margin:0;font-size:17px;overflow-wrap:anywhere}
#archiveContent .tinyNote{font-size:12px;overflow-wrap:anywhere}

/* Čistě textové výukové přepisy. */
.studyAnswer{margin:18px 0;padding:16px;border:1px solid #3d725e;background:#173c32;border-radius:12px;line-height:1.55}
.studyAnswer strong{color:#a0f2c9;display:block;margin-bottom:8px}
.studyAnswer p{margin:0;font-size:17px;overflow-wrap:anywhere}
#archiveContent .tinyNote{font-size:12px;overflow-wrap:anywhere}
