/* Terminal design system, ported 1:1 from the approved designs (Lernweg, Lesscherm, Journal):
   F-key bar, command line, mono panel titles, Newsreader two-tone headlines, glossy pill buttons. Loaded last. */
:root[data-theme]{--td-night:#04060c;--td-ink:#f3f6ff;--td-mid:rgba(226,233,255,.68);--td-dim:rgba(226,233,255,.42);--td-line:rgba(226,233,255,.09);--td-blue:#2563eb;--td-blue4:#4f8cff;--td-blue2:#b9d0ff;--td-gold:#f5b841;--td-ok:#22c55e;--td-dn:#ea3943;--td-panel:linear-gradient(180deg,rgba(13,18,32,.72),rgba(8,11,22,.72));color-scheme:dark}
:root[data-theme] body{background:radial-gradient(700px 520px at -8% 30%,rgba(37,99,235,.20),transparent 70%),radial-gradient(640px 520px at 108% 85%,rgba(37,99,235,.16),transparent 70%),var(--td-night);background-attachment:fixed;color:var(--td-ink)}

/* ---------- top bar: brand + F-keys + DE | EN, at every width ---------- */
:root[data-theme] .sidebar,:root[data-theme] .overlay,:root[data-theme] .mobile-menu,:root[data-theme] .mobile-search,:root[data-theme] .academy-dock{display:none!important}
:root[data-theme] .shell{margin-left:0!important;padding-bottom:0!important}
:root[data-theme] .topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;height:auto;min-height:50px;padding:8px 12px;gap:4px;background:rgba(4,6,12,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--td-line);box-shadow:none}
:root[data-theme] .fk-brand{display:flex;align-items:center;gap:9px;flex:none;color:var(--td-ink);font:600 15px var(--sans);text-decoration:none;padding:0 14px 0 2px;margin-right:6px;border-right:1px solid var(--td-line);white-space:nowrap}
:root[data-theme] .fk-brand img{width:22px;height:26px;object-fit:contain}
:root[data-theme] .fk-brand i{font-style:normal;color:var(--td-dim);font-weight:400}
:root[data-theme] .fkeys{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;font:12.5px var(--mono);text-transform:none;letter-spacing:0}
:root[data-theme] .fkeys::-webkit-scrollbar{display:none}
:root[data-theme] .fkeys a{display:flex;align-items:center;padding:6px 12px;border-radius:99px;color:var(--td-mid);text-decoration:none;white-space:nowrap;gap:0}
:root[data-theme] .fkeys a:hover{color:var(--td-ink);background:rgba(226,233,255,.06)}
:root[data-theme] .fkeys b{background:rgba(226,233,255,.10);color:var(--td-mid);border-radius:5px;padding:0 5px;margin-right:6px;font-weight:500}
:root[data-theme] .fkeys a.on{background:linear-gradient(180deg,#3b7bff,#1d4ed8);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 6px 22px -6px rgba(37,99,235,.8)}
:root[data-theme] .fkeys a.on b{background:rgba(255,255,255,.22);color:#fff}
:root[data-theme] .topbar .top-right{display:flex;align-items:center;gap:6px;flex:none;margin-left:6px}
:root[data-theme] .td-lang{display:flex;align-items:center;border:1px solid var(--td-line);border-radius:99px;padding:3px 6px;font:12.5px var(--mono);color:var(--td-dim)}
:root[data-theme] .td-lang button{background:none;border:0;color:var(--td-dim);padding:3px 6px;border-radius:99px;font:inherit;cursor:pointer}
:root[data-theme] .td-lang button[aria-pressed="true"]{color:var(--td-ink)}
:root[data-theme] .td-lang i{font-style:normal;opacity:.6}
:root[data-theme] .td-logout{width:34px;height:34px;border-radius:50%;border:1px solid var(--td-line);background:none;color:var(--td-mid)}
:root[data-theme] .td-logout svg{width:16px;height:16px}
:root[data-theme] .admin-refresh{border:1px solid var(--td-line);border-radius:99px;background:none;color:var(--td-mid);font:12px var(--mono);padding:6px 10px;display:flex;gap:6px;align-items:center}
:root[data-theme] .admin-refresh svg{width:14px;height:14px}

/* ---------- command line ---------- */
.td-cmd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 16px;border-bottom:1px solid var(--td-line);font:12.5px var(--mono);color:var(--td-blue4);text-transform:uppercase}
.td-chip{background:var(--td-blue);color:#fff;border-radius:5px;padding:0 6px;text-decoration:none}
.td-chip:hover{background:var(--td-blue4)}
.td-cmd-text{color:var(--td-blue4);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}
.td-cmd-r{margin-left:auto;color:var(--td-dim)}

/* ---------- page frame ---------- */
:root[data-theme] .page{max-width:none;margin:0;padding:0 16px 24px}
:root[data-theme] .page>*{max-width:1480px;margin-left:auto;margin-right:auto}
:root[data-theme] .footnote{border-top:1px solid var(--td-line);margin-top:24px;padding:12px 0;font:12.5px var(--sans);color:var(--td-dim);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* headline: mono kicker + Newsreader two-tone */
:root[data-theme] .td-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;padding:22px 0 16px;margin:0 auto;border:0}
:root[data-theme] .td-head{flex-direction:row}
:root[data-theme] .td-head>div:first-child{min-width:min(100%,520px);flex:1 1 auto}
.td-kick{font:600 12px var(--mono);letter-spacing:.06em;color:var(--td-blue4);text-transform:uppercase}
:root[data-theme] .td-head h1{font:400 clamp(30px,3.6vw,50px)/1.05 var(--serif);letter-spacing:-.01em;margin:6px 0 6px;color:var(--td-ink)}
:root[data-theme] .td-head h1 em,.td-h1 em{font-style:normal;color:var(--td-blue2)}
:root[data-theme] .td-head p{margin:0;color:var(--td-mid);font-size:15px;max-width:70ch}
:root[data-theme] .td-head .quiet-link,:root[data-theme] .td-head .notes-private{color:var(--td-mid)}

/* panels */
.td-grid{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:16px;align-items:start}
.td-map{grid-template-columns:minmax(0,1fr) 360px}
.td-aside{display:flex;flex-direction:column;gap:16px;min-width:0}
.td-pn,:root[data-theme] .page :is(.progress-card,.module-detail,.analysis-empty,.news-day,.leader-card,.account-card,.notes-panel){border:1px solid var(--td-line);border-radius:22px;background:var(--td-panel);padding:16px 18px;min-width:0;box-shadow:none}
.td-pt{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font:600 12px var(--mono);letter-spacing:.06em;color:var(--td-blue4);text-transform:uppercase;border-bottom:1px solid var(--td-line);padding-bottom:8px;margin-bottom:12px}
.td-pt span{color:var(--td-dim);font-weight:400;text-align:right}
.td-pt.td-sub{margin-top:18px}
.td-muted{color:var(--td-dim);font-size:13.5px}

/* buttons */
.td-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,#3b7bff,#1d4ed8);color:#fff;border:0;border-radius:99px;padding:10px 18px;font:600 14px var(--sans);text-decoration:none;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 8px 26px -8px rgba(37,99,235,.9);white-space:nowrap}
.td-btn:hover{background:linear-gradient(180deg,#4f8cff,#2563eb);color:#fff}
.td-btn .ar{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);font-size:11px;line-height:1}
.td-btn.ghost{background:rgba(226,233,255,.05);box-shadow:none;border:1px solid var(--td-line);color:var(--td-ink)}
.td-btn.ghost:hover{border-color:rgba(79,140,255,.6);background:rgba(37,99,235,.1)}
.td-wide{width:100%;justify-content:center;margin-top:12px}
.td-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------- Lernweg ---------- */
.td-maptools{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.td-lg{display:flex;gap:14px;color:var(--td-dim);font:11.5px var(--mono);margin-left:auto}
.td-lg i{display:inline-block;width:18px;height:3px;border-radius:2px;vertical-align:3px;margin-right:6px}
.td-lg .lg-done{background:#4f8cff}.td-lg .lg-now{background:#f5b841}.td-lg .lg-open{background:rgba(226,233,255,.25)}
.td-map .chart-scroll{border-radius:18px;border:1px solid var(--td-line);background:radial-gradient(800px 400px at 80% 0%,rgba(37,99,235,.14),transparent 70%),#03050b}
.td-next{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.td-av{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font:600 24px var(--sans);color:#fff;background:radial-gradient(circle at 35% 30%,#1e3a8a,#0a1126);box-shadow:0 0 0 2px #04060c,0 0 0 4px var(--td-blue),0 0 26px rgba(37,99,235,.7)}
:root[data-theme] .td-next h2{font:400 26px/1.15 var(--serif);margin:2px 0 4px;color:var(--td-ink)}
.td-next p{margin:0;color:var(--td-mid);font-size:13.5px}
.td-next .td-row{grid-column:1/-1;margin-top:6px}
.td-prog{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.td-prog div{border:1px solid var(--td-line);border-radius:14px;padding:10px}
.td-prog b{display:block;font:400 30px/1 var(--serif);color:var(--td-ink)}
.td-prog span{font:11px var(--mono);color:var(--td-dim);letter-spacing:.04em}
:root[data-theme] .td-mods{display:flex;gap:6px;margin:0 0 12px;padding:0;background:none;border:0}
:root[data-theme] .td-mods button{flex:1;border:1px solid var(--td-line);background:rgba(226,233,255,.03);color:var(--td-mid);border-radius:14px;padding:10px 12px;text-align:left;font:500 13px var(--sans);display:block;min-height:0;box-shadow:none}
:root[data-theme] .td-mods button small{display:block;font:11px var(--mono);color:var(--td-dim);margin:0}
:root[data-theme] .td-mods button[aria-pressed="true"]{border-color:rgba(79,140,255,.7);background:rgba(37,99,235,.14);color:#fff}
.td-ll{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.td-ll a{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;border:1px solid var(--td-line);text-decoration:none;color:var(--td-ink);font-size:13.5px}
.td-ll a:hover{border-color:rgba(79,140,255,.5)}
.td-ll .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:10px var(--mono);border:1px solid var(--td-line);color:var(--td-dim)}
.td-ll .done .n{background:var(--td-blue);border-color:var(--td-blue);color:#fff;font-size:12px}
.td-ll .now{background:rgba(37,99,235,.14);border-color:rgba(79,140,255,.6)}
.td-ll .now .n{border-color:var(--td-gold);color:var(--td-gold)}
.td-ll .d{font:12px var(--mono);color:var(--td-dim)}
.td-ll .done .d{color:var(--td-ok)}
/* chart tweaks to match the design */
.td-map .chart-route .chart-code{font:600 11px var(--mono)}
.chart-route .chart-ms{position:absolute;left:50%;bottom:calc(100% + 18px);transform:translateX(-50%);font:600 10px var(--mono);letter-spacing:.08em;color:var(--td-gold);white-space:nowrap;pointer-events:none}
.td-map .summit-label svg{display:none}
.td-map .chart-route .summit-label:after{content:"";width:22px;height:18px;margin-left:8px;background:var(--td-gold);clip-path:polygon(0 0,100% 30%,0 60%,0 100%,6% 100%,6% 0);display:inline-block}
:root[data-theme] .td-map .chart-route .summit-label{font:500 16px var(--serif);text-transform:none;letter-spacing:0;color:#f3f6ff;transform:translateX(-80%)}

/* ---------- Lesscherm ---------- */
.td-lesson{grid-template-columns:minmax(0,1fr) 384px;margin-top:16px}
.td-vid{position:relative;border:1px solid var(--td-line);border-radius:16px 16px 0 0;background:#02040a;overflow:hidden}
.td-vid video,.td-vid audio{display:block;width:100%;aspect-ratio:16/9;background:#02040a;border-radius:0}
.td-vid audio{aspect-ratio:auto}
:root[data-theme] .td-vid .media-pending{display:flex;gap:14px;align-items:center;min-height:180px;padding:28px;border:0;border-radius:0;background:radial-gradient(700px 300px at 70% 0%,rgba(37,99,235,.18),transparent 70%),#02040a;color:var(--td-mid)}
:root[data-theme] .td-vid .media-pending svg{width:28px;height:28px;color:var(--td-blue4)}
:root[data-theme] .td-vid .media-pending strong{color:var(--td-ink);font:400 20px var(--serif)}
:root[data-theme] .td-vid .media-pending p{margin:2px 0 0}
.td-vid+.td-ctl,.td-ctl{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid var(--td-line);border-top:0;border-radius:0 0 16px 16px;background:rgba(10,17,38,.8);padding:8px 10px;font:12.5px var(--mono);color:var(--td-mid)}
.td-vid:not(:has(+.td-ctl)){border-radius:16px}
:root[data-theme] .td-ctl .watch-controls,:root[data-theme] .td-ctl .player-options{display:flex;align-items:center;gap:10px;margin:0;padding:0;border:0;background:none;flex-wrap:wrap}
:root[data-theme] .td-ctl select{background:rgba(226,233,255,.06);border:1px solid var(--td-line);border-radius:99px;padding:3px 10px;color:var(--td-ink);font:12px var(--mono)}
:root[data-theme] .td-ctl label{display:flex;gap:6px;align-items:center;color:var(--td-dim)}
.td-by{display:flex;align-items:center;gap:10px;margin:22px 0 6px;color:var(--td-mid);font-size:13.5px;flex-wrap:wrap}
.td-by img{width:34px;height:34px;padding:6px;border-radius:50%;object-fit:contain;background:#0a1126;box-shadow:0 0 0 2px #04060c,0 0 0 3.5px var(--td-blue),0 0 18px rgba(37,99,235,.6)}
.td-by b{color:var(--td-ink);font-weight:500}
:root[data-theme] .td-by .badge{margin-left:4px}
:root[data-theme] .page .td-h1{font:400 clamp(30px,3.4vw,46px)/1.05 var(--serif);letter-spacing:-.01em;margin:6px 0 12px;color:var(--td-ink)}
.td-desc{font-size:16px;color:var(--td-mid);margin:0 0 4px;max-width:78ch}
:root[data-theme] .lesson-main .lesson-title{border:0;padding:0;margin:0;background:none}
.td-tabs{display:flex;gap:6px;margin:18px 0 0;overflow-x:auto;scrollbar-width:none}
.td-tabs button{background:none;border:1px solid var(--td-line);border-radius:99px;padding:7px 14px;font:500 13px var(--sans);color:var(--td-mid);white-space:nowrap;cursor:pointer}
.td-tabs button b{background:rgba(226,233,255,.08);border-radius:5px;font:400 12px var(--mono);padding:0 5px;margin-right:6px}
.td-tabs button[aria-selected="true"]{background:rgba(37,99,235,.16);border-color:rgba(79,140,255,.55);color:#fff}
.td-tabs button[aria-selected="true"] b{background:var(--td-blue);color:#fff}
.td-tp{padding-top:16px}
:root[data-theme] .td-lesson .reading{max-width:68ch;padding:0;margin:0;border:0;background:none;box-shadow:none}
:root[data-theme] .td-lesson .reading-block{border:0;padding:0;margin:0 0 22px;background:none}
:root[data-theme] .td-lesson .reading-block h2{font:500 22px/1.25 var(--serif);color:var(--td-ink);margin:4px 0 8px}
:root[data-theme] .td-lesson .reading-block .section-no{font:12px var(--mono);color:var(--td-blue4);margin-right:8px;vertical-align:3px;display:inline}
:root[data-theme] .td-lesson .reading-block p{color:var(--td-mid);font-size:15.5px;line-height:1.7;margin:0 0 10px}
:root[data-theme] .td-task{border:1px solid rgba(79,140,255,.35)!important;background:rgba(37,99,235,.08)!important;border-radius:18px;padding:16px 18px!important}
:root[data-theme] .td-lesson .quiz-card{border:0;padding:0;background:none;box-shadow:none;margin:0}
:root[data-theme] .td-lesson .quiz-card>.eyebrow,:root[data-theme] .td-lesson .quiz-card>h2{display:none}
:root[data-theme] .td-lesson .quiz-card>p{color:var(--td-mid)}
:root[data-theme] .td-lesson .quiz-question{border:1px solid var(--td-line);border-radius:18px;background:rgba(226,233,255,.02);padding:14px 18px 12px;margin:0 0 10px}
:root[data-theme] .td-lesson .quiz-question legend{font:500 19px/1.35 var(--serif);color:var(--td-ink);padding:0;margin-bottom:8px;float:left;width:100%}
:root[data-theme] .td-lesson .quiz-option{display:flex;gap:10px;padding:7px 10px;border:0;border-radius:12px;background:none;color:var(--td-mid);clear:both}
:root[data-theme] .td-lesson .quiz-option:hover{background:rgba(226,233,255,.04)}
:root[data-theme] .td-lesson .quiz-option.correct{background:rgba(34,197,94,.08);color:var(--td-ink)}
:root[data-theme] .td-lesson .quiz-option.incorrect{background:rgba(234,57,67,.08)}
:root[data-theme] .td-lesson .quiz-option input{accent-color:var(--td-blue)}
:root[data-theme] .td-lesson .lesson-actions{border:1px solid var(--td-line);border-radius:18px;background:rgba(226,233,255,.02);margin-top:14px;padding:14px 18px}
:root[data-theme] .td-lesson .completion-card{border-radius:18px;border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.07);color:var(--td-ink)}
:root[data-theme] .td-lesson .completion-card p{color:var(--td-mid)}
:root[data-theme] .td-lesson .lesson-pager{display:flex;justify-content:space-between;gap:10px;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--td-line)}
:root[data-theme] .td-lesson .lesson-pager a{border:1px solid var(--td-line);border-radius:99px;padding:9px 16px;color:var(--td-mid);font-size:13.5px;background:none;max-width:48%;display:flex;gap:8px;align-items:center;text-decoration:none}
:root[data-theme] .td-lesson .lesson-pager a small{display:block;font:11px var(--mono);color:var(--td-dim);text-transform:uppercase}
:root[data-theme] .td-lesson .lesson-pager a:hover{color:#fff;border-color:rgba(79,140,255,.6);background:rgba(37,99,235,.1)}
.td-table{width:100%;border-collapse:collapse;table-layout:fixed}
.td-table td{padding:5px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:var(--td-ink)}
.td-table tr:nth-child(odd) td{background:rgba(226,233,255,.025)}
.td-table td.k,.td-table td.r{font:12px var(--mono);color:var(--td-dim)}
.td-table td.r{text-align:right}
.td-table a{color:inherit;text-decoration:none}
.td-table a:hover{color:var(--td-blue2)}
.td-table tr.ok td:not(.k){color:var(--td-ok)}
.td-table tr.now td{background:rgba(37,99,235,.22)!important;color:#fff}
.td-table tr.now td:first-child{border-radius:10px 0 0 10px;box-shadow:inset 3px 0 0 var(--td-blue4);color:#fff}
.td-table tr.now td:last-child{border-radius:0 10px 10px 0;color:#fff}
.td-table tr.mod td{background:none!important;color:var(--td-dim);padding-top:12px;font:11.5px var(--mono);letter-spacing:.05em}
.td-bar{display:flex;gap:3px;margin-top:10px}.td-bar i{flex:1;height:6px;border-radius:99px;background:rgba(226,233,255,.10)}.td-bar i.d{background:var(--td-blue4)}.td-bar i.n{background:var(--td-gold)}
:root[data-theme] .td-notes>*{border:1px solid var(--td-line)!important;border-radius:22px!important;background:var(--td-panel)!important;padding:16px 18px!important;margin:0!important;box-shadow:none!important}
:root[data-theme] .td-notes .eyebrow{font:600 12px var(--mono);color:var(--td-blue4)}
:root[data-theme] .td-notes h2{font:400 22px var(--serif);margin:2px 0 10px}
:root[data-theme] .td-notes textarea{background:rgba(226,233,255,.04);border:1px solid var(--td-line);border-radius:14px;padding:10px 12px;font:14px var(--sans);color:var(--td-ink)}

/* ---------- Journal ---------- */
:root[data-theme] .journal-heading .journal-view-tabs{align-self:flex-end}
.td-strip{display:flex;align-items:center;gap:8px;margin:0 auto 16px;flex-wrap:wrap}
.td-days{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:0 1 auto}
.td-day{display:flex;flex-direction:column;justify-content:center;width:74px;height:60px;padding:0 10px;border:1px solid var(--td-line);border-radius:14px;background:rgba(226,233,255,.03);text-decoration:none;color:var(--td-ink);flex:none}
.td-day small{font:10.5px var(--mono);color:var(--td-dim);letter-spacing:.06em}
.td-day b{font:400 20px/1 var(--serif)}
.td-day.on{border-color:rgba(79,140,255,.8);background:rgba(37,99,235,.18);box-shadow:0 0 0 1px rgba(79,140,255,.3)}
.td-day:hover{border-color:rgba(79,140,255,.5)}
.td-dots{display:flex;gap:3px;margin-top:4px}.td-dots i{width:5px;height:5px;border-radius:50%;background:var(--td-blue4)}
.td-round{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--td-line);color:var(--td-mid);text-decoration:none;font-size:18px;flex:none}
.td-round:hover{border-color:rgba(79,140,255,.6);color:#fff}
.td-datepick input{background:rgba(226,233,255,.04);border:1px solid var(--td-line);border-radius:99px;color:var(--td-mid);font:12.5px var(--mono);padding:7px 12px;color-scheme:dark}
.td-today{margin-left:auto}
.td-jgrid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}
.td-jform{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:16px;align-items:start;margin:0}
.td-stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
:root[data-theme] .td-stats4 .journal-stat{border:1px solid var(--td-line);border-radius:12px;padding:8px 4px;text-align:center;background:none;min-height:0;display:block}
:root[data-theme] .td-stats4 .journal-stat:before,:root[data-theme] .td-stats4 .journal-stat:after{display:none}
.td-stats4 b{display:block;font:400 26px/1.1 var(--serif);color:var(--td-ink)}
.td-stats4 span{font:9.5px var(--mono);color:var(--td-dim);letter-spacing:.04em;display:block;overflow:hidden;text-overflow:ellipsis}
.td-tlist{display:flex;flex-direction:column;gap:8px}
.td-tcard{display:flex;flex-direction:column;gap:6px;border:1px solid var(--td-line);border-radius:14px;padding:11px 14px;text-decoration:none;color:var(--td-ink);background:rgba(226,233,255,.02)}
.td-tcard:hover{border-color:rgba(79,140,255,.5)}
.td-tcard.on{border-color:rgba(79,140,255,.75);background:rgba(37,99,235,.14)}
.td-trow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--td-mid)}
.td-trow b{font:600 15px var(--sans);color:var(--td-ink)}
.td-trow time{margin-left:auto;font:12px var(--mono);color:var(--td-dim)}
:root[data-theme] .td-trow .journal-side,:root[data-theme] .td-trow .journal-status{font:600 10.5px var(--mono);letter-spacing:.05em;border-radius:5px;padding:1px 6px;border:1px solid transparent;text-transform:uppercase}
:root[data-theme] .journal-side.long{color:#22c55e;background:rgba(34,197,94,.12)}
:root[data-theme] .journal-side.short{color:#ff6b74;background:rgba(234,57,67,.12)}
:root[data-theme] .journal-status.planned{color:var(--td-gold);border-color:rgba(245,184,65,.45)!important;background:none}
:root[data-theme] .journal-status.open{color:var(--td-blue2);border-color:rgba(79,140,255,.5)!important;background:none}
:root[data-theme] .journal-status.closed{color:var(--td-ink);border-color:rgba(226,233,255,.35)!important;background:none}
:root[data-theme] .journal-status.skipped{color:var(--td-dim);border-color:var(--td-line)!important;background:none}
:root[data-theme] .td-jempty .journal-empty{border:0;background:none;padding:40px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
:root[data-theme] .td-jempty .journal-empty svg{width:30px;height:30px;color:var(--td-blue4)}
:root[data-theme] .td-jempty .journal-empty h3{font:400 24px var(--serif);margin:6px 0 0}
:root[data-theme] .td-jempty .journal-empty p{color:var(--td-mid);max-width:44ch;margin:0 0 10px}
:root[data-theme] .td-jform .journal-card{margin:0}
:root[data-theme] .td-jform .journal-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
:root[data-theme] .td-jform .journal-fields.td-two{grid-template-columns:auto 1fr}
:root[data-theme] .td-jform .journal-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
:root[data-theme] .td-jform .form-field{display:flex;flex-direction:column;gap:6px;font:11.5px var(--mono);letter-spacing:.06em;color:var(--td-dim);text-transform:uppercase;margin:0}
:root[data-theme] .td-jform :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea){background:rgba(226,233,255,.04);border:1px solid var(--td-line);border-radius:12px;padding:10px 12px;color:var(--td-ink);font:14px var(--mono);text-transform:none;letter-spacing:0;box-shadow:none;min-height:0;height:auto;color-scheme:dark}
:root[data-theme] .td-jform textarea{font-family:var(--sans)}
:root[data-theme] .td-jform :is(input,textarea):focus{border-color:rgba(79,140,255,.7);outline:none}
.td-seg{display:flex;gap:6px;flex-wrap:wrap}
.td-seg label{cursor:pointer;position:relative}
.td-seg input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.td-seg span{display:inline-block;border:1px solid var(--td-line);border-radius:99px;padding:7px 14px;font:500 13.5px var(--sans);color:var(--td-mid);text-transform:none;letter-spacing:0}
.td-seg input:checked+span{border-color:rgba(79,140,255,.8);background:rgba(37,99,235,.18);color:#fff}
.td-seg input:focus-visible+span{outline:2px solid var(--td-blue4);outline-offset:2px}
:root[data-theme] .td-jform .journal-image-empty{border:1px dashed var(--td-line);border-radius:14px;padding:22px;color:var(--td-dim);display:flex;gap:10px;align-items:center;background:#02040a}
:root[data-theme] .td-jform .journal-screenshot{border-radius:14px;border:1px solid var(--td-line);width:100%}
:root[data-theme] .td-jform .journal-file-label{display:inline-flex;margin-top:10px;border:1px solid var(--td-line);border-radius:99px;padding:8px 14px;font:500 13px var(--sans);color:var(--td-ink);cursor:pointer;text-transform:none;letter-spacing:0}
:root[data-theme] .td-jform .journal-file-label input{position:absolute;opacity:0;width:1px;height:1px}
:root[data-theme] .td-jform .journal-help{color:var(--td-dim);font-size:12.5px;margin:8px 0 0}
:root[data-theme] .td-jform .journal-reminder{border:1px solid rgba(245,184,65,.5);border-radius:16px;background:rgba(245,184,65,.06);padding:12px 14px;margin:0 0 14px;display:block}
:root[data-theme] .td-jform .journal-reminder span{display:block;font:600 11px var(--mono);letter-spacing:.08em;color:var(--td-gold)}
:root[data-theme] .td-jform .journal-reminder strong{font:400 22px var(--serif);color:var(--td-ink)}
:root[data-theme] .td-jform .journal-checks{border:0;padding:0;margin:0 0 14px}
:root[data-theme] .td-jform .journal-checks legend{display:flex;justify-content:space-between;width:100%;font:600 11px var(--mono);letter-spacing:.08em;color:var(--td-dim);margin-bottom:8px;padding:0}
:root[data-theme] .td-jform .journal-check{position:relative;border:1px solid var(--td-line);border-radius:14px;padding:11px 12px;margin-bottom:8px;background:rgba(226,233,255,.02);display:block}
:root[data-theme] .td-jform .journal-check:has(>label input:checked){border-color:rgba(79,140,255,.45)}
:root[data-theme] .td-jform .journal-check:not(:has(>label input:checked))>input:placeholder-shown{display:none}
:root[data-theme] .td-jform .journal-check>label{display:flex;align-items:center;gap:10px;font:500 14.5px var(--sans);color:var(--td-ink);margin:0}
:root[data-theme] .td-jform .journal-check>label input{width:18px;height:18px;accent-color:var(--td-blue)}
:root[data-theme] .td-jform .journal-check-number{display:none}
:root[data-theme] .td-jform .journal-check>input{margin-top:8px;width:100%;font:13px var(--sans)!important;padding:7px 10px!important}
:root[data-theme] .td-jform .journal-help-example{margin:0;border:0;padding:0;background:none}
:root[data-theme] .td-jform .journal-help-example[open]{margin-top:10px;border-top:1px solid var(--td-line);padding-top:10px}
:root[data-theme] .td-jform .journal-help-example summary{position:absolute;right:12px;top:12px;font:500 12.5px var(--sans);color:var(--td-blue4);cursor:pointer;display:flex;gap:6px;align-items:center;border:0;padding:0;background:none;list-style:none}
:root[data-theme] .td-jform .journal-help-example summary::-webkit-details-marker{display:none}
:root[data-theme] .td-jform .journal-help-example summary:after{content:"▾";margin-left:2px}
:root[data-theme] .td-jform .journal-help-example[open] summary:after{content:"▴"}
:root[data-theme] .td-jform .journal-help-example summary svg{display:none}
:root[data-theme] .td-jform .journal-check>label{padding-right:150px}
:root[data-theme] .td-jform .journal-help-example summary svg{width:14px;height:14px}
:root[data-theme] .td-jform .journal-help-content h3{font:400 19px var(--serif);color:var(--td-ink)}
:root[data-theme] .td-jform .journal-help-content p{color:var(--td-mid);font-size:13.5px}
:root[data-theme] .td-jform .journal-help-content img{border-radius:12px;width:100%;height:auto}
:root[data-theme] .td-jform .journal-savebar{grid-column:1/-1;position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--td-line);border-radius:22px;background:rgba(10,17,38,.92);backdrop-filter:blur(12px);padding:12px 16px;margin:0}
:root[data-theme] .td-jform .journal-savebar strong{font:500 14px var(--sans);color:var(--td-gold)}
:root[data-theme] .td-jform .journal-save-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
:root[data-theme] .td-jform .journal-delete{background:none;border:0;color:#ff8a92;font:500 13px var(--sans);cursor:pointer}
:root[data-theme] .td-jform #journal-message{grid-column:1/-1;margin:0}

/* course library */
:root[data-theme] #module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:16px;align-items:start}
:root[data-theme] .td-module{display:block;padding:16px 18px;overflow:visible}
:root[data-theme] .td-module .td-pt a{color:inherit;text-decoration:none}
:root[data-theme] .td-module h2{font:400 26px/1.15 var(--serif);margin:0 0 4px}
:root[data-theme] .td-module>p{margin:0 0 12px}
:root[data-theme] .library-controls{margin-bottom:16px}
/* view tabs (journal / weekly / trade library) */
:root[data-theme] .journal-view-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:rgba(226,233,255,.03);border:1px solid var(--td-line);margin:0}

/* ---------- other screens: same panels, type and pills ---------- */
:root[data-theme] .page :is(.module-card,.journal-stat,.row-item,.progress-module,.empty,.journal-empty,.notice,.quick-dialog){border-color:var(--td-line)}
:root[data-theme] .page :is(.module-card,.empty){border-radius:22px;background:var(--td-panel)}
:root[data-theme] .page :is(h2,h3){color:var(--td-ink)}
:root[data-theme] .page .filters{border-radius:99px;border:1px solid var(--td-line);background:rgba(226,233,255,.03);padding:4px}
:root[data-theme] .page .filter{border-radius:99px;font:500 13px var(--sans)}
:root[data-theme] .page .filter.active{background:rgba(37,99,235,.18);color:#fff;border-color:rgba(79,140,255,.6)}
:root[data-theme] .page .search input{border-radius:99px;background:rgba(226,233,255,.04);border-color:var(--td-line)}
:root[data-theme] .back-link{font:12.5px var(--mono);text-transform:uppercase;color:var(--td-blue4);margin-top:18px}

@media (max-width:1180px){.td-grid,.td-map,.td-lesson{grid-template-columns:minmax(0,1fr)}.td-jform{grid-template-columns:minmax(0,1fr)}}
@media (max-width:980px){.td-jgrid{grid-template-columns:minmax(0,1fr)}.td-lg{display:none}.td-cmd-r{display:none}:root[data-theme] .fk-brand span{display:none}:root[data-theme] .fk-brand{padding-right:10px}}
@media (max-width:620px){:root[data-theme] .page{padding:0 12px 20px}.td-pn{border-radius:18px;padding:14px}:root[data-theme] .td-jform .journal-fields,:root[data-theme] .td-jform .journal-prices{grid-template-columns:1fr 1fr}:root[data-theme] .td-jform .journal-fields.td-two{grid-template-columns:1fr}.td-day{width:58px}.td-strip{flex-wrap:nowrap}.td-round,.td-datepick{display:none}.td-days{flex:1 1 0}.td-cmd{padding:8px 12px}}
