@charset "UTF-8";
@font-face { font-family:"Tiny5"; src:url("fonts/Tiny5-Variable.ttf") format("truetype"); font-style:normal; font-weight:100 900; font-display:swap; }
@font-face { font-family:"Press Start 2P"; src:url("fonts/PressStart2P-Regular.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
.theme-toggle { flex-shrink:0; }
.theme-toggle svg { width:18px; height:18px; }
:root[data-theme="light"] {
  color-scheme:light;
  --bg:#f5f5f5; --surface:#fff; --ink:#222; --muted:#666; --line:#ccc;
  --accent:#222; --accent-light:#e8e8e8; --green:#333; --wisteria:#555; --lavender:#222; --silver:#888;
  --panel:#fffffff5; --panel-shadow:3px 3px 0 #ddd; --radius:0px;
  background:var(--bg);
}
html[data-theme="light"] body { color:#222; background:var(--bg); }
html[data-theme="light"] ::selection { background:#333; color:#fff; }
html[data-theme="light"] :is(.brand,.stat-value,.btn,.filter-chip,.stage-number,.path-number) { font-family:"Tiny5",Consolas,monospace; font-variation-settings:"BLED" 0,"JITT" 0,"ROND" 0; font-weight:400; letter-spacing:0; color:#222; }
html[data-theme="light"] :is(h1,h2,h3,h4,h5,h6) { font-family:"Press Start 2P",Consolas,monospace; font-variation-settings:normal; font-weight:400; letter-spacing:0; color:#222; line-height:1.65; }
html[data-theme="light"] :is(h1,.page-heading h1) { font-size:24px; line-height:1.6; }
html[data-theme="light"] .hero h2 { font-size:24px; line-height:1.65; max-width:530px; margin:20px 0 16px; }
html[data-theme="light"] .section-heading h2 { font-size:16px; line-height:1.6; }
html[data-theme="light"] :is(.settings-panel h2,dialog h2) { font-size:16px; line-height:1.6; }
html[data-theme="light"] .brand { font-size:27px; letter-spacing:0; }
html[data-theme="light"] .brand-light { color:#666; font-weight:400; }
html[data-theme="light"] .brand small { font-size:7px; letter-spacing:1px; }
html[data-theme="light"] .stat-value { font-size:32px; line-height:1; }
html[data-theme="light"] :is(.brand-mark,.avatar,.local-tag,.nav-count,kbd,.stage-number,.path-number,.pill,.bookmark,.task-icon,.file-tab,.editor-language) { border-radius:0; }
html[data-theme="light"] :is(.sidebar,.topbar) { border-color:#ccc; backdrop-filter:none; box-shadow:none; background:#fafafaf5; }
html[data-theme="light"] .sidebar { border-right:1px solid #bbb; }
html[data-theme="light"] .topbar { border-bottom:1px solid #bbb; }
html[data-theme="light"] :is(.brand-mark,.avatar) { background:#fff; color:#333; border:1px solid #444; box-shadow:2px 2px 0 #ccc; }
html[data-theme="light"] .brand-mark { font-family:"Tiny5",monospace; font-size:30px; }
html[data-theme="light"] .brand-mark span { color:#777; }
html[data-theme="light"] :is(.brand small,.workspace-label,.nav-label,.profile small,.breadcrumb,.breadcrumb span,.search-box,.offline-badge,.date-label,.settings-link,.hero-caption,.course-meta,.progress-label,.stage-meta,.lesson-info,.editor-caption,.note-actions span,.source-toolbar>span,.search-result-title) { color:#666; }
html[data-theme="light"] :is(.profile strong,.breadcrumb strong) { color:#333; }
html[data-theme="light"] :is(.local-tag,.nav-count,kbd) { color:#555; background:#eee; border-color:#ccc; box-shadow:none; }
html[data-theme="light"] nav a { color:#555; border-radius:0; }
html[data-theme="light"] nav a:hover { background:#eee; color:#111; border-color:#ccc; }
html[data-theme="light"] nav a.active { background:#fff; color:#111; border:1px solid #333; box-shadow:3px 3px 0 #ddd; }
html[data-theme="light"] :is(.status-dot,.nav-indicator) { background:#333; border-radius:0; box-shadow:none; }
html[data-theme="light"] .nav-indicator { width:5px; height:5px; }
html[data-theme="light"] .offline-card { background:#fff; border:1px solid #ccc; border-radius:0; }
html[data-theme="light"] :is(.offline-card strong,.offline-card svg) { color:#444; }
html[data-theme="light"] .offline-card p { color:#777; }
html[data-theme="light"] .profile { border-color:#ccc; }
html[data-theme="light"] .search-box input { color:#222; }
html[data-theme="light"] .search-box input::placeholder { color:#777; }
html[data-theme="light"] :is(.page-heading p,.section-heading p,.course-card-body p,.task-preview p,.homework-card p,.material-card p,.settings-panel p,.stage summary p,.note-card p,.tab-content p,dialog p,.document-text p) { color:#626262; }
html[data-theme="light"] :is(.eyebrow,.text-link,.hero .eyebrow,.lesson-top .eyebrow,.side-widget .eyebrow,.homework-card .eyebrow) { color:#555; }
html[data-theme="light"] .text-link:hover { color:#000; }
html[data-theme="light"] :is(.btn,.filter-chip,.icon-button) { border-radius:0; text-shadow:none; backdrop-filter:none; transition:transform .1s,background .1s; }
html[data-theme="light"] :is(.btn,.filter-chip) { color:#222; background:#fff; border:1px solid #333; box-shadow:3px 3px 0 #bbb; font-size:18px; }
html[data-theme="light"] :is(.btn,.filter-chip,.player-button,.player-big-play)::before,html[data-theme="light"] :is(.btn,.filter-chip,.player-button,.player-big-play)::after { display:none; }
html[data-theme="light"] :is(.btn:hover,.filter-chip:hover) { color:#111; background:#eee; box-shadow:4px 4px 0 #aaa; transform:translate(-1px,-1px); }
html[data-theme="light"] :is(.btn:active,.filter-chip:active) { box-shadow:1px 1px 0 #aaa; transform:translate(2px,2px); }
html[data-theme="light"] :is(.btn.primary,.btn.dark,.filter-chip.active) { color:#fff; background:#252525; border-color:#111; box-shadow:3px 3px 0 #999; }
html[data-theme="light"] :is(.btn.primary:hover,.btn.dark:hover,.filter-chip.active:hover) { background:#444; color:#fff; }
html[data-theme="light"] .icon-button { color:#555; border:1px solid transparent; box-shadow:none; background:transparent; }
html[data-theme="light"] .icon-button:hover { color:#111; background:#eee; border-color:#bbb; }
html[data-theme="light"] svg { stroke-linecap:square; stroke-linejoin:miter; }
html[data-theme="light"] .hero { background:#fff; border:2px solid #333; border-radius:0; box-shadow:6px 6px 0 #d4d4d4; }
html[data-theme="light"] .hero-content { background:transparent; border-radius:0; }
html[data-theme="light"] .hero p { color:#626262; }
html[data-theme="light"] :is(.hero>.glass-scene,.hero>.optical-surface,dialog>.glass-scene,dialog>.optical-surface) { display:none; }
html[data-theme="light"] .hero-art:before { width:224px; height:192px; border:1px solid #ccc; border-radius:0; transform:none; box-shadow:none; background:repeating-linear-gradient(0deg,transparent 0 31px,#ddd 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,#ddd 31px 32px); }
html[data-theme="light"] .hero-art:after { width:288px; height:224px; border:0; border-radius:0; background:repeating-conic-gradient(#ddd 0 25%,transparent 0 50%) 0 0 / 4px 4px; clip-path:polygon(0 64px,32px 64px,32px 32px,64px 32px,64px 0,224px 0,224px 32px,256px 32px,256px 64px,288px 64px,288px 160px,256px 160px,256px 192px,224px 192px,224px 224px,64px 224px,64px 192px,32px 192px,32px 160px,0 160px); }
html[data-theme="light"] .code-tile { color:#333; width:184px; height:144px; padding:18px; border:2px solid #333; border-radius:0; background:#fafafa; box-shadow:7px 7px 0 #aaa; transform:translate(-8px,-8px); backdrop-filter:none; }
html[data-theme="light"] .tile-dots { border-bottom:1px solid #aaa; margin:-8px -8px 14px; padding:0 0 8px; gap:4px; }
html[data-theme="light"] .tile-dots i { width:4px; height:4px; border-radius:0; background:#666; }
html[data-theme="light"] .code-tile b { color:#222; text-shadow:none; font:36px/1 "Tiny5",monospace; letter-spacing:0; }
html[data-theme="light"] .code-tile small { color:#777; }
html[data-theme="light"] .art-chip { color:#444; background:#fff; border:1px solid #444; border-radius:0; box-shadow:3px 3px 0 #bbb; transform:none; backdrop-filter:none; right:18px; bottom:33px; }
html[data-theme="light"] :is(.art-chip svg,.spark) { color:#444; text-shadow:none; }
html[data-theme="light"] .spark { font-family:"Tiny5",monospace; font-size:32px; }
html[data-theme="light"] :is(.stat-card,.course-card,.side-widget,.path-item,.stage,.homework-card,.note-card,.material-card,.settings-panel,.tab-content,.lesson-side,.search-list) { background:var(--panel); border:1px solid #bbb; border-radius:0; box-shadow:var(--panel-shadow); backdrop-filter:none; }
html[data-theme="light"] :is(.stat-label,.stat-value small,.path-item p,.course-meta,.course-banner .eyebrow) { color:#666; }
html[data-theme="light"] :is(.stat-card>span,.stat-card:first-child>span,.task-preview .task-icon,.homework-card .card-top>svg,.path-number,.stage-number) { color:#555; background:#eee; border:1px solid #ccc; border-radius:0; }
html[data-theme="light"] :is(.stage-number,.path-number) { font-size:18px; }
html[data-theme="light"] .mini-progress { background:repeating-linear-gradient(90deg,#ddd 0 7px,transparent 7px 8px); border-radius:0; }
html[data-theme="light"] .mini-progress i { background:repeating-linear-gradient(90deg,#444 0 7px,#fff 7px 8px); border-radius:0; box-shadow:none; }
html[data-theme="light"] .course-banner { background:linear-gradient(90deg,#f3f3f3e8,#f3f3f3e8),repeating-conic-gradient(#aaa 0 25%,#fff 0 50%) 0 0/4px 4px; border-color:#bbb; }
html[data-theme="light"] .course-banner h3 { color:#222; font-size:20px; line-height:1.6; }
html[data-theme="light"] .course-banner:after { width:112px; height:80px; border:8px solid #ddd; border-radius:0; top:28px; right:23px; }
html[data-theme="light"] .php-badge { color:#888; font:42px/1 "Tiny5",monospace; letter-spacing:0; text-shadow:none; }
html[data-theme="light"] .progress-label strong { color:#444; }
html[data-theme="light"] :is(.pill,.pill.orange,.pill.green,.bookmark) { color:#555; border:1px solid #bbb; background:#f1f1f1; }
html[data-theme="light"] .hint-widget { background:#eee; }
html[data-theme="light"] :is(.hint-widget h3,.hint-widget>svg) { color:#444; }
html[data-theme="light"] .hint-widget p { color:#666; }
html[data-theme="light"] .path-item.active { border-color:#333; background:#fff; box-shadow:3px 3px 0 #aaa; }
html[data-theme="light"] .path-item.active .path-number { background:#333; color:#fff; border-color:#333; }
html[data-theme="light"] :is(.course-card-body h3,.homework-card h3,.material-card h3) { font-size:14px; line-height:1.65; }
html[data-theme="light"] :is(.stage summary h3,.path-item h3) { color:#333; font-size:12px; line-height:1.65; }
html[data-theme="light"] .side-widget h3 { font-size:12px; line-height:1.65; }
html[data-theme="light"] .task-preview h4 { font-size:12px; }
html[data-theme="light"] :is(footer,footer span) { color:#777; border-color:#ccc; }
html[data-theme="light"] footer b { color:#444; }
html[data-theme="light"] .filter-bar .search-box { background:#fff; border:1px solid #aaa; border-radius:0; }
html[data-theme="light"] .lesson-row { color:#444; border-color:#ddd; }
html[data-theme="light"] .lesson-row:hover { background:#eee; }
html[data-theme="light"] .lesson-row.current { background:#e8e8e8; color:#111; box-shadow:inset 3px 0 #333; }
html[data-theme="light"] :is(.lesson-row .lesson-number,.lesson-row .lesson-duration,.lesson-row svg) { color:#777; }
html[data-theme="light"] .lesson-row.done svg { color:#333; }
html[data-theme="light"] .lesson-side .stage { background:transparent; border:0; box-shadow:none; }
html[data-theme="light"] .lesson-side .stage summary h3 { font-size:10px; line-height:1.65; }
html[data-theme="light"] :is(.lesson-side-header,.lesson-side .stage summary,.setting-row,.tabs) { border-color:#ccc; }
html[data-theme="light"] .lesson-side-header h3 { font-size:12px; }
html[data-theme="light"] .lesson-title-block h1 { font-size:20px; line-height:1.65; }
html[data-theme="light"] .empty-state { color:#666; background:#fff; border:1px dashed #aaa; border-radius:0; }
html[data-theme="light"] :is(.empty-state h3,.empty-state>svg,.material-card>svg) { color:#444; }
html[data-theme="light"] :is(.setting-row strong,.note-card h3) { color:#333; }
html[data-theme="light"] .note-card h3 { font-size:14px; }
html[data-theme="light"] .setting-row small { color:#777; }
html[data-theme="light"] :is(.setting-row select,.player-setting-row select) { color:#333; background:#fff; border:1px solid #999; border-radius:0; }
html[data-theme="light"] :is(.help-text,.tip) { color:#666; background:#eee; border:1px solid #ccc; border-radius:0; }
html[data-theme="light"] .tip svg { color:#555; }
html[data-theme="light"] :is(.error-box,.video-error) { color:#222; background:#eee; border:1px solid #555; border-radius:0; }
html[data-theme="light"] .toast { color:#222; background:#fff; border:1px solid #333; border-radius:0; box-shadow:4px 4px 0 #aaa; backdrop-filter:none; }
html[data-theme="light"] dialog { color:#333; background:#fff; border:2px solid #333; border-radius:0; box-shadow:8px 8px 0 #0003; backdrop-filter:none; }
html[data-theme="light"] dialog::backdrop { background:#1115; backdrop-filter:none; }
html[data-theme="light"] .modal-close { background:#eee; border:1px solid #aaa; }
html[data-theme="light"] .skip-link { color:#111; background:#fff; border:1px solid #111; border-radius:0; }
html[data-theme="light"] .tab { color:#777; }
html[data-theme="light"] :is(.tab:hover,.tab.active) { color:#111; }
html[data-theme="light"] .tab.active:after { background:#333; border-radius:0; box-shadow:none; }
html[data-theme="light"] .tab-content h3 { font-size:14px; }
html[data-theme="light"] .check-item { color:#555; border:1px solid #bbb; background:#fff; border-radius:0; }
html[data-theme="light"] .check-item:has(input:checked) { color:#222; background:#eee; border-color:#777; }
html[data-theme="light"] .note-textarea { color:#333; background:#fafafa; border:1px solid #aaa; border-radius:0; }
html[data-theme="light"] .note-textarea::placeholder { color:#888; }
html[data-theme="light"] .source-list { background:#fafafa; border:1px solid #bbb; border-radius:0; }
html[data-theme="light"] .source-file { color:#666; border-radius:0; }
html[data-theme="light"] .source-file.active { color:#111; background:#ddd; }
html[data-theme="light"] :is(.source-code,.run-info) { color:#444; background:#fafafa; border:1px solid #bbb; border-radius:0; }
html[data-theme="light"] .file-tab { color:#666; border:1px solid #bbb; background:#eee; border-radius:0; }
html[data-theme="light"] .file-tab.active { color:#fff; border-color:#333; background:#333; }
html[data-theme="light"] .workspace-toolbar strong { font:12px/1.65 "Press Start 2P",monospace; }
html[data-theme="light"] .workspace-toolbar small { color:#777; }
html[data-theme="light"] .study-window { background:#fff; border:1px solid #333; border-radius:0; box-shadow:3px 3px 0 #ccc; }
html[data-theme="light"] :is(.study-window-header,.workspace-editor-tools,.output-hint,.study-window-status) { color:#666; background:#eee; border-color:#ccc; }
html[data-theme="light"] .study-window-header { border-bottom:1px solid #333; }
html[data-theme="light"] .study-window-header h3 { color:#333; font:10px/1.65 "Press Start 2P",monospace; }
html[data-theme="light"] .window-dots i { background:#999; border-radius:0; }
html[data-theme="light"] :is(.window-action,.editor-font-value,.editor-language,.output-indicator,.study-window-status span:last-child) { color:#555; border-radius:0; }
html[data-theme="light"] .window-action:hover,html[data-theme="light"] .window-action[aria-pressed="true"] { color:#111; background:#ddd; border-color:#aaa; }
html[data-theme="light"] :is(.practice-workspace .file-tabs,.result-tabs) { background:#fafafa; border-color:#ccc; }
html[data-theme="light"] .result-tab { color:#666; border-radius:0; }
html[data-theme="light"] .result-tab[aria-selected="true"] { color:#fff; background:#333; border-color:#333; }
html[data-theme="light"] .result-tab.has-error,html[data-theme="light"] .output-indicator[data-status="error"] { color:#111; font-weight:700; }
html[data-theme="light"] .output-indicator:before { background:#444; border-radius:0; }
html[data-theme="light"] :is(.practice-workspace:fullscreen,.code-pane,.output-body,.code-editor) { background:#fafafa; }
html[data-theme="light"] .code-editor { color:#333; box-shadow:none; }
html[data-theme="light"] .practice-workspace .cm-editor { color:#333; background:#fafafa; }
html[data-theme="light"] .cm-content { caret-color:#222; }
html[data-theme="light"] :is(.cm-cursor,.cm-dropCursor) { border-left-color:#222; }
html[data-theme="light"] .cm-gutters { color:#888; background:#eee; border-right:1px solid #ddd; }
html[data-theme="light"] :is(.cm-activeLine,.cm-activeLineGutter) { background:#e9e9e9; color:#444; }
html[data-theme="light"] .cm-editor .cm-selectionBackground { background:#0002!important; }
html[data-theme="light"] .cm-panels { color:#444; background:#eee; border-color:#bbb; }
html[data-theme="light"] :is(.cm-textfield,.cm-button,.cm-tooltip,.cm-foldPlaceholder) { color:#333; background:#fff; border:1px solid #aaa; border-radius:0; background-image:none; }
html[data-theme="light"] .cm-tooltip-autocomplete ul li[aria-selected] { color:#fff; background:#333; }
html[data-theme="light"] .cm-placeholder { color:#888; }
html[data-theme="light"] :is(.cm-searchMatch,.cm-searchMatch-selected,.cm-matchingBracket) { color:#111!important; background:#ddd; outline:1px solid #aaa; }
html[data-theme="light"] .llab-token-keyword { color:#111; font-weight:700; }
html[data-theme="light"] .llab-token-string { color:#555; }
html[data-theme="light"] .llab-token-number { color:#222; font-weight:600; }
html[data-theme="light"] .llab-token-comment { color:#888; }
html[data-theme="light"] .llab-token-name { color:#444; }
html[data-theme="light"] .llab-token-function { color:#222; font-weight:600; }
html[data-theme="light"] .llab-token-type { color:#222; font-weight:700; }
html[data-theme="light"] .llab-token-attribute { color:#555; }
html[data-theme="light"] .llab-token-punctuation { color:#777; }
html[data-theme="light"] .llab-token-meta { color:#555; }
html[data-theme="light"] .llab-token-invalid { color:#111; text-decoration:underline wavy; }
html[data-theme="light"] .video-shell { border:2px solid #333; border-radius:0; box-shadow:4px 4px 0 #ccc; }
html[data-theme="light"] .video-shell video { border-radius:0; }
html[data-theme="light"] .enhanced-player .player-console { background:#181818f5; border:1px solid #777; border-radius:0; box-shadow:3px 3px 0 #0005; backdrop-filter:none; }
html[data-theme="light"] :is(.player-button,.player-big-play) { color:#eee; border-radius:0; text-shadow:none; backdrop-filter:none; box-shadow:none; }
html[data-theme="light"] .enhanced-player .player-button:hover { color:#fff; background:#444; box-shadow:none; }
html[data-theme="light"] .enhanced-player .main-play { border-color:#888; background:#333; }
html[data-theme="light"] .player-big-play { background:#222d; border:2px solid #eee; box-shadow:4px 4px 0 #0005; }
html[data-theme="light"] .player-hud { color:#ddd; background:#222e; border:1px solid #777; border-radius:0; backdrop-filter:none; }
html[data-theme="light"] .player-hud b { background:#ccc; border-radius:0; box-shadow:none; }
html[data-theme="light"] .player-clock { color:#eee; }
html[data-theme="light"] .player-clock .duration { color:#aaa; }
html[data-theme="light"] .player-clock i { color:#888; }
html[data-theme="light"] .player-volume input { accent-color:#ddd; }
html[data-theme="light"] .player-seek { border-radius:0; background:linear-gradient(to right,#ddd 0%,#ddd var(--played,0%),#777 var(--played,0%),#777 var(--buffered,0%),#444 var(--buffered,0%)); }
html[data-theme="light"] .player-seek::-webkit-slider-thumb { background:#fff; border:1px solid #111; border-radius:0; box-shadow:none; }
html[data-theme="light"] .player-seek::-moz-range-thumb { background:#fff; border:1px solid #111; border-radius:0; }
html[data-theme="light"] .enhanced-player .player-settings { color:#333; background:#fff; border:1px solid #333; border-radius:0; box-shadow:4px 4px 0 #0004; backdrop-filter:none; }
html[data-theme="light"] .player-settings-heading { color:#333; border-color:#ccc; font:12px/1.65 "Press Start 2P",monospace; }
html[data-theme="light"] :is(.player-menu-action,.player-menu-action svg,.player-menu-check) { color:#555; border-radius:0; }
html[data-theme="light"] .player-menu-action:hover { background:#eee; }
html[data-theme="light"] .enhanced-player .player-settings-toggle[aria-expanded="true"] { color:#fff; background:#555; }
@media(max-width:1180px) { html[data-theme="light"] .brand { font-size:23px; } html[data-theme="light"] .study-window-header h3 { font-size:9px; } }
@media(max-width:720px) {
  html[data-theme="light"] :is(h1,.page-heading h1) { font-size:18px; }
  html[data-theme="light"] .hero h2 { font-size:20px; }
  html[data-theme="light"] .hero .btn { font-size:18px; }
  html[data-theme="light"] .stat-value { font-size:30px; }
  html[data-theme="light"] .sidebar .brand { font-size:27px; }
  html[data-theme="light"] .lesson-title-block h1 { font-size:18px; }
}
@media(max-width:650px) { .settings-panel:has(#setting-theme) .setting-row { flex-wrap:wrap; gap:12px; } .settings-panel:has(#setting-theme) .setting-row select { max-width:100%; } }
@media(prefers-reduced-motion:reduce) { html[data-theme="light"] :is(.btn:hover,.filter-chip:hover,.btn:active,.filter-chip:active) { transform:none; } }
