@keyframes flashSpin { from { transform: rotateY(0deg); } to { transform: rotateY(180deg); } }
@keyframes radioSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
:root {
  --ui-navy-950:oklch(18% .045 250);
  --ui-navy-900:oklch(22% .052 248);
  --ui-navy-700:oklch(38% .08 245);
  --ui-gold-500:oklch(75% .14 75);
  --ui-gold-100:oklch(95% .035 78);
  --ui-ink:oklch(20% .035 250);
  --ui-muted:oklch(45% .025 245);
  --ui-line:oklch(87% .014 240);
  --ui-surface:oklch(99% .003 240);
  --ui-canvas:oklch(96% .009 240);
  --ui-success:oklch(60% .14 150);
  --ui-radius-sm:6px;
  --ui-radius-md:10px;
  --ui-radius-lg:16px;
  --ui-shadow-sm:0 3px 12px rgba(16,38,56,.07);
  --ui-shadow-md:0 14px 35px rgba(16,38,56,.12);
  --ui-content:1180px;
  --ui-focus:0 0 0 3px oklch(75% .14 75 / .45);
}
body { margin:0;background:var(--ui-canvas);color:var(--ui-ink); }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:none;box-shadow:var(--ui-focus); }
.app-topbar { position:relative;z-index:30;min-height:68px;padding:10px clamp(16px,3vw,34px);display:grid;grid-template-columns:auto minmax(320px,1fr) auto auto;align-items:center;gap:clamp(12px,2vw,26px);background:var(--ui-navy-950);color:white;box-shadow:0 5px 18px rgba(7,24,39,.16); }
.app-brand { display:flex;align-items:center;gap:11px;cursor:pointer;border:0;background:transparent;color:inherit;font:inherit;padding:0;text-align:left; }
.app-brand-mark { width:14px;height:14px;flex:0 0 auto;border-radius:4px;background:var(--ui-gold-500);box-shadow:0 0 0 5px rgba(235,171,52,.10); }
.app-brand-copy { display:flex;flex-direction:column;gap:1px;white-space:nowrap; }
.app-brand-copy strong { font-size:17px;letter-spacing:-.02em; }
.app-brand-copy small { color:oklch(80% .018 240);font-size:9px;letter-spacing:.08em;text-transform:uppercase; }
.desktop-primary-nav { display:flex;align-items:center;justify-content:flex-start;gap:3px; }
.app-nav-link { min-height:40px;padding:8px 11px;border:0;border-radius:var(--ui-radius-sm);background:transparent;color:oklch(87% .012 240);font:650 12px/1 system-ui,sans-serif;cursor:pointer; }
.app-nav-link:hover { background:rgba(255,255,255,.09);color:white; }
.app-nav-link[aria-current="page"] { background:rgba(255,255,255,.13);color:white;box-shadow:inset 0 -2px var(--ui-gold-500); }
.app-actions { display:flex;align-items:center;gap:10px;font-size:12px; }
.app-streak { display:flex;align-items:center;gap:6px;color:var(--ui-gold-500);font:700 11px/1 ui-monospace,monospace;white-space:nowrap; }
.app-streak-dot { width:7px;height:7px;border-radius:50%;background:currentColor; }
.app-help-button { width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:transparent;color:white;font-weight:800;cursor:pointer; }
.app-help-button:hover { background:rgba(255,255,255,.09); }
.profile-menu,.radio-player { position:relative; }
.profile-menu summary,.radio-summary { list-style:none;cursor:pointer; }
.profile-menu summary::-webkit-details-marker,.radio-summary::-webkit-details-marker { display:none; }
.profile-menu summary { min-height:40px;padding:5px 8px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.16);border-radius:var(--ui-radius-sm);color:white; }
.profile-menu summary:hover { background:rgba(255,255,255,.08); }
.profile-avatar { width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--ui-gold-500);color:var(--ui-navy-950);font-size:8px; }
.profile-name { max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.profile-menu-panel { position:absolute;right:0;top:calc(100% + 8px);width:190px;padding:7px;display:grid;gap:3px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:white;box-shadow:var(--ui-shadow-md); }
.profile-menu-panel button,.profile-menu-panel a { min-height:40px;padding:9px 11px;border:0;border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-ink);font:600 12px/1.2 system-ui,sans-serif;text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box; }
.profile-menu-panel button:hover,.profile-menu-panel a:hover { background:var(--ui-canvas); }
.radio-player { width:220px; }
.radio-summary { min-height:42px;padding:5px 9px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);border-radius:var(--ui-radius-sm);background:rgba(255,255,255,.055); }
.radio-summary:hover { background:rgba(255,255,255,.09); }
.radio-summary-icon { width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:rgba(255,255,255,.11);color:var(--ui-gold-500); }
.radio-disclosure { margin-left:auto;transition:transform .16s ease; }
.radio-player[open] .radio-disclosure { transform:rotate(180deg); }
.radio-panel { position:absolute;right:0;top:calc(100% + 8px);width:min(420px,calc(100vw - 24px));padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.15);border-radius:var(--ui-radius-md);background:var(--ui-navy-900);box-shadow:var(--ui-shadow-md); }
.radio-meta { min-width:0;display:flex;flex:1;flex-direction:column;gap:2px;overflow:hidden; }
.radio-station { color:oklch(75% 0.14 75);font:600 10px/1.2 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.radio-track { color:white;font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.radio-controls { display:flex;align-items:center;gap:5px; }
.radio-control { width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(0,0,0,.20);color:white;display:grid;place-items:center;padding:0;cursor:pointer;font-size:12px;line-height:1; }
.radio-control-primary { border-color:var(--ui-gold-500);background:var(--ui-gold-500);color:var(--ui-navy-950); }
.radio-control:hover { background:rgba(255,255,255,.14); }
.radio-control:disabled { opacity:.35;cursor:not-allowed; }
.radio-records { display:flex;align-items:center;gap:5px; }
.radio-record-button { width:38px;height:38px;padding:2px;border-radius:50%;background:transparent;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,background .15s ease; }
.radio-record-button:hover { transform:translateY(-1px) scale(1.06); }
.radio-record-button img { width:32px;height:32px;display:block;object-fit:contain; }
.radio-summary:focus-visible,.radio-control:focus-visible,.radio-record-button:focus-visible { outline:3px solid var(--ui-gold-500);outline-offset:2px;box-shadow:0 0 0 5px rgba(7,24,39,.72); }
.mobile-primary-nav { display:none!important; }
.app-content { flex:1;width:100%;max-width:var(--ui-content);margin:0 auto;padding:clamp(22px,4vw,44px) clamp(16px,3vw,32px);box-sizing:border-box; }
.ui-kicker { display:block;color:oklch(45% .1 75);font:800 10px/1.3 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase; }
.ui-button { min-height:44px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--ui-radius-sm);font:750 13px/1.1 system-ui,sans-serif;cursor:pointer;text-decoration:none; }
.ui-button-primary { background:var(--ui-navy-950);color:white; }
.ui-button-accent { background:var(--ui-gold-500);color:var(--ui-navy-950); }
.ui-button-secondary { border-color:oklch(38% .08 245 / .28);background:white;color:var(--ui-navy-700); }
.ui-button:hover { filter:brightness(.97);transform:translateY(-1px); }
.ui-icon-button { width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ui-line);border-radius:50%;background:white;color:var(--ui-ink);font-size:18px;cursor:pointer; }
.dashboard-shell { display:grid;gap:clamp(26px,4vw,42px); }
.dashboard-primary-action { min-height:250px;padding:clamp(26px,5vw,50px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:var(--ui-radius-lg);background:linear-gradient(125deg,var(--ui-navy-950),oklch(31% .085 230));color:white;box-shadow:var(--ui-shadow-md);overflow:hidden;position:relative; }
.dashboard-primary-action::after { content:"";position:absolute;right:-80px;bottom:-140px;width:350px;height:350px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.02); }
.dashboard-primary-copy { max-width:690px;position:relative;z-index:1; }
.dashboard-primary-copy .ui-kicker { color:var(--ui-gold-500); }
.dashboard-primary-copy h1 { margin:8px 0 10px;font-size:clamp(30px,5vw,48px);line-height:1.06;letter-spacing:-.035em; }
.dashboard-primary-copy p { max-width:610px;margin:0;color:oklch(87% .018 235);font-size:14px;line-height:1.65; }
.dashboard-progress-label { display:block;margin:14px 0 20px;color:var(--ui-gold-500);font:750 11px/1.4 ui-monospace,monospace; }
.dashboard-primary-icon { position:relative;z-index:1;font-size:clamp(58px,9vw,96px);filter:drop-shadow(0 10px 16px rgba(0,0,0,.25)); }
.dashboard-primary-buttons { display:flex;gap:10px;align-items:center;flex-wrap:wrap; }
.dashboard-secondary-action { border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:white; }
.dashboard-introduction { position:relative;margin-top:-20px;padding:18px 54px 18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid oklch(75% .14 75 / .55);border-radius:var(--ui-radius-md);background:linear-gradient(110deg,var(--ui-gold-100),white 68%);box-shadow:var(--ui-shadow-sm); }
.dashboard-introduction-copy { display:flex;align-items:center;gap:14px; }
.dashboard-introduction-copy>span { font-size:27px; }
.dashboard-introduction-copy strong,.dashboard-introduction-copy small { display:block; }
.dashboard-introduction-copy strong { margin:3px 0;font-size:16px; }
.dashboard-introduction-copy small { color:var(--ui-muted);font-size:12px;line-height:1.45; }
.dashboard-introduction-close { position:absolute;right:10px;top:9px; }
.dashboard-section { display:grid;gap:15px; }
.dashboard-section-heading { display:flex;align-items:end;justify-content:space-between;gap:24px; }
.dashboard-section-heading h2 { margin:5px 0 0;font-size:clamp(22px,3vw,29px);line-height:1.15;letter-spacing:-.025em; }
.dashboard-section-heading p { max-width:430px;margin:0;color:var(--ui-muted);font-size:12px;line-height:1.5;text-align:right; }
.dashboard-section-heading.compact { align-items:center; }
.dashboard-learning-paths { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.learning-path { min-height:150px;padding:17px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;border:1px solid var(--ui-line);border-top:4px solid var(--path-accent,var(--ui-navy-700));border-radius:var(--ui-radius-md);background:white;color:var(--ui-ink);text-align:left;box-shadow:var(--ui-shadow-sm);cursor:pointer; }
.learning-path:hover { transform:translateY(-2px);box-shadow:0 9px 24px rgba(16,38,56,.11); }
.learning-path-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--path-wash,var(--ui-canvas));font-size:19px; }
.learning-path small,.learning-path strong,.learning-path em { display:block; }
.learning-path small { margin-bottom:6px;color:var(--ui-muted);font:750 9px/1.3 ui-monospace,monospace;letter-spacing:.06em; }
.learning-path strong { font-size:14px;line-height:1.25; }
.learning-path em { margin-top:7px;color:var(--ui-muted);font-size:11px;line-height:1.35;font-style:normal; }
.learning-path-interactive { --path-accent:oklch(70% .14 75);--path-wash:oklch(94% .045 75); }
.learning-path-theory { --path-accent:oklch(55% .10 225);--path-wash:oklch(94% .025 225); }
.learning-path-cards { --path-accent:oklch(58% .12 260);--path-wash:oklch(94% .025 260); }
.learning-path-exam { --path-accent:oklch(45% .09 20);--path-wash:oklch(95% .025 20); }
.module-card-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px; }
.module-card { min-height:228px;padding:20px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm); }
.module-card-extra { border-top:3px solid oklch(75% .14 75 / .72); }
.module-card-title { font-size:17px;font-weight:780;line-height:1.25; }
.module-card-subtitle { min-height:38px;color:var(--ui-muted);font-size:12px;line-height:1.5; }
.module-progress { height:7px;margin-top:auto;border-radius:7px;background:oklch(90% .01 240);overflow:hidden; }
.module-progress>div { height:100%;border-radius:inherit; }
.module-progress.is-neutral { background:linear-gradient(90deg,oklch(84% .012 240),oklch(91% .01 240)); }
.module-card-meta { min-height:17px;color:var(--ui-muted);font:600 11px/1.45 ui-monospace,monospace; }
.module-card .ui-button { width:100%;margin-top:2px;box-sizing:border-box; }
.dashboard-extras { padding:0;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);overflow:hidden; }
.dashboard-extras>summary { min-height:68px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none; }
.dashboard-extras>summary::-webkit-details-marker { display:none; }
.dashboard-extras>summary strong { display:block;margin-top:4px;font-size:18px; }
.dashboard-extras>summary>span:last-child { font-size:24px;transition:transform .18s ease; }
.dashboard-extras[open]>summary>span:last-child { transform:rotate(180deg); }
.dashboard-extras-grid { padding:0 16px 16px; }
.learning-page-shell { width:min(960px,100%);margin:0 auto; }
.learning-breadcrumb { min-height:44px;margin:0 0 15px;padding:8px 10px 8px 0;border:0;border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-muted);font:650 13px/1.3 system-ui,sans-serif;cursor:pointer; }
.learning-breadcrumb:hover { color:var(--ui-navy-700); }
.learning-page-header { margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--ui-line); }
.learning-page-header-split { display:flex;align-items:flex-start;justify-content:space-between;gap:24px; }
.learning-page-header h1 { margin:6px 0 5px;font-size:clamp(28px,4vw,38px);line-height:1.08;letter-spacing:-.035em; }
.learning-page-header p { max-width:720px;margin:0;color:var(--ui-muted);font-size:14px;line-height:1.55; }
.learning-stats { margin:-8px 0 28px;display:flex;gap:10px;flex-wrap:wrap; }
.learning-stats>div { min-width:125px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-sm);background:white; }
.learning-stats span { color:var(--ui-muted);font-size:11px; }
.learning-stats strong { color:var(--ui-navy-700);font:800 14px/1 ui-monospace,monospace; }
.category-page>button:not(.learning-breadcrumb),.category-page article button,.category-page a { min-height:44px; }
.category-page>h3 { margin-top:34px!important; }
.category-page article { border-radius:var(--ui-radius-md)!important;box-shadow:var(--ui-shadow-sm); }
.learning-source-links { max-width:380px;display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap; }
.learning-source-links a { min-height:44px;padding:9px 12px;display:inline-flex;align-items:center;border:1px solid var(--ui-line);border-radius:var(--ui-radius-sm);background:white;color:var(--ui-navy-700);font-size:11px;font-weight:650;text-decoration:none;box-sizing:border-box; }
.learning-note { margin-bottom:20px;padding:13px 15px;border-left:4px solid var(--ui-gold-500);border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;background:var(--ui-gold-100);color:var(--ui-muted);font-size:12px;line-height:1.6; }
.theory-hero-image { display:block;width:100%;height:auto;aspect-ratio:4/1;object-fit:cover;margin-bottom:22px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:white;box-sizing:border-box; }
.theory-layout { display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:20px;align-items:start; }
.theory-chapters { position:sticky;top:20px;display:flex;flex-direction:column;gap:8px; }
.theory-chapters button { min-height:48px;border-radius:var(--ui-radius-sm)!important;text-align:left; }
.theory-article { min-width:0;padding:clamp(22px,4vw,34px);border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:white;box-shadow:var(--ui-shadow-sm); }
.learning-progress-label { margin:0 0 9px;color:var(--ui-muted);font:700 12px/1.4 ui-monospace,monospace; }
.learning-progress-track { height:8px;margin-bottom:22px;overflow:hidden;border-radius:8px;background:oklch(90% .01 240); }
.learning-progress-track>div { height:100%;border-radius:inherit; }
.question-card { width:min(720px,100%);padding:clamp(22px,4vw,34px);border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:white;box-shadow:var(--ui-shadow-sm);box-sizing:border-box; }
.question-text { margin:0 0 24px;color:var(--ui-ink);font-size:clamp(19px,2.5vw,23px);font-weight:720;line-height:1.45;letter-spacing:-.015em; }
.question-visual { display:block;max-width:100%;max-height:320px;width:auto;height:auto;object-fit:contain;margin:0 auto 24px;border-radius:var(--ui-radius-sm); }
.answer-options { display:flex;flex-direction:column;gap:10px; }
.answer-options button { min-height:52px!important;padding:12px 15px!important;border-radius:var(--ui-radius-sm)!important;text-align:left;line-height:1.45; }
.answer-explanation { margin-top:20px;padding:15px 17px;border-left:4px solid var(--ui-navy-700);border-radius:0 var(--ui-radius-sm) var(--ui-radius-sm) 0;background:oklch(95% .016 240);color:var(--ui-ink);font-size:13px;line-height:1.6; }
.learning-sticky-actions { display:flex;gap:10px;align-items:center;margin-top:18px; }
.learning-result-card { width:min(540px,100%);margin:12px auto;padding:clamp(30px,5vw,48px);border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:white;box-shadow:var(--ui-shadow-md);text-align:center;box-sizing:border-box; }
.learning-result-card h1,.learning-result-card h2 { margin:7px 0 18px;font-size:clamp(24px,4vw,32px); }
.learning-result-score { display:block;margin:18px 0 5px;color:var(--ui-navy-950);font:850 clamp(42px,8vw,58px)/1 ui-monospace,monospace; }
.learning-result-card p { margin:0 0 26px;color:var(--ui-muted);font-size:14px; }
.learning-result-actions { display:flex;justify-content:center;gap:10px;flex-wrap:wrap; }
.flash-workspace { width:min(650px,100%); }
.flash-card { min-height:360px;padding:clamp(26px,5vw,48px);display:flex;align-items:center;justify-content:center;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:white;text-align:center;box-shadow:var(--ui-shadow-md);cursor:pointer;box-sizing:border-box; }
.flash-card:focus-visible { outline:none;box-shadow:var(--ui-focus),var(--ui-shadow-md); }
.flash-flip-hint { margin-top:11px;color:var(--ui-muted);font-size:11px;text-align:center; }
.flash-rating-actions { justify-content:center; }
.flash-rating-actions .ui-button { flex:1; }
.flash-repeat { border-color:oklch(55% .18 25 / .45);background:white;color:oklch(50% .16 25); }
.flash-know { background:var(--ui-success);color:white; }
.flash-result-stats { margin:10px 0 25px;display:flex;justify-content:center;gap:42px;font-family:ui-monospace,monospace; }
.exam-setup-card { width:min(720px,100%);padding:clamp(22px,4vw,34px);border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:white;box-shadow:var(--ui-shadow-sm);box-sizing:border-box; }
.exam-choice-group { margin:0 0 27px;padding:0;border:0; }
.exam-choice-group legend { margin-bottom:11px;color:var(--ui-ink);font-size:13px;font-weight:750; }
.exam-choice-options { display:flex;gap:8px;flex-wrap:wrap; }
.exam-choice-options button { min-height:44px!important;border-radius:var(--ui-radius-sm)!important; }
.exam-start-button { min-width:210px; }
.exam-status-bar { margin-bottom:17px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:white;box-shadow:var(--ui-shadow-sm); }
.exam-status-bar strong { display:block;margin-top:5px;font:750 13px/1.3 ui-monospace,monospace; }
.exam-timer { padding:9px 12px;border-radius:var(--ui-radius-sm);background:var(--ui-canvas);font:850 22px/1 ui-monospace,monospace; }
.exam-question-nav { margin-bottom:18px;display:flex;gap:7px;flex-wrap:wrap; }
.exam-question-nav button { width:44px!important;height:44px!important;border-radius:var(--ui-radius-sm)!important;font-weight:750; }
.exam-question-nav button[aria-current="page"] { box-shadow:inset 0 0 0 2px var(--ui-navy-950); }
.exam-navigation-actions { width:min(720px,100%);justify-content:space-between; }
.exam-result-card>div:first-of-type { margin-top:16px; }
.interactive-module {
  background:#f6efdf!important;
  border-color:#d8c8a8!important;
  color:oklch(20% 0.045 250)!important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.interactive-module:hover {
  background:#efe2c9!important;
  border-color:#bda77e!important;
  box-shadow:0 7px 18px rgba(91,70,36,.10);
  transform:translateY(-1px);
}
.interactive-module:focus-visible {
  outline:3px solid rgba(154,112,45,.28);
  outline-offset:2px;
}
.signal-game-shell { max-width:920px;margin:0 auto; }
.signal-game-head { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:7px;background:oklch(20% 0.045 250);color:white; }
.signal-game-stats { display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end; }
.signal-game-stat { min-width:74px;padding:9px 11px;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:rgba(255,255,255,.07);text-align:center; }
.signal-game-stat strong { display:block;font-size:20px;color:oklch(75% 0.14 75); }
.signal-game-stat span { font:10px ui-monospace,monospace;color:oklch(88% 0.01 240);text-transform:uppercase;letter-spacing:.05em; }
.signal-game-board { margin-top:16px;padding:22px;border:1px solid oklch(88% 0.012 240);border-radius:7px;background:white;box-shadow:0 10px 30px rgba(20,40,60,.08); }
.signal-game-timer { height:9px;border-radius:9px;background:oklch(90% 0.01 240);overflow:hidden; }
.signal-game-visuals { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0; }
.signal-game-visuals img { display:block;width:100%;height:clamp(180px,32vw,330px);object-fit:contain;border:1px solid oklch(88% 0.012 240);border-radius:5px;background:oklch(98% 0.004 240); }
.signal-game-options { display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin-top:18px; }
.signal-game-option { min-height:76px;padding:13px;border:1px solid oklch(82% 0.02 240);border-radius:5px;background:oklch(97% 0.006 240);color:oklch(18% 0.02 250);font-size:13px;font-weight:650;line-height:1.4;cursor:pointer; }
.signal-game-option:hover:not(:disabled) { border-color:oklch(65% 0.14 75);background:oklch(75% 0.14 75 / .11);transform:translateY(-1px); }
.signal-game-option:disabled { opacity:.62;cursor:wait; }
.signal-game-feedback { margin-top:12px;padding:10px 12px;border-radius:4px;font-size:13px;font-weight:700; }
.signal-game-leaderboard { margin-top:18px;padding:20px;border:1px solid oklch(88% 0.012 240);border-radius:6px;background:white; }
.signal-game-rank { display:grid;grid-template-columns:42px minmax(0,1fr) 70px;gap:10px;align-items:center;padding:9px 4px;border-top:1px solid oklch(92% 0.01 240);font-size:13px; }
.signal-game-rank:first-child { border-top:0; }
.funk-entry { width:100%;max-width:920px;margin:0 0 26px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #d8c8a8;border-radius:7px;background:#f6efdf;text-align:left;cursor:pointer; }
.funk-entry-title { display:block;margin:5px 0 7px;font-size:21px;font-weight:750;color:oklch(20% 0.045 250); }
.funk-kicker { display:block;font:700 10px/1.3 ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:oklch(43% 0.1 75); }
.funk-shell { width:min(920px,100%);margin:0 auto; }
.funk-hero { padding:24px;border-radius:8px;background:oklch(20% 0.045 250);color:white; }
.funk-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:18px; }
.funk-card { min-height:150px;padding:21px;border:1px solid oklch(77% 0.04 240);border-radius:6px;background:white;text-align:left;cursor:pointer; }
.funk-route { position:relative;display:grid;gap:13px;margin:22px 0;padding-left:18px; }
.funk-route::before { content:"";position:absolute;left:36px;top:22px;bottom:22px;width:3px;background:oklch(75% 0.14 75 / .55); }
.funk-mission-node { position:relative;z-index:1;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;width:100%;min-height:88px;padding:14px;border:1px solid oklch(84% 0.02 240);border-radius:6px;background:white;text-align:left;cursor:pointer; }
.funk-mission-node:disabled { opacity:.55;cursor:not-allowed; }
.funk-node-number { width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:oklch(20% 0.045 250);color:white;font-weight:750; }
.funk-console { margin-top:16px;padding:22px;border:1px solid oklch(82% 0.02 240);border-radius:8px;background:white;box-shadow:0 12px 32px rgba(20,40,60,.08); }
.funk-transmission { margin:14px 0;padding:16px;border-left:4px solid oklch(75% 0.14 75);background:oklch(96% 0.015 75);font:13px/1.6 ui-monospace,monospace;white-space:pre-wrap; }
.funk-options { display:grid;gap:10px;margin-top:17px; }
.funk-option { min-height:48px;padding:12px 14px;border:1px solid oklch(82% 0.02 240);border-radius:5px;background:oklch(98% 0.004 240);color:oklch(18% 0.02 250);text-align:left;font-size:13px;line-height:1.45;cursor:pointer; }
.funk-option:focus-visible,.funk-card:focus-visible,.funk-mission-node:focus-visible,.funk-entry:focus-visible { outline:3px solid oklch(75% 0.14 75 / .55);outline-offset:2px; }
.funk-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:18px; }
.funk-actions button { min-height:44px;padding:11px 16px;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer; }
.funk-actions button:disabled { opacity:.45;cursor:not-allowed; }
.funk-feedback { margin-top:18px;padding:15px;border-radius:5px;font-size:13px;line-height:1.55; }
.lern-entry { width:100%;margin:0 0 28px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #d8c8a8;border-radius:8px;background:linear-gradient(135deg,#f6efdf,#edf3f5);color:oklch(20% 0.045 250);text-align:left;cursor:pointer; }
.lern-entry-title { display:block;margin:5px 0 7px;font-size:23px;font-weight:800; }
.lern-shell { width:min(960px,100%);margin:0 auto; }
.lern-hero { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:25px;border-radius:8px;background:linear-gradient(135deg,oklch(20% 0.045 250),oklch(34% 0.08 225));color:white; }
.lern-overall { min-width:130px;padding:12px 14px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:rgba(255,255,255,.08);text-align:center; }
.lern-overall strong { display:block;font-size:22px;color:oklch(75% 0.14 75); }
.lern-rank-panel { min-width:310px;padding:12px 14px;display:grid;grid-template-columns:128px minmax(130px,1fr);gap:13px;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:rgba(255,255,255,.08); }
.lern-rank-panel img { display:block;width:128px;height:58px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.24)); }
.lern-rank-panel img[src=""], .lern-rank-card img[src=""] { visibility:hidden; }
.lern-rank-ladder { display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0 22px; }
.lern-rank-card { min-height:132px;padding:12px;border:1px solid oklch(84% 0.02 240);border-radius:6px;background:white;text-align:center; }
.lern-rank-card img { display:block;width:100%;height:61px;object-fit:contain;margin:0 auto 7px; }
.lern-rank-promotion { max-width:560px;margin:0 auto 20px;padding:17px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid oklch(75% 0.14 75 / .55);border-radius:7px;background:oklch(75% 0.14 75 / .12);text-align:left; }
.lern-rank-promotion img { width:170px;height:75px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(20,40,60,.18)); }
.achievement-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px; }
.achievement-card { padding:18px;border:1px solid oklch(86% 0.02 240);border-radius:7px;background:white; }
.achievement-card.locked { opacity:.58;filter:grayscale(.72); }
.achievement-card img { display:block;width:92px;height:104px;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 5px 8px rgba(20,40,60,.15)); }
.achievement-progress { height:6px;margin:10px 0 7px;border-radius:5px;background:oklch(90% 0.01 240);overflow:hidden; }
.achievement-progress span { display:block;height:100%;background:oklch(60% 0.14 150); }
.lern-campaigns { display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-top:20px; }
.lern-campaign { min-height:184px;padding:21px;border:1px solid oklch(82% 0.02 240);border-radius:7px;background:white;text-align:left;cursor:pointer; }
.lern-campaign-icon { display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:oklch(75% 0.14 75 / .18);font-size:22px; }
.lern-console { margin-top:18px;padding:23px;border:1px solid oklch(82% 0.02 240);border-radius:8px;background:white;box-shadow:0 12px 32px rgba(20,40,60,.08); }
.lern-mission-status { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px;align-items:center;margin:16px 0;padding:13px 15px;border:1px solid oklch(82% 0.02 240);border-radius:6px;background:oklch(97% 0.012 240); }
.lern-resource-track { height:8px;margin-top:7px;border-radius:8px;background:oklch(88% 0.012 240);overflow:hidden; }
.lern-resource-track span { display:block;height:100%;border-radius:inherit;transition:width .3s ease,background .3s ease; }
.lern-impact { margin:11px 0 0;padding:11px 13px;border-left:4px solid oklch(56% 0.17 25);background:oklch(96% 0.025 25);color:oklch(40% 0.13 25);font-size:12px;line-height:1.5; }
.lern-bonus { margin:11px 0 0;padding:11px 13px;border-left:4px solid oklch(60% 0.14 150);background:oklch(96% 0.03 150);color:oklch(34% 0.1 150);font-size:12px;line-height:1.5; }
.lern-boss-banner { margin:0 0 17px;padding:17px;border:2px solid oklch(75% 0.14 75);border-radius:7px;background:linear-gradient(120deg,oklch(20% 0.055 250),oklch(32% 0.09 25));color:white;box-shadow:0 12px 28px rgba(60,25,18,.18); }
.lern-boss-node { border:2px solid oklch(64% 0.17 45)!important;background:linear-gradient(120deg,white,oklch(94% 0.045 55))!important;box-shadow:0 10px 24px rgba(80,45,15,.12); }
.lern-finale-result { max-width:650px;margin:0 auto 18px;padding:18px;border:2px solid oklch(75% 0.14 75);border-radius:8px;background:linear-gradient(120deg,oklch(20% 0.055 250),oklch(32% 0.09 25));color:white; }
.lern-specialist-card { display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:16px 0;padding:15px;border:1px solid oklch(58% 0.11 225 / .55);border-radius:7px;background:linear-gradient(120deg,oklch(96% 0.025 225),white); }
.lern-specialist-card button { padding:10px 15px;border:0;border-radius:4px;background:oklch(38% 0.08 245);color:white;font-weight:800;cursor:pointer; }
.lern-map-answer { display:grid;gap:8px;margin-top:16px; }
.lern-map-answer button { min-height:48px;padding:11px 13px;border:1px solid oklch(82% 0.02 240);border-radius:5px;background:oklch(98% 0.004 240);text-align:left;cursor:pointer; }
.lern-map-answer button:focus-visible,.lern-campaign:focus-visible,.lern-entry:focus-visible { outline:3px solid oklch(75% 0.14 75 / .55);outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { .lern-entry,.lern-campaign,.funk-entry,.funk-card,.ui-button,.learning-path,.radio-record-button,.radio-disclosure { transition:none!important;transform:none!important; } }
.error-result-note { margin:18px auto 0;padding:14px 16px;display:flex;flex-direction:column;gap:3px;max-width:520px;border:1px solid var(--ui-gold-300);border-radius:var(--ui-radius-md);background:var(--ui-gold-100);color:var(--ui-navy-900); }
.error-result-note span { color:var(--ui-muted);font-size:13px;line-height:1.5; }
.error-center-header { display:flex;align-items:center;justify-content:space-between;gap:24px; }
.error-center-count { min-width:112px;padding:16px 20px;display:grid;place-items:center;border-radius:var(--ui-radius-lg);background:var(--ui-navy-950);color:white;box-shadow:var(--ui-shadow-sm); }
.error-center-count strong { color:var(--ui-gold-400);font:800 34px/1 ui-monospace,monospace; }
.error-center-count span { margin-top:5px;font:700 11px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em; }
.weakness-panel { margin-bottom:18px;padding:22px;display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:22px;align-items:center;border:1px solid var(--ui-gold-300);border-radius:var(--ui-radius-lg);background:linear-gradient(135deg,var(--ui-gold-100),white); }
.weakness-panel h2,.stats-overview h2 { margin:5px 0 0;font-size:22px; }
.weakness-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px; }
.weakness-list button { min-height:62px;padding:11px 13px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:white;color:var(--ui-ink);text-align:left;cursor:pointer; }
.weakness-list button:hover { border-color:var(--ui-gold-500);transform:translateY(-1px); }
.weakness-list span { color:var(--ui-muted);font-size:12px; }
.error-center-toolbar { margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px; }
.error-center-toolbar p { margin:0;max-width:650px;color:var(--ui-muted);font-size:13px;line-height:1.5; }
.error-card-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.error-learning-card { padding:20px;display:flex;flex-direction:column;border:1px solid var(--ui-line);border-radius:var(--ui-radius-lg);background:white;box-shadow:var(--ui-shadow-sm); }
.error-card-meta { margin-bottom:10px;display:flex;justify-content:space-between;gap:8px;color:var(--ui-muted);font:700 10px/1.3 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em; }
.error-card-meta span:first-child { color:var(--ui-navy-700); }
.error-learning-card h2 { margin:0 0 15px;font-size:17px;line-height:1.4; }
.error-answer { margin-bottom:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;border-radius:var(--ui-radius-sm);font-size:13px;line-height:1.4; }
.error-answer span { font:700 9px/1.2 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em; }
.error-answer-wrong { background:oklch(96% .035 25);color:oklch(42% .15 25); }
.error-answer-correct { background:oklch(96% .035 150);color:oklch(36% .12 150); }
.error-explanation { margin:5px 0 17px;color:var(--ui-muted);font-size:13px;line-height:1.55; }
.error-card-actions { margin-top:auto;display:flex;gap:8px; }
.error-card-actions .ui-button { flex:1;padding-inline:12px; }
.error-empty-state { padding:44px 20px;text-align:center;border:1px dashed var(--ui-line-strong);border-radius:var(--ui-radius-lg);background:white; }
.error-empty-state>div { margin:auto;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:oklch(94% .05 150);color:oklch(40% .14 150);font-size:25px;font-weight:800; }
.error-empty-state h2 { margin:14px 0 5px; }
.error-empty-state p { margin:0 0 18px;color:var(--ui-muted); }
.stats-overview { margin-top:32px;padding-top:25px;display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:24px;border-top:1px solid var(--ui-line); }
.stats-overview p { color:var(--ui-muted);font:12px/1.5 ui-monospace,monospace; }
.stats-row-list { display:flex;flex-direction:column;gap:14px; }

