:root,[data-theme=hud]{--color-bg-page: #0A0E1A;--color-bg-card: #111827;--color-bg-terminal: #0D1117;--color-bg-elevated: #161B28;--color-bg-overlay: rgba(0, 0, 0, .6);--color-primary: #00D4FF;--color-primary-dim: rgba(0, 212, 255, .12);--color-primary-glow: rgba(0, 212, 255, .35);--color-accent: #00FF88;--color-accent-dim: rgba(0, 255, 136, .12);--color-warning: #FF6B35;--color-warning-dim: rgba(255, 107, 53, .12);--color-error: #EF4444;--color-success: #00FF88;--color-security: #A78BFA;--color-security-dim: rgba(167, 139, 250, .16);--color-security-border: rgba(167, 139, 250, .7);--color-text-primary: #E8EDF5;--color-text-secondary: #94A3B8;--color-text-tertiary: #64748B;--color-border: #1E293B;--color-border-bright: #2a3a52;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Code", Consolas, "Courier New", monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 600;--font-weight-bold: 700;--font-weight-black: 800;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-none: 0px;--radius-sm: 7px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow-primary: 0 0 20px var(--color-primary-glow);--shadow-glow-accent: 0 0 20px var(--color-accent-dim);--border-width: 1px;--border-width-thick: 2px;--border-color: var(--color-border);--border-color-bright: var(--color-border-bright);--border-color-primary: var(--color-primary);--hud-corner-size: 12px;--hud-corner-width: 2px;--hud-corner-color: var(--color-primary);--hud-grid-color: rgba(0, 212, 255, .04);--hud-grid-size: 40px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--layout-sidebar-w: 232px;--layout-sidebar-icon-w: 64px;--layout-topbar-h: 56px;--layout-toolbar-h: 48px;--layout-panel-categories-w: 196px;--layout-panel-right-w: 300px;--button-padding-x: 22px;--button-padding-y: 10px;--button-radius: var(--radius-none);--card-padding: 20px;--card-radius: var(--radius-none);--card-border-width: var(--border-width);--terminal-bar-height: 32px;--terminal-dot-size: 8px;--hud-corners-enabled: 1;--terminal-style-enabled: 1;--grid-background-enabled: 1}[data-theme=kaiwu]{--color-bg-page: #F5F6F8;--color-bg-card: #FFFFFF;--color-bg-sidebar: #FAFBFC;--color-bg-terminal: #1A2332;--color-bg-elevated: #FFFFFF;--color-bg-overlay: rgba(26, 29, 41, .4);--color-primary: #4F6EF7;--color-primary-dark: #3B5DE0;--color-primary-dim: #EEF1FE;--color-primary-glow: rgba(79, 110, 247, .2);--color-accent: #F27A23;--color-accent-dark: #E06A15;--color-accent-dim: #FEF3E8;--color-gold: #FFC53D;--color-gold-dark: #B8860B;--color-purple: #7B5CC4;--color-purple-dark: #523890;--color-purple-dim: #F3EEFA;--color-success: #12B76A;--color-success-dark: #0EA55E;--color-success-dim: #E8F8F0;--color-warning: #F59E0B;--color-warning-dim: rgba(245, 158, 11, .1);--color-error: #EF4444;--color-error-dark: #DC2626;--color-security: #6D4DB8;--color-security-dim: rgba(109, 77, 184, .08);--color-security-border: rgba(109, 77, 184, .72);--color-text-primary: #1A1D29;--color-text-secondary: #5A6178;--color-text-tertiary: #94A0B8;--color-border: #E8EBF0;--color-border-bright: #D1D5DB;--color-canvas-bg: #132952;--color-canvas-grid: #1E3A6E;--color-code-bg: #1A2332;--color-block-gold: #FFC53D;--color-block-gold-dark: #C48A0A;--color-block-orange: #F27A23;--color-block-orange-dark: #B8520A;--color-block-blue: #4F6EF7;--color-block-blue-dark: #2D45B8;--color-block-purple: #7B5CC4;--color-block-purple-dark: #523890;--color-block-green: #12B76A;--color-block-green-dark: #0B854C;--color-syntax-comment: #6B7B96;--color-syntax-keyword: #C792EA;--color-syntax-function: #82AAFF;--color-syntax-string: #C3E88D;--color-syntax-number: #F78C6C;--color-syntax-operator: #89DDFF;--color-syntax-variable: #EEFFFF;--color-syntax-punct: #89DDFF;--color-ai-gradient-start: #4F6EF7;--color-ai-gradient-end: #8B5CF6;--color-avatar-start: #7B5CC4;--color-avatar-end: #4F6EF7;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, "Courier New", monospace;--shadow-sm: 0 1px 4px rgba(26, 29, 41, .06), 0 2px 8px rgba(26, 29, 41, .04);--shadow-md: 0 4px 16px rgba(26, 29, 41, .1);--shadow-lg: 0 8px 24px rgba(26, 29, 41, .12);--shadow-card: 0 1px 4px rgba(26, 29, 41, .06), 0 2px 8px rgba(26, 29, 41, .04);--shadow-float: 0 4px 16px rgba(26, 29, 41, .1);--border-color: var(--color-border);--border-color-bright: var(--color-border-bright);--layout-sidebar-w: 232px;--layout-sidebar-icon-w: 64px;--layout-topbar-h: 56px;--layout-toolbar-h: 48px;--layout-panel-categories-w: 196px;--layout-panel-right-w: 300px;--hud-corner-size: 0px;--hud-corner-width: 0px;--hud-corner-color: transparent;--hud-grid-color: transparent;--hud-grid-size: 0px;--button-padding-x: 20px;--button-padding-y: 10px;--button-radius: var(--radius-lg);--card-padding: 24px;--card-radius: var(--radius-xl);--card-border-width: 1px;--terminal-bar-height: 0px;--terminal-dot-size: 0px;--hud-corners-enabled: 0;--terminal-style-enabled: 0;--grid-background-enabled: 0}[data-theme=azure]{--color-bg-page: #D3E6F7;--color-bg-card: #E9F3FC;--color-bg-sidebar: #D5E7F6;--color-bg-terminal: #E9F3FC;--color-bg-elevated: #F4FAFE;--color-bg-overlay: rgba(13, 52, 84, .42);--color-primary: #1789C8;--color-primary-dark: #0F74AC;--color-primary-dim: #DFEFFA;--color-primary-glow: rgba(23, 137, 200, .22);--color-accent: #E57026;--color-accent-dark: #CE5F18;--color-accent-dim: #FDEEE3;--color-gold: #FFC53D;--color-gold-dark: #B8860B;--color-purple: #6E7FD6;--color-purple-dark: #4C5AA8;--color-purple-dim: #ECEFFB;--color-success: #12B76A;--color-success-dark: #0EA55E;--color-success-dim: #E8F8F0;--color-warning: #F59E0B;--color-warning-dim: rgba(245, 158, 11, .12);--color-error: #EF4444;--color-error-dark: #DC2626;--color-security: #5546B2;--color-security-dim: rgba(85, 70, 178, .08);--color-security-border: rgba(85, 70, 178, .78);--color-text-primary: #0A2438;--color-text-secondary: #27475E;--color-text-tertiary: #4A6B85;--color-border: #8FB3D4;--color-border-bright: #6C97C0;--color-canvas-bg: #0E3A5C;--color-canvas-grid: #2E6090;--color-code-bg: #DFEDF9;--color-block-gold: #FFC53D;--color-block-gold-dark: #C48A0A;--color-block-orange: #F27A23;--color-block-orange-dark: #B8520A;--color-block-blue: #1E9FE0;--color-block-blue-dark: #0F6FA8;--color-block-purple: #7B5CC4;--color-block-purple-dark: #523890;--color-block-green: #12B76A;--color-block-green-dark: #0B854C;--color-syntax-comment: #6B8499;--color-syntax-keyword: #0F6FA8;--color-syntax-function: #0E7490;--color-syntax-string: #1B7A43;--color-syntax-number: #B04A12;--color-syntax-operator: #4A6378;--color-syntax-variable: #26435C;--color-syntax-punct: #4A6378;--color-ai-gradient-start: #1E9FE0;--color-ai-gradient-end: #38BDF8;--color-avatar-start: #38BDF8;--color-avatar-end: #1E9FE0;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, "Courier New", monospace;--shadow-sm: 0 1px 4px rgba(15, 60, 95, .07), 0 2px 8px rgba(15, 60, 95, .05);--shadow-md: 0 4px 16px rgba(15, 60, 95, .11);--shadow-lg: 0 8px 24px rgba(15, 60, 95, .13);--shadow-card: 0 1px 4px rgba(15, 60, 95, .07), 0 2px 8px rgba(15, 60, 95, .05);--shadow-float: 0 4px 16px rgba(15, 60, 95, .11);--border-color: var(--color-border);--border-color-bright: var(--color-border-bright);--layout-sidebar-w: 232px;--layout-sidebar-icon-w: 64px;--layout-topbar-h: 56px;--layout-toolbar-h: 48px;--layout-panel-categories-w: 196px;--layout-panel-right-w: 300px;--hud-corner-size: 0px;--hud-corner-width: 0px;--hud-corner-color: transparent;--hud-grid-color: transparent;--hud-grid-size: 0px;--button-padding-x: 20px;--button-padding-y: 10px;--button-radius: var(--radius-lg);--card-padding: 24px;--card-radius: var(--radius-xl);--card-border-width: 1px;--terminal-bar-height: 0px;--terminal-dot-size: 0px;--hud-corners-enabled: 0;--terminal-style-enabled: 0;--grid-background-enabled: 0}[data-theme=bamboo]{--color-bg-page: #D6ECDA;--color-bg-card: #EAF6EC;--color-bg-sidebar: #D8EEDE;--color-bg-terminal: #EAF6EC;--color-bg-elevated: #F3FAF4;--color-bg-overlay: rgba(16, 60, 38, .42);--color-primary: #1E9E5A;--color-primary-dark: #148349;--color-primary-dim: #E0F3E6;--color-primary-glow: rgba(30, 158, 90, .22);--color-accent: #E57026;--color-accent-dark: #CE5F18;--color-accent-dim: #FDEEE3;--color-gold: #FFC53D;--color-gold-dark: #B8860B;--color-purple: #6E7FD6;--color-purple-dark: #4C5AA8;--color-purple-dim: #ECEFFB;--color-success: #12B76A;--color-success-dark: #0EA55E;--color-success-dim: #E8F8F0;--color-warning: #F59E0B;--color-warning-dim: rgba(245, 158, 11, .12);--color-error: #EF4444;--color-error-dark: #DC2626;--color-security: #5B4BB0;--color-security-dim: rgba(91, 75, 176, .08);--color-security-border: rgba(91, 75, 176, .76);--color-text-primary: #0B2E18;--color-text-secondary: #23503A;--color-text-tertiary: #456B53;--color-border: #8FC29D;--color-border-bright: #6AA97F;--color-canvas-bg: #14432A;--color-canvas-grid: #2E6B47;--color-code-bg: #DFF2E4;--color-block-gold: #FFC53D;--color-block-gold-dark: #C48A0A;--color-block-orange: #F27A23;--color-block-orange-dark: #B8520A;--color-block-blue: #1E9FE0;--color-block-blue-dark: #0F6FA8;--color-block-purple: #7B5CC4;--color-block-purple-dark: #523890;--color-block-green: #12B76A;--color-block-green-dark: #0B854C;--color-syntax-comment: #66806F;--color-syntax-keyword: #148349;--color-syntax-function: #0B6E74;--color-syntax-string: #8A5A00;--color-syntax-number: #B04A12;--color-syntax-operator: #4A6353;--color-syntax-variable: #274E38;--color-syntax-punct: #4A6353;--color-ai-gradient-start: #22B563;--color-ai-gradient-end: #34D399;--color-avatar-start: #34D399;--color-avatar-end: #22B563;--font-sans: "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, "Courier New", monospace;--shadow-sm: 0 1px 4px rgba(16, 70, 40, .07), 0 2px 8px rgba(16, 70, 40, .05);--shadow-md: 0 4px 16px rgba(16, 70, 40, .11);--shadow-lg: 0 8px 24px rgba(16, 70, 40, .13);--shadow-card: 0 1px 4px rgba(16, 70, 40, .07), 0 2px 8px rgba(16, 70, 40, .05);--shadow-float: 0 4px 16px rgba(16, 70, 40, .11);--border-color: var(--color-border);--border-color-bright: var(--color-border-bright);--layout-sidebar-w: 232px;--layout-sidebar-icon-w: 64px;--layout-topbar-h: 56px;--layout-toolbar-h: 48px;--layout-panel-categories-w: 196px;--layout-panel-right-w: 300px;--hud-corner-size: 0px;--hud-corner-width: 0px;--hud-corner-color: transparent;--hud-grid-color: transparent;--hud-grid-size: 0px;--button-padding-x: 20px;--button-padding-y: 10px;--button-radius: var(--radius-lg);--card-padding: 24px;--card-radius: var(--radius-xl);--card-border-width: 1px;--terminal-bar-height: 0px;--terminal-dot-size: 0px;--hud-corners-enabled: 0;--terminal-style-enabled: 0;--grid-background-enabled: 0}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-page);line-height:1.75}.font-mono{font-family:var(--font-mono)}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.codeup-hudbox{position:relative;background:var(--color-bg-elevated, #161B28);padding:var(--card-padding, 20px);border:1px solid var(--border-color, #1E293B);border-radius:var(--card-radius, 0px);transition:border-color var(--transition-fast, .15s ease)}.codeup-hudbox:hover{border-color:var(--border-color-bright, #2a3a52)}.codeup-hudbox .hud-corner{position:absolute;width:var(--hud-corner-size, 12px);height:var(--hud-corner-size, 12px);border-color:var(--hud-corner-color, var(--color-primary, #00D4FF));border-style:solid;pointer-events:none;opacity:var(--hud-corners-enabled, 1);transition:opacity var(--transition-fast, .15s ease)}.codeup-hudbox .hud-corner-tl{top:-1px;left:-1px;border-width:var(--hud-corner-width, 2px) 0 0 var(--hud-corner-width, 2px)}.codeup-hudbox .hud-corner-tr{top:-1px;right:-1px;border-width:var(--hud-corner-width, 2px) var(--hud-corner-width, 2px) 0 0}.codeup-hudbox .hud-corner-bl{bottom:-1px;left:-1px;border-width:0 0 var(--hud-corner-width, 2px) var(--hud-corner-width, 2px)}.codeup-hudbox .hud-corner-br{bottom:-1px;right:-1px;border-width:0 var(--hud-corner-width, 2px) var(--hud-corner-width, 2px) 0}.codeup-hudbox .hudbox-header{margin-bottom:var(--space-3, 12px);padding-bottom:var(--space-2, 8px);border-bottom:1px solid var(--border-color, #1E293B)}.codeup-hudbox .hudbox-title{font-family:var(--font-mono);font-size:var(--font-size-sm, 12px);color:var(--color-primary, #00D4FF);text-transform:uppercase;letter-spacing:1px;font-weight:var(--font-weight-medium, 600)}.codeup-hudbox .hudbox-content{color:var(--color-text-primary, #E8EDF5)}.codeup-terminal{background:var(--color-bg-terminal, #0D1117);border:1px solid var(--border-color, #1E293B);border-radius:var(--radius-sm, 2px);overflow:hidden;font-family:var(--font-mono);font-size:var(--font-size-sm, 13px)}.codeup-terminal .terminal-bar{background:var(--color-bg-elevated, #161B28);padding:var(--space-2, 8px) var(--space-3, 12px);border-bottom:1px solid var(--border-color, #1E293B);display:flex;align-items:center;gap:var(--space-2, 8px);font-size:var(--font-size-sm, 12px);color:var(--color-text-tertiary, #64748B);min-height:var(--terminal-bar-height, 32px)}.codeup-terminal .terminal-dots{display:flex;gap:var(--space-2, 8px)}.codeup-terminal .terminal-dot{width:var(--terminal-dot-size, 8px);height:var(--terminal-dot-size, 8px);border-radius:50%}.codeup-terminal .terminal-title{flex:1;color:var(--color-text-tertiary, #64748B)}.codeup-terminal .terminal-body{padding:var(--space-4, 16px) var(--space-5, 20px);color:var(--color-text-secondary, #94A3B8);line-height:1.8;white-space:pre-wrap;word-break:break-word}.codeup-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);padding:var(--button-padding-y, 10px) var(--button-padding-x, 22px);font-family:var(--font-sans);font-size:var(--font-size-base, 14px);font-weight:var(--font-weight-bold, 700);border:none;cursor:pointer;border-radius:var(--button-radius, 0px);transition:all var(--transition-fast, .15s ease);line-height:1;white-space:nowrap;user-select:none}.codeup-btn .btn-icon{display:inline-flex;align-items:center;width:16px;height:16px}.codeup-btn .btn-icon svg{width:100%;height:100%}.codeup-btn-sm{padding:var(--space-1, 4px) var(--space-3, 12px);font-size:var(--font-size-sm, 12px)}.codeup-btn-md{padding:var(--button-padding-y, 10px) var(--button-padding-x, 22px);font-size:var(--font-size-base, 14px)}.codeup-btn-lg{padding:var(--space-3, 12px) var(--space-8, 32px);font-size:var(--font-size-md, 15px)}.codeup-btn-primary{background:var(--color-primary, #00D4FF);color:var(--color-bg-page, #0A0E1A)}.codeup-btn-primary:hover:not(:disabled){box-shadow:0 0 20px var(--color-primary-glow, rgba(0, 212, 255, .35))}.codeup-btn-primary:active:not(:disabled){transform:translateY(1px)}.codeup-btn-success{background:var(--color-success, #12B76A);color:#fff}.codeup-btn-success:hover:not(:disabled){background:var(--color-success-dark, #0EA55E)}.codeup-btn-success:active:not(:disabled){transform:translateY(1px)}.codeup-btn-accent{background:var(--color-accent, #F27A23);color:#fff}.codeup-btn-accent:hover:not(:disabled){background:var(--color-accent-dark, #E06A15)}.codeup-btn-accent:active:not(:disabled){transform:translateY(1px)}.codeup-btn-secondary{background:transparent;color:var(--color-primary, #00D4FF);border:1px solid var(--color-primary, #00D4FF)}.codeup-btn-secondary:hover:not(:disabled){background:var(--color-primary-dim, rgba(0, 212, 255, .12))}.codeup-btn-ghost{background:transparent;color:var(--color-text-secondary, #94A3B8);border:1px solid var(--border-color, #1E293B)}.codeup-btn-ghost:hover:not(:disabled){color:var(--color-text-primary, #E8EDF5);border-color:var(--border-color-bright, #2a3a52);background:var(--color-bg-elevated, #161B28)}.codeup-btn-danger{background:var(--color-error, #EF4444);color:#fff}.codeup-btn-danger:hover:not(:disabled){background:var(--color-error-dark, #DC2626)}.codeup-btn-group{display:flex;gap:var(--space-3, 12px);flex-wrap:wrap}.codeup-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--font-size-xs, 11px);padding:3px 10px;margin:4px;border-radius:var(--radius-sm, 2px);letter-spacing:.5px;font-weight:var(--font-weight-medium, 600);line-height:1.4}.codeup-tag-blue{background:var(--color-primary-dim, rgba(0, 212, 255, .12));color:var(--color-primary, #00D4FF);border:1px solid rgba(79,110,247,.3)}.codeup-tag-green{background:var(--color-success-dim, rgba(0, 255, 136, .12));color:var(--color-success, #12B76A);border:1px solid rgba(18,183,106,.3)}.codeup-tag-orange{background:var(--color-accent-dim, rgba(255, 107, 53, .12));color:var(--color-accent, #F27A23);border:1px solid rgba(242,122,35,.3)}.codeup-tag-gray{background:var(--color-bg-elevated, #161B28);color:var(--color-text-tertiary, #64748B);border:1px solid var(--border-color, #1E293B)}.codeup-tag-purple{background:var(--color-purple-dim, #F3EEFA);color:var(--color-purple, #7B5CC4);border:1px solid rgba(123,92,196,.3)}.codeup-tag-gold{background:var(--color-accent-dim, #FEF3E8);color:var(--color-gold-dark, #B8860B);border:1px solid rgba(255,197,61,.3)}.codeup-tag-group{display:flex;flex-wrap:wrap;gap:var(--space-1, 4px)}.codeup-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary, #00D4FF);flex-shrink:0}.codeup-icon svg{display:block}.codeup-icon[tabindex]{cursor:pointer;border-radius:var(--radius-sm, 2px);transition:background var(--transition-fast, .15s ease)}.codeup-icon[tabindex]:hover{background:var(--color-primary-dim, rgba(0, 212, 255, .12))}[data-theme=kaiwu] .codeup-hudbox .hud-corner{display:none}[data-theme=azure] .codeup-hudbox{background:var(--color-bg-elevated, #F4FAFE);border-radius:var(--card-radius, 20px);box-shadow:var(--shadow-card);border-color:var(--color-border, #A9C7E0)}[data-theme=azure] .codeup-hudbox .hud-corner{display:none}[data-theme=azure] .codeup-hudbox .hudbox-header{border-bottom-color:var(--color-border, #A9C7E0)}[data-theme=azure] .codeup-hudbox .hudbox-title{color:var(--color-primary, #1789C8);text-transform:none}[data-theme=bamboo] .codeup-hudbox{background:var(--color-bg-elevated, #F3FAF4);border-radius:var(--card-radius, 20px);box-shadow:var(--shadow-card);border-color:var(--color-border, #8FC29D)}[data-theme=bamboo] .codeup-hudbox .hud-corner{display:none}[data-theme=bamboo] .codeup-hudbox .hudbox-header{border-bottom-color:var(--color-border, #8FC29D)}[data-theme=bamboo] .codeup-hudbox .hudbox-title{color:var(--color-primary, #1E9E5A);text-transform:none}[data-theme=kaiwu] .codeup-hudbox{background:var(--color-bg-card, #FFFFFF);border-radius:var(--card-radius, 20px);box-shadow:var(--shadow-card);border-color:transparent}[data-theme=kaiwu] .codeup-hudbox:hover{box-shadow:var(--shadow-float)}[data-theme=kaiwu] .codeup-hudbox .hudbox-header{border-bottom-color:var(--color-border, #E8EBF0)}[data-theme=kaiwu] .codeup-hudbox .hudbox-title{color:var(--color-primary, #4F6EF7);text-transform:none;letter-spacing:0;font-family:var(--font-sans)}[data-theme=kaiwu] .codeup-terminal{background:var(--color-bg-terminal, #1A2332);border-radius:var(--radius-md, 10px);border-color:transparent}[data-theme=kaiwu] .codeup-terminal .terminal-bar{display:none}[data-theme=kaiwu] .codeup-btn{border-radius:var(--button-radius, 14px)}[data-theme=kaiwu] .codeup-btn-primary{color:#fff}[data-theme=kaiwu] .codeup-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px var(--color-primary-glow, rgba(79, 110, 247, .2))}[data-theme=kaiwu] .codeup-tag{border-radius:var(--radius-md, 10px)}[data-theme=kaiwu] .codeup-tag-gray{background:var(--color-bg-page, #F5F6F8);border-color:var(--color-border, #E8EBF0)}[data-theme=kaiwu] .codeup-icon[tabindex]:hover{background:var(--color-primary-dim, #EEF1FE)}.codeup-root{--kaiwu-purple: #8b6fd0;--codeup-blue: var(--color-primary, #4F6EF7);--codeup-purple: #8b5cf6;--codeup-green: var(--color-success, #12B76A);--codeup-accent-green: #00ff88;--bg: var(--color-bg-page, #F5F6F8);--panel: var(--color-bg-card, #FFFFFF);--panel-border: var(--color-border, #E8EBF0);--text: var(--color-text-primary, #1A1D29);--text-muted: var(--color-text-secondary, #5A6178);--text-secondary: var(--color-text-secondary, #5A6178);--border-subtle: var(--color-border-bright, rgba(128, 140, 160, .3));--danger: var(--color-error, #EF4444);--warning: var(--color-warning, #F59E0B);--stage-w: 480px;--stage-h: 360px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--text);background:var(--bg);box-sizing:border-box}.codeup-root *,.codeup-root *:before,.codeup-root *:after{box-sizing:border-box}.codeup-root.codeup-theme-dark{--bg: var(--color-bg-page, #0A0E1A);--panel: var(--color-bg-card, #111827);--panel-border: var(--color-border, #1E293B);--text: var(--color-text-primary, #E8EDF5);--text-muted: var(--color-text-secondary, #94A3B8)}[data-theme=kaiwu]{--color-bg-page: #D9DEE5;--color-bg-card: #FAFBFC;--color-bg-sidebar: #E6EAF0;--color-border: #B8C0CC;--color-bg-elevated: #FFFFFF}html,body{margin:0;padding:0}html,body,#root{height:100%}.codeup-workbench{display:grid;grid-template-columns:var(--palette-w, 210px) minmax(0,1fr) var(--stage-w);grid-template-rows:46px minmax(0,1fr) minmax(var(--bottom-h, 150px),var(--bottom-h, 150px));grid-template-areas:"topbar topbar topbar" "palette workspace stage" "palette editor stage";height:100vh;width:100%;gap:1px;background:#e57026;overflow:hidden}.codeup-workbench>span{min-width:0;min-height:0;overflow:hidden}.codeup-workbench>span>.codeup-hudbox{height:100%;box-sizing:border-box;overflow:hidden}.codeup-workbench>span>.codeup-hudbox>.hudbox-content{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.codeup-palette-resizer{display:none;position:relative;grid-area:1 / 1 / 4 / 2;justify-self:end;width:7px;margin-right:-4px;cursor:col-resize;z-index:30;touch-action:none}.codeup-palette-resizer:after{content:"";position:absolute;left:3px;top:0;bottom:0;width:1px;background:transparent;transition:background .15s}.codeup-palette-resizer:hover:after,.codeup-palette-resizer:active:after{background:var(--msx-gold, #f5a623)}@media (min-width: 821px){.codeup-palette-resizer{display:block}}.codeup-stage-resizer{display:none;position:relative;grid-area:2 / 3 / 4 / 4;justify-self:start;align-self:stretch;width:7px;margin-left:-4px;cursor:col-resize;z-index:30;touch-action:none}.codeup-stage-resizer:after{content:"";position:absolute;left:3px;top:0;bottom:0;width:1px;background:transparent;transition:background .15s}.codeup-stage-resizer:hover:after,.codeup-stage-resizer:active:after{background:var(--msx-gold, #f5a623)}.codeup-bottom-resizer{display:none;position:relative;grid-area:3 / 2 / 4 / 3;align-self:start;justify-self:stretch;height:7px;margin-top:-4px;cursor:row-resize;z-index:30;touch-action:none}.codeup-bottom-resizer:after{content:"";position:absolute;top:3px;left:0;right:0;height:1px;background:transparent;transition:background .15s}.codeup-bottom-resizer:hover:after,.codeup-bottom-resizer:active:after{background:var(--msx-gold, #f5a623)}@media (min-width: 821px){.codeup-stage-resizer,.codeup-bottom-resizer{display:block}}.codeup-workbench .codeup-hudbox [data-hudbox-content-host=true]{display:block;height:100%;min-height:0;min-width:0}.codeup-workbench .codeup-hudbox [data-hudbox-content-host=true]:has(.codeup-mode-entries){display:flex;flex-direction:column}.codeup-palette{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden}.codeup-topbar{grid-area:topbar;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--panel)}.codeup-topbar__brand{font-weight:700;color:var(--msx-brand, #E57026);font-size:16px}[data-theme=hud] .codeup-topbar__brand{color:#fff}.brandlogo-domain{fill:var(--msx-domain, #6e6358)}[data-theme=hud] .brandlogo-domain{fill:#c9b9a8}.codeup-topbar__spacer{flex:1}.codeup-palette{grid-area:palette;background:var(--color-bg-sidebar, var(--panel));overflow-y:auto;padding:8px}.codeup-workspace{grid-area:workspace;background:var(--panel);position:relative;min-height:360px;overflow:hidden;border-radius:var(--radius-lg, 14px);box-shadow:var(--shadow-sm, 0 1px 4px rgba(26,29,41,.06))}.codeup-stage-area{grid-area:stage;background:var(--panel);display:flex;flex-direction:column;align-items:center;padding:8px 10px 6px;gap:6px;overflow:hidden;min-height:0}.codeup-stage-area .codeup-stage-wrap,.codeup-stage-area .codeup-stage-toolbar{flex:0 0 auto}.codeup-stage-area .codeup-sprite-panel,.codeup-stage-area .codeup-hwdock{flex-shrink:1;min-height:0}.codeup-stage-area .codeup-sprite-panel{overflow:hidden}.codeup-stage-area .codeup-hwdock-list{overflow-x:auto}@media (min-width: 821px){.codeup-stage-area>span{display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;width:100%;height:auto!important;box-sizing:border-box}.codeup-stage-area .codeup-hudbox{flex:1 1 auto;min-height:0;width:100%;height:auto!important;display:flex;flex-direction:column;box-sizing:border-box}.codeup-stage-area .codeup-hudbox>.hudbox-content{flex:1 1 auto;min-height:0;height:auto!important}.codeup-stage-area .codeup-hudbox [data-hudbox-content-host=true]{flex:1 1 auto;min-height:0;align-items:center}.codeup-stage-area.codeup-stage-fullscreen [data-hudbox-content-host=true]{justify-content:center}.codeup-stage-area .codeup-stage-wrap{width:min(var(--stage-w, 480px),calc(var(--stage-avail-h, 360px) * 4 / 3));max-width:100%;height:min(var(--stage-avail-h, 360px),calc(var(--stage-w, 480px) * 3 / 4));aspect-ratio:4 / 3}.codeup-stage-area:not(.codeup-stage-fullscreen)>span{overflow:hidden}}.codeup-editor{grid-area:editor;background:var(--color-bg-terminal, #1A2332);padding:8px;overflow:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;border-radius:var(--radius-lg, 14px);color:var(--color-text-secondary, #94A3B8)}.codeup-stage-wrap{width:var(--stage-w, 480px);height:auto;aspect-ratio:4 / 3;max-width:100%;flex:0 0 auto;position:relative;transform-origin:top center;background:var(--color-canvas-bg, #132952);border:1px solid var(--panel-border);border-radius:var(--radius-lg, 14px);overflow:hidden;box-shadow:var(--shadow-md, 0 4px 16px rgba(26,29,41,.1))}.codeup-stage-wrap canvas{position:absolute;top:0;left:0}.codeup-stage-toolbar{display:flex;gap:8px;width:var(--stage-w)}.codeup-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-md, 10px);border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font-size:13px;cursor:pointer;transition:all .15s}.codeup-btn:hover{border-color:var(--codeup-blue)}.codeup-btn--primary{background:var(--codeup-blue);color:#fff;border-color:var(--codeup-blue)}.codeup-btn--primary:hover{opacity:.9}.codeup-btn--success{background:var(--codeup-green);color:#fff;border-color:var(--codeup-green)}.codeup-btn:disabled{opacity:.5;cursor:not-allowed}.codeup-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:13px;text-align:center;padding:16px}@media (max-width: 1100px){.codeup-workbench{grid-template-columns:176px minmax(0,1fr);grid-template-areas:"topbar topbar" "palette workspace" "stage stage" "editor editor";grid-template-rows:48px 1fr auto auto;overflow:visible}}.codeup-root{--msx-gold-light: #FFB27A;--msx-gold: #E57026;--msx-gold-deep: #C85A18;--msx-gold-shadow: rgba(229, 112, 38, .35)}[data-theme=hud] .codeup-root,.codeup-root.codeup-theme-dark{--msx-gold-light: #FFC494;--msx-gold: #E57026;--msx-gold-deep: #CC621E;--msx-gold-shadow: rgba(229, 112, 38, .45)}.codeup-btn{position:relative;background-image:none;box-shadow:none}.codeup-btn:hover{box-shadow:0 1px 4px #0a0e1a1a}.codeup-btn:active{transform:translateY(1px);box-shadow:0 0 1px #0a0e1a33,inset 0 2px 4px #0a0e1a26}.codeup-btn-primary{background-image:none;background-color:var(--msx-gold);border-color:transparent;color:#fff;text-shadow:none;font-weight:600;box-shadow:inset 0 1px #ffffff38}.codeup-btn-primary:hover{background-image:none;background-color:var(--msx-gold-deep);border-color:transparent;box-shadow:0 2px 8px var(--msx-gold-shadow),inset 0 1px #ffffff38}.codeup-btn-primary:disabled{background-image:none}.codeup-btn-success{box-shadow:none}.codeup-btn-success:hover{border-color:transparent;box-shadow:0 2px 8px #12b76a47}.codeup-btn-ghost:hover:not(:disabled){border-color:var(--msx-gold);color:var(--msx-gold-deep);background-color:color-mix(in srgb,var(--msx-gold) 12%,transparent);background-image:none;box-shadow:none}[data-theme=hud] .codeup-btn-ghost:hover:not(:disabled),.codeup-root.codeup-theme-dark .codeup-btn-ghost:hover:not(:disabled){border-color:var(--msx-gold);color:var(--msx-gold-light);background-color:color-mix(in srgb,var(--msx-gold) 22%,transparent)}.codeup-topbar select.codeup-btn{border:1px solid var(--panel-border)}.codeup-topbar select.codeup-btn:hover,.codeup-topbar select.codeup-btn:focus{border-color:var(--msx-gold);outline:none;box-shadow:0 0 0 2px #e5702640}.codeup-root .hud-corner{border-color:color-mix(in srgb,var(--msx-gold) 55%,transparent)!important}[data-theme=hud] .codeup-root,.codeup-root.codeup-theme-dark{scrollbar-color:#3a4458 transparent;scrollbar-width:thin}[data-theme=hud] .codeup-root ::-webkit-scrollbar,.codeup-root.codeup-theme-dark ::-webkit-scrollbar,[data-theme=hud] ::-webkit-scrollbar{width:10px;height:10px}[data-theme=hud] .codeup-root ::-webkit-scrollbar-track,.codeup-root.codeup-theme-dark ::-webkit-scrollbar-track,[data-theme=hud] ::-webkit-scrollbar-track{background:transparent}[data-theme=hud] .codeup-root ::-webkit-scrollbar-thumb,.codeup-root.codeup-theme-dark ::-webkit-scrollbar-thumb,[data-theme=hud] ::-webkit-scrollbar-thumb{background:#3a4458;border-radius:6px;border:2px solid transparent;background-clip:content-box}[data-theme=hud] .codeup-root ::-webkit-scrollbar-thumb:hover,.codeup-root.codeup-theme-dark ::-webkit-scrollbar-thumb:hover,[data-theme=hud] ::-webkit-scrollbar-thumb:hover{background:#4a5670;background-clip:content-box;border:2px solid transparent}.codeup-topbar{box-shadow:inset 0 -1px 0 0 var(--panel-border)}.codeup-root .hudbox-title{letter-spacing:.08em}.codeup-root .hudbox-title{text-shadow:none}.codeup-root .ai-floating-btn{box-shadow:0 0 0 1px #e570264d,0 4px 16px #0a0e1a40}.codeup-root .ai-floating-btn:hover{box-shadow:0 0 0 2px var(--msx-gold),0 6px 20px var(--msx-gold-shadow)}.codeup-route-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:0 8px}.codeup-route-grid-2{grid-template-columns:repeat(2,1fr)}.codeup-route-cap{--rc: #4c8dff;text-align:center;padding:7px 2px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;user-select:none;white-space:nowrap;color:var(--rc);background:color-mix(in srgb,var(--rc) 10%,transparent);border:1px solid color-mix(in srgb,var(--rc) 28%,transparent);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.codeup-route-cap:hover{background:color-mix(in srgb,var(--rc) 16%,transparent);border-color:color-mix(in srgb,var(--rc) 45%,transparent);box-shadow:none}.codeup-route-cap:active{transform:scale(.97)}[data-theme=kaiwu] .codeup-route-cap{font-weight:600;color:color-mix(in srgb,var(--rc) 72%,#000 28%);background:color-mix(in srgb,var(--rc) 16%,#fff 84%);border-color:color-mix(in srgb,var(--rc) 52%,#fff 48%)}[data-theme=kaiwu] .codeup-route-cap:hover{background:color-mix(in srgb,var(--rc) 22%,#fff 78%);border-color:color-mix(in srgb,var(--rc) 60%,#fff 40%);box-shadow:none}.codeup-route-cap.is-active{color:#fff;font-weight:700;background:var(--rc);border-color:var(--rc);box-shadow:none}@media (max-width: 820px){body{margin:0}#root{width:100%}.codeup-route-grid,.codeup-route-grid-2{grid-template-columns:repeat(2,1fr);gap:6px}.codeup-root{overflow-x:hidden;--stage-w: auto;--stage-h: auto}.codeup-workbench{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:100vh;gap:8px;padding:8px;box-sizing:border-box;overflow:visible}.codeup-palette-resizer,.codeup-stage-resizer,.codeup-bottom-resizer{display:none!important}.codeup-topbar{order:0}.codeup-workbench>span:nth-of-type(1){order:1}.codeup-stage-area{order:2}.codeup-workbench>span:nth-of-type(2){order:3}.codeup-workbench>span:nth-of-type(3){order:4}.codeup-topbar{flex-wrap:wrap;gap:8px;padding:8px 10px}.codeup-topbar .codeup-btn{flex:0 0 auto;min-height:36px}.codeup-workbench .codeup-hudbox{padding:12px 10px}.codeup-workbench>span{height:auto!important;grid-area:auto!important;width:100%;min-width:0}.codeup-workbench>span>.codeup-hudbox{height:auto;overflow:visible;width:100%;box-sizing:border-box}.codeup-workbench>span>.codeup-hudbox>.hudbox-content{height:auto;overflow:visible;display:block}.codeup-workbench .codeup-hudbox [data-hudbox-content-host=true]{height:auto}.codeup-palette{height:auto;max-height:50vh;overflow-y:auto}.codeup-stage-area{order:2;overflow:visible;padding:0;align-items:stretch;width:100%;box-sizing:border-box}.codeup-stage-area>span,.codeup-stage-area .codeup-hudbox,.codeup-stage-area .hudbox-content,.codeup-stage-area [data-hudbox-content-host=true]{width:100%;box-sizing:border-box}.codeup-stage-toolbar{width:100%;box-sizing:border-box;flex-wrap:wrap}.codeup-stage-wrap{width:100%;height:auto;aspect-ratio:4 / 3;min-height:200px}.codeup-stage-wrap canvas{width:100%!important;height:100%!important;display:block}.codeup-blockly-workspace{height:62vh!important;min-height:320px!important}.codeup-python-view{max-height:240px;overflow-y:auto}.codeup-editor{font-size:12px}.codeup-stage-area>div[style*=z-index]{right:8px!important;bottom:8px!important;max-width:calc(100vw - 16px)}}.codeup-hudbox .hudbox-content{display:flex;flex-direction:column;min-height:0}.codeup-hudbox .hudbox-content>span,.codeup-hudbox .hudbox-content [data-hudbox-content-host=true]{flex:1 1 auto;min-height:0;display:block}.codeup-blockly-workspace{border-radius:6px;overflow:hidden;background:#fff}[data-theme=hud] .codeup-blockly-workspace{background:#111827;border:1px solid #1e293b}[data-theme=hud] .codeup-blockly-workspace .blocklyToolbox,[data-theme=hud] .codeup-blockly-workspace .blocklyToolboxContents{background:#161b28}[data-theme=hud] .codeup-blockly-workspace .blocklyFlyout,[data-theme=hud] .codeup-blockly-workspace .blocklyFlyoutBackground{fill:#161b28}[data-theme=hud] .codeup-blockly-workspace .blocklyFlyout text{fill:#e8edf5}[data-theme=hud] .codeup-blockly-workspace .blocklyMainBackground{stroke:#94a3b829!important}[data-theme=hud] .codeup-blockly-workspace .blocklyZoom image,[data-theme=hud] .codeup-blockly-workspace .blocklyTrash{opacity:.92}[data-theme=azure] .codeup-blockly-workspace{background:#edf5fd;border:1px solid #8FB3D4}[data-theme=azure] .codeup-blockly-workspace .blocklyToolbox,[data-theme=azure] .codeup-blockly-workspace .blocklyToolboxContents{background:#cfe3f6}[data-theme=azure] .codeup-blockly-workspace .blocklyFlyout,[data-theme=azure] .codeup-blockly-workspace .blocklyFlyoutBackground{fill:#edf5fd}[data-theme=azure] .codeup-blockly-workspace .blocklyFlyout text{fill:#0a2438}[data-theme=bamboo] .codeup-blockly-workspace{background:#edf7ef;border:1px solid #8FC29D}[data-theme=bamboo] .codeup-blockly-workspace .blocklyToolbox,[data-theme=bamboo] .codeup-blockly-workspace .blocklyToolboxContents{background:#cfe6d4}[data-theme=bamboo] .codeup-blockly-workspace .blocklyFlyout,[data-theme=bamboo] .codeup-blockly-workspace .blocklyFlyoutBackground{fill:#edf7ef}[data-theme=bamboo] .codeup-blockly-workspace .blocklyFlyout text{fill:#0b2e18}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(1) .blocklyToolboxCategory{background:#4c97ff}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(2) .blocklyToolboxCategory{background:#96f}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(3) .blocklyToolboxCategory{background:#cf63cf}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(4) .blocklyToolboxCategory{background:#ffbf00}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(5) .blocklyToolboxCategory{background:#ffab19}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(6) .blocklyToolboxCategory{background:#5cb1d6}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(7) .blocklyToolboxCategory{background:#59c059}.codeup-blockly-workspace .blocklyToolboxCategoryContainer:nth-child(8) .blocklyToolboxCategory{background:#ff8c1a}.codeup-blockly-workspace .blocklyToolbox .blocklyToolboxCategory{border-left:0!important;transition:filter .12s ease}.codeup-blockly-workspace .blocklyToolbox .blocklyToolboxCategoryLabel{color:#fff!important;font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.28)}.codeup-blockly-workspace .blocklyToolbox .blocklyToolboxCategory:hover{filter:brightness(1.12)}.codeup-blockly-workspace .blocklyToolbox .blocklyToolboxSelected .blocklyToolboxCategory,.codeup-blockly-workspace .blocklyToolbox .blocklyToolboxCategory.blocklyToolboxSelected{filter:brightness(1.16)}.codeup-block-editbar{position:absolute;top:6px;right:8px;z-index:20;display:flex;align-items:center;gap:2px;max-width:calc(100% - 16px);overflow-x:auto;padding:2px;background:#fffffff0;border:1px solid var(--panel-border, #d1d5db);border-radius:8px;box-shadow:0 2px 10px #0a0e1a1f}.codeup-block-editbtn{appearance:none;border:0;background:transparent;font-size:11px;line-height:1;padding:6px 8px;border-radius:6px;cursor:pointer;white-space:nowrap;color:var(--text, #1a1d29);font-family:inherit}.codeup-block-editbtn:hover{background:color-mix(in srgb,var(--msx-gold, #f5a623) 24%,transparent)}[data-theme=hud] .codeup-block-editbar{background:#161b28f0;border-color:#2a3347}[data-theme=hud] .codeup-block-editbtn{color:#e8edf5}[data-theme=hud] .codeup-block-editbtn:hover{background:#e5702640}.codeup-file-menu-btn{padding:6px 10px!important}.codeup-file-menu-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:300;min-width:172px;padding:4px;background:var(--color-bg-elevated, #ffffff);border:1px solid var(--panel-border, #e2e6ee);border-radius:10px;box-shadow:0 8px 28px #0a0e1a29}.codeup-file-menu-item{display:block;width:100%;text-align:left;padding:8px 12px;font-size:13px;font-family:inherit;border:0;border-radius:7px;background:transparent;color:var(--text, #1a1d29);cursor:pointer}.codeup-file-menu-item:hover{background:color-mix(in srgb,var(--msx-gold, #f5a623) 18%,transparent)}[data-theme=hud] .codeup-file-menu-pop{background:#161b28;border-color:#2a3347}[data-theme=hud] .codeup-file-menu-item{color:#e8edf5}[data-theme=hud] .codeup-file-menu-item:hover{background:#e5702633}.codeup-project-name{font-size:13px;font-family:inherit;padding:5px 10px;min-width:110px;max-width:180px;border:1px solid var(--panel-border, #d1d5db);border-radius:9px;background:transparent;color:var(--text, #1a1d29)}.codeup-project-name::placeholder{color:var(--text-muted, #94a0b8)}.codeup-project-name:focus{outline:none;border-color:var(--msx-gold, #f5a623);box-shadow:0 0 0 2px #f5a62338}[data-theme=hud] .codeup-project-name{color:#e8edf5}.codeup-ws-tabs{display:flex;gap:4px;flex-shrink:0;padding:4px 6px 0;border-bottom:1px solid var(--border-subtle, rgba(128,140,160,.22))}.codeup-ws-tab{appearance:none;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--text-secondary, #94a3b8);font-size:12px;font-weight:600;padding:6px 14px;border-radius:8px 8px 0 0;cursor:pointer;transition:background .15s,color .15s}.codeup-ws-tab:hover{background:#808ca01f;color:var(--text-primary, #e8edf5)}.codeup-ws-tab.is-active{background:var(--color-bg-elevated, #161b28);color:#e57026;border-color:var(--border-subtle, rgba(128,140,160,.22))}.codeup-ws-pages{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.codeup-ws-page{flex:1;min-height:0;position:relative}.codeup-ws-soon{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:var(--text-secondary, #94a3b8)}.codeup-ws-soon-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#E57026 14%,transparent);color:#e57026}.codeup-ws-soon-badge{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:#e57026;padding:3px 12px;border-radius:999px}.codeup-ws-soon-text{font-size:13px;line-height:1.7;max-width:340px}.codeup-sprite-panel{width:100%;flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:6px 4px;border-top:1px solid var(--border-subtle, rgba(128,140,160,.22))}.codeup-sprite-props{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 6px}.codeup-sprite-name{font-size:12px;font-weight:700;color:var(--text-primary, #e8edf5);background:transparent;border:1px solid var(--border-subtle, rgba(128,140,160,.35));border-radius:6px;padding:3px 8px;width:96px;outline:none}.codeup-sprite-name:focus{border-color:#e57026}.codeup-sprite-prop{font-size:11px;font-family:JetBrains Mono,Consolas,monospace;color:var(--text-secondary, #94a3b8);background:#808ca01a;padding:3px 7px;border-radius:6px;white-space:nowrap}.codeup-sprite-mini{font-size:11px;padding:3px 8px}.codeup-sprite-row{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:4px 6px 8px}.codeup-sprite-card,.codeup-sprite-add{position:relative;flex:0 0 auto;width:64px;display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px solid var(--border-subtle, rgba(128,140,160,.3));border-radius:10px;background:var(--color-bg-elevated, rgba(255,255,255,.04));padding:6px 4px 5px;cursor:pointer;transition:border-color .15s,transform .1s}.codeup-sprite-card:hover,.codeup-sprite-add:hover{border-color:#e5702699}.codeup-sprite-card.is-active{border-color:#e57026;box-shadow:0 0 0 2px #e5702640}.codeup-sprite-card.is-hidden{opacity:.45}.codeup-sprite-thumb{width:40px;height:40px;border-radius:8px;background:color-mix(in srgb,#4F6EF7 22%,var(--color-bg-elevated, #161b28));color:#8fa4ff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.codeup-sprite-thumb-stage{background:color-mix(in srgb,#12B76A 20%,var(--color-bg-elevated, #161b28));color:#6fd99a}.codeup-sprite-cardname{font-size:10.5px;color:var(--text-secondary, #b8c0cc);max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codeup-sprite-card.is-active .codeup-sprite-cardname{color:var(--text-primary, #fff)}.codeup-sprite-del{position:absolute;top:-7px;right:-7px;width:18px;height:18px;border-radius:50%;border:none;background:#ef4444;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center}.codeup-sprite-card:hover .codeup-sprite-del{display:flex}.codeup-sprite-add{border-style:dashed;justify-content:center;color:var(--text-secondary, #94a3b8)}.codeup-sprite-addicon{display:flex;align-items:center;justify-content:center;color:#e57026;font-size:20px;font-weight:300}.codeup-sprite-add-bg .codeup-sprite-addicon{color:#12b76a}.codeup-hardware-panel{flex-shrink:0;margin:8px 4px 4px;padding:8px;border:1px dashed var(--border-subtle, rgba(128,140,160,.4));border-radius:10px;background:#808ca00f}.codeup-hardware-title{display:flex;align-items:center;font-size:12px;font-weight:700;color:var(--text-primary, #e8edf5);margin-bottom:6px}.codeup-hardware-list{display:flex;flex-wrap:wrap;gap:6px}.codeup-hardware-item{appearance:none;font-size:11px;font-weight:600;color:var(--text-secondary, #c4ccd8);background:var(--color-bg-elevated, rgba(255,255,255,.06));border:1px solid var(--border-subtle, rgba(128,140,160,.35));border-radius:999px;padding:4px 10px;cursor:pointer;transition:border-color .15s,color .15s}.codeup-hardware-item:hover{border-color:#e57026;color:#e57026}.codeup-hardware-hint{font-size:10px;line-height:1.5;color:var(--text-disabled, #7a828f);margin-top:6px}.codeup-share-mask{position:fixed;inset:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px}.codeup-share-pop{background:var(--color-bg-elevated, #161b28);border:1px solid var(--color-border, #2a3242);border-radius:16px;padding:22px 26px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 18px 50px #00000073;max-width:320px}.codeup-share-title{font-size:15px;font-weight:700;color:var(--text-primary, #fff)}.codeup-share-qr{background:#fff;border-radius:10px;padding:10px;line-height:0}.codeup-share-qr svg{width:168px;height:168px;display:block}.codeup-share-hint{font-size:12px;line-height:1.6;color:var(--text-secondary, #b8c0cc);text-align:center}.codeup-share-close{appearance:none;border:1px solid var(--border-subtle, rgba(128,140,160,.4));background:transparent;color:var(--text-primary, #fff);border-radius:8px;padding:6px 22px;font-size:13px;cursor:pointer}.codeup-share-close:hover{border-color:#e57026;color:#e57026}[data-theme=kaiwu] .codeup-ws-tab{color:#5a6472}[data-theme=kaiwu] .codeup-ws-tab:hover{color:#1a1d29}[data-theme=kaiwu] .codeup-ws-tab.is-active{background:#fff;color:#e57026}[data-theme=azure] .codeup-ws-tab{color:#27475e}[data-theme=azure] .codeup-ws-tab.is-active{background:#e3f0fb;color:#e57026}[data-theme=bamboo] .codeup-ws-tab{color:#23503a}[data-theme=bamboo] .codeup-ws-tab.is-active{background:#e2f3e7;color:#e57026}[data-theme=kaiwu] .codeup-ws-soon{color:#5a6472}[data-theme=kaiwu] .codeup-sprite-name{color:#1a1d29;background:#fff}[data-theme=kaiwu] .codeup-sprite-card,[data-theme=kaiwu] .codeup-sprite-add{background:#fff;border-color:#b8c0cc}[data-theme=kaiwu] .codeup-sprite-thumb{background:#e8efff;color:#4f6ef7}[data-theme=kaiwu] .codeup-sprite-cardname{color:#5a6472}[data-theme=kaiwu] .codeup-sprite-card.is-active .codeup-sprite-cardname{color:#1a1d29}[data-theme=kaiwu] .codeup-hardware-panel{background:#00000008}[data-theme=kaiwu] .codeup-hardware-item{background:#fff;color:#444b57}[data-theme=kaiwu] .codeup-share-pop{background:#fff;border-color:#d9dee5}[data-theme=kaiwu] .codeup-share-title{color:#1a1d29}[data-theme=kaiwu] .codeup-share-hint{color:#5a6472}[data-theme=kaiwu] .codeup-share-close{color:#1a1d29}.codeup-ws-page-lib{overflow-y:auto;overflow-x:hidden}.codeup-lib{display:flex;flex-direction:column;gap:14px;padding:12px 14px 18px;min-height:100%;box-sizing:border-box}.codeup-lib-section{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.codeup-lib-section-grow{flex:1}.codeup-lib-section-title{font-size:12px;font-weight:700;color:var(--text-secondary, #94a3b8);letter-spacing:.04em}.codeup-lib-empty{font-size:12px;color:var(--text-tertiary, #697386);padding:8px 2px}.codeup-lib-strip{display:flex;gap:10px;flex-wrap:wrap}.codeup-lib-mine{display:flex;flex-direction:column;align-items:center;gap:4px;width:92px;padding:8px 6px 6px;border-radius:10px;border:1px solid var(--border-subtle, rgba(128,140,160,.22));background:var(--color-bg-elevated, rgba(255,255,255,.04))}.codeup-lib-mine-thumb{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,#E57026 10%,rgba(255,255,255,.06));display:flex;align-items:center;justify-content:center;overflow:hidden}.codeup-lib-mine-thumb img{width:84%;height:84%;object-fit:contain;pointer-events:none;user-select:none}.codeup-lib-mine-dot{width:18px;height:18px;border-radius:50%;background:#4f6ef7}.codeup-lib-mine-name{font-size:12px;font-weight:700;color:var(--text-primary, #e8edf5);max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codeup-lib-costumes{display:flex;gap:4px;margin-top:2px}.codeup-lib-costume{width:26px;height:26px;border-radius:6px;border:1.5px solid transparent;background:#ffffff0f;padding:0;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center}.codeup-lib-costume img{width:100%;height:100%;object-fit:contain;pointer-events:none}.codeup-lib-costume.is-active{border-color:#e57026;box-shadow:0 0 0 2px #e5702638}.codeup-lib-groups{display:flex;flex-direction:column;gap:14px}.codeup-lib-group{display:flex;flex-direction:column;gap:8px}.codeup-lib-group-label{font-size:12px;font-weight:800;color:#e57026;display:inline-flex;align-items:center;gap:6px}.codeup-lib-group-label:after{content:"";flex:1;height:1px;background:var(--border-subtle, rgba(128,140,160,.18))}.codeup-lib-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}.codeup-lib-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px 8px;border-radius:12px;border:1.5px solid var(--border-subtle, rgba(128,140,160,.22));background:var(--color-bg-elevated, rgba(255,255,255,.04));cursor:pointer;text-align:center;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;font-family:inherit}.codeup-lib-card:hover{transform:translateY(-2px);border-color:#e57026;box-shadow:0 6px 18px #e570262e}.codeup-lib-card.is-hero{border-color:color-mix(in srgb,#E57026 55%,transparent);background:color-mix(in srgb,#E57026 8%,var(--color-bg-elevated, rgba(255,255,255,.04)))}.codeup-lib-card-thumb{position:relative;width:92px;height:92px;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:color-mix(in srgb,#4F6EF7 8%,var(--color-bg-elevated, rgba(255,255,255,.04)))}.codeup-lib-card-thumb img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;user-select:none}.codeup-lib-card-badge{position:absolute;top:0;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e57026;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}.codeup-lib-card-name{font-size:13px;font-weight:800;color:var(--text-primary, #e8edf5)}.codeup-lib-card-tag{font-size:11px;line-height:1.4;color:var(--text-tertiary, #8a93a6);min-height:30px}.codeup-lib-card-add{margin-top:4px;font-size:12px;font-weight:700;color:#e57026}.codeup-sprite-thumb-img{width:86%;height:86%;object-fit:contain;pointer-events:none;user-select:none}.codeup-hwdock{width:100%;flex-shrink:0;margin:6px 4px 2px;padding:8px 10px;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel);box-shadow:0 1px 3px #1a1d290d}.codeup-hwdock-title{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--text);margin-bottom:7px}.codeup-hwdock-list{display:flex;gap:8px;overflow-x:auto}.codeup-hwdock-item{position:relative;flex:1 1 0;min-width:86px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;border:1.5px solid var(--panel-border);border-radius:10px;background:var(--bg);color:var(--text);cursor:pointer;transition:border-color .15s,transform .1s}.codeup-hwdock-item:hover{border-color:#e57026;transform:translateY(-1px)}.codeup-hwdock-icon{color:var(--text-muted);display:flex}.codeup-hwdock-item:hover .codeup-hwdock-icon{color:#e57026}.codeup-hwdock-name{font-size:12px;font-weight:600}.codeup-hwdock-badge{font-size:9.5px;color:var(--text-muted);background:var(--panel-border);border-radius:999px;padding:1px 7px}.codeup-backdrop-mask{position:fixed;inset:0;z-index:1000;background:#0f142380;display:flex;align-items:center;justify-content:center;padding:20px}.codeup-backdrop-pop{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:18px 20px;width:min(680px,94vw);max-height:82vh;overflow:auto;box-shadow:0 18px 50px #00000040}.codeup-backdrop-title{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:700;color:var(--text);margin-bottom:14px}.codeup-backdrop-close{border:none;background:var(--bg);color:var(--text-muted);font-size:18px;line-height:1;width:28px;height:28px;border-radius:8px;cursor:pointer}.codeup-backdrop-close:hover{color:#ef4444}.codeup-backdrop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.codeup-backdrop-card{position:relative;border:2px solid var(--panel-border);border-radius:12px;overflow:hidden;padding:0;background:var(--bg);cursor:pointer;transition:border-color .15s,transform .1s;aspect-ratio:4 / 3;display:flex;flex-direction:column}.codeup-backdrop-card:hover{border-color:#e57026;transform:translateY(-2px)}.codeup-backdrop-card.is-active{border-color:#e57026;box-shadow:0 0 0 3px #e5702638}.codeup-backdrop-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.codeup-backdrop-name{position:absolute;left:0;right:0;bottom:0;z-index:1;font-size:12px;font-weight:600;color:#fff;text-align:center;padding:16px 6px 7px;background:linear-gradient(transparent,#000000b8);pointer-events:none}.codeup-backdrop-card.is-empty .codeup-backdrop-name{position:static;background:var(--panel);color:var(--text);padding:5px 4px}.codeup-backdrop-card.is-empty{align-items:center;justify-content:center;color:var(--text-muted);cursor:default}.codeup-backdrop-soon{font-size:12px;margin:auto;padding:4px 10px;border:1px dashed var(--panel-border);border-radius:999px}.codeup-soundlib{padding:14px 16px}.codeup-soundlib-hint{font-size:12.5px;color:var(--text-muted);margin-bottom:12px;line-height:1.6}.codeup-soundlib-group{margin-bottom:14px}.codeup-soundlib-group:last-child{margin-bottom:0}.codeup-soundlib-group-label{font-size:12.5px;font-weight:800;color:#c264b0;margin:2px 2px 8px;display:flex;align-items:center;gap:8px}.codeup-soundlib-group-label:after{content:"";flex:1;height:1px;background:var(--panel-border)}.codeup-soundlib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.codeup-soundlib-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1.5px solid var(--panel-border);border-radius:10px;background:var(--panel);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.codeup-soundlib-item:hover{border-color:#c264b0;background:#cf63cf14}.codeup-soundlib-item svg{color:#c264b0;flex-shrink:0}[data-theme=kaiwu] .codeup-hwdock,[data-theme=kaiwu] .codeup-hwdock-item,[data-theme=kaiwu] .codeup-soundlib-item,[data-theme=kaiwu] .codeup-backdrop-pop,[data-theme=kaiwu] .codeup-backdrop-card{background:#fff}[data-theme=kaiwu] .codeup-hwdock-item{background:#f2f4f8}[data-theme=kaiwu] .codeup-hwdock-title,[data-theme=kaiwu] .codeup-backdrop-title,[data-theme=kaiwu] .codeup-hwdock-name,[data-theme=kaiwu] .codeup-soundlib-item,[data-theme=kaiwu] .codeup-backdrop-card.is-empty .codeup-backdrop-name{color:#1a1d29}[data-theme=kaiwu] .codeup-hwdock-icon,[data-theme=kaiwu] .codeup-soundlib-hint,[data-theme=kaiwu] .codeup-hwdock-badge,[data-theme=kaiwu] .codeup-backdrop-close,[data-theme=kaiwu] .codeup-backdrop-soon{color:#5a6178}.codeup-editor{background:var(--color-bg-terminal, #1A2332)}[data-theme=kaiwu] .codeup-editor{background:#f2f4f8;color:#3a4254}[data-theme=azure] .codeup-editor{background:#e9f3fc;color:#26435c}[data-theme=bamboo] .codeup-editor{background:#eaf6ec;color:#274e38}[data-theme=azure] .codeup-phys-panel,[data-theme=azure] .codeup-sprite-card,[data-theme=azure] .codeup-sprite-add,[data-theme=azure] .codeup-stage-switch{background:#eaf3fc;border-color:#bbd3ea}[data-theme=azure] .codeup-sprite-card.is-active{border-color:#e57026}[data-theme=azure] .codeup-hwdock{background:var(--color-bg-card, #E9F3FC)}[data-theme=bamboo] .codeup-phys-panel,[data-theme=bamboo] .codeup-sprite-card,[data-theme=bamboo] .codeup-sprite-add,[data-theme=bamboo] .codeup-stage-switch{background:#eaf6ec;border-color:#bbdbc4}[data-theme=bamboo] .codeup-sprite-card.is-active{border-color:#e57026}[data-theme=bamboo] .codeup-hwdock{background:var(--color-bg-card, #EAF6EC)}[data-theme=kaiwu] .codeup-python-code{color:#1a2332!important}.codeup-backdrop-section{margin-bottom:14px}.codeup-backdrop-section:last-child{margin-bottom:0}.codeup-backdrop-group-label{font-size:12.5px;font-weight:700;color:var(--text-muted);margin:4px 2px 8px;display:flex;align-items:center;gap:8px}.codeup-backdrop-group-label:after{content:"";flex:1;height:1px;background:var(--panel-border)}.codeup-ai-entry{display:inline-flex;align-items:center;gap:6px;padding:3px 12px 3px 8px;border:none;border-radius:999px;background:#e57026;color:#fff;font-weight:700;font-size:13px;line-height:22px;cursor:pointer;box-shadow:inset 0 1px #fff3;transition:background .15s,box-shadow .15s;flex:0 0 auto}.codeup-ai-entry:hover{background:#d2621f;box-shadow:0 2px 8px #e5702647}.codeup-ai-entry.is-active{background:#c95a1b}.codeup-ai-entry-ico{width:18px;height:18px;border-radius:50%;background:#ffffff47;display:flex;align-items:center;justify-content:center;position:relative;flex:0 0 auto}.codeup-ai-entry-dot{width:7px;height:7px;border-radius:50%;background:#8bfb8b;box-shadow:0 0 6px #8bfb8b}.codeup-ai-entry-sub{font-weight:500;font-size:11px;opacity:.92}.codeup-user-entry{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;border:1px solid var(--panel-border, rgba(120, 130, 150, .3));background:var(--panel, #fff);color:var(--text-secondary, #6b7180);font-size:12px;line-height:20px;cursor:pointer;flex:0 0 auto;transition:border-color .15s,color .15s}.codeup-user-entry:hover{border-color:#e57026;color:#e57026}.codeup-user-entry.is-logged{color:#e57026;border-color:#e5702673;background:#e570260f}.codeup-ai-panel-anchor{position:fixed;right:16px;top:60px;z-index:160}.codeup-login-mask{position:fixed;inset:0;background:#0f141e73;display:flex;align-items:center;justify-content:center;grid-column:1 / -1;grid-row:1 / -1;z-index:2000}.codeup-login-pop{width:min(420px,calc(100vw - 48px));background:#1f2a3c;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px 24px 20px;box-shadow:0 12px 40px #00000073;text-align:center}.codeup-login-pop .codeup-share-title{font-size:18px;font-weight:700;margin-bottom:12px;color:#f5f7fa}.codeup-login-pop .codeup-share-hint{font-size:13px;line-height:1.7;color:#b8c2d4;margin-bottom:18px}.codeup-login-pop .codeup-share-close{color:#f5f7fa;border-color:#ffffff2e;background:#ffffff0f}.codeup-login-pop .codeup-share-close:hover{border-color:#e57026;color:#f59e4b}.codeup-myworks-pop{width:min(520px,calc(100vw - 48px));max-height:72vh;display:flex;flex-direction:column}.codeup-myworks-list{overflow-y:auto;margin-bottom:14px;min-height:80px;text-align:left}.codeup-myworks-empty{font-size:13px;line-height:1.8;color:#b8c2d4;text-align:center;padding:28px 12px;white-space:pre-line}.codeup-myworks-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff0a}.codeup-myworks-meta{flex:1;min-width:0}.codeup-myworks-name{font-size:13px;font-weight:600;color:#f5f7fa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codeup-myworks-time{font-size:11px;color:#8c96a8;margin-top:2px}.codeup-myworks-actions{display:flex;gap:6px;flex-shrink:0}.codeup-myworks-btn{font-size:12px;padding:4px 12px;border-radius:8px;color:#f5f7fa;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;white-space:nowrap}.codeup-myworks-btn:hover{border-color:#e57026;color:#f59e4b}.codeup-myworks-btn-del:hover{border-color:#d9534f;color:#ff8080}.codeup-myworks-rename{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.codeup-myworks-rename-input{width:100%;font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid #E57026;background:#ffffff1a;color:#f5f7fa;outline:none}.codeup-myworks-rename-input::placeholder{color:#8c96a8}.codeup-myworks-rename-err{font-size:11.5px;color:#ff8080}.codeup-myworks-btn-ok{border-color:#e57026;color:#f59e4b}.codeup-myworks-btn-ok:hover{background:#e570262e}.codeup-role-entry{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid #E57026;background:#e57026;color:#fff;font-weight:700;font-size:12.5px;line-height:20px;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #fff3;transition:background .15s,border-color .15s,box-shadow .15s}.codeup-role-entry:hover{border-color:#d2621f;background:#d2621f;box-shadow:0 2px 8px #e5702647}.codeup-role-entry-dot{width:8px;height:8px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #ffffff59}.codeup-role-pop{width:640px;max-width:calc(100vw - 48px)}.codeup-role-brand{display:flex;justify-content:center;margin:-2px 0 10px}.codeup-role-brand svg{width:300px;height:auto;display:block}@media (max-width: 560px){.codeup-role-brand svg{width:220px}}.codeup-role-pop,.codeup-role-hub{--panel: rgba(255, 255, 255, .06);--panel-border: rgba(255, 255, 255, .14);--text-primary: #F5F7FA;--text-secondary: #9aa4b5}.codeup-role-name-label{font-size:12.5px;font-weight:700;color:#e57026;margin:4px 2px 6px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.codeup-role-name-req{font-size:11px;font-weight:400;color:#9aa4b5}.codeup-role-school-bar{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid rgba(139,92,246,.45);background:#8b5cf61f;margin-bottom:12px}.codeup-role-school-bar-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.codeup-role-school-bar-text b{font-size:13px;color:#f5f7fa;white-space:normal}.codeup-role-school-bar-text span{font-size:11.5px;line-height:1.5;color:#b8c0cc;white-space:normal}.codeup-role-school-bar>button{flex:0 0 auto;width:auto;white-space:nowrap;display:inline-block}.codeup-role-school-bar.is-member{border-color:#12b76a73;background:#12b76a1f}.codeup-role-joincode{color:#ffb84d;font-size:14px;letter-spacing:2px}.codeup-role-joincode-tip{margin:6px 0 0;font-size:11px;line-height:1.5}.codeup-role-pending-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid rgba(229,112,38,.4);background:#e570261a;margin-bottom:10px}.codeup-role-pending-card b{font-size:13.5px;color:#f5f7fa}.codeup-role-pending-card span{font-size:12px;line-height:1.55;color:#b8c0cc}.codeup-role-invite-row{margin:-4px 0 10px}.codeup-role-school-link{color:#a78bfa;font-weight:700}.codeup-role-join>.codeup-savename-input{margin-bottom:8px;width:100%;box-sizing:border-box}.codeup-role-switch-btn{margin-left:auto;flex:0 0 auto;padding:5px 12px;font-size:12.5px;font-weight:700;color:#ffb84d;background:#e5702624;border:1px solid rgba(229,112,38,.65);border-radius:8px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.codeup-role-switch-btn:hover{background:#e570264d;border-color:#e57026}.codeup-role-locked-tag{margin-left:auto;flex:0 0 auto;padding:5px 12px;font-size:12.5px;font-weight:700;color:#7ef0b0;background:#12b76a29;border:1px solid rgba(18,183,106,.6);border-radius:8px;white-space:nowrap;cursor:default}.codeup-role-join-row .codeup-file-menu-item{width:auto;flex:0 0 auto;white-space:nowrap;text-align:center;margin:0;align-self:center}.codeup-role-join-row .codeup-savename-input{flex:1 1 auto;min-width:0;width:auto;margin:0}.codeup-role-pop .codeup-savename-input,.codeup-role-hub .codeup-savename-input{color:#1f2430}.codeup-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 12px}.codeup-role-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:12px 14px;border-radius:12px;border:1.5px solid var(--panel-border, rgba(120, 130, 150, .35));background:var(--panel, rgba(255, 255, 255, .06));color:var(--text-primary, #F5F7FA);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.codeup-role-card:hover{transform:translateY(-1px)}.codeup-role-card.is-active{border-color:var(--rc, #E57026);box-shadow:0 0 0 2px color-mix(in srgb,var(--rc, #E57026) 25%,transparent)}.codeup-role-card-dot{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;color:#fff;font-size:15px;flex:none}.codeup-role-card-name{font-size:14.5px;font-weight:700}.codeup-role-card-desc{font-size:11.5px;line-height:1.55;color:var(--text-secondary, #9aa4b5)}.codeup-role-name-input{margin-top:2px}.codeup-role-hub{width:720px;max-width:calc(100vw - 48px);display:flex;flex-direction:column}.codeup-role-hub-head{display:flex;align-items:center;gap:10px;margin:10px 0 6px}.codeup-role-hub-badge{color:#fff;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px;white-space:nowrap}.codeup-role-hub-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text-primary, #F5F7FA);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codeup-role-hub-body{overflow-y:auto;max-height:min(56vh,520px);padding:4px 2px;display:flex;flex-direction:column;gap:10px}.codeup-role-notice{font-size:12.5px;color:#e57026;background:#e570261a;border:1px solid rgba(229,112,38,.35);border-radius:8px;padding:6px 12px}.codeup-role-tip{font-size:12px;line-height:1.7;color:var(--text-secondary, #9aa4b5);white-space:pre-line}.codeup-role-section-title{font-size:13px;font-weight:700;color:var(--text-primary, #F5F7FA);margin-top:4px}.codeup-role-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.codeup-role-stat{border:1px solid var(--panel-border, rgba(120, 130, 150, .3));border-radius:10px;padding:10px 6px;text-align:center;background:var(--panel, rgba(255, 255, 255, .05))}.codeup-role-stat-num{font-size:22px;font-weight:800;color:#e57026;line-height:1.2}.codeup-role-stat-label{font-size:11.5px;color:var(--text-secondary, #9aa4b5);margin-top:2px}.codeup-role-feature-list{display:flex;flex-direction:column;gap:8px;margin:6px 0}.codeup-role-feature{display:flex;gap:10px;align-items:flex-start}.codeup-role-feature-text{font-size:12.5px;line-height:1.6;color:var(--text-secondary, #b8c0cc)}.codeup-role-feature-text b{color:var(--text-primary, #F5F7FA);margin-right:6px}.codeup-role-join{display:flex;flex-direction:column;gap:10px;align-items:stretch}.codeup-role-join-row{display:flex;gap:8px}.codeup-role-code-input{flex:1;text-transform:uppercase;letter-spacing:2px;font-weight:700}.codeup-role-join-or{text-align:center;font-size:12px;color:var(--text-secondary, #8C96A8)}.codeup-role-class-card,.codeup-role-hw-item{border:1px solid var(--panel-border, rgba(120, 130, 150, .3));border-radius:12px;padding:10px 12px;background:var(--panel, rgba(255, 255, 255, .05));display:flex;flex-direction:column;gap:6px}.codeup-role-class-name{font-size:14px;font-weight:700;color:var(--text-primary, #F5F7FA)}.codeup-role-class-meta,.codeup-role-hw-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--text-secondary, #9aa4b5)}.codeup-role-class-meta b{color:#e57026;letter-spacing:1px}.codeup-role-class-actions{display:flex;flex-wrap:wrap;gap:6px}.codeup-role-hw-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.codeup-role-hw-title{font-size:13.5px;font-weight:700;color:var(--text-primary, #F5F7FA)}.codeup-role-hw-title-btn{background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit}.codeup-role-hw-title-btn:hover{color:#e57026}.codeup-role-hw-theme{font-size:11px;padding:1px 8px;border-radius:999px;background:#4f6ef724;color:var(--codeup-blue, #4F6EF7);border:1px solid rgba(79,110,247,.35);white-space:nowrap}.codeup-role-hw-req{font-size:12.5px;line-height:1.65;color:var(--text-secondary, #b8c0cc);white-space:pre-line;border-left:3px solid rgba(229,112,38,.5);padding-left:8px}.codeup-role-badge{font-size:11px;padding:1px 9px;border-radius:999px;white-space:nowrap;margin-left:auto}.codeup-role-badge.is-todo{background:#e5702624;color:#e57026;border:1px solid rgba(229,112,38,.4)}.codeup-role-badge.is-ok{background:#12b76a24;color:var(--codeup-green, #12B76A);border:1px solid rgba(18,183,106,.4)}.codeup-role-badge.is-late{background:#d9534f24;color:#d9534f;border:1px solid rgba(217,83,79,.4)}.codeup-role-hw-form{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;border:1px dashed rgba(229,112,38,.5);background:#e570260f}.codeup-role-hw-req-input{width:100%;font-size:12.5px;padding:6px 10px;border-radius:8px;border:1px solid var(--panel-border, rgba(120, 130, 150, .4));background:#ffffff14;color:var(--text-primary, #F5F7FA);outline:none;resize:vertical;font-family:inherit}.codeup-role-hw-form-row{display:flex;gap:8px;flex-wrap:wrap}.codeup-role-hw-select{flex:1;min-width:140px}.codeup-role-hw-date{flex:1;min-width:140px;color-scheme:light dark}.codeup-role-sub-list{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;background:#4f6ef70f;border:1px solid var(--panel-border, rgba(120, 130, 150, .25))}.codeup-role-sub-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 2px;border-bottom:1px solid var(--panel-border, rgba(120, 130, 150, .2))}.codeup-role-sub-item:last-child{border-bottom:none}.codeup-role-class-switch{display:flex;gap:6px;flex-wrap:wrap}.codeup-role-class-tab{font-size:12px;padding:3px 12px;border-radius:999px;border:1px solid var(--panel-border, rgba(120, 130, 150, .4));background:var(--panel, rgba(255, 255, 255, .06));color:var(--text-secondary, #b8c0cc);cursor:pointer}.codeup-role-class-tab.is-active{border-color:#e57026;color:#e57026;background:#e570261f}.codeup-stage-switch{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;border:1px solid var(--panel-border, rgba(120, 130, 150, .3));background:var(--panel, #fff);color:var(--text-secondary, #6b7180);font-size:12px;line-height:18px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.codeup-stage-switch:hover{border-color:#e57026;color:#e57026}.codeup-stage-switch.is-on{border-color:#e57026;color:#e57026;background:#e5702614}.codeup-stage-grid{position:absolute;inset:0;pointer-events:none;z-index:6;background-image:linear-gradient(to right,rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.28) 1px,transparent 1px);background-size:calc(100% / 12) calc(100% / 9);background-position:calc(50% + 100% / 24) calc(50% + 100% / 18),calc(50% + 100% / 24) calc(50% + 100% / 18)}.codeup-stage-grid-axis{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ff965ad9}.codeup-stage-grid:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#ff965ad9}.codeup-stage-area.codeup-stage-fullscreen{position:fixed;inset:0;z-index:200;background:var(--color-bg-deep, #0e1626);padding:20px;justify-content:center;gap:10px;box-shadow:none}.codeup-stage-area.codeup-stage-fullscreen .codeup-stage-wrap{width:min(92vw,calc((100vh - 120px) * 4 / 3),960px);height:auto;aspect-ratio:4 / 3;max-width:960px;flex:0 0 auto}.codeup-stage-area.codeup-stage-fullscreen .codeup-stage-wrap canvas{width:100%!important;height:100%!important}.codeup-stage-area.codeup-stage-fullscreen .codeup-stage-toolbar{position:fixed;top:56px;right:20px;z-index:210;width:auto;gap:8px}.codeup-stage-area.codeup-stage-fullscreen .codeup-stage-toolbar .codeup-stage-switch{background:#ffffffeb;color:#1f2733;border-color:#ffffffa6;font-weight:600;box-shadow:0 2px 10px #00000059}.codeup-stage-area.codeup-stage-fullscreen .codeup-stage-toolbar .codeup-stage-switch:hover{border-color:#e57026;color:#e57026}.codeup-stage-area.codeup-stage-fullscreen .codeup-stage-toolbar .codeup-stage-switch.is-on{background:#e57026;border-color:#e57026;color:#fff}.codeup-phys-panel{margin:2px 6px 0;padding:8px 10px;border:1px solid var(--border-subtle, rgba(128,140,160,.3));border-radius:10px;background:var(--color-bg-elevated, rgba(255,255,255,.04));display:flex;flex-direction:column;gap:6px}.codeup-phys-panel.is-disabled{opacity:.62}.codeup-phys-title{font-size:12px;font-weight:700;color:var(--text-primary, #e8edf5);display:flex;align-items:center;gap:6px}.codeup-phys-dot{width:8px;height:8px;border-radius:50%;background:#e57026;box-shadow:0 0 6px #e570268c;flex:0 0 auto}.codeup-phys-panel.is-disabled .codeup-phys-dot{background:var(--text-secondary, #94a3b8);box-shadow:none}.codeup-phys-hint{font-size:11px;color:var(--text-secondary, #94a3b8);padding:2px 0 4px}.codeup-phys-row{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary, #b8c0cc)}.codeup-phys-label{flex:0 0 52px;white-space:nowrap}.codeup-phys-slider{flex:1 1 auto;min-width:0;height:4px;-webkit-appearance:none;appearance:none;background:#808ca047;border-radius:4px;outline:none;cursor:pointer}.codeup-phys-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#e57026;border:2px solid #fff;box-shadow:0 1px 4px #00000059;cursor:pointer}.codeup-phys-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#e57026;border:2px solid #fff;box-shadow:0 1px 4px #00000059;cursor:pointer}.codeup-phys-value{flex:0 0 40px;text-align:right;font-family:JetBrains Mono,Consolas,monospace;font-size:11px;color:var(--text-primary, #e8edf5)}.codeup-phys-mass{margin-top:2px;padding-top:6px;border-top:1px dashed var(--border-subtle, rgba(128,140,160,.3));font-size:12px;font-weight:700;color:#e57026;font-family:JetBrains Mono,Consolas,monospace}.ch-stage-host{position:relative;width:100%}.ch-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}.ch-zone-dash{animation:ch-dash-move 1.2s linear infinite}.ch-pulse-ring{animation:ch-pulse 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ch-beam{animation:ch-beam-fade 1.4s ease-in-out infinite}@keyframes ch-dash-move{to{stroke-dashoffset:-26}}@keyframes ch-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.45;transform:scale(1.07)}}@keyframes ch-beam-fade{0%,to{opacity:.55}50%{opacity:.15}}.ch-hud{position:absolute;top:6px;left:6px;right:6px;z-index:20;padding:6px 10px;border-radius:10px;background:#0d1424d1;backdrop-filter:blur(4px);color:#f4f6fa;font-size:12px;line-height:1.5;pointer-events:none}.ch-hud-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ch-hud-level{font-weight:800;color:#ffb27a;white-space:nowrap}.ch-hud-count{color:#cdd6e4;white-space:nowrap}.ch-hud-timer{color:#9fb0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.ch-hud-exit{margin-left:auto;pointer-events:auto;border:1px solid rgba(229,112,38,.7);background:#e5702629;color:#ffd9c0;border-radius:6px;padding:2px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.ch-hud-exit:hover{background:#e5702652}.ch-hud-tasks{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:3px}.ch-task{display:inline-flex;align-items:center;gap:4px;color:#aebbcf;white-space:nowrap}.ch-task-check{color:#6b7688;font-weight:800}.ch-task.is-done{color:#8fdca8}.ch-task.is-done .ch-task-check{color:#34c77b}.ch-hud-meta{margin-top:3px}.ch-hud-coord{font-variant-numeric:tabular-nums;color:#cdd6e4}.ch-hud-coord b{color:#fff}.ch-hud-battery{display:inline-flex;align-items:center;gap:6px;color:#cdd6e4}.ch-hud-battery b{color:#fff;font-variant-numeric:tabular-nums}.ch-hud-battery.is-low,.ch-hud-battery.is-low b{color:#ff7a59}.ch-battery-bar{width:72px;height:8px;border-radius:4px;background:#ffffff29;overflow:hidden;display:inline-block}.ch-battery-fill{display:block;height:100%;background:linear-gradient(90deg,#34c77b,#ffb020 70%,#ff7a59);transition:width .25s ease}.ch-battery-warn{color:#ff7a59;font-weight:700;animation:ch-warn-blink .9s ease-in-out infinite}@keyframes ch-warn-blink{0%,to{opacity:1}50%{opacity:.45}}.ch-map-mask{position:fixed;inset:0;z-index:200;background:#090e1ac7;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.ch-map-panel{width:min(960px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--color-bg-elevated, #ffffff);color:var(--text, #1a1d29);border-radius:16px;padding:22px 26px;box-shadow:0 24px 64px #00000073;border-top:4px solid #e57026}.ch-map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ch-map-title{font-size:24px;font-weight:900;color:#e57026;letter-spacing:1px}.ch-map-subtitle{margin-top:4px;font-size:13px;color:var(--text-secondary, #6b7180)}.ch-map-close{flex-shrink:0;border:none;background:transparent;color:var(--text-secondary, #6b7180);cursor:pointer;padding:6px;border-radius:8px}.ch-map-close:hover{background:#808ca029;color:#e57026}.ch-scene-tabs{display:flex;gap:10px;margin:18px 0 16px;flex-wrap:wrap}.ch-scene-tab{--sc: #e57026;flex:1 1 150px;text-align:left;border:1.5px solid var(--border-subtle, rgba(128, 140, 160, .3));border-radius:10px;padding:10px 12px;background:transparent;color:var(--text, #1a1d29);cursor:pointer;transition:border-color .15s,box-shadow .15s}.ch-scene-tab.is-active{border-color:var(--sc);box-shadow:0 0 0 2px color-mix(in srgb,var(--sc) 25%,transparent)}.ch-scene-tab.is-locked{opacity:.5;cursor:not-allowed}.ch-scene-tab-name{display:block;font-weight:800;font-size:14px}.ch-scene-tab.is-active .ch-scene-tab-name{color:var(--sc)}.ch-scene-tab-sub{display:block;font-size:12px;color:var(--text-secondary, #6b7180);margin-top:2px}.ch-level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.ch-level-card{--sc: #e57026;position:relative;text-align:left;border:1.5px solid var(--border-subtle, rgba(128, 140, 160, .3));border-radius:12px;padding:14px;background:var(--panel-2, #f7f8fa);color:var(--text, #1a1d29);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.ch-level-card:not(.is-locked):hover{transform:translateY(-3px);border-color:var(--sc);box-shadow:0 8px 20px color-mix(in srgb,var(--sc) 22%,transparent)}.ch-level-card.is-locked{cursor:not-allowed;background:var(--color-bg-elevated, rgba(128, 140, 160, .12));border-color:var(--border-subtle, rgba(128, 140, 160, .25))}.ch-level-card.is-locked .ch-level-card-title,.ch-level-card.is-locked .ch-level-card-goal{color:var(--text-muted, #5a6178)}.ch-level-card.is-locked .ch-level-card-foot{color:var(--text-muted, #8a94a3)}.ch-level-card.is-locked .ch-level-card-top{color:var(--text-muted, #9aa1af)}.ch-level-card.is-locked .ch-level-badge{background:#808ca02e;color:var(--text-muted, #5a6178)}.ch-level-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--sc)}.ch-level-badge{font-weight:900;font-size:15px;background:color-mix(in srgb,var(--sc) 14%,transparent);border-radius:6px;padding:1px 8px}.ch-level-card-title{margin-top:8px;font-size:16px;font-weight:800}.ch-level-card-goal{margin-top:4px;font-size:12px;line-height:1.6;color:var(--text-secondary, #6b7180);min-height:38px}.ch-level-card-foot{margin-top:8px;font-size:12px;font-weight:700;color:var(--sc)}.ch-level-connector{display:none}.ch-scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 18px}.ch-scene-card{--sc: #e57026;position:relative;text-align:left;border:1.5px solid var(--border-subtle, rgba(128, 140, 160, .3));border-radius:10px;padding:9px 12px;background:transparent;color:var(--text, #1a1d29);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.ch-scene-card:not(.is-locked):hover{border-color:var(--sc)}.ch-scene-card.is-active{border-color:var(--sc);background:color-mix(in srgb,var(--sc) 8%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--sc) 22%,transparent)}.ch-scene-card.is-locked{cursor:not-allowed;background:var(--color-bg-elevated, rgba(128, 140, 160, .1));border-color:var(--border-subtle, rgba(128, 140, 160, .25))}.ch-scene-card.is-locked .ch-scene-card-name,.ch-scene-card.is-locked .ch-scene-card-sub{color:var(--text-muted, #5a6178)}.ch-scene-card-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sc);margin-right:7px;vertical-align:1px}.ch-scene-card.is-locked .ch-scene-card-dot{background:var(--text-muted, #9aa1af)}.ch-scene-card-name{font-weight:800;font-size:13.5px}.ch-scene-card.is-active .ch-scene-card-name{color:var(--sc)}.ch-scene-card-sub{display:block;font-size:11.5px;color:var(--text-secondary, #6b7180);margin-top:3px;padding-left:15px;white-space:nowrap}.ch-section-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--text, #1a1d29);margin:18px 0 10px}.ch-section-label-works{margin-top:22px}.ch-section-bar{width:4px;height:15px;border-radius:2px;display:inline-block}.ch-works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.ch-work-card{--sc: #e57026;text-align:left;border:1.5px dashed var(--border-subtle, rgba(128, 140, 160, .45));border-radius:12px;padding:14px;background:var(--color-bg-elevated, #f7f8fa);color:var(--text, #1a1d29)}.ch-work-card.is-locked .ch-work-card-title,.ch-work-card.is-locked .ch-work-card-goal{color:var(--text-muted, #5a6178)}.ch-work-card.is-locked .ch-work-card-icon{color:var(--text-secondary, #9aa1af)}.ch-work-card-title{margin-top:8px;font-size:15px;font-weight:800}.ch-work-card-goal{margin-top:4px;font-size:12px;line-height:1.6;color:var(--text-secondary, #6b7180);min-height:38px}@media (max-width: 720px){.ch-scene-grid{grid-template-columns:repeat(2,1fr)}.ch-map-panel{padding:16px 14px}.ch-map-title{font-size:20px}}.ch-map-hint{margin-top:18px;padding:10px 14px;border-radius:8px;background:#e5702614;color:var(--text-secondary, #6b7180);font-size:12px;line-height:1.7}.ch-result-mask{position:fixed;inset:0;z-index:220;background:#090e1ab8;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.ch-result-panel{width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:var(--color-bg-elevated, #ffffff);color:var(--text, #1a1d29);border-radius:16px;padding:24px 28px;text-align:center;box-shadow:0 24px 64px #00000073;border-top:4px solid #e57026}.ch-result-title{font-size:24px;font-weight:900;color:#e57026}.ch-result-title.is-fail{color:#ef4444}.ch-result-stars{margin:14px 0 4px;display:flex;justify-content:center;gap:10px}.ch-result-star.is-lit{animation:ch-star-pop .5s ease-out both}@keyframes ch-star-pop{0%{transform:scale(.2) rotate(-30deg);opacity:0}70%{transform:scale(1.25) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.ch-result-level{font-size:14px;font-weight:700;color:var(--text-secondary, #6b7180)}.ch-result-reason{margin-top:10px;padding:8px 12px;border-radius:8px;background:#ef444414;color:#d32f2f;font-size:13px;line-height:1.6}.ch-result-stats{margin-top:12px;display:flex;justify-content:center;gap:18px;font-size:13px;color:var(--text-secondary, #6b7180);flex-wrap:wrap}.ch-result-stats b{color:var(--text, #1a1d29);font-variant-numeric:tabular-nums}.ch-result-rules{margin:14px 0 6px;text-align:left;display:flex;flex-direction:column;gap:10px}.ch-rule-group-title{font-size:13px;font-weight:800;color:#e57026;margin-bottom:4px}.ch-rule-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 0;color:var(--text-secondary, #6b7180)}.ch-rule-mark{font-weight:900}.ch-rule-item.is-pass{color:#1a7f4b}.ch-rule-item.is-pass .ch-rule-mark{color:#34c77b}.ch-rule-item.is-fail .ch-rule-mark{color:#d32f2f}.ch-result-actions{margin-top:16px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.ch-btn{border-radius:8px;padding:8px 18px;font-size:14px;font-weight:700;cursor:pointer;border:1.5px solid transparent;transition:transform .1s,box-shadow .15s}.ch-btn:active{transform:scale(.97)}.ch-btn-primary{background:#e57026;color:#fff;border-color:#e57026}.ch-btn-primary:hover{background:#d0611d}.ch-btn-ghost{background:transparent;color:var(--text, #1a1d29);border-color:var(--border-subtle, rgba(128, 140, 160, .45))}.ch-btn-ghost:hover{border-color:#e57026;color:#e57026}.codeup-root{display:flex;flex-direction:column;height:100vh;overflow:hidden}.codeup-root>.codeup-workbench{flex:1 1 auto;height:auto;min-height:0}.codeup-mode-entries{flex:0 0 auto;display:flex;flex-direction:column;gap:5px;padding:8px 8px 4px}.codeup-sec{position:relative}.codeup-sec-head{position:relative;display:block;width:100%;text-align:left;border:1px solid var(--panel-border, #e8ebf0);border-radius:10px;background:var(--panel, #fff);color:var(--text, #1a1d29);padding:6px 10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.codeup-sec-head:hover{border-color:var(--color-primary, #4f6ef7);box-shadow:0 2px 8px #0f2f471a}.codeup-sec-head-row{display:flex;align-items:center;gap:5px;color:var(--color-primary, #4f6ef7)}.codeup-sec-head-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.codeup-sec-head-name{font-size:12px;font-weight:600;line-height:1.3;color:var(--text, #1a1d29);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codeup-sec-head-sub{font-size:10.5px;line-height:1.3;color:var(--text-muted, #5a6178);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.codeup-sec-head--main{border-color:var(--color-accent, #e57026);background:var(--color-accent-dim, #fdeee3);padding-top:13px}.codeup-sec-head--main .codeup-sec-head-row{color:var(--color-accent, #e57026)}.codeup-sec-head--main.is-active{box-shadow:0 0 0 2px var(--color-accent, #e57026) inset}.codeup-mode-entry-badge{position:absolute;top:-9px;left:10px;z-index:2;font-size:10px;line-height:1;padding:3px 8px;border-radius:999px;background:var(--color-accent, #e57026);color:#fff;font-weight:600;letter-spacing:.5px;pointer-events:none}.codeup-sec-caret{flex:0 0 auto;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-muted, #5a6178);margin-right:0;opacity:.75}.codeup-sec-panel{position:fixed;z-index:9999;margin-top:2px;min-width:220px;border-radius:10px;background:var(--color-bg-elevated, #fff);border:1px solid var(--color-border-bright, #c9d2de);box-shadow:0 10px 28px #0f2f472e;padding:5px;display:flex;flex-direction:column;gap:2px}.codeup-sec-panel:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}.codeup-sec-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;text-align:left;width:100%;box-sizing:border-box}.codeup-sec-item-text{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.codeup-sec-item-name{font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codeup-sec-item-desc{font-size:10.5px;line-height:1.3;color:var(--text-muted, #5a6178);white-space:normal;overflow-wrap:anywhere}button.codeup-sec-item.is-live{border:none;background:transparent;cursor:pointer;color:var(--text, #1a1d29);font:inherit}button.codeup-sec-item.is-live:hover{background:var(--color-accent-dim, #fdeee3)}button.codeup-sec-item.is-live.is-active{box-shadow:0 0 0 1.5px var(--color-accent, #e57026) inset}button.codeup-sec-item.is-live .codeup-sec-item-name{color:var(--color-text-primary, #1a1d29)}.codeup-sec-item.is-soon{cursor:default;color:var(--text-muted, #8a94a3)}.codeup-sec-item.is-soon .codeup-sec-item-name{color:var(--text-muted, #8a94a3);font-weight:500}.codeup-sec-tag{flex:0 0 auto;font-size:10px;line-height:1;padding:3px 7px;border-radius:999px;font-weight:600;letter-spacing:.3px}.codeup-sec-tag.is-live{background:var(--color-accent, #e57026);color:#fff}.codeup-sec-tag.is-soon{background:var(--panel-border, #e8ebf0);color:var(--text-muted, #8a94a3);font-weight:500}.codeup-sec-hint{padding:5px 8px 3px;font-size:11px;color:var(--color-text-secondary, #5a6178);border-top:1px dashed var(--panel-border, #e8ebf0);margin-top:2px}.codeup-mode-entries-divider{margin-top:5px;padding-top:6px;border-top:1px dashed var(--panel-border, #e8ebf0);font-size:11px;color:var(--text-muted, #5a6178);text-align:center;letter-spacing:2px}.codeup-mode-entries~.codeup-palette{flex:1 1 auto;height:auto;min-height:0}.codeup-wb-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 16px 6px;background:var(--color-bg-card, #fff);border-top:1px solid var(--panel-border, #e8ebf0);text-align:center}.codeup-wb-footer-logo{flex:0 0 auto;height:22px;display:inline-flex;align-items:center;color:var(--text, #1a1d29)}.codeup-wb-footer-logo svg{height:22px;width:auto;display:block}.codeup-wb-footer-contact{flex:0 0 auto;height:20px;display:inline-flex;align-items:center}.codeup-wb-footer-contact svg{height:20px;width:auto;display:block}.codeup-wb-footer-lines{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:11.5px;color:var(--text-muted, #5a6178);line-height:1.5}.codeup-wb-footer-copy{color:var(--text, #1a1d29)}.codeup-wb-footer-gap{color:var(--text-muted, #5a6178);opacity:.6}.codeup-wb-footer-link{color:var(--text-muted, #5a6178);text-decoration:none}.codeup-wb-footer-link:hover{color:var(--color-primary, #4f6ef7);text-decoration:underline}@media (max-width: 1100px){.codeup-root{height:auto;min-height:100vh;overflow:visible}.codeup-root>.codeup-workbench{flex:0 0 auto}.codeup-wb-footer{margin-top:8px}}.codeup-savename-pop{width:min(440px,calc(100vw - 48px));max-height:none}.codeup-savename-input{width:100%;box-sizing:border-box;margin:10px 0 4px;padding:9px 12px;font-size:14px;font-family:inherit;color:var(--text, #1A1D29);background:var(--bg-input, #fff);border:1.5px solid var(--border, #D8DCE6);border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.codeup-savename-input:focus{border-color:#e57026;box-shadow:0 0 0 3px #e5702624}.codeup-savename-warn{min-height:18px;font-size:12px;line-height:1.5;color:#d4561e}.codeup-savename-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.codeup-savename-actions .codeup-file-menu-item{width:auto;justify-content:center;min-width:88px;border-radius:8px;cursor:pointer}.codeup-savename-ok{background:#e57026!important;color:#fff!important;border-color:#e57026!important}.codeup-savename-ok:hover{background:#d4631c!important}.codeup-hw-pop{width:min(560px,calc(100vw - 48px));max-height:80vh;display:flex;flex-direction:column}.codeup-hw-tabs{display:flex;gap:8px;margin:12px 0 10px;flex-wrap:wrap}.codeup-hw-tab{display:flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;color:#b8c2d4;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;transition:all .15s}.codeup-hw-tab:hover{border-color:#e57026;color:#f59e4b}.codeup-hw-tab-on{background:#e5702629;border-color:#e57026;color:#f59e4b}.codeup-hw-tab-icon{display:inline-flex;align-items:center}.codeup-hw-status{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#f5f7fa;padding:4px 2px 10px}.codeup-hw-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.codeup-hw-dot-idle{background:#b4bac8}.codeup-hw-dot-searching{background:#f5a623;animation:codeup-hw-blink .8s infinite}.codeup-hw-dot-connecting{background:#1fc7d4;animation:codeup-hw-blink .6s infinite}.codeup-hw-dot-connected{background:#2ebd85;box-shadow:0 0 0 3px #2ebd852e}@keyframes codeup-hw-blink{0%,to{opacity:1}50%{opacity:.25}}.codeup-hw-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.codeup-hw-btn{width:auto;justify-content:center;min-width:132px;padding:8px 14px!important;border:1px solid rgba(255,255,255,.18);border-radius:8px;font-size:13px!important;color:#f5f7fa!important;background:#ffffff0f!important;cursor:pointer}.codeup-hw-btn-primary{border-color:#e57026!important;background:#e57026!important;color:#fff!important}.codeup-hw-btn-primary:hover{background:#d4631c!important}.codeup-hw-progress{height:8px;margin:2px 0 12px;background:#ffffff1a;border-radius:99px;overflow:hidden}.codeup-hw-progress-bar{height:100%;background:linear-gradient(90deg,#e57026,#ff9a55);border-radius:99px;transition:width .26s ease}.codeup-hw-screen{background:#10141f;border-radius:10px;padding:12px 14px;min-height:132px;max-height:200px;overflow-y:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.codeup-hw-screen-line{font-size:12px;line-height:1.7;color:#7be3b0;white-space:pre-wrap;word-break:break-all}.codeup-hw-foot{margin-top:10px;font-size:11.5px;line-height:1.6;color:var(--text-muted, #8A90A2)}.codeup-hwdock-badge-on{background:#2ebd8524!important;color:#1e9e6a!important}[data-theme=hud] .codeup-mode-entry-badge,[data-theme=hud] .codeup-sec-tag.is-live{background:#e57026;color:#fff;font-weight:700}[data-theme=hud] .codeup-sec-head--main{border-color:#e57026;background:#e5702624}[data-theme=hud] .codeup-sec-head--main .codeup-sec-head-row{color:#ff9a55}[data-theme=hud] .codeup-sec-head--main.is-active{box-shadow:0 0 0 2px #e57026 inset}[data-theme=hud] button.codeup-sec-item.is-live:hover{background:#e5702629}[data-theme=hud] button.codeup-sec-item.is-live.is-active{box-shadow:0 0 0 1.5px #e57026 inset}[data-theme=hud] .ch-scene-card.is-locked .ch-scene-card-name,[data-theme=hud] .ch-scene-card.is-locked .ch-scene-card-sub,[data-theme=hud] .ch-level-card.is-locked .ch-level-card-title,[data-theme=hud] .ch-level-card.is-locked .ch-level-card-goal,[data-theme=hud] .ch-level-card.is-locked .ch-level-card-foot{color:#c2cad8}[data-theme=hud] .ch-level-card.is-locked .ch-level-badge{color:#94a3b8;background:#94a3b82e}button.ch-work-card{text-align:left;cursor:pointer;border:1px solid var(--sc, #E57026);border-radius:12px;padding:14px 14px 12px;background:var(--color-bg-elevated, #fff);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;font:inherit}button.ch-work-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #e5702629;border-color:var(--sc, #E57026)}button.ch-work-card .ch-work-card-icon{color:var(--sc, #E57026)}button.ch-work-card .ch-work-card-title{color:var(--color-text-primary, #1A1D29)}button.ch-work-card .ch-work-card-goal{color:var(--color-text-secondary, #5A6178)}button.ch-work-card.is-done .ch-work-card-icon{color:#12b76a}button.ch-work-card.is-done{border-color:#12b76a80}.ch-hud-work{background:#e570261a;border:1px solid rgba(229,112,38,.35);border-radius:10px}.ch-work-tag{display:inline-block;background:#e57026;color:#fff;font-size:11px;font-weight:700;border-radius:6px;padding:2px 8px;margin-right:8px;vertical-align:1px}.ch-hud-work .ch-hud-level{color:var(--color-text-primary, #1A1D29);font-weight:700}.ch-hud-work .ch-hud-exit{background:#e57026;color:#fff;border:none}.ch-hud-work .ch-hud-exit:hover{background:#d3641f}.ch-task-work .ch-task-check{color:#e57026}.ch-task-work{color:var(--color-text-primary, #1A1D29)}[data-theme=hud] .ch-hud-work .ch-hud-level,[data-theme=hud] .ch-task-work{color:#e8edf5}.ch-brief-modal{background:var(--color-bg-elevated, #fff);border-radius:16px;max-width:600px;width:calc(100% - 48px);max-height:84vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000059;overflow:hidden}.ch-brief-head{display:flex;align-items:center;gap:10px;padding:18px 22px 14px;border-bottom:1px solid var(--color-border-bright, rgba(0, 0, 0, .08))}.ch-brief-title{font-size:19px;font-weight:800;color:var(--color-text-primary, #1A1D29)}.ch-brief-body{padding:16px 22px;overflow-y:auto}.ch-brief-sec{margin-bottom:14px}.ch-brief-label{font-size:13px;font-weight:700;color:#e57026;margin-bottom:5px}.ch-brief-text{margin:0;font-size:14px;line-height:1.65;color:var(--color-text-secondary, #5A6178)}.ch-brief-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ch-brief-points li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.55;color:var(--color-text-primary, #1A1D29)}.ch-brief-points .ch-task-check{color:#e57026;flex:none;margin-top:2px}.ch-brief-foot{display:flex;justify-content:flex-end;gap:12px;padding:14px 22px 18px;border-top:1px solid var(--color-border-bright, rgba(0, 0, 0, .08))}.ch-brief-btn{font:inherit;font-size:14px;font-weight:700;border-radius:10px;padding:9px 22px;cursor:pointer;border:1px solid transparent;transition:background .15s ease}.ch-brief-btn--ghost{background:transparent;color:var(--color-text-secondary, #5A6178);border-color:var(--color-border-bright, rgba(0, 0, 0, .18))}.ch-brief-btn--ghost:hover{background:#e5702614}.ch-brief-btn--primary{background:#e57026;color:#fff}.ch-brief-btn--primary:hover{background:#d3641f}[data-theme=hud] .ch-brief-modal{background:#161b28}[data-theme=hud] .ch-brief-points li,[data-theme=hud] .ch-brief-title{color:#e8edf5}[data-theme=hud] .ch-brief-text{color:#94a3b8}[data-theme=hud] .ch-brief-btn--ghost{color:#c2cad8}.cpp-lab{display:flex;flex-direction:column;height:100vh;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;background:#f5f7fa;color:#1f2933;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.cpp-lab *,.cpp-lab *:before,.cpp-lab *:after{box-sizing:border-box}.cpp-lab__loading{padding:48px;text-align:center;color:#6b7280}.cpp-lab__bar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 20px;background:#0f2740;color:#fff;flex:none}.cpp-lab__brand{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:.5px}.cpp-lab__tag{font-size:12px;background:#e57026;padding:2px 8px;border-radius:3px}.cpp-lab__soon{font-size:12px;color:#9fb3c8}.cpp-lab__back{margin-left:6px;font-size:12px;color:#9cc3e8;text-decoration:none;white-space:nowrap}.cpp-lab__back:hover{color:#fff;text-decoration:underline}.cpp-lab__svc-wrap{display:flex;align-items:center;gap:10px}.cpp-lab__engine-badge{font-size:11px;line-height:1;padding:4px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.35);color:#dbe4ee;white-space:nowrap}.cpp-lab__engine-badge.e-mock{color:#ddd6fe;border-color:#8b5cf6;background:#6d28d947}.cpp-lab__engine-badge.e-process-m1{color:#fde68a;border-color:#fde68a99;background:#9a670038}.cpp-lab__engine-badge.e-go-judge{color:#7dd3a8;border-color:#7dd3a899;background:#1a7f4b38}.cpp-lab__svc{font-size:12px;display:flex;align-items:center;gap:8px}.cpp-lab__svc.is-ok{color:#7dd3a8}.cpp-lab__svc.is-bad{color:#ff9b9b}.cpp-lab__retry{background:transparent;border:1px solid rgba(255,255,255,.35);color:inherit;border-radius:3px;padding:1px 8px;font-size:12px;cursor:pointer}.cpp-lab__retry:hover{background:#ffffff1f}.cpp-lab__body{flex:1;display:flex;min-height:0}.cpp-lab__side{width:264px;flex:none;background:#fff;border-right:1px solid #e4e7eb;overflow-y:auto}.cpp-lab__side-title{padding:14px 16px 8px;font-size:12px;color:#7b8794}.cpp-lab__plist{list-style:none;margin:0;padding:0}.cpp-lab__pitem{width:100%;display:flex;align-items:center;gap:8px;text-align:left;background:none;border:none;border-left:3px solid transparent;padding:10px 14px;cursor:pointer;font-size:13px;color:#1f2933}.cpp-lab__pitem:hover{background:#f0f4f8}.cpp-lab__pitem.is-active{background:#eef4fb;border-left-color:#2b6cb0}.cpp-lab__pid{color:#2b6cb0;font-weight:600;font-variant-numeric:tabular-nums}.cpp-lab__ptitle{flex:1}.cpp-lab__diff{font-size:11px;color:#9aa5b1}.cpp-lab__main{flex:1;min-width:0;overflow-y:auto;padding:18px 22px 28px}.cpp-lab__problem{background:#fff;border:1px solid #e4e7eb;border-radius:8px;padding:18px 20px;margin-bottom:16px}.cpp-lab__problem h2{margin:0 0 10px;font-size:18px}.cpp-lab__problem p{margin:6px 0;line-height:1.7;font-size:14px}.cpp-lab__spec,.cpp-lab__sample{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.cpp-lab__spec h4,.cpp-lab__sample h4{margin:0 0 4px;font-size:12px;color:#7b8794;font-weight:600}.cpp-lab__sample pre,.cpp-lab__ce{background:#10233a;color:#d7e3f4;border-radius:6px;padding:10px 12px;font-family:SFMono-Regular,Consolas,Courier New,monospace;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;margin:0}.cpp-lab__limit{margin-top:10px;font-size:12px;color:#9aa5b1}.cpp-lab__editor-wrap{background:#fff;border:1px solid #e4e7eb;border-radius:8px;overflow:hidden}.cpp-lab__editor-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid #e4e7eb;font-size:13px;color:#52606d}.cpp-lab__editor{height:380px}.cpp-lab__btn{border:1px solid #cbd2d9;background:#fff;color:#323f4b;border-radius:5px;padding:5px 14px;font-size:13px;cursor:pointer;margin-left:8px}.cpp-lab__btn:hover:not:disabled{border-color:#2b6cb0;color:#2b6cb0}.cpp-lab__btn:disabled{opacity:.5;cursor:not-allowed}.cpp-lab__btn--primary{background:#e57026;border-color:#e57026;color:#fff}.cpp-lab__btn--primary:hover:not:disabled{background:#d2621b;border-color:#d2621b;color:#fff}.cpp-lab__result{margin-top:14px}.cpp-lab__result-empty{color:#9aa5b1;font-size:13px;padding:6px 2px}.cpp-lab__verdict{font-size:16px;font-weight:700;padding:10px 14px;border-radius:6px;background:#fff;border:1px solid #e4e7eb}.cpp-lab__verdict.v-WA{color:#b54708;background:#fef6ec;border-color:#f4d6b5}.cpp-lab__verdict.v-RE,.cpp-lab__verdict.v-CE,.cpp-lab__verdict.is-error{color:#b42318;background:#fef3f2;border-color:#fecdca}.cpp-lab__verdict.v-TLE{color:#9a6700;background:#fef9c3;border-color:#fde68a}.cpp-lab__verdict.v-MLE{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.cpp-lab__verdict.v-AC{color:#1a7f4b;background:#eafaf1;border-color:#b7e4c7}.cpp-lab__score,.cpp-lab__time{font-weight:400;font-size:13px;color:#52606d}.cpp-lab__ce{margin-top:10px;max-height:260px;overflow:auto}.cpp-lab__cases{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.cpp-lab__cases li{font-size:12.5px;padding:5px 10px;border-radius:4px;background:#fff;border:1px solid #e4e7eb}.cpp-lab__cases li.case-AC{color:#1a7f4b;border-color:#b7e4c7;background:#f0fbf5}.cpp-lab__cases li.case-WA{color:#b54708;border-color:#f4d6b5;background:#fffaf3}.cpp-lab__cases li.case-RE{color:#b42318;border-color:#fecdca;background:#fef3f2}.cpp-lab__cases li.case-TLE{color:#9a6700;border-color:#fde68a;background:#fefce8}.cpp-lab__cases li.case-MLE{color:#6d28d9;border-color:#ddd6fe;background:#f5f3ff}.cpp-lab__case-ms{font-weight:400;color:#9aa5b1}.cpp-lab__cases pre{margin:4px 0 0;font-size:11px;white-space:pre-wrap}.cpp-lab__sandbox{margin-top:10px;font-size:11px;color:#9aa5b1}.cpp-lab__sandbox.e-mock{color:#7c3aed}.cpp-lab__sandbox-net{color:#9aa5b1}.cpp-lab__svc-tip{margin-top:10px;padding:8px 12px;font-size:13px;color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:6px}.cpp-lab__actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:0}.cpp-lab__actions .cpp-lab__btn{margin-left:8px}.cpp-modal__mask{position:fixed;inset:0;background:#0f274073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.cpp-modal{background:#fff;border-radius:10px;width:560px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 18px 48px #0f274047;overflow:hidden}.cpp-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e4e7eb;font-size:15px;color:#1f2933}.cpp-modal__x{border:none;background:none;font-size:22px;line-height:1;color:#7b8794;cursor:pointer;padding:0 4px}.cpp-modal__x:hover{color:#1f2933}.cpp-modal__body{padding:10px 18px;overflow-y:auto;flex:1;min-height:0}.cpp-modal__empty{padding:32px 8px;text-align:center;color:#9aa5b1;font-size:13px}.cpp-modal__foot{padding:10px 18px;border-top:1px solid #e4e7eb}.cpp-modal__hint{font-size:12px;color:#9aa5b1}.cpp-works{list-style:none;margin:0;padding:0}.cpp-works__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid #f0f2f5}.cpp-works__item:last-child{border-bottom:none}.cpp-works__meta{min-width:0;display:flex;flex-direction:column;gap:3px}.cpp-works__name{font-size:14px;color:#1f2933;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cpp-works__sub{font-size:12px;color:#9aa5b1}.cpp-works__ops{flex:none;display:flex;align-items:center}.cpp-works__rename-input{border:1px solid #2b6cb0;border-radius:4px;padding:4px 8px;font-size:14px;width:240px;max-width:60vw}.cpp-toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%);background:#0f2740eb;color:#fff;font-size:13px;padding:9px 18px;border-radius:6px;z-index:1100;box-shadow:0 8px 24px #0f27404d;max-width:86vw}@media (max-width: 640px){.cpp-lab__bar{height:auto;min-height:52px;flex-wrap:wrap;gap:6px 12px;padding:8px 12px}.cpp-lab__brand{flex-wrap:wrap;gap:6px 8px;font-size:14px}.cpp-lab__svc-wrap{flex-wrap:wrap;justify-content:flex-end;gap:4px 8px}.cpp-lab__svc{font-size:11px;width:100%;justify-content:flex-end}.cpp-lab__side{width:100%;max-width:100%;max-height:104px;overflow:hidden}.cpp-lab__body{flex-direction:column;min-width:0}.cpp-lab__plist{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 8px}.cpp-lab__plist>li{flex:none}.cpp-lab__pitem{width:auto;white-space:nowrap;flex:none;border-left:none;border-bottom:3px solid transparent}.cpp-lab__pitem.is-active{border-left-color:transparent;border-bottom-color:#2b6cb0}.cpp-lab__spec,.cpp-lab__sample{grid-template-columns:1fr}.cpp-lab__editor-bar{flex-direction:column;align-items:stretch;gap:8px}.cpp-lab__actions{justify-content:flex-start}.cpp-lab__actions .cpp-lab__btn{margin-left:0;margin-right:8px;padding:5px 10px}.cpp-works__item{flex-direction:column;align-items:stretch;gap:8px}.cpp-works__ops{justify-content:flex-end}}.cpp-lab{--msx-security: var(--color-security, #344054);--msx-security-dim: var(--color-security-dim, #f2f4f7);--msx-security-border: var(--color-security-border, #cbd5e1)}[data-theme=hud] .cpp-lab{--msx-security: var(--color-security, #7dd3fc);--msx-security-dim: var(--color-security-dim, rgba(125, 211, 252, .12));--msx-security-border: var(--color-security-border, rgba(125, 211, 252, .35))}.cpp-lab__verdict.v-MLE{color:var(--color-warning, #9a6700);background:var(--color-warning-dim, #fef9c3);border-color:var(--color-warning, #fde68a)}.cpp-lab__cases li.case-MLE{color:var(--color-warning, #9a6700);border-color:var(--color-warning, #fde68a);background:var(--color-warning-dim, #fefce8)}.cpp-lab__verdict.v-OLE{color:var(--color-error, #b42318);background:var(--color-error-dim, #fef3f2);border-color:var(--color-error, #fecdca)}.cpp-lab__cases li.case-OLE{color:var(--color-error, #b42318);border-color:var(--color-error, #fecdca);background:var(--color-error-dim, #fef3f2)}.cpp-lab__cases li.case-SE{color:var(--msx-security);border-color:var(--msx-security-border);background:var(--msx-security-dim)}.cpp-lab__verdict.v-SE{color:var(--msx-security);background:var(--msx-security-dim);border-color:var(--msx-security-border)}.cpp-lab__queue{margin-left:8px;font-size:13px;font-weight:500;color:var(--color-warning, #9a6700)}.cpp-lab__error-hint{margin:8px 0 0;font-size:12.5px;color:#667085}.cpp-lab__bytes{font-style:normal;color:#98a2b3;font-size:12px}.cpp-lab__bytes.is-over{color:#d92d20;font-weight:600}.cpp-lab__btn--sm{padding:2px 10px;font-size:12px;margin-left:8px}.pylab-workbench{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-bg-page, #f5f6f8);color:var(--color-text-primary, #1a1d29);font-family:var(--font-sans, "Noto Sans SC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif)}.pylab-topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#fff;border-bottom:1px solid #e7e9f0;flex:0 0 auto}.pylab-topbar__brand{display:flex;align-items:baseline;gap:10px}.pylab-topbar__brand strong{font-size:15px;color:#22326b}.pylab-topbar__sub{font-size:12px;color:#8a90a2}.pylab-topbar__center{display:flex;align-items:center;gap:10px;margin-left:8px}.pylab-topbar__status{margin-left:auto;display:flex;gap:8px}.pylab-btn{position:relative;border:1px solid #c9d2f5;background:#f2f5ff;color:#2f44a0;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.pylab-btn:hover:not(:disabled){background:#e4ebff;box-shadow:0 1px 4px #2f44a02e}.pylab-btn:disabled{opacity:.5;cursor:not-allowed}.pylab-dot{position:absolute;top:-4px;right:-4px;width:9px;height:9px;border-radius:50%;border:1.5px solid #fff}.pylab-dot--blocks{background:#f0a020}.pylab-dot--py{background:#e5484d}.pylab-chip{font-size:12px;padding:3px 10px;border-radius:999px;background:#eef7ee;color:#2f8a3f;white-space:nowrap}.pylab-chip.is-dirty{background:#fdeee2;color:#b5651d}.pylab-engine{font-size:12px;padding:3px 10px;border-radius:999px;white-space:nowrap}.pylab-engine.is-ok{background:#eef7ee;color:#2f8a3f}.pylab-engine.is-loading{background:#eef1fe;color:#3b5de0}.pylab-engine.is-none{background:#fdeeee;color:#c0392b}.pylab-main{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,1.1fr);gap:12px;padding:12px}.pylab-col{display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid #e7e9f0;border-radius:12px;overflow:hidden}.pylab-col__head{display:flex;align-items:baseline;gap:10px;padding:8px 12px;font-size:13px;font-weight:700;color:#22326b;border-bottom:1px solid #eef0f6;background:#fafbff}.pylab-col__head small{font-weight:400;color:#8a90a2;font-size:11px}.pylab-blocks{flex:1 1 auto;min-height:0}.pylab-blocks .injectionDiv{border-radius:0 0 12px 12px}.pylab-col--code{overflow:hidden}.pylab-editor{flex:0 0 auto;height:320px;border-bottom:1px solid #eef0f6}.pylab-editor .monaco-pane,.pylab-editor .monaco-pane__host{height:100%}.pylab-summary{flex:0 0 auto;font-size:12.5px;line-height:1.5;padding:8px 12px;border-bottom:1px solid #eef0f6}.pylab-summary--ok{background:#f0f9f0;color:#2f8a3f}.pylab-summary--warn{background:#fff7ec;color:#9a6216}.pylab-summary--notice{background:#eef1fe;color:#3b5de0}.pylab-summary--danger{background:#fdeeee;color:#c0392b}.pydiag{flex:1 1 auto;min-height:120px;overflow-y:auto;padding:8px 12px 12px}.pydiag__head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:#22326b;padding:4px 0 8px}.pydiag__count{font-size:11px;color:#8a90a2;font-weight:400}.pydiag__empty{font-size:12.5px;color:#2f8a3f;padding:12px;background:#f0f9f0;border-radius:8px}.pydiag__group{margin-bottom:10px;border-radius:8px;border:1px solid transparent;overflow:hidden}.pydiag__group-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:12px;font-weight:700}.pydiag__group-count{min-width:18px;text-align:center;border-radius:999px;font-size:11px;padding:0 6px;background:#00000014}.pydiag__group--danger .pydiag__group-head{background:#fdecee;color:#c0392b}.pydiag__group--warn .pydiag__group-head{background:#fdf1e3;color:#a85f17}.pydiag__group--notice .pydiag__group-head{background:#eef1fe;color:#3b5de0}.pydiag__group--info .pydiag__group-head{background:#f2f4f8;color:#5a6072}.pydiag__list{list-style:none;margin:0;padding:0;background:#fff}.pydiag__item{width:100%;display:flex;gap:8px;align-items:flex-start;text-align:left;border:none;background:transparent;border-bottom:1px solid #f1f2f7;padding:7px 10px;cursor:pointer}.pydiag__item:hover{background:#f6f8ff}.pydiag__item.is-active{background:#e9efff;box-shadow:inset 3px 0 #3b5de0}.pydiag__item-line{flex:0 0 auto;font-size:11px;font-weight:700;color:#3b5de0;padding-top:1px}.pydiag__item-msg{font-size:12px;line-height:1.5;color:#41475a}.pylab-diag-placeholder{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:#9aa0b2;font-size:13px}.pylab-cpp{flex:0 0 auto;height:280px;margin:0 12px 12px;background:#fff;border:1px solid #e7e9f0;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.pylab-cpp__editor{flex:1 1 auto;min-height:0}.pylab-cpp__editor .monaco-pane,.pylab-cpp__editor .monaco-pane__host{height:100%;min-height:0}.monaco-pane{display:flex;flex-direction:column;height:100%;min-height:0}.monaco-pane__caption{font-size:11px;color:#8a90a2;padding:4px 10px;border-bottom:1px solid #f1f2f7}.monaco-pane__host{flex:1 1 auto;min-height:0}.pylab-line-error{background:#e5484d24!important}.pylab-glyph-error{background:#e5484d;border-radius:50%;margin-left:4px;width:8px!important;height:8px!important;margin-top:7px}.conflict-mask{position:fixed;inset:0;z-index:1000;background:#14182873;display:flex;align-items:center;justify-content:center;padding:24px}.conflict{width:min(880px,100%);max-height:86vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 48px #00000047}.conflict__head{padding:18px 20px 8px}.conflict__head h3{margin:0 0 6px;font-size:16px;color:#22326b}.conflict__sub{margin:0;font-size:13px;color:#6a7080;line-height:1.5}.conflict__grid{flex:1 1 auto;min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 20px}.conflict__pane{display:flex;flex-direction:column;border:1px solid #e7e9f0;border-radius:10px;overflow:hidden}.conflict__pane-head{font-size:12px;font-weight:700;color:#22326b;background:#fafbff;padding:7px 10px;border-bottom:1px solid #eef0f6}.conflict__pre{flex:1 1 auto;margin:0;overflow:auto;padding:10px;font-size:12px;line-height:1.55;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:#fcfdff;color:#333a4d;white-space:pre-wrap;word-break:break-word}.conflict__warn{margin:0 20px 8px;font-size:12.5px;color:#c0392b;background:#fdeeee;border-radius:8px;padding:8px 12px}.conflict__foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px 18px;border-top:1px solid #eef0f6}.conflict__btn{border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent}.conflict__btn--primary{background:#3b5de0;color:#fff}.conflict__btn--primary:hover{background:#2f49bd}.conflict__btn--accent{background:#0f9d76;color:#fff}.conflict__btn--accent:hover{background:#0c8061}.conflict__btn--accent:disabled{opacity:.45;cursor:not-allowed}.conflict__btn--ghost{background:#fff;border-color:#d4d8e3;color:#5a6072}.pylab-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:#22326b;color:#fff;font-size:13px;padding:9px 18px;border-radius:999px;z-index:2200;box-shadow:0 8px 24px #00000038}.pylab-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffb8;color:#3b5de0;font-size:14px;z-index:900}@media (max-width: 960px){.pylab-main{grid-template-columns:1fr;overflow-y:auto}.pylab-col--blocks{min-height:360px}.conflict__grid{grid-template-columns:1fr}}.msx-shell{position:relative;width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-page, #f5f6f8)}.msx-shell__content{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.msx-shell__content>*:not(.msx-topnav){flex:1 1 auto;min-height:0}.msx-shell--blocks .msx-shell__content{position:absolute;inset:0}.msx-topnav{flex:none;height:44px;display:flex;align-items:center;justify-content:flex-end;padding:0 14px;background:#111827;border-bottom:1px solid rgba(255,255,255,.08);z-index:60}.msx-modeswitch{position:relative;flex:none}.msx-modecur{appearance:none;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px 0 12px;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#f3f5f9;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.msx-modecur:hover{background:#ffffff2e;border-color:#fff6}.msx-modecur.is-open{background:#fff3;border-color:#ffffff80}.msx-modecur__dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d399b3;flex:none}.msx-modecur__label{max-width:9em;overflow:hidden;text-overflow:ellipsis}.msx-modecur__chev{font-size:10px;opacity:.75;transition:transform .15s ease}.msx-modecur__chev.is-up{transform:rotate(180deg)}.msx-modecur__tag{font-style:normal;font-size:10px;font-weight:600;line-height:15px;padding:0 5px;border-radius:4px}.msx-modecur__tag.is-beta{background:#34d3992e;color:#6ee7b7}.msx-modecur__tag.is-soon{background:#ffffff29;color:#cbd5e1}.msx-modepop{position:absolute;top:calc(100% + 8px);right:0;width:244px;max-width:calc(100vw - 24px);background:#fff;border:1px solid #e8ebf0;border-radius:12px;box-shadow:0 12px 32px #0f172a33;padding:6px;z-index:1300}.msx-modepop.is-left{right:auto;left:0}.msx-modepop__item{appearance:none;display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:9px 11px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.msx-modepop__item:hover{background:#f3f5fb}.msx-modepop__item.is-active{background:#eef1fe}.msx-modepop__main{display:flex;align-items:center;gap:8px}.msx-modepop__label{font-size:14px;font-weight:600;color:#1f2533}.msx-modepop__check{margin-left:auto;color:var(--color-primary, #4f6ef7);font-size:13px;font-weight:700}.msx-modepop__sub{font-size:11px;color:#7a8296;line-height:1.3}.msx-modepop__tag{font-style:normal;font-size:10px;font-weight:600;line-height:15px;padding:0 5px;border-radius:4px}.msx-modepop__tag.is-beta{background:#e6f8f1;color:#0e9f6e}.msx-modepop__tag.is-soon{background:#f1f3f7;color:#8a91a3}.msx-shell--cpp .cpp-lab.is-embedded{height:100%}.msx-shell--cpp .cpp-lab.is-embedded .cpp-lab__bar{justify-content:flex-end;height:40px;padding:0 16px}@media (max-width: 640px){.msx-topnav{height:40px;padding:0 10px}.msx-modecur{height:30px;font-size:12px;gap:6px;padding:0 8px 0 10px}.msx-modepop{width:min(224px,78vw)}}.tiku{min-height:100vh;background-color:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-sans);display:flex;flex-direction:column}.tiku,.tiku *{box-sizing:border-box}.tiku-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-card);border-bottom:var(--border-width) solid var(--color-border)}.tiku-topbar__back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer}.tiku-topbar__brand{display:inline-flex;align-items:center;flex-shrink:0}.tiku-topbar__brand svg{display:block;width:100%;height:100%}.tiku-topbar__crumb{min-width:0;flex:1;font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiku-badge-beta{flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-dim);border-radius:var(--radius-sm);padding:2px var(--space-2)}.tiku-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:var(--space-4)}.tiku-stack{display:flex;flex-direction:column;gap:var(--space-4)}.tiku-hero{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6) var(--space-5);background:linear-gradient(135deg,var(--color-primary-dim),transparent 70%);border:var(--border-width) solid var(--color-border);border-radius:var(--card-radius);overflow:hidden}.tiku-hero__title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.3}.tiku-hero__sub{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base)}.tiku-iso{position:absolute;right:var(--space-2);bottom:-10px;width:120px;height:96px;opacity:.5;pointer-events:none}.tiku-iso__cube{position:absolute;width:34px;height:34px;transform:rotateX(58deg) rotate(45deg) skew(-8deg,-8deg);border-radius:4px}.tiku-iso__cube--a{right:26px;bottom:14px;background:var(--color-primary)}.tiku-iso__cube--b{right:58px;bottom:34px;width:26px;height:26px;background:var(--color-accent)}.tiku-iso__cube--c{right:8px;bottom:40px;width:22px;height:22px;background:var(--color-security, #a78bfa)}.tiku-progress{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--card-radius)}.tiku-progress__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.tiku-progress__num{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.tiku-progress__label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tiku-bar{width:100%;height:8px;border-radius:var(--radius-full);background:var(--color-border);overflow:hidden}.tiku-bar__fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.tiku-cards{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.tiku-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--card-radius);text-align:left;cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast)}.tiku-card:hover{border-color:var(--color-border-bright)}.tiku-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.tiku-card__meta{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tiku-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2)}.tiku-card .tiku-iso{width:84px;height:64px;opacity:.35}.tiku-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tiku-tag{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:2px var(--space-2)}.tiku-diff{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tiku-diff__dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-border-bright)}.tiku-diff__dot.is-on{background:var(--color-accent)}.tiku-lesson-head{display:flex;flex-direction:column;gap:var(--space-3)}.tiku-lesson-head__title{margin:0;font-size:var(--font-size-xl)}.tiku-nodes{display:flex;flex-direction:column;gap:var(--space-3)}.tiku-node{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);text-align:left}button.tiku-node{cursor:pointer}.tiku-node--locked{opacity:.6;cursor:not-allowed}.tiku-node--passed{border-color:var(--color-success)}.tiku-node__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-bg-elevated);border:var(--border-width) solid var(--color-border);font-size:var(--font-size-base);color:var(--color-text-secondary)}.tiku-node--passed .tiku-node__icon{background:var(--color-success);border-color:var(--color-success);color:var(--color-bg-card)}.tiku-node__body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.tiku-node__title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiku-node__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tiku-node__stars{flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-gold, var(--color-accent));letter-spacing:1px}.tiku-node__lock{flex-shrink:0;color:var(--color-text-tertiary)}.tiku-problem{display:flex;flex-direction:column;gap:var(--space-4)}.tiku-problem__head{display:flex;flex-direction:column;gap:var(--space-2)}.tiku-problem__title{margin:0;font-size:var(--font-size-xl)}.tiku-section{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--card-radius)}.tiku-section__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.tiku-prose{margin:0;font-size:var(--font-size-base);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.tiku-prose strong{font-weight:var(--font-weight-bold)}.tiku-code{margin:0;padding:var(--space-3);background:var(--color-bg-terminal, var(--color-code-bg, var(--color-bg-elevated)));color:var(--color-text-primary);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.6;white-space:pre;overflow-x:auto;max-width:100%}.tiku-samples{display:flex;flex-direction:column;gap:var(--space-3)}.tiku-sample{display:flex;flex-direction:column;gap:var(--space-2)}.tiku-sample__cols{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.tiku-editor{display:flex;flex-direction:column;gap:var(--space-2)}.tiku-editor__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tiku-textarea{width:100%;min-height:240px;resize:vertical;padding:var(--space-3);background:var(--color-bg-terminal, var(--color-code-bg, var(--color-bg-elevated)));color:var(--color-text-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.6;white-space:pre;overflow-x:auto}.tiku-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;background:linear-gradient(to top,var(--color-bg-page),transparent)}.tiku-queue-note{flex:1 1 100%;margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tiku-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);flex-shrink:0;padding:var(--button-padding-y) var(--button-padding-x);border:var(--border-width) solid transparent;border-radius:var(--button-radius);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast),background var(--transition-fast)}.tiku-btn:disabled{opacity:.55;cursor:not-allowed}.tiku-btn--primary{background:var(--color-primary);color:var(--color-bg-page)}.tiku-btn--ghost{background:transparent;border-color:var(--color-border);color:var(--color-text-secondary)}.tiku-btn--block{width:100%}.tiku-result{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:var(--border-width-thick) solid var(--color-border);border-radius:var(--card-radius);background-color:var(--color-bg-card)}.tiku-result--AC{border-color:var(--color-success)}.tiku-result--WA,.tiku-result--RE,.tiku-result--OLE{border-color:var(--color-error)}.tiku-result--TLE,.tiku-result--MLE{border-color:var(--color-warning)}.tiku-result--CE{border-color:var(--color-text-dim, #94a3b8)}.tiku-result--SE{border-color:var(--color-security, #a78bfa)}.tiku-result__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.tiku-result__verdict{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.tiku-result--AC .tiku-result__verdict{color:var(--color-success)}.tiku-result--WA .tiku-result__verdict,.tiku-result--RE .tiku-result__verdict,.tiku-result--OLE .tiku-result__verdict{color:var(--color-error)}.tiku-result--TLE .tiku-result__verdict,.tiku-result--MLE .tiku-result__verdict{color:var(--color-warning)}.tiku-result--CE .tiku-result__verdict{color:var(--color-text-dim, #94a3b8)}.tiku-result--SE .tiku-result__verdict{color:var(--color-security, #a78bfa)}.tiku-result__score{margin-left:auto;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.tiku-result__msg{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base);overflow-wrap:anywhere}.tiku-result__hint{margin:0;padding:var(--space-3) var(--space-4);background:var(--color-security-dim, color-mix(in srgb, var(--color-security, #a78bfa) 14%, transparent));border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow-wrap:anywhere}.tiku-cases{display:flex;flex-direction:column;gap:var(--space-2)}.tiku-case{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.tiku-case__idx{flex-shrink:0;color:var(--color-text-secondary)}.tiku-case__verdict{font-weight:var(--font-weight-medium)}.tiku-case__verdict.is-AC{color:var(--color-success)}.tiku-case__verdict.is-WA,.tiku-case__verdict.is-RE,.tiku-case__verdict.is-OLE{color:var(--color-error)}.tiku-case__verdict.is-TLE,.tiku-case__verdict.is-MLE{color:var(--color-warning)}.tiku-case__verdict.is-CE{color:var(--color-text-dim, #94a3b8)}.tiku-case__verdict.is-SE{color:var(--color-security, #a78bfa)}.tiku-case__stats{margin-left:auto;flex-shrink:0;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-family:var(--font-mono)}.tiku-case__signal{flex-shrink:0;padding:0 var(--space-1);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-security, #a78bfa) 18%,transparent);color:var(--color-security, #a78bfa);font-size:var(--font-size-xs);font-family:var(--font-mono)}.tiku-compare{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.tiku-compare__label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tiku-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-12) var(--space-5)}.tiku-empty__art{width:96px;height:96px;border-radius:var(--radius-lg);background:var(--color-primary-dim);border:var(--border-width) solid var(--color-border);position:relative}.tiku-empty__art:before,.tiku-empty__art:after{content:"";position:absolute;left:50%;transform:translate(-50%);background:var(--color-border-bright);border-radius:var(--radius-full)}.tiku-empty__art:before{top:32px;width:44px;height:8px}.tiku-empty__art:after{top:50px;width:30px;height:8px}.tiku-empty__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.tiku-empty__desc{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);max-width:320px}.tiku-skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.tiku-skeleton__line{height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-border),var(--color-bg-elevated),var(--color-border));background-size:200% 100%;animation:tiku-shimmer 1.2s ease-in-out infinite}.tiku-skeleton__line--w60{width:60%}.tiku-skeleton__line--w80{width:80%}.tiku-skeleton__line--w40{width:40%}.tiku-skeleton__block{height:120px;border-radius:var(--card-radius);background:linear-gradient(90deg,var(--color-border),var(--color-bg-elevated),var(--color-border));background-size:200% 100%;animation:tiku-shimmer 1.2s ease-in-out infinite}@keyframes tiku-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.tiku-skeleton__line,.tiku-skeleton__block{animation:none}}.tiku-error{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-12) var(--space-5)}.tiku-error__code{font-size:var(--font-size-3xl);font-weight:var(--font-weight-black);color:var(--color-error)}.tiku-error__title{margin:0;font-size:var(--font-size-lg)}.tiku-error__desc{margin:0;max-width:340px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tiku-queue{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tiku-queue__count{font-family:var(--font-mono);color:var(--color-primary);font-weight:var(--font-weight-medium)}.tiku-mockctl{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-warning-dim);border:var(--border-width) dashed var(--color-border-bright);border-radius:var(--radius-md)}.tiku-mockctl__title{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.tiku-mockctl__row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tiku-mockctl__btn{padding:4px var(--space-3);font-size:var(--font-size-xs);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer}.tiku-mockctl__btn.is-active{border-color:var(--color-primary);color:var(--color-primary)}.tiku-mockctl__btn.is-queue{border-style:dashed}.tiku-footer{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}@media (min-width: 720px){.tiku-main{padding:var(--space-6)}.tiku-cards,.tiku-sample__cols,.tiku-compare{grid-template-columns:1fr 1fr}}@media (min-width: 1080px){.tiku-main{max-width:1200px}.tiku-home-grid{display:grid;grid-template-columns:320px 1fr;gap:var(--space-5);align-items:start}.tiku-cards{grid-template-columns:1fr 1fr}.tiku-problem-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.tiku-problem-grid__col{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.tiku-actions{position:static}}

/* ===== f21 CodeMSX 布局修复（覆盖块，仅作用于独立应用 .codeup-root）=====
   原规则 .codeup-root{height:100vh;overflow:hidden} 把应用撑成整屏，
   但页面前面还有 66px 注入页眉(data-role=msx-header)，导致总高=66px+100vh，
   首屏底部工具区被裁、页脚顶入屏幕挡住工具。改为“视口高 - 页眉高”，
   工作台正好填满页眉下方整屏，页脚落在一屏外，滚动到底才可见。 */
@media(min-width:1101px){
  .codeup-root{height:calc(100vh - var(--mc-header-h,66px)) !important;overflow:hidden}
}
/* 移动端(<=1100)维持原 auto/min-height 自然文档流，页脚正常跟随滚动，不覆盖 */

/* ===== f23 CodeMSX 桌面布局彻底修复 =====
   f21只改工作台高度无效：body是100vh flex column，#root作为弹性子项被页脚(378px)压缩。
   方案：桌面端body回归自然文档流可滚动；#root固定为“视口-页眉”填满一屏，页脚落到一屏外(滚动才见)。
   移动端(<=1100)不覆盖，维持原auto自然流。 */
@media(min-width:1101px){
  body{display:block!important;height:auto!important;min-height:100vh;overflow:visible!important}
  #root{flex:none!important;height:calc(100vh - var(--mc-header-h,66px))!important}
}
