.theory-document{border:1px solid var(--line);background:white}.theory-document .download-card{border:0;margin:0;padding:26px 28px}.theory-document .download-card>span{font-size:30px;color:var(--red)}.theory-file-link{display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid var(--line);padding:14px;font-weight:700;font-size:14px}.theory-file-link:hover{background:var(--ink);color:white}.theory-foundation{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:24px}.theory-foundation article{background:#fff;border:1px solid var(--line);padding:32px}.theory-step{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--muted)}.theory-explainer h3{font-size:32px;margin:14px 0 20px}.theory-number{display:flex;gap:22px;align-items:center}.theory-number strong{font-family:var(--heading);font-size:88px;line-height:1;color:var(--red)}.theory-number span{font-size:18px;line-height:1.5}.theory-or{align-self:center;font-size:16px;color:var(--muted)}.theory-plus{display:flex;justify-content:center;align-items:center;gap:14px;font-weight:700;font-size:21px;margin:26px 0}.theory-plus>span{color:var(--red);font-size:42px;line-height:1}.theory-additions{display:grid;grid-template-columns:1fr 1fr;gap:24px}.theory-additions article{border-top:4px solid var(--red);background:white;padding:30px;display:flex;gap:24px;align-items:flex-start}.theory-class-icon{background:#fff0ef;color:var(--red);padding:16px}.theory-class-icon .icon{width:38px;height:38px}.theory-additions h3{margin:0 0 18px}.theory-additions h3 small{display:block;font-family:var(--body);font-size:16px;color:var(--muted);margin-top:5px}.theory-summary{display:flex;justify-content:space-between;gap:20px;background:var(--ink);color:white;padding:24px 30px;margin-top:24px;font-size:16px}.theory-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:38px}.theory-info-grid p{color:var(--muted);font-size:16px}.plan-open{overflow:hidden}.plan-dialog{border:0;padding:0;background:#e4e3df;width:min(900px,calc(100vw - 48px));max-width:none;max-height:94dvh;overflow:hidden;box-shadow:0 24px 100px #0008;color:var(--ink)}.plan-dialog::backdrop{background:rgba(18,19,20,.8);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;padding:14px 18px;border-bottom:1px solid #d6d5cf}.plan-toolbar>strong{font-size:15px}.plan-tools{display:flex;gap:9px;flex-shrink:0}.plan-tools>a,.plan-tools>button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #babbb8;border-radius:50%;background:white;color:var(--ink);font-size:26px;cursor:pointer;text-decoration:none}.plan-tools>a:hover,.plan-tools>button:hover{background:var(--ink);color:white}.plan-sheet{max-height:calc(94dvh - 69px);overflow:auto;overscroll-behavior:contain;padding:20px}.plan-sheet img{display:block;width:100%;height:auto;max-width:none;box-shadow:0 4px 20px #0002}.is-zoomed .plan-sheet img{width:150%;min-width:1000px}@media(max-width:700px){.theory-foundation,.theory-additions,.theory-info-grid{grid-template-columns:1fr;gap:16px}.theory-or{text-align:center}.theory-foundation article,.theory-additions article{padding:24px}.theory-number strong{font-size:72px}.theory-number span{font-size:16px}.theory-explainer h3{font-size:29px}.theory-additions article{gap:16px}.theory-class-icon{padding:10px}.theory-class-icon .icon{width:28px;height:28px}.theory-plus{font-size:17px}.theory-summary{flex-direction:column;padding:22px;font-size:15px}.plan-dialog{width:calc(100vw - 20px);max-height:94dvh}.plan-toolbar{padding:10px;gap:8px}.plan-toolbar>strong{font-size:12px}.plan-tools{gap:5px}.plan-tools>a,.plan-tools>button{width:34px;height:34px}.plan-sheet{padding:8px;max-height:calc(94dvh - 60px)}.theory-document .download-card{padding:22px}.theory-info-grid .button{white-space:normal;text-align:center}}
.theory-additions article,.theory-additions article>div:last-child{min-width:0}.theory-additions article>div:last-child{flex:1}.theory-number span{min-width:0}@media(max-width:700px){.theory-additions{grid-template-columns:minmax(0,1fr)}.theory-additions .theory-number{gap:12px}.theory-additions .theory-number strong{font-size:60px}.theory-additions .theory-number span{font-size:14px;overflow-wrap:anywhere}}

/* Show the complete sheet directly, with controls on the paper itself. */
.plan-dialog{width:min(calc(100vw - 32px),calc((100dvh - 32px)*210/297));height:auto;aspect-ratio:210/297;max-height:none;max-width:none;border:0;padding:0;overflow:hidden;background:transparent;box-shadow:0 18px 80px #0005}
.plan-toolbar{position:absolute;z-index:3;top:10px;right:10px;display:block;padding:0;border:0;background:transparent}
.plan-toolbar>strong{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.plan-tools{gap:6px}.plan-tools>a,.plan-tools>button{width:34px;height:34px;font-size:23px;background:#fffffff2;border-color:#c8c9c5;box-shadow:none}
.plan-sheet{width:100%;height:100%;max-height:none;padding:0;overflow:hidden;touch-action:none}
.plan-sheet img,.is-zoomed .plan-sheet img{display:block;width:100%;height:100%;min-width:0;max-width:100%;object-fit:contain;box-shadow:none;transform-origin:0 0;user-select:none;-webkit-user-drag:none}
.is-zoomed .plan-sheet{cursor:grab}.is-zoomed .plan-sheet.is-dragging{cursor:grabbing}
@media(max-width:700px){.plan-dialog{width:min(calc(100vw - 20px),calc((100dvh - 20px)*210/297))}.plan-toolbar{top:6px;right:6px}.plan-tools{gap:4px}.plan-tools>a,.plan-tools>button{width:28px;height:28px;font-size:20px}.plan-tools .icon{width:16px;height:16px}}

.theory-plans>div>.price-note{margin-bottom:24px}.theory-plans .theory-downloads{margin-top:0}

.plan-mobile{display:none}
@media(max-width:700px){
.plan-dialog{width:calc(100vw - 20px);height:calc(100dvh - 32px);max-height:none;aspect-ratio:auto;background:#f7f6f2;border-top:5px solid var(--red)}
.plan-dialog .plan-toolbar{top:10px;right:10px}.plan-dialog .plan-tools{gap:7px}.plan-dialog .plan-tools>a,.plan-dialog .plan-tools>button{width:36px;height:36px;font-size:24px}.plan-dialog [data-plan-zoom]{display:none}
.plan-sheet{height:100%;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.plan-sheet::-webkit-scrollbar{display:none}.plan-sheet>img{display:none!important}.is-zoomed .plan-sheet{cursor:auto}
.plan-mobile{display:block;padding:64px 18px 28px}.plan-mobile [hidden]{display:none}.plan-mobile-heading>p:first-child{font-size:10px;letter-spacing:.07em;color:var(--red);font-weight:700;margin:0 0 14px}.plan-mobile-heading h2{font-size:38px;line-height:1.05;margin:0 0 12px}.plan-mobile-heading>strong{font-size:17px}.plan-mobile-heading .plan-mobile-times{font-size:14px;line-height:1.7;color:var(--muted);margin:15px 0 28px}
.plan-month{margin:0 0 22px;background:white;border-top:3px solid var(--red);padding:18px 14px}.plan-month h3{font-size:32px;line-height:1.1;margin:0 0 16px}.plan-month table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.5}.plan-month th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;color:var(--muted);padding:0 0 9px;text-align:left}.plan-month th:nth-child(1){width:40%}.plan-month th:nth-child(2){width:27%}.plan-month th:nth-child(3){width:33%}.plan-month td{padding:10px 0;border-top:1px solid #eeede8;vertical-align:top}.plan-month td:first-child{font-weight:600}.plan-month td:nth-child(2){color:var(--muted)}.plan-special-topic{color:var(--red);font-weight:700}
.plan-mobile-footer h3{font-size:28px;margin:26px 0 16px}.plan-mobile-footer dl{font-size:14px;margin:0 0 22px}.plan-mobile-footer dl>div{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:8px 0}.plan-mobile-footer dt{font-weight:700}.plan-mobile-footer dd{margin:0}.plan-mobile-footer p{font-size:13px;color:var(--muted);line-height:1.7}.plan-mobile-contact{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
}
@media(max-width:360px){.plan-mobile{padding-left:12px;padding-right:12px}.plan-month{padding-left:12px;padding-right:12px}.plan-month table{font-size:14px}}
.plan-month caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Responsive live calendar preview; downloadable A4 documents are independent. */
.plan-dialog{width:80vw;height:min(90dvh,1000px);aspect-ratio:auto;background:#f7f6f2;border-top:5px solid var(--red)}.plan-dialog .plan-toolbar{top:18px;right:18px}.plan-dialog .plan-tools>a,.plan-dialog .plan-tools>button{width:38px;height:38px}.plan-sheet{height:100%;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;scrollbar-width:none}.plan-sheet::-webkit-scrollbar{display:none}.plan-calendar{padding:28px;display:block}.calendar-heading{padding-right:100px;margin-bottom:22px}.calendar-heading .eyebrow{font-size:11px;margin-bottom:9px}.calendar-heading h2{font-size:40px;line-height:1.1;margin:0 0 7px}.calendar-heading>p:last-child{font-size:14px;color:var(--muted);margin:0}.calendar-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:24px}.calendar-months button{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px;border:1px solid #d7d6d1;font-family:var(--body);font-size:14px;font-weight:600;background:white;color:var(--ink);cursor:pointer}.calendar-months button.is-selected{background:var(--ink);border-color:var(--ink);color:white}.calendar-months button.is-current-month{border-bottom:3px solid var(--red)}.calendar-months small{font-size:9px;font-weight:700;letter-spacing:.03em;color:var(--red)}.calendar-months .is-selected small{color:#ff8b84}.calendar-layout{display:grid;grid-template-columns:195px minmax(0,1fr);gap:24px}.calendar-upcoming{padding:20px;background:white;align-self:start;border-top:3px solid var(--red)}.calendar-upcoming .eyebrow{font-size:10px;line-height:1.5;margin-bottom:14px}.calendar-next-date{display:block;font-family:var(--heading);font-size:42px;line-height:1;color:var(--red)}.calendar-next-time{display:block;font-size:19px;font-weight:700;margin:9px 0}.calendar-next-topic{display:block;font-size:17px}.calendar-upcoming [data-calendar-next]>small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.calendar-upcoming h3{font-family:var(--body);font-size:13px;font-weight:700;margin:25px 0 12px}.calendar-upcoming ol{padding:0;margin:0;list-style:none}.calendar-upcoming li{padding:11px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.6}.calendar-upcoming li>span,.calendar-upcoming li>strong{display:block}.calendar-note{font-size:11px;color:var(--muted);line-height:1.8;margin:20px 0 0}.calendar-no-next{font-size:16px;line-height:1.5}.calendar-main{min-width:0}.calendar-month-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-month-heading h3{font-size:30px;line-height:1.1;margin:0}.calendar-navigation{display:flex;gap:6px}.calendar-navigation button{height:34px;min-width:34px;padding:0 10px;border:1px solid #d7d6d1;background:white;font-size:17px;cursor:pointer;color:var(--ink)}.calendar-navigation button[data-calendar-today]{font-size:12px;font-weight:700}.calendar-navigation button:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.calendar-weekdays{margin-bottom:7px;text-align:center;font-size:12px;font-weight:700;color:var(--muted)}.calendar-days{background:#dcdad4;border:1px solid #dcdad4}.calendar-day{background:#fff;min-height:96px;padding:8px;min-width:0}.calendar-day.is-empty{background:#f0efea}.calendar-day.is-weekend{background:#faf9f6}.calendar-day-date{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-bottom:8px;font-size:14px;font-weight:700}.calendar-day-date>b{font-size:9px;color:var(--red)}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--red);background:#fff4f2}.calendar-day.is-today .calendar-day-date>span{background:var(--red);color:white;display:flex;align-items:center;justify-content:center;border-radius:50%;width:24px;height:24px}.calendar-event{border-left:3px solid #b2b4b4;background:#f0f1f0;padding:6px;margin-top:5px;font-size:12px;line-height:1.4;overflow-wrap:break-word}.calendar-event>strong,.calendar-event>span{display:block}.calendar-event>strong{font-size:11px}.calendar-event.is-auto{border-color:var(--red);background:#fff0ee}.calendar-event.is-bike{border-color:#466778;background:#edf3f6}.calendar-event.is-cancelled{border-color:#c7c7c2;background:#f6f5f1;color:var(--muted);font-size:11px}.calendar-event.is-next{outline:2px solid var(--red);background:#fff0ee}.calendar-next-label{display:block;font-size:9px;font-weight:700;color:var(--red);margin-bottom:3px}.calendar-day.is-past{color:#777}.calendar-day.is-past .calendar-event{opacity:.55}.calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;font-size:11px;color:var(--muted)}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-dot{display:inline-block;width:9px;height:9px;background:#b2b4b4}.calendar-dot.is-auto{background:var(--red)}.calendar-dot.is-bike{background:#466778}.calendar-dot.is-current{background:white;border:2px solid var(--red)}.plan-month tr.is-past{color:#777}.plan-month tr.is-today{background:#fff0ee}.plan-month tr.is-today td:first-child:after{content:'Heute';display:block;color:var(--red);font-size:10px}.plan-month tr.is-next{outline:2px solid var(--red);outline-offset:-2px;background:#fff0ee}.plan-month tr.is-next td:last-child:after{content:'Nächster Termin';display:block;font-size:10px;font-weight:700;color:var(--red)}
@media(min-width:701px) and (max-width:1150px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-upcoming{display:none}.plan-calendar{padding:22px}.calendar-months button{font-size:12px}.calendar-day{padding:6px;min-height:90px}}
@media(min-width:701px) and (max-height:800px){.plan-calendar{padding:18px}.calendar-heading{margin-bottom:14px}.calendar-heading h2{font-size:32px}.calendar-months{margin-bottom:16px}.calendar-day{min-height:75px;padding:5px}.calendar-event{font-size:11px;padding:4px}.calendar-day-date{margin-bottom:5px}.calendar-legend{margin-top:12px}.calendar-month-heading h3{font-size:27px}}
@media(max-width:700px){.plan-calendar{display:none}.plan-dialog{width:calc(100vw - 20px);height:calc(100dvh - 32px)}.plan-dialog .plan-toolbar{top:10px;right:10px}}

.calendar-day.is-past .calendar-event{opacity:.8}.calendar-event{font-size:14px}.calendar-event>strong{font-size:12px}.calendar-upcoming li{font-size:13px}.calendar-note{font-size:12px}@media(min-width:701px) and (max-height:800px){.calendar-event{font-size:12px}.calendar-event>strong{font-size:11px}}

/* One calm active appointment, without nested outline boxes. */
@media(min-width:701px){.plan-dialog{width:90vw;height:90dvh}}
.calendar-day.is-today{box-shadow:none;background:#fff8f5}.calendar-day.is-today .calendar-day-date{margin-bottom:10px}.calendar-day.is-today .calendar-day-date>span{width:30px;height:30px;border-radius:8px;font-size:17px;box-shadow:0 3px 9px #ed211822}.calendar-day-date>b{font-size:10px;letter-spacing:.03em;color:#a7332d;background:#ffe5e0;padding:4px 7px;border-radius:20px}
.calendar-event.is-next{outline:0;border:0;background:#242627;color:#fff;border-radius:7px;padding:11px 12px;box-shadow:0 4px 12px #17181914;line-height:1.5}.calendar-event.is-next .calendar-next-label{color:#ffaaa2;font-size:9px;letter-spacing:.045em;font-weight:700;margin:0 0 6px}.calendar-event.is-next>strong{color:white;font-size:16px;line-height:1.3;margin-bottom:3px}.calendar-event.is-next>span{color:#f3f3f1;font-size:14px}.calendar-dot.is-current{background:#242627;border:0;border-radius:2px}
@media(min-width:701px) and (max-height:800px){.calendar-event.is-next{padding:8px}.calendar-event.is-next>strong{font-size:14px}.calendar-event.is-next>span{font-size:12px}.calendar-event.is-next .calendar-next-label{font-size:8px;margin-bottom:4px}}

@media(max-width:700px){
.plan-dialog{width:90vw;height:90dvh}.plan-month table{border-collapse:separate;border-spacing:0}.plan-month tr.is-next{outline:0;background:transparent}.plan-month tr.is-next td{background:#242627;color:#fff;border-top-color:transparent;padding:13px 7px}.plan-month tr.is-next td:first-child{border-radius:8px 0 0 8px}.plan-month tr.is-next td:last-child{border-radius:0 8px 8px 0}.plan-month tr.is-next td:first-child:after{color:#ffaaa2;margin-top:3px}.plan-month tr.is-next td:last-child:after{color:#ffaaa2;margin-top:5px;line-height:1.4}.plan-month tr.is-today:not(.is-next){background:#fff5f1}.plan-month tr.is-today:not(.is-next) td:first-child:after{color:#a7332d}
}

.topics-hint{font-size:16px;color:var(--muted);margin:-8px 0 24px}.theory-topic-list>li{display:block;padding:0;position:relative;transition:background .2s,border-color .2s}.theory-topic-list>li:before{display:none}.theory-topic{width:100%}.theory-topic summary{list-style:none;display:grid;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:16px;padding:22px 10px 22px 0;cursor:pointer;min-height:90px}.theory-topic summary::-webkit-details-marker{display:none}.theory-topic summary:before{content:counter(topics,decimal-leading-zero);font-family:var(--heading);font-size:30px;line-height:1;color:var(--red)}.theory-topic summary .topic-title{font-size:16px;line-height:1.6;transition:transform .2s,color .2s}.topic-open-arrow{font-size:24px;color:#858784;transition:transform .2s,color .2s}.theory-topic-list>li:hover{background:white;border-color:var(--red)}.theory-topic summary:hover .topic-title{color:var(--ink);transform:translateX(4px)}.theory-topic summary:hover .topic-open-arrow{transform:translate(3px,-3px);color:var(--red)}.theory-topic summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}.theory-topic[open]>.topic-content{padding:0 16px 24px 50px}.topics-source{font-size:13px;color:var(--muted);max-width:850px;line-height:1.7;margin:25px 0 0}.topics-source a{text-decoration:underline;text-underline-offset:3px}.topic-dialog-open{overflow:hidden}.topic-dialog{border:0;border-top:5px solid var(--red);padding:38px;width:min(820px,90vw);max-width:none;max-height:90dvh;overflow:auto;scrollbar-width:none;background:#f7f6f2;color:var(--ink);box-shadow:0 20px 90px #0005}.topic-dialog::-webkit-scrollbar{display:none}.topic-dialog::backdrop{background:rgba(18,19,20,.8);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.topic-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:1px solid #cccfc9;border-radius:50%;display:flex;align-items:center;justify-content:center;background:white;color:var(--ink);font-size:25px;cursor:pointer}.topic-close:hover{background:var(--ink);color:white}.topic-dialog-heading{padding-right:32px}.topic-dialog-heading>p{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--red);margin:0 0 17px}.topic-dialog-heading h2{font-size:42px;line-height:1.1;margin:0 0 24px;max-width:680px}.topic-intro{font-size:17px;line-height:1.8;color:#505352;margin:0 0 26px}.topic-content h3{font-size:27px;margin:0 0 16px}.topic-learning{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}.topic-learning>li{display:flex;flex-direction:column;gap:5px;padding:17px 20px;background:#fff;border:1px solid #e3e2dc;font-size:15px;line-height:1.7;color:#616462}.topic-learning>li>strong{font-size:16px;color:var(--ink)}.topic-example{border-left:3px solid var(--red);background:#eeede8;padding:19px 22px}.topic-example>span{font-size:11px;letter-spacing:.09em;font-weight:700;color:var(--red)}.topic-example p{font-size:15px;line-height:1.8;margin:8px 0 0}.topic-dialog-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.topic-dialog-nav>button{width:100%;padding:15px 20px;border:1px solid #c8cac4;background:transparent;color:var(--ink);font-family:var(--body);font-weight:700;font-size:15px;cursor:pointer}.topic-dialog-nav>button:last-child{background:var(--ink);border-color:var(--ink);color:#fff}.topic-dialog-nav>button:hover{background:var(--red);border-color:var(--red);color:white}
@media(max-width:700px){.theory-topic summary{grid-template-columns:29px minmax(0,1fr) 20px;gap:12px;padding:20px 6px 20px 0;min-height:86px}.theory-topic summary .topic-title{font-size:15px}.theory-topic summary:before{font-size:28px}.topics-hint{font-size:15px}.topic-dialog{padding:26px 22px;width:90vw;max-height:90dvh}.topic-dialog-heading{padding-top:28px;padding-right:0}.topic-dialog-heading>p{font-size:10px}.topic-dialog-heading h2{font-size:34px}.topic-intro{font-size:16px}.topic-learning>li{padding:15px;font-size:14px}.topic-learning>li>strong{font-size:15px}.topic-example{padding:16px}.topic-example p{font-size:14px}.topic-dialog-nav>button{padding:14px 12px}.theory-topic[open]>.topic-content{padding:0 8px 20px}}
@media(prefers-reduced-motion:reduce){.theory-topic-list>li,.theory-topic summary .topic-title,.topic-open-arrow{transition:none}.theory-topic summary:hover .topic-title,.theory-topic summary:hover .topic-open-arrow{transform:none}}

.theory-topic-list .topic-learning>li{counter-increment:none}.theory-topic-list .topic-learning>li:before{display:none}.topic-dialog{padding:0;overflow:hidden}.topic-dialog-scroll{padding:38px;max-height:calc(90dvh - 5px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.topic-dialog-scroll::-webkit-scrollbar{display:none}.topic-close{z-index:2}@media(max-width:700px){.topic-dialog{padding:0}.topic-dialog-scroll{padding:26px 22px}}

.theory-topic summary .topic-title{font-size:18px}.topics-hint{font-size:17px}.topics-source{font-size:14px}.topic-dialog-heading>p{font-size:13px}.topic-intro{font-size:18px}.topic-learning>li{font-size:16px}.topic-learning>li>strong{font-size:17px}.topic-example>span{font-size:13px}.topic-example p{font-size:16px}.topic-dialog-nav>button{font-size:16px}@media(max-width:700px){.theory-topic summary .topic-title{font-size:17px}.topics-hint{font-size:16px}.topic-dialog-heading>p{font-size:12px}.topic-intro{font-size:17px}.topic-learning>li{font-size:15px}.topic-learning>li>strong{font-size:16px}.topic-example>span{font-size:12px}.topic-example p{font-size:15px}}

.topic-pdf-download{margin-top:28px;white-space:normal;text-align:center;gap:14px}
.topic-dialog-heading h2{hyphens:auto;overflow-wrap:anywhere}.topic-dialog-body{min-width:0;overflow-wrap:break-word}

/* Matching weekly timetable and semester cards. */
.lesson-times{border:1px solid #deded7;border-top:3px solid var(--red);background:#fff;box-shadow:0 8px 30px #17181904}.lesson-times>header{display:flex;align-items:center;gap:12px;padding:22px 26px;background:#f1f0eb;color:#60635f;font-size:12px;font-weight:700;letter-spacing:.08em}.lesson-times>header .icon{width:23px;height:23px;color:var(--red)}.lesson-times>ul{list-style:none;padding:0;margin:0}.lesson-times li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:18px;padding:25px 26px}.lesson-times li+li{border-top:1px solid #eeede7}.lesson-day-badge{display:flex;align-items:center;justify-content:center;width:52px;height:56px;font-family:var(--heading);font-size:28px;font-weight:700;background:#242627;color:#fff;border-radius:7px}.lesson-day{min-width:0}.lesson-day>strong{display:block;font-size:18px;line-height:1.4;margin-bottom:5px}.lesson-day>span{display:block;font-size:14px;color:var(--muted);line-height:1.5}.lesson-times time{font-family:var(--heading);font-size:32px;line-height:1;white-space:nowrap}.lesson-times time small{display:block;text-align:right;font-family:var(--body);font-size:12px;font-weight:500;color:var(--muted);margin-top:6px}.lesson-motorcycle{background:#f5f8f9}.lesson-motorcycle .lesson-day-badge{background:#466778}.lesson-motorcycle .lesson-day>span{color:#466778}
.theory-downloads{gap:18px}.plan-card{border:1px solid #deded7;background:white;box-shadow:0 8px 30px #17181904;transition:box-shadow .2s,border-color .2s}.plan-card-current{border-top:3px solid var(--red)}.plan-card .plan-card-main{display:flex;align-items:center;gap:25px;padding:26px 28px;border:0;background:none}.plan-card-main:hover{color:var(--ink)}.plan-card:hover{border-color:#aaa;box-shadow:0 8px 25px #1718190c}.plan-card-current:hover{border-top-color:var(--red)}.plan-card .plan-card-cover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:76px;height:88px;color:var(--ink);background:#f1f0eb;border:1px solid #e2e0d9;border-top:5px solid var(--red);border-radius:4px;box-shadow:0 3px 0 #e8e6de;transition:transform .2s}.plan-card-cover:before,.plan-card-cover:after{content:'';position:absolute;top:-10px;width:4px;height:12px;background:#242627;border-radius:2px}.plan-card-cover:before{left:18px}.plan-card-cover:after{right:18px}.plan-card-cover>b{font-family:var(--heading);font-size:39px;line-height:1}.plan-card .plan-card-cover>small{font-size:11px;letter-spacing:.12em;margin-top:5px;color:#6a6d68}.plan-card-copy{min-width:0;flex:1}.plan-card-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:6px}.plan-card-kicker>small{display:inline-block;font-size:10px;line-height:1.3;font-weight:700;padding:4px 8px;border-radius:20px;background:#fff0ed;color:#bb261e}.plan-card .plan-card-copy>strong{display:block;font-family:var(--heading);font-size:32px;line-height:1.1;color:var(--ink);margin-bottom:7px}.plan-card-period{display:block;font-size:15px;color:var(--muted)}.plan-card-open{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;margin-top:14px;color:var(--ink)}.plan-card-open .icon{width:19px;height:19px;color:var(--red);transition:transform .2s}.plan-card-main:hover .plan-card-cover{transform:translateY(-3px)}.plan-card-main:hover .plan-card-open .icon{transform:translateX(4px)}.plan-card-download{padding:0 28px 24px}.plan-card-download .button{font-size:14px;gap:12px;min-height:49px;border-color:#d6d6ce}.plan-card-download .button>small{font-size:11px;font-weight:400;color:var(--muted)}.plan-card-download .button:hover>small{color:inherit}
@media(max-width:1000px) and (min-width:701px){.lesson-times li{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:22px 18px}.lesson-day-badge{width:44px;height:50px;font-size:26px}.lesson-times time{font-size:28px}.lesson-day>strong{font-size:17px}.plan-card .plan-card-main{padding:24px 20px;gap:17px}.plan-card-download{padding:0 20px 22px}.plan-card .plan-card-cover{width:62px;height:78px}}
@media(max-width:700px){.lesson-times>header{padding:19px;font-size:11px;gap:10px}.lesson-times li{grid-template-columns:43px minmax(0,1fr) auto;padding:22px 18px;gap:13px}.lesson-day-badge{width:43px;height:48px;font-size:25px}.lesson-day>strong{font-size:17px}.lesson-day>span{font-size:13px}.lesson-times time{font-size:29px}.lesson-times time small{font-size:12px}.plan-card .plan-card-main{padding:24px 20px;gap:19px}.plan-card .plan-card-cover{width:65px;height:81px}.plan-card-copy>strong{font-size:30px}.plan-card-kicker{font-size:13px;gap:7px}.plan-card-period{font-size:14px}.plan-card-open{font-size:14px}.plan-card-download{padding:0 20px 22px}.plan-card-download .button{white-space:normal;font-size:14px;gap:10px}.plan-card-download .button>small{display:none}}
@media(max-width:360px){.lesson-times li{gap:10px;padding:20px 14px}.lesson-times time{font-size:26px}.lesson-day>strong{font-size:16px}.plan-card .plan-card-main{gap:15px;padding:24px 16px}.plan-card-download{padding:0 16px 20px}.plan-card .plan-card-cover{width:55px;height:76px}.plan-card .plan-card-copy>strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){.plan-card,.plan-card .plan-card-cover,.plan-card-open .icon{transition:none}.plan-card-main:hover .plan-card-cover,.plan-card-main:hover .plan-card-open .icon{transform:none}}