/* Knotenkunde: keep the illustration subordinate to the lesson controls. */
.knot-workspace { display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start;min-width:0; }
.knot-selector { display:flex;flex-direction:column;gap:6px;min-width:0; }
.knot-detail-card { min-width:0;padding:20px;background:oklch(99% 0.003 240);border:1px solid oklch(88% 0.012 240);border-radius:4px;box-sizing:border-box; }
.knot-detail-title { margin-bottom:6px;font-size:19px;font-weight:700; }
.knot-detail-use { margin-bottom:12px;color:oklch(45% 0.02 250);font-size:13px;line-height:1.45; }
.knot-image-frame { width:min(100%,61.333vh,640px);aspect-ratio:4/3;margin:0 auto 14px; }
.knot-image-frame image-slot { display:block;width:100%;height:100%;background:#f4eee3; }
.knot-step-label { margin-bottom:6px;color:oklch(45% 0.02 250);font:13px ui-monospace,monospace; }
.knot-step-text { min-height:36px;margin-bottom:12px;font-size:15px;line-height:1.5; }
.knot-step-actions { display:flex;gap:10px;align-items:center;flex-wrap:wrap; }

@media (max-width: 900px) {
  .knot-workspace { grid-template-columns:minmax(0,1fr);gap:14px; }
  .knot-selector { margin:0 -16px;padding:0 16px 8px;overflow-x:auto;flex-direction:row;scroll-snap-type:x proximity;scrollbar-width:thin; }
  .knot-selector button { min-width:180px;min-height:48px;flex:0 0 180px;scroll-snap-align:start; }
  .knot-image-frame { width:min(100%,560px); }
  .learning-aid-layout { grid-template-columns:minmax(0,1fr)!important; }
  .learning-aid-layout nav>div:last-child { max-height:210px;overflow-y:auto; }
}

@media (max-width: 980px) {
  .app-topbar { grid-template-columns:auto 1fr auto; }
  .desktop-primary-nav { display:none; }
  .radio-player { justify-self:end; }
  .dashboard-learning-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  body { padding-bottom:calc(74px + env(safe-area-inset-bottom)); }
  .app-topbar { position:sticky;top:0;min-height:58px;padding:8px 13px;grid-template-columns:minmax(0,1fr) auto auto;gap:8px; }
  .app-brand-copy small,.profile-name,.app-streak { display:none; }
  .app-brand-copy strong { font-size:15px; }
  .app-help-button,.profile-menu summary,.radio-summary { min-width:44px;min-height:44px;box-sizing:border-box; }
  .profile-menu summary { padding:4px;border:0; }
  .profile-avatar { width:34px;height:34px; }
  .radio-player { width:auto;justify-self:end; }
  .radio-summary { width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:50%; }
  .radio-summary .radio-meta,.radio-disclosure { display:none; }
  .radio-summary-icon { width:auto;height:auto;background:transparent;font-size:17px; }
  .radio-panel { position:fixed;top:66px;right:10px;left:10px;width:auto;max-height:calc(100dvh - 142px - env(safe-area-inset-bottom));padding:12px;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;box-sizing:border-box; }
  .radio-controls { width:100%;display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px; }
  .radio-records { width:100%;display:grid;grid-template-columns:repeat(auto-fit,44px);justify-content:center;gap:8px; }
  .mobile-primary-nav { position:fixed;z-index:50;right:0;bottom:0;left:0;height:calc(66px + env(safe-area-inset-bottom));padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:grid!important;grid-template-columns:repeat(4,1fr);align-items:stretch;border-top:1px solid var(--ui-line);background:rgba(255,255,255,.97);box-shadow:0 -8px 25px rgba(16,38,56,.10);backdrop-filter:blur(12px);box-sizing:border-box; }
  .mobile-primary-nav button { min-width:0;min-height:44px;padding:5px 2px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;border-radius:var(--ui-radius-sm);background:transparent;color:var(--ui-muted);font:700 10px/1 system-ui,sans-serif;cursor:pointer; }
  .mobile-primary-nav button>span:first-child { min-height:19px;color:var(--ui-navy-700);font-size:17px;line-height:1; }
  .mobile-primary-nav button:hover { background:var(--ui-canvas);color:var(--ui-ink); }
  .mobile-primary-nav button[aria-current="page"] { background:var(--ui-gold-100);color:var(--ui-navy-950);box-shadow:inset 0 3px var(--ui-gold-500); }
  .app-content { padding:20px 14px 30px; }
  .dashboard-shell { gap:26px; }
  .dashboard-primary-action { min-height:0;padding:25px 21px;align-items:flex-start; }
  .dashboard-primary-action h1 { font-size:30px; }
  .dashboard-primary-action p { font-size:13px; }
  .dashboard-primary-icon { display:none; }
  .dashboard-introduction { margin-top:-12px;padding:17px 46px 17px 16px;align-items:stretch;flex-direction:column; }
  .dashboard-introduction .ui-button { align-self:stretch; }
  .dashboard-section-heading { align-items:flex-start;flex-direction:column;gap:7px; }
  .dashboard-section-heading p { text-align:left; }
  .dashboard-learning-paths,.module-card-grid { grid-template-columns:1fr; }
  .learning-path { min-height:112px;align-items:center; }
  .module-card { min-height:210px; }
  .radio-meta { min-width:0;max-width:none; }
  .radio-control { width:100%;min-width:44px;height:44px;min-height:44px;box-sizing:border-box; }
  .radio-record-button { width:44px;min-width:44px;height:44px;min-height:44px;box-sizing:border-box; }
  .radio-record-button img { width:36px;height:36px; }
  .theory-layout { grid-template-columns:1fr; }
  .learning-page-shell { max-width:100%; }
  .learning-breadcrumb { width:auto;min-height:44px;margin-bottom:10px; }
  .learning-page-header,.learning-page-header-split { margin-bottom:18px;padding-bottom:17px;align-items:flex-start;flex-direction:column;gap:13px; }
  .learning-page-header h1 { font-size:29px; }
  .learning-source-links { max-width:none;justify-content:flex-start; }
  .learning-source-links a { min-height:44px; }
  .learning-stats { margin-top:-3px; }
  .learning-stats>div { flex:1;min-width:120px; }
  .theory-hero-image { aspect-ratio:2/1; }
  .theory-layout { gap:14px; }
  .theory-chapters { position:static;margin:0 -14px;padding:2px 14px 10px;overflow-x:auto;display:flex;flex-direction:row;scroll-snap-type:x proximity; }
  .theory-chapters button { min-width:190px;min-height:48px;flex:0 0 190px;scroll-snap-align:start; }
  .theory-article,.question-card,.exam-setup-card { padding:20px 17px; }
  .question-text { margin-bottom:20px;font-size:20px; }
  .answer-options button { min-height:56px!important; }
  .learning-sticky-actions { position:sticky;z-index:15;bottom:calc(70px + env(safe-area-inset-bottom));margin:18px -7px -7px;padding:10px 7px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:rgba(255,255,255,.96);box-shadow:0 -7px 22px rgba(16,38,56,.10);backdrop-filter:blur(10px); }
  .learning-sticky-actions .ui-button { min-height:48px; }
  .flash-card { min-height:330px;padding:26px 20px; }
  .flash-rating-actions .ui-button { padding-inline:10px; }
  .learning-result-actions { align-items:stretch;flex-direction:column; }
  .learning-result-actions .ui-button { width:100%; }
  .error-center-header { align-items:flex-start; }
  .error-center-count { width:100%;box-sizing:border-box; }
  .weakness-panel,.stats-overview { grid-template-columns:1fr; }
  .error-center-toolbar { align-items:stretch;flex-direction:column; }
  .error-center-toolbar .ui-button { width:100%; }
  .error-card-list { grid-template-columns:1fr; }
  .error-card-actions { flex-direction:column; }
  .error-card-actions .ui-button { width:100%; }
  .exam-choice-options { display:grid;grid-template-columns:1fr 1fr; }
  .exam-choice-options button { width:100%;min-height:48px!important; }
  .exam-start-button { width:100%;min-height:50px; }
  .exam-status-bar { position:static;padding:12px 14px; }
  .exam-question-nav { margin-right:-14px;padding-right:14px;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity; }
  .exam-question-nav button { flex:0 0 44px;scroll-snap-align:start; }
  .exam-navigation-actions { justify-content:space-between; }
  .exam-navigation-actions .ui-button { flex:1; }
  .signal-game-head { align-items:flex-start;flex-direction:column; }
  .signal-game-stats { justify-content:flex-start; }
  .signal-game-board { padding:15px; }
  .signal-game-options { grid-template-columns:1fr; }
  .funk-entry { align-items:flex-start;flex-direction:column; }
  .funk-grid { grid-template-columns:1fr; }
  .funk-console { padding:15px; }
  .funk-actions { align-items:stretch;flex-direction:column; }
  .lern-entry,.lern-hero { align-items:flex-start;flex-direction:column; }
  .lern-campaigns { grid-template-columns:1fr; }
  .lern-console { padding:15px; }
  .lern-overall { min-width:0;width:100%;box-sizing:border-box; }
  .lern-rank-panel { min-width:0;width:100%;grid-template-columns:108px minmax(0,1fr);box-sizing:border-box; }
  .lern-rank-panel img { width:108px; }
  .lern-rank-promotion { align-items:center;flex-direction:column;text-align:center; }
  .knot-selector { margin-right:-14px;margin-left:-14px;padding-right:14px;padding-left:14px; }
  .knot-detail-card { padding:16px; }
  .knot-image-frame { width:100%; }
  .knot-step-text { min-height:0; }
  .knot-step-actions { position:sticky;z-index:15;bottom:calc(70px + env(safe-area-inset-bottom));margin:12px -7px -7px;padding:10px 7px;border:1px solid var(--ui-line);border-radius:var(--ui-radius-md);background:rgba(255,255,255,.96);box-shadow:0 -7px 22px rgba(16,38,56,.10);backdrop-filter:blur(10px); }
  .knot-step-actions button { min-height:46px; }
  .knot-step-actions button:last-child { width:100%;margin-left:0!important; }
}
