@charset "UTF-8";:root{--color: #4f772d;--color-brand-50: #f6f8f3;--color-brand-100: #ecf2e6;--color-brand-200: #d9e5ce;--color-brand-300: #bed2ac;--color-brand-400: #9db982;--color-brand-500: #7b9e5a;--color-brand-600: #62853e;--color-brand-700: #4f772d;--color-brand-800: #3f5f24;--color-brand-900: #324c1e;--color-brand-950: #19270d;--color-primary-50: var(--color-brand-50);--color-primary-100: var(--color-brand-100);--color-primary-950: var(--color-brand-950);--color-primary-940: var(--color-brand-950);--color-primary-930: var(--color-brand-900);--color-primary-900: var(--color-brand-900);--color-primary-800: var(--color-brand-800);--color-primary-700: #4f772d;--color-primary-600: var(--color-brand-600);--color-primary-500: var(--color-brand-500);--color-primary-400: var(--color-brand-400);--color-primary-300: var(--color-brand-300);--color-primary-200: var(--color-brand-200);--color-primary-150: var(--color-brand-100);--color-primary-140: var(--color-brand-100);--color-primary-120: var(--color-brand-50);--color-primary-15: rgba(79, 119, 45, .15);--primary: var(--color-primary-700);--primary-hover: var(--color-primary-800);--primary-active: var(--color-primary-900);--primary-foreground: #ffffff;--primary-subtle: var(--color-primary-50);--primary-muted: var(--color-primary-100);--primary-border: var(--color-primary-300);--primary-ring: var(--color-primary-400);--color-ui-action: #3c56ff;--color-ui-action-hover: #3048d6;--color-ui-action-ring: #8190ff;--color-navigation-green: #4f772d;--color-navigation-green-hover: #3f5f24;--color-sidebar: #181b20;--color-sidebar-accent: var(--color-primary-700);--color-sidebar-active: #46494d;--color-sidebar-hover: #46494d;--color-header-brand: #19270d;--background: #f5f7fa;--background-subtle: #f3f4f3;--surface: #ffffff;--surface-secondary: #f7f8f7;--surface-elevated: #ffffff;--surface-hover: #f2f4f7;--surface-active: #e9eeea;--border: #d8dcda;--border-subtle: #e0e4e2;--border-strong: #b8c0bb;--text-primary: #2d312c;--text-secondary: #636d69;--text-muted: #69726f;--text-inverse: #ffffff;--input-background: #ffffff;--input-border: #8f96a3;--input-placeholder: #58635e;--overlay: rgba(15, 23, 42, .45);--disabled-background: #f3f4f6;--disabled-border: #d8dcda;--disabled-text: #8a9099;--metric-card-border: color-mix(in srgb, var(--primary) 18%, var(--border-subtle));--metric-card-background-start: color-mix(in srgb, var(--primary) 8%, var(--surface-elevated));--metric-card-background-end: color-mix(in srgb, var(--primary) 4%, var(--surface-elevated));--notification-badge: #006dff;--glass-background: var(--surface);--glass-border: var(--border);--glass-blur: 0px;--brand-glow: transparent;--color-surface: #f3f4f3;--color-surface-muted: #ffffff;--color-surface-panel: #ffffff;--color-surface-panel-alt: #f7f8f7;--color-surface-neutral: #efeff0;--color-surface-subtle: #f2f4f7;--color-page-background: #f5f7fa;--color-surface-overlay: rgba(255, 255, 255, .9);--color-surface-positive-soft: #dff2df;--color-surface-positive-soft-alt: #e2f2de;--color-surface-negative-soft: #ffe6e4;--color-surface-negative-soft-alt: #ffe9e6;--color-surface-negative-soft-strong: #ffebeb;--color-surface-negative-softest: #ffeded;--color-surface-warning-soft: #fff7e6;--color-surface-info-soft: #ebf2ff;--color-surface-info-soft-alt: #edf3ff;--color-surface-info-soft-strong: #e6eefc;--color-surface-accent: var(--color-ui-action);--color-surface-table-head: #dce8d3;--color-white: #ffffff;--color-black: #000000;--color-border-soft: #d2d6d0;--color-border-default: #d8dcda;--color-border-muted: #d9dddc;--color-border-muted-alt: #d9ddd5;--color-border-subtle: #e0e4e2;--color-border-light: #d5d8d4;--color-border-light-alt: #d5d9d8;--color-border-soft-alt: #d9dfd6;--color-border-faint: #e4e8e5;--color-border-dashed: #ccd4cf;--color-border-avatar: #cfd6ce;--color-border-danger-soft: #efcece;--color-border-transparent-soft: rgba(79, 119, 45, .14);--color-border-inverse-10: rgba(255, 255, 255, .1);--color-border-inverse-12: rgba(255, 255, 255, .12);--color-border-inverse-15: rgba(255, 255, 255, .15);--color-border-inverse-20: rgba(255, 255, 255, .2);--color-border-inverse-25: rgba(255, 255, 255, .25);--color-border-inverse-45: rgba(255, 255, 255, .45);--color-border-inverse-50: rgba(255, 255, 255, .5);--color-border-inverse-55: rgba(255, 255, 255, .55);--color-text-default: #2d312c;--color-text-inverse: #ffffff;--color-text-link: var(--color-primary-700);--color-link: var(--color-text-link);--color-text-heading: #22312a;--color-text-heading-soft: #2f3935;--color-text-heading-alt: #2f3d35;--color-text-heading-muted: #3d4642;--color-text-strong: #2b3431;--color-text-strong-alt: #2d3238;--color-text-strong-soft: #1f262e;--color-text-muted: #69726f;--color-text-muted-alt: #67706d;--color-text-muted-soft: #6f7774;--color-text-muted-soft-alt: #6d7672;--color-text-muted-2: #7b8480;--color-text-muted-3: #7a8380;--color-text-muted-4: #8a9390;--color-text-soft: #4c5549;--color-text-soft-alt: #4e5649;--color-text-soft-2: #465043;--color-text-soft-3: #434d40;--color-text-soft-4: #4e584a;--color-text-soft-5: #525b4f;--color-text-label: #5f6266;--color-text-label-soft: #6a6f70;--color-text-placeholder: #58635e;--color-text-secondary: #636d69;--color-text-secondary-alt: #51606a;--color-status-success: #228340;--color-status-success-alt: #2d8d40;--color-status-danger: #bb3434;--color-status-danger-alt: #c24a4a;--color-status-danger-strong: #cf4f4f;--color-status-danger-dark: #8d1b1b;--color-status-warning: #be8d26;--color-status-info: #406fc1;--color-status-info-alt: #3b6edc;--color-status-info-soft: #4e75c4;--color-status-accent: var(--color-ui-action-hover);--color-status-accent-strong: var(--color-ui-action);--color-overlay-dark: rgba(31, 59, 17, .62);--color-overlay-sidebar-shadow: rgba(31, 59, 17, .45);--color-overlay-card-shadow: rgba(31, 59, 17, .12);--color-overlay-dropdown-shadow: rgba(31, 59, 17, .24);--color-overlay-panel-shadow: rgba(31, 59, 17, .18);--color-surface-inverse-08: rgba(255, 255, 255, .08);--color-surface-inverse-09: rgba(255, 255, 255, .09);--color-surface-inverse-10: rgba(255, 255, 255, .1);--color-surface-inverse-11: rgba(255, 255, 255, .11);--color-surface-inverse-12: rgba(255, 255, 255, .12);--color-surface-inverse-14: rgba(255, 255, 255, .14);--color-surface-inverse-16: rgba(255, 255, 255, .16);--color-surface-inverse-18: rgba(255, 255, 255, .18);--color-surface-inverse-20: rgba(255, 255, 255, .2);--color-surface-inverse-22: rgba(255, 255, 255, .22);--color-surface-inverse-92: rgba(255, 255, 255, .92);--filter-icon-inverse: brightness(0) invert(1);--filter-icon-primary: brightness(0) saturate(100%) invert(37%) sepia(68%) saturate(406%) hue-rotate(49deg) brightness(93%) contrast(87%);--filter-icon-danger: brightness(0) saturate(100%) invert(13%) sepia(57%) saturate(5524%) hue-rotate(10deg) brightness(85%) contrast(99%)}:root[data-appearance=dark],[data-appearance=dark]{color-scheme:dark;--color-ui-action: #5267db;--color-ui-action-hover: #6176e5;--color-ui-action-ring: #8494f2;--background: #0d1117;--background-subtle: #12171e;--surface: #161b22;--surface-secondary: #181e25;--surface-elevated: #1c2128;--surface-hover: #21262d;--surface-active: #292e36;--border: #30363d;--border-subtle: #21262d;--border-strong: #484f58;--text-primary: #f0f6fc;--text-secondary: #b1bac4;--text-muted: #8b949e;--text-inverse: #ffffff;--input-background: #0d1117;--input-border: #30363d;--input-placeholder: #6e7681;--overlay: rgba(0, 0, 0, .55);--disabled-background: #1b2027;--disabled-border: #292e36;--disabled-text: #6e7681;--metric-card-border: var(--primary-border);--metric-card-background-start: var(--primary-subtle);--metric-card-background-end: color-mix(in srgb, var(--primary) 5%, var(--surface-elevated));--glass-background: var(--surface-elevated);--glass-border: var(--border);--glass-blur: 0px;--brand-glow: transparent;--color-page-background: var(--background);--color-surface: var(--background-subtle);--color-surface-muted: var(--surface);--color-surface-panel: var(--surface);--color-surface-panel-alt: var(--surface-secondary);--color-surface-neutral: var(--surface-active);--color-surface-subtle: var(--surface-hover);--color-surface-overlay: color-mix(in srgb, var(--surface-elevated) 92%, transparent);--color-surface-table-head: color-mix(in srgb, var(--primary) 18%, var(--surface-elevated));--color-surface-positive-soft: color-mix(in srgb, #238636 20%, var(--surface));--color-surface-positive-soft-alt: color-mix(in srgb, #238636 17%, var(--surface));--color-surface-negative-soft: color-mix(in srgb, #da3633 20%, var(--surface));--color-surface-negative-soft-alt: color-mix(in srgb, #da3633 17%, var(--surface));--color-surface-negative-soft-strong: color-mix(in srgb, #da3633 24%, var(--surface));--color-surface-negative-softest: color-mix(in srgb, #da3633 14%, var(--surface));--color-surface-warning-soft: color-mix(in srgb, #d29922 20%, var(--surface));--color-surface-info-soft: color-mix(in srgb, #2f81f7 18%, var(--surface));--color-surface-info-soft-alt: color-mix(in srgb, #2f81f7 16%, var(--surface));--color-surface-info-soft-strong: color-mix(in srgb, #2f81f7 22%, var(--surface));--color-border-soft: var(--border);--color-border-default: var(--border);--color-border-muted: var(--border);--color-border-muted-alt: var(--border);--color-border-subtle: var(--border-subtle);--color-border-light: var(--border);--color-border-light-alt: var(--border);--color-border-soft-alt: var(--border);--color-border-faint: var(--border-subtle);--color-border-dashed: var(--border-strong);--color-border-avatar: var(--border-strong);--color-border-danger-soft: color-mix(in srgb, #f85149 38%, var(--border));--color-text-default: var(--text-primary);--color-text-heading: var(--text-primary);--color-text-heading-soft: var(--text-primary);--color-text-heading-alt: var(--text-primary);--color-text-heading-muted: var(--text-secondary);--color-text-strong: var(--text-primary);--color-text-strong-alt: var(--text-primary);--color-text-strong-soft: var(--text-primary);--color-text-muted: var(--text-muted);--color-text-muted-alt: var(--text-muted);--color-text-muted-soft: var(--text-muted);--color-text-muted-soft-alt: var(--text-muted);--color-text-muted-2: var(--text-muted);--color-text-muted-3: var(--text-muted);--color-text-muted-4: var(--text-muted);--color-text-soft: var(--text-secondary);--color-text-soft-alt: var(--text-secondary);--color-text-soft-2: var(--text-secondary);--color-text-soft-3: var(--text-secondary);--color-text-soft-4: var(--text-secondary);--color-text-soft-5: var(--text-secondary);--color-text-label: var(--text-secondary);--color-text-label-soft: var(--text-secondary);--color-text-placeholder: var(--input-placeholder);--color-text-secondary: var(--text-secondary);--color-text-secondary-alt: var(--text-secondary);--color-status-success: #3fb950;--color-status-success-alt: #56d364;--color-status-danger: #f85149;--color-status-danger-alt: #ff7b72;--color-status-danger-strong: #ff7b72;--color-status-danger-dark: #ff7b72;--color-status-warning: #d29922;--color-status-info: #58a6ff;--color-status-info-alt: #79c0ff;--color-status-info-soft: #79c0ff;--color-overlay-dark: var(--overlay);--color-overlay-card-shadow: rgba(0, 0, 0, .28);--color-overlay-dropdown-shadow: rgba(0, 0, 0, .45);--color-overlay-panel-shadow: rgba(0, 0, 0, .38)}html{height:100%;color-scheme:light;background:var(--background)}html[data-appearance=dark]{color-scheme:dark}html[data-transparency=true]{--glass-background: color-mix(in srgb, var(--surface) 90%, transparent);--glass-border: color-mix(in srgb, var(--primary) 6%, var(--border));--glass-blur: 18px;--brand-glow: color-mix(in srgb, var(--primary) 8%, transparent);--ambient-glow-opacity: .38}html[data-appearance=dark][data-transparency=true]{--glass-background: color-mix(in srgb, var(--surface-elevated) 82%, transparent);--glass-border: color-mix(in srgb, var(--primary) 10%, var(--border));--glass-blur: 20px;--brand-glow: color-mix(in srgb, var(--primary) 14%, transparent);--ambient-glow-opacity: .68}app-root{display:block;min-height:100%}html[data-transparency=true] app-root{position:relative;z-index:1}body{background-color:var(--background);color:var(--text-primary);font-family:Roboto,Arial,sans-serif;font-size:14px;line-height:1.4;margin:0;min-height:100%}html[data-transparency=true] body{position:relative}body.learning-paths-active .shell-layout{background-image:linear-gradient(#00000052,#00000052),url(/images/learning-paths/arcade-machine.png);background-position:center,center;background-size:cover,cover;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed}body.learning-paths-active{color-scheme:dark}body.learning-paths-active .page-content{background-color:transparent}body.learning-paths-active .header{background:#11320dc2!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.learning-paths-active .sidebar:not(.sidebar--mobile){background:#05140acc!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}html[data-transparency=true] body:before{position:fixed;inset:-8%;z-index:0;background:radial-gradient(ellipse 1100px 800px at 90% 98%,color-mix(in srgb,var(--primary) 22%,transparent) 0%,color-mix(in srgb,var(--primary) 13%,transparent) 35%,color-mix(in srgb,var(--primary) 5%,transparent) 64%,transparent 86%),radial-gradient(ellipse 760px 640px at 5% 4%,color-mix(in srgb,var(--primary) 17%,transparent) 0%,color-mix(in srgb,var(--primary) 9%,transparent) 38%,color-mix(in srgb,var(--primary) 3%,transparent) 66%,transparent 84%),radial-gradient(ellipse 680px 520px at 78% 28%,color-mix(in srgb,var(--primary) 13%,transparent) 0%,color-mix(in srgb,var(--primary) 7%,transparent) 40%,color-mix(in srgb,var(--primary) 3%,transparent) 66%,transparent 82%),radial-gradient(ellipse 520px 420px at 18% 82%,color-mix(in srgb,var(--primary) 7%,transparent) 0%,color-mix(in srgb,var(--primary) 3%,transparent) 42%,color-mix(in srgb,var(--primary) 1%,transparent) 68%,transparent 80%);content:"";filter:blur(58px);opacity:var(--ambient-glow-opacity);pointer-events:none}html[data-transparency=true] .header,html[data-transparency=true] .sidebar,html[data-transparency=true] .mobile-drawer,html[data-transparency=true] .dropdown,html[data-transparency=true] .export-dropdown,html[data-transparency=true] .notifications-panel,html[data-transparency=true] .select-field__panel,html[data-transparency=true] .action-popover,html[data-transparency=true] .popup,html[data-transparency=true] .developer-modal{background:var(--glass-background);border-color:var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(115%);backdrop-filter:blur(var(--glass-blur)) saturate(115%)}html[data-transparency=true] .header{background:color-mix(in srgb,var(--color-header-brand) 84%,transparent)}html[data-transparency=true] .sidebar,html[data-transparency=true] .mobile-drawer{background:color-mix(in srgb,var(--color-sidebar) 84%,transparent)}html[data-transparency=true] .shell-layout,html[data-transparency=true] .page-content{background:transparent}html[data-transparency=true] .page-shell{background:var(--glass-background);border-color:var(--glass-border)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}button,input,select,textarea{font:inherit}.cdk-drag-preview{--surface-primary: var(--surface-elevated);--surface-muted: var(--surface-secondary);--border-color: var(--border);--brand-primary: var(--primary);--accent-primary: var(--color-ui-action);box-sizing:border-box;border:1px solid var(--border);border-radius:14px;background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 12px 30px #00000052}app-turing-machine-page .code-editor{position:relative;display:grid;height:252px;min-height:0;max-height:none;grid-template-columns:48px minmax(0,1fr);margin:16px 0 10px;overflow:hidden;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-surface-muted)}app-turing-machine-page .code-editor ol{position:relative;z-index:2;min-height:100%;box-sizing:border-box;margin:0;padding:12px 10px 12px 0;overflow:visible;border-right:1px solid var(--color-border-subtle);background:var(--color-surface-panel);color:var(--color-text-muted);font:.82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;list-style-position:inside;text-align:right;-webkit-user-select:none;user-select:none;transition:transform 0s}app-turing-machine-page .code-editor__viewport{position:relative;min-width:0;height:100%;overflow:hidden}app-turing-machine-page .code-editor__highlight{position:absolute;z-index:0;inset:0;width:max-content;min-width:100%;box-sizing:border-box;margin:0;padding:12px;overflow:visible;color:var(--color-text-strong);font:.82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;pointer-events:none;tab-size:2;white-space:pre;transition:transform 0s}app-turing-machine-page .code-editor textarea{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:0;margin:0;padding:12px;overflow:auto;border:0;border-radius:0;background:transparent;color:transparent;caret-color:var(--color-text-strong);font:.82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5;resize:none;tab-size:2;white-space:pre}app-turing-machine-page .code-editor textarea:focus{outline:2px solid var(--color-ui-action);outline-offset:-2px}app-turing-machine-page .code-editor textarea::selection{background:var(--color-primary-100);color:transparent}app-turing-machine-page .code-editor textarea::placeholder,app-turing-machine-page .code-editor .syntax-comment,app-turing-machine-page .code-editor .syntax-punctuation{color:var(--color-text-muted)}app-turing-machine-page .code-editor textarea::placeholder{opacity:1}.code-editor ol,.code-editor ol li::marker{color:var(--color-text-muted)!important}.code-editor:before{position:absolute;z-index:2;top:0;bottom:0;left:0;width:48px;border-right:1px solid var(--color-border-subtle);background:var(--color-surface-muted);content:"";pointer-events:none}.code-editor>ol{z-index:3;border-right:0!important;background:transparent!important}.code-editor__viewport textarea{box-sizing:border-box;overflow:auto;scrollbar-color:var(--color-text-muted) var(--color-surface-muted);scrollbar-width:thin}.code-editor__viewport textarea::-webkit-scrollbar{width:10px;height:10px}.code-editor__viewport textarea::-webkit-scrollbar-track{background:var(--color-surface-muted)}.code-editor__viewport textarea::-webkit-scrollbar-thumb{border:2px solid var(--color-surface-muted);border-radius:999px;background:var(--color-text-muted)}app-turing-machine-page .code-editor .syntax-comment{font-style:italic}app-turing-machine-page .code-editor .syntax-keyword{color:var(--color-ui-action);font-weight:700}app-turing-machine-page .code-editor .syntax-value,app-turing-machine-page .code-editor .syntax-symbol{color:var(--color-status-warning)}app-turing-machine-page .code-editor .syntax-state{color:var(--color-status-success)}app-turing-machine-page .code-editor .syntax-arrow{color:var(--color-primary-700);font-weight:700}app-turing-machine-page .code-editor .syntax-movement{color:var(--color-status-danger);font-weight:700}app-turing-machine-page .diagram-canvas{position:relative;margin-top:16px;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:10px;background:radial-gradient(circle at 1px 1px,var(--color-border-subtle) 1px,transparent 1.5px) 0 0/18px 18px,var(--color-surface-muted)}app-turing-machine-page .diagram-canvas svg{display:block;width:100%;height:290px;touch-action:none;cursor:grab}app-turing-machine-page .diagram-canvas svg:active{cursor:grabbing}app-turing-machine-page .diagram-canvas__controls{position:absolute;z-index:2;top:10px;right:10px;display:flex;gap:5px}app-turing-machine-page .diagram-canvas__controls button{min-width:30px;height:30px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-surface-panel);color:var(--color-text-secondary);font-size:.78rem;font-weight:600;cursor:pointer}app-turing-machine-page .diagram-canvas__controls button:hover,app-turing-machine-page .diagram-canvas__controls button:focus-visible{border-color:var(--color-ui-action);color:var(--color-ui-action);outline:0}app-turing-machine-page .diagram-canvas__edge path{fill:none;stroke:var(--color-text-muted);stroke-width:1.7;opacity:.7;transition:stroke .16s ease,opacity .16s ease,stroke-width .16s ease}app-turing-machine-page #diagram-arrow path{fill:var(--color-text-muted)}app-turing-machine-page #diagram-arrow-active path{fill:var(--color-ui-action)}app-turing-machine-page .diagram-canvas__edge text{fill:var(--color-text-secondary);font-size:12px;font-weight:650;text-anchor:middle;paint-order:stroke;stroke:var(--color-surface-muted);stroke-width:5px;stroke-linejoin:round;pointer-events:none}app-turing-machine-page .diagram-canvas__edge--active path{stroke:var(--color-ui-action);stroke-width:3;opacity:1}app-turing-machine-page .diagram-canvas__edge--active text{fill:var(--color-ui-action)}app-turing-machine-page .diagram-canvas__node{cursor:grab}app-turing-machine-page .diagram-canvas__node:active{cursor:grabbing}app-turing-machine-page .diagram-canvas__node-body{fill:var(--color-surface-panel);stroke:var(--color-border-default);stroke-width:2;transition:fill .16s ease,stroke .16s ease,filter .16s ease}app-turing-machine-page .diagram-canvas__node text{fill:var(--color-text-strong);font-size:15px;font-weight:750;pointer-events:none}app-turing-machine-page .diagram-canvas__final-ring{display:none;fill:none;stroke:var(--color-status-success);stroke-width:1.5}app-turing-machine-page .diagram-canvas__node--initial .diagram-canvas__node-body{stroke:var(--color-primary-600)}app-turing-machine-page .diagram-canvas__node--final .diagram-canvas__final-ring{display:block}app-turing-machine-page .diagram-canvas__node--active .diagram-canvas__node-body{fill:var(--color-primary-15);stroke:var(--color-ui-action);stroke-width:3;filter:drop-shadow(0 0 7px var(--color-primary-300))}app-turing-machine-page .diagram-canvas__initial-arrow{fill:none;stroke:var(--color-primary-600);stroke-width:2}app-turing-machine-page .transition-hint{margin:12px 0 0;padding:10px 12px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-surface-muted);color:var(--color-text-secondary);line-height:1.45;text-align:left}app-turing-machine-page .transition-hint--active{border-color:var(--color-primary-300);background:var(--color-primary-15);color:var(--color-text-strong)}app-turing-machine-page .transition-hint--accepted{border-color:var(--color-status-success);background:var(--color-surface-positive-soft);color:var(--color-text-strong)}app-turing-machine-page .transition-hint--rejected{border-color:var(--color-status-danger);background:var(--color-surface-negative-soft);color:var(--color-text-strong)}app-turing-machine-page .transition-hint--limit{border-color:var(--color-status-warning);background:var(--color-surface-warning-soft);color:var(--color-text-strong)}app-turing-machine-page .how-it-works{display:grid;gap:16px;padding-top:16px}app-turing-machine-page .how-it-works__header h2,app-turing-machine-page .how-it-works h3,app-turing-machine-page .how-it-works p{margin:0}app-turing-machine-page .how-it-works__header h2{color:var(--color-text-strong);font-size:1.02rem;line-height:1.3}app-turing-machine-page .how-it-works__header p{margin-top:5px;color:var(--color-text-muted);font-size:.8rem;line-height:1.45}app-turing-machine-page .how-it-works__steps{display:grid;gap:7px;margin:0;padding:0;list-style:none}app-turing-machine-page .how-it-works__steps li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:8px;background:var(--color-surface-muted)}app-turing-machine-page .how-it-works__steps li>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--color-primary-600);color:var(--color-white);font-size:.75rem;font-weight:750}app-turing-machine-page .how-it-works__steps li:nth-child(2)>span{background:var(--color-status-success)}app-turing-machine-page .how-it-works__steps li:nth-child(3)>span{background:var(--color-status-warning)}app-turing-machine-page .how-it-works__steps li:nth-child(4)>span{background:var(--color-primary-700)}app-turing-machine-page .how-it-works__steps h3,app-turing-machine-page .how-it-works__note h3{color:var(--color-text-strong);font-size:.8rem;font-weight:700}app-turing-machine-page .how-it-works__steps p,app-turing-machine-page .how-it-works__note p{margin-top:2px;color:var(--color-text-muted);font-size:.72rem;line-height:1.35}app-turing-machine-page .how-it-works__notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}app-turing-machine-page .how-it-works__note{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:7px;padding:10px;border:1px solid transparent;border-radius:8px}app-turing-machine-page .how-it-works__note ng-icon{margin-top:1px;font-size:1rem}app-turing-machine-page .how-it-works__note--info{border-color:var(--color-primary-300);background:var(--color-surface-info-soft)}app-turing-machine-page .how-it-works__note--info ng-icon,app-turing-machine-page .how-it-works__note--info h3{color:var(--color-status-info)}app-turing-machine-page .how-it-works__note--tip{border-color:var(--color-primary-300);background:var(--color-surface-positive-soft)}app-turing-machine-page .how-it-works__note--tip ng-icon,app-turing-machine-page .how-it-works__note--tip h3{color:var(--color-status-success)}app-turing-machine-page .tape-info{position:relative;display:inline-flex}app-turing-machine-page .tape-info>button{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:inherit;cursor:help}app-turing-machine-page .tape-info>button:focus-visible{border-radius:3px;outline:2px solid var(--color-ui-action);outline-offset:2px}app-turing-machine-page .tape-info__tooltip{position:absolute;z-index:20;top:calc(100% + 9px);left:50%;display:grid;width:270px;gap:4px;padding:10px 12px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-surface-panel);box-shadow:0 10px 24px var(--color-overlay-dropdown-shadow);color:var(--color-text-secondary);font-size:.78rem;font-weight:400;line-height:1.4;transform:translate(-10%)}app-turing-machine-page .tape-info__tooltip strong{color:var(--color-text-strong);font-size:.82rem}@media(max-width:680px){app-turing-machine-page .diagram-canvas svg{height:260px}app-turing-machine-page .how-it-works__notes{grid-template-columns:1fr}}.esg-brand-mark{display:block;flex:0 0 auto;aspect-ratio:1;border-radius:50%;background:var(--color-sidebar-accent)}.ui-field{--outlined-field-background: var(--form-field-background, var(--input-background));width:100%;min-width:0}.ui-field__control{position:relative;display:flex;align-items:center;width:100%;min-width:0;min-inline-size:0;min-height:56px;margin:0;padding:0;border:1px solid var(--input-border);border-radius:4px;background:var(--outlined-field-background);color:var(--color-text-default);box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease}.ui-field__control:focus-within{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary),0 0 0 3px color-mix(in srgb,var(--primary-ring) 28%,transparent)}.ui-field--invalid .ui-field__control{border-color:#d32f2f}.ui-field__label{float:none;width:auto;max-width:calc(100% - 28px);margin-left:10px;padding:0 4px;overflow:hidden;background:var(--outlined-field-background);color:var(--text-secondary);font-size:12px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.ui-field__input,.ui-field__select-button,.ui-field__textarea{width:100%;min-width:0;border:0;outline:0;background:transparent;color:inherit;box-sizing:border-box}.ui-field__input{height:48px;padding:0 14px}.ui-field__textarea{display:block;padding:17px 14px 12px;resize:vertical}.ui-field__input::placeholder,.ui-field__textarea::placeholder{color:var(--input-placeholder)}.ui-field__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;color:var(--text-muted)}.ui-field__icon+.ui-field__input{padding-left:0}.ui-field__error{min-height:20px;padding:3px 12px 0;color:#d32f2f;font-size:12px;line-height:16px}.ui-field--dynamic .ui-field__error:empty{display:none}.ui-field__control:has(:disabled){border-color:var(--disabled-border);background:var(--disabled-background);color:var(--disabled-text);cursor:not-allowed}.required-marker{color:#d32f2f}.table-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 0 4px;margin-top:-24px;margin-bottom:16px;flex-shrink:0}.table-pagination__pages{display:flex;align-items:center;gap:8px}.table-pagination__page,.table-pagination__arrow{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated);color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.table-pagination__page--active{border-color:var(--primary)!important;background:var(--primary)!important;color:var(--primary-foreground)}.table-pagination__arrow{border:none;background:transparent;color:var(--text-muted);min-width:24px;font-size:22px;font-weight:500}.table-pagination__page:hover,.table-pagination__arrow:hover{border-color:var(--border-strong)}.table-pagination__page--active:hover{border-color:var(--primary-hover)!important;background:var(--primary-hover)!important}.table-pagination__arrow:disabled,.table-pagination__page:disabled{opacity:.45;cursor:default}.users-page,.developer-page{border-color:var(--border);border-radius:22px;background:var(--surface)}.users-page .page-header h1,.developer-page .page-header h1{color:var(--primary)}.users-page .page-header p,.developer-page .page-header p{color:var(--text-secondary)}.users-page .create-button,.developer-page .create-button{background:var(--color-ui-action);border-radius:7px}.users-page .create-button:hover,.developer-page .create-button:hover{background:var(--color-ui-action-hover)}.users-page app-filters .filters-trigger{background:var(--color-ui-action)}.users-page .active-filter{background:var(--color-primary-15);color:var(--primary)}.users-page .table-shell,.developer-page .table-shell{border-color:var(--border);border-radius:13px}.users-page .table-wrapper th,.developer-page .table-wrapper th{background:var(--color-surface-table-head);color:var(--text-primary)!important;border-bottom-color:var(--border)}.users-page .table-wrapper td,.developer-page .table-wrapper td{border-bottom-color:var(--border-subtle);color:var(--text-primary)}.users-page .table-wrapper tbody tr:nth-child(2n) td,.developer-page .table-wrapper tbody tr:nth-child(2n) td{background:var(--surface-secondary)}@media(prefers-reduced-motion:no-preference){body,.ui-field__control,.table-pagination__page{transition:background-color .18s ease,border-color .18s ease,color .18s ease}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}.users-page .table-pagination__page--active,.developer-page .table-pagination__page--active{border-color:var(--primary)!important;background:var(--primary)!important}.developer-page .developer-tab:hover,.developer-page .developer-tab--active{color:var(--primary)}.developer-page .developer-tab--active{border-bottom-color:var(--primary)}.developer-page .developer-empty__spinner{border-color:var(--color-primary-15);border-top-color:var(--primary)}.class-overview{display:grid;gap:20px;min-width:0}.overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);grid-template-areas:"information qr" "engagement qr";gap:20px;align-items:stretch}.overview-card{min-width:0;padding:22px;border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--color-surface-panel)}.overview-card h2,.overview-card p{margin:0}.overview-card h2{color:var(--color-text-heading);font-size:1.05rem}.overview-card header p{margin-top:5px;color:var(--color-text-muted);font-size:.88rem}.overview-information{grid-area:information}.overview-information__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin-top:20px}.overview-field{display:grid;align-content:start;gap:7px;min-width:0}.overview-field--wide{grid-column:1/-1}.overview-field>span{color:var(--color-text-muted);font-size:.82rem}.overview-field>strong,.overview-user strong{overflow-wrap:anywhere;color:var(--color-text-strong);font-size:.98rem;font-weight:600}.overview-user{display:flex;align-items:center;gap:10px}.overview-avatar{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--color-ui-action) 18%,var(--color-surface-panel));color:var(--color-text-heading);font-weight:700}.overview-avatar--secondary{background:color-mix(in srgb,var(--color-status-warning) 20%,var(--color-surface-panel))}.overview-status{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 14px;border-radius:10px;background:var(--color-surface-positive-soft);color:var(--color-status-success)}.overview-status>span{width:7px;height:7px;border-radius:50%;background:currentColor}.overview-status div{display:grid;gap:2px}.overview-status strong{color:currentColor;font-size:.9rem}.overview-status small{color:var(--color-text-muted)}.overview-status--inactive{background:var(--color-surface-negative-soft);color:var(--color-status-danger)}.overview-code{display:flex;align-items:stretch;min-width:0;overflow:hidden;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-surface-subtle)}.overview-code input{flex:1;min-width:0;border:0;padding:10px 12px;overflow:hidden;outline:0;background:transparent;color:var(--color-text-strong);font:inherit;text-overflow:ellipsis;white-space:nowrap}.overview-code button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-left:1px solid var(--color-border-default);padding:0 12px;background:transparent;color:var(--color-ui-action);cursor:pointer;font:inherit;font-weight:600}.overview-code button:hover:not(:disabled){background:var(--color-surface-accent)}.overview-code button:disabled{cursor:not-allowed;opacity:.5}.overview-qr{grid-area:qr;display:flex;flex-direction:column;gap:14px}.overview-qr__image{display:grid;place-items:center;align-self:center;aspect-ratio:1;width:min(280px,100%);overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:12px;background:#fff}.overview-qr__image img{display:block;width:100%;height:100%;object-fit:contain}.overview-code--compact button{width:42px;padding:0;transition:background-color .16s ease,color .16s ease}.overview-code--compact button:hover:not(:disabled){background:color-mix(in srgb,var(--color-ui-action) 7%,transparent);color:var(--color-ui-action-hover)}.overview-download{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:7px;background:var(--color-ui-action);color:var(--color-white);text-decoration:none;font-weight:600}.overview-download:hover{background:var(--color-ui-action-hover)}.overview-help{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:8px;background:var(--color-surface-info-soft);color:var(--color-status-info-alt);font-size:.8rem;line-height:1.35}.overview-help ng-icon{flex:0 0 auto;margin-top:1px}.overview-engagement{grid-area:engagement}.overview-chart{min-height:260px;margin-top:14px}.overview-state{display:grid;place-items:center;align-content:center;gap:7px;min-height:220px;padding:20px;color:var(--color-text-muted);text-align:center}.overview-state strong{color:var(--color-text-strong)}.overview-state--qr{flex:1;min-height:260px;border:1px dashed var(--color-border-default);border-radius:12px}.overview-modules header{margin-bottom:14px}.module-progress{display:grid;gap:9px;margin:0;padding:0;list-style:none}.module-progress li{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(180px,.45fr);align-items:center;gap:12px;min-height:58px;padding:8px 12px;border-radius:9px;background:var(--color-surface-subtle)}.module-progress__order{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--color-ui-action);color:var(--color-white);font-weight:700}.module-progress__content{display:grid;gap:3px;min-width:0}.module-progress__content strong{overflow:hidden;color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap}.module-progress__content small{color:var(--color-text-muted)}.module-progress__metric{display:grid;gap:7px}.module-progress__metric>strong{justify-self:end;color:var(--color-text-strong);font-size:.88rem}.module-progress__metric>span{display:block;height:7px;overflow:hidden;border-radius:999px;background:var(--color-border-subtle)}.module-progress__metric i{display:block;height:100%;border-radius:inherit;background:var(--color-ui-action)}.ranking-section{display:grid;gap:0;padding:38px;border:1px solid var(--color-border-subtle);border-radius:18px;background:var(--color-surface-panel);box-shadow:0 8px 24px #0f172a08}.ranking-section__heading,.ranking-list>h3{padding-bottom:12px;border-bottom:1px solid var(--color-border-muted);color:var(--color-text-heading)}.ranking-section__heading h2,.ranking-list h3,.ranking-current-user h3{margin:0;font-size:1.05rem;font-weight:700}.ranking-podium-wrapper{display:flex;justify-content:center;padding:48px 0 42px}.ranking-podium{display:grid;grid-template-columns:132px 152px 132px;align-items:end;width:416px}.ranking-podium__entry{position:relative;display:grid;justify-items:center;gap:5px;color:var(--color-text-heading);text-align:center}.ranking-podium__identity{color:inherit;text-decoration:none}.ranking-podium__identity--avatar{display:inline-flex;border-radius:50%;transition:transform .16s ease,filter .16s ease}.ranking-podium__identity--avatar:hover{filter:brightness(1.04);transform:scale(1.04)}.ranking-podium__identity--avatar:focus-visible{outline:2px solid var(--color-ui-action);outline-offset:3px}.ranking-podium__identity--name{width:100%;overflow:hidden;color:var(--color-text-heading);font-size:.92rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ranking-podium__entry>small{border-radius:4px;padding:3px 7px;color:#fff;font-size:.78rem;font-weight:700;line-height:1}.ranking-podium__entry--first>small{background:#ff9600}.ranking-podium__entry--second>small{background:#8f8f91}.ranking-podium__entry--third>small{background:#d8651f}.ranking-avatar{display:grid;place-items:center;width:34px;height:34px;overflow:hidden;border-radius:50%;background:var(--color-surface-accent);color:var(--color-white);font-weight:700}.ranking-avatar img{width:100%;height:100%;object-fit:cover}.ranking-avatar--podium{width:64px;height:64px;border:3px solid #fff;box-shadow:0 3px 10px #0000003d}.ranking-podium__entry--first .ranking-avatar--podium{width:76px;height:76px}.ranking-podium__crown{--ng-icon__size: 3rem;position:absolute;z-index:1;top:-32px;left:62%;width:var(--ng-icon__size);height:var(--ng-icon__size);color:#efbb00;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));transform:translate(-50%) rotate(18deg)}.ranking-podium__step{display:grid;position:relative;width:100%;height:92px;margin-top:13px;place-items:center;background:#ff9d6d;color:#fff;font-size:2rem;font-weight:800}.ranking-podium__step:before{position:absolute;top:-15px;left:0;width:100%;height:15px;background:#ed6b1d;clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);content:""}.ranking-podium__entry--first .ranking-podium__step{height:154px;background:#ffdc6b;font-size:2.3rem}.ranking-podium__entry--first .ranking-podium__step:before{background:#ff9f00}.ranking-podium__entry--second .ranking-podium__step{height:118px;background:#aaa9ad}.ranking-podium__entry--second .ranking-podium__step:before{background:#8e8e90}.ranking-list{display:grid;gap:14px}.ranking-list ol{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ranking-list li{min-height:58px}.ranking-list__link{display:grid;grid-template-columns:28px 34px minmax(100px,1fr) auto 52px;align-items:center;gap:12px;min-height:58px;box-sizing:border-box;padding:0 14px;border-radius:8px;background:var(--color-surface-subtle);color:var(--color-text-heading);text-decoration:none;transition:background-color .16s ease}.ranking-list__link:hover{background:var(--surface-hover)}.ranking-list__link:focus-visible{outline:2px solid var(--color-ui-action);outline-offset:2px}.ranking-list__item--current{outline:2px solid color-mix(in srgb,var(--color-ui-action) 48%,transparent)}.ranking-list__position{color:var(--color-text-heading)}.ranking-list__name{overflow:hidden;color:var(--color-text-heading);text-overflow:ellipsis;white-space:nowrap}.ranking-list__name small,.ranking-list__xp,.ranking-current-user__link>strong:last-child{color:var(--color-ui-action)}.ranking-list__xp{text-align:right}.ranking-list__xp small{display:block;color:var(--color-text-muted);font-weight:400}.ranking-current-user{display:grid;gap:12px;color:var(--color-text-heading)}.ranking-current-user__link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:0 14px;border-radius:8px;background:color-mix(in srgb,var(--color-ui-action) 10%,var(--color-surface-subtle));color:inherit;text-decoration:none;transition:background-color .16s ease}.ranking-current-user__link:hover{background:color-mix(in srgb,var(--color-ui-action) 16%,var(--color-surface-subtle))}.ranking-current-user__link:focus-visible{outline:2px solid var(--color-ui-action);outline-offset:2px}.ranking-current-user__link>strong:last-child{margin-left:auto}.ranking-pagination{margin:0;padding:0}.ranking-list__xp{color:var(--primary)}.ranking-list .student-level{background:#f4e8ff;color:#8e24d9}html[data-appearance=light] .code-editor{border-color:#d4d4d4;background:#fff}html[data-appearance=light] .code-editor ol{border-color:#d4d4d4;background:#f3f3f3;color:var(--color-text-muted)}html[data-appearance=light] .code-editor__highlight{color:#1e1e1e}html[data-appearance=light] .code-editor textarea{caret-color:#1e1e1e}html[data-appearance=light] .code-editor textarea::selection{background:#add6ff}html[data-appearance=light] .code-editor .syntax-comment{color:green}html[data-appearance=light] .code-editor .syntax-keyword{color:#00f}html[data-appearance=light] .code-editor .syntax-value{color:#a31515}html[data-appearance=light] .code-editor .syntax-symbol{color:#098658}html[data-appearance=light] .code-editor .syntax-state{color:#795e26}html[data-appearance=light] .code-editor .syntax-arrow{color:#1e1e1e}html[data-appearance=light] .code-editor .syntax-movement{color:#af00db}html[data-appearance=dark] .code-editor{border-color:#3c3c3c;background:#1e1e1e}html[data-appearance=dark] .code-editor ol{border-color:#3c3c3c;background:#252526;color:var(--color-text-muted)}html[data-appearance=dark] .code-editor__highlight{color:#d4d4d4}html[data-appearance=dark] .code-editor textarea{caret-color:#aeafad}html[data-appearance=dark] .code-editor textarea::selection{background:#264f78}html[data-appearance=dark] .code-editor .syntax-comment{color:#6a9955}html[data-appearance=dark] .code-editor .syntax-keyword{color:#569cd6}html[data-appearance=dark] .code-editor .syntax-value{color:#ce9178}html[data-appearance=dark] .code-editor .syntax-symbol{color:#b5cea8}html[data-appearance=dark] .code-editor .syntax-state{color:#9cdcfe}html[data-appearance=dark] .code-editor .syntax-arrow{color:#d4d4d4}html[data-appearance=dark] .code-editor .syntax-movement{color:#c586c0}.podium-metal{position:relative;isolation:isolate;overflow:hidden}.podium-metal:after{position:absolute;z-index:1;top:-55%;bottom:-55%;left:0;width:28%;content:"";pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.018) 28%,rgba(255,255,255,.26) 50%,rgba(255,255,255,.025) 72%,transparent 100%);opacity:.46;transform:translate3d(-300%,0,0) skew(-15deg);animation:podium-metallic-shine 11s cubic-bezier(.22,.61,.36,1) infinite;will-change:transform}.ranking-podium__entry--first .podium-metal{background:linear-gradient(110deg,#b58b31,#d8b15a 28%,#f6dfa0 48%,#e7c873 66%,#bd9841);box-shadow:0 3px 9px #aa82301a}.ranking-podium__entry--second .podium-metal{background:linear-gradient(110deg,#929399,#bcbec3 28%,#e6e8eb 48%,#c9cbd0 66%,#9a9ca1);box-shadow:0 3px 9px #00000012}.ranking-podium__entry--third .podium-metal{background:linear-gradient(110deg,#ad7154,#d09676 28%,#f0bd9b 48%,#dda280 66%,#b77d60);box-shadow:0 3px 9px #965a3817}.ranking-podium__entry--first .podium-metal:after{animation-delay:.5s}.ranking-podium__entry--second .podium-metal:after{animation-delay:0s}.ranking-podium__entry--third .podium-metal:after{animation-delay:1s}.ranking-podium__entry--first .ranking-avatar--podium{border-color:#ffe27a;box-shadow:0 3px 10px #a6700057,inset 0 0 0 1px #ffffff8c}.ranking-podium__entry--second .ranking-avatar--podium{border-color:#e7e9ec;box-shadow:0 3px 10px #24272c47,inset 0 0 0 1px #ffffff8c}.ranking-podium__entry--third .ranking-avatar--podium{border-color:#f2a070;box-shadow:0 3px 10px #893c174d,inset 0 0 0 1px #ffffff73}.ranking-podium__entry--first>small{background:linear-gradient(110deg,#b77700,#ffe27a 48%,#d78f00)}.ranking-podium__entry--second>small{background:linear-gradient(110deg,#777980,#e2e5e8 48%,#92949a)}.ranking-podium__entry--third>small{background:linear-gradient(110deg,#9c451a,#ff9e6c 48%,#bd5620)}.ranking-podium__crown{animation:crown-metallic-luster 6s ease-in-out .5s infinite}@keyframes podium-metallic-shine{0%{transform:translate3d(-300%,0,0) skew(-15deg)}14%,to{transform:translate3d(520%,0,0) skew(-15deg)}}@keyframes crown-metallic-luster{0%,74%,to{filter:drop-shadow(0 1px 1px rgba(0,0,0,.15)) brightness(1)}18%{filter:drop-shadow(0 1px 2px rgba(183,119,0,.32)) brightness(1.22)}}@media(prefers-reduced-motion:reduce){.podium-metal:after,.ranking-podium__crown{animation:none}}@media(max-width:600px){.ranking-section{padding:24px 16px}.ranking-podium-wrapper{padding:34px 0 36px}.ranking-podium{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,416px)}.ranking-podium__identity--name{font-size:.78rem}.ranking-avatar--podium{width:54px;height:54px}.ranking-podium__entry--first .ranking-avatar--podium{width:64px;height:64px}.ranking-podium__crown{top:-31px}.ranking-podium__step{height:82px;font-size:1.55rem}.ranking-podium__entry--first .ranking-podium__step{height:122px;font-size:1.85rem}.ranking-podium__entry--second .ranking-podium__step{height:102px}.ranking-list__link{grid-template-columns:22px 30px minmax(0,1fr) auto;gap:7px;min-height:62px;padding:6px 9px}.ranking-list li .student-level{grid-column:3}.ranking-list__xp{grid-column:4;grid-row:1/span 2}}@media(max-width:900px){.overview-grid{grid-template-columns:1fr;grid-template-areas:"information" "qr" "engagement"}.overview-qr__image{width:min(280px,100%)}}@media(max-width:600px){.overview-information__grid{grid-template-columns:1fr}.overview-card{padding:16px}.overview-field--wide{grid-column:auto}.overview-code button:not(.icon-button){width:42px;padding:0;font-size:0}.overview-code button ng-icon{font-size:1rem}.module-progress li{grid-template-columns:auto minmax(0,1fr)}.module-progress__metric{grid-column:2}}html[data-appearance=dark] app-challenges-page .page-heading h1{color:var(--color-primary-300)}html[data-appearance=dark] app-challenges-page .active-filter{background:color-mix(in srgb,var(--color-primary-300) 20%,transparent);color:var(--color-primary-200)}html[data-appearance=dark] app-challenges-page .switch-row{background:var(--color-surface-neutral)}html[data-appearance=dark] app-challenges-page .challenge-row--not_started{border-color:var(--color-border-default);background:var(--color-surface-muted)}html[data-appearance=dark] app-challenges-page .challenge-row--not_started .challenge-row__icon{background:#3a424c;color:#c1c9d3}html[data-appearance=dark] app-challenges-page .challenge-row--not_started .challenge-row__xp{background:#303841;color:#c1c9d3}html[data-appearance=dark] app-challenges-page .challenge-row--not_started app-energy-progress{background:#30363d}html[data-appearance=dark] app-challenges-page .challenge-row--not_started app-energy-progress .energy-progress__fill{background:#768390}html[data-appearance=dark] app-challenges-page .challenge-row--in_progress{border-color:#1f6feb;background:#102b45}html[data-appearance=dark] app-challenges-page .challenge-row--in_progress .challenge-row__icon{background:#1f6feb;color:#dbeeff}html[data-appearance=dark] app-challenges-page .challenge-row--in_progress .challenge-row__xp{background:#164d7b;color:#b6e3ff}html[data-appearance=dark] app-challenges-page .challenge-row--in_progress app-energy-progress{background:#30363d}html[data-appearance=dark] app-challenges-page .challenge-row--in_progress app-energy-progress .energy-progress__fill{background:#58a6ff}html[data-appearance=dark] app-challenges-page .challenge-row--ready_to_claim{border-color:#9e6a03;background:#382b08}html[data-appearance=dark] app-challenges-page .challenge-row--ready_to_claim .challenge-row__icon{background:#d29922;color:#251b04}html[data-appearance=dark] app-challenges-page .challenge-row--ready_to_claim .challenge-row__xp{background:#76530d;color:#ffe3a1}html[data-appearance=dark] app-challenges-page .challenge-row--ready_to_claim app-energy-progress{background:#49360a}html[data-appearance=dark] app-challenges-page .challenge-row--ready_to_claim .claim-button{background:#d97706;color:#fff}html[data-appearance=dark] app-challenges-page .challenge-row--ready_to_claim app-energy-progress .energy-progress__fill{background:#e3b341}html[data-appearance=dark] app-challenges-page .challenge-row--claimed{border-color:#238636;background:#12351c}html[data-appearance=dark] app-challenges-page .challenge-row--claimed .challenge-row__icon{background:#238636;color:#e6ffec}html[data-appearance=dark] app-challenges-page .challenge-row--claimed .challenge-row__xp{background:#1d6c30;color:#b7f3c1}html[data-appearance=dark] app-challenges-page .challenge-row--claimed .challenge-row__check{color:#56d364}html[data-appearance=dark] app-challenges-page .challenge-row--claimed app-energy-progress{background:#1b4a27}html[data-appearance=dark] app-challenges-page .challenge-row--claimed app-energy-progress .energy-progress__fill{background:#3fb950}html[data-appearance=dark] app-module-details-page .section-chips em,html[data-appearance=dark] app-module-details-page .section-more{border-color:var(--border);background:var(--color-surface-info-soft-strong);color:var(--text-secondary)}html[data-appearance=dark] app-module-details-page .section-more:hover{background:var(--surface-hover)}html[data-appearance=dark] app-module-details-page .type-chip{background:var(--color-surface-info-soft);color:var(--color-status-info)}html[data-appearance=dark] app-module-details-page .type-chip--challenge{background:color-mix(in srgb,#a855f7 18%,var(--surface-elevated));color:#d8b4fe}html[data-appearance=dark] app-module-details-page .status-chip{background:var(--color-surface-positive-soft);color:var(--color-status-success)}html[data-appearance=dark] app-module-details-page .status-chip--inactive{background:var(--color-surface-neutral);color:var(--text-muted)}
