:root,[data-theme=light]{--apple-font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--apple-font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", system-ui, sans-serif;--apple-font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--apple-text-large-title: 34px;--apple-text-title1: 28px;--apple-text-title2: 22px;--apple-text-title3: 20px;--apple-text-headline: 17px;--apple-text-body: 17px;--apple-text-callout: 16px;--apple-text-subhead: 15px;--apple-text-footnote: 13px;--apple-text-caption1: 12px;--apple-text-caption2: 11px;--apple-weight-regular: 400;--apple-weight-medium: 500;--apple-weight-semibold: 600;--apple-weight-bold: 700;--apple-leading-tight: 1.15;--apple-leading-snug: 1.25;--apple-leading-normal: 1.35;--apple-leading-relaxed: 1.47;--apple-label: rgba(0, 0, 0, .85);--apple-label-secondary: rgba(60, 60, 67, .6);--apple-label-tertiary: rgba(60, 60, 67, .3);--apple-label-quaternary: rgba(60, 60, 67, .18);--apple-fill: rgba(120, 120, 128, .2);--apple-fill-secondary: rgba(120, 120, 128, .16);--apple-fill-tertiary: rgba(118, 118, 128, .12);--apple-fill-quaternary: rgba(116, 116, 128, .08);--apple-bg: #ffffff;--apple-bg-secondary: #f2f2f7;--apple-bg-tertiary: #ffffff;--apple-bg-grouped: #f2f2f7;--apple-bg-grouped-secondary: #ffffff;--apple-bg-grouped-tertiary: #f2f2f7;--apple-separator: rgba(60, 60, 67, .29);--apple-separator-opaque: #c6c6c8;--apple-blue: #007aff;--apple-blue-hover: #0066d6;--apple-green: #34c759;--apple-indigo: #5856d6;--apple-orange: #ff9500;--apple-pink: #ff2d55;--apple-purple: #af52de;--apple-red: #ff3b30;--apple-teal: #5ac8fa;--apple-yellow: #ffcc00;--apple-gray: #8e8e93;--apple-gray2: #aeaeb2;--apple-gray3: #c7c7cc;--apple-gray4: #d1d1d6;--apple-gray5: #e5e5ea;--apple-gray6: #f2f2f7;--apple-material-ultra-thin: rgba(255, 255, 255, .45);--apple-material-thin: rgba(255, 255, 255, .55);--apple-material-regular: rgba(255, 255, 255, .72);--apple-material-thick: rgba(255, 255, 255, .84);--apple-material-chrome: rgba(255, 255, 255, .78);--apple-blur-ultra-thin: saturate(180%) blur(20px);--apple-blur-thin: saturate(180%) blur(24px);--apple-blur-regular: saturate(180%) blur(30px);--apple-blur-thick: saturate(180%) blur(40px);--apple-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .06);--apple-shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .04);--apple-shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .06);--apple-shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .14);--apple-space-1: 4px;--apple-space-2: 8px;--apple-space-3: 12px;--apple-space-4: 16px;--apple-space-5: 20px;--apple-space-6: 24px;--apple-space-8: 32px;--apple-space-10: 40px;--apple-space-12: 48px;--apple-radius-xs: 6px;--apple-radius-sm: 8px;--apple-radius-md: 12px;--apple-radius-lg: 16px;--apple-radius-xl: 22px;--apple-radius-pill: 999px;--apple-radius-continuous: 12px;--apple-control-height: 36px;--apple-control-height-lg: 44px;--apple-hit-min: 44px;--apple-icon-xs: 14px;--apple-icon-sm: 16px;--apple-icon-md: 20px;--apple-icon-lg: 24px;--apple-icon-xl: 28px;--apple-icon-stroke: 1.75;--apple-ease-out: cubic-bezier(.16, 1, .3, 1);--apple-ease-in-out: cubic-bezier(.45, 0, .55, 1);--apple-spring-snappy: .28s var(--apple-ease-out);--apple-spring-default: .4s var(--apple-ease-out);--apple-spring-gentle: .55s var(--apple-ease-out);--apple-press-scale: .97;--apple-duration-press: .1s}[data-theme=dark]{--apple-label: rgba(255, 255, 255, .85);--apple-label-secondary: rgba(235, 235, 245, .6);--apple-label-tertiary: rgba(235, 235, 245, .3);--apple-label-quaternary: rgba(235, 235, 245, .18);--apple-fill: rgba(120, 120, 128, .36);--apple-fill-secondary: rgba(120, 120, 128, .32);--apple-fill-tertiary: rgba(118, 118, 128, .24);--apple-fill-quaternary: rgba(118, 118, 128, .18);--apple-bg: #000000;--apple-bg-secondary: #1c1c1e;--apple-bg-tertiary: #2c2c2e;--apple-bg-grouped: #000000;--apple-bg-grouped-secondary: #1c1c1e;--apple-bg-grouped-tertiary: #2c2c2e;--apple-separator: rgba(84, 84, 88, .65);--apple-separator-opaque: #38383a;--apple-blue: #0a84ff;--apple-blue-hover: #409cff;--apple-green: #30d158;--apple-indigo: #5e5ce6;--apple-orange: #ff9f0a;--apple-pink: #ff375f;--apple-purple: #bf5af2;--apple-red: #ff453a;--apple-teal: #64d2ff;--apple-yellow: #ffd60a;--apple-gray: #8e8e93;--apple-gray2: #636366;--apple-gray3: #48484a;--apple-gray4: #3a3a3c;--apple-gray5: #2c2c2e;--apple-gray6: #1c1c1e;--apple-material-ultra-thin: rgba(30, 30, 30, .45);--apple-material-thin: rgba(30, 30, 30, .55);--apple-material-regular: rgba(37, 37, 37, .72);--apple-material-thick: rgba(44, 44, 44, .84);--apple-material-chrome: rgba(28, 28, 30, .78);--apple-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--apple-shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--apple-shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--apple-shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--apple-label: rgba(255, 255, 255, .85);--apple-label-secondary: rgba(235, 235, 245, .6);--apple-label-tertiary: rgba(235, 235, 245, .3);--apple-label-quaternary: rgba(235, 235, 245, .18);--apple-fill: rgba(120, 120, 128, .36);--apple-fill-secondary: rgba(120, 120, 128, .32);--apple-fill-tertiary: rgba(118, 118, 128, .24);--apple-fill-quaternary: rgba(118, 118, 128, .18);--apple-bg: #000000;--apple-bg-secondary: #1c1c1e;--apple-bg-tertiary: #2c2c2e;--apple-bg-grouped: #000000;--apple-bg-grouped-secondary: #1c1c1e;--apple-bg-grouped-tertiary: #2c2c2e;--apple-separator: rgba(84, 84, 88, .65);--apple-separator-opaque: #38383a;--apple-blue: #0a84ff;--apple-blue-hover: #409cff;--apple-green: #30d158;--apple-indigo: #5e5ce6;--apple-orange: #ff9f0a;--apple-pink: #ff375f;--apple-purple: #bf5af2;--apple-red: #ff453a;--apple-teal: #64d2ff;--apple-yellow: #ffd60a;--apple-gray: #8e8e93;--apple-gray2: #636366;--apple-gray3: #48484a;--apple-gray4: #3a3a3c;--apple-gray5: #2c2c2e;--apple-gray6: #1c1c1e;--apple-material-ultra-thin: rgba(30, 30, 30, .45);--apple-material-thin: rgba(30, 30, 30, .55);--apple-material-regular: rgba(37, 37, 37, .72);--apple-material-thick: rgba(44, 44, 44, .84);--apple-material-chrome: rgba(28, 28, 30, .78);--apple-shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--apple-shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--apple-shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--apple-shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .5)}}@media(prefers-reduced-motion:reduce){:root{--apple-spring-snappy: .01ms linear;--apple-spring-default: .01ms linear;--apple-spring-gentle: .01ms linear;--apple-duration-press: .01ms}}:root{--hig-font-ui: var(--apple-font-ui);--hig-blue: var(--apple-blue);--hig-bg: var(--apple-bg);--hig-label: var(--apple-label)}.auth-page,.auth-screen,.ide-shell,.shell-page{font-family:var(--apple-font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.apple-icon{display:block;flex-shrink:0}.auth-page{min-height:100vh;min-height:100dvh;background:var(--apple-bg-secondary)!important;color:var(--apple-label)!important}.auth-nav{position:sticky;top:0;z-index:40;backdrop-filter:var(--apple-blur-regular);-webkit-backdrop-filter:var(--apple-blur-regular);background:var(--apple-material-regular)!important;border-bottom:1px solid var(--apple-separator)!important}.auth-nav-inner{max-width:1100px;margin:0 auto;padding:10px var(--apple-space-4);min-height:52px}.auth-nav-title{font-family:var(--apple-font-ui);font-size:var(--apple-text-subhead);font-weight:var(--apple-weight-semibold);letter-spacing:-.01em;color:var(--apple-label)!important}.auth-nav-link,.auth-nav-text{font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-medium)!important;color:var(--apple-label-secondary)!important;border-radius:var(--apple-radius-pill)!important;padding:6px 12px!important;transition:background var(--apple-duration-press) var(--apple-ease-out),color var(--apple-duration-press) var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important;box-shadow:none!important}.auth-nav-link:hover,.auth-nav-text:hover{color:var(--apple-label)!important;background:var(--apple-fill-tertiary)!important}.auth-nav-link:active,.auth-nav-text:active,.auth-submit:active,.ide-shell-icon-btn:active,.ide-nav-link:active,.ide-shell-menu:active{transform:scale(var(--apple-press-scale))!important}.auth-main{padding:var(--apple-space-8) var(--apple-space-4) var(--apple-space-10)}.auth-card,.login-card{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;box-shadow:var(--apple-shadow-md)!important;padding:28px!important;max-width:420px}.auth-card-title,.auth-card h2{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-title2)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em;color:var(--apple-label)!important}.auth-card-sub,.auth-note,.auth-kicker,.auth-sub{color:var(--apple-label-secondary)!important;font-size:var(--apple-text-footnote)!important;line-height:var(--apple-leading-relaxed)}.auth-field-label{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-secondary)!important;margin-bottom:6px}.auth-input,.auth-field-wrap input,.auth-field-wrap select,.register-field input,.register-field select{font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-body)!important;color:var(--apple-label)!important;background:var(--apple-bg-secondary)!important;border:1px solid transparent!important;border-radius:var(--apple-radius-md)!important;min-height:var(--apple-control-height)!important;padding:8px 12px!important;transition:border-color .12s var(--apple-ease-out),background .12s var(--apple-ease-out),box-shadow .12s var(--apple-ease-out)!important}.auth-input:focus,.auth-field-wrap input:focus,.auth-field-wrap select:focus,.register-field input:focus,.register-field select:focus{outline:none!important;border-color:var(--apple-blue)!important;background:var(--apple-bg)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 25%,transparent)!important}.auth-field-icon{color:var(--apple-label-tertiary)!important}.auth-submit,.auth-card .btn-primary,.auth-screen .btn-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%;min-height:var(--apple-control-height-lg)!important;border:0!important;border-radius:var(--apple-radius-pill)!important;background:var(--apple-blue)!important;color:#fff!important;font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.01em;box-shadow:none!important;transition:background var(--apple-duration-press) var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out),opacity var(--apple-duration-press) var(--apple-ease-out)!important}.auth-submit:hover,.auth-card .btn-primary:hover,.auth-screen .btn-primary:hover{background:var(--apple-blue-hover)!important;transform:none!important;box-shadow:none!important;opacity:1!important}.auth-footer,.auth-foot-hint,.auth-footer-copy{color:var(--apple-label-tertiary)!important;font-size:var(--apple-text-caption1)!important}.auth-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:var(--apple-bg-secondary)!important;padding:var(--apple-space-6)}.auth-screen-grid{display:none!important}.status-badge{border-radius:var(--apple-radius-pill)!important;font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;padding:4px 10px!important}.status-badge.pending{background:color-mix(in srgb,var(--apple-orange) 18%,transparent)!important;color:var(--apple-orange)!important}.status-badge.rejected{background:color-mix(in srgb,var(--apple-red) 18%,transparent)!important;color:var(--apple-red)!important}.auth-screen .btn-link,.auth-inline-link,.auth-forgot{color:var(--apple-blue)!important;font-weight:var(--apple-weight-medium)!important}.ide-shell{background:var(--apple-bg-secondary)!important;color:var(--apple-label)!important}.ide-shell-topbar{backdrop-filter:var(--apple-blur-regular)!important;-webkit-backdrop-filter:var(--apple-blur-regular)!important;background:var(--apple-material-chrome)!important;border-bottom:1px solid var(--apple-separator)!important;box-shadow:none!important;min-height:52px!important;gap:10px!important}.ide-shell-brand span{font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.015em!important;text-transform:none!important;color:var(--apple-label)!important}.ide-shell-menu,.ide-shell-icon-btn{width:36px!important;height:36px!important;min-width:36px!important;border-radius:var(--apple-radius-pill)!important;border:0!important;background:transparent!important;color:var(--apple-label)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background var(--apple-duration-press) var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.ide-shell-menu:hover,.ide-shell-icon-btn:hover{background:var(--apple-fill-tertiary)!important}.ide-shell-search{background:var(--apple-fill-quaternary)!important;border:1px solid transparent!important;border-radius:var(--apple-radius-pill)!important;color:var(--apple-label-secondary)!important;min-height:34px!important;padding:0 12px!important;gap:8px!important}.ide-shell-search:focus-within{border-color:var(--apple-blue)!important;background:var(--apple-bg)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 22%,transparent)!important}.ide-shell-search-input{font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-subhead)!important;text-transform:none!important;letter-spacing:0!important;color:var(--apple-label)!important}.ide-shell-search-input::placeholder{color:var(--apple-label-tertiary)!important;text-transform:none!important}.ide-shell-sidebar{background:var(--apple-bg)!important;border-right:1px solid var(--apple-separator)!important;box-shadow:none!important}.ide-nav-link{display:flex!important;align-items:center!important;gap:10px!important;width:calc(100% - 16px)!important;margin:2px 8px!important;padding:10px 12px!important;border-radius:var(--apple-radius-md)!important;border:0!important;background:transparent!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-medium)!important;letter-spacing:-.01em!important;text-transform:none!important;text-align:left!important;transition:background var(--apple-duration-press) var(--apple-ease-out),color var(--apple-duration-press) var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.ide-nav-link:hover{background:var(--apple-fill-tertiary)!important}.ide-nav-link.active{background:color-mix(in srgb,var(--apple-blue) 14%,transparent)!important;color:var(--apple-blue)!important;font-weight:var(--apple-weight-semibold)!important}.ide-nav-link .apple-icon{opacity:.9}.ide-session-clock{color:var(--apple-label-secondary)!important;font-size:var(--apple-text-caption1)!important;font-variant-numeric:tabular-nums}.ide-sidebar-logout{margin:8px!important;border-radius:var(--apple-radius-md)!important;border:0!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-red)!important;font-family:var(--apple-font-ui)!important;font-weight:var(--apple-weight-semibold)!important;min-height:36px!important}.ide-sidebar-logout:hover{background:color-mix(in srgb,var(--apple-red) 12%,transparent)!important}.ide-shell-main,.ide-workspace,.shell-content{background:var(--apple-bg-secondary)!important}.ide-shell-footer{backdrop-filter:var(--apple-blur-thin);-webkit-backdrop-filter:var(--apple-blur-thin);background:var(--apple-material-thin)!important;border-top:1px solid var(--apple-separator)!important;color:var(--apple-label-tertiary)!important;font-size:var(--apple-text-caption2)!important;text-transform:none!important}.ide-footer-links a{color:var(--apple-label-secondary)!important;text-decoration:none!important}.ide-footer-links a:hover{color:var(--apple-blue)!important}.ide-footer-dot{background:var(--apple-green)!important}.shell-page-header{padding:var(--apple-space-5) var(--apple-space-6) var(--apple-space-3)!important}.shell-page-title{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-title1)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.025em!important;color:var(--apple-label)!important}.shell-page-sub{color:var(--apple-label-secondary)!important;font-size:var(--apple-text-subhead)!important}.shell-page-action,.shell-page-actions .btn-primary{border-radius:var(--apple-radius-pill)!important;min-height:34px!important;font-family:var(--apple-font-ui)!important}#lms-toast{font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-footnote)!important;font-weight:var(--apple-weight-medium)!important;border-radius:var(--apple-radius-pill)!important;padding:10px 16px!important;box-shadow:var(--apple-shadow-md)!important;backdrop-filter:var(--apple-blur-thin);-webkit-backdrop-filter:var(--apple-blur-thin);bottom:28px!important;transition:opacity .22s var(--apple-ease-out),transform .22s var(--apple-ease-out)!important}#lms-toast.toast-info{background:var(--apple-material-thick)!important;color:var(--apple-label)!important;border:1px solid var(--apple-separator)}#lms-toast.toast-success{background:color-mix(in srgb,var(--apple-green) 88%,#000)!important;color:#fff!important}#lms-toast.toast-error{background:color-mix(in srgb,var(--apple-red) 90%,#000)!important;color:#fff!important}.modal-overlay{backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);background:#00000047!important}.modal-card{font-family:var(--apple-font-ui)!important;background:var(--apple-bg)!important;color:var(--apple-label)!important;border-radius:var(--apple-radius-xl)!important;border:1px solid var(--apple-separator)!important;box-shadow:var(--apple-shadow-lg)!important}.modal-title{font-size:var(--apple-text-title3)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.02em}.modal-input{border-radius:var(--apple-radius-md)!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg-secondary)!important;color:var(--apple-label)!important;min-height:var(--apple-control-height)!important;font-family:var(--apple-font-ui)!important}.modal-ok,.modal-actions .btn-primary{border-radius:var(--apple-radius-pill)!important;background:var(--apple-blue)!important;border:0!important}.modal-actions .btn-ghost,.modal-actions button:not(.btn-primary):not(.modal-ok){border-radius:var(--apple-radius-pill)!important}.auth-nav,.ide-shell-topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.ide-shell-footer{padding-bottom:max(8px,env(safe-area-inset-bottom))}@media(prefers-reduced-motion:reduce){.auth-nav-link,.auth-nav-text,.auth-submit,.ide-shell-icon-btn,.ide-nav-link,.ide-shell-menu,#lms-toast{transition:none!important}}.dash-page,.chapter-view,.theory-reader{font-family:var(--apple-font-ui);-webkit-font-smoothing:antialiased}.dash-page{color:var(--apple-label);padding:var(--apple-space-5) var(--apple-space-6) var(--apple-space-8);max-width:1120px;margin:0 auto}.dash-header{margin-bottom:var(--apple-space-5)}.dash-kicker{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:.04em;text-transform:uppercase;color:var(--apple-label-tertiary)!important}.dash-greeting{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-large-title)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.03em!important;color:var(--apple-label)!important;margin:4px 0 0!important}.dash-sub{color:var(--apple-label-secondary)!important;font-size:var(--apple-text-body)!important;margin-top:6px!important}.dash-hero-grid,.dash-summary{display:grid;gap:var(--apple-space-4)}.dash-featured,.dash-summary,.dash-status-cell,.dash-chapter-card{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;box-shadow:var(--apple-shadow-sm)!important}.dash-featured{padding:24px!important;position:relative;overflow:hidden}.dash-featured-title{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-title2)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em;color:var(--apple-label)!important}.dash-featured-sub{color:var(--apple-label-secondary)!important;font-size:var(--apple-text-subhead)!important}.dash-featured-btn,.chapter-cta-btn,.chapter-toolbar-btn{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:36px!important;padding:0 16px!important;border:0!important;border-radius:var(--apple-radius-pill)!important;background:var(--apple-blue)!important;color:#fff!important;font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-semibold)!important;box-shadow:none!important;transition:background var(--apple-duration-press) var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.dash-featured-btn:hover,.chapter-cta-btn:hover{background:var(--apple-blue-hover)!important}.dash-featured-btn:active,.chapter-cta-btn:active,.dash-chapter-card.unlocked:active,.chapter-step-tab:active{transform:scale(var(--apple-press-scale))!important}.dash-featured-deco{color:var(--apple-fill-secondary)!important;opacity:.55}.dash-progress-ring{width:88px!important;height:88px!important;border-radius:50%!important;background:conic-gradient(var(--apple-blue) var(--dash-pct, 0%),var(--apple-fill-quaternary) 0)!important;display:grid!important;place-items:center!important}.dash-progress-spin{display:none!important}.dash-progress-inner{width:68px!important;height:68px!important;border-radius:50%!important;background:var(--apple-bg)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}.dash-progress-value{font-family:var(--apple-font-display)!important;font-weight:var(--apple-weight-bold)!important;font-size:var(--apple-text-title3)!important;letter-spacing:-.02em;color:var(--apple-label)!important}.dash-progress-label{font-size:10px!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-tertiary)!important;text-transform:uppercase;letter-spacing:.06em}.dash-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.dash-status-cell{padding:14px 16px!important}.dash-status-label{font-size:var(--apple-text-caption1)!important;color:var(--apple-label-secondary)!important;font-weight:var(--apple-weight-medium)!important}.dash-status-value{font-size:var(--apple-text-title3)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em;color:var(--apple-label)!important}.dash-status-dot{width:8px!important;height:8px!important;border-radius:50%!important;background:var(--apple-green)!important}.dash-section-head{display:flex;align-items:center;gap:12px;margin:var(--apple-space-6) 0 var(--apple-space-3)}.dash-section-tag{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-blue)!important;background:color-mix(in srgb,var(--apple-blue) 12%,transparent)!important;border-radius:var(--apple-radius-pill)!important;padding:4px 10px!important;letter-spacing:.02em;text-transform:none!important}.dash-section-rule{flex:1;height:1px;background:var(--apple-separator)!important;border:0!important}.dash-chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.dash-chapter-card{padding:16px!important;cursor:default;transition:border-color .14s var(--apple-ease-out),box-shadow .14s var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.dash-chapter-card.unlocked:hover{border-color:color-mix(in srgb,var(--apple-blue) 40%,var(--apple-separator))!important;box-shadow:var(--apple-shadow-md)!important}.dash-chapter-card.locked{opacity:.72}.dash-chapter-num{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-title2)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.03em;color:var(--apple-label)!important}.dash-chapter-num.muted,.dash-chapter-title.muted{color:var(--apple-label-tertiary)!important}.dash-chapter-title{font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.015em;color:var(--apple-label)!important;margin:10px 0 14px!important}.dash-status-pill{font-size:11px!important;font-weight:var(--apple-weight-semibold)!important;border-radius:var(--apple-radius-pill)!important;padding:3px 8px!important;text-transform:none!important;letter-spacing:0!important}.dash-status-pill.not_started{background:var(--apple-fill-quaternary)!important;color:var(--apple-label-secondary)!important}.dash-status-pill.in_progress{background:color-mix(in srgb,var(--apple-blue) 16%,transparent)!important;color:var(--apple-blue)!important}.dash-status-pill.completed{background:color-mix(in srgb,var(--apple-green) 16%,transparent)!important;color:var(--apple-green)!important}.dash-chapter-progress-head{display:flex;justify-content:space-between;font-size:var(--apple-text-caption1)!important;color:var(--apple-label-secondary)!important;font-weight:var(--apple-weight-medium)!important;margin-bottom:6px;text-transform:none!important}.dash-bar{height:6px!important;border-radius:999px!important;background:var(--apple-fill-quaternary)!important;overflow:hidden}.dash-bar-fill{height:100%!important;border-radius:inherit!important;background:var(--apple-blue)!important}.dash-locked-label{display:inline-flex;align-items:center;gap:4px;color:var(--apple-label-tertiary)!important;font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important}.dash-locked-foot{color:var(--apple-label-tertiary)!important;font-size:var(--apple-text-caption1)!important;margin-top:12px!important;text-transform:none!important}.chapter-view{display:flex;flex-direction:column;min-height:100%;background:var(--apple-bg-secondary)!important;color:var(--apple-label)}.chapter-topbar{backdrop-filter:var(--apple-blur-regular);-webkit-backdrop-filter:var(--apple-blur-regular);background:var(--apple-material-chrome)!important;border-bottom:1px solid var(--apple-separator)!important;min-height:48px!important;padding:8px 14px!important}.chapter-topbar-title{font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.015em;color:var(--apple-label)!important}.chapter-module-tag{font-size:var(--apple-text-caption2)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-secondary)!important;background:var(--apple-fill-quaternary)!important;border-radius:var(--apple-radius-pill)!important;padding:2px 8px!important;text-transform:none!important}.chapter-back,.chapter-toolbar-btn:not(.btn-primary),.chapter-reset-btn{border-radius:var(--apple-radius-pill)!important;border:0!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;font-weight:var(--apple-weight-medium)!important;min-height:32px!important}.chapter-back:hover,.chapter-reset-btn:hover{background:var(--apple-fill-tertiary)!important}.chapter-steps-wrap{background:var(--apple-bg)!important;border-bottom:1px solid var(--apple-separator)!important;padding:10px 14px 12px!important}.chapter-steps-bar{display:flex!important;gap:6px!important;flex-wrap:wrap!important;padding:4px!important;background:var(--apple-fill-quaternary)!important;border-radius:var(--apple-radius-lg)!important}.chapter-step-tab{flex:1 1 0;min-width:88px;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:0!important;border-radius:var(--apple-radius-md)!important;background:transparent!important;color:var(--apple-label-secondary)!important;font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-medium)!important;padding:8px 10px!important;text-transform:none!important;letter-spacing:-.01em!important;transition:background .12s var(--apple-ease-out),color .12s var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.chapter-step-tab:hover:not(.locked){color:var(--apple-label)!important;background:color-mix(in srgb,var(--apple-bg) 70%,transparent)!important}.chapter-step-tab.active{background:var(--apple-bg)!important;color:var(--apple-label)!important;font-weight:var(--apple-weight-semibold)!important;box-shadow:var(--apple-shadow-sm)!important}.chapter-step-num{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px!important;font-weight:var(--apple-weight-semibold)!important;background:var(--apple-fill-tertiary)!important;color:inherit}.chapter-step-tab.active .chapter-step-num{background:var(--apple-blue)!important;color:#fff!important}.chapter-step-label{text-transform:none!important}.chapter-step-progress-text{font-size:var(--apple-text-caption1)!important;color:var(--apple-label-secondary)!important;font-weight:var(--apple-weight-medium)!important;text-transform:none!important;letter-spacing:0!important}.chapter-step-progress-bar{height:4px!important;border-radius:999px!important;background:var(--apple-fill-quaternary)!important;overflow:hidden}.chapter-step-progress-fill{height:100%!important;background:var(--apple-blue)!important;border-radius:inherit}.chapter-follow-banner{background:color-mix(in srgb,var(--apple-orange) 14%,var(--apple-bg))!important;color:var(--apple-label)!important;border-bottom:1px solid var(--apple-separator)!important;font-size:var(--apple-text-footnote)!important}.chapter-workspace{background:var(--apple-bg-secondary)!important}.chapter-panel{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;box-shadow:var(--apple-shadow-sm)!important}.theory-reader{color:var(--apple-label)}.theory-reader-head,.theory-sticky-wrap,.theory-reading-bar{backdrop-filter:var(--apple-blur-thin);-webkit-backdrop-filter:var(--apple-blur-thin);background:var(--apple-material-thin)!important;border-color:var(--apple-separator)!important}.theory-reader-title{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-title2)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em;color:var(--apple-label)!important}.theory-reader-rule{background:var(--apple-separator)!important}.theory-hero{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;box-shadow:var(--apple-shadow-sm)!important}.theory-hero-badge,.theory-hero-chip{border-radius:var(--apple-radius-pill)!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label-secondary)!important;font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-medium)!important}.theory-tool-btn,.theory-size-btn,.reader-tool-btn,.theory-immersive-exit{border-radius:var(--apple-radius-pill)!important;border:0!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label)!important;min-height:32px!important;font-family:var(--apple-font-ui)!important}.theory-tool-btn:hover,.theory-size-btn:hover,.reader-tool-btn:hover{background:var(--apple-fill-tertiary)!important}.theory-read-progress{height:3px!important;background:var(--apple-fill-quaternary)!important}.theory-read-progress-fill{background:var(--apple-blue)!important}.serif-reading-area,.theory-reader-content,.theory-scroll-body{font-family:var(--apple-font-ui);line-height:1.65;color:var(--apple-label)}.theory-reader-page{max-width:42rem;margin:0 auto}.theory-callout-head{font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label)!important}.teaching-follow-badge{border-radius:var(--apple-radius-pill)!important;background:color-mix(in srgb,var(--apple-orange) 18%,transparent)!important;color:var(--apple-orange)!important;font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important}.reader-lightbox{backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.reader-lightbox-bar{background:var(--apple-material-thick)!important;border-radius:var(--apple-radius-pill)!important}@media(prefers-reduced-motion:reduce){.dash-featured-btn,.dash-chapter-card,.chapter-step-tab,.chapter-cta-btn{transition:none!important}}.sim-workspace,.student-terminal-page,.wb-palette,.shell-page{font-family:var(--apple-font-ui);-webkit-font-smoothing:antialiased}.sim-workspace{background:var(--apple-bg-secondary)!important;color:var(--apple-label)!important}.sim-sidebar{background:var(--apple-bg)!important;border-right:1px solid var(--apple-separator)!important;box-shadow:none!important}.sim-sidebar-head{border-bottom:1px solid var(--apple-separator)!important;padding:12px 14px!important}.sim-sidebar-kicker{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-tertiary)!important;text-transform:uppercase;letter-spacing:.04em}.sim-sidebar-ready{color:var(--apple-green)!important;font-size:var(--apple-text-caption1)!important}.sim-sidebar-section{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-tertiary)!important;text-transform:none!important;letter-spacing:0!important;padding:10px 14px 4px!important}.sim-sidebar-item{margin:2px 8px!important;border-radius:var(--apple-radius-md)!important;color:var(--apple-label)!important;font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-medium)!important;transition:background var(--apple-duration-press) var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.sim-sidebar-item:hover{background:var(--apple-fill-tertiary)!important}.sim-sidebar-item.active{background:color-mix(in srgb,var(--apple-blue) 14%,transparent)!important;color:var(--apple-blue)!important}.sim-sidebar-item:active{transform:scale(var(--apple-press-scale))}.sim-sidebar-exit,.sim-reset-btn{border-radius:var(--apple-radius-pill)!important;border:0!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;font-weight:var(--apple-weight-semibold)!important}.sim-sidebar-exit:hover,.sim-reset-btn:hover{background:var(--apple-fill-tertiary)!important}.sim-action-bar{backdrop-filter:var(--apple-blur-thin);-webkit-backdrop-filter:var(--apple-blur-thin);background:var(--apple-material-chrome)!important;border-bottom:1px solid var(--apple-separator)!important;box-shadow:none!important;min-height:44px!important}.sim-action-status{font-size:var(--apple-text-caption1)!important;color:var(--apple-label-secondary)!important}.sim-pin-badge{border-radius:var(--apple-radius-sm)!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label-secondary)!important}.sim-pin-badge.filled{background:var(--apple-blue)!important;color:#fff!important}.wb-palette{background:var(--apple-bg)!important;border-right:1px solid var(--apple-separator)!important}.wb-palette-head{border-bottom:1px solid var(--apple-separator)!important;background:var(--apple-bg)!important}.wb-palette-title{font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.01em;color:var(--apple-label)!important}.wb-palette-cat{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-tertiary)!important;text-transform:none!important}.wb-palette-item{border-radius:var(--apple-radius-md)!important;color:var(--apple-label)!important;transition:background .12s var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.wb-palette-item:hover{background:var(--apple-fill-tertiary)!important}.wb-palette-item:active{transform:scale(var(--apple-press-scale))}.wb-palette-note{color:var(--apple-label-secondary)!important;font-size:var(--apple-text-caption1)!important}.wb-part.selected .wb-sel{stroke:var(--apple-blue)!important}.student-terminal-page{background:var(--apple-bg-secondary)!important;color:var(--apple-label);padding:var(--apple-space-5) var(--apple-space-6)}.student-terminal-header{margin-bottom:var(--apple-space-4)}.student-terminal-title{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-title1)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.025em}.student-terminal-sub{color:var(--apple-label-secondary)!important}.student-terminal-chrome{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;box-shadow:var(--apple-shadow-md)!important;overflow:hidden}.student-terminal-chrome-title{font-size:var(--apple-text-subhead)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label)!important}.student-terminal-action{border-radius:var(--apple-radius-pill)!important;border:0!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;font-weight:var(--apple-weight-medium)!important;min-height:32px!important}.student-terminal-action:hover{background:var(--apple-fill-tertiary)!important}.student-terminal-action.primary{background:var(--apple-blue)!important;color:#fff!important}.student-terminal-body{font-family:var(--apple-font-mono)!important;background:#0b0b0f!important;color:#e8e8ed!important}.student-terminal-dots .dot.green{background:var(--apple-green)!important}.student-terminal-dots .dot.yellow{background:var(--apple-orange)!important}.student-terminal-dots .dot.red{background:var(--apple-red)!important}.ide-seg,.sim-mode-seg,.code-mode-tabs{display:inline-flex;padding:3px;border-radius:var(--apple-radius-lg);background:var(--apple-fill-quaternary);gap:2px}.ide-seg button,.sim-mode-seg button,.code-mode-tabs button{border:0;border-radius:var(--apple-radius-md);background:transparent;color:var(--apple-label-secondary);font-family:var(--apple-font-ui);font-weight:var(--apple-weight-medium);padding:6px 12px}.ide-seg button.active,.sim-mode-seg button.active,.code-mode-tabs button.active{background:var(--apple-bg);color:var(--apple-label);box-shadow:var(--apple-shadow-sm)}.teacher-dash,.th-root,.teach-hero,.ad-dash,.admin-shell,.crm-admin-body{font-family:var(--apple-font-ui);-webkit-font-smoothing:antialiased;color:var(--apple-label)}.th-root,.teacher-dash{background:var(--apple-bg-secondary)!important}.th-top{backdrop-filter:var(--apple-blur-regular);-webkit-backdrop-filter:var(--apple-blur-regular);background:var(--apple-material-chrome)!important;border-bottom:1px solid var(--apple-separator)!important;box-shadow:none!important}.th-brand-title{font-family:var(--apple-font-ui)!important;font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.015em;color:var(--apple-label)!important}.th-brand-sub,.th-version{color:var(--apple-label-tertiary)!important}.th-logout{border-radius:var(--apple-radius-pill)!important;border:0!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-red)!important;font-weight:var(--apple-weight-semibold)!important}.th-hero,.teach-hero,.th-stat,.th-chapter,.th-nav-card,.teach-panel,.ad-card,.ad-hero,.admin-card,.admin-panel{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;box-shadow:var(--apple-shadow-sm)!important}.th-kicker,.teach-kicker{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-tertiary)!important;letter-spacing:.04em;text-transform:uppercase}.th-hero h1,.teach-hero h1,.ad-hero h1{font-family:var(--apple-font-display)!important;font-size:var(--apple-text-title1)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.025em!important;color:var(--apple-label)!important}.th-hero-sub,.teach-sub,.th-hint{color:var(--apple-label-secondary)!important}.th-nav-card{transition:border-color .14s var(--apple-ease-out),box-shadow .14s var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.th-nav-card:hover{border-color:color-mix(in srgb,var(--apple-blue) 35%,var(--apple-separator))!important;box-shadow:var(--apple-shadow-md)!important}.th-nav-card.active{background:var(--apple-blue)!important;border-color:var(--apple-blue)!important;color:#fff!important}.th-nav-label{font-weight:var(--apple-weight-semibold)!important}.th-nav-blurb{color:var(--apple-label-secondary)!important}.th-nav-card.active .th-nav-blurb{color:#ffffffd9!important}.th-stat-n{font-family:var(--apple-font-display)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em;color:var(--apple-label)!important}.th-stat-l{color:var(--apple-label-secondary)!important}.th-quick-btn{border-radius:var(--apple-radius-lg)!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg)!important;color:var(--apple-label)!important;box-shadow:none!important}.th-quick-btn.primary{background:var(--apple-blue)!important;border-color:var(--apple-blue)!important;color:#fff!important}.th-chapter:hover{border-color:color-mix(in srgb,var(--apple-blue) 35%,var(--apple-separator))!important}.th-chapter-cta,.teach-chapter-cta{color:var(--apple-blue)!important}.th-table-wrap,.teach-panel--desk{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;overflow:hidden}.th-table th{background:var(--apple-bg-secondary)!important;color:var(--apple-label-secondary)!important;font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;text-transform:none!important;letter-spacing:0!important;border-bottom:1px solid var(--apple-separator)!important}.th-table td{border-bottom:1px solid var(--apple-separator)!important;color:var(--apple-label)!important;font-size:var(--apple-text-subhead)!important}.th-class-sel,.field input,.field select,.modal-input{border-radius:var(--apple-radius-md)!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg-secondary)!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;min-height:var(--apple-control-height)!important}.th-class-sel:focus,.field input:focus,.field select:focus{outline:none!important;border-color:var(--apple-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 22%,transparent)!important}.btn-primary,.teach-chapter-cta.btn-primary{border-radius:var(--apple-radius-pill)!important;background:var(--apple-blue)!important;border:0!important;box-shadow:none!important}.admin-shell{background:var(--apple-bg-secondary)!important}.admin-sidebar{background:var(--apple-bg)!important;border-right:1px solid var(--apple-separator)!important}.admin-nav-group-title{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-tertiary)!important;text-transform:none!important;letter-spacing:0!important}.admin-nav-item{margin:2px 8px!important;border-radius:var(--apple-radius-md)!important;color:var(--apple-label)!important;font-weight:var(--apple-weight-medium)!important;transition:background .12s var(--apple-ease-out)!important}.admin-nav-item:hover{background:var(--apple-fill-tertiary)!important}.admin-nav-item.active{background:color-mix(in srgb,var(--apple-blue) 14%,transparent)!important;color:var(--apple-blue)!important}.admin-nav-item.active .admin-nav-icon{color:var(--apple-blue)!important}.admin-sidebar-search{background:var(--apple-fill-quaternary)!important;border:1px solid transparent!important;border-radius:var(--apple-radius-pill)!important}.admin-sidebar-search:focus-within{border-color:var(--apple-blue)!important;background:var(--apple-bg)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 22%,transparent)!important}.admin-card-title,.admin-brand-title{font-family:var(--apple-font-display)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em;color:var(--apple-label)!important}.admin-card-subtitle,.admin-brand-sub{color:var(--apple-label-secondary)!important}.admin-tabs--pill,.admin-tabs{display:inline-flex;gap:4px;padding:3px;background:var(--apple-fill-quaternary);border-radius:var(--apple-radius-lg)}.admin-tabs button,.admin-tabs .tab,.admin-preview-tab{border-radius:var(--apple-radius-md)!important;border:0!important;background:transparent!important;color:var(--apple-label-secondary)!important;font-weight:var(--apple-weight-medium)!important}.admin-tabs button.active,.admin-tabs .tab.active,.admin-preview-tab.active{background:var(--apple-bg)!important;color:var(--apple-label)!important;box-shadow:var(--apple-shadow-sm)!important}.ad-dash{gap:16px!important}.ad-hero{padding:20px 22px!important}.ad-card-head{font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label)!important}.ad-card-sub{color:var(--apple-label-secondary)!important;font-size:var(--apple-text-caption1)!important}.ad-bar-track{background:var(--apple-fill-quaternary)!important;border-radius:999px!important;overflow:hidden}.ad-bar-fill{background:var(--apple-blue)!important}.ad-bar-fill--warn{background:var(--apple-orange)!important}.ad-heat-cell{border-radius:3px!important}.crm-school-edit,.admin-section{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important}.pill,.teach-class-pill{border-radius:var(--apple-radius-pill)!important;font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important}.pill.pending,.bad{background:color-mix(in srgb,var(--apple-orange) 16%,transparent)!important;color:var(--apple-orange)!important}.good{color:var(--apple-green)!important}.st-root,.st-page,.st-shell,[class^=st-],.site-page{-webkit-font-smoothing:antialiased}.st-shell,.st-page,.st-root{font-family:var(--apple-font-ui)!important;color:var(--apple-label);background:var(--apple-bg)!important}.st-btn--solid,.st-btn--glow{border-radius:var(--apple-radius-pill)!important;background:var(--apple-blue)!important;color:#fff!important;font-weight:var(--apple-weight-semibold)!important;box-shadow:none!important;border:0!important;transition:background var(--apple-duration-press) var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out)!important}.st-btn--solid:hover,.st-btn--glow:hover{background:var(--apple-blue-hover)!important}.st-btn--solid:active,.st-btn--glow:active,.st-btn--ghost:active{transform:scale(var(--apple-press-scale))}.st-btn--ghost{border-radius:var(--apple-radius-pill)!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label)!important;border:0!important;font-weight:var(--apple-weight-medium)!important}.st-cta-band{background:var(--apple-bg-secondary)!important;border-top:1px solid var(--apple-separator)!important;border-bottom:1px solid var(--apple-separator)!important}.st-careers-form,.st-contact-form,.st-textarea,.st-drop-icon{border-radius:var(--apple-radius-lg)!important}.st-careers-form input,.st-careers-form select,.st-contact-form input,.st-contact-form select,.st-textarea{border:1px solid var(--apple-separator)!important;background:var(--apple-bg-secondary)!important;color:var(--apple-label)!important;border-radius:var(--apple-radius-md)!important;font-family:var(--apple-font-ui)!important}.st-careers-form input:focus,.st-contact-form input:focus,.st-textarea:focus{outline:none!important;border-color:var(--apple-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 22%,transparent)!important}.st-tier-badge--p1,.st-tier-badge--p2,.st-tier-badge--p3,.st-lbl-blue,.st-lbl-red{border-radius:var(--apple-radius-pill)!important;font-weight:var(--apple-weight-semibold)!important;font-size:var(--apple-text-caption1)!important}.st-directive-icon,.st-scroll-chevron{color:var(--apple-blue)!important}.st-section--curriculum{background:var(--apple-bg-secondary)!important}.st-shell .material-symbols-outlined,.st-page .material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;opacity:.92}.st-shell h1,.st-page h1{font-family:var(--apple-font-display)!important;letter-spacing:-.03em;font-weight:var(--apple-weight-bold)!important}.st-shell h2,.st-page h2{font-family:var(--apple-font-display)!important;letter-spacing:-.02em;font-weight:var(--apple-weight-bold)!important}:root{--apple-focus-ring: 0 0 0 3px color-mix(in srgb, var(--apple-blue) 28%, transparent)}.ide-shell button:focus-visible,.auth-page button:focus-visible,.dash-page button:focus-visible,.chapter-view button:focus-visible,.th-root button:focus-visible,.admin-shell button:focus-visible,.student-terminal-page button:focus-visible,.sim-workspace button:focus-visible,.st-shell a:focus-visible,.st-shell button:focus-visible,.modal-card button:focus-visible,.shell-page button:focus-visible{outline:none;box-shadow:var(--apple-focus-ring)}.ide-shell input:focus-visible,.auth-page input:focus-visible,.admin-shell input:focus-visible,.th-root input:focus-visible,.st-shell input:focus-visible,.modal-input:focus-visible{outline:none;box-shadow:var(--apple-focus-ring)}.ide-shell-icon-btn,.ide-nav-link,.dash-featured-btn,.dash-chapter-card.unlocked,.chapter-step-tab:not(.locked),.chapter-cta-btn,.th-nav-card,.th-quick-btn,.admin-nav-item,.sim-sidebar-item,.wb-palette-item,.student-terminal-action,.st-btn--solid,.st-btn--ghost,.st-btn--glow,.btn-primary,.auth-submit{transition:background var(--apple-duration-press) var(--apple-ease-out),color var(--apple-duration-press) var(--apple-ease-out),border-color var(--apple-duration-press) var(--apple-ease-out),box-shadow .16s var(--apple-ease-out),transform var(--apple-duration-press) var(--apple-ease-out),opacity var(--apple-duration-press) var(--apple-ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.ide-shell-icon-btn:active,.dash-chapter-card.unlocked:active,.chapter-step-tab:active,.st-btn--solid:active,.auth-submit:active{transform:none!important}}.muted,.hint,.empty{color:var(--apple-label-secondary)!important}.m-shell,.m-nav{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.m-nav{padding-bottom:max(8px,env(safe-area-inset-bottom));backdrop-filter:var(--apple-blur-regular);-webkit-backdrop-filter:var(--apple-blur-regular);background:var(--apple-material-chrome);border-top:1px solid var(--apple-separator)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20;user-select:none}.ide-cloud-status{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 8px;border-radius:999px;font:500 12px/1.3 var(--apple-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);color:var(--apple-label-secondary, rgba(60, 60, 67, .6));background:var(--apple-fill-quaternary, rgba(116, 116, 128, .08));white-space:nowrap;user-select:none;transition:color .2s ease,background-color .2s ease}.ide-cloud-status.hidden{display:none}.ide-cloud-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.ide-cloud-status[data-tone=ok]:before{background:#34c759}.ide-cloud-status[data-tone=busy]:before{background:#007aff;animation:ide-cloud-pulse 1s ease-in-out infinite}.ide-cloud-status[data-tone=warn]{color:#c93400;background:#ff95001f}.ide-cloud-status[data-tone=warn]:before{background:#ff9500}.ide-cloud-status[data-tone=error]{color:#d70015;background:#ff3b301a}.ide-cloud-status[data-tone=error]:before{background:#ff3b30}@keyframes ide-cloud-pulse{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.ide-cloud-status[data-tone=busy]:before{animation:none}}html[data-theme=dark] .ide-cloud-status,body.dark .ide-cloud-status{color:#ebebf599;background:#7676803d}.files-page .files-crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.files-page .files-crumb{font:600 15px/1.3 var(--apple-font-ui, system-ui);color:var(--apple-label, rgba(0, 0, 0, .85));background:none;border:0;padding:2px 4px;border-radius:6px}.files-page button.files-crumb{color:#007aff;cursor:pointer;font-weight:500}.files-page button.files-crumb:hover{background:var(--apple-fill-quaternary, rgba(116, 116, 128, .08))}.files-page button.files-crumb:focus-visible{outline:2px solid #007aff;outline-offset:1px}.files-page .files-crumb-sep{display:inline-flex;color:var(--apple-label-tertiary, rgba(60, 60, 67, .3))}.files-page .files-row--dir .files-row-glyph{color:#007aff}.files-page .files-offline{margin:0;padding:8px 12px;border-radius:10px;font-size:13px;color:#c93400;background:#ff95001a}.files-page .files-offline[hidden]{display:none}.ide-sim-canvas-wrap{position:relative}.ide-problems-chip{position:absolute;left:10px;bottom:10px;z-index:6;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font:500 12px/1.2 var(--apple-font-ui, system-ui);color:#8a4b00;background:#fc03;border:.5px solid rgba(255,149,0,.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}.ide-problems-chip.err{color:#b0000e;background:#ff3b301f;border-color:#ff3b3073}.ide-problems-chip.hidden{display:none}.ide-problems-chip .apple-icon,.ide-problems-chip svg{flex:none}.ide-problems-pop{position:absolute;left:10px;bottom:44px;z-index:7;width:min(380px,calc(100% - 20px));max-height:46%;overflow:auto;padding:6px;border-radius:12px;background:#fffffff5;box-shadow:0 8px 30px #00000029,0 0 0 .5px #0000001f;font:13px/1.35 var(--apple-font-ui, system-ui)}.ide-problems-head{padding:4px 8px 6px;font-weight:600;color:var(--apple-label-secondary, rgba(60, 60, 67, .6));font-size:12px;text-transform:none}.ide-problems-empty{padding:8px;color:var(--apple-label-secondary, rgba(60, 60, 67, .6))}.ide-problems-row{display:grid;grid-template-columns:16px 1fr auto;gap:8px;align-items:start;width:100%;text-align:left;padding:6px 8px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;cursor:pointer}.ide-problems-row:hover{background:var(--apple-fill-quaternary, rgba(116, 116, 128, .08))}.ide-problems-row.error{color:#b0000e}.ide-problems-row.warning{color:#8a4b00}.ide-problems-msg{color:var(--apple-label, rgba(0, 0, 0, .85));overflow-wrap:anywhere}.ide-problems-src{color:var(--apple-label-secondary, rgba(60, 60, 67, .6));font-size:12px;white-space:nowrap}#sim-column g.ide-part-warn{filter:drop-shadow(0 0 2.5px #ff9500) drop-shadow(0 0 1px #ff9500)}#sim-column g.ide-part-err{filter:drop-shadow(0 0 3px #ff3b30) drop-shadow(0 0 1.2px #ff3b30)}#sim-column g.ide-part-flash{outline:2px solid #007aff;outline-offset:3px}.ide-art-toggle .ide-art-label{margin-left:4px;font-size:12px}:root,[data-theme=light]{--bg: var(--apple-bg-secondary);--bg-subtle: var(--apple-bg-secondary);--bg-muted: var(--apple-gray5);--bg-inset: var(--apple-gray6);--bg-hover: var(--apple-fill-tertiary);--bg-active: var(--apple-fill-secondary);--bg-inverse: #000000;--pe-bg: var(--apple-bg-secondary);--pe-surface: var(--apple-bg);--pe-outline: var(--apple-separator-opaque);--text: var(--apple-label);--text-secondary: var(--apple-label-secondary);--text-muted: var(--apple-label-secondary);--text-faint: var(--apple-label-tertiary);--text-inverse: #ffffff;--border: var(--apple-separator);--border-strong: var(--apple-separator-opaque);--border-focus: var(--apple-blue);--accent: var(--apple-blue);--accent-hover: var(--apple-blue-hover);--accent-active: #0055b3;--accent-soft: color-mix(in srgb, var(--apple-blue) 12%, transparent);--accent-glow: none;--accent-secondary: var(--apple-teal);--accent-secondary-soft: color-mix(in srgb, var(--apple-teal) 14%, transparent);--glass-bg: var(--apple-material-regular);--glass-bg-subtle: var(--apple-material-thin);--glass-bg-elevated: var(--apple-material-thick);--glass-border: var(--apple-separator);--glass-border-outer: transparent;--glass-blur: var(--apple-blur-regular);--glass-blur-sm: var(--apple-blur-thin);--glass-blur-lg: var(--apple-blur-thick);--glass-shadow: var(--apple-shadow-md);--shadow-sm: var(--apple-shadow-sm);--shadow-md: var(--apple-shadow-md);--shadow-lg: var(--apple-shadow-lg);--radius-xs: var(--apple-radius-xs);--radius-sm: var(--apple-radius-sm);--radius-md: var(--apple-radius-md);--radius-lg: var(--apple-radius-lg);--radius-xl: var(--apple-radius-xl);--radius-pill: var(--apple-radius-pill);--status-ok-bg: color-mix(in srgb, var(--apple-green) 16%, transparent);--status-ok-text: var(--apple-green);--status-warn-bg: color-mix(in srgb, var(--apple-orange) 16%, transparent);--status-warn-text: var(--apple-orange);--status-err-bg: color-mix(in srgb, var(--apple-red) 16%, transparent);--status-err-text: var(--apple-red);--status-info-bg: color-mix(in srgb, var(--apple-blue) 14%, transparent);--status-info-text: var(--apple-blue);--ide-bg: var(--apple-bg-secondary);--ide-toolbar: var(--apple-material-chrome);--ide-border: var(--apple-separator);--ide-text: var(--apple-label);--ide-sim-bg: var(--apple-bg-secondary);--ide-canvas-bg: var(--apple-bg);--font-sans: var(--apple-font-ui);--font-display: var(--apple-font-display);--font-mono: var(--apple-font-mono)}[data-theme=dark]{--bg: #000000;--bg-subtle: #1c1c1e;--bg-muted: #2c2c2e;--bg-inset: #000000;--bg-hover: rgba(120, 120, 128, .24);--bg-active: rgba(120, 120, 128, .32);--bg-inverse: #ffffff;--pe-bg: #000000;--pe-surface: #1c1c1e;--pe-outline: #38383a;--text: rgba(255, 255, 255, .92);--text-secondary: rgba(235, 235, 245, .6);--text-muted: rgba(235, 235, 245, .6);--text-faint: rgba(235, 235, 245, .3);--text-inverse: #000000;--border: rgba(84, 84, 88, .65);--border-strong: #38383a;--border-focus: #0a84ff;--accent: #0a84ff;--accent-hover: #409cff;--accent-active: #0a84ff;--accent-soft: rgba(10, 132, 255, .2);--accent-glow: none;--accent-secondary: #64d2ff;--accent-secondary-soft: rgba(100, 210, 255, .18);--glass-bg: rgba(30, 30, 30, .72);--glass-bg-subtle: rgba(30, 30, 30, .55);--glass-bg-elevated: rgba(44, 44, 46, .88);--glass-border: rgba(84, 84, 88, .65);--glass-border-outer: transparent;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);--glass-shadow: 0 8px 28px rgba(0, 0, 0, .5);--status-ok-text: #30d158;--status-warn-text: #ff9f0a;--status-err-text: #ff453a;--status-info-text: #0a84ff;--status-ok-bg: rgba(48, 209, 88, .18);--status-warn-bg: rgba(255, 159, 10, .18);--status-err-bg: rgba(255, 69, 58, .18);--status-info-bg: rgba(10, 132, 255, .18);--ide-bg: #000000;--ide-toolbar: rgba(28, 28, 30, .88);--ide-border: rgba(84, 84, 88, .65);--ide-text: rgba(255, 255, 255, .92);--ide-sim-bg: #1c1c1e;--ide-canvas-bg: #000000}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #000000;--bg-subtle: #1c1c1e;--bg-muted: #2c2c2e;--bg-inset: #000000;--bg-hover: rgba(120, 120, 128, .24);--bg-active: rgba(120, 120, 128, .32);--bg-inverse: #ffffff;--text: rgba(255, 255, 255, .92);--text-secondary: rgba(235, 235, 245, .6);--text-muted: rgba(235, 235, 245, .6);--text-faint: rgba(235, 235, 245, .3);--text-inverse: #000000;--border: rgba(84, 84, 88, .65);--border-strong: #38383a;--border-focus: #0a84ff;--accent: #0a84ff;--accent-hover: #409cff;--accent-active: #0a84ff;--accent-soft: rgba(10, 132, 255, .2);--glass-bg: rgba(30, 30, 30, .72);--glass-bg-elevated: rgba(44, 44, 46, .88);--ide-bg: #000000;--ide-toolbar: rgba(28, 28, 30, .88);--ide-text: rgba(255, 255, 255, .92);--ide-sim-bg: #1c1c1e;--ide-canvas-bg: #000000}}html,body,button,input,select,textarea,.auth-page,.ide-shell,.dash-page,.chapter-view,.th-root,.admin-shell,.teacher-dash,.st-shell,.st-page{font-family:var(--apple-font-ui)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}html,body{font-size:15px!important;background:var(--bg)!important;color:var(--text)!important}code,pre,.monaco-editor,.student-terminal-body,.ide-terminal,.font-mono,[class*=mono]{font-family:var(--apple-font-mono)!important;letter-spacing:0!important}h1,h2,h3,.dash-greeting,.shell-page-title,.auth-card-title,.th-hero h1,.ad-hero h1{font-family:var(--apple-font-display)!important;letter-spacing:-.025em!important}:root,[data-theme=light],[data-theme=dark]{--ide-sidebar-width: 260px;--ide-toolbar-height: 52px;--ide-footer-height: 36px}.auth-page{background-color:var(--apple-bg-secondary)!important;background-image:none!important}.auth-nav-title{text-transform:none!important;font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;letter-spacing:-.02em!important}.auth-card,.login-card{width:min(400px,92vw)!important;padding:28px!important;background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:var(--apple-radius-xl)!important;box-shadow:var(--apple-shadow-md)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.auth-submit,.btn-primary,button.primary{min-height:var(--apple-control-height-lg)!important;border-radius:var(--apple-radius-pill)!important;background:var(--apple-blue)!important;background-image:none!important;box-shadow:none!important;font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important}.auth-submit:hover,.btn-primary:hover,button.primary:hover{background:var(--apple-blue-hover)!important;transform:none!important;box-shadow:none!important}.auth-input,input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],select,textarea{min-height:var(--apple-control-height)!important;border-radius:var(--apple-radius-md)!important;border:1px solid transparent!important;background:var(--apple-fill-quaternary)!important;color:var(--apple-label)!important;font-size:var(--apple-text-body)!important;padding:8px 12px!important}input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--apple-blue)!important;background:var(--apple-bg)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--apple-blue) 22%,transparent)!important}.ide-shell{background:var(--apple-bg-secondary)!important}.ide-shell.ide-shell--sidebar-hidden{grid-template-columns:1fr!important;grid-template-areas:"topbar" "main" "footer"!important}.ide-shell.ide-shell--sidebar-hidden .ide-shell-sidebar{display:none!important}.ide-shell-topbar{display:flex!important;align-items:center!important;gap:12px!important;padding:0 14px!important;height:var(--ide-toolbar-height, 52px)!important;min-height:var(--ide-toolbar-height, 52px)!important}.ide-shell-main{min-height:0!important;overflow:auto!important}.ide-shell-search{flex:1!important;max-width:420px!important;margin:0 auto!important}.ide-shell-brand span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1180px){.ide-shell{grid-template-columns:1fr!important;grid-template-areas:"topbar" "main" "footer"!important}.ide-shell-sidebar{position:fixed!important;z-index:80!important;height:100%!important}}.dash-page{max-width:980px!important;margin:0 auto!important;padding:28px 24px 48px!important}.dash-greeting{font-size:34px!important;line-height:1.1!important;margin:4px 0 8px!important}.dash-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr)!important;gap:16px!important;align-items:stretch!important}@media(max-width:840px){.dash-hero-grid{grid-template-columns:1fr!important}}.dash-featured,.dash-summary,.dash-chapter-card,.dash-status-cell{display:flex!important;flex-direction:column!important;min-width:0!important}.dash-featured{gap:12px!important;padding:22px!important;justify-content:space-between!important}.dash-featured-deco{position:absolute!important;right:-12px!important;bottom:-24px!important;pointer-events:none!important;opacity:.12!important}.dash-featured-deco .apple-icon,.dash-featured-deco-icon{width:160px!important;height:160px!important;font-size:160px!important}.dash-chapter-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:12px!important}.dash-chapter-card{min-height:148px!important;padding:16px!important;justify-content:flex-start!important}.dash-chapter-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;width:100%!important}.dash-chapter-progress{margin-top:auto!important;width:100%!important}.dash-progress-ring{margin:0 auto!important}.chapter-view{min-height:0!important}.chapter-topbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;height:52px!important;padding:0 16px!important}.chapter-topbar-left,.chapter-topbar-right{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}.chapter-topbar-title{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.chapter-steps-wrap{display:flex!important;flex-direction:column!important;gap:10px!important;padding:12px 16px 14px!important}.chapter-steps-bar{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:1fr!important;gap:4px!important;width:100%!important;overflow:visible!important;padding:4px!important}.chapter-step-tab{min-width:0!important;width:100%!important;justify-content:center!important}.chapter-step-label{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.chapter-steps-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}.chapter-step-progress{display:flex!important;align-items:center!important;gap:10px!important;flex:1!important;min-width:0!important}.chapter-step-progress-bar{flex:1!important;max-width:220px!important}.th-table th,.th-table td,table.table th,table.table td{padding:10px 12px!important;vertical-align:middle!important}.th-table th,table.table th{position:sticky;top:0;z-index:1}.btn-sm,.shell-page-action,.chapter-toolbar-btn,.chapter-back,.chapter-reset-btn,.student-terminal-action,.th-logout,.ide-shell-icon-btn{min-height:32px!important;border-radius:var(--apple-radius-pill)!important}.admin-card,.ad-card,.teach-panel,.th-stat,.th-chapter,.th-nav-card,.chapter-panel,.shell-page .card{border-radius:var(--apple-radius-xl)!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg)!important;box-shadow:var(--apple-shadow-sm)!important}.ide-shell,.dash-page,.chapter-view,.th-root,.admin-shell{text-transform:none}.ide-shell .ide-shell-brand span,.dash-chapter-progress-head,.chapter-step-progress-text,.th-chapter-meta,.admin-nav-group-title{text-transform:none!important;letter-spacing:-.01em!important}.apple-icon-host{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:0!important}.apple-icon{display:block!important;flex-shrink:0!important}.modal-card{width:min(400px,92vw)!important;padding:22px!important}.modal-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:18px!important}.modal-actions button{min-height:36px!important;padding:0 16px!important;border-radius:var(--apple-radius-pill)!important}.st,.st *{font-family:var(--apple-font-ui),system-ui,sans-serif!important}.st code,.st pre,.st kbd,.st samp,.st .font-mono{font-family:var(--apple-font-mono),ui-monospace,monospace!important}.st .material-symbols-outlined,.st .material-symbols-rounded{font-family:Material Symbols Outlined,Material Symbols Rounded!important}.material-symbols-outlined{font-family:Material Symbols Outlined!important}code,pre,kbd,samp,.cm-editor,.cm-content,.monaco-editor,.student-terminal-body,.ad-terminal,.xterm,.xterm *{font-family:var(--apple-font-mono),ui-monospace,monospace!important}.auth-page,.login-page{min-height:100%!important}.auth-main,.auth-screen{display:flex!important;align-items:center!important;justify-content:center!important;padding:32px 16px!important;min-height:0!important}.auth-screen-grid{width:100%!important;max-width:440px!important;margin:0 auto!important;grid-template-columns:1fr!important;gap:0!important}.auth-card,.login-card{width:100%!important;max-width:440px!important;margin:0 auto!important;padding:32px 28px 28px!important;border-radius:20px!important;box-sizing:border-box!important;overflow:visible!important}.auth-card-head{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:8px!important;margin-bottom:24px!important}.auth-logo-img,.auth-nav-logo{flex-shrink:0!important;object-fit:contain!important;max-width:100%!important}.auth-logo-img{width:56px!important;height:56px!important}.auth-card-title{font-size:var(--apple-text-title2)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em!important;line-height:1.2!important;text-transform:none!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere!important}.auth-card-sub{font-size:var(--apple-text-subhead)!important;color:var(--apple-label-secondary)!important;margin:0!important}.auth-form{display:flex!important;flex-direction:column!important;gap:16px!important}.auth-field-group{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0!important}.auth-label-row{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:8px!important}.auth-field-wrap{position:relative!important;display:flex!important;align-items:center!important;width:100%!important}.auth-field-icon{position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;font-size:18px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:var(--apple-label-tertiary)!important;pointer-events:none!important}.auth-input{width:100%!important;height:44px!important;min-height:44px!important;box-sizing:border-box!important;border-radius:12px!important}.auth-field-wrap:not(.auth-field-wrap--no-icon) .auth-input{padding-left:40px!important}.auth-remember,.auth-checkbox{display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:var(--apple-text-footnote)!important}.auth-submit{width:100%!important;height:44px!important;min-height:44px!important;border-radius:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;color:#fff!important;border:0!important;text-transform:none!important;letter-spacing:-.01em!important}.auth-card-foot,.auth-foot-hint,.auth-note{text-align:center!important;font-size:var(--apple-text-footnote)!important;color:var(--apple-label-secondary)!important;margin-top:16px!important}.auth-nav-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:52px!important}.auth-nav-brand,.auth-nav-brand-btn{display:inline-flex!important;align-items:center!important;gap:10px!important;min-width:0!important}.auth-nav-title,.auth-nav-text{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}label:not([class*=btn]):not([class*=button]):not([class*=action]),.auth-field-label,.admin-field-label,.ad-field-label,.modal-label{font-size:13px!important;font-weight:var(--apple-weight-medium)!important;color:var(--apple-label-secondary)!important;text-transform:none!important;letter-spacing:0!important}input[type=text],input[type=password],input[type=email],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],select,.modal-input{height:44px!important;min-height:44px!important;box-sizing:border-box!important;line-height:1.2!important}select{-webkit-appearance:none!important;appearance:none!important;padding-right:34px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px 12px!important}textarea{min-height:88px!important;line-height:1.45!important}input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{outline:none!important;border-color:var(--apple-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 25%,transparent)!important}button:focus-visible,a:focus-visible,[role=tab]:focus-visible{outline:none!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 35%,transparent)!important}.ide-shell-search-input,.admin-sidebar-search-input,.sidebar-search-input,.th-search input,.th-class-sel,.teach-class-sel,.ad-board-select,.ad-port-select{height:36px!important;min-height:36px!important}input[type=checkbox],input[type=radio]{height:auto!important;min-height:0!important;width:16px!important;padding:0!important;accent-color:var(--apple-blue)!important}.ide-shell-topbar{overflow:hidden!important}.ide-shell-brand{display:inline-flex!important;align-items:center!important;gap:10px!important;flex:0 1 auto!important;min-width:0!important}.ide-shell-menu{flex-shrink:0!important}.ide-shell-search{flex:1 1 auto!important;min-width:120px!important;max-width:420px!important;margin:0 12px!important;position:relative!important}.ide-shell-search-input{width:100%!important;border-radius:var(--apple-radius-pill)!important;padding:0 14px 0 36px!important;font-size:var(--apple-text-subhead)!important}.ide-shell-search .apple-icon,.ide-shell-search .material-symbols-outlined{position:absolute!important;left:12px!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:none!important;color:var(--apple-label-tertiary)!important}.ide-shell-actions{display:flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important;margin-left:auto!important}.ide-shell-icon-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important}@media(max-width:720px){.ide-shell-search{display:none!important}}.ide-sidebar-nav,.sidebar-nav{display:flex!important;flex-direction:column!important;gap:2px!important;padding:8px 0!important}.ide-nav-link,.admin-nav-item,.nav-item{min-height:38px!important;height:auto!important;padding:0 12px!important;display:flex!important;align-items:center!important;gap:10px!important;border-radius:10px!important;box-sizing:border-box!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ide-nav-link>span:not(.apple-icon):not(.material-symbols-outlined):not(.apple-icon-host),.admin-nav-label{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}.admin-nav-badge,.th-nav-badge{margin-left:auto!important;flex-shrink:0!important}.ide-sidebar-user,.ide-sidebar-head,.ide-sidebar-brand{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}.ide-sidebar-meta{min-width:0!important;overflow:hidden!important}.ide-sidebar-avatar,.admin-user-avatar{flex-shrink:0!important;width:32px!important;height:32px!important;border-radius:50%!important}.apple-icon{width:20px;height:20px;stroke-width:var(--apple-icon-stroke, 1.75)}.ide-shell .material-symbols-outlined,.admin-shell .material-symbols-outlined,.th-root .material-symbols-outlined,.dash-page .material-symbols-outlined,.chapter-view .material-symbols-outlined{font-size:20px!important;width:20px!important;height:20px!important;line-height:20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;vertical-align:middle!important;overflow:hidden!important}button:has(>.apple-icon),button:has(>.apple-icon-host),button:has(>.material-symbols-outlined),a:has(>.apple-icon),a:has(>.material-symbols-outlined){display:inline-flex;align-items:center;gap:6px}.dash-header{display:flex!important;flex-direction:column!important;gap:4px!important;margin-bottom:20px!important}.dash-hero-grid{gap:20px!important;margin-bottom:28px!important}.dash-featured,.dash-summary,.dash-chapter-card,.dash-status-cell,.dash-stat{border-radius:18px!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg)!important;box-shadow:var(--apple-shadow-sm)!important;box-sizing:border-box!important}.dash-featured{position:relative!important;overflow:hidden!important;min-height:200px!important}.dash-featured-body{position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important}.dash-featured-title{font-size:var(--apple-text-title2)!important;line-height:1.2!important;overflow-wrap:anywhere!important}.dash-featured-btn{align-self:flex-start!important;height:36px!important;padding:0 16px!important;border-radius:var(--apple-radius-pill)!important;display:inline-flex!important;align-items:center!important;gap:6px!important}.dash-summary{padding:20px!important;align-items:center!important;justify-content:center!important;gap:16px!important;overflow:hidden!important}.dash-progress-ring{position:relative!important;width:132px!important;height:132px!important;max-width:100%!important;aspect-ratio:1 / 1!important;flex-shrink:0!important;border-radius:50%!important;box-sizing:border-box!important}.dash-progress-spin{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;border-radius:50%!important;box-sizing:border-box!important}.dash-progress-inner{position:absolute!important;top:10px!important;right:10px!important;bottom:10px!important;left:10px!important;border-radius:50%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;background:var(--apple-bg)!important;text-align:center!important}.dash-progress-value{font-size:28px!important;font-weight:var(--apple-weight-bold)!important;line-height:1!important;letter-spacing:-.02em!important;font-variant-numeric:tabular-nums!important}.dash-progress-label{font-size:var(--apple-text-caption1)!important;color:var(--apple-label-secondary)!important;text-transform:none!important;letter-spacing:0!important}.dash-summary-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}.dash-status-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:12px!important}.dash-status-cell{padding:14px 16px!important;gap:4px!important}.dash-section-head{display:flex!important;align-items:center!important;gap:12px!important;margin:8px 0 14px!important}.dash-section-tag,.dash-kicker{text-transform:none!important;letter-spacing:0!important;font-size:var(--apple-text-footnote)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-secondary)!important}.dash-chapter-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:16px!important;align-items:stretch!important}.dash-chapter-card{height:100%!important;gap:10px!important;overflow:hidden!important}.dash-chapter-title{font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;line-height:1.3!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.dash-chapter-num{flex-shrink:0!important;font-variant-numeric:tabular-nums!important}.dash-chapter-progress-head{display:flex!important;justify-content:space-between!important;font-size:var(--apple-text-caption1)!important;margin-bottom:6px!important}.dash-bar{height:6px!important;border-radius:3px!important;overflow:hidden!important;background:var(--apple-fill-tertiary)!important}.dash-bar-fill{height:100%!important;border-radius:3px!important;background:var(--apple-blue)!important}.chapter-topbar{box-sizing:border-box!important;border-bottom:1px solid var(--apple-separator)!important}.chapter-topbar>*,.chapter-topbar-left>*,.chapter-topbar-right>*{align-self:center!important}.chapter-topbar-left{flex:1 1 auto!important}.chapter-topbar-right{flex:0 0 auto!important}.chapter-topbar-icon{width:32px!important;height:32px!important;min-width:32px!important;flex-shrink:0!important}.chapter-back .apple-icon-host,.chapter-back .apple-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:16px!important;height:16px!important;flex-shrink:0!important}.chapter-back .apple-icon-host [data-missing-icon]{display:none!important}.chapter-topbar-icon{width:32px!important;height:32px!important;min-width:32px!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;color:var(--apple-label, #1d1d1f)!important;cursor:pointer!important}.chapter-topbar-icon:hover{background:var(--apple-fill-quaternary, rgba(120,120,128,.12))!important}.chapter-topbar-icon .apple-icon-host,.chapter-topbar-icon .apple-icon{width:18px!important;height:18px!important}.chapter-back,.chapter-toolbar-btn,.chapter-reset-btn,.chapter-cta-btn--compact{height:32px!important;min-height:32px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;white-space:nowrap!important;flex-shrink:0!important}.chapter-module-tag{white-space:nowrap!important;flex-shrink:0!important;text-transform:none!important;letter-spacing:0!important}.chapter-steps-wrap{box-sizing:border-box!important;width:100%!important}.chapter-steps-bar{border-radius:12px!important;background:var(--apple-fill-tertiary)!important;border:0!important;box-sizing:border-box!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;flex-wrap:nowrap!important}.chapter-steps-bar::-webkit-scrollbar{display:none!important}.chapter-step-tab{height:32px!important;min-height:32px!important;padding:0 10px!important;border-radius:9px!important;border:0!important;background:transparent!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:var(--apple-text-footnote)!important;font-weight:var(--apple-weight-medium)!important;color:var(--apple-label-secondary)!important;white-space:nowrap!important;min-width:88px!important}.chapter-step-tab.active{background:var(--apple-bg)!important;color:var(--apple-label)!important;font-weight:var(--apple-weight-semibold)!important;box-shadow:0 1px 3px #0000001f,0 0 0 .5px #0000000a!important}.chapter-step-tab.locked{opacity:.45!important}.chapter-step-num{width:18px!important;height:18px!important;min-width:18px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:11px!important;line-height:1!important;font-variant-numeric:tabular-nums!important;flex-shrink:0!important}.chapter-steps-meta{width:100%!important;flex-wrap:nowrap!important}.chapter-step-progress{width:100%!important}.chapter-step-progress-bar{flex:1 1 auto!important;max-width:none!important;width:100%!important;height:4px!important;border-radius:2px!important;overflow:hidden!important;background:var(--apple-fill-tertiary)!important}.chapter-step-progress-fill{height:100%!important;border-radius:2px!important;background:var(--apple-blue)!important}.chapter-step-progress-text{flex-shrink:0!important;font-size:var(--apple-text-caption1)!important;color:var(--apple-label-secondary)!important;font-variant-numeric:tabular-nums!important}.chapter-steps-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important}.shell-page-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;margin-bottom:20px!important}.shell-page-header-left{min-width:0!important;flex:1 1 260px!important}.shell-page-title{font-size:var(--apple-text-title1)!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em!important;line-height:1.15!important;text-transform:none!important;margin:0!important}.shell-page-sub{font-size:var(--apple-text-subhead)!important;color:var(--apple-label-secondary)!important;margin:4px 0 0!important}.shell-page-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}.shell-page-action{height:32px!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}.student-terminal-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important}.student-terminal-header-left,.student-terminal-header-actions{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}.student-terminal-host{border-radius:14px!important;overflow:hidden!important;border:1px solid var(--apple-separator)!important;box-shadow:var(--apple-shadow-sm)!important}.student-terminal-chrome{display:flex!important;align-items:center!important;gap:10px!important;height:36px!important;padding:0 12px!important}.student-terminal-dots{display:inline-flex!important;gap:6px!important;flex-shrink:0!important}.student-terminal-body{padding:12px 14px!important;font-size:12.5px!important;line-height:1.5!important}.student-terminal-action{height:32px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;gap:6px!important}.th-top,.admin-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:52px!important}.th-top-right,.admin-top-right,.admin-top-left{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}.th-hero,.teach-hero,.ad-hero,.admin-view-header{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;margin-bottom:20px!important}.th-hero-tools,.teach-hero-tools,.ad-hero-actions,.admin-view-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}.th-kicker,.teach-kicker,.admin-brand-tag{text-transform:none!important;letter-spacing:0!important;font-size:var(--apple-text-footnote)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-secondary)!important}.th-stats,.ad-metrics,.teach-grid,.ad-sys-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:16px!important}.th-stat,.ad-metric,.ad-card,.admin-card,.teach-panel,.teach-chapter,.th-chapter,.th-nav-card{border-radius:18px!important;padding:16px 18px!important;box-sizing:border-box!important;min-width:0!important}.th-stat-n,.ad-metric-value{font-size:28px!important;font-weight:var(--apple-weight-bold)!important;letter-spacing:-.02em!important;line-height:1.1!important;font-variant-numeric:tabular-nums!important}.th-stat-l,.ad-metric-label,.ad-sys-label{font-size:var(--apple-text-footnote)!important;color:var(--apple-label-secondary)!important;text-transform:none!important;letter-spacing:0!important}.admin-card-head,.ad-card-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important}.admin-card-title{font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;text-transform:none!important}.admin-sidebar-nav{padding:8px!important;display:flex!important;flex-direction:column!important;gap:2px!important}.admin-nav-group-title{font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;color:var(--apple-label-tertiary)!important;padding:12px 12px 4px!important}.admin-tabs,.ad-mode-bar{display:inline-flex!important;gap:2px!important;padding:3px!important;border-radius:10px!important;background:var(--apple-fill-tertiary)!important;max-width:100%!important;overflow-x:auto!important}.admin-tabs>*,.ad-mode-btn,.admin-preview-tab{height:30px!important;padding:0 12px!important;border-radius:8px!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important}.ad-pill,.teach-badge,.dash-status-pill,.admin-stat-chip{display:inline-flex!important;align-items:center!important;height:22px!important;padding:0 8px!important;border-radius:var(--apple-radius-pill)!important;font-size:var(--apple-text-caption1)!important;font-weight:var(--apple-weight-semibold)!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap!important}table th,table td,.th-table th,.th-table td,.ad-table th,.ad-table td,.chapter-table th,.chapter-table td{padding:10px 12px!important;vertical-align:middle!important;font-size:var(--apple-text-subhead)!important;border-bottom:1px solid var(--apple-separator)!important}table th,.th-table th,.ad-table th,.chapter-table th{font-weight:600!important;text-transform:none!important;letter-spacing:0!important;font-size:var(--apple-text-footnote)!important;color:var(--apple-label-secondary)!important;text-align:left!important;background:var(--apple-bg-secondary)!important;white-space:nowrap!important}table tr:last-child td{border-bottom:0!important}.th-table-wrap,.admin-table-wrap{border-radius:14px!important;border:1px solid var(--apple-separator)!important;overflow:auto!important;background:var(--apple-bg)!important}.th-table-wrap table,.admin-table-wrap table{width:100%!important;border-collapse:collapse!important}.modal-overlay{display:flex;align-items:center;justify-content:center;padding:16px!important}.modal-card{border-radius:16px!important;box-shadow:var(--apple-shadow-lg)!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg)!important;box-sizing:border-box!important;max-height:calc(100vh - 32px)!important;overflow:auto!important}.modal-title{font-size:var(--apple-text-headline)!important;font-weight:var(--apple-weight-semibold)!important;text-transform:none!important;margin:0 0 6px!important}.modal-message{font-size:var(--apple-text-subhead)!important;color:var(--apple-label-secondary)!important;line-height:1.45!important}.modal-input{width:100%!important;margin-top:12px!important}#lms-toast{border-radius:14px!important;box-shadow:var(--apple-shadow-lg)!important;max-width:min(420px,calc(100vw - 32px))!important;text-align:center!important}.blocklyHtmlInput,.blocklyWidgetDiv input,.blocklyWidgetDiv select,.blocklyDropDownDiv input,.xterm-helper-textarea,.cm-editor textarea,.monaco-editor textarea,.monaco-editor input{height:auto!important;min-height:0!important;padding:revert!important;border-radius:revert!important;box-shadow:none!important;background-image:none!important}.xterm-helper-textarea{min-height:0!important}:root,[data-theme=light]{--wbx-canvas: #f5f5f7;--wbx-dot: rgba(60, 60, 67, .16);--wbx-dot-major: rgba(60, 60, 67, .26);--wbx-tile: #ffffff;--wbx-glass: rgba(255, 255, 255, .78);--wbx-glass-strong: rgba(255, 255, 255, .9);--wbx-hairline: rgba(60, 60, 67, .14);--wbx-blue-soft: rgba(0, 122, 255, .14);--wbx-casing: rgba(0, 0, 0, .32);--ide-canvas-bg: var(--wbx-canvas)}[data-theme=dark]{--wbx-canvas: #161618;--wbx-dot: rgba(235, 235, 245, .1);--wbx-dot-major: rgba(235, 235, 245, .18);--wbx-tile: #2c2c2e;--wbx-glass: rgba(36, 36, 38, .78);--wbx-glass-strong: rgba(44, 44, 46, .92);--wbx-hairline: rgba(235, 235, 245, .12);--wbx-blue-soft: rgba(10, 132, 255, .2);--wbx-casing: rgba(0, 0, 0, .55);--ide-canvas-bg: var(--wbx-canvas)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--wbx-canvas: #161618;--wbx-dot: rgba(235, 235, 245, .1);--wbx-dot-major: rgba(235, 235, 245, .18);--wbx-tile: #2c2c2e;--wbx-glass: rgba(36, 36, 38, .78);--wbx-glass-strong: rgba(44, 44, 46, .92);--wbx-hairline: rgba(235, 235, 245, .12);--wbx-blue-soft: rgba(10, 132, 255, .2);--wbx-casing: rgba(0, 0, 0, .55);--ide-canvas-bg: var(--wbx-canvas)}}#wb{background:var(--wbx-canvas)!important;font-family:var(--apple-font-ui)!important;-webkit-font-smoothing:antialiased;position:relative}#wb-main{position:relative!important;background:transparent!important}#wb #wb-svg,.ide-root--stitch #wb-svg{background-color:var(--wbx-canvas)!important;background-image:none!important}#wb .wb-grid-minor,#wb .wb-grid-major{shape-rendering:geometricPrecision!important;stroke-linecap:round;stroke-dasharray:.01 19.99}#wb .wb-grid-minor{stroke:var(--wbx-dot)!important;stroke-width:1.8!important}#wb .wb-grid-major{stroke:var(--wbx-dot-major)!important;stroke-width:2.4!important}#wb .wb-grid-origin-axis{stroke:var(--apple-blue)!important;opacity:.22!important;shape-rendering:geometricPrecision}#wb .wb-grid-origin-dot{fill:var(--apple-blue)!important;opacity:.35!important}#wb .wb-palette,.ide-root--stitch #wb .wb-palette{flex:0 0 236px!important;width:236px!important;margin:10px 0 10px 10px;border:.5px solid var(--wbx-hairline)!important;border-radius:16px!important;background:var(--wbx-glass)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--apple-shadow-md);overflow:hidden;display:flex;flex-direction:column;min-height:0}#wb .wb-palette-head,.ide-root--stitch #wb .wb-palette-head{display:flex!important;align-items:center;gap:8px;padding:14px 14px 6px!important;background:transparent!important;border:0!important}#wb .wb-palette-glyph{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--apple-blue);color:#fff;flex:0 0 auto}#wb .wb-palette-head .material-symbols-outlined{display:none!important}#wb .wb-palette-title,.ide-root--stitch #wb .wb-palette-title{font-family:var(--apple-font-ui)!important;font-size:15px!important;font-weight:600!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--apple-label)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wb .wb-palette-search-wrap{position:relative;display:block;margin:6px 12px 8px;flex:0 0 auto}#wb .wb-palette-search-ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--apple-label-secondary);pointer-events:none}#wb #wb-palette-search,.ide-root--stitch #wb #wb-palette-search{width:100%;height:36px;margin:0!important;padding:0 10px 0 32px!important;box-sizing:border-box;border:0!important;border-radius:10px!important;background:var(--apple-fill-tertiary)!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;font-size:14px!important;outline:none;box-shadow:none!important;transition:box-shadow .16s var(--apple-ease-out),background .16s var(--apple-ease-out)}#wb #wb-palette-search::placeholder{color:var(--apple-label-secondary)}#wb #wb-palette-search:focus{background:var(--apple-bg)!important;box-shadow:0 0 0 3.5px var(--wbx-blue-soft),0 0 0 1px var(--apple-blue)!important}#wb #wb-palette-search::-webkit-search-cancel-button{opacity:.6}#wb .wb-palette-list{padding:0 8px 12px!important;scrollbar-width:thin}#wb .wb-palette-cat{position:sticky;top:0;z-index:1;padding:12px 8px 6px!important;font-family:var(--apple-font-ui)!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;opacity:1!important;color:var(--apple-label-secondary)!important;background:linear-gradient(var(--wbx-glass-strong) 70%,transparent)}#wb .wb-palette-item,.ide-root--stitch #wb .wb-palette-item{position:relative;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%;min-height:48px;margin:0!important;padding:6px 8px!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;text-align:left!important;color:var(--apple-label)!important;cursor:pointer;transform:none;transition:background .12s var(--apple-ease-out),transform .1s var(--apple-ease-out)!important}#wb .wb-palette-item+.wb-palette-item:before{content:"";position:absolute;top:0;left:62px;right:8px;height:.5px;background:var(--wbx-hairline)}#wb .wb-palette-item:hover:not(:disabled),.ide-root--stitch #wb .wb-palette-item:hover:not(:disabled){background:var(--apple-fill-quaternary)!important;transform:none!important;box-shadow:none!important}#wb .wb-palette-item:hover:before,#wb .wb-palette-item:hover+.wb-palette-item:before{opacity:0}#wb .wb-palette-item:active:not(:disabled){background:var(--apple-fill-tertiary)!important;transform:scale(.98)!important}#wb .wb-palette-item:focus-visible{outline:none;box-shadow:0 0 0 3px var(--wbx-blue-soft)!important}#wb .wb-part-ico{flex:0 0 44px;width:44px!important;height:34px!important;padding:4px;box-sizing:border-box;border-radius:9px;background:var(--wbx-tile);box-shadow:0 0 0 .5px var(--wbx-hairline),0 1px 2px #0000000f}#wb .wb-part-name,.ide-root--stitch #wb .wb-part-name{flex:1 1 auto;min-width:0;font-family:var(--apple-font-ui)!important;font-size:13px!important;font-weight:500!important;letter-spacing:-.005em!important;line-height:1.25!important;text-transform:none!important;color:var(--apple-label)!important;word-break:normal!important;overflow-wrap:anywhere}#wb .wb-palette-qty{flex:0 0 auto;margin-left:auto;padding:1px 7px;border-radius:999px;background:var(--apple-fill-tertiary);font-family:var(--apple-font-ui)!important;font-size:11px!important;font-weight:600!important;font-variant-numeric:tabular-nums;color:var(--apple-label-secondary)!important}#wb .wb-palette-item.is-exhausted{opacity:.4}#wb .wb-palette-note{margin:4px 4px 8px!important;padding:10px 12px!important;border:0!important;border-radius:12px!important;background:var(--apple-fill-quaternary)!important;font-family:var(--apple-font-ui)!important;font-size:12px!important;line-height:1.4!important;color:var(--apple-label-secondary)!important}#wb .wb-palette-note strong{font-size:13px!important;font-weight:600;color:var(--apple-label)!important;margin-bottom:4px}.ide-sim-toolbar:has(#wb-tools){flex:0 0 52px!important;height:52px!important;padding:0 14px!important;background:var(--wbx-glass)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--wbx-hairline)!important}#wb-tools.wb-toolbar,.ide-root--stitch #wb-tools.wb-toolbar{display:flex!important;align-items:center!important;gap:8px!important;height:auto!important;padding:0!important;background:transparent!important;border:0!important;font-family:var(--apple-font-ui)!important}#wb-tools .wb-tool-group{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:10px;background:var(--apple-fill-quaternary);box-shadow:inset 0 0 0 .5px var(--wbx-hairline)}#wb-tools .wb-sep,.ide-root--stitch #wb-tools .wb-sep{display:inline-block!important;width:.5px!important;height:22px!important;margin:0 2px!important;background:var(--wbx-hairline)!important}#wb-tools button.wb-tool,.ide-root--stitch #wb-tools button.wb-tool[data-act]{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:6px;width:36px!important;height:32px!important;min-width:36px;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;font-size:13px!important;font-weight:500;line-height:1;cursor:pointer;box-shadow:none!important;transition:background .12s var(--apple-ease-out),color .12s var(--apple-ease-out),transform .1s var(--apple-ease-out),opacity .12s ease!important}.ide-root--stitch #wb-tools button.wb-tool[data-act]:after,#wb-tools button.wb-tool:after{content:none!important;display:none!important}#wb-tools .wb-tool-ico{flex:0 0 auto;display:block}#wb-tools .wb-tool-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#wb-tools button.wb-tool:hover:not(:disabled),.ide-root--stitch #wb-tools button.wb-tool[data-act]:hover:not(:disabled){background:var(--apple-fill-tertiary)!important;color:var(--apple-label)!important;border-color:transparent!important}#wb-tools button.wb-tool:active:not(:disabled){background:var(--apple-fill-secondary)!important;transform:scale(.96)}#wb-tools button.wb-tool:focus-visible{outline:none;box-shadow:0 0 0 3px var(--wbx-blue-soft)!important}#wb-tools button.wb-tool:disabled,.ide-root--stitch #wb-tools button.wb-tool[data-act]:disabled{opacity:.3!important;pointer-events:none}#wb-tools button.wb-tool--primary,.ide-root--stitch #wb-tools button.wb-tool--primary[data-act]{width:auto!important;padding:0 14px 0 11px!important;border-radius:999px!important;background:var(--apple-blue)!important;color:#fff!important;font-weight:600!important;box-shadow:0 1px 2px #007aff40,0 4px 12px #007aff2e!important}#wb-tools button.wb-tool--primary .wb-tool-label{position:static;width:auto;height:auto;clip:auto;overflow:visible}#wb-tools button.wb-tool--primary:hover:not(:disabled),.ide-root--stitch #wb-tools button.wb-tool--primary[data-act]:hover:not(:disabled){background:var(--apple-blue-hover)!important;color:#fff!important}#wb-tools button.wb-tool--destructive,.ide-root--stitch #wb-tools button.wb-tool--destructive[data-act]{color:var(--apple-red)!important}#wb-tools button.wb-tool--destructive:hover:not(:disabled),.ide-root--stitch #wb-tools button.wb-tool--destructive[data-act]:hover:not(:disabled){background:#ff3b301f!important;color:var(--apple-red)!important}#wb-tools button[data-act=zin],#wb-tools button[data-act=zout],#wb-tools button[data-act=fit],#wb-tools #wb-hint{display:none!important}#wb .wb-zoom-pill{position:absolute;left:14px;bottom:14px;z-index:6;display:inline-flex;align-items:center;padding:3px;gap:0;border-radius:12px;background:var(--wbx-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 .5px var(--wbx-hairline),var(--apple-shadow-md)}#wb .wb-zoom-pill button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--apple-label);cursor:pointer;transition:background .12s var(--apple-ease-out),transform .1s var(--apple-ease-out)}#wb .wb-zoom-pill button+button{box-shadow:-.5px 0 0 var(--wbx-hairline)}#wb .wb-zoom-pill button:hover{background:var(--apple-fill-tertiary)}#wb .wb-zoom-pill button:active{transform:scale(.94)}#wb .wb-hud{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:5;max-width:calc(100% - 40px);padding:6px 14px;border-radius:999px;background:var(--wbx-glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 .5px var(--wbx-hairline),var(--apple-shadow-sm);font-family:var(--apple-font-ui);font-size:12px;font-weight:500;color:var(--apple-label-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:.82;transition:opacity .2s var(--apple-ease-out),color .2s var(--apple-ease-out)}#wb.wb-wiring .wb-hud{color:var(--apple-blue);opacity:1}#wb.wb-sim-locked .wb-hud{color:var(--apple-label);opacity:.9}#wb .wb-hud:empty{display:none}#wb #wb-props{right:14px!important;bottom:14px!important;width:256px!important;max-height:calc(100% - 28px);overflow-y:auto;padding:14px!important;box-sizing:border-box;border:0!important;border-radius:14px!important;background:var(--wbx-glass-strong)!important;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:0 0 0 .5px var(--wbx-hairline),var(--apple-shadow-lg)!important;font-family:var(--apple-font-ui)!important;color:var(--apple-label);z-index:7;animation:wbx-pop .22s var(--apple-ease-out)}@keyframes wbx-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}#wb .wb-prop-title{font-family:var(--apple-font-ui)!important;font-size:15px!important;font-weight:600!important;letter-spacing:-.01em;color:var(--apple-label)!important;margin:0 0 8px!important}#wb .wb-prop-hint{font-family:var(--apple-font-ui)!important;font-size:12px!important;line-height:1.45!important;color:var(--apple-label-secondary)!important;margin-bottom:10px!important}#wb .wb-prop-hint strong{color:var(--apple-label);font-weight:600}#wb .wb-prop-row{display:flex;align-items:center;gap:8px;margin:8px 0!important;font-family:var(--apple-font-ui)!important;font-size:13px!important;color:var(--apple-label)!important}#wb .wb-prop-row input[type=range]{flex:1;accent-color:var(--apple-blue)}#wb .wb-prop-color,#wb .wb-prop-value{flex:1;height:30px;padding:0 8px!important;border:0!important;border-radius:8px!important;background:var(--apple-fill-tertiary)!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;font-size:13px!important;outline:none}#wb .wb-prop-color:focus,#wb .wb-prop-value:focus{box-shadow:0 0 0 3px var(--wbx-blue-soft)}#wb .wb-prop-actions{display:flex;gap:8px;margin-top:12px!important}#wb .wb-prop-btn{flex:1;height:34px!important;min-height:34px;padding:0 12px!important;border:0!important;border-radius:10px!important;background:var(--apple-fill-tertiary)!important;color:var(--apple-blue)!important;font-family:var(--apple-font-ui)!important;font-size:13px!important;font-weight:600!important;cursor:pointer;box-shadow:none!important;transition:background .12s var(--apple-ease-out),transform .1s var(--apple-ease-out)!important}#wb #wb-props>.wb-prop-btn{width:100%;margin-top:8px}#wb .wb-prop-btn:hover{background:var(--apple-fill-secondary)!important}#wb .wb-prop-btn:active{transform:scale(.97)}#wb .wb-prop-btn.danger{background:#ff3b301f!important;color:var(--apple-red)!important}#wb .wb-prop-btn.danger:hover{background:#ff3b302e!important}#wb .wb-prop-btn.toggle.on{background:var(--apple-blue)!important;color:#fff!important}#wb .wb-prop-swatches{flex-wrap:wrap;gap:8px!important}#wb .wb-swatch{width:22px!important;height:22px!important;border-radius:50%!important;border:0!important;box-shadow:inset 0 0 0 .5px #0003;cursor:pointer;transition:transform .12s var(--apple-ease-out),box-shadow .12s var(--apple-ease-out)}#wb .wb-swatch:hover{transform:scale(1.1)}#wb .wb-swatch.is-on{box-shadow:0 0 0 2px var(--wbx-glass-strong),0 0 0 4px var(--apple-blue)}#wb .wb-part .wb-sel{fill:none;stroke:none}#wb:not(.wb-sim-locked) .wb-part:hover .wb-sel{stroke:var(--apple-blue)!important;stroke-opacity:.35;stroke-width:1.5!important;stroke-dasharray:none!important;fill:none!important;animation:none!important}#wb .wb-part.selected .wb-sel,#wb:not(.wb-sim-locked) .wb-part.selected:hover .wb-sel{stroke:var(--apple-blue)!important;stroke-opacity:.9;stroke-width:2!important;stroke-dasharray:none!important;fill:#007aff0b!important;animation:none!important}#wb.wb-sim-locked .wb-part.selected .wb-sel{stroke-dasharray:5 4!important;stroke-opacity:.6}#wb .wb-part-tag-bg{fill:var(--wbx-glass-strong)!important;stroke:var(--wbx-hairline)!important;stroke-width:.75!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}#wb .wb-part-tag-text{font-family:var(--apple-font-ui)!important;font-size:11px!important;font-weight:600!important;letter-spacing:0!important;fill:var(--apple-label-secondary)!important;stroke:none!important}#wb .wb-wire-casing{fill:none;stroke:var(--wbx-casing);stroke:color-mix(in srgb,var(--wire-color, #43a047) 45%,#000 55%);stroke-opacity:.55;stroke-width:5.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke-width .14s var(--apple-ease-out),stroke-opacity .14s var(--apple-ease-out)}#wb .wb-wire,#wb .wb-wire.sel{fill:none;stroke-width:3.4!important;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none!important;animation:none!important;pointer-events:none;transition:stroke-width .14s var(--apple-ease-out)}#wb .wb-wire-sheen{fill:none;stroke:#ffffff52;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}#wb .wb-wire-group:hover .wb-wire{stroke-width:3.9!important;stroke-dasharray:none!important;animation:none!important}#wb .wb-wire-group:hover .wb-wire-casing{stroke-width:6.4;stroke-opacity:.7}#wb .wb-wire-group.sel .wb-wire-casing{stroke:var(--apple-blue);stroke-opacity:.32;stroke-width:10}#wb .wb-wire-group.sel .wb-wire{stroke-width:4!important}#wb.wb-sim-locked .wb-wire-group:hover .wb-wire{stroke-width:3.4!important}#wb .wb-wire-end,#wb .wb-junction{fill:#d9dde1!important;stroke:#00000073!important;stroke-width:.9!important;pointer-events:none}#wb .wb-junction{fill:#eef0f2!important;stroke-width:1.1!important}#wb .wb-wire-node{fill:#fff!important;stroke:var(--apple-blue)!important;stroke-width:2!important;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.25));cursor:grab;transition:fill .12s var(--apple-ease-out)}#wb .wb-wire-node:hover,#wb .wb-wire-group.sel .wb-wire-node:hover{fill:var(--apple-blue)!important;stroke:#fff!important}#wb .wb-wire-node:active{cursor:grabbing}#wb .wb-wire-group.sel .wb-wire-node{fill:#fff!important}#wb .wb-temp-wire{stroke:var(--apple-blue);stroke-width:3.4!important;stroke-opacity:.8;stroke-dasharray:1 7!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.18))}#wb .wb-temp-wire.snapped{stroke-opacity:1;stroke-width:3.6!important;stroke-dasharray:none!important}#wb .wb-snap-ring{fill:#007aff29!important;stroke:var(--apple-blue)!important;stroke-width:2.5!important;transform-box:fill-box;transform-origin:center;animation:wbx-snap 1.1s var(--apple-ease-in-out) infinite}@keyframes wbx-snap{0%,to{transform:scale(1);stroke-opacity:1}50%{transform:scale(1.18);stroke-opacity:.6}}#wb.wb-wiring .wb-pin-hit{stroke:transparent!important;stroke-width:14!important}#wb.wb-wiring .wb-pin-group .pin-pad{stroke:var(--apple-blue)!important;stroke-width:.9!important;opacity:1!important}#wb .wb-pin-group:hover .pin-pad,#wb .wb-pin-group.pending .pin-pad{stroke:var(--apple-blue)!important;stroke-width:1.4!important}#wb .wb-pin-label{font-family:var(--apple-font-ui)!important;font-size:6.5px;font-weight:600}@media(prefers-reduced-motion:reduce){#wb .wb-snap-ring,#wb #wb-props{animation:none!important}}#wb .rp-kp .kp-btn{fill:#ececee;stroke:#b9bcc1;stroke-width:1}#wb .rp-kp .kp-key:hover .kp-btn{fill:#f7f7f8}#wb .rp-kp .kp-key.pressed .kp-btn{fill:#d6e6ff;stroke:var(--apple-blue, #0a84ff)}#wb .rp-kp .kp-label{fill:#1d1d1f}#wb .rp-kp .kp-alpha .kp-label{fill:#d0312d}#wb .rp-joy .joy-stick{fill:#2a2c30;stroke:#0d0e10;stroke-width:1.5}#wb .rp-joy .joy-cap{fill:#3e4146;stroke:none}#wb .wb-part.joy-pressed .rp-joy .joy-stick{fill:#4a4d53}html #wb #wb-props{top:12px;right:12px!important;bottom:auto!important;left:auto!important;width:224px!important;max-width:calc(100% - 24px);max-height:calc(100% - 84px)!important;padding:12px!important;border-radius:12px!important;transform-origin:top right}html #wb #wb-props .wb-prop-title{font-size:13px!important;margin-bottom:6px!important}html #wb #wb-props .wb-prop-hint{font-size:11.5px!important;margin-bottom:8px!important}html #wb #wb-props .wb-prop-actions{margin-top:10px!important}@keyframes wbx-pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}html #wb.wb-has-props .wb-hud{left:14px;transform:none;max-width:calc(100% - 268px)!important}.polaris-jump-line{background:#ffcc0047;transition:background .6s ease}#output-body .polaris-diag-link{cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.polaris-dbg-host{position:relative}.polaris-dbg-bar{position:absolute;top:8px;right:18px;z-index:6;display:flex;gap:2px;align-items:center;padding:3px;border-radius:10px;background:var(--color-bg-elevated, rgba(255, 255, 255, .86));backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border:.5px solid rgba(60,60,67,.18);box-shadow:0 2px 10px #0000001a;font:12px -apple-system,BlinkMacSystemFont,system-ui,sans-serif}.polaris-dbg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 5px;border:0;border-radius:7px;background:transparent;color:var(--color-text-secondary, rgba(60, 60, 67, .75));cursor:pointer}.polaris-dbg-btn:hover:not(:disabled){background:#78788024;color:var(--color-text, #1d1d1f)}.polaris-dbg-btn.active{color:#0a84ff;background:#0a84ff1f}.polaris-dbg-btn[data-act=debug].active{color:#ff453a;background:#ff453a1f}.polaris-dbg-btn:disabled{opacity:.35;cursor:default}.polaris-dbg-btn:focus-visible{outline:2px solid #0a84ff;outline-offset:1px}.polaris-bp-glyph{cursor:pointer}.polaris-bp-glyph:before{content:"";display:block;width:10px;height:10px;margin:4px 0 0 5px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 1.5px #ffffffb3}.polaris-dbg-line{background:#ffd60a4d!important}.polaris-dbg-line--frame{background:#34c75933!important}.polaris-dbg-arrow:after{content:"";display:block;width:0;height:0;margin:4px 0 0 6px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #ffcc00}.polaris-dbg-arrow--frame:after{border-left-color:#34c759}.polaris-dbg-panel{position:absolute;right:18px;bottom:14px;z-index:6;width:min(300px,70%);max-height:min(60%,420px);overflow:auto;padding:8px 10px 10px;border-radius:12px;background:var(--color-bg-elevated, rgba(255, 255, 255, .92));backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:.5px solid rgba(60,60,67,.18);box-shadow:0 8px 28px #00000029;font:12px -apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:var(--color-text, #1d1d1f)}.polaris-dbg-panel.hidden{display:none}.polaris-dbg-head{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:4px}.polaris-dbg-head span{flex:1}.polaris-dbg-sec{margin:8px 0 3px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--color-text-secondary, rgba(60, 60, 67, .6));text-transform:uppercase}.polaris-dbg-sub{margin:6px 0 2px;font-size:11px;color:var(--color-text-secondary, rgba(60, 60, 67, .6))}.polaris-dbg-frame{display:flex;width:100%;justify-content:space-between;gap:8px;padding:3px 6px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.polaris-dbg-frame:hover{background:#7878801f}.polaris-dbg-frame.active{background:#0a84ff24;color:#0a84ff}.polaris-dbg-frame .ln,.polaris-dbg-empty{color:var(--color-text-secondary, rgba(60, 60, 67, .6))}.polaris-dbg-var{display:flex;justify-content:space-between;gap:10px;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px}.polaris-dbg-var .k{color:#af52de;flex-shrink:0}.polaris-dbg-var .v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.polaris-dbg-var.muted .v{color:var(--color-text-secondary, rgba(60, 60, 67, .5));font-style:italic}.polaris-dbg-watch{display:flex;align-items:center}.polaris-dbg-watch .polaris-dbg-var{flex:1;min-width:0}.polaris-dbg-x{border:0;background:transparent;color:var(--color-text-secondary, rgba(60, 60, 67, .6));cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.polaris-dbg-add input{width:100%;box-sizing:border-box;margin-top:4px;padding:4px 8px;border-radius:7px;border:.5px solid rgba(60,60,67,.25);background:#78788014;color:inherit;font:11.5px ui-monospace,SF Mono,Menlo,Consolas,monospace}.polaris-dbg-note{margin:4px 0;line-height:1.4}.polaris-dbg-cmd{display:flex;gap:6px;align-items:flex-start;margin-top:6px}.polaris-dbg-cmd code{flex:1;padding:6px;border-radius:6px;background:#7878801f;font-size:11px;word-break:break-all}html[data-theme=dark] .polaris-dbg-bar,html[data-theme=dark] .polaris-dbg-panel{background:#2c2c2ee6;border-color:#ebebf524;color:#f5f5f7}html[data-theme=dark] .polaris-dbg-btn{color:#ebebf5b3}html[data-theme=dark] .polaris-dbg-btn:hover:not(:disabled){color:#fff}.sp-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;font:12px -apple-system,BlinkMacSystemFont,system-ui,sans-serif}.sp-btn{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:0;border-radius:7px;background:#7878801f;color:inherit;font:inherit;cursor:pointer}.sp-btn:hover{background:#78788033}.sp-btn.active{background:#0a84ff29;color:#0a84ff}.sp-sep{width:1px;height:16px;margin:0 2px;background:#7878804d}.sp-check{display:inline-flex;align-items:center;gap:4px}.sp-num{width:64px;height:22px;padding:0 6px;border-radius:6px;border:.5px solid rgba(60,60,67,.25);background:transparent;color:inherit;font:inherit}.sp-num:disabled{opacity:.45}.sp-sel{height:24px;border-radius:7px;border:.5px solid rgba(60,60,67,.25);background:transparent;color:inherit;font:inherit}:root,[data-theme=light]{--xc-font-mono: "SF Mono", ui-monospace, Menlo, Monaco, "Courier New", monospace;--xc-font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--xc-editor-bg: #ffffff;--xc-chrome-bg: rgba(246, 246, 248, .86);--xc-hairline: rgba(60, 60, 67, .14);--xc-label: #1d1d1f;--xc-label-2: rgba(60, 60, 67, .62);--xc-label-3: rgba(60, 60, 67, .36);--xc-fill: rgba(120, 120, 128, .12);--xc-fill-hover: rgba(120, 120, 128, .18);--xc-accent: #007aff;--xc-popover: rgba(251, 251, 253, .94);--xc-popover-border: rgba(0, 0, 0, .1);--xc-popover-shadow: 0 0 0 .5px rgba(0, 0, 0, .08), 0 10px 32px rgba(0, 0, 0, .16), 0 2px 6px rgba(0, 0, 0, .08);--xc-tab-active: #ffffff}[data-theme=dark]{--xc-editor-bg: #1f1f24;--xc-chrome-bg: rgba(40, 40, 44, .86);--xc-hairline: rgba(235, 235, 245, .12);--xc-label: #dfdfe0;--xc-label-2: rgba(235, 235, 245, .6);--xc-label-3: rgba(235, 235, 245, .32);--xc-fill: rgba(120, 120, 128, .24);--xc-fill-hover: rgba(120, 120, 128, .32);--xc-accent: #0a84ff;--xc-popover: rgba(44, 44, 48, .94);--xc-popover-border: rgba(255, 255, 255, .1);--xc-popover-shadow: 0 0 0 .5px rgba(0, 0, 0, .6), 0 12px 36px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .3);--xc-tab-active: #1f1f24}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--xc-editor-bg: #1f1f24;--xc-chrome-bg: rgba(40, 40, 44, .86);--xc-hairline: rgba(235, 235, 245, .12);--xc-label: #dfdfe0;--xc-label-2: rgba(235, 235, 245, .6);--xc-label-3: rgba(235, 235, 245, .32);--xc-fill: rgba(120, 120, 128, .24);--xc-fill-hover: rgba(120, 120, 128, .32);--xc-accent: #0a84ff;--xc-popover: rgba(44, 44, 48, .94);--xc-popover-border: rgba(255, 255, 255, .1);--xc-popover-shadow: 0 0 0 .5px rgba(0, 0, 0, .6), 0 12px 36px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .3);--xc-tab-active: #1f1f24}}#editor-column,.ide-root--stitch #editor-column{background:var(--xc-editor-bg)!important;min-width:0}#workspace-stack{background:var(--xc-editor-bg);min-width:0}#workspace-stack #editor-container{background:var(--xc-editor-bg)!important;border:0!important;border-radius:0!important;box-shadow:none!important}#editor-column .ide-editor-head{height:38px!important;flex:0 0 38px!important;padding:0 8px 0 0!important;align-items:center!important;background:var(--xc-chrome-bg)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--xc-hairline)!important;box-shadow:none!important}#editor-column .ide-editor-head-left{align-self:stretch!important;align-items:stretch!important;gap:0!important;min-width:0;position:relative;display:inline-flex!important}#editor-column .ide-editor-head-left:before{content:"";position:absolute;inset:6px auto 0 6px;width:calc(100% - 6px);background:var(--xc-tab-active);border:.5px solid var(--xc-hairline);border-bottom:0;border-radius:8px 8px 0 0;pointer-events:none}#editor-column .ide-editor-head-left>*{position:relative;z-index:1}#editor-column .ide-editor-head-left .material-symbols-outlined{display:inline-flex;align-items:center;margin:6px 0 0 16px;font-size:15px!important;color:#ff9500!important;font-variation-settings:"FILL" 1,"wght" 400}#editor-column .ide-editor-head .file-name{display:inline-flex!important;align-items:center;margin:6px 14px 0 6px!important;padding:0!important;max-width:260px;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--xc-label)!important;font-family:var(--xc-font-ui)!important;font-size:12px!important;font-weight:500!important;letter-spacing:-.01em!important}#editor-column .ide-editor-head .file-name:hover{color:var(--xc-accent)!important}#editor-column .ide-editor-head-right{display:inline-flex!important;gap:6px!important;align-items:center!important;align-self:center!important;height:100%!important;padding-right:2px!important}#editor-column .ide-editor-head .ide-pane-fs-btn:not(.ide-show-board-btn){height:24px!important;padding:0 9px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--xc-label-2)!important;font-family:var(--xc-font-ui)!important;font-size:11px!important;font-weight:500!important;box-shadow:none!important;transform:none!important}#editor-column .ide-editor-head .ide-pane-fs-btn:not(.ide-show-board-btn):hover{background:var(--xc-fill)!important;color:var(--xc-label)!important}#editor-column .ide-editor-head .ide-pane-fs-btn .material-symbols-outlined{font-size:15px!important}#editor-column .ide-editor-head .ide-show-board-btn{height:24px!important;padding:0 10px!important;border-radius:6px!important;background:var(--xc-accent)!important;border:0!important;box-shadow:none!important;font-size:11px!important;transform:none!important}.ed-tabs,#ed-tabs{display:flex;align-items:flex-end;gap:2px;height:34px;padding:0 6px;background:var(--xc-chrome-bg);border-bottom:.5px solid var(--xc-hairline)}.ed-tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:7px 7px 0 0;color:var(--xc-label-2);font:500 12px/1 var(--xc-font-ui);cursor:default}.ed-tab:hover{background:var(--xc-fill);color:var(--xc-label)}.ed-tab.active{background:var(--xc-tab-active);color:var(--xc-label);box-shadow:0 0 0 .5px var(--xc-hairline)}.ed-tab-close{opacity:0;border-radius:4px;width:16px;text-align:center}.ed-tab:hover .ed-tab-close,.ed-tab.active .ed-tab-close{opacity:.6}.ed-tab-close:hover{opacity:1;background:var(--xc-fill-hover)}.ed-tab-add{color:var(--xc-label-3)}#editor-container .monaco-editor,#editor-container .monaco-editor .view-lines,#editor-container .monaco-editor .view-line,#editor-container .monaco-editor .margin-view-overlays,#editor-container .monaco-editor .line-numbers,#editor-container .monaco-editor .suggest-widget .monaco-list-row,#editor-container .monaco-editor .suggest-widget .monaco-list-row .monaco-icon-label{font-family:var(--xc-font-mono)!important}#editor-container .monaco-editor,#editor-container .monaco-editor .margin,#editor-container .monaco-editor-background{background-color:var(--xc-editor-bg)!important}#editor-container .monaco-editor .line-numbers{color:var(--xc-label-3)!important;font-variant-numeric:tabular-nums;font-size:11px}#editor-container .monaco-editor .line-numbers.active-line-number{color:var(--xc-label-2)!important}#editor-container .monaco-editor .cursor{background-color:var(--xc-accent)!important;border-color:var(--xc-accent)!important;border-radius:1px}#editor-container .monaco-editor .current-line{border:0!important}#editor-container .monaco-editor .focused .selected-text,#editor-container .monaco-editor .selected-text{border-radius:3px}#editor-container .monaco-scrollable-element>.scrollbar>.slider{border-radius:999px!important}#editor-container .monaco-scrollable-element>.scrollbar.vertical>.slider{margin-left:1px;width:6px!important}#editor-container .monaco-scrollable-element>.scrollbar.horizontal>.slider{margin-top:1px;height:6px!important}#editor-container .monaco-scrollable-element>.shadow{display:none!important}#editor-container .monaco-editor .suggest-widget{z-index:40!important;border-radius:10px!important;border:.5px solid var(--xc-popover-border)!important;background:var(--xc-popover)!important;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:var(--xc-popover-shadow)!important;overflow:hidden}#editor-container .monaco-editor .suggest-widget .monaco-list,#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-rows,#editor-container .monaco-editor .suggest-widget .tree{background:transparent!important}#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row{border-radius:7px;font-family:var(--xc-font-mono)!important;font-size:12px!important}#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{background:var(--xc-accent)!important;box-shadow:inset 0 0 0 3px var(--xc-popover)!important;color:#fff!important}#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row .highlight{font-weight:700!important}#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row .details-label,#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row .label-description{font-family:var(--xc-font-ui)!important;font-size:11px!important;opacity:.7}#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .details-label,#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .label-description{opacity:.9}#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{border-radius:4px;transform:scale(.92)}#editor-container .monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .suggest-icon:before{color:#fff!important}#editor-container .monaco-editor .suggest-details-container,#editor-container .monaco-editor .suggest-details{border-radius:10px!important}#editor-container .monaco-editor .suggest-details{border:.5px solid var(--xc-popover-border)!important;background:var(--xc-popover)!important;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:var(--xc-popover-shadow)!important;font-family:var(--xc-font-ui)!important;font-size:12px!important;color:var(--xc-label)!important}#editor-container .monaco-editor .suggest-details .header .type{font-family:var(--xc-font-mono)!important;font-size:11.5px!important;opacity:.85}#editor-container .monaco-editor .suggest-details code,#editor-container .monaco-editor .suggest-details pre{font-family:var(--xc-font-mono)!important;font-size:11.5px}#editor-container .monaco-editor .monaco-hover,#editor-container .monaco-editor .parameter-hints-widget{border-radius:10px!important;border:.5px solid var(--xc-popover-border)!important;background:var(--xc-popover)!important;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:var(--xc-popover-shadow)!important;color:var(--xc-label)!important;font-family:var(--xc-font-ui)!important;font-size:12px!important;overflow:hidden}#editor-container .monaco-editor .monaco-hover *,#editor-container .monaco-editor .suggest-details *,#editor-container .monaco-editor .parameter-hints-widget .docs *{font-family:var(--xc-font-ui)!important}#editor-container .monaco-editor .monaco-hover .hover-row{border:0!important}#editor-container .monaco-editor .monaco-hover .hover-contents{padding:6px 10px!important}#editor-container .monaco-editor .monaco-hover code,#editor-container .monaco-editor .monaco-hover pre,#editor-container .monaco-editor .suggest-details .header .type,#editor-container .monaco-editor .suggest-details code,#editor-container .monaco-editor .suggest-details pre,#editor-container .monaco-editor .suggest-details pre *,#editor-container .monaco-editor .parameter-hints-widget .signature,#editor-container .monaco-editor .parameter-hints-widget .signature *{font-family:var(--xc-font-mono)!important;font-size:12px!important}#editor-container .monaco-editor .parameter-hints-widget .parameter.active{color:var(--xc-accent)!important;font-weight:600;text-decoration:none!important}#editor-container .monaco-editor .parameter-hints-widget .docs{color:var(--xc-label-2)!important}#editor-container .monaco-editor .find-widget{border-radius:0 0 10px 10px!important;background:var(--xc-popover)!important;box-shadow:var(--xc-popover-shadow)!important;font-family:var(--xc-font-ui)!important}#editor-container .monaco-editor .err-line{background:#ff3b301a!important;border-left:0!important}#editor-container .monaco-editor .err-line-margin{background:#ff3b301a!important}#editor-container .monaco-editor .err-gutter{background:#ff3b30!important;width:3px!important;border-radius:2px}#editor-container .monaco-editor .err-glyph{background:#ff3b30!important;box-shadow:0 0 0 2px #ff3b3038}:root,[data-theme=light]{--sp-panel-bg: var(--apple-bg-secondary, #f2f2f7);--sp-chrome-bg: rgba(246, 246, 248, .92);--sp-body-bg: #ffffff;--sp-send-bg: rgba(242, 242, 247, .95);--sp-hairline: rgba(60, 60, 67, .14);--sp-label: rgba(0, 0, 0, .85);--sp-label-2: rgba(60, 60, 67, .6);--sp-label-3: rgba(60, 60, 67, .36);--sp-fill: rgba(120, 120, 128, .12);--sp-fill-hover: rgba(120, 120, 128, .18);--sp-fill-selected: rgba(0, 122, 255, .12);--sp-accent: #007aff;--sp-accent-text: #ffffff;--sp-input-bg: #ffffff;--sp-input-border: rgba(60, 60, 67, .22);--sp-input-text: rgba(0, 0, 0, .85);--sp-select-bg: rgba(120, 120, 128, .12);--sp-select-border: rgba(60, 60, 67, .18);--sp-serial: #1a7f37;--sp-error: #d70015;--sp-system: rgba(60, 60, 67, .55);--sp-console-info: rgba(0, 0, 0, .78);--sp-pill-on-fg: #1a7f37;--sp-pill-on-border: rgba(52, 199, 89, .45);--sp-pill-on-bg: rgba(52, 199, 89, .12);--sp-pill-off-fg: rgba(60, 60, 67, .45);--sp-pill-off-border: rgba(60, 60, 67, .18);--sp-plot-bg: #f5f5f7;--sp-plot-grid: rgba(60, 60, 67, .12);--sp-plot-tick: rgba(60, 60, 67, .55);--sp-plot-muted: rgba(60, 60, 67, .45);--sp-plot-legend: rgba(0, 0, 0, .72)}[data-theme=dark]{--sp-panel-bg: #1c1c1e;--sp-chrome-bg: rgba(40, 40, 44, .92);--sp-body-bg: #161618;--sp-send-bg: rgba(28, 28, 30, .95);--sp-hairline: rgba(235, 235, 245, .12);--sp-label: rgba(255, 255, 255, .88);--sp-label-2: rgba(235, 235, 245, .6);--sp-label-3: rgba(235, 235, 245, .32);--sp-fill: rgba(120, 120, 128, .24);--sp-fill-hover: rgba(120, 120, 128, .32);--sp-fill-selected: rgba(10, 132, 255, .22);--sp-accent: #0a84ff;--sp-accent-text: #ffffff;--sp-input-bg: #2c2c2e;--sp-input-border: rgba(235, 235, 245, .16);--sp-input-text: rgba(255, 255, 255, .88);--sp-select-bg: rgba(120, 120, 128, .28);--sp-select-border: rgba(235, 235, 245, .16);--sp-serial: #30d158;--sp-error: #ff453a;--sp-system: rgba(235, 235, 245, .45);--sp-console-info: rgba(235, 235, 245, .82);--sp-pill-on-fg: #30d158;--sp-pill-on-border: rgba(48, 209, 88, .4);--sp-pill-on-bg: rgba(48, 209, 88, .12);--sp-pill-off-fg: rgba(235, 235, 245, .4);--sp-pill-off-border: rgba(235, 235, 245, .14);--sp-plot-bg: #161618;--sp-plot-grid: rgba(235, 235, 245, .1);--sp-plot-tick: rgba(235, 235, 245, .5);--sp-plot-muted: rgba(235, 235, 245, .4);--sp-plot-legend: rgba(235, 235, 245, .75)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--sp-panel-bg: #1c1c1e;--sp-chrome-bg: rgba(40, 40, 44, .92);--sp-body-bg: #161618;--sp-send-bg: rgba(28, 28, 30, .95);--sp-hairline: rgba(235, 235, 245, .12);--sp-label: rgba(255, 255, 255, .88);--sp-label-2: rgba(235, 235, 245, .6);--sp-label-3: rgba(235, 235, 245, .32);--sp-fill: rgba(120, 120, 128, .24);--sp-fill-hover: rgba(120, 120, 128, .32);--sp-fill-selected: rgba(10, 132, 255, .22);--sp-accent: #0a84ff;--sp-accent-text: #ffffff;--sp-input-bg: #2c2c2e;--sp-input-border: rgba(235, 235, 245, .16);--sp-input-text: rgba(255, 255, 255, .88);--sp-select-bg: rgba(120, 120, 128, .28);--sp-select-border: rgba(235, 235, 245, .16);--sp-serial: #30d158;--sp-error: #ff453a;--sp-system: rgba(235, 235, 245, .45);--sp-console-info: rgba(235, 235, 245, .82);--sp-pill-on-fg: #30d158;--sp-pill-on-border: rgba(48, 209, 88, .4);--sp-pill-on-bg: rgba(48, 209, 88, .12);--sp-pill-off-fg: rgba(235, 235, 245, .4);--sp-pill-off-border: rgba(235, 235, 245, .14);--sp-plot-bg: #161618;--sp-plot-grid: rgba(235, 235, 245, .1);--sp-plot-tick: rgba(235, 235, 245, .5);--sp-plot-muted: rgba(235, 235, 245, .4);--sp-plot-legend: rgba(235, 235, 245, .75)}}#output-panel.ide-serial-panel,.ide-root--stitch #output-panel.ide-serial-panel{background:var(--sp-panel-bg)!important;border-top:.5px solid var(--sp-hairline)!important;color:var(--sp-label)}#output-panel.ide-serial-panel{--sp-ctl-h: 28px;--sp-ctl-radius: 7px;--sp-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}#output-panel.ide-serial-panel #output-header{box-sizing:border-box!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;height:40px!important;min-height:40px!important;flex:0 0 40px!important;gap:8px!important;padding:0 10px!important;background:var(--sp-chrome-bg)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);color:var(--sp-label-2)!important;font-family:var(--apple-font-ui, -apple-system, BlinkMacSystemFont, system-ui, sans-serif)!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;border-bottom:.5px solid var(--sp-hairline)!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}#output-panel.ide-serial-panel #output-header::-webkit-scrollbar{display:none}#output-panel.ide-serial-panel #output-header>*{flex:0 0 auto;margin-top:0!important;margin-bottom:0!important}#output-panel.ide-serial-panel .ide-serial-tabs{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;gap:2px!important;height:var(--sp-ctl-h)!important;padding:2px!important;margin:0 4px 0 0!important;border-radius:var(--sp-ctl-radius)!important;background:var(--sp-fill)!important;border:0!important}#output-panel.ide-serial-panel .ide-serial-tab{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:calc(var(--sp-ctl-h) - 4px)!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0 10px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:var(--sp-label-2)!important;font:500 12px/1 var(--apple-font-ui, -apple-system, BlinkMacSystemFont, system-ui, sans-serif)!important;letter-spacing:-.01em!important;text-transform:none!important;white-space:nowrap!important;box-shadow:none!important;cursor:pointer;transition:background .1s ease-out,color .1s ease-out}#output-panel.ide-serial-panel .ide-serial-tab:hover{color:var(--sp-label)!important;background:var(--sp-fill-hover)!important}#output-panel.ide-serial-panel .ide-serial-tab.active{color:var(--sp-accent-text)!important;background:var(--sp-accent)!important;font-weight:600!important;box-shadow:0 .5px 1px #0000001f!important}#output-panel.ide-serial-panel .ide-serial-tab:active{transform:scale(var(--apple-press-scale, .97))}#output-panel.ide-serial-panel .ide-serial-title{display:inline-flex!important;align-items:center!important;height:var(--sp-ctl-h)!important;font-family:var(--apple-font-mono, ui-monospace, "SF Mono", Menlo, monospace)!important;font-size:11px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--sp-label-3)!important;white-space:nowrap}#output-panel.ide-serial-panel .ide-serial-baud,#output-panel.ide-serial-panel .ide-serial-source{display:inline-flex!important;align-items:center!important;height:var(--sp-ctl-h)!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}#output-panel.ide-serial-panel .ide-serial-baud select,#output-panel.ide-serial-panel .ide-serial-source select{box-sizing:border-box!important;height:var(--sp-ctl-h)!important;min-height:0!important;max-height:var(--sp-ctl-h)!important;width:auto!important;margin:0!important;padding:0 24px 0 10px!important;border-radius:var(--sp-ctl-radius)!important;border:0!important;background-color:var(--sp-fill)!important;background-image:var(--sp-chevron)!important;background-repeat:no-repeat!important;background-position:right 8px center!important;background-size:10px 10px!important;color:var(--sp-label)!important;font-family:var(--apple-font-ui, -apple-system, BlinkMacSystemFont, system-ui, sans-serif)!important;font-size:12px!important;font-weight:500!important;line-height:var(--sp-ctl-h)!important;letter-spacing:-.01em!important;box-shadow:none!important;cursor:pointer;appearance:none!important;-webkit-appearance:none!important}#output-panel.ide-serial-panel .ide-serial-baud select:hover,#output-panel.ide-serial-panel .ide-serial-source select:hover{background-color:var(--sp-fill-hover)!important}#output-panel.ide-serial-panel .ide-serial-baud select:focus,#output-panel.ide-serial-panel .ide-serial-source select:focus,#output-panel.ide-serial-panel .ide-serial-baud select:focus-visible,#output-panel.ide-serial-panel .ide-serial-source select:focus-visible{outline:none!important;border:0!important;background-color:var(--sp-fill-hover)!important;box-shadow:0 0 0 3px #007aff38!important}#output-panel.ide-serial-panel .ide-serial-baud select option,#output-panel.ide-serial-panel .ide-serial-source select option{background:var(--sp-body-bg);color:var(--sp-label)}#output-panel.ide-serial-panel .ide-serial-connected{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:var(--sp-ctl-h, 28px)!important;min-height:var(--sp-ctl-h, 28px)!important;min-width:44px!important;margin:0 0 0 auto!important;padding:0 10px!important;font-size:11px!important;font-weight:600!important;line-height:1!important;letter-spacing:.02em!important;text-transform:uppercase!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;border-radius:var(--apple-radius-pill, 999px)!important;border:.5px solid var(--sp-pill-off-border)!important;border-style:solid!important;color:var(--sp-pill-off-fg)!important;background:var(--sp-fill)!important;background-image:none!important;box-shadow:none!important;flex-shrink:0!important}#output-panel.ide-serial-panel .ide-serial-connected--on{color:var(--sp-pill-on-fg)!important;border-color:var(--sp-pill-on-border)!important;border-style:solid!important;background:var(--sp-pill-on-bg)!important}#output-panel.ide-serial-panel .ide-serial-connect,#output-panel.ide-serial-panel #btn-clear-output,#output-panel.ide-serial-panel .ide-guide-toggle{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:var(--sp-ctl-h)!important;min-height:0!important;max-height:var(--sp-ctl-h)!important;margin:0!important;padding:0 12px!important;border-radius:var(--sp-ctl-radius)!important;border:0!important;background:var(--sp-fill)!important;background-image:none!important;color:var(--sp-label)!important;font-family:var(--apple-font-ui, -apple-system, BlinkMacSystemFont, system-ui, sans-serif)!important;font-size:12px!important;font-weight:500!important;line-height:1!important;letter-spacing:-.01em!important;text-transform:none!important;box-shadow:none!important;cursor:pointer;transition:background .1s ease-out,color .1s ease-out}#output-panel.ide-serial-panel .ide-serial-connect.hidden{display:none!important}#output-panel.ide-serial-panel .ide-serial-connect:hover,#output-panel.ide-serial-panel #btn-clear-output:hover,#output-panel.ide-serial-panel .ide-guide-toggle:hover{background:var(--sp-fill-hover)!important;color:var(--sp-label)!important}#output-panel.ide-serial-panel .ide-guide-toggle.active{background:var(--sp-accent)!important;color:var(--sp-accent-text)!important}#output-panel.ide-serial-panel .ide-serial-connect:active,#output-panel.ide-serial-panel #btn-clear-output:active,#output-panel.ide-serial-panel .ide-guide-toggle:active{transform:scale(var(--apple-press-scale, .97))}#output-panel.ide-serial-panel #output-body,#output-panel.ide-serial-panel .ide-serial-monitor-body{background:var(--sp-body-bg)!important;color:var(--sp-serial)!important;font-family:var(--apple-font-mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace)!important;font-size:12px!important;line-height:1.5!important;letter-spacing:0!important;padding:8px 12px!important}#output-panel.ide-serial-panel .output-line-info{color:var(--sp-serial)!important}#output-panel.ide-serial-panel .output-line-error{color:var(--sp-error)!important;font-weight:600}#output-panel.ide-serial-panel .output-line-system{color:var(--sp-system)!important;font-style:normal}#output-panel.ide-serial-panel .ide-serial-console-mode .output-line-info,#output-panel.ide-serial-panel.ide-serial-console-mode .output-line-info,.ide-serial-console-mode .output-line-info{color:var(--sp-console-info)!important}#output-panel.ide-serial-panel .ide-serial-plotter-wrap{background:var(--sp-plot-bg)!important}#output-panel.ide-serial-panel .ide-serial-send{display:flex;gap:8px;flex:0 0 auto;align-items:center!important;padding:6px 10px!important;border-top:.5px solid var(--sp-hairline)!important;background:var(--sp-send-bg)!important}#output-panel.ide-serial-panel .ide-serial-send input{flex:1;min-width:0;box-sizing:border-box!important;height:var(--sp-ctl-h)!important;min-height:0!important;max-height:var(--sp-ctl-h)!important;line-height:var(--sp-ctl-h)!important;border-radius:8px!important;border:.5px solid var(--sp-input-border)!important;background:var(--sp-input-bg)!important;color:var(--sp-input-text)!important;font:13px/1 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,sans-serif!important;letter-spacing:0!important;padding:0 10px!important}#output-panel.ide-serial-panel .ide-serial-send input::placeholder{color:var(--sp-label-3)}#output-panel.ide-serial-panel .ide-serial-send input:focus{outline:none;border-color:var(--sp-accent)!important;box-shadow:0 0 0 3px #007aff38}#output-panel.ide-serial-panel .ide-serial-send button,#output-panel.ide-serial-panel #btn-serial-send{box-sizing:border-box!important;height:var(--sp-ctl-h)!important;min-height:0!important;line-height:1!important;padding:0 14px!important;border-radius:8px!important;border:0!important;background:var(--sp-accent)!important;color:var(--sp-accent-text)!important;font-family:var(--apple-font-ui, -apple-system, BlinkMacSystemFont, system-ui, sans-serif)!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;cursor:pointer;box-shadow:0 1px 2px #007aff47}#output-panel.ide-serial-panel .ide-serial-send button:hover,#output-panel.ide-serial-panel #btn-serial-send:hover{filter:brightness(1.06)}#output-panel.ide-serial-panel .ide-serial-send button:active,#output-panel.ide-serial-panel #btn-serial-send:active{transform:scale(var(--apple-press-scale, .97))}#output-panel.ide-serial-panel #output-body::-webkit-scrollbar,#output-panel.ide-serial-panel .ide-serial-monitor-body::-webkit-scrollbar{width:8px;height:8px}#output-panel.ide-serial-panel #output-body::-webkit-scrollbar-thumb,#output-panel.ide-serial-panel .ide-serial-monitor-body::-webkit-scrollbar-thumb{background:var(--sp-fill-hover);border-radius:8px}#output-panel.ide-serial-panel #output-body::-webkit-scrollbar-track,#output-panel.ide-serial-panel .ide-serial-monitor-body::-webkit-scrollbar-track{background:transparent}:root,[data-theme=light]{--ide-tb-h: 30px;--ide-tb-pad-x: 10px;--ide-tb-gap: 8px;--ide-tb-group-gap: 8px;--ide-tb-radius: 6px;--ide-tb-seg-radius: 8px;--ide-tb-chrome: rgba(246, 246, 248, .92);--ide-tb-hairline: rgba(60, 60, 67, .18);--ide-tb-fill: rgba(120, 120, 128, .12);--ide-tb-fill-hover: rgba(120, 120, 128, .18);--ide-tb-fill-press: rgba(120, 120, 128, .24);--ide-tb-seg-track: rgba(118, 118, 128, .12);--ide-tb-seg-active: #ffffff;--ide-tb-seg-shadow: 0 .5px 1px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--ide-tb-label: rgba(0, 0, 0, .85);--ide-tb-label-2: rgba(60, 60, 67, .6);--ide-tb-blue: #007aff;--ide-tb-blue-hover: #0066d6;--ide-tb-blue-press: #0055b3;--ide-tb-menu-bg: rgba(251, 251, 253, .96);--ide-tb-menu-shadow: 0 0 0 .5px rgba(0, 0, 0, .08), 0 8px 28px rgba(0, 0, 0, .14), 0 2px 6px rgba(0, 0, 0, .06)}[data-theme=dark]{--ide-tb-chrome: rgba(40, 40, 44, .92);--ide-tb-hairline: rgba(235, 235, 245, .14);--ide-tb-fill: rgba(120, 120, 128, .28);--ide-tb-fill-hover: rgba(120, 120, 128, .36);--ide-tb-fill-press: rgba(120, 120, 128, .44);--ide-tb-seg-track: rgba(120, 120, 128, .28);--ide-tb-seg-active: #636366;--ide-tb-seg-shadow: 0 .5px 1px rgba(0, 0, 0, .4), inset 0 .5px 0 rgba(255, 255, 255, .08);--ide-tb-label: rgba(255, 255, 255, .92);--ide-tb-label-2: rgba(235, 235, 245, .6);--ide-tb-blue: #0a84ff;--ide-tb-blue-hover: #409cff;--ide-tb-blue-press: #0070e0;--ide-tb-menu-bg: rgba(44, 44, 48, .96);--ide-tb-menu-shadow: 0 0 0 .5px rgba(0, 0, 0, .5), 0 12px 36px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ide-tb-chrome: rgba(40, 40, 44, .92);--ide-tb-hairline: rgba(235, 235, 245, .14);--ide-tb-fill: rgba(120, 120, 128, .28);--ide-tb-fill-hover: rgba(120, 120, 128, .36);--ide-tb-fill-press: rgba(120, 120, 128, .44);--ide-tb-seg-track: rgba(120, 120, 128, .28);--ide-tb-seg-active: #636366;--ide-tb-seg-shadow: 0 .5px 1px rgba(0, 0, 0, .4), inset 0 .5px 0 rgba(255, 255, 255, .08);--ide-tb-label: rgba(255, 255, 255, .92);--ide-tb-label-2: rgba(235, 235, 245, .6);--ide-tb-blue: #0a84ff;--ide-tb-blue-hover: #409cff;--ide-tb-blue-press: #0070e0;--ide-tb-menu-bg: rgba(44, 44, 48, .96);--ide-tb-menu-shadow: 0 0 0 .5px rgba(0, 0, 0, .5), 0 12px 36px rgba(0, 0, 0, .5)}}.ide-root--stitch .ide-toolbar-aux.ide-app-toolbar,.ide-app-toolbar.ide-toolbar-aux,#toolbar.ide-toolbar-aux{box-sizing:border-box!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;height:40px!important;min-height:40px!important;max-height:40px!important;padding:0 12px!important;background:var(--ide-tb-chrome)!important;-webkit-backdrop-filter:saturate(180%) blur(20px)!important;backdrop-filter:saturate(180%) blur(20px)!important;border-bottom:.5px solid var(--ide-tb-hairline)!important;box-shadow:none!important;overflow:visible!important;position:relative!important;z-index:60!important;scrollbar-width:none!important;font-family:var(--apple-font-ui),-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;-webkit-font-smoothing:antialiased}.ide-app-toolbar::-webkit-scrollbar,.ide-toolbar-aux::-webkit-scrollbar{display:none!important}.ide-app-toolbar .ide-toolbar-aux-left,.ide-app-toolbar .ide-toolbar-aux-right,.ide-toolbar-aux-left,.ide-toolbar-aux-right{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:var(--ide-tb-gap)!important;min-width:0!important;margin:0!important}.ide-app-toolbar .ide-toolbar-aux-left{flex:1 1 auto!important;overflow:visible!important}.ide-app-toolbar .ide-toolbar-aux-right{flex:0 0 auto!important;margin-left:auto!important}.ide-app-toolbar #toolbar-spacer,#toolbar.ide-toolbar-aux #toolbar-spacer{display:none!important;flex:0!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important}.ide-tb-cluster,.ide-tb-group{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:var(--ide-tb-group-gap)!important;flex-shrink:0!important}.ide-tb-group--assist:not(:has(>:not(.hidden))),.ide-tb-group--usb:not(:has(>:not(.hidden))){display:none!important}.ide-app-toolbar .ide-toolbar-sep,.ide-toolbar-sep{width:1px!important;height:16px!important;margin:0 4px!important;background:var(--ide-tb-hairline)!important;border:0!important;flex-shrink:0!important;align-self:center!important}.ide-app-toolbar .ide-tool-btn,.ide-app-toolbar .ide-tool-btn--stitch,.ide-app-toolbar .ide-tool-btn--primary,.ide-app-toolbar .ide-tool-select,.ide-app-toolbar .mode-btn,.ide-toolbar-aux .ide-tool-btn,.ide-toolbar-aux .ide-tool-btn--stitch,.ide-toolbar-aux .ide-tool-select{box-sizing:border-box!important;height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important;max-height:var(--ide-tb-h)!important;margin:0!important;padding:0 var(--ide-tb-pad-x)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;border-radius:var(--ide-tb-radius)!important;font-family:var(--apple-font-ui),-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:-.01em!important;text-transform:none!important;line-height:1!important;white-space:nowrap!important;cursor:pointer!important;transform:none!important;transition:background .1s ease-out,color .1s ease-out,border-color .1s ease-out,box-shadow .1s ease-out!important;-webkit-appearance:none!important;appearance:none!important}.ide-app-toolbar .ide-tool-btn .material-symbols-outlined,.ide-app-toolbar .ide-tool-btn--stitch .material-symbols-outlined,.ide-app-toolbar .mode-btn .material-symbols-outlined{font-size:15px!important;line-height:1!important;width:15px!important;height:15px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 20!important}.ide-app-toolbar .ide-tool-btn,.ide-app-toolbar .ide-tool-btn--stitch,.ide-toolbar-aux .ide-tool-btn,.ide-toolbar-aux .ide-tool-btn--stitch{background:transparent!important;border:0!important;color:var(--ide-tb-label)!important;box-shadow:none!important;filter:none!important}.ide-app-toolbar .ide-tool-btn:hover,.ide-app-toolbar .ide-tool-btn--stitch:hover,.ide-toolbar-aux .ide-tool-btn:hover,.ide-toolbar-aux .ide-tool-btn--stitch:hover{background:var(--ide-tb-fill-hover)!important;color:var(--ide-tb-label)!important;border:0!important;box-shadow:none!important;filter:none!important;transform:none!important}.ide-app-toolbar .ide-tool-btn:active,.ide-app-toolbar .ide-tool-btn--stitch:active{background:var(--ide-tb-fill-press)!important;transform:scale(.97)!important}.ide-app-toolbar .ide-tool-btn--icon{width:var(--ide-tb-h)!important;min-width:var(--ide-tb-h)!important;padding:0!important}.ide-app-toolbar .ide-tool-btn--primary,.ide-toolbar-aux .ide-tool-btn--primary,#btn-save.ide-tool-btn--primary{background:var(--ide-tb-blue)!important;color:#fff!important;border:0!important;font-weight:600!important;padding:0 14px!important;border-radius:var(--apple-radius-pill, 999px)!important;box-shadow:none!important;filter:none!important}.ide-app-toolbar .ide-tool-btn--primary:hover,#btn-save.ide-tool-btn--primary:hover{background:var(--ide-tb-blue-hover)!important;color:#fff!important;filter:none!important;transform:none!important;box-shadow:none!important}.ide-app-toolbar .ide-tool-btn--primary:active,#btn-save.ide-tool-btn--primary:active{background:var(--ide-tb-blue-press)!important;transform:scale(.97)!important}.ide-app-toolbar .ide-tool-select,.ide-toolbar-aux .ide-tool-select{max-width:140px!important;background:var(--ide-tb-fill)!important;border:0!important;color:var(--ide-tb-label)!important;padding:0 24px 0 8px!important;border-radius:var(--ide-tb-radius)!important;box-shadow:none!important}.ide-app-toolbar .ide-tool-select:hover{background:var(--ide-tb-fill-hover)!important}.ide-app-toolbar .ide-tool-select.hidden,.ide-app-toolbar .ide-tool-btn.hidden,.ide-app-toolbar .ide-auto-wrap.hidden{display:none!important}.ide-app-toolbar .ide-auto-wrap,.ide-toolbar-aux .ide-auto-wrap{display:inline-flex!important;align-items:center!important;gap:6px!important;height:var(--ide-tb-h)!important;margin:0!important;padding:0 8px!important;border-radius:var(--ide-tb-radius)!important;font-size:12px!important;font-weight:500!important;color:var(--ide-tb-label-2)!important;background:transparent!important;white-space:nowrap!important}.ide-app-toolbar .ide-auto-wrap:hover{background:var(--ide-tb-fill-hover)!important;color:var(--ide-tb-label)!important}.ide-app-toolbar .ide-auto-wrap input{width:14px!important;height:14px!important;margin:0!important;accent-color:var(--ide-tb-blue)!important}.ide-app-toolbar .ide-toolbar-hint,.ide-toolbar-hint{display:inline-flex!important;align-items:center!important;height:var(--ide-tb-h)!important;margin:0 0 0 4px!important;padding:0 8px!important;border:0!important;border-radius:var(--apple-radius-pill, 999px)!important;background:var(--ide-tb-fill)!important;color:var(--ide-tb-label-2)!important;font-family:var(--apple-font-ui),system-ui,sans-serif!important;font-size:11px!important;font-weight:500!important;letter-spacing:-.01em!important;text-transform:none!important;white-space:nowrap!important;flex-shrink:1!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:180px!important;box-shadow:none!important}.ide-app-toolbar #status-dot,#toolbar #status-dot{width:8px!important;height:8px!important;min-width:8px!important;margin:0 0 0 4px!important;border-radius:50%!important;flex-shrink:0!important;box-shadow:none!important}.ide-app-toolbar #status-dot.status-idle,.ide-app-toolbar #status-dot.status-stopped{background:var(--apple-gray3, #c7c7cc)!important;animation:none!important}.ide-app-toolbar #status-dot.status-running,.ide-app-toolbar #status-dot.status-compiling{background:var(--apple-green, #34c759)!important}.ide-app-toolbar #status-dot.status-error{background:var(--apple-red, #ff3b30)!important;animation:none!important}.ide-app-toolbar #status-dot.status-paused{background:var(--apple-orange, #ff9500)!important;animation:none!important}.ide-app-toolbar .mode-toggle,.ide-app-toolbar .mode-toggle--stitch,.ide-app-toolbar .mode-toggle--play,.ide-toolbar-aux .mode-toggle--play,.mode-toggle.mode-toggle--stitch.mode-toggle--play{display:inline-flex!important;align-items:center!important;gap:2px!important;margin:0!important;padding:2px!important;height:calc(var(--ide-tb-h) + 4px)!important;min-height:calc(var(--ide-tb-h) + 4px)!important;border:0!important;border-radius:var(--ide-tb-seg-radius)!important;background:var(--ide-tb-seg-track)!important;box-shadow:none!important;filter:none!important;flex-shrink:0!important}.ide-app-toolbar .mode-toggle .mode-btn,.ide-app-toolbar .mode-toggle--play .mode-btn,.ide-app-toolbar .mode-toggle--stitch .mode-btn,.mode-toggle--play .mode-btn,.mode-toggle--play .mode-btn--blocks,.mode-toggle--play .mode-btn--code,.mode-toggle--play .mode-btn--blocks.active,.mode-toggle--play .mode-btn--code.active{height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important;min-width:72px!important;padding:0 10px!important;border:0!important;border-radius:calc(var(--ide-tb-seg-radius) - 2px)!important;background:transparent!important;color:var(--ide-tb-label-2)!important;font-weight:500!important;font-size:12px!important;box-shadow:none!important;filter:none!important;transform:none!important;letter-spacing:-.01em!important;text-transform:none!important}.ide-app-toolbar .mode-toggle .mode-btn:hover,.mode-toggle--play .mode-btn:hover{background:transparent!important;color:var(--ide-tb-label)!important;transform:none!important}.ide-app-toolbar .mode-toggle .mode-btn.active,.ide-app-toolbar .mode-toggle--play .mode-btn.active,.ide-app-toolbar .mode-toggle--play .mode-btn--blocks.active,.ide-app-toolbar .mode-toggle--play .mode-btn--code.active,.mode-toggle--play .mode-btn--blocks.active,.mode-toggle--play .mode-btn--code.active,.mode-toggle--stitch .mode-btn.active{background:var(--ide-tb-seg-active)!important;color:var(--ide-tb-label)!important;font-weight:600!important;box-shadow:var(--ide-tb-seg-shadow)!important;filter:none!important;transform:none!important}.ide-app-toolbar .mode-toggle .mode-btn:active{transform:scale(.98)!important}.ide-tb-cluster .ide-tool-btn--quiet{height:calc(var(--ide-tb-h) + 4px)!important;min-height:calc(var(--ide-tb-h) + 4px)!important;padding:0 10px!important;border-radius:var(--ide-tb-seg-radius)!important}.ide-app-toolbar .ide-menu,.ide-toolbar-aux .ide-menu,#files-menu,#examples-menu,#tools-menu{top:calc(100% + 6px)!important;border:.5px solid var(--ide-tb-hairline)!important;border-radius:10px!important;background:var(--ide-tb-menu-bg)!important;-webkit-backdrop-filter:saturate(180%) blur(24px)!important;backdrop-filter:saturate(180%) blur(24px)!important;box-shadow:var(--ide-tb-menu-shadow)!important;padding:4px!important;position:absolute!important;z-index:200!important;overflow-x:hidden!important;overflow-y:auto!important;max-height:min(70vh,520px)!important}#examples-menu,#tools-menu,#files-menu{left:0!important;right:auto!important}.ide-app-toolbar .ide-menu.hidden,#files-menu.hidden,#examples-menu.hidden,#tools-menu.hidden{display:none!important}.ide-app-toolbar .ide-menu-item,.ide-toolbar-aux .ide-menu-item{border-radius:6px!important;padding:7px 10px!important;font-size:13px!important;font-weight:400!important;color:var(--ide-tb-label)!important;background:transparent!important}.ide-app-toolbar .ide-menu-item:hover,.ide-toolbar-aux .ide-menu-item:hover{background:color-mix(in srgb,var(--ide-tb-blue) 14%,transparent)!important;color:var(--ide-tb-blue)!important}.ide-app-toolbar .ide-menu-sep,.ide-toolbar-aux .ide-menu-sep{text-transform:none!important;letter-spacing:0!important;font-size:11px!important;font-weight:600!important;color:var(--ide-tb-label-2)!important;padding:8px 10px 4px!important}.chapter-workspace--ide .chapter-steps-meta{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important;max-width:none!important}.chapter-workspace--ide .chapter-steps-actions{display:inline-flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important}.chapter-workspace--ide .chapter-toolbar-status{font-family:var(--apple-font-ui),system-ui,sans-serif!important;font-size:12px!important;font-weight:400!important;color:var(--ide-tb-label-2)!important;letter-spacing:-.01em!important;max-width:220px!important}.chapter-workspace--ide .chapter-toolbar-btn,.chapter-workspace--ide .chapter-reset-btn,.chapter-workspace--ide .chapter-cta-btn,.chapter-workspace--ide .chapter-cta-btn--compact{box-sizing:border-box!important;height:28px!important;min-height:28px!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;border-radius:var(--apple-radius-pill, 999px)!important;font-family:var(--apple-font-ui),system-ui,sans-serif!important;font-size:12px!important;font-weight:600!important;letter-spacing:-.01em!important;text-transform:none!important;white-space:nowrap!important;box-shadow:none!important;filter:none!important;transform:none!important;cursor:pointer!important;transition:background .1s ease-out,color .1s ease-out!important}.chapter-workspace--ide .chapter-toolbar-btn,.chapter-workspace--ide .chapter-reset-btn,.chapter-workspace--ide .chapter-toolbar-btn.chapter-reset-btn{background:var(--ide-tb-fill)!important;color:var(--ide-tb-label)!important;border:0!important}.chapter-workspace--ide .chapter-toolbar-btn:hover,.chapter-workspace--ide .chapter-reset-btn:hover{background:var(--ide-tb-fill-hover)!important;color:var(--ide-tb-label)!important;border:0!important}.chapter-workspace--ide .chapter-cta-btn,.chapter-workspace--ide .chapter-cta-btn--compact,.chapter-workspace--ide .btn-primary.chapter-cta-btn{background:var(--ide-tb-blue)!important;color:#fff!important;border:0!important}.chapter-workspace--ide .chapter-cta-btn:hover,.chapter-workspace--ide .chapter-cta-btn--compact:hover{background:var(--ide-tb-blue-hover)!important;color:#fff!important}.chapter-workspace--ide .chapter-cta-btn:active,.chapter-workspace--ide .chapter-reset-btn:active{transform:scale(.97)!important}.chapter-workspace--ide .chapter-cta-btn .material-symbols-outlined,.chapter-workspace--ide .chapter-cta-btn--compact .material-symbols-outlined{font-size:14px!important}.ide-app-toolbar .ide-toolbar-aux-right{gap:8px!important;flex-shrink:0!important;overflow:visible!important}.ide-app-toolbar .ide-tb-group--assist{gap:6px!important}.ide-app-toolbar .ide-tb-group--assist .ide-tool-btn,.ide-app-toolbar .ide-tb-group--assist .ide-tool-btn--stitch{background:var(--ide-tb-fill)!important;background-image:none!important;border:0!important;color:var(--ide-tb-label)!important;padding:0 10px!important;border-radius:var(--ide-tb-radius)!important;box-shadow:none!important}.ide-app-toolbar .ide-tb-group--assist .ide-tool-btn:hover,.ide-app-toolbar .ide-tb-group--assist .ide-tool-btn--stitch:hover{background:var(--ide-tb-fill-hover)!important}.ide-app-toolbar .ide-auto-wrap:not(.hidden){background:var(--ide-tb-fill)!important;border-radius:var(--ide-tb-radius)!important;color:var(--ide-tb-label)!important}#toolbar.ide-app-toolbar label.ide-auto-wrap:not(.hidden){color:var(--ide-tb-label)!important}.ide-app-toolbar .ide-auto-wrap:not(.hidden){gap:6px!important;padding:0 10px 0 8px!important;font-size:13px!important;font-weight:400!important;cursor:pointer}.ide-app-toolbar .ide-auto-wrap input[type=checkbox]{width:14px!important;height:14px!important;margin:0!important;accent-color:var(--ide-tb-blue);cursor:pointer}.ide-app-toolbar .ide-tb-group--assist .ide-tool-btn{font-size:13px!important;font-weight:400!important;white-space:nowrap!important;flex-shrink:0!important}.ide-app-toolbar .ide-tb-more{display:none!important}.ide-app-toolbar.is-assist-collapsed .ide-tb-more.has-items{display:inline-flex!important}.ide-app-toolbar.is-assist-collapsed .ide-tb-group--assist>.ide-tool-btn,.ide-app-toolbar.is-assist-collapsed .ide-tb-group--assist>.ide-auto-wrap{display:none!important}.ide-app-toolbar .ide-tb-more-btn.ide-tool-btn--icon{width:var(--ide-tb-h)!important;min-width:var(--ide-tb-h)!important;padding:0!important;justify-content:center!important;background:var(--ide-tb-fill)!important;border:0!important;border-radius:var(--ide-tb-radius)!important;color:var(--ide-tb-label)!important}.ide-app-toolbar .ide-tb-more-btn:hover,.ide-app-toolbar .ide-tb-more-btn.active{background:var(--ide-tb-fill-hover)!important}.ide-app-toolbar .ide-tb-more-menu{left:auto!important;right:0!important;min-width:180px!important;width:max-content!important}.ide-app-toolbar .ide-tb-more-item{display:flex!important;align-items:center!important;gap:6px!important;width:100%!important;height:auto!important;min-height:0!important;border:0!important;text-align:left!important;font:inherit;font-size:13px!important}.ide-app-toolbar .ide-tb-more-check{display:inline-grid;place-items:center;width:14px;height:14px;flex:0 0 14px;color:var(--ide-tb-blue)}.ide-app-toolbar .ide-tb-more-item:hover .ide-tb-more-check{color:inherit}.ide-app-toolbar .ide-tb-more-item:focus-visible{outline:2px solid var(--ide-tb-blue)!important;outline-offset:-2px!important}.ide-app-toolbar #btn-save,.ide-app-toolbar #btn-fullscreen{flex-shrink:0!important;position:relative!important;z-index:1!important}.ide-app-toolbar #btn-fullscreen.ide-tool-btn--icon{width:var(--ide-tb-h)!important;min-width:var(--ide-tb-h)!important;max-width:var(--ide-tb-h)!important;padding:0!important;overflow:hidden!important;background:var(--ide-tb-fill)!important;border-radius:var(--ide-tb-radius)!important}.ide-app-toolbar #btn-fullscreen.ide-tool-btn--icon:hover,.ide-app-toolbar #btn-fullscreen.ide-tool-btn--icon.active{background:var(--ide-tb-fill-hover)!important}.ide-app-toolbar #btn-fullscreen .material-symbols-outlined{font-size:16px!important;width:16px!important;height:16px!important}.ide-app-toolbar #status-dot{margin-left:2px!important;outline:0!important}@media(max-width:1280px){.ide-app-toolbar .ide-compile-target,.ide-app-toolbar .ide-toolbar-hint{max-width:132px!important}.ide-app-toolbar .mode-toggle .mode-btn{min-width:64px!important;padding:0 8px!important}}@media(max-width:1100px){.ide-app-toolbar .ide-compile-target,.ide-app-toolbar .ide-toolbar-hint{max-width:110px!important}}@media(max-width:900px){.ide-app-toolbar.ide-toolbar-aux,#toolbar.ide-toolbar-aux{height:40px!important;padding:0 8px!important;gap:6px!important}.ide-app-toolbar .ide-compile-target,.ide-app-toolbar .ide-toolbar-hint{display:none!important}}@media(prefers-reduced-motion:reduce){.ide-app-toolbar .ide-tool-btn,.ide-app-toolbar .mode-btn,.chapter-workspace--ide .chapter-cta-btn,.chapter-workspace--ide .chapter-reset-btn{transition:none!important}}.chapter-workspace--ide,.ide-root--stitch{--xc-chrome-bg: var(--ide-tb-chrome);--sp-chrome-bg: var(--ide-tb-chrome)}.ide-app-toolbar .ide-tb-cluster,.ide-app-toolbar .ide-tb-group,.ide-app-toolbar .ide-menu-wrap,.ide-app-toolbar .ide-toolbar-aux-left,.ide-app-toolbar .ide-toolbar-aux-right,.chapter-workspace--ide .ide-app-toolbar .ide-tb-cluster,.chapter-workspace--ide .ide-app-toolbar .ide-tb-group{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.ide-app-toolbar:before,.ide-app-toolbar:after,.ide-app-toolbar .ide-tb-cluster:before,.ide-app-toolbar .ide-tb-cluster:after,.ide-app-toolbar .ide-tb-group:before,.ide-app-toolbar .ide-tb-group:after,.ide-app-toolbar .mode-toggle:before,.ide-app-toolbar .mode-toggle:after,.ide-app-toolbar .ide-tool-btn:before,.ide-app-toolbar .ide-tool-btn:after,.ide-app-toolbar .mode-btn:before,.ide-app-toolbar .mode-btn:after,.ide-app-toolbar .ide-toolbar-hint:before,.ide-app-toolbar .ide-toolbar-hint:after{content:none!important;display:none!important;background:none!important;box-shadow:none!important}.chapter-workspace--ide .mode-toggle--play,.chapter-workspace--ide .mode-toggle--stitch.mode-toggle--play,.ide-root--stitch .mode-toggle--play,.ide-root--stitch .mode-toggle--stitch.mode-toggle--play,.ide-app-toolbar .mode-toggle--play,.ide-app-toolbar .mode-toggle--stitch.mode-toggle--play{background:var(--ide-tb-seg-track)!important;background-image:none!important;border:0!important;border-color:transparent!important;box-shadow:none!important;filter:none!important}.chapter-workspace--ide .mode-toggle--play .mode-btn,.chapter-workspace--ide .mode-toggle--play .mode-btn--blocks,.chapter-workspace--ide .mode-toggle--play .mode-btn--code,.ide-root--stitch .mode-toggle--play .mode-btn,.ide-root--stitch .mode-toggle--play .mode-btn--blocks.active,.ide-root--stitch .mode-toggle--play .mode-btn--code.active,.ide-app-toolbar .mode-toggle--play .mode-btn--blocks.active,.ide-app-toolbar .mode-toggle--play .mode-btn--code.active{background-image:none!important;filter:none!important;transform:none!important;color:var(--ide-tb-label-2)!important}.ide-app-toolbar .mode-toggle--play .mode-btn.active,.ide-app-toolbar .mode-toggle--play .mode-btn--blocks.active,.ide-app-toolbar .mode-toggle--play .mode-btn--code.active,.chapter-workspace--ide .mode-toggle--play .mode-btn.active,.ide-root--stitch .mode-toggle--play .mode-btn.active{background:var(--ide-tb-seg-active)!important;background-image:none!important;color:var(--ide-tb-label)!important;box-shadow:var(--ide-tb-seg-shadow)!important}.chapter-workspace--ide .ide-tool-btn,.chapter-workspace--ide .ide-tool-btn--stitch,.ide-root--stitch .ide-tool-btn,.ide-root--stitch .ide-tool-btn--stitch,.ide-app-toolbar .ide-tool-btn,.ide-app-toolbar .ide-tool-btn--stitch{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;color:var(--ide-tb-label)!important;margin-left:0!important}.chapter-workspace--ide .ide-tool-btn:hover,.ide-root--stitch .ide-tool-btn--stitch:hover,.ide-app-toolbar .ide-tool-btn:hover,.ide-app-toolbar .ide-tool-btn--stitch:hover{background:var(--ide-tb-fill-hover)!important;background-image:none!important;color:var(--ide-tb-label)!important;border:0!important;box-shadow:none!important}.ide-app-toolbar .ide-tool-btn--primary,.ide-root--stitch #btn-save,.chapter-workspace--ide #btn-save{background:var(--ide-tb-blue)!important;background-image:none!important;color:#fff!important;box-shadow:none!important;border:0!important;filter:none!important}.ide-app-toolbar .ide-toolbar-hint,.ide-app-toolbar .ide-compile-target,.ide-root--stitch .ide-toolbar-hint,.ide-root--stitch .ide-compile-target{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;gap:4px!important;height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important;max-height:var(--ide-tb-h)!important;margin:0!important;padding:0 8px 0 10px!important;border:0!important;border-radius:var(--ide-tb-radius)!important;background:var(--ide-tb-fill)!important;background-image:none!important;color:var(--ide-tb-label)!important;font-size:11px!important;font-weight:500!important;letter-spacing:-.01em!important;max-width:168px!important;overflow:hidden!important;box-shadow:none!important;flex-shrink:1!important;min-width:0!important;cursor:default!important}.ide-app-toolbar .ide-compile-target-label,.ide-root--stitch .ide-compile-target-label{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important}.ide-app-toolbar .ide-compile-target-chevron,.ide-root--stitch .ide-compile-target-chevron{font-size:14px!important;width:14px!important;height:14px!important;line-height:1!important;flex-shrink:0!important;opacity:.55!important;color:var(--ide-tb-label-2)!important}.chapter-workspace--ide .chapter-steps-wrap{background:var(--ide-tb-chrome)!important;-webkit-backdrop-filter:saturate(180%) blur(20px)!important;backdrop-filter:saturate(180%) blur(20px)!important;border-bottom:.5px solid var(--ide-tb-hairline)!important;box-shadow:none!important;gap:8px!important;padding:8px 12px!important}.chapter-workspace--ide .chapter-steps-bar{background:var(--ide-tb-seg-track)!important;border:0!important;box-shadow:none!important;padding:2px!important;gap:2px!important;border-radius:var(--ide-tb-seg-radius)!important}.chapter-workspace--ide .chapter-step-tab{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important;padding:0 10px!important;font-size:12px!important;font-weight:500!important;color:var(--ide-tb-label-2)!important}.chapter-workspace--ide .chapter-step-tab.active{background:var(--ide-tb-seg-active)!important;background-image:none!important;color:var(--ide-tb-label)!important;font-weight:600!important;box-shadow:var(--ide-tb-seg-shadow)!important}.chapter-workspace--ide .chapter-steps-meta,.chapter-workspace--ide .chapter-steps-actions{gap:8px!important}.chapter-workspace--ide .chapter-toolbar-btn,.chapter-workspace--ide .chapter-reset-btn{height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important;background:var(--ide-tb-fill)!important;background-image:none!important;color:var(--ide-tb-label)!important;border:0!important;box-shadow:none!important;text-transform:none!important;font-family:var(--apple-font-ui),system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:-.01em!important;padding:0 12px!important}.chapter-workspace--ide .chapter-cta-btn,.chapter-workspace--ide .chapter-cta-btn--compact,.chapter-workspace--ide .btn-primary.chapter-cta-btn{height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important;background:var(--ide-tb-blue)!important;background-image:none!important;color:#fff!important;border:0!important;box-shadow:none!important;filter:none!important;text-transform:none!important;font-family:var(--apple-font-ui),system-ui,sans-serif!important;font-size:12px!important;font-weight:600!important;padding:0 14px!important}.ide-app-toolbar#toolbar button,#toolbar.ide-toolbar-aux button,.ide-root--stitch #toolbar button{margin-left:0!important;height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important}.ide-app-toolbar .mode-toggle,.ide-app-toolbar .mode-toggle--play,.ide-tb-cluster .ide-tool-btn--quiet{height:var(--ide-tb-h)!important;min-height:var(--ide-tb-h)!important;padding:2px!important;box-sizing:border-box!important}.ide-app-toolbar .mode-toggle .mode-btn,.ide-tb-cluster .ide-tool-btn--quiet{height:calc(var(--ide-tb-h) - 4px)!important;min-height:calc(var(--ide-tb-h) - 4px)!important}.ide-tb-cluster,.ide-app-toolbar .ide-toolbar-aux-left,.ide-app-toolbar .ide-toolbar-aux-right,.ide-tb-group{gap:8px!important}.chapter-workspace--ide .ide-mode-blocks .ide-editor-head,.ide-root--stitch.ide-mode-blocks .ide-editor-head,.ide-root--stitch .ide-mode-blocks .ide-editor-head{background:var(--ide-tb-chrome)!important;background-image:none!important;border-bottom:.5px solid var(--ide-tb-hairline)!important;box-shadow:none!important}.chapter-workspace--ide .ide-mode-blocks #file-name:after,.ide-root--stitch.ide-mode-blocks #file-name:after{color:var(--ide-tb-label-2)!important}.chapter-workspace--ide .blocks-play-banner,.ide-root--stitch .blocks-play-banner{background:var(--ide-tb-fill)!important;background-image:none!important;border-bottom:.5px solid var(--ide-tb-hairline)!important;box-shadow:none!important;color:var(--ide-tb-label)!important}.chapter-workspace--ide .blocks-play-banner-copy strong,.ide-root--stitch .blocks-play-banner-copy strong{color:var(--ide-tb-label)!important}.chapter-workspace--ide .ide-mode-blocks .blocklyToolboxDiv,.ide-root--stitch.ide-mode-blocks .blocklyToolboxDiv{background:var(--apple-bg, #fff)!important;background-image:none!important;border-right:.5px solid var(--ide-tb-hairline)!important}[data-apple-upgraded]{font-family:inherit!important;font-feature-settings:normal!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;letter-spacing:0!important;overflow:visible!important}[data-apple-upgraded]>svg.apple-icon{width:1em!important;height:1em!important;display:block!important;flex-shrink:0!important}.apple-icon-ligature{display:none!important}.admin-top,.admin-shell,.admin-sheet-overlay,.admin-sheet{--adm-window: #f5f5f7;--adm-sidebar: #ededf0;--adm-card: #ffffff;--adm-card-2: #f7f7f9;--adm-sep: rgba(0, 0, 0, .085);--adm-hover: rgba(0, 0, 0, .045);--adm-press: rgba(0, 0, 0, .08);--adm-sel: color-mix(in srgb, var(--apple-blue) 14%, transparent);--adm-ctl-h: 30px;--adm-btn-h: 28px;--adm-ctl-bg: #ffffff;--adm-ctl-border: rgba(0, 0, 0, .13);--adm-ctl-shadow: 0 .5px 1px rgba(0, 0, 0, .06);--adm-text: rgba(0, 0, 0, .86);--adm-text-2: rgba(60, 60, 67, .74);--adm-text-3: rgba(60, 60, 67, .5);--adm-card-shadow: 0 1px 2px rgba(0, 0, 0, .04);--adm-radius-card: 12px;--adm-radius-ctl: 7px;--adm-font: var(--apple-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);--adm-mono: var(--apple-font-mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace)}[data-theme=dark] .admin-top,[data-theme=dark] .admin-shell,[data-theme=dark] .admin-sheet-overlay,[data-theme=dark] .admin-sheet{--adm-window: #1e1e1e;--adm-sidebar: #262628;--adm-card: #2a2a2c;--adm-card-2: #323235;--adm-sep: rgba(255, 255, 255, .085);--adm-hover: rgba(255, 255, 255, .06);--adm-press: rgba(255, 255, 255, .1);--adm-sel: color-mix(in srgb, var(--apple-blue) 26%, transparent);--adm-ctl-bg: #3a3a3d;--adm-ctl-border: rgba(255, 255, 255, .1);--adm-ctl-shadow: none;--adm-text: rgba(255, 255, 255, .88);--adm-text-2: rgba(235, 235, 245, .64);--adm-text-3: rgba(235, 235, 245, .4);--adm-card-shadow: 0 0 0 .5px rgba(0, 0, 0, .4)}.admin-top,.admin-shell,.admin-sheet{font-family:var(--adm-font)!important;color:var(--adm-text)!important;-webkit-font-smoothing:antialiased}.admin-shell{--tone: var(--apple-gray)}.admin-shell .admin-stat--blue,.admin-shell .status-pill--blue{--tone: var(--apple-blue)}.admin-shell .admin-stat--green,.admin-shell .status-pill--green,.admin-shell .admin-stat--live{--tone: var(--apple-green)}.admin-shell .admin-stat--orange,.admin-shell .status-pill--orange{--tone: var(--apple-orange)}.admin-shell .admin-stat--red,.admin-shell .status-pill--red{--tone: var(--apple-red)}.admin-shell .admin-stat--indigo,.admin-shell .status-pill--indigo{--tone: var(--apple-indigo)}.admin-shell .admin-stat--purple{--tone: var(--apple-purple)}.admin-shell .admin-stat--teal,.admin-shell .status-pill--cyan{--tone: var(--apple-teal)}.admin-shell .admin-stat--gray,.admin-shell .status-pill--gray{--tone: var(--apple-gray)}.lms-top.admin-top{height:52px!important;min-height:52px!important;flex:0 0 52px!important;padding:0 16px 0 12px!important;gap:12px!important;background:color-mix(in srgb,var(--adm-window) 84%,transparent)!important;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--adm-sep)!important;box-shadow:none!important;position:relative;z-index:20!important}.admin-top .admin-top-left,.admin-top .admin-top-right{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex-wrap:nowrap!important}.admin-top .admin-top-left{flex:1 1 auto!important;overflow:hidden!important}.admin-top .admin-top-right{flex:0 0 auto!important}.admin-top .spacer{display:none!important}.admin-top .brand{display:inline-flex!important;align-items:center!important;gap:9px!important;min-width:0!important;padding:0 4px!important}.admin-top .admin-brand-copy{display:flex!important;flex-direction:column!important;gap:1px!important;min-width:0!important}.admin-top .admin-brand-title{font-size:13px!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--adm-text)!important;white-space:nowrap!important;line-height:1.2!important}.admin-top .admin-brand-sub{font-size:11px!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;opacity:1!important;color:var(--adm-text-3)!important;white-space:nowrap!important;line-height:1.2!important}.admin-top .admin-brand-tag{height:18px!important;padding:0 6px!important;border-radius:5px!important;border:0!important;background:var(--apple-fill-tertiary)!important;color:var(--adm-text-2)!important;font-size:10.5px!important;font-weight:600!important;letter-spacing:.02em!important;display:inline-flex!important;align-items:center!important;flex-shrink:0!important}.admin-top .admin-crumb-bar{display:inline-flex!important;align-items:center!important;gap:6px!important;margin-left:8px!important;padding:0 0 0 12px!important;border:0!important;border-left:1px solid var(--adm-sep)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;height:20px!important;font-size:12.5px!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important}.admin-top .admin-crumb-group{color:var(--adm-text-3)!important;font-weight:500!important}.admin-top .admin-crumb-sep{color:var(--adm-text-3)!important;opacity:1!important}.admin-top .admin-crumb-item{color:var(--adm-text)!important;font-weight:600!important;overflow:hidden;text-overflow:ellipsis}.admin-top .admin-sidebar-toggle,.admin-top .admin-top-btn{height:var(--adm-btn-h)!important;min-height:var(--adm-btn-h)!important;padding:0 10px!important;gap:6px!important;border-radius:var(--adm-radius-ctl)!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--adm-text-2)!important;font-size:13px!important;font-weight:500!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;cursor:default;transition:background-color .12s ease,color .12s ease!important}.admin-top .admin-sidebar-toggle,.admin-top .admin-top-btn.btn-icon{width:var(--adm-btn-h)!important;min-width:var(--adm-btn-h)!important;padding:0!important}.admin-top .admin-sidebar-toggle:hover,.admin-top .admin-top-btn:hover{background:var(--adm-hover)!important;color:var(--adm-text)!important}.admin-top .admin-sidebar-toggle:active,.admin-top .admin-top-btn:active{background:var(--adm-press)!important}.admin-top .admin-top-btn svg.apple-icon,.admin-top .admin-sidebar-toggle svg.apple-icon{width:16px!important;height:16px!important}.admin-top .admin-status-indicator{height:22px!important;padding:0 9px!important;gap:6px!important;border-radius:999px!important;border:0!important;background:color-mix(in srgb,var(--apple-green) 14%,transparent)!important;color:color-mix(in srgb,var(--apple-green) 70%,var(--adm-text))!important;font-size:11.5px!important;font-weight:600!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important}.admin-top .admin-status-dot{width:6px!important;height:6px!important;border-radius:50%!important;background:var(--apple-green)!important;box-shadow:none!important}.admin-top .admin-user-pill{height:var(--adm-btn-h)!important;padding:0 10px 0 3px!important;gap:7px!important;border-radius:999px!important;border:1px solid var(--adm-sep)!important;background:var(--adm-card)!important;color:var(--adm-text-2)!important;font-size:12.5px!important;white-space:nowrap!important;max-width:220px;overflow:hidden;display:inline-flex!important;align-items:center!important;box-sizing:border-box!important}.admin-top .admin-user-pill b{color:var(--adm-text)!important;font-weight:600!important}.admin-top .admin-user-avatar{width:22px!important;height:22px!important;min-width:22px!important;border-radius:50%!important;background:linear-gradient(180deg,color-mix(in srgb,var(--apple-blue) 80%,white),var(--apple-blue))!important;color:#fff!important;font-size:10px!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.admin-top .admin-logout-btn{color:var(--apple-red)!important}.admin-top .admin-logout-btn:hover{background:color-mix(in srgb,var(--apple-red) 10%,transparent)!important;color:var(--apple-red)!important}.admin-shell{height:calc(100vh - 52px)!important;background:var(--adm-window)!important}.admin-shell .admin-sidebar{width:236px!important;flex:0 0 236px!important;background:var(--adm-sidebar)!important;border-right:1px solid var(--adm-sep)!important;box-shadow:none!important}.admin-shell .admin-sidebar-search-wrap{padding:10px 10px 4px!important}.admin-shell .admin-sidebar-search,.admin-shell .admin-search-field{display:flex!important;align-items:center!important;gap:6px!important;height:var(--adm-btn-h)!important;min-height:var(--adm-btn-h)!important;padding:0 8px!important;margin:0!important;border-radius:var(--adm-radius-ctl)!important;border:0!important;background:var(--apple-fill-tertiary)!important;box-shadow:none!important;box-sizing:border-box!important;color:var(--adm-text-3)!important}.admin-shell .admin-search-field{height:var(--adm-ctl-h)!important;min-height:var(--adm-ctl-h)!important;flex:1 1 240px!important;min-width:200px!important;max-width:420px!important;background:var(--adm-ctl-bg)!important;border:1px solid var(--adm-ctl-border)!important;box-shadow:var(--adm-ctl-shadow)!important}.admin-shell .admin-sidebar-search:focus-within,.admin-shell .admin-search-field:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 30%,transparent)!important;background:var(--adm-ctl-bg)!important}.admin-shell .admin-sidebar-search svg.apple-icon,.admin-shell .admin-search-field svg.apple-icon{width:14px!important;height:14px!important;flex-shrink:0}.admin-shell .admin-sidebar-search .apple-icon-host,.admin-shell .admin-search-field .apple-icon-host{position:static!important;transform:none!important}.admin-shell input.admin-sidebar-search-input,.admin-shell input.admin-search-input{flex:1 1 auto!important;min-width:0!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;outline:none!important;background:transparent!important;box-shadow:none!important;font:13px/1 var(--adm-font)!important;color:var(--adm-text)!important}.admin-shell .admin-sidebar-search-input::placeholder,.admin-shell .admin-search-input::placeholder{color:var(--adm-text-3)!important}.admin-shell .admin-sidebar-nav{padding:4px 10px 16px!important;gap:1px!important}.admin-shell .admin-nav-group{margin:10px 0 0!important;display:flex!important;flex-direction:column!important;gap:1px!important}.admin-shell .admin-nav-group:first-child{margin-top:2px!important}.admin-shell .admin-nav-group-title{font-size:11px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--adm-text-3)!important;padding:6px 8px 3px!important;margin:0!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}.admin-shell .admin-nav-item{height:28px!important;min-height:28px!important;padding:0 8px!important;gap:8px!important;margin:0!important;border:0!important;border-radius:6px!important;font-size:13px!important;font-weight:500!important;color:var(--adm-text)!important;background:transparent!important;box-shadow:none!important;cursor:default;width:100%!important;text-align:left!important}.admin-shell .admin-nav-item:before,.admin-shell .admin-nav-item:after{display:none!important}.admin-shell .admin-nav-item:hover{background:var(--adm-hover)!important;color:var(--adm-text)!important}.admin-shell .admin-nav-item.active{background:var(--adm-sel)!important;color:var(--adm-text)!important;font-weight:600!important}.admin-shell .admin-nav-item .apple-icon-host,.admin-shell .admin-nav-item .admin-nav-icon{width:18px!important;min-width:18px!important;height:18px!important;color:var(--apple-blue)!important;background:transparent!important;border:0!important}.admin-shell .admin-nav-item svg.apple-icon{width:16px!important;height:16px!important}.admin-shell .admin-nav-label{font-size:13px!important}.admin-shell .admin-nav-badge{min-width:18px!important;height:18px!important;padding:0 6px!important;border-radius:9px!important;background:var(--apple-red)!important;color:#fff!important;font-size:11px!important;font-weight:600!important;line-height:18px!important;display:inline-flex!important;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.admin-shell .admin-nav-badge:empty{display:none!important}.admin-shell .admin-sidebar-footer{padding:8px 14px!important;border-top:1px solid var(--adm-sep)!important;background:transparent!important;font-size:11px!important;color:var(--adm-text-3)!important;gap:8px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.admin-shell .admin-version-tag,.admin-shell .admin-sidebar-footer-note{font-size:11px!important;opacity:1!important;color:var(--adm-text-3)!important;display:inline-flex!important;align-items:center!important;gap:5px!important;white-space:nowrap}.admin-shell .admin-version-tag{font-family:var(--adm-mono)!important}.admin-shell .admin-sidebar-footer svg.apple-icon{width:12px!important;height:12px!important}.admin-shell.sidebar-collapsed .admin-sidebar{width:56px!important;flex:0 0 56px!important}.admin-shell.sidebar-collapsed .admin-sidebar-nav{padding:6px 8px!important}.admin-shell.sidebar-collapsed .admin-nav-item{justify-content:center!important;padding:0!important;height:32px!important}.admin-shell.sidebar-collapsed .admin-nav-group{margin-top:6px!important}.admin-shell.sidebar-collapsed .admin-sidebar-footer-note{display:none!important}.admin-shell .admin-main{padding:0 28px 48px!important;gap:16px!important;background:var(--adm-window)!important;min-width:0!important;display:flex!important;flex-direction:column!important}.admin-shell .admin-panel{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:16px!important;min-width:0!important;overflow:visible!important}.admin-shell .admin-view-header{position:sticky!important;top:0!important;z-index:6!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:12px 16px!important;margin:0 -28px!important;padding:16px 28px 12px!important;background:color-mix(in srgb,var(--adm-window) 86%,transparent)!important;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border:0!important;box-shadow:none!important;border-radius:0!important}.admin-shell .admin-view-header-main{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;flex:1 1 320px!important}.admin-shell .admin-view-heading{min-width:0}.admin-shell .admin-view-icon-wrap{width:34px!important;height:34px!important;min-width:34px!important;border-radius:9px!important;border:0!important;background:linear-gradient(180deg,color-mix(in srgb,var(--apple-blue) 82%,white),var(--apple-blue))!important;color:#fff!important;box-shadow:0 1px 2px #0000001f!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.admin-shell .admin-view-icon-wrap svg.apple-icon{width:18px!important;height:18px!important;color:#fff!important}.admin-shell .admin-view-title{font-family:var(--apple-font-display, var(--adm-font))!important;font-size:20px!important;font-weight:700!important;letter-spacing:-.02em!important;line-height:1.2!important;color:var(--adm-text)!important;margin:0!important}.admin-shell .admin-view-desc{margin:2px 0 0!important;font-size:12.5px!important;line-height:1.35!important;color:var(--adm-text-2)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-shell .admin-view-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;flex:0 0 auto!important}.admin-shell .admin-view-actions:empty{display:none!important}.admin-shell .admin-card,.admin-shell .ad-card,.admin-shell .ad-hero,.admin-shell .teach-panel{background:var(--adm-card)!important;border:1px solid var(--adm-sep)!important;border-radius:var(--adm-radius-card)!important;box-shadow:var(--adm-card-shadow)!important;padding:16px 18px!important;margin:0!important;min-width:0!important;box-sizing:border-box!important;color:var(--adm-text)!important}.admin-shell .admin-card-head,.admin-shell .ad-card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:8px 12px!important;margin:0 0 12px!important;padding:0!important;border:0!important}.admin-shell .admin-card-head>div:first-child{min-width:0;flex:1 1 260px}.admin-shell .admin-card-title,.admin-shell .ad-card-head h4,.admin-shell .ad-card>h4,.admin-shell .ad-title{margin:0!important;font-size:15px!important;font-weight:600!important;letter-spacing:-.01em!important;line-height:1.3!important;color:var(--adm-text)!important;text-transform:none!important}.admin-shell .ad-card>h4{margin-bottom:10px!important}.admin-shell .admin-card-subtitle,.admin-shell .ad-card-sub,.admin-shell .admin-card>.hint,.admin-shell .ad-hero .hint{margin:3px 0 0!important;font-size:12.5px!important;line-height:1.4!important;color:var(--adm-text-2)!important}.admin-shell .admin-card>.hint{margin:0 0 12px!important}.admin-shell .admin-card-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}.admin-shell .admin-section-title{margin:18px 0 8px!important;font-size:13px!important;font-weight:600!important;color:var(--adm-text)!important;letter-spacing:-.005em!important;text-transform:none!important}.admin-shell .admin-muted{color:var(--adm-text-3)!important}.admin-shell .admin-toolbar{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 12px!important}.admin-shell .admin-toolbar>input.field{flex:1 1 220px;min-width:180px}.admin-shell .admin-toolbar>select.field{flex:0 1 auto;min-width:150px;width:auto!important}.admin-shell input[type=text],.admin-shell input[type=password],.admin-shell input[type=email],.admin-shell input[type=number],.admin-shell input[type=date],.admin-shell input[type=url],.admin-shell input[type=tel],.admin-shell input[type=search]:not(.admin-search-input):not(.admin-sidebar-search-input),.admin-shell input:not([type]),.admin-shell select,.admin-shell select.field,.admin-shell input.field,.admin-sheet input[type=text],.admin-sheet input[type=password],.admin-sheet input:not([type]),.admin-sheet select,.admin-sheet .modal-input{height:var(--adm-ctl-h)!important;min-height:var(--adm-ctl-h)!important;padding:0 10px!important;border-radius:var(--adm-radius-ctl)!important;border:1px solid var(--adm-ctl-border)!important;background-color:var(--adm-ctl-bg)!important;box-shadow:var(--adm-ctl-shadow)!important;color:var(--adm-text)!important;font:13px/1.2 var(--adm-font)!important;box-sizing:border-box!important;max-width:100%}.admin-shell select,.admin-sheet select{padding-right:28px!important;background-position:right 9px center!important}.admin-shell textarea,.admin-sheet textarea{min-height:72px!important;padding:8px 10px!important;border-radius:var(--adm-radius-ctl)!important;border:1px solid var(--adm-ctl-border)!important;background:var(--adm-ctl-bg)!important;color:var(--adm-text)!important;font:13px/1.45 var(--adm-font)!important;box-sizing:border-box!important;max-width:100%}.admin-shell textarea.code{min-height:200px!important;font:12.5px/1.5 var(--adm-mono)!important;background:var(--adm-card-2)!important;width:100%!important;resize:vertical}.admin-shell input:focus,.admin-shell select:focus,.admin-shell textarea:focus,.admin-sheet input:focus,.admin-sheet select:focus,.admin-sheet textarea:focus{border-color:var(--apple-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 28%,transparent)!important;outline:none!important}.admin-shell .admin-field-label,.admin-sheet .modal-label{display:block!important;margin:14px 0 6px!important;font-size:12px!important;font-weight:600!important;color:var(--adm-text-2)!important;text-transform:none!important;letter-spacing:0!important}.admin-shell .admin-head-btn,.admin-shell .btn-sm,.admin-shell .btn-primary,.admin-shell .admin-icon-btn,.admin-sheet .btn-sm,.admin-sheet .btn-primary{height:var(--adm-btn-h)!important;min-height:var(--adm-btn-h)!important;width:auto;padding:0 11px!important;gap:6px!important;margin:0!important;border-radius:var(--adm-radius-ctl)!important;font:500 13px/1 var(--adm-font)!important;letter-spacing:-.005em!important;text-transform:none!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;cursor:default;text-decoration:none!important;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease,transform 80ms ease!important;flex-shrink:0}.admin-shell .admin-head-btn,.admin-shell .btn-sm,.admin-sheet .btn-sm{background:var(--adm-ctl-bg)!important;color:var(--adm-text)!important;border:1px solid var(--adm-ctl-border)!important;box-shadow:var(--adm-ctl-shadow)!important}.admin-shell .admin-head-btn:hover,.admin-shell .btn-sm:hover,.admin-sheet .btn-sm:hover{background:color-mix(in srgb,var(--adm-ctl-bg) 93%,var(--adm-text))!important}.admin-shell .admin-head-btn:active,.admin-shell .btn-sm:active,.admin-shell .btn-primary:active,.admin-shell .admin-icon-btn:active{transform:scale(.97)}.admin-shell .admin-head-btn--primary,.admin-shell .btn-primary,.admin-sheet .btn-primary{background:var(--apple-blue)!important;color:#fff!important;border:1px solid transparent!important;box-shadow:0 1px 1.5px #0000001f,inset 0 .5px #fff3!important}.admin-shell .admin-head-btn--primary:hover,.admin-shell .btn-primary:hover,.admin-sheet .btn-primary:hover{background:var(--apple-blue-hover)!important;color:#fff!important}.admin-shell .btn-primary.danger,.admin-sheet .btn-primary.danger{background:var(--apple-red)!important}.admin-shell .admin-head-btn--danger,.admin-shell .btn-sm.bad,.admin-sheet .btn-sm.bad{color:var(--apple-red)!important}.admin-shell .btn-sm.good{color:color-mix(in srgb,var(--apple-green) 78%,var(--adm-text))!important}.admin-shell .admin-head-btn svg.apple-icon,.admin-shell .btn-sm svg.apple-icon,.admin-shell .btn-primary svg.apple-icon,.admin-shell .admin-icon-btn svg.apple-icon{width:15px!important;height:15px!important}.admin-shell .admin-head-btn--primary svg.apple-icon,.admin-shell .btn-primary svg.apple-icon{color:#fff!important}.admin-shell button:disabled,.admin-shell button[disabled],.admin-sheet button:disabled{opacity:.4!important;pointer-events:none}.admin-shell .admin-icon-btn{background:var(--apple-fill-quaternary)!important;color:var(--adm-text-2)!important;border:0!important;box-shadow:none!important;padding:0 10px!important;vertical-align:middle}.admin-shell .admin-icon-btn--only{width:var(--adm-btn-h)!important;min-width:var(--adm-btn-h)!important;padding:0!important}.admin-shell .admin-icon-btn:hover{background:var(--apple-fill-tertiary)!important;color:var(--adm-text)!important}.admin-shell .admin-icon-btn--success{color:color-mix(in srgb,var(--apple-green) 80%,var(--adm-text))!important}.admin-shell .admin-icon-btn--success:hover{background:color-mix(in srgb,var(--apple-green) 16%,transparent)!important}.admin-shell .admin-icon-btn--danger{color:var(--apple-red)!important}.admin-shell .admin-icon-btn--danger:hover{background:color-mix(in srgb,var(--apple-red) 13%,transparent)!important;color:var(--apple-red)!important}.admin-shell .admin-icon-btn--primary{background:var(--apple-blue)!important;color:#fff!important}.admin-shell .admin-actions-col{text-align:right!important;white-space:nowrap!important;width:1%}.admin-shell .admin-actions-col>*+*{margin-left:4px!important}.admin-shell .admin-row-actions{display:flex!important;align-items:center;flex-wrap:wrap;gap:4px!important;justify-content:flex-end}.admin-shell .site-admin-card .admin-row-actions{justify-content:flex-start;margin-top:4px}.admin-shell .admin-segmented,.admin-shell .admin-tabs,.admin-shell .ad-mode-bar{display:inline-flex!important;align-items:center!important;gap:2px!important;padding:2px!important;height:auto!important;width:auto!important;border-radius:8px!important;background:var(--apple-fill-tertiary)!important;border:0!important;box-shadow:none!important;max-width:100%!important;overflow-x:auto!important;margin:0 0 14px!important;scrollbar-width:none;align-self:flex-start}.admin-shell .admin-preview-tabs .admin-segmented{margin:0!important}.admin-shell .admin-segmented>button,.admin-shell .admin-tabs>button,.admin-shell .ad-mode-btn,.admin-shell .admin-preview-tab{height:24px!important;min-height:24px!important;padding:0 12px!important;gap:5px!important;border-radius:6px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--adm-text)!important;font:500 12.5px/1 var(--adm-font)!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;cursor:default;margin:0!important}.admin-shell .admin-segmented>button:hover,.admin-shell .ad-mode-btn:hover{background:var(--adm-hover)!important}.admin-shell .admin-segmented>button.active,.admin-shell .admin-segmented>button.is-active,.admin-shell .admin-tabs>button.active,.admin-shell .ad-mode-btn.active,.admin-shell .admin-preview-tab.is-active{background:var(--adm-card)!important;color:var(--adm-text)!important;box-shadow:0 1px 2px #0000001f,0 0 0 .5px #0000000d!important;font-weight:600!important}[data-theme=dark] .admin-shell .admin-segmented>button.active,[data-theme=dark] .admin-shell .admin-segmented>button.is-active,[data-theme=dark] .admin-shell .admin-tabs>button.active,[data-theme=dark] .admin-shell .ad-mode-btn.active,[data-theme=dark] .admin-shell .admin-preview-tab.is-active{background:#5a5a5e!important}.admin-shell .admin-segmented svg.apple-icon{width:13px!important;height:13px!important}.admin-shell .admin-preview-tabs{display:flex!important;align-items:center!important;gap:8px!important;margin:14px 0 12px!important;border:0!important;padding:0!important;background:transparent!important}.admin-shell .admin-switch-row{display:inline-flex!important;align-items:center!important;gap:8px!important;margin:0!important;cursor:default}.admin-shell input[type=checkbox].admin-switch{-webkit-appearance:none!important;appearance:none!important;width:34px!important;height:20px!important;min-height:20px!important;min-width:34px!important;padding:0!important;margin:0!important;border:0!important;border-radius:10px!important;background:var(--apple-fill)!important;position:relative!important;display:inline-block!important;flex-shrink:0!important;box-shadow:inset 0 0 0 .5px #0000000f!important;transition:background-color .16s ease!important;cursor:default}.admin-shell input[type=checkbox].admin-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .18s cubic-bezier(.3,.7,.4,1)}.admin-shell input[type=checkbox].admin-switch:checked{background:var(--apple-green)!important}.admin-shell input[type=checkbox].admin-switch:checked:after{transform:translate(14px)}.admin-shell .admin-switch-label{font-size:12.5px!important;font-weight:500!important;color:var(--adm-text-2)!important;min-width:22px;margin:0!important}.admin-shell .admin-table-wrap{border:1px solid var(--adm-sep)!important;border-radius:10px!important;background:var(--adm-card)!important;overflow:auto!important;max-height:min(68vh,760px);box-shadow:none!important;margin:0!important;min-width:0;padding:0!important}.admin-shell .admin-table-wrap+.admin-table-wrap{margin-top:12px!important}.admin-shell table.table,.admin-shell table.ad-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:0!important;margin:0!important;background:transparent!important;font-variant-numeric:tabular-nums;box-shadow:none!important;border-radius:0!important}.admin-shell table.table th,.admin-shell table.ad-table th{position:sticky!important;top:0!important;z-index:1!important;height:30px!important;padding:0 12px!important;background:var(--adm-card-2)!important;border:0!important;border-bottom:1px solid var(--adm-sep)!important;color:var(--adm-text-2)!important;font:600 11.5px/1 var(--adm-font)!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;white-space:nowrap!important;vertical-align:middle!important}.admin-shell table.table td,.admin-shell table.ad-table td{height:40px!important;padding:5px 12px!important;border:0!important;border-bottom:1px solid var(--adm-sep)!important;font-size:13px!important;line-height:1.35!important;color:var(--adm-text)!important;vertical-align:middle!important;background:transparent!important}.admin-shell table.table tbody tr:last-child td,.admin-shell table.ad-table tbody tr:last-child td,.admin-shell table.table tr:last-child td{border-bottom:0!important}.admin-shell table.table tr:hover td,.admin-shell table.ad-table tr:hover td{background:var(--adm-hover)!important}.admin-shell table.table td b{font-weight:600!important}.admin-shell table .admin-date{white-space:nowrap!important;color:var(--adm-text-2)!important;font-size:12.5px!important}.admin-shell table .admin-num{text-align:right!important;white-space:nowrap!important}.admin-shell table th.admin-actions-col{text-align:right!important}.admin-shell table td.muted-cell{color:var(--adm-text-3)!important;font-style:normal!important}.admin-shell table td select{width:auto!important;min-width:180px}.admin-shell .ad-person-name{font-weight:600}.admin-shell .ad-person-id{font-size:11.5px;color:var(--adm-text-3);font-family:var(--adm-mono)}.admin-shell table:has(>.admin-empty),.admin-shell table:has(>.empty){display:block!important}.admin-shell table>.admin-empty,.admin-shell table>.empty{width:100%!important;box-sizing:border-box!important}.admin-shell .pill,.admin-shell .admin-stat-chip,.admin-shell .storage-badge,.admin-shell .teach-badge{display:inline-flex!important;align-items:center!important;gap:5px!important;height:20px!important;padding:0 8px!important;margin:0!important;border-radius:999px!important;border:0!important;font:600 11.5px/1 var(--adm-font)!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;background:var(--apple-fill-tertiary)!important;color:var(--adm-text-2)!important;box-shadow:none!important;vertical-align:middle}.admin-shell .status-pill,.admin-shell .pill.completed,.admin-shell .pill.in_progress,.admin-shell .pill.pending,.admin-shell .pill.locked{background:color-mix(in srgb,var(--tone) 15%,transparent)!important;color:color-mix(in srgb,var(--tone) 70%,var(--adm-text))!important}.admin-shell .pill.completed:not(.status-pill){--tone: var(--apple-green)}.admin-shell .pill.in_progress:not(.status-pill),.admin-shell .pill.pending:not(.status-pill){--tone: var(--apple-orange)}.admin-shell .pill.locked:not(.status-pill){--tone: var(--apple-gray)}.admin-shell .status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tone);flex-shrink:0}[data-theme=dark] .admin-shell .status-pill,[data-theme=dark] .admin-shell .pill.completed,[data-theme=dark] .admin-shell .pill.in_progress{color:color-mix(in srgb,var(--tone) 82%,white)!important}.admin-shell .pill.admin-class-chip{background:var(--apple-fill-quaternary)!important;color:var(--adm-text-2)!important;font-weight:500!important}.admin-shell .ad-metrics,.admin-shell .storage-summary,.admin-shell .crm-stat-row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:12px!important;margin:0 0 16px!important}.admin-shell .admin-stat,.admin-shell .ad-metric,.admin-shell .storage-card{display:flex!important;flex-direction:column!important;gap:6px!important;padding:12px 14px!important;background:var(--adm-card)!important;border:1px solid var(--adm-sep)!important;border-radius:var(--adm-radius-card)!important;box-shadow:var(--adm-card-shadow)!important;box-sizing:border-box!important;min-width:0!important;margin:0!important}.admin-shell .storage-card.admin-stat{flex-direction:row!important;align-items:center!important;gap:10px!important}.admin-shell .admin-stat-body{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-shell .ad-metric-head{display:flex;align-items:center;gap:8px;min-width:0}.admin-shell .admin-stat-icon{width:26px;height:26px;min-width:26px;border-radius:7px;display:inline-flex!important;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tone) 15%,transparent);color:var(--tone)}.admin-shell .admin-stat-icon svg.apple-icon{width:15px!important;height:15px!important}.admin-shell .ad-metric-label,.admin-shell .storage-card-label,.admin-shell .ad-sys-label{font-size:12px!important;font-weight:500!important;color:var(--adm-text-2)!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0!important}.admin-shell .ad-metric-value,.admin-shell .storage-card-value,.admin-shell .ad-sys-value{font-family:var(--apple-font-display, var(--adm-font))!important;font-size:22px!important;font-weight:600!important;letter-spacing:-.02em!important;line-height:1.15!important;color:var(--adm-text)!important;font-variant-numeric:tabular-nums!important;margin:0!important}.admin-shell .storage-card-value{font-size:17px!important}.admin-shell .ad-metric-hint{font-size:11.5px!important;color:var(--adm-text-3)!important;line-height:1.35!important;margin:0!important}.admin-shell .ad-metric.admin-stat--live .ad-metric-value{color:var(--apple-green)!important}.admin-shell .admin-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:6px!important;padding:36px 20px!important;margin:0!important;border:0!important;background:transparent!important;color:var(--adm-text-2)!important;font-size:12.5px!important;grid-column:1 / -1}.admin-shell .admin-empty-icon{width:44px;height:44px;border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;background:var(--apple-fill-quaternary);color:var(--adm-text-3);margin-bottom:4px}.admin-shell .admin-empty-icon svg.apple-icon{width:22px!important;height:22px!important}.admin-shell .admin-empty--success .admin-empty-icon{background:color-mix(in srgb,var(--apple-green) 14%,transparent);color:var(--apple-green)}.admin-shell .admin-empty--error .admin-empty-icon{background:color-mix(in srgb,var(--apple-orange) 15%,transparent);color:var(--apple-orange)}.admin-shell .admin-empty-title{font-size:14px;font-weight:600;color:var(--adm-text)}.admin-shell .admin-empty-msg{max-width:460px;line-height:1.45;color:var(--adm-text-2)}.admin-shell .admin-empty-action{margin-top:8px}.admin-shell .admin-empty--loading{flex-direction:row!important;gap:10px!important;padding:28px 20px!important}.admin-shell .admin-empty-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--apple-fill);border-top-color:var(--adm-text-2);animation:adm-spin .8s linear infinite}@keyframes adm-spin{to{transform:rotate(360deg)}}.admin-shell .empty:not(.admin-empty){padding:28px 16px!important;text-align:center!important;color:var(--adm-text-2)!important;font-size:12.5px!important;background:transparent!important;border:0!important}.admin-shell .admin-form-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;gap:10px!important;align-items:end!important;margin:0 0 14px!important}.admin-shell .admin-form-grid>*{min-width:0;width:100%!important}.admin-shell .admin-form-grid>button{width:auto!important;justify-self:start}.admin-shell .admin-form-grid>.admin-file-pick{width:100%!important;overflow:hidden}.admin-shell .admin-form-grid-title{grid-column:1 / -1;font-size:13px;font-weight:600;color:var(--adm-text)}.admin-shell .crm-create-box,.admin-shell .crm-goal-form,.admin-shell .crm-add-panel,.admin-shell .crm-edit-wrap{padding:14px 16px!important;border-radius:10px!important;background:var(--adm-card-2)!important;border:1px solid var(--adm-sep)!important;box-shadow:none!important;margin:0 0 14px!important}.admin-shell .crm-add-panel .admin-section-title,.admin-shell .crm-edit-wrap .admin-section-title{margin-top:0!important}.admin-shell .crm-school-edit{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:10px 12px!important}.admin-shell .admin-form-field{display:flex!important;flex-direction:column!important;gap:4px!important;margin:0!important;min-width:0}.admin-shell .admin-form-field--wide{grid-column:1 / -1}.admin-shell .admin-form-field .field{width:100%!important}.admin-shell .admin-form-label{font-size:12px;font-weight:500;color:var(--adm-text-2)}.admin-shell .crm-school-edit>.hint{grid-column:1 / -1;font-size:12px!important;color:var(--adm-text-3)!important;margin:0!important}.admin-shell .admin-form-actions{display:flex!important;gap:8px!important;margin-top:12px!important;align-items:center}.admin-shell .crm-detail-card{margin-top:16px!important}.admin-shell .crm-status:empty,.admin-shell .storage-status:empty{display:none!important}.admin-shell .crm-status{margin:0 0 10px!important;font-size:12.5px!important;color:var(--adm-text-2)!important}.admin-shell .admin-file-pick{display:inline-flex!important;align-items:center!important;gap:10px!important;margin:0!important;min-width:0;cursor:default;position:relative}.admin-shell input.admin-file-input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;pointer-events:none;padding:0!important;border:0!important;overflow:hidden}.admin-shell .admin-file-pick:focus-within .admin-head-btn{box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 30%,transparent)!important}.admin-shell .admin-file-name{font-size:12.5px;color:var(--adm-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}body:has(.admin-shell) .modal-overlay{background:#00000047!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.admin-sheet,body:has(.admin-shell) .modal-overlay .modal-card{background:var(--adm-card, var(--apple-bg))!important;color:var(--adm-text, var(--apple-label))!important;border:1px solid var(--adm-sep, var(--apple-separator))!important;border-radius:14px!important;padding:20px 22px 18px!important;box-shadow:0 24px 64px #0000003d,0 0 0 .5px #00000014!important;font-family:var(--apple-font-ui)!important;width:min(460px,calc(100vw - 32px))!important;max-width:min(520px,calc(100vw - 32px))!important}[data-theme=dark] body:has(.admin-shell) .modal-overlay .modal-card{background:#2a2a2c!important}.admin-sheet .modal-title,body:has(.admin-shell) .modal-card .modal-title{font-size:15px!important;font-weight:600!important;line-height:1.35!important;margin:0 0 6px!important}.admin-sheet .hint,body:has(.admin-shell) .modal-card .hint{font-size:12.5px!important;color:var(--adm-text-2, var(--apple-label-secondary))!important;margin:0 0 4px!important;line-height:1.45!important}.admin-sheet .modal-input{margin-top:0!important;width:100%!important}.admin-sheet .modal-actions,body:has(.admin-shell) .modal-card .modal-actions{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:20px!important}body:has(.admin-shell) .modal-card .modal-actions button{height:28px!important;min-height:28px!important;padding:0 14px!important;border-radius:7px!important;font:500 13px/1 var(--apple-font-ui)!important;width:auto!important}body:has(.admin-shell) .modal-card .modal-actions .btn-primary{background:var(--apple-blue)!important;color:#fff!important;border:0!important}body:has(.admin-shell) .modal-card .modal-actions .btn-primary.danger{background:var(--apple-red)!important}.admin-shell .ad-dash{display:flex!important;flex-direction:column!important;gap:16px!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;margin:0!important}.admin-shell .ad-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px 20px!important;flex-wrap:wrap!important}.admin-shell .ad-hero-copy{min-width:0;flex:1 1 360px}.admin-shell .ad-durable-note{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:8px 0 0!important;font-size:11.5px!important;font-weight:500!important;color:var(--adm-text-2)!important;background:transparent!important;border:0!important;padding:0!important}.admin-shell .ad-durable-note svg.apple-icon{width:13px!important;height:13px!important;color:var(--apple-green)}.admin-shell .ad-hero-actions{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;flex-wrap:wrap}.admin-shell .ad-live-badge{display:inline-flex!important;align-items:center!important;gap:6px!important;height:24px!important;padding:0 9px!important;border-radius:999px!important;background:var(--apple-fill-quaternary)!important;border:0!important;font-size:11.5px!important;color:var(--adm-text-2)!important;white-space:nowrap}.admin-shell .ad-live-dot{width:6px!important;height:6px!important;border-radius:50%;background:var(--apple-gray)!important;box-shadow:none!important}.admin-shell .ad-live-dot.on{background:var(--apple-green)!important}.admin-shell .ad-updated{font-size:11.5px!important;color:var(--adm-text-3)!important}.admin-shell .ad-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px 12px!important;flex-wrap:wrap!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.admin-shell .ad-toolbar .ad-mode-bar{margin:0!important}.admin-shell .ad-range-label{font-size:12.5px!important;color:var(--adm-text-2)!important;font-weight:500!important}.admin-shell .ad-month-nav{display:inline-flex!important;align-items:center!important;gap:6px!important}.admin-shell .ad-month-nav.hidden{display:none!important}.admin-shell .ad-nav-btn{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border-radius:7px!important;border:1px solid var(--adm-ctl-border)!important;background:var(--adm-ctl-bg)!important;color:var(--adm-text)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:var(--adm-ctl-shadow)!important}.admin-shell .ad-month-title{font-size:13px!important;font-weight:600!important;min-width:110px;text-align:center;color:var(--adm-text)!important}.admin-shell .ad-history-strip{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;margin:0!important;padding:0!important;background:var(--adm-card)!important;border:1px solid var(--adm-sep)!important;border-radius:var(--adm-radius-card)!important;box-shadow:var(--adm-card-shadow)!important;overflow:hidden}.admin-shell .ad-history-item{display:flex!important;flex-direction:column!important;gap:3px!important;padding:10px 14px!important;border:0!important;border-left:1px solid var(--adm-sep)!important;border-radius:0!important;background:transparent!important;min-width:0;box-shadow:none!important}.admin-shell .ad-history-item:first-child{border-left:0!important}.admin-shell .ad-history-k{font-size:11.5px!important;font-weight:500!important;color:var(--adm-text-2)!important;text-transform:none!important;letter-spacing:0!important}.admin-shell .ad-history-v{font-size:15px!important;font-weight:600!important;color:var(--adm-text)!important;font-variant-numeric:tabular-nums}.admin-shell .ad-metrics{margin:0!important}.admin-shell .ad-charts{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:12px!important;margin:0!important}.admin-shell .ad-col-bar{background:linear-gradient(180deg,color-mix(in srgb,var(--apple-blue) 72%,white),var(--apple-blue))!important;border-radius:3px 3px 1px 1px!important}.admin-shell .ad-col-label{color:var(--adm-text-3)!important;font-size:10.5px!important}.admin-shell .ad-bar-track{background:var(--apple-fill-tertiary)!important;border-radius:999px!important;overflow:hidden;height:6px!important}.admin-shell .ad-bar-fill{background:var(--apple-blue)!important;border-radius:999px!important}.admin-shell .ad-bar-fill--warn{background:var(--apple-orange)!important}.admin-shell .ad-stack-meta{font-size:12.5px!important;color:var(--adm-text)!important}.admin-shell .ad-stack-val{color:var(--adm-text-2)!important;font-variant-numeric:tabular-nums}.admin-shell .ad-screen{display:inline-flex;height:20px;align-items:center;padding:0 7px;border-radius:5px;background:var(--apple-fill-quaternary);font-size:12px;color:var(--adm-text-2)}.admin-shell .ad-heat-cell{border-radius:3px!important}.admin-shell .ad-heat-lv0{background:var(--apple-fill-quaternary)!important}.admin-shell .ad-heat-lv1{background:color-mix(in srgb,var(--apple-blue) 22%,transparent)!important}.admin-shell .ad-heat-lv2{background:color-mix(in srgb,var(--apple-blue) 45%,transparent)!important}.admin-shell .ad-heat-lv3{background:color-mix(in srgb,var(--apple-blue) 70%,transparent)!important}.admin-shell .ad-heat-lv4{background:var(--apple-blue)!important}.admin-shell .ad-cal-pop{background:var(--adm-card)!important;border:1px solid var(--adm-sep)!important;border-radius:12px!important;box-shadow:0 12px 36px #00000029!important;padding:14px!important}.admin-shell .ad-cal-pop-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important}.admin-shell .ad-cal-months button{height:28px!important;min-height:28px!important;border-radius:7px!important;font-size:12.5px!important}.admin-shell .ad-cal-months button.active{background:var(--apple-blue)!important;color:#fff!important}.admin-shell .teach-panel{padding:18px!important}.admin-shell .teach-hero{background:var(--adm-card-2)!important;border:1px solid var(--adm-sep)!important;border-radius:10px!important;box-shadow:none!important;padding:16px 18px!important;margin:0 0 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important}.admin-shell .teach-hero-copy{min-width:0;flex:1 1 320px}.admin-shell .teach-kicker{font-size:11.5px!important;color:var(--apple-blue)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important;margin:0 0 2px!important}.admin-shell .teach-title{font-size:20px!important;font-weight:700!important;letter-spacing:-.02em!important;margin:0 0 4px!important;color:var(--adm-text)!important}.admin-shell .teach-sub{font-size:12.5px!important;color:var(--adm-text-2)!important;max-width:560px;margin:0!important;line-height:1.45!important}.admin-shell .teach-hero-tools{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;min-width:180px}.admin-shell .teach-hero-tools .teach-class-label{margin:0!important;font-size:12px!important;font-weight:500!important;color:var(--adm-text-2)!important;text-transform:none!important;letter-spacing:0!important}.admin-shell select.teach-class-sel{width:100%!important;height:var(--adm-ctl-h)!important;min-height:var(--adm-ctl-h)!important}.admin-shell .teach-steps{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;gap:10px!important;list-style:none!important;padding:0!important;margin:0 0 18px!important}.admin-shell .teach-steps li{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:10px 12px!important;border-radius:10px!important;background:transparent!important;border:1px solid var(--adm-sep)!important;margin:0!important;font-size:12px!important;color:var(--adm-text-2)!important;line-height:1.4!important}.admin-shell .teach-steps strong{font-size:13px!important;color:var(--adm-text)!important;font-weight:600!important;display:block}.admin-shell .teach-step-n{width:22px!important;height:22px!important;min-width:22px!important;border-radius:50%!important;background:var(--apple-blue)!important;color:#fff!important;border:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:12px!important;font-weight:600!important}.admin-shell .teach-section-head{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:12px;margin:0 0 10px!important}.admin-shell .teach-section-head h3{font-size:13px!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;margin:0!important;color:var(--adm-text)!important}.admin-shell .teach-meta{font-size:12px!important;color:var(--adm-text-2)!important}.admin-shell .teach-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;gap:10px!important}.admin-shell .teach-chapter{display:flex!important;align-items:stretch!important;gap:12px!important;padding:12px!important;text-align:left!important;border-radius:12px!important;border:1px solid var(--adm-sep)!important;background:var(--adm-card)!important;box-shadow:none!important;color:var(--adm-text)!important;cursor:default;min-height:0!important;height:auto!important;width:100%!important;opacity:1!important;transition:border-color .12s ease,box-shadow .12s ease!important}.admin-shell .teach-chapter:hover{border-color:color-mix(in srgb,var(--apple-blue) 45%,var(--adm-sep))!important;box-shadow:0 2px 10px #0000000f!important;transform:none!important}.admin-shell .teach-chapter-idx{width:40px!important;min-width:40px!important;height:auto!important;border-radius:8px!important;background:color-mix(in srgb,var(--apple-blue) 14%,transparent)!important;color:var(--apple-blue)!important;display:flex!important;align-items:center!important;justify-content:center!important;font:700 15px/1 var(--apple-font-display, var(--adm-font))!important;font-variant-numeric:tabular-nums;border:0!important}.admin-shell .teach-chapter.is-locked .teach-chapter-idx{background:var(--apple-fill-tertiary)!important;color:var(--adm-text-3)!important}.admin-shell .teach-chapter-body{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0;flex:1}.admin-shell .teach-chapter-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px}.admin-shell .teach-chapter-label{font-size:11px!important;font-weight:600!important;color:var(--adm-text-3)!important;text-transform:none!important;letter-spacing:0!important}.admin-shell .teach-badge.is-open{background:color-mix(in srgb,var(--apple-green) 15%,transparent)!important;color:color-mix(in srgb,var(--apple-green) 72%,var(--adm-text))!important}.admin-shell .teach-badge.is-locked{background:var(--apple-fill-tertiary)!important;color:var(--adm-text-2)!important}.admin-shell .teach-chapter-title{font-size:13.5px!important;font-weight:600!important;line-height:1.3!important;color:var(--adm-text)!important}.admin-shell .teach-chapter-cta{display:inline-flex!important;align-items:center!important;gap:2px!important;font-size:12px!important;font-weight:500!important;color:var(--apple-blue)!important;margin-top:auto!important;text-transform:none!important;letter-spacing:0!important}.admin-shell .teach-chapter-cta svg.apple-icon{width:13px!important;height:13px!important}.admin-shell .admin-chapter-editor>input.field{width:100%!important}.admin-shell .admin-chapter-status{font-size:12px!important;color:var(--adm-text-2)!important}.admin-shell .admin-chapter-edit-pane>.hint{font-size:12px!important;color:var(--adm-text-3)!important;margin:0 0 8px!important}.admin-shell .admin-editor{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;gap:16px!important;margin-top:8px!important}.admin-shell .admin-editor .col{display:flex!important;flex-direction:column!important;min-width:0}.admin-shell .admin-editor .col>.admin-field-label:first-child{margin-top:0!important}.admin-shell .admin-chapter-preview-banner{display:flex!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;border-radius:8px!important;background:color-mix(in srgb,var(--apple-blue) 10%,transparent)!important;border:0!important;color:color-mix(in srgb,var(--apple-blue) 80%,var(--adm-text))!important;font-size:12.5px!important;font-weight:500!important;margin:0 0 12px!important}.admin-shell .admin-chapter-preview-code{font:12.5px/1.5 var(--adm-mono)!important;background:var(--adm-card-2)!important;border:1px solid var(--adm-sep)!important;border-radius:8px!important;padding:12px!important;color:var(--adm-text)!important}.admin-shell .admin-chapter-preview-code-label{font-size:12px!important;font-weight:600!important;color:var(--adm-text-2)!important;text-transform:none!important;letter-spacing:0!important;margin:12px 0 6px!important}.admin-shell .storage-toolbar{margin:0!important}.admin-shell .storage-tree{display:flex!important;flex-direction:column!important;gap:10px!important}.admin-shell .storage-folder{border:1px solid var(--adm-sep)!important;border-radius:10px!important;background:var(--adm-card)!important;overflow:hidden!important;box-shadow:none!important;margin:0!important}.admin-shell .storage-folder .storage-folder{margin:6px 10px!important}.admin-shell .storage-folder-head{display:flex!important;align-items:center!important;gap:8px!important;min-height:38px!important;padding:0 12px!important;background:var(--adm-card-2)!important;border:0!important;border-radius:0!important;cursor:default;user-select:none;width:100%!important;box-shadow:none!important}.admin-shell .storage-folder-head:hover{background:color-mix(in srgb,var(--adm-card-2) 92%,var(--adm-text))!important}.admin-shell .storage-chevron{display:inline-flex!important;color:var(--adm-text-3)!important;transition:transform .16s ease!important}.admin-shell .storage-folder-title{font-size:13px!important;font-weight:600!important;color:var(--adm-text)!important}.admin-shell .storage-folder-sub{margin-left:auto!important;font-size:12px!important;color:var(--adm-text-3)!important}.admin-shell .storage-folder-body{padding:0!important;background:transparent!important;border-top:1px solid var(--adm-sep)!important}.admin-shell .storage-row{display:flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;padding:6px 12px!important;border:0!important;border-bottom:1px solid var(--adm-sep)!important;background:transparent!important;border-radius:0!important;margin:0!important}.admin-shell .storage-row:last-child{border-bottom:0!important}.admin-shell .storage-row:hover{background:var(--adm-hover)!important}.admin-shell .storage-thumb{width:32px!important;height:32px!important;min-width:32px!important;border-radius:7px!important;object-fit:cover;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:var(--apple-fill-quaternary)!important;color:var(--adm-text-2)!important;border:0!important;font:700 11px/1 var(--adm-font)!important}.admin-shell .storage-thumb.chapter{background:color-mix(in srgb,var(--apple-blue) 14%,transparent)!important;color:var(--apple-blue)!important}.admin-shell .storage-row-meta{flex:1 1 auto;min-width:0}.admin-shell .storage-row-name{font-size:13px!important;font-weight:500!important;color:var(--adm-text)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-shell .storage-row-sub{font-size:11.5px!important;color:var(--adm-text-3)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-shell .storage-row-actions{display:flex!important;gap:4px!important;flex-shrink:0;align-items:center}.admin-shell .storage-status{font-size:12.5px!important;color:var(--adm-text-2)!important;margin:0 0 10px!important}.admin-shell .site-admin-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:12px!important}.admin-shell .site-admin-card{border:1px solid var(--adm-sep)!important;border-radius:12px!important;background:var(--adm-card)!important;overflow:hidden!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;margin:0!important;padding:0!important}.admin-shell .site-admin-thumb{width:100%!important;aspect-ratio:16 / 9;height:auto!important;object-fit:cover;display:block;background:var(--adm-card-2);border-bottom:1px solid var(--adm-sep);border-radius:0!important}.admin-shell .site-admin-card-body{padding:12px!important;display:flex!important;flex-direction:column!important;gap:8px!important}.admin-shell .site-admin-card-body .field{width:100%!important}.admin-shell .site-contact-message{color:var(--adm-text)!important;background:var(--adm-card-2)!important;border-radius:8px!important;padding:10px 12px!important;font-size:13px!important;line-height:1.45!important}.admin-shell .site-admin-card a:not([class*=admin-]){color:var(--apple-blue)!important;font-size:12.5px;text-decoration:none}.admin-shell .admin-progress-track{width:140px!important;height:6px!important;border-radius:999px!important;background:var(--apple-fill-tertiary)!important;overflow:hidden!important;flex-shrink:0;display:inline-block;vertical-align:middle}.admin-shell .admin-progress-bar{height:100%!important;border-radius:999px!important;background:var(--apple-blue)!important}.admin-shell .admin-progress-pct{font-size:12.5px;font-weight:600;min-width:36px;text-align:right;font-variant-numeric:tabular-nums;margin-left:8px;vertical-align:middle}@media(max-width:1280px){.admin-top .admin-crumb-bar{display:none!important}.admin-shell .admin-sidebar{width:216px!important;flex-basis:216px!important}.admin-shell .admin-main{padding:0 22px 40px!important}.admin-shell .admin-view-header{margin:0 -22px!important;padding:14px 22px 10px!important}}@media(max-width:1100px){.admin-top .admin-brand-sub,.admin-top .admin-brand-tag{display:none!important}.admin-shell .admin-sidebar{width:200px!important;flex-basis:200px!important}.admin-shell .admin-view-desc{white-space:normal}.admin-shell .ad-history-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-shell .ad-history-item:nth-child(3){border-left:0!important}.admin-shell .ad-history-item:nth-child(n+3){border-top:1px solid var(--adm-sep)!important}}@media(max-width:900px){.admin-top .admin-top-btn:not(.btn-icon)>span:not(.apple-icon-host){display:none!important}.admin-top .admin-user-pill b{display:none!important}.admin-shell:not(.sidebar-collapsed) .admin-sidebar{width:184px!important;flex-basis:184px!important}}.admin-top .admin-user-role{font-size:11px!important;color:var(--adm-text-3)!important;font-weight:500!important}.admin-shell table.table td>b{white-space:nowrap}.admin-shell .ad-metrics{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))!important}.admin-shell table.admin-table--nowrap td{white-space:nowrap!important}.admin-shell .admin-table-wrap table th.admin-actions-col,.admin-shell .admin-table-wrap table td.admin-actions-col{position:sticky!important;right:0!important;background:var(--adm-card)!important;box-shadow:-1px 0 0 var(--adm-sep)}.admin-shell .admin-table-wrap table th.admin-actions-col{background:var(--adm-card-2)!important;z-index:2!important}.admin-shell .teach-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important}.admin-shell .teach-chapter{align-items:flex-start!important}.admin-shell .teach-chapter-idx{height:40px!important;align-self:flex-start!important}.admin-shell .teach-chapter-body{align-self:stretch}.admin-shell .teach-chapter-label,.admin-shell .teach-chapter-cta{white-space:nowrap!important}.admin-shell .teach-chapter-cta{padding-top:6px}.admin-shell .teach-chapter-top{flex-wrap:nowrap!important}.admin-shell .theory-doc-editor{border:1px solid var(--adm-sep)!important;border-radius:10px!important;overflow:hidden;background:var(--adm-card)!important;box-shadow:none!important}.admin-shell .theory-doc-menubar{min-height:36px!important;padding:4px 8px!important;gap:2px!important;background:var(--adm-card-2)!important;border-bottom:1px solid var(--adm-sep)!important}.admin-shell .doc-menu-trigger{height:26px!important;min-height:26px!important;padding:0 10px!important;border-radius:6px!important;border:0!important;background:transparent!important;color:var(--adm-text)!important;font:500 13px/1 var(--adm-font)!important;box-shadow:none!important}.admin-shell .doc-menu-trigger:hover{background:var(--adm-hover)!important}.admin-shell .theory-doc-toolbar{background:var(--adm-card)!important;border-bottom:1px solid var(--adm-sep)!important;padding:8px 10px!important;gap:6px 14px!important}.admin-shell .doc-tool-group-label{font:600 10.5px/1 var(--adm-font)!important;color:var(--adm-text-3)!important;text-transform:none!important;letter-spacing:0!important;margin-bottom:4px!important}.admin-shell .doc-tool-group{border-color:var(--adm-sep)!important}.admin-shell .doc-tool-btn{height:26px!important;min-height:26px!important;min-width:26px!important;padding:0 8px!important;border-radius:6px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--adm-text)!important;font:500 12.5px/1 var(--adm-font)!important}.admin-shell .doc-tool-btn:hover{background:var(--adm-hover)!important}.admin-shell .doc-tool-btn.is-active,.admin-shell .doc-tool-btn[aria-pressed=true]{background:var(--adm-sel)!important;color:var(--apple-blue)!important}.admin-shell .doc-tool-btn.doc-tool-accent{background:var(--adm-ctl-bg)!important;color:var(--adm-text)!important;border:1px solid var(--adm-ctl-border)!important;box-shadow:var(--adm-ctl-shadow)!important}.admin-shell .doc-tool-btn.doc-tool-accent:hover{background:color-mix(in srgb,var(--adm-ctl-bg) 93%,var(--adm-text))!important}.admin-shell select.doc-style-select{height:26px!important;min-height:26px!important;font-size:12.5px!important}.admin-shell .theory-doc-canvas{background:var(--adm-window)!important}.admin-shell .theory-doc-status{background:var(--adm-card-2)!important;border-top:1px solid var(--adm-sep)!important;color:var(--adm-text-3)!important;font-size:11.5px!important}.admin-shell .doc-dirty{border-radius:999px!important;font:600 11px/1 var(--adm-font)!important;padding:4px 8px!important}.admin-shell .teach-chapter-idx{padding:0!important;line-height:1!important;margin:0!important}.admin-shell .teach-chapter-body{padding:0!important;margin:0!important}.admin-shell .storage-panel,.admin-shell .admin-panel>.admin-card{max-width:none!important;width:auto!important;align-self:stretch!important}.admin-shell.sidebar-collapsed .admin-nav-item{position:relative!important;overflow:visible!important}.admin-shell.sidebar-collapsed .admin-nav-badge{position:absolute!important;top:2px!important;right:4px!important;margin:0!important;min-width:14px!important;height:14px!important;padding:0 3px!important;font-size:9.5px!important;line-height:14px!important}.admin-shell.sidebar-collapsed .admin-sidebar-footer{justify-content:center!important;padding:8px 4px!important}.admin-shell.sidebar-collapsed .admin-version-tag{font-size:0!important;gap:0!important}.admin-shell.sidebar-collapsed .admin-version-tag svg.apple-icon{width:14px!important;height:14px!important}.admin-shell table.table th.admin-num,.admin-shell table.ad-table th.admin-num,.admin-shell table.table th.admin-actions-col,.admin-shell table.ad-table th.admin-actions-col{text-align:right!important}html #wb#wb{--pal-bg: rgba(246, 246, 248, .92);--pal-bg-solid: #f6f6f8;--pal-sep: rgba(0, 0, 0, .08);--pal-tile: rgba(0, 0, 0, .035);--pal-tile-ring: rgba(0, 0, 0, .06);--pal-hover: rgba(0, 0, 0, .045);--pal-press: rgba(0, 0, 0, .085);--pal-field: rgba(118, 118, 128, .12);--pal-text: rgba(0, 0, 0, .86);--pal-text-2: rgba(60, 60, 67, .7);--pal-text-3: rgba(60, 60, 67, .48)}html[data-theme=dark] #wb#wb{--pal-bg: rgba(38, 38, 40, .92);--pal-bg-solid: #262628;--pal-sep: rgba(255, 255, 255, .08);--pal-tile: rgba(255, 255, 255, .06);--pal-tile-ring: rgba(255, 255, 255, .07);--pal-hover: rgba(255, 255, 255, .06);--pal-press: rgba(255, 255, 255, .11);--pal-field: rgba(118, 118, 128, .24);--pal-text: rgba(255, 255, 255, .88);--pal-text-2: rgba(235, 235, 245, .62);--pal-text-3: rgba(235, 235, 245, .4)}html #wb#wb .wb-palette{flex:0 0 248px!important;width:248px!important;min-width:0!important;max-width:none!important;margin:10px 0 10px 10px!important;padding:0!important;border:.5px solid var(--pal-sep)!important;border-radius:12px!important;background:var(--pal-bg-solid)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 1px 2px #0000000d,0 6px 18px #0000000f!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0!important;box-sizing:border-box!important}@media(max-width:1180px){html #wb#wb .wb-palette{flex-basis:224px!important;width:224px!important}}html #wb#wb .wb-palette-head{display:flex!important;align-items:center!important;gap:8px!important;padding:12px 12px 8px!important;margin:0!important;min-height:0!important;border:0!important;background:transparent!important;flex:0 0 auto!important}html #wb#wb .wb-palette-glyph{width:22px!important;height:22px!important;border-radius:6px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--apple-blue) 80%,white),var(--apple-blue))!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important}html #wb#wb .wb-palette-glyph svg{width:14px!important;height:14px!important}html #wb#wb .wb-palette-title{font:600 13px/1.2 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--pal-text)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}html #wb#wb .wb-palette-search-wrap{position:relative!important;display:block!important;margin:0 10px 8px!important;padding:0!important;flex:0 0 auto!important;height:28px!important}html #wb#wb .wb-palette-search-ico{position:absolute!important;left:8px!important;top:50%!important;transform:translateY(-50%)!important;display:inline-flex!important;color:var(--pal-text-3)!important;pointer-events:none!important;z-index:1}html #wb#wb .wb-palette-search-ico svg{width:13px!important;height:13px!important}html #wb#wb #wb-palette-search{width:100%!important;height:28px!important;min-height:28px!important;max-height:28px!important;margin:0!important;padding:0 8px 0 27px!important;box-sizing:border-box!important;border:0!important;border-radius:7px!important;background:var(--pal-field)!important;color:var(--pal-text)!important;font:400 13px/28px var(--apple-font-ui)!important;box-shadow:none!important;outline:none!important}html #wb#wb #wb-palette-search::placeholder{color:var(--pal-text-3)!important}html #wb#wb #wb-palette-search:focus{background:var(--apple-bg)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 30%,transparent),0 0 0 1px var(--apple-blue)!important}html #wb#wb .wb-palette-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 6px 14px!important;margin:0!important;border-top:.5px solid var(--pal-sep)!important;scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.35) transparent;overscroll-behavior:contain}html #wb#wb .wb-palette-list::-webkit-scrollbar{width:8px}html #wb#wb .wb-palette-list::-webkit-scrollbar-thumb{background:#80808052;border-radius:4px;border:2px solid transparent;background-clip:content-box}html #wb#wb .wb-palette-list::-webkit-scrollbar-track{background:transparent}html #wb#wb .wb-palette-note{margin:8px 4px 2px!important;padding:8px 10px!important;border:0!important;border-radius:8px!important;background:var(--pal-tile)!important;font:400 11.5px/1.4 var(--apple-font-ui)!important;color:var(--pal-text-2)!important}html #wb#wb .wb-palette-note strong{display:block!important;font:600 12px/1.3 var(--apple-font-ui)!important;color:var(--pal-text)!important;margin:0 0 2px!important}html #wb#wb .wb-palette-cat{position:sticky!important;top:0!important;z-index:2!important;margin:0!important;padding:10px 8px 4px 6px!important;font:600 11px/1.2 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--pal-text-3)!important;background:var(--pal-bg-solid)!important;opacity:1!important;cursor:default;user-select:none;border:0!important}html #wb#wb .wb-palette-cat:hover{color:var(--pal-text-2)!important}html #wb#wb .wb-palette-cat:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--apple-blue) 45%,transparent)!important;border-radius:6px}html #wb#wb .wb-palette-cat-chev{display:inline-flex;vertical-align:-1px;margin-right:3px;transform:rotate(90deg);transition:transform .16s var(--apple-ease-out, ease);opacity:.8}html #wb#wb .wb-palette-cat.is-collapsed .wb-palette-cat-chev{transform:rotate(0)}html #wb#wb .wb-palette-list:not(.is-searching) .wb-palette-item.is-cat-hidden{display:none!important}html #wb#wb .wb-palette-list.is-searching .wb-palette-cat-chev{visibility:hidden}html #wb#wb .wb-palette-item{position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:0 8px 0 6px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;text-align:left!important;color:var(--pal-text)!important;cursor:pointer!important;transform:none!important;box-sizing:border-box!important;transition:background-color .1s ease!important}html #wb#wb .wb-palette-item+.wb-palette-item:before{content:""!important;position:absolute!important;top:0!important;left:52px!important;right:8px!important;height:.5px!important;background:var(--pal-sep)!important;opacity:1}html #wb#wb .wb-palette-item:hover:not(:disabled){background:var(--pal-hover)!important;transform:none!important}html #wb#wb .wb-palette-item:active:not(:disabled){background:var(--pal-press)!important;transform:none!important}html #wb#wb .wb-palette-item:hover:before,html #wb#wb .wb-palette-item:hover+.wb-palette-item:before,html #wb#wb .wb-palette-item:active:before{opacity:0!important}html #wb#wb .wb-palette-item:focus-visible{outline:none!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--apple-blue) 55%,transparent)!important}html #wb#wb .wb-palette-item:disabled,html #wb#wb .wb-palette-item.is-exhausted{opacity:.42!important;cursor:default!important}html #wb#wb .wb-part-ico{flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;padding:5px!important;margin:0!important;box-sizing:border-box!important;border-radius:8px!important;background:var(--pal-tile)!important;box-shadow:inset 0 0 0 .5px var(--pal-tile-ring)!important;overflow:hidden!important;display:block!important}html #wb#wb .wb-part-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px}html #wb#wb .wb-part-name{display:block!important;font:500 13px/1.25 var(--apple-font-ui)!important;letter-spacing:-.005em!important;text-transform:none!important;color:var(--pal-text)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important}html #wb#wb .wb-part-sub{display:block;font:400 11px/1.2 var(--apple-font-ui);color:var(--pal-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html #wb#wb .wb-palette-qty{flex:0 0 auto!important;margin-left:auto!important;min-width:26px!important;height:18px!important;padding:0 6px!important;border-radius:9px!important;background:var(--pal-tile)!important;font:600 11px/18px var(--apple-font-ui)!important;font-variant-numeric:tabular-nums!important;text-align:center!important;color:var(--pal-text-2)!important;box-sizing:border-box!important}html #wb#wb .wb-grid-origin-dot,html #wb#wb .wb-grid-origin-axis,html #wb#wb .wb-palette-item[style*="display: none"],html #wb#wb .wb-palette-cat[style*="display: none"]{display:none!important}html body .theory-reader.theory-reader{--tr-bar: rgba(255, 255, 255, .86);--tr-sep: rgba(0, 0, 0, .09);--tr-fill: rgba(118, 118, 128, .12);--tr-fill-2: rgba(118, 118, 128, .08);--tr-ctl: #ffffff;--tr-ctl-border: rgba(0, 0, 0, .12);--tr-seg-on: #ffffff;--tr-text: rgba(0, 0, 0, .86);--tr-text-2: rgba(60, 60, 67, .72);--tr-text-3: rgba(60, 60, 67, .5);--tr-card: #ffffff;--tr-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}html body .theory-reader.theory-reader[data-theme=sepia]{--tr-bar: rgba(248, 241, 227, .92);--tr-ctl: #fffaf0;--tr-seg-on: #fffaf0;--tr-card: #fffaf0}html body .theory-reader.theory-reader[data-theme=dark]{--tr-bar: rgba(28, 28, 30, .9);--tr-sep: rgba(255, 255, 255, .09);--tr-fill: rgba(118, 118, 128, .26);--tr-fill-2: rgba(118, 118, 128, .18);--tr-ctl: #2c2c2e;--tr-ctl-border: rgba(255, 255, 255, .1);--tr-seg-on: #636366;--tr-text: rgba(255, 255, 255, .88);--tr-text-2: rgba(235, 235, 245, .62);--tr-text-3: rgba(235, 235, 245, .4);--tr-card: #1c1c1e}html body .theory-reader.theory-reader .theory-reading-bar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:8px 0!important;min-height:48px!important;height:auto!important;padding:10px 16px!important;margin:0!important;background:var(--tr-bar)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border:0!important;border-bottom:.5px solid var(--tr-sep)!important;box-shadow:none!important;font-family:var(--apple-font-ui)!important;box-sizing:border-box!important}html body .theory-reader.theory-reader .theory-bar-group{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;padding:0 16px!important;margin:0!important;border-left:.5px solid var(--tr-sep)!important;min-height:28px}html body .theory-reader.theory-reader .theory-bar-group:first-child{padding-left:0!important;border-left:0!important}html body .theory-reader.theory-reader .theory-bar-group--teach{margin-left:auto!important;padding-right:0!important}html body .theory-reader.theory-reader .theory-reading-bar>.doc-tool-sep{display:none!important}html body .theory-reader.theory-reader .theory-reading-kicker,html body .theory-reader.theory-reader .reader-toolbar-label{font:500 12px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--tr-text-2)!important;white-space:nowrap!important;margin:0!important;padding:0!important}html body .theory-reader.theory-reader .theory-size-group{display:inline-flex!important;align-items:center!important;height:28px!important;padding:2px!important;gap:0!important;border:0!important;outline:0!important;border-radius:7px!important;background:var(--tr-fill)!important;box-shadow:none!important;box-sizing:border-box!important;flex:0 0 auto!important;width:auto!important}html body .theory-reader.theory-reader .theory-size-btn{height:24px!important;min-height:24px!important;min-width:30px!important;width:auto!important;padding:0 8px!important;margin:0!important;border:0!important;border-radius:5px!important;background:transparent!important;box-shadow:none!important;color:var(--tr-text)!important;font:600 12.5px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important;cursor:default}html body .theory-reader.theory-reader .theory-size-btn:hover{background:var(--tr-fill-2)!important}html body .theory-reader.theory-reader .theory-size-btn:active{background:var(--tr-seg-on)!important;box-shadow:0 1px 2px #0000001f!important}html body .theory-reader.theory-reader .theory-size-readout{min-width:44px!important;height:16px!important;padding:0 6px!important;margin:0!important;border:0!important;border-left:.5px solid var(--tr-sep)!important;border-right:.5px solid var(--tr-sep)!important;border-radius:0!important;background:transparent!important;color:var(--tr-text-2)!important;font:500 12px/16px var(--apple-font-ui)!important;font-variant-numeric:tabular-nums!important;letter-spacing:0!important;text-transform:none!important;text-align:center!important}html body .theory-reader.theory-reader .theory-select-wrap{position:relative!important;display:inline-flex!important;align-items:center!important;height:28px!important;margin:0!important;padding:0!important;flex:0 0 auto!important;width:auto!important;background:transparent!important;border:0!important}html body .theory-reader.theory-reader .theory-select-wrap>:not(select){display:none!important}html body .theory-reader.theory-reader .theory-select-wrap>select,html body .theory-reader.theory-reader select.theory-reading-select,html body .theory-reader.theory-reader select.reader-select{-webkit-appearance:none!important;appearance:none!important;height:28px!important;min-height:28px!important;max-height:28px!important;width:auto!important;min-width:0!important;padding:0 26px 0 10px!important;margin:0!important;border:.5px solid var(--tr-ctl-border)!important;border-radius:7px!important;background-color:var(--tr-ctl)!important;background-image:var(--tr-chev)!important;background-repeat:no-repeat!important;background-position:right 8px center!important;background-size:12px 12px!important;box-shadow:0 .5px 1px #0000000f!important;color:var(--tr-text)!important;font:500 13px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important;cursor:default}html body .theory-reader.theory-reader select:focus-visible{outline:none!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 30%,transparent)!important}html body .theory-reader.theory-reader .theory-lux-group{display:inline-flex!important;align-items:center!important;gap:6px!important;height:28px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:var(--tr-text-2)!important}html body .theory-reader.theory-reader .theory-lux-group .apple-icon-host,html body .theory-reader.theory-reader .theory-lux-group svg{width:16px!important;height:16px!important}html body .theory-reader.theory-reader .theory-reading-bar .theory-lux-slider{width:110px!important;height:28px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:var(--apple-blue);background:transparent!important;border:0!important;box-shadow:none!important}html body .theory-reader.theory-reader .theory-reading-bar .theory-lux-readout{min-width:34px!important;font:500 12px/1 var(--apple-font-ui)!important;font-variant-numeric:tabular-nums!important;letter-spacing:0!important;text-transform:none!important;color:var(--tr-text-2)!important}html body .theory-reader.theory-reader .theory-reading-bar .theory-tool-btn{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;margin:0!important;border:0!important;border-radius:7px!important;background:var(--tr-fill-2)!important;box-shadow:none!important;color:var(--tr-text)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}html body .theory-reader.theory-reader .theory-reading-bar .theory-tool-btn:hover{background:var(--tr-fill)!important}html body .theory-reader.theory-reader .theory-reading-bar .theory-tool-btn svg{width:15px!important;height:15px!important}html body .theory-reader.theory-reader .teaching-toggle{display:inline-flex!important;align-items:center!important;gap:7px!important;height:28px!important;min-height:28px!important;padding:0 10px 0 6px!important;margin:0!important;border:.5px solid var(--tr-ctl-border)!important;border-radius:7px!important;background:var(--tr-ctl)!important;box-shadow:0 .5px 1px #0000000f!important;color:var(--tr-text)!important;font:500 13px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important;cursor:default}html body .theory-reader.theory-reader .reader-switch{position:relative;width:26px;height:16px;border-radius:8px;background:var(--tr-fill);transition:background-color .16s ease;flex:0 0 auto}html body .theory-reader.theory-reader .reader-switch-knob{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .18s cubic-bezier(.3,.7,.4,1)}html body .theory-reader.theory-reader .teaching-toggle[aria-checked=true] .reader-switch{background:var(--apple-green)}html body .theory-reader.theory-reader .teaching-toggle[aria-checked=true] .reader-switch-knob{transform:translate(10px)}html body .theory-reader.theory-reader .reader-annot-group{display:inline-flex!important;align-items:center!important;gap:2px!important;height:28px!important;padding:2px!important;border-radius:7px!important;background:var(--tr-fill)!important;box-sizing:border-box!important}html body .theory-reader.theory-reader .reader-annot-group .reader-tool-btn{display:inline-flex!important;align-items:center!important;gap:5px!important;height:24px!important;min-height:24px!important;padding:0 9px!important;margin:0!important;border:0!important;border-radius:5px!important;background:transparent!important;box-shadow:none!important;color:var(--tr-text)!important;font:500 12.5px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important;cursor:default}html body .theory-reader.theory-reader .reader-annot-group .reader-tool-btn:hover{background:var(--tr-fill-2)!important}html body .theory-reader.theory-reader .reader-annot-group .reader-tool-btn.active{background:var(--tr-seg-on)!important;box-shadow:0 1px 2px #00000024,0 0 0 .5px #0000000a!important;font-weight:600!important}html body .theory-reader.theory-reader .reader-annot-group svg{width:14px!important;height:14px!important}html body .theory-reader.theory-reader .theory-hero{display:flex!important;flex-direction:column!important;gap:6px!important;padding:12px 16px!important;border:.5px solid var(--tr-sep)!important;border-radius:12px!important;background:var(--tr-card)!important;box-shadow:0 1px 2px #0000000a!important}html body .theory-reader.theory-reader .theory-hero-left{display:flex!important;align-items:center!important;gap:8px!important}html body .theory-reader.theory-reader .theory-hero-badge{display:inline-flex!important;align-items:center!important;height:20px!important;padding:0 8px!important;border:0!important;border-radius:999px!important;background:color-mix(in srgb,var(--apple-blue) 13%,transparent)!important;color:var(--apple-blue)!important;font:600 11.5px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important}html body .theory-reader.theory-reader .theory-hero-chip{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--tr-text-2)!important;font:500 12px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important}html body .theory-reader.theory-reader .theory-hero-chip svg{width:13px!important;height:13px!important}html body .theory-reader.theory-reader .theory-hero-tagline{margin:0!important;font:400 13px/1.4 var(--apple-font-ui)!important;color:var(--tr-text-2)!important}html body .theory-reader.theory-reader .theory-reader-title{font-family:var(--apple-font-display, var(--apple-font-ui))!important;font-size:24px!important;font-weight:700!important;letter-spacing:-.02em!important;line-height:1.25!important;color:var(--tr-text)!important;text-transform:none!important}html body .theory-reader.theory-reader .theory-reader-rule{height:.5px!important;width:100%!important;background:var(--tr-sep)!important;margin-top:12px!important}html body .theory-reader.theory-reader .theory-reader-content .theory-lead{border-left:0!important;padding-left:0!important}html body .theory-reader.theory-reader .theory-reader-content .theory-lead:first-letter{font-size:2.9em!important;line-height:.9!important;padding:4px 8px 0 0!important;font-weight:700!important;color:var(--apple-blue)!important}html body .theory-reader.theory-reader .theory-reader-content .theory-section-head{border-bottom:.5px solid var(--tr-sep)!important}@media(max-width:1280px){html body .theory-reader.theory-reader .theory-reading-bar .theory-lux-slider{width:84px!important}}@media(max-width:1100px){html body .theory-reader.theory-reader .theory-reading-kicker{display:none!important}html body .theory-reader.theory-reader .theory-bar-group--teach{border-left:0!important}}html body .chapter-workspace-footer{background:var(--apple-bg, #fff)!important;border-top:.5px solid var(--apple-separator, rgba(0,0,0,.1))!important;font-family:var(--apple-font-ui)!important;font-size:11.5px!important}html body .chapter-workspace-footer .chapter-footer-left{font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--apple-label-tertiary, rgba(60,60,67,.5))!important}html body .chapter-workspace-footer .chapter-footer-status{display:inline-flex;align-items:center;gap:6px}html body .chapter-workspace-footer .chapter-footer-dot{width:6px;height:6px;border-radius:50%;background:var(--apple-green);flex:0 0 auto}html body .chapter-workspace-footer .chapter-footer-links a{font-family:var(--apple-font-ui)!important;font-size:11.5px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--apple-label-secondary, rgba(60,60,67,.7))!important}html body .chapter-workspace[data-reader-theme=dark] .chapter-workspace-footer,html[data-theme=dark] body .chapter-workspace-footer{background:#1c1c1e!important;border-top-color:#ffffff17!important}html body .theory-reader.theory-reader .theory-reader-head{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}html body .theory-reader.theory-reader{--tr-callout: #f2f2f7;--tr-hair: rgba(60, 60, 67, .2);--tr-code-bg: rgba(118, 118, 128, .1)}html body .theory-reader.theory-reader[data-theme=sepia]{--tr-callout: rgba(120, 92, 50, .08);--tr-hair: rgba(90, 70, 40, .24);--tr-code-bg: rgba(120, 92, 50, .1)}html body .theory-reader.theory-reader[data-theme=dark]{--tr-callout: #1c1c1e;--tr-hair: rgba(235, 235, 245, .2);--tr-code-bg: rgba(118, 118, 128, .24)}html body .theory-reader.theory-reader .theory-reader-scroll{overflow-x:hidden!important}html body .theory-reader.theory-reader .theory-scroll-body{min-width:0!important;max-width:100%!important}html body .theory-reader.theory-reader .theory-reader-page{box-sizing:border-box!important;width:100%!important;max-width:800px!important;min-width:0!important;margin-left:auto!important;margin-right:auto!important;padding-left:40px!important;padding-right:40px!important}@media(max-width:900px){html body .theory-reader.theory-reader .theory-reader-page{padding-left:28px!important;padding-right:28px!important}}@media(max-width:600px){html body .theory-reader.theory-reader .theory-reader-page{padding-left:18px!important;padding-right:18px!important}}html body .theory-reader.theory-reader .theory-reader-content{min-width:0!important;max-width:100%!important;overflow-wrap:break-word;line-height:1.65}html body .theory-reader.theory-reader .theory-reader-content :is(p,li,h2,h3,h4,blockquote,dd,dt,figcaption,summary,details,div,section,aside,header,td,th,a,span:not(.badge),strong,em,b,i,u):not(pre *){white-space:normal!important;overflow-wrap:anywhere;max-width:100%;min-width:0;box-sizing:border-box}html body .theory-reader.theory-reader .theory-reader-content :is(img,video,iframe,svg,canvas,figure){max-width:100%!important}html body .theory-reader.theory-reader .theory-reader-content [style*=width]{max-width:100%!important}html body .theory-reader.theory-reader .theory-reader-content pre{white-space:pre!important;overflow-x:auto!important;max-width:100%!important;margin:1.2em 0!important;padding:14px 16px!important;border-radius:12px!important;background:var(--tr-code-bg)!important;font:400 .82em/1.55 ui-monospace,SF Mono,Menlo,Consolas,monospace!important;tab-size:2}html body .theory-reader.theory-reader .theory-reader-content :not(pre)>code{padding:.1em .35em;border-radius:5px;background:var(--tr-code-bg);font:400 .88em ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow-wrap:anywhere}html body .theory-reader.theory-reader .theory-reader-content pre code{background:none;padding:0;font:inherit}html body .theory-reader.theory-reader .theory-reader-content .theory-table-scroll{max-width:100%;overflow-x:auto;margin:1.3em 0;border:.5px solid var(--tr-hair);border-radius:12px;-webkit-overflow-scrolling:touch}html body .theory-reader.theory-reader .theory-reader-content .theory-table-scroll>table:not(.chapter-table){width:100%!important;margin:0!important;border-collapse:separate!important;border-spacing:0!important;border:0!important;font-size:.9em;line-height:1.5}html body .theory-reader.theory-reader .theory-reader-content .theory-table-scroll>table:not(.chapter-table) :is(th,td){min-width:7em;padding:.65em .9em!important;border:0!important;border-bottom:.5px solid var(--tr-hair)!important;vertical-align:top;text-align:left;color:var(--tr-text)!important}html body .theory-reader.theory-reader .theory-reader-content .theory-table-scroll>table:not(.chapter-table) :is(th,td)+:is(th,td){border-left:.5px solid var(--tr-hair)!important}html body .theory-reader.theory-reader .theory-reader-content .theory-table-scroll>table:not(.chapter-table) tr:last-child>:is(th,td){border-bottom:0!important}html body .theory-reader.theory-reader .theory-reader-content .theory-table-scroll>table:not(.chapter-table) th{background:var(--tr-callout)!important;font:600 .92em/1.4 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important}html body .theory-reader.theory-reader .theory-reader-content p{margin:0 0 1em;line-height:1.65}html body .theory-reader.theory-reader .theory-reader-content :is(h2,h3,h4){font-family:inherit!important;color:var(--tr-text)!important;text-transform:none!important;letter-spacing:-.012em!important}html body .theory-reader.theory-reader .theory-reader-content h2{font-size:1.5em!important;font-weight:700!important;line-height:1.2!important;margin:2em 0 .6em!important;padding-bottom:.35em!important}html body .theory-reader.theory-reader .theory-reader-content h3,html body .theory-reader.theory-reader .theory-reader-content h3.theory-section-head{font-size:1.25em!important;font-weight:650!important;line-height:1.25!important;margin:1.8em 0 .5em!important;padding-bottom:0!important;border-bottom:0!important}html body .theory-reader.theory-reader .theory-reader-content h4{font-size:1.06em!important;font-weight:650!important;line-height:1.3!important;margin:1.4em 0 .4em!important}html body .theory-reader.theory-reader .theory-reader-content>:is(h2,h3,h4):first-child{margin-top:0!important}html body .theory-reader.theory-reader .theory-reader-content :is(ul,ol):not(.theory-lab-steps){margin:0 0 1em!important;padding-left:1.4em!important}html body .theory-reader.theory-reader .theory-reader-content li{margin:.35em 0;line-height:1.6}html body .theory-reader.theory-reader .theory-reader-content li::marker{color:var(--tr-text-2);font-weight:600}html body .theory-reader.theory-reader .theory-reader-content hr{border:0!important;height:.5px!important;background:var(--tr-hair)!important;margin:2em 0!important}html body .theory-reader.theory-reader .theory-reader-content blockquote:not(.theory-callout){margin:1.4em 0!important;padding:.9em 1.1em!important;border:0!important;border-left:3px solid var(--apple-blue)!important;border-radius:0 12px 12px 0!important;background:var(--tr-callout)!important;opacity:1!important}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-card{margin:1.6em 0!important;padding:18px 20px 4px!important;border:0!important;border-radius:12px!important;background:var(--tr-callout)!important;color:var(--tr-text)!important;font-size:1em}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-card .theory-lab-title{font:600 15px/1.35 var(--apple-font-ui)!important;letter-spacing:-.01em!important;margin:0 0 12px!important;padding:0!important;border:0!important;color:var(--tr-text)!important}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-card>p{margin:0 0 1em;color:var(--tr-text)}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-steps{list-style:none!important;counter-reset:lab-step;margin:0 0 .6em!important;padding:0!important}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-step{counter-increment:lab-step;position:relative;margin:0 0 1.05em!important;padding-left:2.1em!important}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-step:before{content:attr(data-step);position:absolute;left:0;top:.12em;width:1.9em;height:1.9em;border-radius:50%;background:var(--apple-blue);color:#fff;font:600 .72em/1.9em var(--apple-font-ui);text-align:center}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-step::marker{content:none}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-step-lead{display:block;margin-bottom:.15em;font-weight:650;color:var(--tr-text)}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-step-lead strong{font-weight:700}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-step-title:before{content:" · ";color:var(--tr-text-3);font-weight:400}html body .theory-reader.theory-reader .theory-reader-content .theory-lab-step-body{margin:0!important;color:var(--tr-text)}html body .theory-reader.theory-reader .theory-reader-content .theory-quiz-card{margin:1em 0!important;padding:16px 18px 14px!important;border:.5px solid var(--tr-hair)!important;border-radius:12px!important;background:transparent!important}html body .theory-reader.theory-reader .theory-reader-content .theory-quiz-q{margin:0 0 .6em!important}html body .theory-reader.theory-reader .theory-reader-content .theory-quiz-label{display:block;margin-bottom:4px;font:600 13px/1.3 var(--apple-font-ui);color:var(--apple-blue);letter-spacing:0;text-transform:none}html body .theory-reader.theory-reader .theory-reader-content .theory-answer-area{display:block;margin-top:.3em}html body .theory-reader.theory-reader .theory-reader-content .theory-answer-label{display:block;font:500 12px/1.3 var(--apple-font-ui);color:var(--tr-text-2)}html body .theory-reader.theory-reader .theory-reader-content .theory-answer-line{display:block;width:100%;height:2em;border-bottom:1px solid var(--tr-hair)}html body .theory-reader.theory-reader .theory-reader-content .theory-answer-rule{display:inline-block;width:12em;max-width:100%;height:0;border-bottom:1px solid var(--tr-hair);vertical-align:baseline}html body .theory-reader.theory-reader .theory-read-progress{flex:0 0 2px!important;height:2px!important;background:transparent!important}html body .chapter-workspace .theory-reader.theory-reader .theory-read-progress-fill{background:var(--apple-blue)!important}html body .theory-reader.theory-reader .theory-reader-spacer{height:120px!important}@media(max-width:1199px){html body .theory-reader.theory-reader>.theory-sticky-wrap{position:static!important;flex:0 0 auto!important;display:flex!important;justify-content:flex-end!important;padding:8px 16px!important;margin-bottom:calc(-1 * (var(--chapter-footer-h, 28px) + 8px))!important;padding-bottom:calc(8px + var(--chapter-footer-h, 28px) + 8px)!important;border-top:.5px solid var(--tr-sep)!important;background:var(--tr-bar)!important;-webkit-backdrop-filter:saturate(180%) blur(20px)!important;backdrop-filter:saturate(180%) blur(20px)!important}html body .theory-reader.theory-reader .theory-reader-spacer{height:40px!important}}.admin-shell table td.admin-actions-col,.admin-shell table td.ad-actions{display:table-cell!important;white-space:nowrap!important;vertical-align:middle!important;width:1%!important;padding-top:0!important;padding-bottom:0!important}.admin-shell .admin-actions-col>.admin-icon-btn+.admin-icon-btn,.admin-shell .admin-actions-col>*+*{margin-left:8px!important}.admin-shell .admin-actions-col>.admin-icon-btn{vertical-align:middle!important}.admin-shell td .admin-row-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin:0!important}.admin-shell td .admin-row-actions>*{margin:0!important}.admin-shell .admin-icon-btn--only{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important}.admin-shell .admin-icon-btn--danger{background:color-mix(in srgb,var(--apple-red) 10%,transparent)!important;color:var(--apple-red)!important}.admin-shell .admin-icon-btn--danger:hover{background:color-mix(in srgb,var(--apple-red) 18%,transparent)!important}.admin-shell .admin-table-wrap table td.admin-actions-col{z-index:1!important;background:var(--adm-card)!important;box-shadow:inset 1px 0 0 var(--adm-sep)!important}.admin-shell .admin-table-wrap table th.admin-actions-col{z-index:3!important;background:var(--adm-card-2)!important;box-shadow:inset 1px 0 0 var(--adm-sep),inset 0 -1px 0 var(--adm-sep)!important}.admin-shell .admin-table-wrap table tr:hover td.admin-actions-col{background:color-mix(in srgb,var(--adm-card) 95%,var(--adm-text))!important}.admin-shell .crm-add-panel,.admin-shell .crm-edit-wrap{padding:18px 20px 16px!important;overflow:visible!important;box-sizing:border-box!important}.admin-shell .crm-add-panel .admin-section-title,.admin-shell .crm-edit-wrap .admin-section-title{margin:0 0 14px!important;font-size:14px!important}.admin-shell .crm-school-edit{display:block!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow:visible!important}.admin-shell .crm-form-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px 14px!important}.admin-shell .crm-form-grid .admin-form-field{gap:6px!important;min-width:0!important}.admin-shell .crm-form-grid .crm-span-1{grid-column:span 1!important}.admin-shell .crm-form-grid .crm-span-2{grid-column:span 2!important}.admin-shell .crm-form-grid .crm-span-3{grid-column:span 3!important}.admin-shell .crm-form-grid .crm-span-4{grid-column:1 / -1!important}.admin-shell .crm-form-grid .admin-form-label{font-size:12px!important;font-weight:500!important;color:var(--adm-text-2)!important;line-height:1.2!important}.admin-shell .crm-form-grid input.field,.admin-shell .crm-form-grid select.field{width:100%!important;height:30px!important;min-height:30px!important;max-height:30px!important;box-sizing:border-box!important;margin:0!important}.admin-shell .crm-form-grid textarea.field{width:100%!important;min-height:64px!important;height:auto!important;resize:vertical;padding:7px 10px!important;box-sizing:border-box!important;margin:0!important;line-height:1.4!important}.admin-shell .crm-school-edit>.admin-form-hint{margin:14px 0 0!important;font-size:12px!important;line-height:1.4!important;color:var(--adm-text-3)!important}.admin-shell .crm-add-panel .admin-form-actions,.admin-shell .crm-edit-wrap .admin-form-actions{margin-top:12px!important;padding-top:12px!important;border-top:1px solid var(--adm-sep)!important;justify-content:flex-start!important}@media(max-width:1180px){.admin-shell .crm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-shell .crm-form-grid .crm-span-2,.admin-shell .crm-form-grid .crm-span-3{grid-column:1 / -1!important}}@media(max-width:640px){.admin-shell .crm-form-grid{grid-template-columns:minmax(0,1fr)!important}}.admin-shell .admin-toolbar>select.field,.admin-shell .admin-toolbar>.admin-head-btn{height:30px!important;min-height:30px!important}.admin-shell .admin-toolbar>select.field{min-width:140px!important;max-width:220px}.auth-page{height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important}.auth-page>.auth-nav{position:sticky!important;top:0!important;flex:0 0 auto!important}.auth-page>.auth-main,.auth-page>.auth-main.auth-main--register,.auth-page>.auth-main.auth-main--login{flex:1 0 auto!important;min-height:auto!important;height:auto!important;overflow:visible!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;padding:32px 20px 48px!important;box-sizing:border-box!important}.auth-page>.auth-main>*{margin-top:auto!important;margin-bottom:auto!important}.auth-page>.auth-footer{flex:0 0 auto!important}.auth-page .auth-footer-inner{padding:20px 28px!important}.auth-page .auth-footer-brand{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}.auth-page .auth-footer-brand .auth-footer-title{margin:0!important;font-size:13px!important;font-weight:600!important}.auth-page .auth-footer-brand p{margin:0!important}.auth-page .auth-footer-brand .auth-footer-logo{width:28px!important;height:28px!important}.auth-page .auth-footer{background:var(--apple-bg-secondary)!important;border-top:1px solid var(--apple-separator)!important}.auth-page .register-layout{width:min(980px,100%)!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;align-items:start!important}@media(min-width:960px){.auth-page .register-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr)!important;gap:40px!important}}.auth-page .register-aside-inner{position:sticky;top:84px}.auth-page .register-headline{text-transform:none!important;color:var(--apple-label)!important;font:700 28px/1.15 var(--apple-font-display)!important;letter-spacing:-.025em!important;margin:0 0 10px!important}.auth-page .register-lead{border-left:0!important;padding-left:0!important;margin:0 0 20px!important;color:var(--apple-label-secondary)!important;font-size:14px!important;line-height:1.5!important}.auth-page .register-visual{border:1px solid var(--apple-separator)!important;border-radius:14px!important;background:var(--apple-bg)!important;padding:8px!important;aspect-ratio:auto!important;max-width:320px}.auth-page .register-visual-img{border-radius:8px;height:auto!important;aspect-ratio:512 / 279;filter:grayscale(1) contrast(1.1)!important}.auth-page .register-visual-tag{display:none!important}.auth-page .register-features{margin-top:20px!important;gap:12px!important}.auth-page .register-feature{gap:10px!important;color:var(--apple-blue)}.auth-page .register-feature-title{font:600 13px/1.3 var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:-.01em!important;color:var(--apple-label)!important}.auth-page .register-feature-sub{color:var(--apple-label-secondary)!important;font-size:12.5px!important}.auth-page .register-form-col{gap:16px!important;min-width:0}.auth-page .register-section{background:var(--apple-bg)!important;border:1px solid var(--apple-separator)!important;border-radius:14px!important;padding:16px 20px 18px!important;box-shadow:var(--apple-shadow-sm)!important}.auth-page .register-section--focus{border-color:color-mix(in srgb,var(--apple-blue) 45%,var(--apple-separator))!important}.auth-page .register-section-tag{position:static!important;background:none!important;border:0!important;padding:0!important;margin:0 0 12px!important;display:flex;align-items:center;gap:8px;font:600 15px/1.25 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--apple-label)!important}.auth-page .register-section-tag:before{content:attr(data-step);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;flex-shrink:0;background:color-mix(in srgb,var(--apple-blue) 14%,transparent);color:var(--apple-blue);font:600 11px/1 var(--apple-font-ui);font-variant-numeric:tabular-nums}.auth-page .register-section-body{padding:0!important}.auth-page .register-grid{gap:12px 16px!important}.auth-page .register-grid+.register-grid{margin-top:12px}@media(min-width:640px){.auth-page .register-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.auth-page .register-field{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0}.auth-page .register-field[hidden]{display:none!important}.auth-page .register-field--full{grid-column:1 / -1!important}.auth-page .register-field .auth-field-label{margin:0!important;font-size:12px!important;font-weight:500!important}.auth-page .register-field input.register-input,.auth-page .register-field select.register-input{height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 10px!important;font:400 14px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;border-radius:8px!important;box-sizing:border-box!important;width:100%!important;background-color:var(--apple-bg-secondary)!important;border:1px solid var(--apple-separator)!important;text-transform:none!important}.auth-page .register-field input.register-input::placeholder{color:var(--apple-label-tertiary)!important}.auth-page .register-field select.register-input{padding-right:30px!important;background-position:right 10px center!important;background-size:9px!important}[data-theme=dark] .auth-page .register-field select.register-input{background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23aaa%22%20stroke-width%3D%221.6%22%20d%3D%22M2.5%204.5L6%208l3.5-3.5%22%2F%3E%3C%2Fsvg%3E)!important}.auth-page .register-field input.register-input:focus,.auth-page .register-field select.register-input:focus{border-color:var(--apple-blue)!important;background-color:var(--apple-bg)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 25%,transparent)!important;padding:0 10px!important}.auth-page .register-actions{align-items:stretch!important;gap:10px!important;padding:4px 0 0!important}.auth-page .register-terms{align-items:flex-start!important;gap:8px!important;margin:0!important}.auth-page .register-terms .auth-checkbox{margin:2px 0 0!important;flex-shrink:0;width:16px;height:16px}.auth-page .register-terms label{font:400 13px/1.45 var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:-.005em!important;color:var(--apple-label-secondary)!important}.auth-page .register-submit{align-self:flex-start!important;width:auto!important;min-width:200px!important;height:36px!important;padding:0 22px!important;border:0!important;border-radius:999px!important;background:var(--apple-blue)!important;color:#fff!important;box-shadow:none!important;font:600 14px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;transform:none!important;cursor:pointer}.auth-page .register-submit:hover{background:var(--apple-blue-hover)!important}.auth-page .register-submit:active{transform:scale(.98)!important}.auth-page .register-submit:disabled{opacity:.55!important}.auth-page .register-meta{font:400 12px/1.4 var(--apple-font-ui)!important;font-style:normal!important;color:var(--apple-label-tertiary)!important;margin:0!important;white-space:normal!important;overflow:visible!important}.auth-page .register-note{margin:0!important;font-size:12.5px!important}.auth-page .register-login-link{align-self:flex-start!important;margin:2px 0 0!important;font-size:13px!important;color:var(--apple-blue)!important}@media(max-width:639px){.auth-page .register-submit{align-self:stretch!important;width:100%!important}}.auth-page .register-note{text-align:left!important;align-self:stretch!important}.chapter-topbar-right{flex:0 0 auto!important;gap:6px!important}.chapter-topbar-right>.chapter-step-progress{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:auto!important;flex:0 0 auto!important;margin-right:6px!important}.chapter-topbar-right .chapter-step-progress-text{height:auto!important;padding:0!important;white-space:nowrap!important}.chapter-topbar-right .chapter-step-progress-bar{width:120px!important;flex:0 0 120px!important;max-width:120px!important}.chapter-topbar-icon{overflow:hidden!important;padding:0!important;font-size:0!important}.chapter-topbar-icon>.apple-icon-host{display:inline-flex!important}.ide-shell-sidebar .ide-sidebar-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:14px!important}.ide-shell-sidebar .ide-sidebar-brand{margin:0!important;gap:8px!important}.ide-shell-sidebar .ide-sidebar-brand-name{font-size:14px!important;font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-shell-sidebar .ide-sidebar-user{margin:0!important;padding:8px!important;border-radius:10px!important;background:var(--apple-fill-quaternary)!important}.ide-shell-sidebar .ide-sidebar-user>div:last-child{min-width:0;flex:1 1 auto}.ide-shell-sidebar .ide-sidebar-avatar{width:32px!important;height:32px!important;border-radius:50%!important;background:var(--apple-blue)!important;box-shadow:none!important;font-size:12.5px!important;font-weight:600!important}.ide-shell-sidebar .ide-sidebar-id{font-size:13px!important;font-weight:600!important;letter-spacing:-.005em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-shell-sidebar .ide-sidebar-meta{font-size:11.5px!important;color:var(--apple-label-secondary)!important;white-space:nowrap;text-overflow:ellipsis}.ide-shell-sidebar .ide-sidebar-cta{width:100%!important;height:32px!important;padding:0 12px!important;margin:0!important;border-radius:8px!important;background:var(--apple-blue)!important;color:#fff!important;box-shadow:none!important;font:600 13px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;transform:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.ide-shell-sidebar .ide-sidebar-cta:hover{background:var(--apple-blue-hover)!important}#wb #wb-props .wb-prop-row{min-height:28px;margin:8px 0!important}#wb #wb-props select.wb-prop-color,#wb #wb-props select.wb-prop-value{height:28px!important;min-height:28px!important;max-height:28px!important;padding:0 26px 0 9px!important;line-height:26px!important;font-size:12.5px!important;border-radius:7px!important;box-sizing:border-box!important}#wb #wb-props .wb-prop-btn{height:28px!important;min-height:28px!important;font-size:12.5px!important;border-radius:7px!important}.auth-page{--auth-page-bg: #f5f5f7;--auth-card-bg: #ffffff;--auth-card-border: rgba(0, 0, 0, .08);--auth-input-bg: #f2f2f7;--auth-input-border: rgba(0, 0, 0, .1);--auth-chevron: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%238e8e93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");background:var(--auth-page-bg)!important;color:var(--apple-label)!important}[data-theme=dark] .auth-page{--auth-page-bg: #111113;--auth-card-bg: #1c1c1e;--auth-card-border: rgba(255, 255, 255, .09);--auth-input-bg: #2c2c2e;--auth-input-border: rgba(255, 255, 255, .1)}.auth-page>.auth-footer{background:var(--auth-page-bg)!important;border-top:1px solid var(--auth-card-border)!important;color:var(--apple-label-tertiary)!important}.auth-page .auth-footer-title{color:var(--apple-label-secondary)!important}.auth-page .register-section,.auth-page .auth-card,.auth-page .login-card{background:var(--auth-card-bg)!important;border:1px solid var(--auth-card-border)!important;box-shadow:0 1px 2px #0000000a!important}[data-theme=dark] .auth-page .register-section,[data-theme=dark] .auth-page .auth-card,[data-theme=dark] .auth-page .login-card{box-shadow:none!important}.auth-page .register-section{border-radius:12px!important;padding:16px 18px 18px!important}.auth-page .register-section-tag{font:600 13px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;margin:0 0 12px!important;gap:8px}.auth-page .register-section-tag:before{width:18px;height:18px;font-size:10.5px;background:var(--apple-fill-tertiary);color:var(--apple-label-secondary)}.auth-page .register-field .auth-field-label,.auth-page .auth-field-label{color:var(--apple-label-secondary)!important;font:500 12.5px/1.2 var(--apple-font-ui)!important;letter-spacing:-.005em!important}.auth-page .register-field input.register-input,.auth-page .register-field select.register-input,.auth-page .auth-input,.auth-page .auth-field-wrap input{height:36px!important;min-height:36px!important;max-height:36px!important;border-radius:10px!important;font:400 14px/1.2 var(--apple-font-ui)!important;background-color:var(--auth-input-bg)!important;border:1px solid var(--auth-input-border)!important;color:var(--apple-label)!important;text-transform:none!important;box-sizing:border-box!important}.auth-page .register-field input.register-input,.auth-page .register-field select.register-input{padding:0 12px!important}.auth-page .register-field select.register-input,[data-theme=dark] .auth-page .register-field select.register-input{-webkit-appearance:none!important;appearance:none!important;background-image:var(--auth-chevron)!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px 12px!important;padding-right:34px!important}.auth-page .register-field select.register-input option{background:var(--auth-card-bg);color:var(--apple-label)}.auth-page input::placeholder{color:var(--apple-label-tertiary)!important;opacity:1!important}.auth-page .register-field input.register-input:focus,.auth-page .register-field select.register-input:focus,.auth-page .auth-input:focus{border-color:var(--apple-blue)!important;background-color:var(--auth-input-bg)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 28%,transparent)!important}.auth-page .register-headline{font:600 30px/1.15 var(--apple-font-display)!important;color:var(--apple-label)!important}.auth-page .register-visual{border-radius:12px!important;border:1px solid var(--auth-card-border)!important;background:var(--auth-card-bg)!important}[data-theme=dark] .auth-page .register-visual-img{filter:grayscale(1) invert(.88) contrast(.95)!important;opacity:.9}.auth-page .register-terms label,.auth-page .register-terms label span{font:400 13px/1.45 var(--apple-font-ui)!important;letter-spacing:-.005em!important;text-transform:none!important}.auth-page input[type=checkbox].auth-checkbox{-webkit-appearance:none!important;appearance:none!important;width:16px!important;height:16px!important;min-height:16px!important;margin:2px 0 0!important;padding:0!important;border-radius:4px!important;border:1px solid color-mix(in srgb,var(--apple-label) 28%,transparent)!important;background:var(--auth-card-bg)!important;display:inline-grid!important;place-content:center;cursor:pointer;flex-shrink:0}.auth-page input[type=checkbox].auth-checkbox:checked{background:var(--apple-blue)!important;border-color:var(--apple-blue)!important}.auth-page input[type=checkbox].auth-checkbox:checked:after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}.auth-page input[type=checkbox].auth-checkbox:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 30%,transparent)!important}.auth-page .register-submit{border-radius:10px!important;height:38px!important;min-width:180px!important}.auth-page .auth-field-wrap input.auth-input::placeholder,.auth-page .register-field input.register-input::placeholder{color:var(--apple-label-tertiary)!important;opacity:1!important;-webkit-text-fill-color:var(--apple-label-tertiary)!important}@media(max-width:1180px){.admin-shell .crm-form-grid .admin-form-field:has(>[data-key=board]){grid-column:1 / -1!important}}.admin-shell .admin-toolbar>.admin-search-field{flex:1 1 200px!important;min-width:160px!important}.admin-shell .admin-toolbar>select.field{min-width:120px!important;flex:0 1 150px!important}.ide-shell .brand-logo.ide-sidebar-logo,.ide-shell .brand-logo.ide-shell-logo{width:20px!important;height:20px!important;color:var(--apple-label)!important}.ide-shell .brand-logo.ide-footer-logo{width:16px!important;height:16px!important;color:var(--apple-label-secondary)!important}.ide-shell-topbar{gap:10px!important;padding:0 14px!important}.ide-shell-topbar>.ide-shell-brand{flex:1 1 0!important;min-width:0!important;gap:8px!important;font:600 14px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;color:var(--apple-label)!important}.ide-shell-topbar>.ide-shell-brand>span:not(.brand-logo){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-shell-topbar>.ide-shell-search{flex:0 1 300px!important;width:300px;min-width:200px!important;max-width:320px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0 10px!important;gap:6px!important;border-radius:8px!important;border:0!important;background:var(--apple-fill-tertiary)!important;box-shadow:none!important;display:flex!important;align-items:center!important;box-sizing:border-box!important;color:var(--apple-label-secondary)!important}.ide-shell-topbar>.ide-shell-search:focus-within{background:var(--apple-bg)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 30%,transparent)!important}.ide-shell-topbar>.ide-shell-search .apple-icon-host,.ide-shell-topbar>.ide-shell-search svg.apple-icon{width:14px!important;height:14px!important;flex-shrink:0;position:static!important;transform:none!important}.ide-shell-topbar .ide-shell-search-input{flex:1 1 auto!important;width:100%!important;min-width:0!important;height:28px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font:400 13px/28px var(--apple-font-ui)!important;color:var(--apple-label)!important}.ide-shell-topbar .ide-shell-search-input::placeholder{color:var(--apple-label-tertiary)!important}.ide-shell-topbar>.ide-shell-actions{flex:1 1 0!important;justify-content:flex-end!important;gap:4px!important;margin:0!important;min-width:0}.ide-shell-topbar .ide-shell-icon-btn,.ide-shell-topbar .ide-shell-menu{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border-radius:7px!important;border:0!important;background:transparent!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:var(--apple-label-secondary)!important;font-size:0!important}.ide-shell-topbar .ide-shell-icon-btn:hover,.ide-shell-topbar .ide-shell-menu:hover{background:var(--apple-fill-quaternary)!important;color:var(--apple-label)!important}.ide-shell-topbar .ide-shell-icon-btn svg.apple-icon,.ide-shell-topbar .ide-shell-menu svg.apple-icon,.ide-shell-topbar .ide-shell-icon-btn .apple-icon-host{width:18px!important;height:18px!important}@media(max-width:760px){.ide-shell-topbar>.ide-shell-search{display:none!important}}.ide-shell-sidebar .ide-sidebar-foot{padding:8px 10px 12px!important;gap:2px!important;display:flex!important;flex-direction:column!important}.ide-shell-sidebar .ide-session-clock{display:flex!important;align-items:center!important;gap:8px!important;height:32px!important;margin:6px 0 2px!important;padding:0 10px!important;border-radius:8px!important;background:var(--apple-fill-quaternary)!important;border:0!important;box-shadow:none!important;color:var(--apple-label-secondary)!important;font:500 12.5px/1 var(--apple-font-ui)!important}.ide-shell-sidebar .ide-session-clock svg.apple-icon,.ide-shell-sidebar .ide-session-clock .apple-icon-host{width:15px!important;height:15px!important;color:var(--apple-label-secondary)!important}.ide-shell-sidebar .ide-session-clock-time{margin-left:auto!important;font-variant-numeric:tabular-nums!important;font-weight:600!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important}.ide-shell-sidebar .ide-sidebar-logout{display:flex!important;align-items:center!important;gap:10px!important;justify-content:flex-start!important;width:100%!important;height:32px!important;padding:0 10px!important;margin:0!important;border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:var(--apple-red)!important;font:500 13px/1 var(--apple-font-ui)!important;text-align:left!important;cursor:pointer}.ide-shell-sidebar .ide-sidebar-logout:hover{background:color-mix(in srgb,var(--apple-red) 10%,transparent)!important}.ide-shell-sidebar .ide-sidebar-logout svg.apple-icon,.ide-shell-sidebar .ide-sidebar-logout .apple-icon-host{width:18px!important;height:18px!important;color:var(--apple-red)!important}.dash-page{max-width:1080px!important;margin:0 auto!important;padding:28px 32px 64px!important;gap:28px!important;box-sizing:border-box;width:100%}.dash-header{margin:0!important}.dash-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.75fr) minmax(240px,1fr)!important;gap:16px!important;align-items:stretch!important}@media(max-width:860px){.dash-hero-grid{grid-template-columns:minmax(0,1fr)!important}}.dash-featured,.dash-summary{min-height:0!important;padding:22px 24px!important;border-radius:14px!important;box-sizing:border-box!important;height:100%}.dash-featured{display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:18px!important}.dash-featured-body{display:flex!important;flex-direction:column!important;gap:6px!important}.dash-featured--empty{justify-content:center!important}.dash-kicker{text-transform:none!important;letter-spacing:-.005em!important;font:600 13px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;margin:0!important}.dash-featured-title{margin:0!important;font:600 22px/1.25 var(--apple-font-display)!important;letter-spacing:-.02em!important;color:var(--apple-label)!important}.dash-featured-sub{margin:0!important;font-size:14px!important;line-height:1.45!important;color:var(--apple-label-secondary)!important}.dash-featured-btn{align-self:flex-start!important}.dash-empty-icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--apple-blue) 12%,transparent);color:var(--apple-blue)}.dash-empty-icon svg.apple-icon,.dash-empty-icon .apple-icon-host{width:18px!important;height:18px!important}.dash-empty-icon--hero{margin-bottom:6px}.dash-summary{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:16px!important}.dash-progress-ring.dash-progress-ring--svg{position:relative!important;width:112px!important;height:112px!important;flex:0 0 auto;background:none!important;border:0!important;box-shadow:none!important;border-radius:50%!important}.dash-progress-ring--svg svg{display:block}.dash-progress-ring--svg .dash-ring-track{stroke:var(--apple-fill-tertiary)}.dash-progress-ring--svg .dash-ring-value{stroke:var(--apple-blue);transition:stroke-dashoffset .4s var(--apple-ease-out, ease)}.dash-progress-ring--svg .dash-progress-inner{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;background:none!important;border:0!important;box-shadow:none!important;width:auto!important;height:auto!important;margin:0!important}.dash-progress-ring--svg .dash-progress-value{font:600 22px/1 var(--apple-font-display)!important;color:var(--apple-label)!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dash-progress-ring--svg .dash-progress-label{font:500 11.5px/1 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;text-transform:none!important;letter-spacing:0!important}.dash-summary-stats.dash-stat-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;width:100%!important;border-top:1px solid var(--apple-separator)!important;padding-top:12px!important}.dash-stat-cell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.dash-stat-cell+.dash-stat-cell{border-left:1px solid var(--apple-separator)}.dash-stat-value{font:600 17px/1.1 var(--apple-font-ui);color:var(--apple-label);font-variant-numeric:tabular-nums}.dash-stat-label{font:500 12px/1.2 var(--apple-font-ui);color:var(--apple-label-secondary);white-space:nowrap}.dash-section-head{display:flex!important;align-items:baseline!important;gap:10px!important;margin:4px 0 12px!important}.dash-section-head h3{margin:0!important;font:600 21px/1.2 var(--apple-font-display)!important;letter-spacing:-.02em!important;color:var(--apple-label)!important}.dash-section-head .dash-section-rule,.dash-section-head .dash-section-tag{display:none!important}.dash-section-caption{font:500 13px/1 var(--apple-font-ui);color:var(--apple-label-secondary)}.dash-chapter-grid>.dash-empty-card{grid-column:1 / -1!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:28px 24px;border-radius:14px;background:var(--apple-bg);border:1px solid var(--apple-separator);box-sizing:border-box;width:100%}[data-theme=dark] .dash-chapter-grid>.dash-empty-card{background:var(--apple-bg-secondary)}.dash-empty-card .dash-empty-icon{margin-bottom:4px}.dash-empty-title{font:600 15px/1.3 var(--apple-font-ui);color:var(--apple-label)}.dash-empty-text{margin:0;font-size:13px;line-height:1.45;color:var(--apple-label-secondary);max-width:420px}.dash-status-label{text-transform:none!important;letter-spacing:0!important;font-family:var(--apple-font-ui)!important}.dash-status-value{text-transform:none!important;letter-spacing:-.01em!important;font-family:var(--apple-font-ui)!important}[data-theme=dark] .dash-featured,[data-theme=dark] .dash-summary,[data-theme=dark] .dash-chapter-card,[data-theme=dark] .dash-status-cell{background:var(--apple-bg-secondary)!important}.ide-shell-sidebar .ide-sidebar-foot{padding:8px 0 12px!important}.ide-shell-sidebar .ide-sidebar-foot>.ide-nav-link{margin-left:8px!important;margin-right:8px!important}.ide-shell-sidebar .ide-sidebar-foot>.ide-session-clock,.ide-shell-sidebar .ide-sidebar-foot>.ide-sidebar-logout{margin-left:8px!important;margin-right:8px!important;width:auto!important;padding-left:12px!important;padding-right:12px!important}.ide-shell-sidebar .ide-sidebar-foot>.ide-sidebar-logout{gap:12px!important}.dash-progress-ring--svg .dash-ring-track{stroke:var(--apple-fill-secondary)!important}html body .theory-sticky-wrap{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;padding:0!important;left:20px!important;bottom:calc(var(--chapter-footer-h, 28px) + 16px)!important}html body .theory-sticky-wrap .theory-sticky-cta,html body .chapter-workspace .theory-sticky-cta.chapter-cta-btn{height:30px!important;min-height:30px!important;padding:0 14px!important;gap:6px!important;border:0!important;border-radius:8px!important;background:var(--apple-blue)!important;color:#fff!important;font:600 13px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;box-shadow:0 1px 2px #0000002e!important;transform:none!important;width:auto!important}html body .theory-sticky-wrap .theory-sticky-cta:hover{background:var(--apple-blue-hover)!important;transform:none!important}html body .theory-sticky-wrap .theory-sticky-cta:disabled{opacity:.45!important}html body .theory-sticky-wrap .theory-sticky-cta svg.apple-icon,html body .theory-sticky-wrap .theory-sticky-cta .apple-icon-host{width:15px!important;height:15px!important;color:#fff!important}html body .theory-reader.theory-reader .theory-reader-content .theory-lead:first-letter{float:none!important;color:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;padding:0!important;margin:0!important;font-family:inherit!important}html body .theory-reader.theory-reader .theory-reading-bar,html body .theory-reader.theory-reader .theory-reading-bar .theory-bar-group{align-items:center!important}html body .theory-reader.theory-reader .theory-lux-group{display:inline-flex!important;align-items:center!important;gap:8px!important;height:28px!important}html body .theory-reader.theory-reader .theory-lux-group>*{align-self:center!important;margin-top:0!important;margin-bottom:0!important}html body .theory-reader.theory-reader .theory-reading-bar .theory-tool-btn{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important}.chapter-topbar-brand{display:inline-flex!important;align-items:center!important;gap:8px!important;min-width:0}.chapter-topbar-brand .brand-logo.chapter-topbar-logo{width:20px!important;height:20px!important;color:var(--apple-label)!important;flex-shrink:0}.chapter-topbar-brand .chapter-topbar-title{margin:0!important;font:600 14px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--apple-label)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-workspace-footer{align-items:center!important}.chapter-workspace-footer .chapter-footer-status{display:inline-flex!important;align-items:center!important;gap:6px!important;font:500 11px/1 var(--apple-font-ui)!important;letter-spacing:0!important;text-transform:none!important;color:var(--apple-label-secondary)!important}.chapter-workspace-footer .chapter-footer-dot{width:6px!important;height:6px!important;border-radius:50%!important;background:var(--apple-green)!important;flex-shrink:0;box-shadow:none!important}.chapter-workspace-footer .chapter-footer-links{display:inline-flex!important;align-items:center!important;gap:14px!important}.chapter-workspace-footer .chapter-footer-links a{font:500 11px/1 var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:0!important;color:var(--apple-label-secondary)!important;text-decoration:none!important}.chapter-workspace-footer .chapter-footer-links a:hover{color:var(--apple-label)!important}.admin-shell .ad-bar-fill--bad{background:var(--apple-red)!important}html body .upload-steps .theory-reader-rule{height:1px!important;width:100%!important;background:var(--apple-separator)!important;margin:10px 0 16px!important}html body .upload-steps .step-guide{background:var(--apple-fill-quaternary, rgba(116,116,128,.08))!important;border:0!important;border-radius:10px!important;color:var(--apple-label-secondary)!important;font:400 13px/1.45 var(--apple-font-ui)!important;padding:10px 12px!important}html body .upload-steps>.btn-primary:not(.chapter-cta-btn){height:30px!important;min-height:30px!important;padding:0 14px!important;border-radius:8px!important;font:600 13px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important}html body .upload-steps .code-box{background:var(--apple-bg-secondary)!important;border:1px solid var(--apple-separator)!important;border-radius:10px!important;color:var(--apple-label)!important;font:400 12.5px/1.55 var(--apple-font-mono, ui-monospace, "SF Mono", Menlo, monospace)!important}html body .upload-steps .step-actions.chapter-panel-actions,html body .upload-steps .step-actions{background:transparent!important;border:0!important;border-top:1px solid var(--apple-separator)!important;padding:16px 0 0!important;margin-top:20px!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}html body .chapter-workspace .upload-steps .chapter-cta-btn{height:30px!important;min-height:30px!important;padding:0 14px!important;gap:6px!important;border-radius:8px!important;background:var(--apple-blue)!important;color:#fff!important;border:0!important;box-shadow:none!important;font:600 13px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important}html body .chapter-workspace .upload-steps .chapter-cta-btn:hover{background:var(--apple-blue-hover)!important}html body .chapter-workspace .upload-steps .chapter-cta-btn:disabled{opacity:.55!important;cursor:default!important}html body .chapter-workspace .upload-steps .chapter-cta-btn .apple-icon-host svg{width:15px!important;height:15px!important}html body .upload-steps .upload-field-label{text-transform:none!important;letter-spacing:0!important;font:500 12px/1.2 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important}.chapter-done-overlay.modal-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:9000!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#00000047!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;animation:chapterDoneFade .16s ease-out both}[data-theme=dark] .chapter-done-overlay.modal-overlay{background:#00000080!important}.chapter-done-sheet{width:min(360px,calc(100vw - 32px));padding:28px 24px 20px;border-radius:14px;text-align:center;background:var(--apple-bg);color:var(--apple-label);border:1px solid var(--apple-separator);box-shadow:0 20px 60px #00000038,0 2px 8px #00000014;font-family:var(--apple-font-ui);animation:chapterDonePop .22s cubic-bezier(.2,.9,.3,1.2) both}[data-theme=dark] .chapter-done-sheet{background:var(--apple-bg-secondary)}.chapter-done-badge{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--apple-green);color:#fff}.chapter-done-badge svg{color:#fff!important;stroke:currentColor}.chapter-done-title{margin:0 0 6px!important;font:600 17px/1.3 var(--apple-font-ui)!important;letter-spacing:-.02em!important;color:var(--apple-label)!important;text-transform:none!important}.chapter-done-sub{margin:0 0 20px!important;font:400 13px/1.45 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important}.chapter-done-actions{display:flex;gap:8px;justify-content:center}.chapter-done-btn{flex:1 1 0;height:32px;padding:0 14px;border-radius:8px;border:0;cursor:pointer;font:600 13px/1 var(--apple-font-ui);letter-spacing:-.01em}.chapter-done-btn--primary{background:var(--apple-blue);color:#fff}.chapter-done-btn--primary:hover{background:var(--apple-blue-hover)}.chapter-done-btn--secondary{background:var(--apple-fill-secondary);color:var(--apple-label)}.chapter-done-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--apple-blue) 45%,transparent);outline-offset:1px}@keyframes chapterDoneFade{0%{opacity:0}to{opacity:1}}@keyframes chapterDonePop{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.chapter-done-overlay.modal-overlay,.chapter-done-sheet{animation:none!important}}html body .st nav.st-globalnav{height:auto!important;min-height:0!important;padding:0!important;border:0!important;border-bottom:.5px solid var(--apple-separator)!important;box-shadow:none!important;background:#fafafccc!important;backdrop-filter:saturate(180%) blur(20px)!important;-webkit-backdrop-filter:saturate(180%) blur(20px)!important}html[data-theme=dark] body .st nav.st-globalnav{background:#161617cc!important}html body .st nav.st-globalnav .st-topbar-inner{height:50px!important;min-height:50px!important;max-width:1180px!important;margin:0 auto!important;padding:0 22px!important;display:flex!important;align-items:center!important;gap:24px!important}html body .st nav.st-globalnav .st-brand{gap:8px!important;align-items:center!important;flex:0 0 auto!important;padding:0!important;color:var(--apple-label)!important}html body .st nav.st-globalnav .st-gn-mark{width:20px!important;height:20px!important;color:var(--apple-label)!important;background:currentColor!important;-webkit-mask:url(/logo_mark_tight.svg) center / contain no-repeat!important;mask:url(/logo_mark_tight.svg) center / contain no-repeat!important}html body .st nav.st-globalnav .st-gn-name{font:600 15px/1 var(--apple-font-ui)!important;letter-spacing:-.015em!important;text-transform:none!important;color:var(--apple-label)!important;max-width:none!important;white-space:nowrap!important}html body .st nav.st-globalnav .st-nav-links{gap:0 28px!important;flex-wrap:nowrap!important;justify-content:center!important}html body .st nav.st-globalnav .st-nav-item,html body .st nav.st-globalnav .st-mobile-panel .st-nav-item{font:400 13px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--apple-label-secondary)!important;border:0!important;box-shadow:none!important;text-decoration:none!important;padding:0!important;background:none!important;white-space:nowrap!important;transition:color .15s ease!important}html body .st nav.st-globalnav .st-nav-item:after,html body .st nav.st-globalnav .st-nav-item:before{display:none!important;content:none!important}html body .st nav.st-globalnav .st-nav-item:hover{color:var(--apple-label)!important}html body .st nav.st-globalnav .st-nav-item.is-active{color:var(--apple-label)!important;font-weight:500!important}html body .st nav.st-globalnav .st-topbar-actions{flex:0 0 auto!important}html body .st nav.st-globalnav .st-gn-actions{display:flex!important;align-items:center!important;gap:6px!important}html body .st nav.st-globalnav .st-gn-icon{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:var(--apple-label-secondary)!important}html body .st nav.st-globalnav .st-gn-icon:hover{background:var(--apple-fill-tertiary, rgba(118,118,128,.12))!important;color:var(--apple-label)!important}html body .st nav.st-globalnav .st-gn-icon svg,html body .st nav.st-globalnav .st-gn-icon .apple-icon-host svg{width:16px!important;height:16px!important}html body .st nav.st-globalnav .st-gn-btn{height:28px!important;min-height:28px!important;padding:0 10px!important;gap:4px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font:400 13px/1 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;border:0!important;border-radius:999px!important;box-shadow:none!important;white-space:nowrap!important;cursor:pointer!important;transition:color .15s ease,background-color .15s ease!important}html body .st nav.st-globalnav .st-gn-plain{background:transparent!important;color:var(--apple-label-secondary)!important}html body .st nav.st-globalnav .st-gn-plain:hover{color:var(--apple-label)!important;background:transparent!important}html body .st nav.st-globalnav .st-gn-sdk svg,html body .st nav.st-globalnav .st-gn-sdk .apple-icon-host svg{width:14px!important;height:14px!important}html body .st nav.st-globalnav .st-gn-sdk .material-symbols-outlined{font-size:14px!important}html body .st nav.st-globalnav .st-gn-pill{height:28px!important;padding:0 14px!important;margin-left:4px!important;font-weight:500!important;background:var(--apple-blue)!important;color:#fff!important}html body .st nav.st-globalnav .st-gn-pill:hover{background:var(--apple-blue-hover)!important;color:#fff!important}html body .st nav.st-globalnav .st-gn-btn:focus-visible,html body .st nav.st-globalnav .st-gn-icon:focus-visible,html body .st nav.st-globalnav .st-nav-item:focus-visible{outline:2px solid var(--apple-blue)!important;outline-offset:2px!important}html body .st nav.st-globalnav .st-mobile-panel{background:transparent!important;border-bottom:0!important;padding:0 22px!important}html body .st nav.st-globalnav .st-mobile-panel.is-open{padding:4px 22px 14px!important;border-top:.5px solid var(--apple-separator)!important}html body .st nav.st-globalnav .st-mobile-panel .st-nav-item{font-size:15px!important;padding:12px 0!important;border-bottom:.5px solid var(--apple-separator)!important}@media(max-width:899px){html body .st nav.st-globalnav .st-nav-links{display:none!important}html body .st nav.st-globalnav .st-mobile-toggle{display:inline-flex!important}html body .st nav.st-globalnav .st-hide-compact{display:none!important}html body .st nav.st-globalnav .st-mobile-panel.is-open{display:flex!important}html body .st nav.st-globalnav .st-topbar-inner{justify-content:space-between!important;padding:0 16px!important}}@media(min-width:900px){html body .st nav.st-globalnav .st-nav-links{display:flex!important}html body .st nav.st-globalnav .st-mobile-toggle{display:none!important}html body .st nav.st-globalnav .st-mobile-panel,html body .st nav.st-globalnav .st-mobile-panel.is-open{display:none!important}html body .st nav.st-globalnav .st-hide-compact{display:inline-flex!important}}html body .st .st-hero-pill{text-transform:none!important;letter-spacing:-.005em!important;font-weight:500!important}html body .st .st-hero-headline{text-transform:none!important;letter-spacing:-.035em!important}html[data-theme=dark] body .st nav.st-globalnav button.st-gn-plain[data-route]{color:var(--apple-label-secondary)!important;background:transparent!important;border:0!important}html[data-theme=dark] body .st nav.st-globalnav button.st-gn-plain[data-route]:hover{color:var(--apple-label)!important}html body .st.st-apple>*{flex-shrink:0!important}html body .st.st-apple{--st-a-bg: var(--apple-bg);--st-a-bg2: var(--apple-bg-secondary);--st-a-tile: var(--apple-bg-secondary);background:var(--st-a-bg)!important;color:var(--apple-label)!important;font-family:var(--apple-font-ui)!important;-webkit-font-smoothing:antialiased}html[data-theme=dark] body .st.st-apple{--st-a-bg: #000;--st-a-bg2: #0b0b0c;--st-a-tile: #1c1c1e}html:not([data-theme=dark]) body .st.st-apple{--st-a-bg: #fff;--st-a-bg2: #f5f5f7;--st-a-tile: #f5f5f7}html body .st.st-apple main,html body .st.st-apple section,html body .st.st-apple header:not(nav *),html body .st.st-apple .st-hero-modern,html body .st.st-apple .st-tech-hero,html body .st.st-apple .st-bento-section{background:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important}html body .st.st-apple .st-tech-grid,html body .st.st-apple .st-tech-orb,html body .st.st-apple .st-hero-modern:before,html body .st.st-apple .st-hero-modern:after,html body .st.st-apple .st-tech-hero:before,html body .st.st-apple .st-tech-hero:after{display:none!important}html body .st.st-apple .st-section:nth-of-type(2n){background:var(--st-a-bg2)!important}html body .st.st-apple .st-section{padding:100px 22px!important;border:0!important}html body .st.st-apple .st-section-inner,html body .st.st-apple .st-hero-modern-inner,html body .st.st-apple .st-tech-hero-inner{max-width:1040px!important;margin-left:auto!important;margin-right:auto!important}html body .st.st-apple .st-hero-modern,html body .st.st-apple .st-tech-hero{padding:96px 22px 72px!important;overflow:visible!important;height:auto!important}html body .st.st-apple .st-section-head{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:12px!important;margin:0 auto 56px!important;max-width:760px!important;border:0!important;padding:0!important}html body .st.st-apple .st-section-head:after,html body .st.st-apple .st-section-head:before{display:none!important}html body .st.st-apple .st-tech-hero-inner,html body .st.st-apple .st-hero-modern-inner{text-align:center!important}html body .st.st-apple h1,html body .st.st-apple .st-hero-headline,html body .st.st-apple .st-tech-title{font:600 clamp(40px,4.6vw,64px)/1.07 var(--apple-font-ui)!important;letter-spacing:-.035em!important;text-transform:none!important;color:var(--apple-label)!important;margin-left:auto!important;margin-right:auto!important}html body .st.st-apple .st-hero-gradient{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--apple-blue)!important}html body .st.st-apple .st-hero-subtitle{font:600 clamp(22px,2.2vw,28px)/1.2 var(--apple-font-ui)!important;letter-spacing:-.02em!important}html body .st.st-apple .st-hero-modern-inner>p,html body .st.st-apple .st-tech-lede,html body .st.st-apple .st-hero-lede,html body .st.st-apple .st-hero-desc,html body .st.st-apple .st-body-wide{font:400 clamp(17px,1.5vw,21px)/1.45 var(--apple-font-ui)!important;letter-spacing:-.01em!important;color:var(--apple-label-secondary)!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important}html body .st.st-apple h2,html body .st.st-apple .st-section-title,html body .st.st-apple .st-display{font:600 clamp(32px,3.4vw,48px)/1.1 var(--apple-font-ui)!important;letter-spacing:-.03em!important;text-transform:none!important;color:var(--apple-label)!important;text-align:center}html body .st.st-apple .st-section-lede{font:400 19px/1.45 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;text-align:center!important;max-width:680px!important;margin:0 auto!important}html body .st.st-apple h3,html body .st.st-apple h4{font-family:var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:-.02em!important;color:var(--apple-label)!important}html body .st.st-apple h3{font-size:21px!important;font-weight:600!important;line-height:1.25!important}html body .st.st-apple p{text-transform:none!important}html body .st.st-apple .st-section-kicker,html body .st.st-apple .st-adopt-kicker,html body .st.st-apple .st-stat-label,html body .st.st-apple .st-step-label,html body .st.st-apple .st-rail-lbl,html body .st.st-apple .font-label-caps,html body .st.st-apple .uppercase{text-transform:none!important;letter-spacing:-.005em!important;font-family:var(--apple-font-ui)!important}html body .st.st-apple .st-section-kicker{font-size:17px!important;font-weight:600!important;color:var(--apple-orange, #ff9500)!important;margin:0!important}html body .st.st-apple .st-adopt-kicker{font-size:13px!important;font-weight:600!important;color:var(--apple-label-secondary)!important}html body .st.st-apple .st-hero-pill,html body .st.st-apple .st-tech-badge,html body .st.st-apple .st-sdk-system-pill{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:6px 14px!important;border:0!important;border-radius:999px!important;background:var(--st-a-tile)!important;box-shadow:none!important;color:var(--apple-label-secondary)!important;font:500 13px/1.2 var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:-.005em!important}html body .st.st-apple .st-gate-dot,html body .st.st-apple .st-trust-dot{background:var(--apple-green)!important;box-shadow:none!important}html body .st.st-apple .st-job-tag,html body .st.st-apple .st-bento-tag,html body .st.st-apple .st-trust-tag,html body .st.st-apple .st-tier-badge,html body .st.st-apple .st-sdk-ver-badge,html body .st.st-apple .st-job-chips>*{border:0!important;border-radius:999px!important;background:var(--apple-fill-tertiary, rgba(118,118,128,.12))!important;box-shadow:none!important;color:var(--apple-label-secondary)!important;font:500 12px/1 var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:0!important;padding:5px 10px!important}html body .st.st-apple .font-mono:not(pre *):not(code *):not(.st-ln):not(.st-line){font-family:var(--apple-font-ui)!important}html body .st.st-apple .st-card,html body .st.st-apple .st-bento-card,html body .st.st-apple .st-stat-card,html body .st.st-apple .st-pillar-card,html body .st.st-apple .st-adopt-item,html body .st.st-apple .st-sdk-platform-card,html body .st.st-apple .st-directive,html body .st.st-apple .st-curriculum-tier,html body .st.st-apple .st-chapter-item{border:0!important;border-radius:18px!important;box-shadow:none!important;background:var(--st-a-tile)!important;padding:32px!important;color:var(--apple-label)!important;transform:none!important}html body .st.st-apple .st-section:nth-of-type(2n) .st-card,html body .st.st-apple .st-section:nth-of-type(2n) .st-bento-card,html body .st.st-apple .st-section:nth-of-type(2n) .st-adopt-item,html body .st.st-apple .st-section:nth-of-type(2n) .st-stat-card,html body .st.st-apple .st-section:nth-of-type(2n) .st-pillar-card,html body .st.st-apple .st-section:nth-of-type(2n) .st-directive,html body .st.st-apple .st-section:nth-of-type(2n) .st-curriculum-tier{background:var(--st-a-bg)!important}html body .st.st-apple .st-chapter-item{padding:12px 16px!important;border-radius:12px!important;background:transparent!important}html body .st.st-apple .st-adopt-item--accent{background:var(--st-a-tile)!important;color:var(--apple-label)!important}html body .st.st-apple .st-adopt-item--accent *{color:inherit!important}html body .st.st-apple .st-adopt-item--accent .st-adopt-kicker{color:var(--apple-blue)!important}html body .st.st-apple .st-stat-val{font:600 40px/1.05 var(--apple-font-ui)!important;letter-spacing:-.03em!important;color:var(--apple-label)!important}html body .st.st-apple .st-stat-label{font-size:15px!important;font-weight:600!important;color:var(--apple-label)!important;margin-top:6px!important}html body .st.st-apple .st-stat-desc,html body .st.st-apple .st-bento-desc,html body .st.st-apple .st-pillar-desc,html body .st.st-apple .st-adopt-item p,html body .st.st-apple .st-card p,html body .st.st-apple .st-tier-desc,html body .st.st-apple .st-body-muted,html body .st.st-apple .st-directive p{color:var(--apple-label-secondary)!important;font:400 15px/1.5 var(--apple-font-ui)!important}html body .st.st-apple .st-pillar-icon-wrap,html body .st.st-apple .st-directive-icon,html body .st.st-apple .st-sdk-platform-icon-wrap{border:0!important;box-shadow:none!important;border-radius:12px!important;background:color-mix(in srgb,var(--apple-blue) 12%,transparent)!important;color:var(--apple-blue)!important}html body .st.st-apple .st-bento-preview,html body .st.st-apple img,html body .st.st-apple video,html body .st.st-apple .st-hero-media{border-radius:18px!important;border-color:transparent!important;box-shadow:none!important}html body .st.st-apple .st-stats-grid,html body .st.st-apple .st-bento-grid,html body .st.st-apple .st-adopt,html body .st.st-apple .st-sdk-platforms-grid{gap:20px!important}html body .st.st-apple .st-btn,html body .st.st-apple main button:not(.st-gn-btn):not(.st-gn-icon):not([role=tab]):not(.st-scrolly-step-pill):not(.st-job){border-radius:999px!important;box-shadow:none!important;text-transform:none!important;letter-spacing:-.01em!important;font-family:var(--apple-font-ui)!important}html body .st.st-apple .st-btn{min-height:44px!important;height:44px!important;padding:0 22px!important;font-size:17px!important;font-weight:400!important;display:inline-flex!important;align-items:center!important;gap:6px!important;border:0!important}html body .st.st-apple .st-btn--solid,html body .st.st-apple .st-btn-sdk-primary{background:var(--apple-blue)!important;color:#fff!important}html body .st.st-apple .st-btn--solid:hover,html body .st.st-apple .st-btn-sdk-primary:hover{background:var(--apple-blue-hover)!important}html body .st.st-apple .st-btn--ghost{background:transparent!important;color:var(--apple-blue)!important;padding:0 12px!important}html body .st.st-apple .st-btn--ghost:after{content:"›";font-size:1.15em;line-height:1;margin-left:2px}html body .st.st-apple .st-btn--ghost:hover{text-decoration:underline!important;background:transparent!important}html body .st.st-apple .st-cta-row{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:16px!important}html body .st.st-apple .st-cta-band{background:var(--st-a-tile)!important;border:0!important;box-shadow:none!important;border-radius:28px!important;padding:80px 32px!important;text-align:center!important;max-width:1040px!important;margin-left:auto!important;margin-right:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important}html body .st.st-apple .st-cta-band>*{margin-left:auto!important;margin-right:auto!important;text-align:center!important}html body .st.st-apple .st-cta-band .st-display{max-width:720px!important;font-size:clamp(32px,3.4vw,48px)!important;margin-top:8px!important;margin-bottom:16px!important}html body .st.st-apple .st-cta-band .st-body-wide{color:var(--apple-label-secondary)!important;opacity:1!important;font-size:21px!important;max-width:640px!important}html body .st.st-apple .st-cta-band .st-cta-row{margin-top:32px!important}html body .st.st-apple .st-input,html body .st.st-apple main input:not([type=checkbox]):not([type=radio]):not([type=file]),html body .st.st-apple main select{height:36px!important;min-height:36px!important;padding:0 12px!important;border-radius:10px!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg)!important;color:var(--apple-label)!important;font:400 15px/1.2 var(--apple-font-ui)!important;box-shadow:none!important;outline:none!important}html body .st.st-apple main textarea{min-height:110px!important;padding:10px 12px!important;border-radius:10px!important;border:1px solid var(--apple-separator)!important;background:var(--apple-bg)!important;color:var(--apple-label)!important;font:400 15px/1.45 var(--apple-font-ui)!important;box-shadow:none!important}html[data-theme=dark] body .st.st-apple main :is(input,select,textarea,.st-input){background:#1c1c1e!important;border-color:#545458a6!important}html body .st.st-apple main :is(input,select,textarea,.st-input):focus{border-color:var(--apple-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--apple-blue) 25%,transparent)!important}html body .st.st-apple main ::placeholder{color:var(--apple-label-tertiary)!important;-webkit-text-fill-color:var(--apple-label-tertiary)!important;opacity:1!important}html body .st.st-apple .st-label,html body .st.st-apple main label{text-transform:none!important;letter-spacing:0!important;font:500 13px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important}html body .st.st-apple .st-job{position:relative!important;border:0!important;border-bottom:1px solid var(--apple-separator)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:20px 40px 20px 0!important;cursor:pointer;transform:none!important}html body .st.st-apple .st-job:first-of-type{border-top:1px solid var(--apple-separator)!important}html body .st.st-apple .st-job:after{content:"›";position:absolute;right:8px;top:50%;transform:translateY(-50%);font:400 28px/1 var(--apple-font-ui);color:var(--apple-label-tertiary)}html body .st.st-apple .st-job:hover{background:color-mix(in srgb,var(--apple-label) 3%,transparent)!important}html body .st.st-apple .st-job:hover:after{color:var(--apple-blue)}html body .st.st-apple .st-job-title{font:600 19px/1.3 var(--apple-font-ui)!important;color:var(--apple-label)!important}html body .st.st-apple .st-job-blurb{font:400 15px/1.45 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;margin:6px 0 10px!important}html body .st.st-apple .st-job-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}html body .st.st-apple .st-sdk-platforms-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:56px!important;text-align:left!important}html body .st.st-apple .st-sdk-platform-card{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:8px!important;padding:36px 28px 28px!important}html body .st.st-apple .st-sdk-platform-card.is-detected{box-shadow:inset 0 0 0 2px var(--apple-blue)!important}html body .st.st-apple .st-sdk-platform-card>.flex:first-child{width:100%!important;justify-content:center!important;order:3!important}html body .st.st-apple .st-sdk-platform-icon-wrap{width:64px!important;height:64px!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;order:1!important;margin:0 0 8px!important}html body .st.st-apple .st-sdk-platform-icon-wrap svg{width:30px!important;height:30px!important}html body .st.st-apple .st-sdk-primary-title{order:2!important;font:600 24px/1.2 var(--apple-font-ui)!important;letter-spacing:-.02em!important;margin:0!important}html body .st.st-apple .st-sdk-primary-desc{order:4!important;font:400 14px/1.4 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;margin:0!important}html body .st.st-apple .st-sdk-action-row{order:5!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;margin-top:12px!important;width:100%!important}html body .st.st-apple .st-btn-sdk-primary,html body .st.st-apple .st-btn-sdk-secondary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:36px!important;padding:0 20px!important;border-radius:999px!important;border:0!important;box-shadow:none!important;width:auto!important;font:500 15px/1 var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:-.01em!important;text-decoration:none!important}html body .st.st-apple .st-btn-sdk-secondary{background:var(--apple-fill-tertiary, rgba(118,118,128,.12))!important;color:var(--apple-blue)!important}html body .st.st-apple .st-btn-sdk-secondary:hover{background:var(--apple-fill-secondary)!important}html body .st.st-apple .st-btn-sdk-primary>.material-symbols-outlined:first-child,html body .st.st-apple .st-btn-sdk-secondary>.material-symbols-outlined:first-child,html body .st.st-apple .st-btn-sdk-primary>.apple-icon-host:first-child,html body .st.st-apple .st-btn-sdk-secondary>.apple-icon-host:first-child{display:none!important}html body .st.st-apple :is(.st-btn-sdk-primary,.st-btn-sdk-secondary)>:last-child{margin-left:0!important;order:-1}html body .st.st-apple :is(.st-btn-sdk-primary,.st-btn-sdk-secondary) svg{width:16px!important;height:16px!important}html body .st.st-apple .st-sdk-file-meta{font:400 12px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-tertiary)!important}html body .st.st-apple .st-sdk-hint{order:6!important;display:block!important;font:400 13px/1.45 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;margin:12px 0 0!important;padding-top:14px!important;border-top:1px solid var(--apple-separator)!important;text-align:center!important;background:none!important;border-radius:0!important}html body .st.st-apple .st-sdk-hint .material-symbols-outlined,html body .st.st-apple .st-sdk-hint .apple-icon-host{display:none!important}html body .st.st-apple .st-tech-hero-inner>.rounded-xl{border:0!important;border-radius:14px!important;background:transparent!important;justify-content:center!important;color:var(--apple-label-secondary)!important;font:400 13px/1.4 var(--apple-font-ui)!important;gap:6px 16px!important}html body .st.st-apple .st-tech-hero-inner>.rounded-xl .font-mono{font-family:var(--apple-font-ui)!important}html body .st.st-apple .st-tech-hero-inner>.rounded-xl .text-primary{color:var(--apple-label)!important}html body .st.st-apple .st-apple-footer{background:var(--st-a-bg2)!important;color:var(--apple-label-secondary)!important;border:0!important;border-top:.5px solid var(--apple-separator)!important;padding:0 22px!important;margin-top:auto!important;font:400 12px/1.4 var(--apple-font-ui)!important}html body .st.st-apple .st-af-inner{max-width:1040px;margin:0 auto;padding:20px 0 22px}html body .st.st-apple .st-af-top{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding-bottom:14px;border-bottom:.5px solid var(--apple-separator)}html body .st.st-apple .st-af-brand{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;cursor:pointer;color:var(--apple-label);font:600 13px/1 var(--apple-font-ui);letter-spacing:-.01em}html body .st.st-apple .st-af-mark{width:16px;height:16px;background:currentColor;-webkit-mask:url(/logo_mark_tight.svg) center / contain no-repeat;mask:url(/logo_mark_tight.svg) center / contain no-repeat}html body .st.st-apple .st-af-links{display:flex;flex-wrap:wrap;gap:6px 0}html body .st.st-apple .st-af-links a{color:var(--apple-label-secondary)!important;text-decoration:none!important;font:400 12px/1 var(--apple-font-ui)!important;text-transform:none!important;letter-spacing:0!important;padding:0 10px;border-left:1px solid var(--apple-separator);opacity:1!important}html body .st.st-apple .st-af-links a:first-child{border-left:0;padding-left:0}html body .st.st-apple .st-af-links a:last-child{padding-right:0}html body .st.st-apple .st-af-links a:hover{color:var(--apple-label)!important;text-decoration:underline!important}html body .st.st-apple .st-af-bottom{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding-top:14px;color:var(--apple-label-tertiary)}@media(max-width:1100px){html body .st.st-apple .st-section{padding:80px 22px!important}}@media(max-width:899px){html body .st.st-apple .st-sdk-platforms-grid{grid-template-columns:1fr!important}html body .st.st-apple .st-hero-modern,html body .st.st-apple .st-tech-hero{padding:64px 18px 48px!important}html body .st.st-apple .st-section{padding:64px 18px!important}html body .st.st-apple .st-cta-band{padding:56px 20px!important;border-radius:22px!important}html body .st.st-apple .st-af-top,html body .st.st-apple .st-af-bottom{flex-direction:column;align-items:flex-start}}html body .st.st-apple main button.st-job{border-radius:0!important;width:100%!important;text-align:left!important;display:block!important}html body .st.st-apple .st-job-tag,html body .st.st-apple .st-bento-tag,html body .st.st-apple .st-job-chips>*{display:inline-flex!important;width:auto!important;max-width:max-content!important;align-items:center!important;gap:6px!important}html body .st.st-apple .st-job-chips{display:flex!important;flex-wrap:wrap!important;gap:6px!important}html body .st.st-apple .st-careers-grid{max-width:1040px!important;margin:0 auto!important;padding:100px 22px!important;gap:56px!important;border:0!important;background:transparent!important;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important}html body .st.st-apple .st-careers-grid>*{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}html body .st.st-apple .st-careers-grid h2,html body .st.st-apple .st-careers-head{text-align:left!important}html body .st.st-apple .st-careers-grid h2{font-size:32px!important;margin-bottom:8px!important}html body .st.st-apple .st-careers-head{margin-bottom:24px!important}html body .st.st-apple .st-careers-form-wrap .st-form,html body .st.st-apple .st-contact-form{background:var(--st-a-tile)!important;border:0!important;border-radius:18px!important;padding:28px!important;box-shadow:none!important}html body .st.st-apple .st-careers-form-wrap>*:not(form){text-align:left!important}html body .st.st-apple .st-careers-form-wrap h2{text-align:left!important}html body .st.st-apple .st-contact-panel{max-width:1040px!important;margin:0 auto 100px!important;display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)!important;gap:20px!important;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;overflow:visible!important;padding:0 22px!important}html body .st.st-apple .st-contact-aside{background:var(--st-a-tile)!important;border:0!important;border-radius:18px!important;padding:32px!important;color:var(--apple-label)!important;box-shadow:none!important}html body .st.st-apple .st-contact-aside .st-eyebrow{text-transform:none!important;letter-spacing:0!important;font:600 13px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important}html body .st.st-apple .st-contact-email{font:600 24px/1.25 var(--apple-font-ui)!important;letter-spacing:-.02em!important;color:var(--apple-blue)!important;border:0!important;text-decoration:none!important}html body .st.st-apple .st-channel-box{background:var(--st-a-bg)!important;border:0!important;border-radius:14px!important;padding:18px 20px!important;box-shadow:none!important}html body .st.st-apple .st-channel-box h4{font:600 15px/1.3 var(--apple-font-ui)!important;color:var(--apple-label)!important;margin-bottom:4px!important}html body .st.st-apple .st-channel-box p,html body .st.st-apple .st-contact-aside .st-body-muted{color:var(--apple-label-secondary)!important;font:400 13px/1.45 var(--apple-font-ui)!important}html body .st.st-apple .st-contact-form textarea,html body .st.st-apple .st-textarea{min-height:140px!important;height:auto!important;resize:vertical!important}html body .st.st-apple .st-field{display:flex!important;flex-direction:column!important;gap:6px!important;margin-bottom:14px!important}html body .st.st-apple .st-field-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}html body .st.st-apple .st-form-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border-top:0!important;padding-top:4px!important}html body .st.st-apple #contact-status{font:400 12px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;text-transform:none!important;letter-spacing:0!important}html body .st.st-apple .st-form .st-btn{height:36px!important;min-height:36px!important;font-size:15px!important;padding:0 18px!important}html body .st.st-apple .st-form .st-btn svg{width:15px!important;height:15px!important}html body .st.st-apple .st-hero-modern .st-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;max-width:1040px!important;margin-left:auto!important;margin-right:auto!important}@media(max-width:899px){html body .st.st-apple .st-careers-grid,html body .st.st-apple .st-contact-panel,html body .st.st-apple .st-field-row{grid-template-columns:1fr!important}}html body .st.st-apple button.st-job.st-job{border-radius:0!important;border:0!important;border-bottom:1px solid var(--apple-separator)!important;outline:0}html body .st.st-apple .st-job-list>button.st-job:first-child{border-top:1px solid var(--apple-separator)!important}html body .st.st-apple button.st-job:focus-visible{box-shadow:inset 0 0 0 2px var(--apple-blue)!important}html body .st.st-apple :is(.st-learn-kicker,.st-takeaway-lbl,.st-topbar-brand-tag,.st-scrolly-step-pill,[class*=status]){text-transform:none!important;letter-spacing:-.005em!important;font-family:var(--apple-font-ui)!important}html body .st.st-apple .st-learn-kicker{color:var(--apple-blue)!important;font-size:13px!important;font-weight:600!important}html body .st.st-apple *:not(pre):not(code):not(pre *):not(code *){text-transform:none!important}html body .st.st-apple .st-drop-title{letter-spacing:0!important;font:500 14px/1.3 var(--apple-font-ui)!important;color:var(--apple-label)!important}html body .st.st-apple :is(.st-dropzone,.st-drop,[class*=drop-zone],[class*=dropzone]){border-radius:14px!important;border:1.5px dashed var(--apple-separator)!important;background:var(--apple-bg)!important}html[data-theme=dark] body .st.st-apple :is(.st-dropzone,.st-drop,[class*=drop-zone],[class*=dropzone]){background:#000!important}html body .st.st-apple .st-sdk-platform-card .st-sdk-hint{border:0!important;border-top:1px solid var(--apple-separator)!important;border-radius:0!important;background:transparent!important;padding:14px 0 0!important;width:100%!important}#app>.info-public{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#app>.info-public>.info-public-card{flex-shrink:0!important}html body .st.st-apple .st-article-page{width:100%;padding:0 22px 120px}html body .st.st-apple .st-article-hero{max-width:980px;margin:0 auto;padding:88px 0 48px;text-align:center;border-bottom:1px solid var(--apple-separator)}html body .st.st-apple .st-article-kicker{margin:0 0 12px!important;font:600 15px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important}html body .st.st-apple .st-article-title{font-size:clamp(40px,4.4vw,56px)!important;margin:0 auto 14px!important}html body .st.st-apple .st-article-sub{margin:0 auto!important;max-width:680px;font:400 21px/1.4 var(--apple-font-ui)!important;letter-spacing:-.01em;color:var(--apple-label-secondary)!important}html body .st.st-apple .st-article-layout{max-width:720px;margin:0 auto;padding-top:48px}html body .st.st-apple .st-article-layout.has-toc{max-width:980px;display:grid;grid-template-columns:220px minmax(0,700px);gap:0 60px;align-items:start}html body .st.st-apple .st-article-layout>*{min-width:0}html body .st.st-apple .st-article-layout.has-toc>:only-child{display:contents}html body .st.st-apple .st-article-layout.has-toc>*>:not(.info-toc){grid-column:2}html body .st.st-apple .st-article-layout .info-toc{grid-column:1;grid-row:1 / span 999;position:sticky;top:74px;max-height:calc(100vh - 96px);overflow-y:auto;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;border-radius:0!important}html body .st.st-apple .info-toc-title{margin:0 0 10px!important;font:600 12px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;letter-spacing:0!important}html body .st.st-apple .info-toc-list{list-style:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;gap:2px;counter-reset:none}html body .st.st-apple .info-toc-list li{margin:0!important;padding:0!important}html body .st.st-apple .info-toc-list li::marker{content:none}html body .st.st-apple .info-toc-link{display:block;padding:5px 0!important;font:400 13px/1.35 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;text-decoration:none!important;border:0!important}html body .st.st-apple .info-toc-link:hover{color:var(--apple-blue)!important}html body .st.st-apple .st-article-layout .info-section{margin:0 0 48px!important;padding:0!important;border:0!important;background:none!important;scroll-margin-top:72px}html body .st.st-apple .st-article-layout .info-h2{text-align:left!important;font:600 28px/1.2 var(--apple-font-ui)!important;letter-spacing:-.022em!important;margin:0 0 14px!important;color:var(--apple-label)!important;border:0!important;padding:0!important}html body .st.st-apple .st-article-layout .info-h3{font:600 19px/1.3 var(--apple-font-ui)!important;letter-spacing:-.015em!important;margin:28px 0 8px!important;color:var(--apple-label)!important}html body .st.st-apple .st-article-layout :is(.info-p,.info-ul li,.info-ol li){font:400 17px/1.6 var(--apple-font-ui)!important;letter-spacing:-.01em;color:var(--apple-label)!important}html body .st.st-apple .st-article-layout .info-p{margin:0 0 16px!important}html body .st.st-apple .st-article-layout :is(.info-ul,.info-ol){margin:0 0 18px!important;padding-left:22px!important}html body .st.st-apple .st-article-layout :is(.info-ul,.info-ol) li{margin:0 0 8px!important}html body .st.st-apple .st-article-layout .info-p a,html body .st.st-apple .st-article-layout li a{color:var(--apple-blue)!important;text-decoration:none!important}html body .st.st-apple .st-article-layout .info-note{background:var(--st-a-tile)!important;border:0!important;border-radius:14px!important;padding:16px 18px!important;margin:0 0 20px!important;font:400 15px/1.5 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;box-shadow:none!important}html body .st.st-apple .st-article-layout .info-table-wrap{border:0!important;border-radius:14px!important;background:var(--st-a-tile)!important;overflow:hidden!important;margin:0 0 28px!important;box-shadow:none!important;overflow-x:auto!important}html body .st.st-apple .st-article-layout .info-table{width:100%;border-collapse:collapse!important;font:400 14px/1.45 var(--apple-font-ui)!important}html body .st.st-apple .st-article-layout .info-table :is(th,td){padding:11px 16px!important;border:0!important;border-bottom:1px solid var(--apple-separator)!important;text-align:left!important;vertical-align:top;color:var(--apple-label)!important;background:transparent!important;text-transform:none!important;letter-spacing:0!important}html body .st.st-apple .st-article-layout .info-table tr:last-child :is(th,td){border-bottom:0!important}html body .st.st-apple .st-article-layout .info-table th{font-weight:600!important;color:var(--apple-label-secondary)!important;width:34%}html body .st.st-apple .st-article-layout .info-table--grid th{width:auto}html body .st.st-apple .st-article-layout code{font:400 .9em/1 var(--apple-font-mono, ui-monospace, Menlo, monospace)!important;background:var(--apple-fill-tertiary, rgba(118,118,128,.12))!important;border-radius:5px;padding:1px 5px}@media(max-width:1023px){html body .st.st-apple .st-article-layout.has-toc{display:block;max-width:720px}html body .st.st-apple .st-article-layout .info-toc{position:static;max-height:none;margin:0 0 40px!important;padding:18px 20px!important;background:var(--st-a-tile)!important;border-radius:14px!important}html body .st.st-apple .info-toc-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}}@media(max-width:640px){html body .st.st-apple .info-toc-list{grid-template-columns:1fr}html body .st.st-apple .st-article-hero{padding-top:56px}}html body .st.st-apple .st-comparison-table-wrap{border:0!important;border-radius:18px!important;overflow:hidden!important;background:var(--st-a-tile)!important;box-shadow:none!important;margin-bottom:0!important;overflow-x:auto!important}html body .st.st-apple .st-comp-table{border-collapse:separate!important;border-spacing:0!important;width:100%;background:transparent!important}html body .st.st-apple .st-comp-table :is(th,td){border:0!important;border-bottom:1px solid var(--apple-separator)!important;background:transparent!important;padding:16px 20px!important;font-family:var(--apple-font-ui)!important}html body .st.st-apple .st-comp-table tbody tr:last-child :is(th,td){border-bottom:0!important}html body .st.st-apple .st-comp-table thead th{font:600 13px/1.3 var(--apple-font-ui)!important;color:var(--apple-label-secondary)!important;text-transform:none!important;letter-spacing:0!important}html body .st.st-apple .st-comp-table :is(th,td):last-child{background:color-mix(in srgb,var(--apple-blue) 8%,transparent)!important;color:var(--apple-blue)!important}html body .st.st-apple .st-comp-table thead th:last-child{color:var(--apple-blue)!important}html body .st.st-apple .st-comp-feature{font-weight:600!important;color:var(--apple-label)!important}html body .st.st-apple .st-comp-old{color:var(--apple-label-secondary)!important}html body .st.st-apple .st-comparison-table-wrap+.st-cta-band,html body .st.st-apple .st-cta-band.mt-2xl{margin-top:72px!important}html body .st.st-apple:focus{outline:none!important}.info-shell-wrap:focus{outline:none}:root,[data-theme=light]{--bk-ws: #ffffff;--bk-grid: rgba(60, 60, 67, .26);--bk-sidebar: #f2f2f7;--bk-flyout: #f9f9fb;--bk-hairline: rgba(60, 60, 67, .16);--bk-label: rgba(0, 0, 0, .85);--bk-label-2: rgba(60, 60, 67, .62);--bk-label-3: rgba(60, 60, 67, .36);--bk-fill: rgba(120, 120, 128, .12);--bk-fill-hover: rgba(120, 120, 128, .16);--bk-selected: rgba(0, 122, 255, .14);--bk-accent: #007aff;--bk-scroll: rgba(60, 60, 67, .32);--bk-scroll-hover: rgba(60, 60, 67, .48);--bk-float: rgba(255, 255, 255, .86);--bk-float-border: rgba(0, 0, 0, .1);--bk-float-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 14px rgba(0, 0, 0, .08);--bk-trash-bg: #ffffff;--bk-trash-bg-hover: #f2f2f7;--bk-trash-bg-open: #ffeceb;--bk-green: #34c759;--bk-orange: #ff9500;--bk-red: #ff3b30}[data-theme=dark]{--bk-ws: #1f1f24;--bk-grid: rgba(235, 235, 245, .3);--bk-sidebar: #1c1c1e;--bk-flyout: #2c2c2e;--bk-hairline: rgba(235, 235, 245, .12);--bk-label: rgba(255, 255, 255, .88);--bk-label-2: rgba(235, 235, 245, .6);--bk-label-3: rgba(235, 235, 245, .32);--bk-fill: rgba(120, 120, 128, .24);--bk-fill-hover: rgba(120, 120, 128, .32);--bk-selected: rgba(10, 132, 255, .26);--bk-accent: #0a84ff;--bk-scroll: rgba(235, 235, 245, .26);--bk-scroll-hover: rgba(235, 235, 245, .42);--bk-float: rgba(44, 44, 48, .86);--bk-float-border: rgba(255, 255, 255, .1);--bk-float-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .35);--bk-trash-bg: #2c2c30;--bk-trash-bg-hover: #3a3a3e;--bk-trash-bg-open: #3f2523;--bk-green: #30d158;--bk-orange: #ff9f0a;--bk-red: #ff453a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bk-ws: #1f1f24;--bk-grid: rgba(235, 235, 245, .3);--bk-sidebar: #1c1c1e;--bk-flyout: #2c2c2e;--bk-hairline: rgba(235, 235, 245, .12);--bk-label: rgba(255, 255, 255, .88);--bk-label-2: rgba(235, 235, 245, .6);--bk-label-3: rgba(235, 235, 245, .32);--bk-fill: rgba(120, 120, 128, .24);--bk-fill-hover: rgba(120, 120, 128, .32);--bk-selected: rgba(10, 132, 255, .26);--bk-accent: #0a84ff;--bk-scroll: rgba(235, 235, 245, .26);--bk-scroll-hover: rgba(235, 235, 245, .42);--bk-float: rgba(44, 44, 48, .86);--bk-float-border: rgba(255, 255, 255, .1);--bk-float-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .35);--bk-trash-bg: #2c2c30;--bk-trash-bg-hover: #3a3a3e;--bk-trash-bg-open: #3f2523;--bk-green: #30d158;--bk-orange: #ff9f0a;--bk-red: #ff453a}}html .ide-root.ide-mode-blocks #workspace-stack{background:var(--bk-ws)!important;background-image:none!important}html .ide-root.ide-mode-blocks #blockly-host{border-radius:0!important;background:var(--bk-ws)}html .ide-root.ide-mode-blocks #blockly-host .blocklyMainBackground{stroke:none!important}html .ide-root.ide-mode-blocks #blockly-host .blocklySvg{background-color:var(--bk-ws)!important}html .ide-root #blockly-host pattern[id^=blocklyGridPattern] line{stroke:var(--bk-grid);stroke-width:1.6px;stroke-linecap:round}html .ide-root.ide-mode-blocks #blockly-host .blocklyScrollbarHandle{fill:var(--bk-scroll)!important;opacity:1!important;transition:fill .12s ease-out}html .ide-root.ide-mode-blocks #blockly-host .blocklyScrollbarHandle:hover{fill:var(--bk-scroll-hover)!important}html .ide-root #blockly-host .blocklyScrollbarBackground{fill:transparent!important}html .ide-root.ide-mode-blocks #blockly-host .blocklyToolboxDiv{background:var(--bk-sidebar)!important;background-image:none!important;color:var(--bk-label)!important;border-right:.5px solid var(--bk-hairline)!important;box-shadow:none!important;padding:8px 0!important;min-width:156px;scrollbar-width:thin}html .ide-root #blockly-host .blocklyToolboxContents{padding:0 8px!important;outline:none}html .ide-root #blockly-host .blocklyToolboxContents:focus-visible{outline:2px solid var(--bk-accent);outline-offset:-2px;border-radius:8px}html .ide-root #blockly-host .blocklyToolboxCategory{margin:0!important;padding:0!important}html .ide-root.ide-mode-blocks #blockly-host .blocklyTreeRow{box-sizing:border-box!important;display:flex!important;align-items:center!important;height:28px!important;line-height:28px!important;margin:0 0 2px!important;padding:0 10px 0 8px!important;border:0!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important;transform:none!important;white-space:nowrap;cursor:default;transition:background .1s ease-out}html .ide-root.ide-mode-blocks #blockly-host .blocklyTreeRow:hover{background:var(--bk-fill)!important;transform:none!important}html .ide-root.ide-mode-blocks #blockly-host .blocklyTreeRow.blocklyTreeSelected,html .ide-root.ide-mode-blocks #blockly-host .blocklyTreeSelected{background:var(--bk-selected)!important;box-shadow:none!important}html .ide-root #blockly-host .blocklyTreeRowContentContainer{display:flex;align-items:center;gap:8px;min-width:0;height:100%}html .ide-root #blockly-host .blocklyTreeRow .blocklyTreeIcon{display:inline-block!important;visibility:visible!important;flex:0 0 10px;width:10px!important;height:10px!important;margin:0!important;border-radius:3px;background:var(--cat-colour, #8e8e93)!important;background-image:none!important;box-shadow:inset 0 0 0 .5px #0000001f}html .ide-root.ide-mode-blocks #blockly-host .blocklyTreeLabel{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif!important;font-size:13px!important;font-weight:500!important;line-height:1!important;letter-spacing:-.01em!important;color:var(--bk-label)!important;overflow:hidden;text-overflow:ellipsis}html .ide-root.ide-mode-blocks #blockly-host .blocklyTreeSelected .blocklyTreeLabel{color:var(--bk-label)!important;font-weight:600!important}html .ide-root #blockly-host .blocklyTreeSeparator{border-bottom:.5px solid var(--bk-hairline)!important;margin:6px 4px!important;height:0!important}html .ide-root.ide-mode-blocks #blockly-host .blocklyFlyoutBackground{fill:var(--bk-flyout)!important;fill-opacity:.97!important}html .ide-root #blockly-host .blocklyFlyoutLabelText,html .ide-root #blockly-host .blocklyFlyoutLabel .blocklyText{fill:var(--bk-label-2)!important;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important}html .ide-root #blockly-host .blocklyFlyoutButton{fill:var(--bk-fill)!important}html .ide-root #blockly-host .blocklyFlyoutButton:hover{fill:var(--bk-fill-hover)!important}html .ide-root #blockly-host .blocklyFlyoutButton .blocklyText{fill:var(--bk-accent)!important;font-weight:600}html .ide-root #blockly-host .blocklyFlyoutButtonShadow{fill:transparent!important}html .ide-root #blockly-host .blocklyTrash.bk-trash{opacity:1!important;cursor:pointer}html .ide-root #blockly-host .blocklyTrash.bk-trash>image{display:none}html .ide-root #blockly-host .bk-trash-bg{fill:var(--bk-trash-bg);stroke:var(--bk-float-border);stroke-width:.5px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.06)) drop-shadow(0 4px 10px rgba(0,0,0,.08));transition:fill .12s ease-out}html .ide-root #blockly-host .bk-trash-glyph path{fill:none;stroke:var(--bk-label-2);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .12s ease-out}html .ide-root #blockly-host .blocklyTrash.bk-trash:hover .bk-trash-bg{fill:var(--bk-trash-bg-hover)}html .ide-root #blockly-host .blocklyTrash.bk-trash:hover .bk-trash-glyph path{stroke:var(--bk-label)}html .ide-root #blockly-host .blocklyTrash.bk-trash--open .bk-trash-bg{fill:var(--bk-trash-bg-open);stroke:#ff3b3059}html .ide-root #blockly-host .blocklyTrash.bk-trash--open .bk-trash-glyph path{stroke:var(--bk-red)}html .ide-root.ide-mode-blocks .blocklyZoom>image,html .ide-root.ide-mode-blocks .blocklyZoom>svg{filter:none!important}html .ide-root #blockly-host .bk-zoom{position:absolute;right:35px;bottom:112px;z-index:40;display:flex;flex-direction:column;padding:2px;gap:0;border-radius:12px;background:var(--bk-float);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border:.5px solid var(--bk-float-border);box-shadow:var(--bk-float-shadow)}html .ide-root #blockly-host .bk-zoom-btn{box-sizing:border-box;display:grid;place-items:center;width:36px;height:36px;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--bk-label-2)!important;box-shadow:none!important;cursor:pointer;transition:background .1s ease-out,color .1s ease-out}html .ide-root #blockly-host .bk-zoom-btn+.bk-zoom-btn{margin-top:0!important}html .ide-root #blockly-host .bk-zoom-btn:hover{background:var(--bk-fill)!important;color:var(--bk-label)!important}html .ide-root #blockly-host .bk-zoom-btn:active{transform:scale(.94)}html .ide-root #blockly-host .bk-zoom-btn:focus-visible{outline:2px solid var(--bk-accent);outline-offset:-2px}html .ide-root #blockly-host .bk-zoom-btn .apple-icon{width:18px;height:18px}html .ide-root .blocks-play-banner{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important;min-height:32px;margin:0!important;padding:4px 6px 4px 12px!important;background:var(--bk-ws)!important;background-image:none!important;border:0!important;border-bottom:.5px solid var(--bk-hairline)!important;box-shadow:none!important;color:var(--bk-label-2)!important}html .ide-root .blocks-play-banner.hidden{display:none!important}html .ide-root .blocks-play-banner .blocks-play-banner-emoji{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 16px;width:16px!important;height:16px!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:15px!important;color:var(--bk-orange)!important}html .ide-root .blocks-play-banner .blocks-play-banner-copy{display:block!important;flex:1 1 auto;min-width:0;margin:0!important;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;font-size:12px!important;line-height:1.35!important;color:var(--bk-label-2)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html .ide-root .blocks-play-banner .blocks-play-banner-copy strong{display:inline!important;font-size:12px!important;font-weight:600!important;color:var(--bk-label)!important;letter-spacing:0!important}html .ide-root .blocks-play-banner .blocks-play-banner-copy span{display:inline!important;font-size:12px!important;color:var(--bk-label-2)!important}html .ide-root .blocks-play-banner .blocks-play-banner-close{flex:0 0 24px;display:grid;place-items:center;width:24px;height:24px;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--bk-label-3)!important;font-size:14px;box-shadow:none!important;cursor:pointer}html .ide-root .blocks-play-banner .blocks-play-banner-close:hover{background:var(--bk-fill)!important;color:var(--bk-label)!important}html .ide-root .blocks-play-banner .blocks-play-banner-close:focus-visible{outline:2px solid var(--bk-accent);outline-offset:0}html #editor-column .ide-editor-head-left .material-symbols-outlined.ide-file-icon,html .ide-root.ide-mode-blocks #editor-column .ide-editor-head-left .material-symbols-outlined{color:var(--xc-label-2, rgba(60, 60, 67, .62))!important;font-size:14px!important;height:auto!important;width:auto!important;align-self:stretch!important;display:inline-flex!important;align-items:center!important}html .ide-root #editor-column .ide-editor-head #file-name:after,html .ide-root.ide-mode-blocks #file-name:after{font-size:12px!important;font-weight:400!important;color:var(--xc-label-2, rgba(60, 60, 67, .62))!important;white-space:pre}html #toolbar #status-dot{display:none!important}html #toolbar #status-dot.status-running,html #toolbar #status-dot.status-compiling,html #toolbar #status-dot.status-paused,html #toolbar #status-dot.status-error{display:inline-flex!important;align-items:center;gap:6px;width:auto!important;min-width:0!important;height:22px!important;margin:0 0 0 2px!important;padding:0 9px 0 8px!important;border-radius:999px!important;background:var(--bk-fill)!important;color:var(--bk-label-2);font:500 11px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;animation:none!important;box-shadow:none!important}html #toolbar #status-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bk-green)}html #toolbar #status-dot.status-running:after{content:"Running"}html #toolbar #status-dot.status-compiling:after{content:"Compiling…"}html #toolbar #status-dot.status-paused:after{content:"Paused"}html #toolbar #status-dot.status-error:after{content:"Error"}html #toolbar #status-dot.status-compiling:before{background:var(--bk-accent)}html #toolbar #status-dot.status-paused:before{background:var(--bk-orange)}html #toolbar #status-dot.status-error:before{background:var(--bk-red)}html #toolbar #status-dot.status-error{color:var(--bk-red)}html #output-panel.ide-serial-panel{position:relative;overflow:visible;container-type:inline-size;container-name:outpanel}html #output-panel.ide-serial-panel.ide-out--sized{max-height:none!important;min-height:0!important}html #output-panel.ide-serial-panel .ide-serial-title{font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;font-size:12px!important;font-weight:400!important;color:var(--sp-label-2)!important;text-transform:none!important;letter-spacing:0!important}html #output-panel.ide-serial-panel .ide-serial-connected{gap:6px;min-width:0!important;padding:0 10px 0 9px!important;border:0!important;background:var(--sp-fill)!important;color:var(--sp-label-2)!important;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}html #output-panel.ide-serial-panel .ide-serial-connected:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--sp-label-3)}html #output-panel.ide-serial-panel .ide-serial-connected--on{color:var(--sp-label)!important;background:var(--sp-fill)!important;border:0!important}html #output-panel.ide-serial-panel .ide-serial-connected--on:before{background:var(--bk-green)}html #output-panel.ide-serial-panel .ide-serial-plotter-wrap{position:relative;min-height:0!important;overflow:hidden}html #output-panel.ide-serial-panel .ide-serial-plotter-wrap canvas{position:absolute;top:0;right:0;bottom:0;left:0}html #output-panel.ide-serial-panel #output-body{min-height:0!important}html #output-panel .ide-out-resizer{position:absolute;left:0;right:0;top:-3px;height:6px;z-index:20;cursor:row-resize;touch-action:none;outline:none}html #output-panel .ide-out-resizer:after{content:"";position:absolute;left:0;right:0;top:2px;height:2px;background:transparent;transition:background .12s ease-out}html #output-panel .ide-out-resizer-grip{position:absolute;left:50%;top:50%;width:36px;height:4px;margin:-1px 0 0 -18px;border-radius:2px;background:var(--sp-label-3);opacity:.7;transition:opacity .12s ease-out,background .12s ease-out;pointer-events:none}html #output-panel .ide-out-resizer:hover:after,html #output-panel.ide-out--resizing .ide-out-resizer:after{background:var(--sp-accent);opacity:.55}html #output-panel .ide-out-resizer:hover .ide-out-resizer-grip,html #output-panel.ide-out--resizing .ide-out-resizer-grip{opacity:1;background:var(--sp-label-2)}html #output-panel .ide-out-resizer:focus-visible:after{background:var(--sp-accent);opacity:1}html #output-panel .ide-out-resizer:focus-visible .ide-out-resizer-grip{opacity:1;background:var(--sp-accent)}html.ide-out-resizing,html.ide-out-resizing *{cursor:row-resize!important;user-select:none!important;-webkit-user-select:none!important}html.ide-out-resizing iframe{pointer-events:none!important}html #output-panel.ide-out--collapsed>:not(#output-header):not(.ide-out-resizer){display:none!important}html #output-panel.ide-out--collapsed #output-header{border-bottom-color:transparent!important}html #output-panel .ide-out-sizebtns{display:inline-flex!important;align-items:center;gap:2px;flex:0 0 auto;height:var(--sp-ctl-h, 28px);margin:0!important;padding-left:6px;border-left:.5px solid var(--sp-hairline)}html #output-panel .ide-out-sizebtn{box-sizing:border-box!important;display:grid!important;place-items:center;width:28px!important;height:var(--sp-ctl-h, 28px)!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:var(--sp-ctl-radius, 7px)!important;background:transparent!important;color:var(--sp-label-2)!important;box-shadow:none!important;cursor:pointer;transition:background .1s ease-out,color .1s ease-out}html #output-panel .ide-out-sizebtn:hover{background:var(--sp-fill)!important;color:var(--sp-label)!important}html #output-panel .ide-out-sizebtn:active{transform:scale(.94)}html #output-panel .ide-out-sizebtn:focus-visible{outline:2px solid var(--sp-accent);outline-offset:-2px}html #output-panel .ide-out-sizebtn[aria-pressed=true]{color:var(--sp-accent)!important}@container outpanel (max-width: 900px){#output-panel.ide-serial-panel .ide-serial-title{display:none!important}}@container outpanel (max-width: 800px){#output-panel.ide-serial-panel .ide-serial-tab-pre{display:none}#output-panel.ide-serial-panel .ide-serial-connected{display:none!important}#output-panel.ide-serial-panel .ide-guide-toggle{margin-left:auto!important}}@container outpanel (max-width: 640px){#output-panel.ide-serial-panel #output-header{flex-wrap:wrap!important;height:auto!important;min-height:40px!important;flex:0 0 auto!important;row-gap:6px!important;padding:6px 10px!important;overflow:visible!important}}@media(prefers-reduced-motion:reduce){html #output-panel .ide-out-sizebtn:active,html .ide-root #blockly-host .bk-zoom-btn:active{transform:none}}:root,[data-theme=light]{--cp-label: rgba(0, 0, 0, .85);--cp-label-2: rgba(60, 60, 67, .62);--cp-label-3: rgba(60, 60, 67, .32);--cp-fill: rgba(120, 120, 128, .12);--cp-fill-hover: rgba(120, 120, 128, .2);--cp-hairline: rgba(60, 60, 67, .18);--cp-card: #ffffff;--cp-blue: #007aff;--cp-blue-hover: #0068d9;--cp-red: #ff3b30;--cp-green: #34c759;--cp-pop: rgba(255, 255, 255, .92);--cp-pop-shadow: 0 0 0 .5px rgba(0, 0, 0, .1), 0 8px 28px rgba(0, 0, 0, .14)}[data-theme=dark]{--cp-label: rgba(255, 255, 255, .88);--cp-label-2: rgba(235, 235, 245, .6);--cp-label-3: rgba(235, 235, 245, .3);--cp-fill: rgba(120, 120, 128, .24);--cp-fill-hover: rgba(120, 120, 128, .34);--cp-hairline: rgba(235, 235, 245, .14);--cp-card: #1c1c1e;--cp-blue: #0a84ff;--cp-blue-hover: #3395ff;--cp-red: #ff453a;--cp-green: #30d158;--cp-pop: rgba(44, 44, 48, .94);--cp-pop-shadow: 0 0 0 .5px rgba(255, 255, 255, .1), 0 10px 30px rgba(0, 0, 0, .5)}html .shell-page .shell-page-header{align-items:center!important}html .shell-page .shell-page-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important}html .shell-page .shell-page-actions .shell-page-action{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:30px!important;min-height:30px!important;padding:0 12px!important;margin:0!important;border:.5px solid var(--cp-hairline)!important;border-radius:8px!important;background:var(--cp-fill)!important;color:var(--cp-label)!important;font:500 13px/1 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important;box-shadow:none!important;white-space:nowrap!important;cursor:pointer;transition:background .12s ease-out}html .shell-page .shell-page-actions .shell-page-action:hover{background:var(--cp-fill-hover)!important;color:var(--cp-label)!important}html .shell-page .shell-page-actions .shell-page-action:active{transform:scale(.98)}html .shell-page .shell-page-actions .shell-page-action:focus-visible{outline:3px solid color-mix(in srgb,var(--cp-blue) 45%,transparent)!important;outline-offset:1px!important}html .shell-page .shell-page-actions .shell-page-action.primary{background:var(--cp-blue)!important;border-color:transparent!important;color:#fff!important;font-weight:600!important;padding:0 14px!important}html .shell-page .shell-page-actions .shell-page-action.primary:hover{background:var(--cp-blue-hover)!important;color:#fff!important}html .shell-page .shell-page-actions .shell-page-action .material-symbols-outlined,html .shell-page .shell-page-actions .shell-page-action .apple-icon-host,html .shell-page .shell-page-actions .shell-page-action svg{width:16px!important;height:16px!important;font-size:16px!important;line-height:1!important;flex:0 0 16px;margin:0!important}html .shell-page--code #toolbar #btn-save{display:none!important}html .shell-page .shell-ide-host{border:.5px solid var(--cp-hairline)!important;border-radius:12px!important;overflow:hidden!important;outline:none!important;box-shadow:0 1px 2px #0000000a!important;background:var(--cp-card)!important}html .shell-page .shell-ide-host:focus-within{outline:none!important}html .shell-page .shell-ide-host .ide-root{outline:none!important;border-radius:12px}html #sim-pane .ide-sim-toolbar,html #sim-pane .ide-sim-toolbar:has(#wb-tools){display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;flex:0 0 44px!important;height:44px!important;min-width:0!important;padding:0 10px!important;overflow:visible!important}html #sim-pane .ide-sim-toolbar-left{display:flex!important;align-items:center!important;gap:6px!important;flex:0 1 auto!important;min-width:0!important;overflow:visible!important}html #sim-pane .ide-sim-toolbar-divider{flex:0 0 auto;height:18px!important;margin:0!important}html #sim-pane .ide-sim-toolbar-right{display:flex!important;align-items:center!important;gap:4px!important;flex:0 0 auto!important;margin-left:auto!important}html #sim-pane #wb-tools.wb-toolbar{gap:6px!important;flex-wrap:nowrap!important}html #sim-pane #wb-tools .wb-tool-group{gap:0!important;padding:1px!important;border-radius:8px!important}html #sim-pane #wb-tools .wb-tool-group.is-folded,html .ide-sim-toolbar.sim-tb--s2 #wb-tools .wb-sep,html #sim-pane #wb-tools button.wb-tool[data-act=zin],html #sim-pane #wb-tools button.wb-tool[data-act=zout],html #sim-pane #wb-tools button.wb-tool[data-act=fit]{display:none!important}html #sim-pane #wb-tools button.wb-tool,html #sim-pane.ide-root--stitch #wb-tools button.wb-tool[data-act],html .ide-root--stitch #sim-pane #wb-tools button.wb-tool[data-act]{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;border-radius:7px!important}html #sim-pane #wb-tools .wb-tool-ico{width:16px!important;height:16px!important}html .ide-root--stitch #sim-pane #wb-tools button.wb-tool--primary[data-act],html #sim-pane #wb-tools button.wb-tool--primary{width:auto!important;padding:0 10px 0 8px!important;gap:5px!important;font-size:13px!important;font-weight:500!important;white-space:nowrap!important}html .ide-sim-toolbar.sim-tb--s1 #wb-tools button.wb-tool--primary{width:28px!important;padding:0!important}html .ide-sim-toolbar.sim-tb--s1 #wb-tools button.wb-tool--primary .wb-tool-label{display:none!important}html #sim-pane .ide-sim-toolbar-right .ide-pane-fs-btn,html #sim-pane .ide-sim-toolbar-right .ide-sim-icon-btn,html #sim-pane .ide-sim-more-btn{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;height:28px!important;min-height:28px!important;min-width:28px!important;padding:0!important;width:28px!important;margin:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--cp-label)!important;box-shadow:none!important;font:500 13px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important}html #sim-pane .ide-sim-toolbar-right .ide-pane-fs-btn{width:auto!important;padding:0 9px 0 7px!important;background:var(--cp-fill)!important}html .ide-sim-toolbar.sim-tb--s1 .ide-sim-toolbar-right .ide-pane-fs-btn{width:28px!important;padding:0!important}html .ide-sim-toolbar.sim-tb--s1 .ide-sim-toolbar-right .ide-pane-fs-btn>span:last-child:not(.material-symbols-outlined){display:none!important}html #sim-pane .ide-sim-toolbar-right .ide-sim-icon-btn:hover:not(:disabled),html #sim-pane .ide-sim-toolbar-right .ide-pane-fs-btn:hover,html #sim-pane .ide-sim-more-btn:hover,html #sim-pane .ide-sim-more-btn.active{background:var(--cp-fill-hover)!important}html #sim-pane .ide-sim-toolbar-right .ide-sim-icon-btn:disabled{opacity:.35!important}html #sim-pane .ide-sim-toolbar-right .material-symbols-outlined,html #sim-pane .ide-sim-toolbar-right .apple-icon-host{font-size:16px!important;width:16px!important;height:16px!important}html #sim-pane .ide-sim-toolbar-right .ide-sim-run{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;gap:5px!important;height:28px!important;min-height:28px!important;padding:0 12px 0 9px!important;margin:0 2px 0 4px!important;border:0!important;border-radius:7px!important;background:var(--cp-blue)!important;color:#fff!important;font:600 13px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;white-space:nowrap!important}html #sim-pane .ide-sim-toolbar-right .ide-sim-run:hover:not(:disabled){background:var(--cp-blue-hover)!important}html #sim-pane .ide-sim-more{position:relative;display:none;flex:0 0 auto}html .ide-sim-toolbar.sim-tb--s2 .ide-sim-more{display:inline-flex}html #sim-pane .ide-sim-more-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:300;min-width:200px;padding:4px;border-radius:10px;background:var(--cp-pop);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:var(--cp-pop-shadow)}html #sim-pane .ide-sim-more-menu.hidden{display:none!important}html #sim-pane .ide-sim-more-item{display:flex!important;align-items:center;gap:8px;width:100%;height:28px!important;min-height:0!important;padding:0 10px 0 8px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:var(--cp-label)!important;font:400 13px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;text-align:left;cursor:pointer}html #sim-pane .ide-sim-more-item svg{width:16px;height:16px;flex:0 0 16px;color:var(--cp-label-2)}html #sim-pane .ide-sim-more-item:hover:not(:disabled),html #sim-pane .ide-sim-more-item:focus-visible{background:var(--cp-blue)!important;color:#fff!important;outline:none}html #sim-pane .ide-sim-more-item:hover:not(:disabled) svg,html #sim-pane .ide-sim-more-item:focus-visible svg{color:#fff}html #sim-pane .ide-sim-more-item.is-destructive{color:var(--cp-red)!important}html #sim-pane .ide-sim-more-item.is-destructive svg{color:var(--cp-red)}html #sim-pane .ide-sim-more-item:disabled{opacity:.4;cursor:default}html #sim-pane .ide-sim-more-sep{height:.5px;margin:4px 6px;background:var(--cp-hairline)}html #sim-pane .ide-sim-overlay{top:92px!important;left:auto!important;right:12px!important;bottom:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;height:28px!important;padding:0 12px!important;border-radius:999px!important;font:500 11px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;color:var(--cp-label-2)!important;white-space:nowrap;pointer-events:none}html #sim-pane .ide-sim-overlay-item{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important}html #sim-pane .ide-sim-overlay .ide-sim-dot{width:7px!important;height:7px!important;border-radius:50%!important}html #wb .wb-hud{max-width:calc(100% - 32px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}html #wb#wb:not(.wb-sim-locked) .wb-palette-item.is-exhausted{opacity:1!important;cursor:default!important}html #wb#wb:not(.wb-sim-locked) .wb-palette-item.is-exhausted .wb-part-ico{opacity:.45}html #wb#wb:not(.wb-sim-locked) .wb-palette-item.is-exhausted .wb-part-name{color:var(--cp-label)!important}html #wb#wb:not(.wb-sim-locked) .wb-palette-item.is-exhausted .wb-part-sub{color:var(--cp-label-2)!important}html #wb#wb:not(.wb-sim-locked) .wb-palette-item.is-exhausted .wb-palette-qty{font-size:0!important;line-height:0!important;padding:0 7px!important;min-width:0!important;background:color-mix(in srgb,var(--cp-green) 16%,transparent)!important;color:var(--cp-green)!important}html #wb#wb:not(.wb-sim-locked) .wb-palette-item.is-exhausted .wb-palette-qty:after{content:"Placed";font:600 11px/18px -apple-system,BlinkMacSystemFont,system-ui,sans-serif}html #wb#wb.wb-sim-locked .wb-palette-item.is-exhausted{opacity:.55!important}html #output-panel.ide-serial-panel #output-header{flex-wrap:nowrap!important;height:40px!important;min-height:40px!important;flex:0 0 40px!important;overflow:hidden!important;row-gap:0!important;padding:0 8px 0 10px!important}html #output-panel .ide-serial-tabs{flex:0 0 auto!important}html #output-panel .ide-serial-tab{flex:0 0 auto!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}html #output-panel .ide-hdr-ico{display:none}html #output-panel #btn-code-guide,html #output-panel #btn-clear-output{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}html #output-panel.ide-out--compact #btn-code-guide,html #output-panel.ide-out--compact #btn-clear-output{width:28px!important;min-width:28px!important;padding:0!important}html #output-panel.ide-out--compact .ide-hdr-ico{display:inline-flex}html #output-panel.ide-out--compact .ide-hdr-ico svg{width:15px;height:15px}html #output-panel.ide-out--compact .ide-hdr-lbl{display:none}html #output-panel.ide-out--compact .ide-serial-title,html #output-panel.ide-out--compact .ide-serial-connected,html #output-panel.ide-out--compact .ide-serial-tab-pre{display:none!important}html #output-panel.ide-out--compact .ide-guide-toggle{margin-left:auto!important}html #output-panel .ide-serial-more{position:relative;display:none;flex:0 0 auto}html #output-panel.ide-out--compact .ide-serial-more{display:inline-flex}html #output-panel .ide-serial-more-btn{display:inline-grid!important;place-items:center;width:28px!important;height:28px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:7px!important;background:var(--cp-fill)!important;color:var(--cp-label)!important;cursor:pointer}html #output-panel .ide-serial-more-btn:hover,html #output-panel .ide-serial-more-btn.active{background:var(--cp-fill-hover)!important}html .ide-serial-more-pop{position:fixed;z-index:400;display:flex;flex-direction:column;gap:8px;min-width:190px;padding:10px;border-radius:10px;background:var(--cp-pop);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:var(--cp-pop-shadow)}html .ide-serial-more-pop.hidden{display:none!important}html .ide-serial-more-pop label{display:flex!important;width:100%;margin:0!important}html .ide-serial-more-pop select{width:100%!important;max-width:none!important}@container outpanel (max-width: 640px){#output-panel.ide-serial-panel #output-header{flex-wrap:nowrap!important;height:40px!important;padding:0 8px 0 10px!important}}html .ide-root .ide-column-divider{position:relative;flex:0 0 6px!important;width:6px!important;cursor:col-resize!important;background:transparent!important;border:0!important;box-shadow:inset .5px 0 0 var(--cp-hairline),inset -.5px 0 0 transparent!important}html .ide-root .ide-column-divider:after{content:"";position:absolute;top:50%;left:1px;width:4px;height:36px;margin-top:-18px;border-radius:2px;background:var(--cp-label-3);opacity:.8;transition:opacity .12s ease-out,background .12s ease-out}html .ide-root .ide-column-divider:hover{background:color-mix(in srgb,var(--cp-blue) 10%,transparent)!important}html .ide-root .ide-column-divider:hover:after,html .ide-root .ide-column-divider.dragging:after{background:var(--cp-blue);opacity:1}html .ide-serial-more-pop select{box-sizing:border-box!important;height:28px!important;min-height:0!important;padding:0 8px!important;border:.5px solid var(--cp-hairline)!important;border-radius:7px!important;background-color:var(--cp-fill)!important;color:var(--cp-label)!important;font:400 13px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif!important;box-shadow:none!important;outline:none;-webkit-appearance:auto!important;appearance:auto!important}html .ide-serial-more-pop select:focus-visible{outline:3px solid color-mix(in srgb,var(--cp-blue) 40%,transparent)!important;outline-offset:0}.sim-standalone{--sim-top-h: 44px;--sim-ctl-h: 28px;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--apple-bg-grouped, #f2f2f7);color:var(--apple-label);font-family:var(--apple-font-ui)}[data-theme=dark] .sim-standalone{background:#1c1c1e}.sim-standalone .sim-top{position:relative;flex:0 0 var(--sim-top-h);height:var(--sim-top-h);box-sizing:border-box;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;gap:12px;background:var(--apple-material-chrome, rgba(255,255,255,.78));-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--apple-separator, rgba(60,60,67,.29));z-index:20;-webkit-app-region:drag}.sim-standalone .sim-top button{-webkit-app-region:no-drag}.sim-standalone .sim-top-left{display:flex;align-items:center;min-width:0;justify-self:start}.sim-standalone .sim-top-right{display:flex;align-items:center;gap:8px;justify-self:end}.sim-standalone .sim-top-title{margin:0;padding:0;justify-self:center;font:600 13px/1 var(--apple-font-ui);letter-spacing:-.01em;color:var(--apple-label);white-space:nowrap;text-transform:none}.sim-standalone .sim-top-back{display:inline-flex;align-items:center;gap:2px;height:var(--sim-ctl-h);min-height:var(--sim-ctl-h);max-width:100%;padding:0 10px 0 4px;margin:0;border:0;border-radius:7px;background:transparent;box-shadow:none;font:500 13px/1 var(--apple-font-ui);letter-spacing:-.01em;text-transform:none;color:var(--apple-blue);cursor:default;white-space:nowrap;transition:background-color .12s ease}.sim-standalone .sim-top-back>span{overflow:hidden;text-overflow:ellipsis}.sim-standalone .sim-top-back svg.apple-icon{width:18px;height:18px;flex:0 0 auto}.sim-standalone .sim-top-back:hover{background:var(--apple-fill-quaternary, rgba(116,116,128,.08))}.sim-standalone .sim-top-back:active{background:var(--apple-fill-tertiary, rgba(118,118,128,.12))}.sim-standalone .sim-top-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--sim-ctl-h);height:var(--sim-ctl-h);min-width:var(--sim-ctl-h);min-height:var(--sim-ctl-h);padding:0;margin:0;border:0;border-radius:7px;background:transparent;box-shadow:none;color:var(--apple-label-secondary);cursor:default;transition:background-color .12s ease,color .12s ease}.sim-standalone .sim-top-icon-btn:hover{background:var(--apple-fill-quaternary, rgba(116,116,128,.08));color:var(--apple-label)}.sim-standalone .sim-top-icon-btn:active{background:var(--apple-fill-tertiary, rgba(118,118,128,.12))}.sim-standalone .sim-top-icon-btn .apple-icon-host{display:inline-flex;line-height:0}.sim-standalone .sim-top-icon-btn svg.apple-icon{width:17px;height:17px}.sim-standalone .sim-top-back:focus-visible,.sim-standalone .sim-top-icon-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--apple-blue) 45%,transparent);outline-offset:1px}.sim-standalone .sim-body{flex:1 1 auto;min-height:0;min-width:0;position:relative;display:flex;flex-direction:column;padding:0;margin:0;overflow:hidden}.sim-standalone .sim-body>.shell-ide-host{flex:1 1 auto;min-height:0;min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important}.sim-standalone .shell-ide-host .ide-root{height:100%}.ide-shell-sidebar .ide-sidebar-cta.ide-sidebar-cta--staff{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important}.ide-shell-sidebar .ide-sidebar-cta--staff .apple-icon-host{display:inline-flex;line-height:0}.ide-shell-sidebar .ide-sidebar-cta--staff svg.apple-icon{width:16px;height:16px}.dash-page>.dash-empty-card.dash-noclass{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;margin:24px auto 0;max-width:560px;width:100%;box-sizing:border-box;padding:32px 24px;border-radius:14px;background:var(--apple-bg);border:1px solid var(--apple-separator)}[data-theme=dark] .dash-page>.dash-empty-card.dash-noclass{background:var(--apple-bg-secondary)}.dash-noclass .dash-empty-icon{color:var(--apple-label-secondary);margin-bottom:4px}.dash-noclass .dash-empty-retry{margin-top:10px;height:28px;padding:0 14px;border:0;border-radius:7px;background:var(--apple-fill-secondary, rgba(120,120,128,.16));color:var(--apple-label);font:500 13px/1 var(--apple-font-ui);cursor:default}.dash-noclass .dash-empty-retry:hover{background:var(--apple-fill, rgba(120,120,128,.2))}.ide-shell-topbar .ide-shell-staff-back{display:none;align-items:center;gap:2px;flex:0 0 auto;height:28px;min-height:28px;padding:0 10px 0 4px;margin:0 4px 0 0;border:0;border-radius:7px;background:transparent;box-shadow:none;font:500 13px/1 var(--apple-font-ui);letter-spacing:-.01em;text-transform:none;color:var(--apple-blue);white-space:nowrap;cursor:default}.ide-shell-topbar .ide-shell-staff-back .apple-icon-host{display:inline-flex;line-height:0}.ide-shell-topbar .ide-shell-staff-back svg.apple-icon{width:16px;height:16px}.ide-shell-topbar .ide-shell-staff-back:hover{background:var(--apple-fill-quaternary, rgba(116,116,128,.08))}.ide-shell--sidebar-hidden .ide-shell-topbar .ide-shell-staff-back{display:inline-flex}@media(max-width:1180px){.ide-shell-topbar .ide-shell-staff-back{display:inline-flex}}@media(max-width:720px){.ide-shell-topbar .ide-shell-staff-back>span:last-child{display:none}}html .files-page{--fl-card: #ffffff;--fl-card-hover: rgba(120, 120, 128, .08);--fl-card-press: rgba(120, 120, 128, .14);--fl-hairline: rgba(60, 60, 67, .16);--fl-label: var(--apple-label, #000);--fl-label-2: var(--apple-label-secondary, rgba(60,60,67,.6));--fl-label-3: var(--apple-label-tertiary, rgba(60,60,67,.3));--fl-fill: rgba(120, 120, 128, .12);--fl-track: rgba(120, 120, 128, .16);--fl-blue: var(--apple-blue, #007aff);--fl-tint: color-mix(in srgb, var(--apple-blue, #007aff) 12%, transparent);--fl-tint-green: color-mix(in srgb, var(--apple-green, #34c759) 14%, transparent);--fl-green: var(--apple-green, #34c759);--fl-red: var(--apple-red, #ff3b30);overflow:auto!important;font-family:var(--apple-font-ui)!important;color:var(--fl-label)}html[data-theme=dark] .files-page{--fl-card: #2c2c2e;--fl-card-hover: rgba(255, 255, 255, .06);--fl-card-press: rgba(255, 255, 255, .1);--fl-hairline: rgba(235, 235, 245, .12);--fl-fill: rgba(120, 120, 128, .24);--fl-track: rgba(120, 120, 128, .32)}html .files-page .shell-page-header{padding:8px 4px 0!important;margin:0!important;align-items:center!important}html .files-page .files-page-body{display:flex;flex-direction:column;gap:20px;margin:0!important;padding:0 0 24px;min-width:0}html .files-page .files-storage{margin:0!important;padding:14px 16px!important;border:0!important;border-radius:12px!important;background:var(--fl-card)!important;box-shadow:0 0 0 .5px var(--fl-hairline)!important;font-family:var(--apple-font-ui)!important}html .files-page .files-storage-top{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 10px!important}html .files-page .files-storage-glyph{display:inline-flex;color:var(--fl-blue);line-height:0}html .files-page .files-storage-title{flex:1 1 auto;min-width:0;font:600 13px/1.2 var(--apple-font-ui)!important;letter-spacing:-.01em!important;text-transform:none!important;color:var(--fl-label)!important}html .files-page .files-storage-label{flex:0 0 auto;font:400 12px/1.2 var(--apple-font-ui)!important;font-variant-numeric:tabular-nums;letter-spacing:0!important;text-transform:none!important;color:var(--fl-label-2)!important}html .files-page .files-storage-track{height:6px!important;border:0!important;border-radius:3px!important;background:var(--fl-track)!important;overflow:hidden!important}html .files-page .files-storage-fill{height:100%!important;border-radius:3px!important;background:var(--fl-blue)!important;min-width:0}html .files-page .files-storage-fill.warn{background:var(--apple-orange, #ff9500)!important}html .files-page .files-storage-fill.full{background:var(--fl-red)!important}html .files-page .files-storage-hint{margin:10px 0 0!important;font:400 12px/1.45 var(--apple-font-ui)!important;color:var(--fl-label-2)!important;text-transform:none!important}html .files-page .files-section[hidden],html .files-page .files-empty[hidden]{display:none!important}html .files-page .files-section-head{display:flex;align-items:baseline;gap:8px;margin:0 4px 8px}html .files-page .files-section-title{margin:0;font:600 15px/1.2 var(--apple-font-ui);letter-spacing:-.01em;color:var(--fl-label);text-transform:none}html .files-page .files-section-count{font:400 12px/1 var(--apple-font-ui);color:var(--fl-label-2)}html .files-page .files-list{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:var(--fl-card);box-shadow:0 0 0 .5px var(--fl-hairline)}html .files-page .files-row{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px 8px 14px;box-sizing:border-box;cursor:default;outline:none;transition:background-color .12s ease}html .files-page .files-row+.files-row:before{content:"";position:absolute;top:0;right:0;left:60px;height:.5px;background:var(--fl-hairline)}html .files-page .files-row:hover{background:var(--fl-card-hover)}html .files-page .files-row:active{background:var(--fl-card-press)}html .files-page .files-row:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--fl-blue) 45%,transparent)}html .files-page .files-row-glyph{flex:0 0 34px;width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;line-height:0;background:var(--fl-tint);color:var(--fl-blue)}html .files-page .files-row-glyph--circuit{background:var(--fl-tint-green);color:var(--fl-green)}html .files-page .files-row-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}html .files-page .files-row-name{font:500 13px/1.3 var(--apple-font-ui);letter-spacing:-.01em;color:var(--fl-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html .files-page .files-row-meta{font:400 12px/1.3 var(--apple-font-ui);color:var(--fl-label-2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html .files-page .files-row-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px}html .files-page .files-row-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;margin:0;border:0;border-radius:7px;background:transparent;box-shadow:none;color:var(--fl-label-2);cursor:default;line-height:0;transition:background-color .12s ease,color .12s ease}html .files-page .files-row-btn:hover{background:var(--fl-fill);color:var(--fl-label)}html .files-page .files-row-btn:active{background:var(--fl-track)}html .files-page .files-row-btn--danger:hover{color:var(--fl-red);background:color-mix(in srgb,var(--fl-red) 12%,transparent)}html .files-page .files-row-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--fl-blue) 45%,transparent);outline-offset:0}html .files-page .files-row-chevron{flex:0 0 auto;display:inline-flex;color:var(--fl-label-3);line-height:0;margin-left:2px}@media(hover:hover){html .files-page .files-row .files-row-actions{opacity:0;transition:opacity .12s ease}html .files-page .files-row:hover .files-row-actions,html .files-page .files-row:focus-within .files-row-actions{opacity:1}}html .files-page .files-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:280px!important;padding:40px 24px!important;border:0!important;border-radius:12px!important;background:var(--fl-card)!important;box-shadow:0 0 0 .5px var(--fl-hairline)!important;color:var(--fl-label-2)!important;text-align:center!important}html .files-page .files-empty-glyph{display:inline-flex;align-items:center;justify-content:center;line-height:0;width:52px;height:52px;border-radius:50%;margin-bottom:6px;background:var(--fl-fill);color:var(--fl-label-2)}html .files-page .files-empty-title{margin:0!important;font:600 15px/1.3 var(--apple-font-ui)!important;letter-spacing:-.01em;color:var(--fl-label)!important;text-transform:none!important}html .files-page .files-empty-sub{margin:0 0 10px!important;max-width:360px!important;font:400 13px/1.45 var(--apple-font-ui)!important;color:var(--fl-label-2)!important}html .files-page .files-empty-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;min-height:30px;padding:0 14px;margin:0;border:0;border-radius:8px;background:var(--fl-blue);color:#fff;box-shadow:none;font:500 13px/1 var(--apple-font-ui);letter-spacing:-.01em;text-transform:none;cursor:default}html .files-page .files-empty-btn:hover{background:var(--apple-blue-hover, #0068d9)}html .files-page .files-empty-btn:active{transform:scale(.98)}html .files-page .files-empty-btn .apple-icon-host{display:inline-flex;line-height:0}html .files-page .files-empty-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--fl-blue) 45%,transparent);outline-offset:1px}@media(max-width:720px){html .files-page .files-row-chevron{display:none}html .files-page .files-storage-top{flex-wrap:wrap}}:root,[data-theme=light]{--theory-img-width: 400px;--theory-img-height: 260px;--pe-bg: #fbf9f4;--pe-surface: #ffffff;--pe-outline: #cbd5e1;--bg: #f8f6f0;--bg-subtle: #f3efe6;--bg-muted: #eae4d6;--bg-inset: #e0d8c7;--bg-hover: rgba(37, 99, 235, .07);--bg-active: rgba(37, 99, 235, .12);--bg-inverse: #0b1021;--text: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-faint: #94a3b8;--text-inverse: #ffffff;--border: rgba(15, 23, 42, .09);--border-strong: rgba(15, 23, 42, .18);--border-focus: #2563eb;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-active: #1e40af;--accent-soft: rgba(37, 99, 235, .1);--accent-glow: 0 0 24px rgba(37, 99, 235, .28);--accent-secondary: #0284c7;--accent-secondary-soft: rgba(2, 132, 199, .12);--glass-bg: rgba(255, 255, 255, .85);--glass-bg-subtle: rgba(255, 255, 255, .65);--glass-bg-elevated: rgba(255, 255, 255, .94);--glass-border: rgba(255, 255, 255, .8);--glass-border-outer: rgba(15, 23, 42, .06);--glass-blur: blur(16px);--glass-blur-sm: blur(8px);--glass-blur-lg: blur(24px);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .05);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .12);--glass-shadow: 0 10px 32px 0 rgba(15, 23, 42, .07), 0 1px 3px 0 rgba(0, 0, 0, .03);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 9999px;--status-ok-bg: rgba(16, 185, 129, .12);--status-ok-text: #059669;--status-warn-bg: rgba(245, 158, 11, .14);--status-warn-text: #d97706;--status-err-bg: rgba(239, 68, 68, .12);--status-err-text: #dc2626;--status-info-bg: rgba(37, 99, 235, .1);--status-info-text: #1d4ed8;--ide-bg: #f8f6f0;--ide-toolbar: rgba(255, 255, 255, .88);--ide-border: rgba(15, 23, 42, .09);--ide-text: #0f172a;--ide-sim-bg: #f1eee4;--ide-canvas-bg: #fbf9f4;--wb-grid-minor: rgba(0, 0, 0, .045);--wb-grid-major: rgba(0, 0, 0, .095);--wb-grid-dot: rgba(37, 99, 235, .35)}[data-theme=dark]{--pe-bg: #0b1021;--pe-surface: #111a36;--pe-outline: #1e293b;--bg: #0b1021;--bg-subtle: #0f172e;--bg-muted: #152244;--bg-inset: #070b17;--bg-hover: rgba(59, 130, 246, .1);--bg-active: rgba(59, 130, 246, .18);--bg-inverse: #f8fafc;--text: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-faint: #64748b;--text-inverse: #0b1021;--border: rgba(148, 163, 184, .14);--border-strong: rgba(148, 163, 184, .26);--border-focus: #3b82f6;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-active: #2563eb;--accent-soft: rgba(59, 130, 246, .16);--accent-glow: 0 0 28px rgba(59, 130, 246, .35);--accent-secondary: #38bdf8;--accent-secondary-soft: rgba(56, 189, 248, .18);--glass-bg: rgba(17, 26, 54, .76);--glass-bg-subtle: rgba(17, 26, 54, .54);--glass-bg-elevated: rgba(22, 34, 68, .88);--glass-border: rgba(255, 255, 255, .12);--glass-border-outer: rgba(0, 0, 0, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .6);--glass-shadow: 0 12px 36px 0 rgba(0, 0, 0, .5), 0 1px 3px 0 rgba(255, 255, 255, .05);--status-ok-bg: rgba(16, 185, 129, .16);--status-ok-text: #34d399;--status-warn-bg: rgba(245, 158, 11, .18);--status-warn-text: #fbbf24;--status-err-bg: rgba(239, 68, 68, .18);--status-err-text: #f87171;--status-info-bg: rgba(59, 130, 246, .16);--status-info-text: #60a5fa;--ide-bg: #0b1021;--ide-toolbar: rgba(17, 26, 54, .9);--ide-border: rgba(148, 163, 184, .14);--ide-text: #f8fafc;--ide-sim-bg: #0e162d;--ide-canvas-bg: #0b1021;--wb-grid-minor: rgba(255, 255, 255, .045);--wb-grid-major: rgba(255, 255, 255, .095);--wb-grid-dot: rgba(59, 130, 246, .38)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--pe-bg: #0b1021;--pe-surface: #111a36;--pe-outline: #1e293b;--bg: #0b1021;--bg-subtle: #0f172e;--bg-muted: #152244;--bg-inset: #070b17;--bg-hover: rgba(59, 130, 246, .1);--bg-active: rgba(59, 130, 246, .18);--bg-inverse: #f8fafc;--text: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-faint: #64748b;--text-inverse: #0b1021;--border: rgba(148, 163, 184, .14);--border-strong: rgba(148, 163, 184, .26);--border-focus: #3b82f6;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-active: #2563eb;--accent-soft: rgba(59, 130, 246, .16);--accent-glow: 0 0 28px rgba(59, 130, 246, .35);--accent-secondary: #38bdf8;--accent-secondary-soft: rgba(56, 189, 248, .18);--glass-bg: rgba(17, 26, 54, .76);--glass-bg-subtle: rgba(17, 26, 54, .54);--glass-bg-elevated: rgba(22, 34, 68, .88);--glass-border: rgba(255, 255, 255, .12);--glass-border-outer: rgba(0, 0, 0, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .6);--glass-shadow: 0 12px 36px 0 rgba(0, 0, 0, .5), 0 1px 3px 0 rgba(255, 255, 255, .05);--status-ok-bg: rgba(16, 185, 129, .16);--status-ok-text: #34d399;--status-warn-bg: rgba(245, 158, 11, .18);--status-warn-text: #fbbf24;--status-err-bg: rgba(239, 68, 68, .18);--status-err-text: #f87171;--status-info-bg: rgba(59, 130, 246, .16);--status-info-text: #60a5fa;--ide-bg: #0b1021;--ide-toolbar: rgba(17, 26, 54, .9);--ide-border: rgba(148, 163, 184, .14);--ide-text: #f8fafc;--ide-sim-bg: #0e162d;--ide-canvas-bg: #0b1021;--wb-grid-minor: rgba(255, 255, 255, .045);--wb-grid-major: rgba(255, 255, 255, .095);--wb-grid-dot: rgba(59, 130, 246, .38)}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;background:var(--bg);color:var(--text-secondary);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:15px;overflow:hidden}body{display:flex;flex-direction:column}#app{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;z-index:1;overflow:hidden}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;display:inline-block;vertical-align:middle;line-height:1;font-size:18px}.auth-page{flex:1;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--bg);background-image:radial-gradient(circle at 15% 15%,rgba(249,115,22,.12) 0px,transparent 45%),radial-gradient(circle at 85% 20%,rgba(245,158,11,.1) 0px,transparent 40%),radial-gradient(circle at 50% 85%,rgba(249,115,22,.08) 0px,transparent 45%);color:var(--text);overflow:auto}.auth-nav{position:sticky;top:0;z-index:50;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border)}.auth-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;max-width:100%}.auth-nav-inner--simple{justify-content:flex-start}.auth-footer-inner--simple{display:block;grid-template-columns:none}.auth-nav-brand{display:flex;align-items:center;gap:12px}.auth-nav-brand-btn{border:none;background:transparent;padding:0;cursor:pointer;font:inherit;color:inherit}.auth-nav-logo{width:34px;height:34px;color:var(--accent)!important}.auth-nav-title{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--text);text-transform:uppercase}.auth-nav-links{display:flex;align-items:center;gap:16px;margin-left:28px}.auth-nav-link{background:none;border:none;cursor:pointer;font:inherit;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-secondary);text-decoration:none;padding:6px 12px;border-radius:var(--radius-sm);transition:all .15s ease}.auth-nav-link:hover{color:var(--accent);background:var(--bg-hover);text-decoration:none}@media(max-width:960px){.auth-nav-links{display:none}}.auth-nav-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.auth-nav-text{background:none;border:none;cursor:pointer;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-secondary);padding:6px 14px;border-radius:var(--radius-sm);transition:all .15s ease}.auth-nav-text:hover{color:var(--accent);background:var(--bg-hover)}.auth-nav-btn{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border:none;cursor:pointer;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;padding:7px 18px;border-radius:var(--radius-pill);box-shadow:0 2px 10px #f9731647;transition:all .15s ease}.auth-nav-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #f9731661;opacity:.96}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:36px 16px;position:relative;overflow:hidden}.auth-main--register{align-items:flex-start;justify-content:center;padding:36px 16px 56px;overflow:auto}.auth-screen{flex:1;min-height:0;width:100%;height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px;position:relative;z-index:2;background:var(--bg)}.auth-screen-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.04;background-image:radial-gradient(var(--text) 1px,transparent 1px);background-size:24px 24px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;position:relative;z-index:1}.auth-logo-img{width:88px;height:88px;object-fit:contain}.auth-kicker{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.auth-brand h1{margin:0;font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.02em}.auth-sub{margin:4px 0 0;color:var(--text-muted);font-size:14px;max-width:340px;line-height:1.5}.auth-card,.login-card{width:min(450px,92vw);background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:36px 32px;box-shadow:var(--glass-shadow),0 0 0 1px var(--glass-border-outer);position:relative;z-index:3;transition:transform .2s ease,box-shadow .2s ease}.auth-card.center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.auth-card-head{margin-bottom:24px}.auth-secure-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.auth-secure-label .material-symbols-outlined{font-size:16px;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.auth-card-title{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:30px;font-weight:700;color:var(--text);letter-spacing:-.03em;line-height:1.2}.auth-card-sub{margin:8px 0 0;color:var(--text-muted);font-size:14px;line-height:1.5}.auth-form{display:flex;flex-direction:column}.auth-form>*+*{margin-top:18px}.auth-field-group{display:flex;flex-direction:column}.auth-field-group>*+*{margin-top:4px}.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.auth-field-label{display:block;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--text-secondary)}.auth-field-wrap{position:relative}.auth-field-wrap .field,.auth-input{height:44px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);-webkit-text-fill-color:var(--text);caret-color:var(--accent);padding:0 42px 0 14px;font-size:14px;outline:none;width:100%;font-family:var(--apple-font-ui),system-ui,sans-serif;box-shadow:inset 0 1px 2px #00000008;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth-field-wrap .field:focus,.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),inset 0 1px 2px #00000008;background:var(--pe-surface)}.auth-field-wrap .field::selection,.auth-input::selection{background:var(--accent);color:#fff;-webkit-text-fill-color:#fff}.auth-field-wrap .field::-moz-selection,.auth-input::-moz-selection{background:var(--accent);color:#fff}.auth-field-wrap--no-icon .field,.auth-field-wrap--no-icon .auth-input{padding:0 14px}.auth-field-wrap--no-icon .field:focus,.auth-field-wrap--no-icon .auth-input:focus{padding:0 13px}.auth-field-icon{position:absolute;inset:0 14px 0 auto;display:flex;align-items:center;pointer-events:none;color:var(--text-muted)}.auth-field-wrap:focus-within .auth-field-icon{color:var(--accent)}.auth-forgot{background:none;border:none;cursor:pointer;padding:0;font-size:12px;font-weight:500;color:var(--text-muted);font-family:var(--apple-font-ui),system-ui,sans-serif;transition:color .15s}.auth-forgot:hover{color:var(--accent)}.auth-remember{display:flex;align-items:center;gap:8px}.auth-checkbox{width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:var(--radius-xs);accent-color:var(--accent);cursor:pointer}.auth-remember label{font-size:13px;font-weight:500;color:var(--text-secondary);font-family:var(--apple-font-ui),system-ui,sans-serif;cursor:pointer;user-select:none}.auth-submit{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;font-size:14px;font-weight:600;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border:none;cursor:pointer;font-family:var(--apple-font-ui),system-ui,sans-serif;box-shadow:0 4px 14px #f9731659;transition:all .15s ease}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px #f9731673;filter:brightness(1.05)}.auth-submit:active{transform:translateY(1px)}.auth-submit .material-symbols-outlined{font-size:18px}.auth-card-foot{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:8px}.auth-foot-hint{font-size:13px;color:var(--text-muted);font-family:var(--apple-font-ui),system-ui,sans-serif}.auth-footer-link{background:none;border:none;cursor:pointer;padding:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--accent);text-decoration:none}.auth-footer-link:hover{text-decoration:underline;text-underline-offset:4px}.auth-footer{background:var(--bg-subtle);border-top:1px solid var(--border);color:var(--text-secondary)}.auth-footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:32px 28px;max-width:100%}.auth-footer-title{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:18px;font-weight:700;margin-bottom:8px;color:var(--text)}.auth-footer-copy{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:400;color:var(--text-muted)}.auth-footer-links{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:flex-end}.auth-footer-links .auth-footer-link{color:var(--text-muted)}.auth-footer-links .auth-footer-link:hover{color:var(--accent)}.auth-inline-link{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}@media(min-width:1024px){.auth-deco{display:block}.auth-nav-links{display:flex}}.register-layout{width:min(960px,100%);display:grid;grid-template-columns:1fr;gap:32px;position:relative;z-index:2}.register-aside-inner{position:sticky;top:88px}.register-headline{margin:0 0 16px;font-size:32px;font-weight:700;line-height:1.2;letter-spacing:-.02em;text-transform:uppercase;color:var(--accent)}.register-lead{margin:0 0 32px;padding-left:16px;border-left:2px solid var(--accent);color:var(--text-muted);font-size:14px;line-height:1.6;max-width:320px}.register-visual{position:relative;aspect-ratio:1;border:1px solid var(--accent);background:#fff;padding:4px;overflow:hidden;max-width:320px}.register-visual-img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.25);transition:transform .7s ease}.register-visual:hover .register-visual-img{transform:scale(1.05)}.register-visual-tag{position:absolute;right:0;bottom:0;background:var(--accent);color:var(--text-inverse);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px}.register-features{margin-top:32px;display:flex;flex-direction:column;gap:16px}.register-feature{display:flex;align-items:flex-start;gap:8px}.register-feature .material-symbols-outlined{font-size:18px;margin-top:2px}.register-feature-title{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.register-feature-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.register-form-col{display:flex;flex-direction:column;gap:32px}.register-section{position:relative;border:1px solid var(--pe-outline);background:#fff;padding:24px;transition:border-color .15s}.register-section--focus{border-color:var(--accent)}.register-section-tag{position:absolute;top:-12px;left:16px;background:#fff;padding:0 4px;border-left:1px solid var(--accent);border-right:1px solid var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.register-section-body{padding-top:8px}.register-grid{display:grid;gap:16px}.register-grid--2{grid-template-columns:1fr}.register-field{display:flex;flex-direction:column;gap:4px}.register-input{width:100%;border:1px solid var(--pe-outline);background:#fff;color:var(--text);font-family:JetBrains Mono,monospace;font-size:13px;padding:8px 12px;outline:none;transition:border-color .15s,border-width .15s}.register-input:focus{border:2px solid var(--accent);padding:7px 11px}.register-select{-webkit-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.4c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095.3c3.6-3.6%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-13.1z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 12px center;background-size:10px;padding-right:32px}.register-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.register-terms{display:flex;align-items:center;gap:8px;align-self:stretch;margin-bottom:4px}.register-terms label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;user-select:none}.register-submit{width:100%;border:none;cursor:pointer;background:var(--accent);color:var(--text-inverse);font-family:JetBrains Mono,monospace;font-size:18px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:16px 32px;transition:transform .15s,opacity .15s}.register-submit:hover{transform:scale(1.02)}.register-submit:active{transform:scale(1)}.register-submit--busy{opacity:.5;transform:none}.block-shadow{box-shadow:4px 4px 0 0 var(--accent)}.register-meta{font-family:JetBrains Mono,monospace;font-size:10px;font-style:italic;color:var(--pe-outline)}.register-note{align-self:stretch;text-align:left;margin:8px 0 0}.register-login-link{align-self:center;margin-top:8px}@media(min-width:768px){.register-grid--2{grid-template-columns:1fr 1fr}.register-submit{width:auto;min-width:240px}}@media(min-width:1024px){.register-layout{grid-template-columns:4fr 8fr;gap:32px}}.auth-logo{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;color:var(--text-inverse);background:var(--accent);box-shadow:var(--shadow-sm)}.auth-tabs{display:flex;gap:6px;margin-bottom:16px;background:var(--bg-muted);padding:4px;border-radius:var(--radius-full);border:1px solid var(--border)}.auth-tabs button{flex:1;height:34px;border:none;border-radius:var(--radius-full);cursor:pointer;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;font-family:var(--font-sans);pointer-events:auto;transition:all .15s ease}.auth-tabs button.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;box-shadow:0 2px 8px #f973164d}.field{height:42px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);padding:0 14px;font-size:14px;outline:none;width:100%;font-family:var(--font-sans);transition:border-color .15s,box-shadow .15s}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f973162e}select.field{cursor:pointer}.btn-primary{height:44px;border:none;border-radius:var(--radius-full);cursor:pointer;font-size:14px;font-weight:700;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-family:var(--font-sans);letter-spacing:normal;text-transform:none;pointer-events:auto;box-shadow:0 2px 10px #f973164d;transition:all .15s ease}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 14px #f9731666}.btn-primary:disabled{opacity:.6;cursor:default}.btn-block{width:100%}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;font-weight:600}.auth-note{color:var(--text-muted);font-size:12px;margin:12px 0 0;line-height:1.5}.auth-server{position:fixed;bottom:10px;right:12px;background:none;border:none;color:var(--text-faint);font-size:11px;cursor:pointer}.status-badge{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.pending{background:var(--status-warn-bg);color:var(--status-warn-text)}.status-badge.rejected{background:var(--status-err-bg);color:var(--status-err-text)}.lms-top{height:54px;flex:0 0 54px;display:flex;align-items:center;gap:14px;padding:0 18px;background:var(--bg);border-bottom:1px solid var(--border)}.lms-top .brand{font-weight:700;color:var(--text);font-size:15px;display:flex;align-items:center;gap:10px}.lms-top .brand .dot{width:26px;height:26px;border-radius:8px;background:var(--bg-inverse);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px}.lms-top .spacer{flex:1}.lms-user{color:var(--text-muted);font-size:13px}.lms-user b{color:var(--text)}.lms-content{flex:1;min-height:0;overflow:auto}.dash{max-width:1100px;margin:0 auto;padding:26px 24px 60px}.dash h2{color:var(--text);margin:0 0 4px}.dash .muted{color:var(--text-muted);margin:0 0 22px}.chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.chapter-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;position:relative;transition:transform .08s,border-color .08s}.chapter-card.unlocked{cursor:pointer}.chapter-card.unlocked:hover{transform:translateY(-2px);border-color:var(--border-focus)}.chapter-card.locked{opacity:.7}.chapter-card .idx{font-size:11px;color:var(--text-faint);letter-spacing:.6px;text-transform:uppercase}.chapter-card .title{font-size:15px;font-weight:600;color:var(--text);line-height:1.35}.chapter-card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}.pill.locked{background:var(--bg-inset);color:var(--text-muted)}.pill.not_started{background:var(--status-info-bg);color:var(--text)}.pill.in_progress{background:var(--status-warn-bg);color:var(--status-warn-text)}.pill.completed{background:var(--status-ok-bg);color:var(--status-ok-text)}.lock-ico{font-size:15px}.chapter-workspace{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:var(--pe-bg);--chapter-footer-h: 32px}.chapter-topbar{flex:0 0 50px;height:50px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text);border-bottom:1px solid var(--border);z-index:20}.chapter-topbar-left{display:flex;align-items:center;gap:14px;min-width:0}.chapter-back{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--glass-bg-elevated);color:var(--text-secondary);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:600;cursor:pointer;padding:5px 12px;transition:all .15s ease}.chapter-back:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent);text-decoration:none}.chapter-back .material-symbols-outlined{font-size:16px}.chapter-topbar-title{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-topbar-nav{display:none!important}.chapter-topbar-right{display:flex;align-items:center;gap:14px;margin-left:auto}.chapter-step-progress{display:flex;flex-direction:column;align-items:flex-end}.chapter-step-progress-text{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:600;line-height:1.2;color:var(--text-muted)}.chapter-step-progress-bar{width:120px;height:6px;border-radius:var(--radius-pill);background:var(--bg-muted);margin-top:4px;overflow:hidden}.chapter-step-progress-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--accent) 0%,var(--accent-secondary) 100%);width:20%;transition:width .3s ease}.chapter-topbar-icon{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;padding:6px;display:flex;align-items:center;transition:all .15s ease}.chapter-topbar-icon:hover{background:var(--bg-hover);color:var(--accent)}.chapter-steps-wrap{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 16px;background:var(--glass-bg-subtle);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border)}.chapter-steps-bar{display:flex;align-items:center;gap:4px;overflow-x:auto;flex:1;min-width:0}.chapter-step-tab{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;padding:6px 14px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:all .15s ease}.chapter-step-tab:hover:not(.active):not(.locked){background:var(--bg-hover);color:var(--text)}.chapter-step-tab.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-weight:600;box-shadow:0 2px 10px #f9731659}.chapter-step-tab.locked{opacity:.45;cursor:not-allowed}.chapter-step-num{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:700}.chapter-steps-meta{display:flex;align-items:center;gap:8px;flex-shrink:0;max-width:48%}.chapter-steps-actions{display:flex;align-items:center;gap:6px}.chapter-toolbar-status{display:none;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-workspace--ide .chapter-toolbar-status{display:inline-block}.chapter-toolbar-btn{-webkit-appearance:none;appearance:none;border:1px solid var(--border-strong, var(--border));background:var(--glass-bg-elevated, #fff);color:var(--text-secondary, var(--text));font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.chapter-toolbar-btn:hover{background:var(--bg-hover, #f0f0f2);color:var(--accent);border-color:var(--accent)}[data-theme=dark] .chapter-toolbar-btn,[data-theme=dark] .chapter-reset-btn{background:var(--glass-bg-elevated);border-color:var(--border-strong);color:var(--text-secondary)}[data-theme=dark] .chapter-toolbar-btn:hover,[data-theme=dark] .chapter-reset-btn:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.chapter-cta-btn--compact{padding:6px 12px!important;font-size:11px!important;gap:4px!important;min-height:0!important}.chapter-cta-btn--compact .material-symbols-outlined{font-size:16px!important}.chapter-status-dot{width:8px;height:8px;background:var(--accent);display:inline-block}.chapter-module-tag{display:none;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--accent);white-space:nowrap}.chapter-workspace--ide .chapter-module-tag{display:none}.chapter-workspace--ide{--chapter-footer-h: 0px}.chapter-workspace--ide .chapter-workspace-footer{display:none!important}.chapter-step-body{flex:1;min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column;padding-bottom:calc(var(--chapter-footer-h) + 8px)}.chapter-workspace-footer{flex:0 0 var(--chapter-footer-h);height:var(--chapter-footer-h);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:#fff;border-top:1px solid var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;z-index:20}.chapter-footer-left{font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-footer-links{display:none;gap:16px}.chapter-footer-links a{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.05em;text-decoration:none}.chapter-footer-links a:hover{color:var(--accent);text-decoration:underline}.chapter-follow-banner{padding:8px 16px;background:#eeedf0;border-bottom:1px solid var(--accent);color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;text-align:center}.chapter-panel{max-width:860px;margin:0 auto;padding:32px 24px 80px;overflow:auto;flex:1}.chapter-panel-copy{font-size:18px;line-height:1.75;color:var(--accent)}.chapter-panel-actions{margin-top:24px}.chapter-cta-btn{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.workspace-shell:not(.hidden){flex:1;min-height:0;display:flex;flex-direction:column}.serif-reading-area{font-family:"PT Serif",Georgia,serif;line-height:1.75}.theory-reader--stitch{flex:1;min-height:0;display:flex;flex-direction:column;height:100%;background:#fff}.theory-reading-bar{flex:0 0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:6px 16px;background:#fff;border-bottom:1px solid var(--accent)}.theory-reading-kicker{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-right:4px}.theory-size-group{display:flex;border:1px solid var(--accent)}.theory-size-btn{border:none;background:#fff;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;cursor:pointer;text-transform:uppercase}.theory-size-btn:not(:last-child){border-right:1px solid var(--accent)}.theory-size-btn:hover{background:#eeedf0}.theory-size-readout{padding:6px 16px;border-right:1px solid var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;background:#eeedf0}.theory-select-wrap{position:relative}.theory-reading-select{-webkit-appearance:none;appearance:none;border:1px solid var(--accent);background:#fff;padding:6px 32px 6px 12px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;outline:none}.theory-select-wrap .material-symbols-outlined{position:absolute;right:6px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:16px}.theory-workspace-body{flex:1;min-height:0;display:flex;overflow:hidden}.theory-read-progress{flex:0 0 3px;height:3px;background:#00000014;position:relative;z-index:2}.theory-read-progress-fill{height:100%;width:0%;background:var(--accent);transition:width .12s ease-out}.theory-hero{margin-bottom:28px;padding:16px 18px;border:1px solid var(--accent);background:linear-gradient(135deg,#f8f8fc,#eeedf0)}.theory-hero-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.theory-hero-badge{display:inline-block;padding:4px 10px;background:var(--accent);color:var(--text-inverse);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.theory-hero-chip{display:inline-flex;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.theory-hero-chip .material-symbols-outlined{font-size:14px}.theory-hero-tagline{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:14px;color:var(--text-muted);line-height:1.5}.theory-reader-stage{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.theory-reader-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#fff;background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.04) 1px,transparent 0);background-size:24px 24px}.theory-reader-page{max-width:42rem;margin:0 auto;padding:32px 24px 0}.theory-reader-head{margin-bottom:24px}.theory-reader-title{margin:0 0 12px;font-size:clamp(26px,4vw,36px);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--accent)}.theory-reader-rule{height:4px;width:96px;background:var(--accent)}.theory-reader-content{color:var(--accent);font-size:18px}.theory-reader-content p{margin:0 0 1.2em}.theory-reader-content .theory-lead{font-size:1.12em;line-height:1.85;padding-left:14px;border-left:3px solid var(--accent)}.theory-reader-content .theory-lead:first-letter{float:left;font-size:3.2em;line-height:.85;padding-right:10px;padding-top:4px;font-weight:700}.theory-reader-content strong{font-weight:700}.theory-reader-content .theory-section-head{margin-top:1.6em;padding-bottom:6px;border-bottom:2px solid rgba(0,0,0,.08)}.theory-fun-list li{margin-bottom:.5em;padding-left:4px}.theory-fun-list li::marker{color:var(--accent);font-weight:700}.theory-callout{margin:1.5em 0;padding:14px 16px 16px;border:2px solid var(--accent);background:#fff;box-shadow:4px 4px #0000000f}.theory-callout-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.theory-callout-head .material-symbols-outlined{font-size:18px}.theory-reader-content blockquote,.theory-reader-content .theory-note{margin:1.5em 0}.theory-float-figure{border:1px solid rgba(0,0,0,.12);padding:8px;background:#fff;box-shadow:0 8px 24px #0000000f}.theory-reader-spacer{height:128px}.theory-sticky-wrap{position:fixed;bottom:calc(var(--chapter-footer-h) + 8px);left:0;z-index:30;padding:16px;pointer-events:none}.theory-sticky-cta{pointer-events:auto;display:inline-flex;align-items:center;gap:12px;border:none;background:var(--accent);color:var(--text-inverse);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:14px 24px;cursor:pointer;box-shadow:4px 4px #00000026;transition:transform .12s,box-shadow .12s}.theory-sticky-cta:hover{background:#333;transform:translate(-1px,-1px);box-shadow:5px 5px #0000002e}.theory-sticky-cta:disabled{opacity:.45;cursor:not-allowed;transform:none}.theory-sticky-cta .material-symbols-outlined{font-size:18px}.theory-reader--stitch[data-theme=sepia] .theory-reader-scroll{background-color:#f4ecd8;background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.05) 1px,transparent 0)}.theory-reader--stitch[data-theme=sepia] .theory-hero{background:linear-gradient(135deg,#faf3e3,#efe4cf)}.theory-reader--stitch[data-theme=sepia] .theory-reader-title,.theory-reader--stitch[data-theme=sepia] .theory-reader-content{color:#1a1a1a}.theory-reader--stitch[data-theme=dark],[data-theme=dark] .theory-reader--stitch{background:#12100e;color:#ded6ce}.theory-reader--stitch[data-theme=dark] .theory-reading-bar,[data-theme=dark] .theory-reader--stitch .theory-reading-bar{background:#181513;border-bottom:1px solid rgba(255,255,255,.12)}.theory-reader--stitch[data-theme=dark] .theory-reading-kicker,[data-theme=dark] .theory-reader--stitch .theory-reading-kicker{color:#a8a29e}.theory-reader--stitch[data-theme=dark] .theory-size-group,[data-theme=dark] .theory-reader--stitch .theory-size-group{border:1px solid rgba(255,255,255,.16)}.theory-reader--stitch[data-theme=dark] .theory-size-btn,[data-theme=dark] .theory-reader--stitch .theory-size-btn{background:#231f1c;color:#fbf9f6;border-color:#ffffff29}.theory-reader--stitch[data-theme=dark] .theory-size-btn:hover,[data-theme=dark] .theory-reader--stitch .theory-size-btn:hover{background:#2f2a26}.theory-reader--stitch[data-theme=dark] .theory-size-readout,[data-theme=dark] .theory-reader--stitch .theory-size-readout{background:#141210;color:#ded6ce;border-right-color:#ffffff29}.theory-reader--stitch[data-theme=dark] .theory-reading-select,[data-theme=dark] .theory-reader--stitch .theory-reading-select{background:#231f1c;color:#fbf9f6;border:1px solid rgba(255,255,255,.16)}.theory-reader--stitch[data-theme=dark] .theory-select-wrap .material-symbols-outlined,[data-theme=dark] .theory-reader--stitch .theory-select-wrap .material-symbols-outlined{color:#ded6ce}.theory-reader--stitch[data-theme=dark] .theory-tool-btn,[data-theme=dark] .theory-reader--stitch .theory-tool-btn,.theory-reader--stitch[data-theme=dark] .reader-tool-btn,[data-theme=dark] .theory-reader--stitch .reader-tool-btn{background:#231f1c;border-color:#ffffff29;color:#fbf9f6}.theory-reader--stitch[data-theme=dark] .theory-tool-btn:hover,[data-theme=dark] .theory-reader--stitch .theory-tool-btn:hover,.theory-reader--stitch[data-theme=dark] .reader-tool-btn:hover,[data-theme=dark] .theory-reader--stitch .reader-tool-btn:hover{background:#2f2a26}.theory-reader--stitch[data-theme=dark] .theory-lux-group,[data-theme=dark] .theory-reader--stitch .theory-lux-group,.theory-reader--stitch[data-theme=dark] .theory-lux-readout,[data-theme=dark] .theory-reader--stitch .theory-lux-readout,.theory-reader--stitch[data-theme=dark] .reader-toolbar-label,[data-theme=dark] .theory-reader--stitch .reader-toolbar-label{color:#ded6ce}.theory-reader--stitch[data-theme=dark] .reader-tool-btn.active:not(.teaching-toggle),[data-theme=dark] .theory-reader--stitch .reader-tool-btn.active:not(.teaching-toggle),.theory-reader--stitch[data-theme=dark] .reader-tool-btn.teaching-toggle.active,[data-theme=dark] .theory-reader--stitch .reader-tool-btn.teaching-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.theory-reader--stitch[data-theme=dark] .theory-reader-scroll,[data-theme=dark] .theory-reader--stitch .theory-reader-scroll{background-color:#12100e;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0)}.theory-reader--stitch[data-theme=dark] .theory-hero,[data-theme=dark] .theory-reader--stitch .theory-hero{background:linear-gradient(135deg,#1c1815,#141210);border-color:#f9731666}.theory-reader--stitch[data-theme=dark] .theory-hero-badge,[data-theme=dark] .theory-reader--stitch .theory-hero-badge{background:var(--accent);color:#fff}.theory-reader--stitch[data-theme=dark] .theory-hero-chip,[data-theme=dark] .theory-reader--stitch .theory-hero-chip{color:#ded6ce}.theory-reader--stitch[data-theme=dark] .theory-hero-tagline,[data-theme=dark] .theory-reader--stitch .theory-hero-tagline{color:#a8a29e}.theory-reader--stitch[data-theme=dark] .theory-reader-title,[data-theme=dark] .theory-reader--stitch .theory-reader-title{color:#fbf9f6}.theory-reader--stitch[data-theme=dark] .theory-reader-rule,[data-theme=dark] .theory-reader--stitch .theory-reader-rule{background:var(--accent)}.theory-reader--stitch[data-theme=dark] .theory-reader-content,[data-theme=dark] .theory-reader--stitch .theory-reader-content{color:#ded6ce}.theory-reader--stitch[data-theme=dark] .theory-reader-content strong,[data-theme=dark] .theory-reader--stitch .theory-reader-content strong{color:#fbf9f6}.theory-reader--stitch[data-theme=dark] .theory-reader-content .theory-lead,[data-theme=dark] .theory-reader--stitch .theory-reader-content .theory-lead{border-left-color:var(--accent);color:#f3efe9}.theory-reader--stitch[data-theme=dark] .theory-callout,[data-theme=dark] .theory-reader--stitch .theory-callout{background:#1c1916;border-color:#f9731666;box-shadow:4px 4px #00000059;color:#ded6ce}.theory-reader--stitch[data-theme=dark] .theory-callout-head,[data-theme=dark] .theory-reader--stitch .theory-callout-head{color:var(--accent)}.theory-reader--stitch[data-theme=dark] .theory-read-progress,[data-theme=dark] .theory-reader--stitch .theory-read-progress{background:#ffffff1a}.chapter-workspace[data-reader-theme]:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#000;opacity:calc(1 - var(--reader-lux, 1));z-index:100;transition:opacity .15s ease}.theory-lux-group{display:inline-flex;align-items:center;gap:8px;padding:0 4px;min-width:140px}.theory-lux-group .material-symbols-outlined{font-size:18px;color:var(--text-muted)}.theory-lux-slider{width:88px;height:4px;accent-color:var(--accent);cursor:pointer}.theory-lux-readout{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.04em;min-width:36px;color:var(--text-muted)}.theory-tool-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);background:#fff;color:var(--accent);width:34px;height:34px;padding:0;cursor:pointer;margin-left:auto}.theory-tool-btn:hover{background:#eeedf0}.theory-tool-btn .material-symbols-outlined{font-size:20px}.chapter-workspace[data-reader-theme=dark]{background:#0a0a0a;--pe-bg: #0a0a0a}.chapter-workspace[data-reader-theme=dark] .theory-reader--stitch{background:#0a0a0a}.chapter-workspace[data-reader-theme=dark] .chapter-steps-wrap{background:#111;border-bottom-color:#ffffff1f}.chapter-workspace[data-reader-theme=dark] .chapter-step-tab{color:#ffffff73}.chapter-workspace[data-reader-theme=dark] .chapter-step-tab:hover:not(.active):not(.locked){background:#1c1c1c}.chapter-workspace[data-reader-theme=dark] .chapter-step-tab.active{background:#fff;color:#111}.chapter-workspace[data-reader-theme=dark] .chapter-module-tag{color:#ffffff73}.chapter-workspace[data-reader-theme=dark] .chapter-module-bar{background:#333}.chapter-workspace[data-reader-theme=dark] .chapter-module-fill{background:#fff}.chapter-workspace[data-reader-theme=dark] .chapter-workspace-footer{background:#111;border-top-color:#ffffff1f}.chapter-workspace[data-reader-theme=dark] .chapter-footer-left{color:#ffffff73}.chapter-workspace[data-reader-theme=dark] .chapter-footer-links a{color:#fff6}.chapter-workspace[data-reader-theme=dark] .chapter-footer-links a:hover{color:#fff}.chapter-workspace[data-reader-theme=dark] .theory-reading-bar{background:#111;border-bottom-color:#ffffff1f}.chapter-workspace[data-reader-theme=dark] .theory-reading-kicker,.chapter-workspace[data-reader-theme=dark] .theory-lux-readout,.chapter-workspace[data-reader-theme=dark] .theory-lux-group .material-symbols-outlined{color:#ffffff73}.chapter-workspace[data-reader-theme=dark] .theory-size-group,.chapter-workspace[data-reader-theme=dark] .theory-reading-select,.chapter-workspace[data-reader-theme=dark] .theory-tool-btn{border-color:#fff3;background:#1a1a1a;color:#f0f0f0}.chapter-workspace[data-reader-theme=dark] .theory-size-btn{background:#1a1a1a;color:#f0f0f0}.chapter-workspace[data-reader-theme=dark] .theory-size-btn:hover,.chapter-workspace[data-reader-theme=dark] .theory-tool-btn:hover{background:#252525}.chapter-workspace[data-reader-theme=dark] .theory-size-readout{background:#252525;color:#f0f0f0}.chapter-workspace[data-reader-theme=dark] .theory-size-btn:not(:last-child),.chapter-workspace[data-reader-theme=dark] .theory-size-readout{border-color:#ffffff26}.chapter-workspace[data-reader-theme=dark] .theory-read-progress{background:#ffffff14}.chapter-workspace[data-reader-theme=dark] .theory-read-progress-fill{background:#fff}.chapter-workspace[data-reader-theme=dark] .theory-hero-chip{color:#ffffff73}.chapter-workspace[data-reader-theme=dark] .theory-reader-title{color:#fff}.chapter-workspace[data-reader-theme=dark] .theory-reader-rule{background:#fff}.chapter-workspace[data-reader-theme=dark] .theory-section-head{border-bottom-color:#ffffff1f}.chapter-workspace[data-reader-theme=dark] .theory-float-figure{background:#1a1a1a;border-color:#ffffff26}.chapter-workspace[data-reader-theme=dark] .theory-sticky-cta{background:#fff;color:#111;box-shadow:4px 4px #ffffff1f}.chapter-workspace[data-reader-theme=dark] .theory-sticky-cta:hover{background:#e8e8e8}.chapter-workspace[data-reader-theme=sepia]{background:#ebe3d0;--pe-bg: #ebe3d0}.chapter-workspace[data-reader-theme=sepia] .theory-reader--stitch{background:#ebe3d0}.chapter-workspace[data-reader-theme=sepia] .chapter-steps-wrap{background:#e4dcc8;border-bottom-color:#0000001f}.chapter-workspace[data-reader-theme=sepia] .chapter-step-tab:hover:not(.active):not(.locked){background:#d8d0bc}.chapter-workspace[data-reader-theme=sepia] .chapter-workspace-footer{background:#e4dcc8;border-top-color:#0000001f}.chapter-workspace[data-reader-theme=sepia] .theory-reading-bar{background:#e4dcc8;border-bottom-color:#0000001f}.chapter-workspace[data-reader-theme=sepia] .theory-size-btn:hover,.chapter-workspace[data-reader-theme=sepia] .theory-tool-btn:hover{background:#d8d0bc}.chapter-workspace[data-reader-theme=sepia] .theory-reader-scroll{background-color:#f4ecd8}.chapter-workspace[data-reader-theme=light] .theory-reader--stitch{background:#fff}.chapter-workspace--theory-immersive .chapter-topbar,.chapter-workspace--theory-immersive .chapter-steps-wrap,.chapter-workspace--theory-immersive .chapter-workspace-footer,.chapter-workspace--theory-immersive .theory-reading-bar{display:none!important}.chapter-workspace--theory-immersive .chapter-step-body{padding-bottom:0}.chapter-workspace--theory-immersive .theory-sticky-wrap{bottom:20px}.chapter-workspace--theory-immersive .theory-reader-page{max-width:52rem;padding-top:48px}.theory-reader--immersive .theory-hero{display:none}.theory-immersive-hud{display:none;position:fixed;top:12px;right:12px;z-index:200;align-items:center;gap:8px;padding:6px 8px;background:#000000b8;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:8px}.theory-reader--immersive .theory-immersive-hud{display:flex}.theory-immersive-exit{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:#fff;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;padding:6px 8px;border-radius:4px}.theory-immersive-exit:hover{background:#ffffff1a}.theory-immersive-exit .material-symbols-outlined{font-size:18px}.theory-immersive-lux{display:inline-flex;align-items:center;gap:6px;padding-left:8px;border-left:1px solid rgba(255,255,255,.15)}.theory-immersive-lux .material-symbols-outlined{font-size:16px;color:#ffffffb3}.theory-immersive-lux .theory-lux-readout{color:#ffffffb3}.theory-immersive-lux .theory-lux-slider{width:72px;accent-color:#fff}@media(max-width:767px){.theory-reading-bar{gap:10px;padding:8px 12px}.theory-lux-group{min-width:120px}.theory-lux-slider{width:64px}.theory-tool-btn{margin-left:0}}@media(min-width:768px){.chapter-topbar-nav{display:none!important}.chapter-steps-meta,.chapter-footer-links{display:flex}.theory-reader-page{padding:48px 32px 0;max-width:46rem}}@media(min-width:1024px){.theory-reader-page{padding:56px 40px 0;max-width:48rem}}.chapter-view{display:flex;flex-direction:column;height:100%;min-height:0}.btn-primary.disabled,.btn-primary:disabled{opacity:.45;cursor:not-allowed}.step-body{flex:1;min-height:0;overflow:auto;position:relative;display:flex;flex-direction:column}.theory{max-width:860px;margin:0 auto;padding:26px 24px 60px}.theory h3{color:var(--text)}.theory p{line-height:1.7;color:var(--text-secondary);font-size:14px;white-space:pre-wrap}.theory-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.theory-photos img{width:min(var(--theory-img-width, 400px),100%);height:var(--theory-img-height, 260px);object-fit:contain;object-position:center;background:#0000000a;border-radius:10px;border:1px solid var(--border);cursor:zoom-in}.theory-reader{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.theory-reader-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);position:sticky;top:0;z-index:5}.reader-toolbar-label{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-right:4px}.reader-tool-btn{min-width:32px;height:32px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--glass-bg-elevated);color:var(--text);font-family:var(--apple-font-ui),system-ui,sans-serif;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s ease}.reader-tool-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-hover)}.reader-size-label{min-width:42px;text-align:center;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;color:var(--text-secondary);font-weight:600}.reader-select{height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--glass-bg-elevated);color:var(--text);font-family:var(--apple-font-ui),system-ui,sans-serif;padding:0 10px;font-size:12px;cursor:pointer;transition:all .15s ease}.reader-select:hover{border-color:var(--accent)}.theory-reader-scroll{flex:1;min-height:0;overflow:auto;scroll-behavior:smooth}.theory-reader-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.theory-scroll-body{position:relative;min-height:100%}.theory-doodle-layer{position:absolute;top:0;left:0;width:100%;pointer-events:none;z-index:4}.theory-doodle-layer.doodle-active{pointer-events:auto;cursor:crosshair;touch-action:none}.teaching-follow-badge{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:6;background:var(--bg-inverse);color:var(--text-inverse);font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;box-shadow:var(--shadow-sm);pointer-events:none}.reader-tool-btn.teaching-toggle.active{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.reader-tool-btn.active:not(.teaching-toggle){background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.theory-reader-content.teach-line-select{cursor:pointer;user-select:none}.theory-reader-content.teach-line-select .teach-line:hover{background:linear-gradient(90deg,#ffd6406b,#ffe67838)!important;box-shadow:inset 4px 0 #f0b400;border-radius:4px;outline:none}.theory-reader:has(.theory-doodle-layer.doodle-active) .theory-reader-content{user-select:none}.theory-reader-content .teach-line-highlight{background:linear-gradient(90deg,#ffd6409e,#ffec8c61)!important;box-shadow:inset 5px 0 #e6a800,0 0 0 1px #e6a80059;border-radius:4px;transition:background .15s ease,box-shadow .15s ease}.theory-reader[data-theme=sepia] .theory-reader-content .teach-line-highlight{background:linear-gradient(90deg,#ffc4488c,#ffdc8c52)!important;box-shadow:inset 5px 0 #c98900,0 0 0 1px #c989004d}.theory-reader[data-theme=light] .theory-reader-content .teach-line-highlight{background:linear-gradient(90deg,#ffdc50a6,#fff09666)!important;box-shadow:inset 5px 0 #e6a800,0 0 0 1px #e6a80066}.theory-reader[data-theme=dark] .theory-reader-content .teach-line-highlight{background:linear-gradient(90deg,#409cff6b,#64b4ff38)!important;box-shadow:inset 5px 0 #4ea1ff,0 0 0 1px #4ea1ff73}.theory-reader[data-theme=dark] .theory-reader-content.teach-line-select .teach-line:hover{background:linear-gradient(90deg,#409cff47,#64b4ff24)!important;box-shadow:inset 4px 0 #4ea1ff}.teacher-dash{max-width:1120px;margin:0 auto}.th-root{flex:1;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(0,0,0,.04),transparent 55%),linear-gradient(180deg,#f4f4f7 0%,var(--pe-bg) 40%);color:var(--text)}.th-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;border-bottom:1px solid rgba(0,0,0,.08);background:#ffffffb8;backdrop-filter:blur(10px)}.th-brand{display:flex;align-items:center;gap:12px;min-width:0}.th-brand img{border-radius:6px}.th-brand-title{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.th-brand-sub{font-size:12px;color:var(--text-muted);margin-top:1px}.th-top-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.th-version{font-size:11px;color:var(--text-faint);font-family:JetBrains Mono,monospace}.th-user{font-size:13px;font-weight:600}.th-logout{height:34px;padding:0 16px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-sans);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.th-logout:hover{background:var(--bg-surface-elevated);color:var(--accent);border-color:var(--accent-light)}.th-page{flex:1;min-height:0;overflow:auto;padding:28px 28px 64px;max-width:1120px;width:100%;margin:0 auto;box-sizing:border-box}.th-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.th-kicker{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-family:var(--font-sans);font-weight:700}.th-hero h1{margin:0;font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--text)}.th-hero-sub{margin:10px 0 0;color:var(--text-muted);font-size:14px;max-width:42ch;line-height:1.45}.th-hero-tools{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.th-class-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-family:var(--font-sans);font-weight:600}.th-class-sel{height:40px;min-width:150px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}.th-class-sel:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f973162e}.th-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:12px;margin-bottom:28px}.th-nav-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 14px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-xs);text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);min-height:98px}.th-nav-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--glass-bg-elevated)}.th-nav-card.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);border-color:var(--accent);color:#fff;box-shadow:0 6px 18px #f9731659}.th-nav-card.active .th-nav-blurb{color:#ffffffd9}.th-nav-card.active .th-nav-ico{color:#fff}.th-nav-ico{font-size:22px;line-height:1;color:var(--accent);transition:color .15s}.th-nav-label{font-size:13px;font-weight:700;font-family:var(--font-sans)}.th-nav-blurb{font-size:11px;color:var(--text-muted);line-height:1.35}.th-nav-badge{position:absolute;top:8px;right:8px;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:#ef4444;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.th-stage{background:var(--glass-bg-elevated);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:24px 26px 32px;min-height:280px}.th-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.th-stage-head h2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;font-family:var(--font-sans);color:var(--text)}.th-hint{margin:6px 0 0;color:var(--text-muted);font-size:13px;line-height:1.45;max-width:56ch}.th-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.th-search{min-width:200px;flex:1}.th-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.th-stat{padding:20px 18px;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:transform .15s ease,box-shadow .15s ease}.th-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.th-stat-n{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.th-stat-l{margin-top:8px;font-size:12px;font-weight:500;color:var(--text-muted)}.th-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.th-quick-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:20px 18px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;transition:all .15s ease}.th-quick-btn:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.th-quick-btn.primary{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border-color:var(--accent);box-shadow:0 4px 14px #f973164d}.th-quick-btn.primary small{color:#ffffffd1}.th-quick-btn .material-symbols-outlined{font-size:24px}.th-quick-btn span:nth-child(2){font-size:14px;font-weight:700;font-family:var(--font-sans)}.th-quick-btn small{font-size:12px;color:var(--text-muted)}.th-chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.th-chapter{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-surface);text-align:left;cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .15s,transform .15s,box-shadow .15s}.th-chapter:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--bg-surface-elevated)}.th-chapter-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em}.th-chapter-title{font-size:15px;font-weight:700;line-height:1.35;color:var(--text)}.th-chapter-cta{font-size:12px;font-weight:600;color:var(--accent);margin-top:auto}.teach-panel{max-width:1120px;margin:0 auto;padding:8px 4px 48px;animation:teach-in .35s ease both}.teach-panel--desk{padding:0 0 32px}@keyframes teach-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.teach-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:24px 28px;border:1px solid var(--glass-border);margin-bottom:24px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}.teach-kicker{margin:0 0 8px;font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.teach-title{margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.05;color:var(--text)}.teach-sub{margin:12px 0 0;max-width:48ch;font-size:14px;line-height:1.5;color:var(--text-muted)}.teach-hero-tools{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:160px}.teach-class-label{font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.teach-class-sel,.teach-class-pill{height:42px;min-width:160px;padding:0 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-xs);transition:all .15s ease}.teach-class-pill{display:flex;align-items:center;cursor:default;box-shadow:none;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border-color:var(--accent)}.teach-class-sel:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #f973162e}.teach-steps{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teach-steps li{display:flex;gap:14px;align-items:flex-start;padding:18px 16px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-xs);min-height:88px}.teach-steps li strong{display:block;font-size:14px;font-weight:700;margin-bottom:4px;letter-spacing:-.01em;font-family:var(--font-sans);color:var(--text)}.teach-steps li span:not(.teach-step-n){display:block;font-size:12px;line-height:1.45;color:var(--text-muted)}.teach-step-n{flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:800;box-shadow:0 2px 8px #f9731640}.teach-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.teach-section-head h3{margin:0;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-sans);color:var(--text)}.teach-meta{font-size:12px;color:var(--text-muted);font-family:var(--font-sans)}.teach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.teach-chapter{display:grid;grid-template-columns:56px 1fr;gap:0;min-height:148px;padding:0;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-surface);text-align:left;cursor:pointer;overflow:hidden;box-shadow:var(--shadow-xs);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.teach-chapter:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-lg),0 0 0 1px var(--accent-light)}.teach-chapter:hover .teach-chapter-cta{color:var(--accent)}.teach-chapter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.teach-chapter.is-locked{background:var(--bg-muted);opacity:.75}.teach-chapter.is-locked .teach-chapter-idx{background:var(--border);color:var(--text-muted)}.teach-chapter-idx{display:flex;align-items:flex-start;justify-content:center;padding-top:18px;background:linear-gradient(180deg,var(--accent) 0%,#c2410c 100%);color:#fff;font-family:var(--font-sans);font-size:18px;font-weight:800;letter-spacing:-.04em}.teach-chapter-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 14px;min-width:0}.teach-chapter-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.teach-chapter-label{font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.teach-badge{font-family:var(--font-sans);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-full);border:1px solid var(--border)}.teach-badge.is-open{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.teach-badge.is-locked{background:transparent;color:var(--text-muted)}.teach-chapter-title{font-size:15px;font-weight:700;line-height:1.35;letter-spacing:-.015em;color:var(--text);flex:1}.teach-chapter-cta{margin-top:auto;font-size:12px;font-weight:600;color:var(--text-muted);transition:color .15s}.teach-empty,.teach-loading{grid-column:1 / -1;padding:40px 20px;text-align:center;border-radius:var(--radius-xl);border:1px dashed var(--border);background:var(--glass-bg);color:var(--text-muted);font-size:14px}@media(max-width:820px){.teach-steps{grid-template-columns:1fr}.teach-hero{align-items:flex-start}.teach-hero-tools,.teach-class-sel,.teach-class-pill{width:100%}}@media(max-width:560px){.teach-grid{grid-template-columns:1fr}.teach-chapter{min-height:0}}.th-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-surface)}.th-table{width:100%;border-collapse:collapse}.th-table th,.th-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-subtle);font-size:13px;color:var(--text)}.th-table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-muted)}.th-row-actions{display:flex;gap:8px;flex-wrap:wrap}.th-empty{padding:40px 16px;text-align:center;color:var(--text-muted);font-size:14px;border-radius:var(--radius-xl);border:1px dashed var(--border);background:var(--glass-bg)}@media(max-width:900px){.th-top{padding:12px 16px}.th-page{padding:20px 16px 48px}.th-stats,.th-quick{grid-template-columns:1fr}.th-nav{grid-template-columns:repeat(2,1fr)}.th-hero-tools{align-items:flex-start;width:100%}.th-class-sel{width:100%}.th-stage{padding:16px}}@media(max-width:480px){.th-nav{grid-template-columns:1fr 1fr}.th-brand-sub{display:none}}.theory-reader-page{width:100%;max-width:min(1080px,92vw);margin:0 auto;padding:36px 40px 48px}.theory-reader-title{font-size:1.55em;font-weight:700;line-height:1.25;margin:0 0 1.2em;letter-spacing:-.02em}.theory-reader-content p{margin:0 0 1.15em;line-height:1.75;text-align:left;hyphens:auto}.theory-reader-content .align-left,.theory-reader-content [style*="text-align: left"],.theory-reader-content [style*="text-align:left"]{text-align:left}.theory-reader-content .align-center,.theory-reader-content [style*="text-align: center"],.theory-reader-content [style*="text-align:center"]{text-align:center}.theory-reader-content .align-right,.theory-reader-content [style*="text-align: right"],.theory-reader-content [style*="text-align:right"]{text-align:right}.theory-reader-content [style*="text-align: justify"],.theory-reader-content [style*="text-align:justify"]{text-align:justify}.theory-reader-content h2{font-size:1.25em;margin:1.3em 0 .6em;font-weight:700}.theory-reader-content h3{font-size:1.08em;margin:1.1em 0 .5em;font-weight:700}.theory-reader-content ul,.theory-reader-content ol{margin:0 0 1.1em 1.2em}.theory-reader-content li{margin-bottom:.35em}.theory-reader-content hr{border:none;border-top:1px solid rgba(128,128,128,.25);margin:1.5em 0}.theory-reader-content blockquote{margin:1.1em 0;padding:.55em 1em;border-left:3px solid rgba(128,128,128,.45);opacity:.92}.theory-inline-figure,.theory-reader-figure{margin:1.5em auto;text-align:center;width:min(var(--theory-img-width, 400px),100%);max-width:100%}.theory-inline-figure img,.theory-reader-figure img,.theory-reader-content img,.theory-doc-page img{display:block;width:min(var(--theory-img-width, 400px),100%);height:var(--theory-img-height, 260px);margin:0 auto;object-fit:contain;object-position:center;background:#0000000a;border-radius:10px;box-shadow:0 8px 28px #0000002e;cursor:zoom-in}.theory-doc-page .theory-inline-figure img{cursor:pointer}.theory-reader-content p:last-child{margin-bottom:0}.theory-table-wrap{overflow-x:auto;margin:1.2em 0}.theory-reader-content table.theory-table,.theory-doc-page table.theory-table{width:100%;border-collapse:collapse;font-size:.92em;line-height:1.5}.theory-reader-content table.theory-table th,.theory-reader-content table.theory-table td,.theory-doc-page table.theory-table th,.theory-doc-page table.theory-table td{border:1px solid rgba(91,70,54,.35);padding:8px 12px;vertical-align:top;text-align:left}.theory-reader-content table.theory-table th,.theory-doc-page table.theory-table th{background:#5b46361a;font-weight:700}.theory-reader[data-theme=dark] .theory-reader-content table.theory-table th,.theory-reader[data-theme=dark] .theory-reader-content table.theory-table td{border-color:#c8d2dc40}.theory-reader[data-theme=dark] .theory-reader-content table.theory-table th{background:#ffffff14}.theory-reader[data-theme=light] .theory-reader-content table.theory-table th,.theory-reader[data-theme=light] .theory-reader-content table.theory-table td{border-color:#2b334033}.theory-reader[data-theme=light] .theory-reader-content table.theory-table th{background:#2b33400f}.theory-reader-empty{font-style:italic;opacity:.75}.theory-reader-gallery{display:flex;flex-direction:column;gap:22px;margin-top:2em;padding-top:1.5em;border-top:1px solid rgba(128,128,128,.25)}.theory-reader-figure{margin:0}.theory-reader-figure figcaption{margin-top:8px;font-size:.72em;opacity:.65;text-align:center}.theory-reader-footer{flex-shrink:0;margin-top:auto}.theory-reader[data-theme=dark] .theory-reader-scroll{background:linear-gradient(180deg,#111,#000)}.theory-reader[data-theme=dark] .theory-reader-title,.theory-reader[data-theme=dark] .theory-reader-content{color:#fff}.theory-reader[data-theme=dark] .theory-reader-toolbar{background:#111;border-bottom-color:#333}.theory-reader[data-theme=dark] .reader-tool-btn,.theory-reader[data-theme=dark] .reader-select{background:#222;border-color:#444;color:#fff}.theory-reader[data-theme=sepia] .theory-reader-scroll{background:linear-gradient(180deg,#f5f5f5,#eee)}.theory-reader[data-theme=sepia] .theory-reader-title{color:#111}.theory-reader[data-theme=sepia] .theory-reader-content{color:#222}.theory-reader[data-theme=sepia] .theory-reader-figure figcaption{color:#666}.theory-reader[data-theme=sepia] .theory-reader-gallery{border-top-color:#0000001f}.theory-reader[data-theme=light] .theory-reader-scroll{background:linear-gradient(180deg,#fff,#fafafa)}.theory-reader[data-theme=light] .theory-reader-title{color:#000}.theory-reader[data-theme=light] .theory-reader-content{color:#111}.theory-reader[data-theme=light] .theory-reader-figure figcaption{color:#666}.theory-reader[data-theme=light] .theory-reader-gallery{border-top-color:#0000001a}.reader-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;background:#000000eb;display:flex;flex-direction:column}.reader-lightbox-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;background:#0000008c;border-bottom:1px solid rgba(255,255,255,.08)}.reader-lightbox-zoom{margin-right:auto;font-size:13px;color:var(--text-secondary);font-weight:600;min-width:48px}.reader-lightbox-close{font-size:16px;padding:0 12px}.reader-lightbox-viewport{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none}.reader-lightbox-viewport.dragging{cursor:grabbing}.reader-lightbox-viewport img{max-width:none;max-height:none;width:auto;height:auto;max-width:min(92vw,100%);max-height:min(82vh,100%);object-fit:contain;transform-origin:center center;user-select:none;pointer-events:none;border-radius:4px;box-shadow:0 20px 60px #00000080}@media(max-width:640px){.theory-reader-page{max-width:100%;padding:24px 16px 36px}.theory-reader-toolbar{padding:8px 12px}.reader-select{max-width:110px}}.step-guide{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-secondary);padding:10px 14px;border-radius:8px;margin:0 0 12px;font-size:13px}.workspace-shell{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;padding-bottom:var(--chapter-footer-h, 32px)}.workspace-shell .ide-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.sim-workspace{flex:1;min-height:0;display:flex;overflow:hidden}.sim-sidebar{width:260px;flex-shrink:0;display:none;flex-direction:column;border-right:1px solid var(--accent);background:var(--pe-bg);font-family:JetBrains Mono,monospace}.sim-sidebar-head{padding:16px;border-bottom:1px solid var(--accent);background:#eeedf0}.sim-sidebar-kicker{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.sim-sidebar-ready{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--text-muted);margin-top:2px}.sim-sidebar-nav{flex:1;padding:8px 0;overflow:auto}.sim-sidebar-section{padding:12px 16px 4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);opacity:.5}.sim-sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:11px;font-weight:700;color:var(--text-muted);cursor:default}.sim-sidebar-item.active{background:var(--accent);color:var(--text-inverse)}.sim-sidebar-item .material-symbols-outlined{font-size:20px}.sim-sidebar-pins{padding:12px 16px;border-top:1px solid var(--accent)}.sim-pin-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.08)}.sim-pin-badge{padding:2px 4px;border:1px solid var(--accent);font-size:10px;text-transform:uppercase}.sim-pin-badge.filled{background:var(--accent);color:var(--text-inverse)}.sim-sidebar-exit{display:flex;align-items:center;gap:12px;width:100%;border:none;border-top:1px solid var(--accent);background:transparent;padding:12px 16px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);cursor:pointer}.sim-sidebar-exit:hover{background:#eeedf0}.sim-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.sim-action-bar{flex:0 0 64px;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#fff;border-top:1px solid var(--accent)}.sim-reset-btn{border:1px solid var(--accent);background:var(--glass-bg-elevated, #fff);color:var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:10px 16px;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:all .15s ease}.sim-reset-btn:hover{background:var(--bg-hover, #eeedf0)}[data-theme=dark] .sim-reset-btn{background:var(--glass-bg-elevated);border-color:var(--accent);color:var(--accent)}[data-theme=dark] .sim-reset-btn:hover{background:var(--bg-hover)}.sim-action-right{display:flex;align-items:center;gap:16px}.sim-action-status{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted)}.chapter-module-progress{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chapter-module-bar{width:128px;height:4px;background:#dfe0e0;position:relative;overflow:hidden}.chapter-module-fill{height:100%;background:var(--accent);width:40%;transition:width .3s ease}@media(min-width:1024px){.sim-sidebar{display:flex}}.ide-root--stitch{background:var(--bg)}.ide-root--stitch #body{flex:1;min-height:0}.ide-toolbar-aux{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 14px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border);flex-wrap:nowrap}.ide-app-toolbar .ide-toolbar-aux-left,.ide-app-toolbar .ide-toolbar-aux-right{flex-wrap:nowrap}.ide-toolbar-sep{width:1px;height:20px;background:var(--border);margin:0 6px}.ide-tool-btn--primary{background:var(--apple-blue, #007aff)!important;color:#fff!important;border:0!important;font-weight:600;box-shadow:none!important;border-radius:999px!important}.ide-tool-btn--primary:hover{filter:none;background:var(--apple-blue-hover, #0066d6)!important;transform:none;box-shadow:none!important}.ide-toolbar-aux-left,.ide-toolbar-aux-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ide-tool-btn--stitch .material-symbols-outlined{font-size:18px;line-height:1}.ide-run-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.ide-tool-btn--stitch{height:28px;padding:0 10px;border-radius:6px;border:0;background:transparent;color:var(--apple-label, var(--text));font-family:var(--apple-font-ui, var(--font-sans));font-size:12px;font-weight:500;letter-spacing:-.01em;text-transform:none;margin-left:0;cursor:pointer;transition:background .1s ease-out,color .1s ease-out;box-shadow:none}.ide-tool-btn--stitch:hover{background:var(--apple-fill-tertiary, rgba(118, 118, 128, .12));border-color:transparent;color:var(--apple-label, var(--text));box-shadow:none}.mode-toggle--stitch{margin-left:0;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-muted);padding:2px;gap:2px;display:inline-flex;align-items:center}.mode-toggle--stitch .mode-btn{border-radius:var(--radius-full);font-size:11px;font-weight:600;font-family:var(--font-sans);text-transform:none;padding:4px 12px;border:none;color:var(--text-muted);background:transparent;cursor:pointer;transition:all .15s ease}.mode-toggle--stitch .mode-btn.active{background:var(--bg-surface-elevated);color:var(--accent);box-shadow:var(--shadow-xs)}.mode-toggle--stitch.mode-toggle--play{border-radius:8px;border:0;background:var(--apple-fill-tertiary, rgba(118, 118, 128, .12))}.mode-toggle--stitch.mode-toggle--play .mode-btn{border-radius:6px;font-size:12px;text-transform:none}.compile-mode-toggle{margin-left:8px;flex-shrink:0}.compile-mode-toggle .mode-btn{min-width:4.5rem;padding:4px 8px}.ide-root--stitch #editor-column{flex:0 0 50%;border-right:none;background:var(--bg)}.ide-column-divider{flex:0 0 6px;width:6px;cursor:col-resize;background:var(--border);border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);transition:background .15s,border-color .15s}.ide-column-divider:hover{background:var(--accent);border-color:var(--accent)}.ide-editor-head{height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur))}.ide-editor-head-left{display:flex;align-items:center;gap:8px;min-width:0}.ide-editor-head-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.ide-pane-fs-btn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:normal;text-transform:none;cursor:pointer;transition:all .15s ease}.ide-pane-fs-btn .material-symbols-outlined{font-size:16px}.ide-pane-fs-btn:hover{background:var(--bg-surface-elevated);border-color:var(--accent-light);color:var(--accent)}.ide-pane-fs-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.sim-action-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.ide-editor-head-left .material-symbols-outlined{font-size:18px;color:var(--text-muted)}.ide-editor-head .file-name{margin:0;padding:4px 8px;font-family:var(--font-sans);font-size:12px;font-weight:700;border-radius:var(--radius-sm);color:var(--text);background:var(--bg-surface);border:1px solid var(--border-subtle);max-width:200px}.ide-editor-path{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted)}.ide-serial-panel{height:100px;flex:0 0 100px;border-top:1px solid var(--border);background:#0e0d0b;display:flex;flex-direction:column;min-height:0}.ide-serial-panel.ide-serial-panel--tall{height:200px;flex:0 0 200px}.ide-serial-panel[data-view=plotter]{height:240px;flex:0 0 240px}.ide-serial-panel #output-header{height:32px;flex:0 0 32px;display:flex;align-items:center;gap:6px;background:#141210;color:#ffffffb3;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:normal;text-transform:none;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.08)}.ide-serial-tabs{display:inline-flex;align-items:center;gap:2px;margin-right:4px}.ide-serial-tab{height:22px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:#ffffff8c;font:600 10px/1 var(--font-sans);cursor:pointer}.ide-serial-tab:hover{color:#fff;background:#ffffff0f}.ide-serial-tab.active{color:#fff;border-color:#ffffff2e;background:#ffffff1a}.ide-serial-title{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;color:#ffffff73;white-space:nowrap}.ide-serial-baud,.ide-serial-source{display:inline-flex;align-items:center}.ide-serial-baud select,.ide-serial-source select{height:20px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#ffffffd9;font-family:JetBrains Mono,monospace;font-size:10px;padding:0 4px;cursor:pointer}.ide-serial-baud select:hover,.ide-serial-source select:hover{border-color:var(--accent);color:#fff}.ide-serial-baud select option,.ide-serial-source select option{background:#1a1715;color:#fff}.ide-serial-connected{margin-left:auto;margin-right:4px;font-size:9px;letter-spacing:.04em;padding:2px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.15);color:#ffffff73}.ide-serial-connected--on{color:#4ade80;border-color:#4ade8059;background:#4ade8014}.ide-serial-connect{height:22px;padding:0 8px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.25);background:transparent;color:#fffc;font-size:10px;font-weight:600;cursor:pointer}.ide-serial-connect:hover{background:#ffffff1a;color:#fff}.ide-serial-panel #btn-clear-output{border-color:#ffffff40;background:transparent;color:#ffffffb3;border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer}.ide-serial-panel #btn-clear-output:hover{background:#ffffff1a;color:#fff}.ide-serial-send{display:flex;gap:6px;flex:0 0 auto;padding:6px 10px;border-top:1px solid rgba(255,255,255,.08);background:#00000059}.ide-serial-send input{flex:1;min-width:0;height:26px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);background:#00000073;color:#fef3c7;font:12px/1 JetBrains Mono,Consolas,monospace;padding:0 8px}.ide-serial-send input:focus{outline:none;border-color:var(--accent)}.ide-serial-send button{height:26px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-size:11px;font-weight:600;cursor:pointer}.ide-serial-send button:hover{filter:brightness(1.08)}.ide-serial-panel #output-body,.ide-serial-monitor-body{flex:1 1 auto;min-height:0;overflow:auto;background:#0e0d0b;color:#4ade80;font-family:JetBrains Mono,monospace;font-size:12px;padding:8px 10px}.ide-serial-console-mode .output-line-info{color:#ffffffd1}.ide-serial-plotter-wrap{flex:1 1 auto;min-height:0;position:relative;background:#0a0908}.ide-serial-plotter-wrap canvas{display:block;width:100%;height:100%}.ide-serial-panel .output-line-info{color:#4ade80}.ide-serial-panel .output-line-error{color:#f87171}.ide-serial-panel .output-line-system{color:#ffffff8c}#sim-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--pe-bg);position:relative}.ide-sim-toolbar{flex:0 0 42px;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border);gap:8px}.ide-sim-toolbar-left{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto}.ide-sim-toolbar-divider{width:1px;height:22px;background:var(--border);flex-shrink:0;margin:0 2px}.ide-sim-toolbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.ide-sim-run{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:normal;text-transform:none;padding:6px 14px;cursor:pointer;box-shadow:0 2px 8px #f9731647;transition:all .15s ease}.ide-sim-run:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 14px #f9731666}.ide-sim-run:disabled{opacity:.45;cursor:not-allowed}.ide-sim-run .material-symbols-outlined{font-size:16px}.ide-sim-icon-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);padding:5px;cursor:pointer;display:flex;align-items:center;transition:all .15s ease}.ide-sim-icon-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--bg-surface-elevated)}.ide-sim-icon-btn:disabled{opacity:.35;cursor:not-allowed}.ide-sim-icon-btn .material-symbols-outlined{font-size:16px}.ide-sim-canvas-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.ide-sim-overlay{position:absolute;top:52px;right:14px;z-index:5;background:var(--glass-bg-elevated);backdrop-filter:blur(14px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:10px 14px;pointer-events:none;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:normal;color:var(--text)}.ide-sim-overlay-item{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ide-sim-overlay-item:last-child{margin-bottom:0}.ide-sim-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--accent);flex-shrink:0}.ide-sim-dot.outline{background:transparent;border:1.5px solid var(--accent)}.ide-sim-dot.lit{background:#22c55e;border:none;box-shadow:0 0 10px #22c55ed9}.ide-root--stitch #wb-tools{flex:0 0 auto;height:auto;padding:0;background:transparent;border:none;gap:6px}.ide-root--stitch .wb-palette{flex:0 0 210px;width:210px;border-right:1px solid var(--border);background:var(--bg-surface)}.ide-root--stitch .wb-palette-head{background:var(--bg-muted);border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font-sans);font-weight:700;padding:10px 14px}.ide-root--stitch .wb-palette-title{color:var(--text);font-weight:700;font-family:var(--font-sans)}.ide-root--stitch #wb-palette-search{margin:8px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:12px;padding:6px 10px}.ide-root--stitch #wb-palette-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f973162e}.ide-root--stitch .wb-palette-item{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);transition:all .15s ease}.ide-root--stitch .wb-palette-item:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ide-root--stitch .wb-part-name{text-transform:none;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:normal;color:var(--text)}.ide-root--stitch #wb-tools button[data-act]{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);padding:6px;font-size:0;width:32px;height:32px;position:relative;cursor:pointer;transition:all .12s ease}.ide-root--stitch #wb-tools button[data-act]:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.ide-root--stitch #wb-tools button[data-act=rotate]:after{content:"↻";font-size:14px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ide-root--stitch #wb-tools button[data-act=justify]:after{content:"▥";font-size:15px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ide-root--stitch #wb-tools button[data-act=smartwire]:after{content:"⚡";font-size:13px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ide-root--stitch #wb-tools button[data-act=delete]:after{content:"⌫";font-size:14px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ide-root--stitch #wb-tools button[data-act=undo]:after{content:"↶";font-size:16px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ide-root--stitch #wb-tools button[data-act=redo]:after{content:"↷";font-size:16px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ide-root--stitch #wb-tools button[data-act=clear]:after{content:"✕";font-size:14px;position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ide-root--stitch #wb-tools button[data-act]:disabled{opacity:.35;pointer-events:none}.ide-root--stitch #wb-hint,.ide-root--stitch #wb-tools button[data-act=zin],.ide-root--stitch #wb-tools button[data-act=zout],.ide-root--stitch #wb-tools button[data-act=fit],.ide-root--stitch .wb-sep{display:none!important}.ide-root--stitch #wb-svg{background-color:var(--bg);background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:20px 20px}.ide-root--stitch #sim-column #wb{height:100%;display:flex;flex-direction:row}.ide-root--stitch #wb-main{flex:1;min-height:0;display:flex;flex-direction:column}.ide-root--stitch #wb-add-wrap{display:none}.ide-root--stitch .sim-action-right .chapter-cta-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:normal;text-transform:none;padding:10px 20px;border-radius:var(--radius-full)}.ide-root--stitch.ide-layout-hardware #toolbar,.ide-root--stitch.ide-layout-hardware #editor-column,.ide-root--stitch.ide-layout-hardware #divider{display:none!important}.ide-root--stitch.ide-layout-hardware #body{flex-direction:column}.ide-root--stitch.ide-layout-hardware #sim-pane{flex:1;width:100%;min-height:0}.ide-root--stitch.ide-layout-hardware .ide-sim-toolbar-right,.ide-root--stitch.ide-layout-hardware .ide-sim-overlay{display:none}.ide-root--stitch.ide-layout-code #sim-pane,.ide-root--stitch.ide-layout-code #divider{display:none!important}.ide-root--stitch.ide-layout-code #editor-column{flex:1 1 100%!important;max-width:none!important;max-height:none!important;border-right:none}.ide-root--stitch.ide-layout-split #editor-column{flex:0 0 50%}.ide-root.ide-pane-fs-code #sim-pane,.ide-root.ide-pane-fs-code #divider{display:none!important}.ide-root.ide-pane-fs-code #editor-column{flex:1 1 100%!important;max-width:none!important;max-height:none!important;border-right:none}.ide-root.ide-pane-fs-hardware #editor-column,.ide-root.ide-pane-fs-hardware #divider{display:none!important}.ide-root.ide-pane-fs-hardware #body{flex-direction:column}.ide-root.ide-pane-fs-hardware #sim-pane{flex:1;width:100%;min-height:0}.ide-root.ide-pane-fs-hardware #toolbar{display:flex!important}.sim-step-hint{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);letter-spacing:.02em;max-width:min(520px,55vw);line-height:1.4}.ide-host{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.ide-host>.polaris-loader--compact{flex:1;height:100%;min-height:0}.step-actions{display:flex;gap:10px;padding:12px 18px;border-top:1px solid var(--border);background:var(--bg)}.code-box{background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;padding:14px;font-family:Consolas,monospace;font-size:13px;color:var(--text);white-space:pre;overflow:auto;max-height:340px}.upload-steps{max-width:760px;margin:0 auto;padding:24px}.upload-steps ol{line-height:1.9;color:var(--text-secondary)}.upload-steps--local .upload-usb-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0 12px}.upload-field{display:flex;flex-direction:column;gap:4px;min-width:160px}.upload-field-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, var(--muted, #64748b))}.upload-port-select,.upload-board-select{height:38px;min-width:180px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px}.upload-flash-btn{height:38px;padding:0 20px;font-weight:700}.upload-code-details{margin:8px 0 16px;color:var(--text-secondary)}.upload-code-details summary{cursor:pointer;font-size:13px;margin-bottom:8px}.upterm{margin:4px 0 16px;border-radius:10px;border:1px solid #1e293b;background:#0b1220;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.upterm--busy .upterm-bar{border-bottom-color:#1d4ed8}.upterm-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px 12px;background:linear-gradient(180deg,#152033,#0f172a);border-bottom:1px solid #1e293b}.upterm-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.upterm-title-icon{color:#38bdf8;font-size:11px}.upterm-phases{display:flex;align-items:center;gap:6px;flex:1;min-width:180px}.upterm-phase{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:1px solid #243044;background:#0b1220;font-size:11px;font-weight:650;color:#64748b}.upterm-phase-dot{width:7px;height:7px;border-radius:50%;background:#334155}.upterm-phase[data-state=active]{color:#e2e8f0;border-color:#2563eb;background:#2563eb26}.upterm-phase[data-state=active] .upterm-phase-dot{background:#3b82f6;box-shadow:0 0 0 3px #3b82f640;animation:upterm-pulse 1s ease-in-out infinite}.upterm-phase[data-state=ok]{color:#86efac;border-color:#22c55e59}.upterm-phase[data-state=ok] .upterm-phase-dot{background:#22c55e}.upterm-phase[data-state=err]{color:#fca5a5;border-color:#f8717166}.upterm-phase[data-state=err] .upterm-phase-dot{background:#f87171}@keyframes upterm-pulse{0%,to{opacity:1}50%{opacity:.45}}.upterm-bar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.upterm-status{font-size:12px;font-weight:650;color:#94a3b8}.upterm-status[data-kind=busy]{color:#60a5fa}.upterm-status[data-kind=ok]{color:#4ade80}.upterm-status[data-kind=err]{color:#f87171}.upterm-clear{-webkit-appearance:none;appearance:none;border:1px solid #243044;background:transparent;color:#94a3b8;border-radius:6px;padding:4px 8px;font-size:11px;cursor:pointer}.upterm-clear:hover{color:#e2e8f0;border-color:#334155}.upterm-log{margin:0;padding:10px 12px 14px;min-height:220px;max-height:340px;overflow:auto;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;color:#cbd5e1;background:linear-gradient(180deg,rgba(15,23,42,.2),transparent 40px),#070b14;white-space:pre-wrap;word-break:break-word}.upterm-line{display:grid;grid-template-columns:64px 1fr;gap:10px;padding:1px 0}.upterm-time{color:#475569;user-select:none}.upterm-msg{color:#cbd5e1}.upterm-line--cmd .upterm-msg{color:#7dd3fc}.upterm-line--ok .upterm-msg{color:#86efac}.upterm-line--err .upterm-msg{color:#fca5a5}.upterm-line--dim .upterm-msg{color:#64748b}.upterm-line--info .upterm-msg{color:#e2e8f0}.ide-upload-term-wrap{padding:0 12px 12px;flex-shrink:0}.ide-upload-term-wrap .upterm{margin:0}.ide-upload-term-wrap .upterm-log{min-height:160px;max-height:240px}.silicon-structure{max-width:820px;margin:0 auto;padding:24px}.silicon-structure-sub{margin:20px 0 10px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.silicon-structure-points{margin:0;padding-left:1.25rem;line-height:1.7;color:var(--text)}.silicon-structure-points li{margin-bottom:8px}.silicon-structure-code{max-height:420px}.silicon-finish-checks{margin:18px 0 0;padding-left:1.25rem;line-height:1.7;color:var(--text-secondary)}.admin{max-width:1280px;margin:0 auto;padding:22px 22px 60px}.admin-brand-copy{display:flex;flex-direction:column;gap:2px;line-height:1.15}.admin-brand-title{font-weight:700;font-size:15px;color:var(--text)}.admin-brand-sub{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.55;font-weight:600;color:var(--text-muted)}.admin-panel{min-height:420px}.admin-shell{display:flex;flex:1;min-height:0;height:calc(100vh - 56px);width:100%;overflow:hidden;background:var(--bg);position:relative}.lms-top.admin-top{height:56px;flex:0 0 56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:20}.admin-top-left{display:flex;align-items:center;gap:14px}.admin-top-right{display:flex;align-items:center;gap:10px}.admin-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated, var(--bg-muted));color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.admin-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border)}.admin-brand-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:var(--radius-full);background:var(--accent-subtle, rgba(249, 115, 22, .1));color:var(--accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid rgba(249,115,22,.2)}.admin-crumb-bar{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.admin-crumb-group{font-weight:500;color:var(--text-muted)}.admin-crumb-sep{opacity:.4;font-size:11px}.admin-crumb-item{font-weight:600;color:var(--text)}.admin-status-indicator{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#22c55e;padding:5px 12px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-full)}.admin-status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:pulse-dot 2s infinite ease-in-out}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.admin-top-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:var(--radius-md);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid var(--border-subtle);background:var(--bg);color:var(--text-secondary)}.admin-top-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border)}.admin-top-btn.btn-icon{width:34px;padding:0;justify-content:center}.admin-user-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:var(--radius-full);background:var(--bg-muted);border:1px solid var(--border-subtle);font-size:12.5px;color:var(--text-secondary)}.admin-user-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.admin-sidebar{width:268px;flex:0 0 268px;height:100%;background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;transition:width .2s cubic-bezier(.4,0,.2,1),transform .2s ease;z-index:10}.admin-sidebar-search-wrap{padding:14px 14px 8px}.admin-sidebar-search{display:flex;align-items:center;gap:8px;padding:7px 11px;background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease}.admin-sidebar-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #f9731626;background:var(--bg)}.admin-sidebar-search-icon{font-size:17px;color:var(--text-muted)}.admin-sidebar-search-input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:12.5px;font-family:inherit;outline:none}.admin-sidebar-search-input::placeholder{color:var(--text-muted)}.admin-sidebar-nav{flex:1;overflow-y:auto;padding:6px 10px 20px;display:flex;flex-direction:column;gap:2px}.admin-nav-group{margin-top:12px}.admin-nav-group:first-child{margin-top:2px}.admin-nav-group-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:8px 12px 4px}.admin-nav-item{display:flex;align-items:center;gap:11px;width:100%;padding:8px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;transition:all .12s ease;position:relative;font-family:inherit}.admin-nav-item:hover{background:var(--bg-hover);color:var(--text)}.admin-nav-item:hover .admin-nav-icon{color:var(--accent)}.admin-nav-item.active{background:var(--accent-subtle, rgba(249, 115, 22, .12));color:var(--accent);font-weight:600}.admin-nav-item.active .admin-nav-icon{color:var(--accent)}.admin-nav-icon{font-size:18px;color:var(--text-muted);transition:color .12s ease;display:inline-flex;align-items:center;justify-content:center;width:20px}.admin-nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-nav-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--accent);color:#fff;line-height:1.2}.admin-sidebar-footer{padding:12px 14px;border-top:1px solid var(--border-subtle);background:var(--bg-surface);display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--text-muted)}.admin-version-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono, monospace);font-size:11px;opacity:.75}.admin-shell.sidebar-collapsed .admin-sidebar{width:68px;flex:0 0 68px}.admin-shell.sidebar-collapsed .admin-sidebar-search-wrap,.admin-shell.sidebar-collapsed .admin-nav-group-title,.admin-shell.sidebar-collapsed .admin-nav-label,.admin-shell.sidebar-collapsed .admin-nav-badge,.admin-shell.sidebar-collapsed .admin-sidebar-footer{display:none}.admin-shell.sidebar-collapsed .admin-nav-item{justify-content:center;padding:10px}.admin-shell.sidebar-collapsed .admin-nav-icon{font-size:22px;width:auto}.admin-main{flex:1;min-width:0;height:100%;overflow-y:auto;padding:26px 36px 64px;display:flex;flex-direction:column;gap:20px;background:var(--bg)}.admin-view-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:2px;flex-wrap:wrap}.admin-view-header-main{display:flex;align-items:center;gap:14px}.admin-view-icon-wrap{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--accent-subtle, rgba(249, 115, 22, .1));color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(249,115,22,.2)}.admin-view-icon{font-size:24px}.admin-view-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2}.admin-view-desc{margin:3px 0 0;font-size:13px;color:var(--text-muted)}.admin-view-actions{display:flex;align-items:center;gap:10px}.admin-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:22px 24px;box-shadow:var(--shadow-xs);transition:border-color .15s ease}.admin-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.admin-card-title{margin:0;font-size:16px;font-weight:700;color:var(--text)}.admin-card-subtitle{margin:4px 0 0;font-size:12.5px;color:var(--text-muted)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface)}.admin-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.admin-stat-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:var(--bg-muted);border:1px solid var(--border-subtle);font-size:12px;font-weight:600;color:var(--text-secondary)}.admin-progress-track{width:100%;max-width:120px;height:6px;background:var(--bg-muted);border-radius:999px;overflow:hidden;display:inline-block;vertical-align:middle}.admin-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent) 0%,#22c55e 100%);border-radius:999px;transition:width .3s ease}.site-admin-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.site-admin-card{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--glass-border);padding:16px;background:var(--glass-bg-elevated);backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.site-admin-thumb{width:140px;height:84px;object-fit:cover;background:var(--bg-muted);flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.site-admin-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.admin-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.admin-tabs--pill button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);padding:8px 16px;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-full);transition:all .15s ease}.admin-tabs button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);padding:8px 16px;cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-md);transition:all .15s ease}.admin-tabs button:hover,.admin-tabs--pill button:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-surface-elevated)}.admin-tabs button.active,.admin-tabs--pill button.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #f973164d}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border-subtle);vertical-align:top;color:var(--text)}.table th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-muted)}.ad-dash{display:flex;flex-direction:column;gap:18px}.ad-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.ad-title{margin:0 0 6px;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.ad-durable-note{margin:8px 0 0;font-size:12px;font-weight:600;letter-spacing:.02em;color:#22c55e}.ad-hero-actions{display:flex;align-items:center;gap:10px}.ad-live-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-surface)}.ad-live-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.ad-live-dot.on{background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.ad-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.ad-metric{padding:18px 16px;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:transform .15s ease,box-shadow .15s ease}.ad-metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ad-metric--live{border-color:#22c55e;background:var(--bg-surface)}.ad-metric-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.ad-metric-value{margin-top:6px;font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--accent)}.ad-metric-hint{margin-top:6px;font-size:12px;color:var(--text-muted)}.ad-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ad-card{border-radius:var(--radius-2xl);border:1px solid var(--glass-border);background:var(--glass-bg-elevated);backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-sm);padding:20px 22px}.ad-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.ad-card-head h4{margin:0;font-size:15px;font-weight:700;color:var(--text)}.ad-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary)}.ad-bars,.ad-stack{display:flex;flex-direction:column;gap:8px}.ad-bar-row{display:grid;grid-template-columns:72px 1fr 110px;gap:10px;align-items:center}.ad-bar-label,.ad-bar-value{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.ad-bar-value{text-align:right}.ad-bar-track{height:10px;border-radius:var(--radius-full);background:var(--bg-muted);overflow:hidden}.ad-bar-track--sm{height:6px}.ad-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--accent) 0%,var(--accent-hover) 100%);min-width:0;transition:width .35s ease}.ad-bar-fill--warn{background:#f59e0b}.ad-stack-row{display:flex;flex-direction:column;gap:4px}.ad-stack-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px}.ad-stack-val{color:var(--text-muted);font-variant-numeric:tabular-nums}.ad-sys-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ad-sys-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ad-sys-value{margin-top:4px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.ad-person-name{font-weight:600;color:var(--text)}.ad-person-id{font-size:11px;color:var(--text-muted);margin-top:2px}.ad-screen{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-surface);font-size:12px;font-weight:600;color:var(--text)}.ad-actions{display:flex;flex-wrap:wrap;gap:6px}.ad-table{margin-top:4px}.ad-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur))}.ad-mode-bar{display:inline-flex;gap:4px;background:var(--bg-muted);padding:3px;border-radius:var(--radius-full)}.ad-mode-btn{border:none;background:transparent;padding:6px 14px;font-size:12px;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-full);cursor:pointer;color:var(--text-muted);transition:all .15s ease}.ad-mode-btn.active{background:var(--bg-surface-elevated);color:var(--accent);box-shadow:var(--shadow-xs)}.ad-month-nav{display:inline-flex;align-items:center;gap:8px}.ad-month-nav.hidden{display:none}.ad-month-title{font-weight:700;min-width:140px;text-align:center;color:var(--text)}.ad-nav-btn{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.ad-nav-btn:hover{border-color:var(--accent);color:var(--accent)}.ad-range-label{margin-left:auto;font-size:12px;font-weight:600;color:var(--text-muted)}.ad-calendar-host{position:relative}.ad-cal-pop{position:absolute;z-index:20;top:0;left:0;width:min(360px,100%);padding:16px;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:var(--glass-bg-elevated);backdrop-filter:blur(20px);box-shadow:var(--shadow-xl)}.ad-cal-pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ad-cal-pop-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.ad-cal-year{flex:1;height:36px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:0 10px}.ad-cal-months{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ad-cal-month{height:38px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);cursor:pointer;font-weight:600;font-size:12px;transition:all .15s ease}.ad-cal-month:hover{border-color:var(--accent);color:var(--accent)}.ad-cal-month.has-data{border-color:var(--accent)}.ad-cal-month.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border-color:var(--accent)}.ad-history-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.ad-history-item{padding:14px 16px;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-xs)}.ad-history-k{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ad-history-v{display:block;margin-top:4px;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent)}.ad-card--chart{overflow:hidden}.ad-card-sub{margin-top:4px;font-size:12px;color:var(--text-muted);font-weight:500}.ad-cols-scroll{overflow-x:auto;padding-bottom:4px}.ad-cols{display:flex;align-items:flex-end;gap:4px;min-height:160px;min-width:max(100%,520px);padding-top:8px}.ad-col{flex:1 1 0;min-width:14px;display:flex;flex-direction:column;align-items:center;gap:6px;height:150px}.ad-col-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.ad-col-bar{width:70%;max-width:18px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-hover) 100%);min-height:2px;transition:height .3s ease}.ad-col--empty .ad-col-bar{background:var(--border);height:2px!important}.ad-col-label{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.ad-heat{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ad-heat-dow{text-align:center;font-size:11px;color:#888;font-weight:600}.ad-heat-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:1px solid #eee;background:#f5f5f5;color:#333}.ad-heat-cell--pad{visibility:hidden}.ad-heat-lv0{background:#f3f3f3}.ad-heat-lv1{background:#d4d4d4}.ad-heat-lv2{background:#a3a3a3;color:#fff}.ad-heat-lv3{background:#525252;color:#fff}.ad-heat-lv4{background:#171717;color:#fff}.ad-heat-legend{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:11px;color:#666}.ad-heat-swatch{width:14px;height:14px;aspect-ratio:auto}@media(max-width:900px){.ad-charts,.ad-sys-grid{grid-template-columns:1fr}.ad-bar-row{grid-template-columns:56px 1fr 80px}.ad-range-label{margin-left:0;width:100%}}.btn-sm{height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text);cursor:pointer;font-size:12px}.btn-sm.good{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.btn-sm.bad{background:var(--bg-muted);border-color:var(--border-strong);color:var(--text)}.btn-sm.toggle-on{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-editor{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-editor .col{display:flex;flex-direction:column;gap:10px}.admin-editor label{font-size:12px;color:var(--text-muted)}.admin-editor textarea{width:100%;min-height:120px;border-radius:8px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text);padding:10px;font-family:inherit;font-size:13px;resize:vertical}.admin-editor textarea.code{font-family:Consolas,monospace;min-height:200px}.admin-chapter-editor{max-width:1100px}.admin-preview-tabs{display:flex;align-items:center;gap:6px;margin:14px 0 12px;flex-wrap:wrap}.admin-preview-tab{-webkit-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer}.admin-preview-tab.is-active{background:#111;border-color:#111;color:#fff}.admin-preview-refresh{margin-left:4px}.admin-chapter-preview-pane{display:flex;flex-direction:column;gap:14px;min-height:420px}.admin-chapter-preview-banner{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.02em;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px 12px}.admin-chapter-preview-banner .material-symbols-outlined{font-size:18px}.admin-chapter-preview-host{position:relative;min-height:480px;max-height:min(70vh,760px);overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fafafa}.admin-chapter-preview-host .theory-reader{height:100%;min-height:480px;max-height:min(70vh,760px)}.admin-chapter-preview-code-wrap{border:1px solid var(--border);border-radius:10px;background:var(--bg-muted);padding:12px 14px}.admin-chapter-preview-code-label{font-size:12px;font-weight:700;color:var(--text);margin-bottom:4px}.admin-chapter-preview-meta{font-size:12px;color:var(--text-muted);margin-bottom:8px}.admin-chapter-preview-code{margin:0;max-height:180px;overflow:auto;font-family:JetBrains Mono,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--text)}.admin-field-label{display:block;font-size:12px;color:var(--text-muted);margin:14px 0 6px;font-weight:600}.storage-panel{max-width:980px}.storage-toolbar{margin:12px 0 16px}.storage-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:18px}.storage-card{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--bg-muted)}.storage-card-label{font-size:11px;color:var(--text-muted);font-weight:600;margin-bottom:4px}.storage-card-value{font-size:15px;font-weight:700;color:var(--text);word-break:break-word}.storage-tree{display:flex;flex-direction:column;gap:10px}.storage-folder{border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden}.storage-folder-head{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;user-select:none;background:var(--bg-muted)}.storage-folder-head:hover{filter:brightness(.98)}.storage-chevron{display:inline-block;width:14px;color:var(--text-muted);transition:transform .15s ease}.storage-folder-head.open .storage-chevron{transform:rotate(90deg)}.storage-folder-title{font-weight:700;font-size:14px}.storage-folder-sub{margin-left:auto;font-size:12px;color:var(--text-muted)}.storage-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);color:var(--text-muted)}.storage-folder-body{padding:8px 10px 12px;border-top:1px solid var(--border)}.storage-folder-body .storage-folder{margin:8px 0}.storage-row{display:flex;align-items:center;gap:12px;padding:8px 6px;border-bottom:1px solid var(--border)}.storage-row:last-child{border-bottom:0}.storage-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--bg-muted);border:1px solid var(--border);flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted);font-weight:700;overflow:hidden}.storage-thumb.missing{color:#b42318;border-color:#f5c2c0;background:#fff5f5}.storage-thumb.chapter{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.storage-row-meta{flex:1;min-width:0}.storage-row-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-row-sub{font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.35}.storage-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.storage-row-actions a.btn-sm{display:inline-flex;align-items:center;text-decoration:none;line-height:28px}.theory-doc-editor{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#e8e8e8;box-shadow:var(--shadow-md)}.theory-doc-editor--pro{display:flex;flex-direction:column;min-height:640px}.theory-doc-editor--fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;border-radius:0;border:none;min-height:100vh;max-height:100vh;background:#dcdcdc;box-shadow:none}.theory-doc-editor--fullscreen .theory-doc-canvas{max-height:none;flex:1;padding:24px 20px 40px}.theory-doc-editor--fullscreen .theory-doc-sheet{max-width:min(920px,92vw)}body.theory-doc-focus-lock{overflow:hidden}.theory-doc-menubar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 10px;border-bottom:1px solid var(--border);background:#f3f3f3;position:sticky;top:0;z-index:6}.doc-menu{position:relative}.doc-menu-trigger{-webkit-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;padding:6px 10px;border-radius:6px;cursor:pointer}.doc-menu-trigger:hover,.doc-menu-trigger.is-open{background:#fff;border-color:var(--border)}.doc-menu-panel{display:none;position:absolute;top:calc(100% + 2px);left:0;min-width:220px;padding:6px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #00000024;z-index:20}.doc-menu-panel.is-open{display:flex;flex-direction:column;gap:2px}.doc-menu-item{-webkit-appearance:none;appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;border:none;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer}.doc-menu-item:hover{background:#f3f3f3}.doc-menu-item.is-danger{color:#b91c1c}.doc-menu-shortcut{font-size:11px;color:#888;font-weight:600}.doc-menu-sep{height:1px;margin:4px 6px;background:var(--border)}.doc-focus-hint{font-size:11px;font-weight:700;color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;padding:4px 10px;margin-right:6px}.doc-zoom-label{min-width:42px;text-align:center;font-size:11px;font-weight:700;color:#555}.theory-doc-toolbar,.theory-doc-ribbon{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px 12px 12px;border-bottom:1px solid var(--border);background:linear-gradient(#fff,#f6f6f6);position:sticky;top:0;z-index:5}.theory-doc-editor--fullscreen .theory-doc-menubar,.theory-doc-editor--fullscreen .theory-doc-ribbon{position:relative;top:auto}.doc-tool-group{display:flex;flex-direction:column;gap:4px;padding-right:10px;border-right:1px solid var(--border)}.doc-tool-group:last-of-type{border-right:none}.doc-tool-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#777;font-weight:700}.doc-tool-group-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.doc-tool-btn{height:30px;min-width:30px;padding:0 9px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;font-size:12px;font-weight:700}.doc-tool-btn:hover{background:#eee;border-color:var(--border)}.doc-tool-btn.is-active,.doc-tool-btn.doc-tool-accent{background:#111;color:#fff;border-color:#111}.doc-tool-btn.doc-tool-danger{color:#b91c1c}.doc-tool-sep{width:1px;height:22px;background:var(--border);margin:0 4px}.doc-tool-spacer{flex:1;min-width:8px}.doc-style-select{height:30px;border:1px solid var(--border);background:#fff;padding:0 8px;font-size:12px;font-weight:600;border-radius:6px;max-width:130px}.doc-dirty{font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;align-self:center}.doc-dirty.is-dirty{background:#fff3cd;color:#856404}.doc-dirty.is-clean{background:#e8f5e9;color:#1b5e20}.doc-image-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border);background:#fafafa}.doc-image-bar.hidden{display:none}.doc-image-bar-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;margin-right:4px}.theory-doc-canvas{flex:1;overflow:auto;padding:28px 16px 36px;background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.04) 1px,transparent 0) 0 0 / 18px 18px,#dcdcdc;max-height:68vh}.theory-doc-sheet{max-width:820px;margin:0 auto;background:#fff;box-shadow:0 1px 2px #0000000f,0 18px 48px #0000001f;min-height:900px}.theory-doc-page{min-height:900px;max-height:none;overflow:visible;padding:72px 64px 88px;background:#fff;color:#1a1a1a;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Times New Roman,serif;font-size:17px;line-height:1.75;outline:none}.theory-doc-page:empty:before,.theory-doc-page[data-placeholder]:not(:focus):has(p:only-child br:only-child):before{content:attr(data-placeholder);color:#aaa;pointer-events:none}.theory-doc-page h2{font-size:1.55em;margin:1.35em 0 .55em;font-weight:700;letter-spacing:-.02em}.theory-doc-page h3{font-size:1.2em;margin:1.1em 0 .45em;font-weight:700}.theory-doc-page p{margin:0 0 .95em}.theory-doc-page .align-left,.theory-doc-page [style*="text-align: left"],.theory-doc-page [style*="text-align:left"]{text-align:left}.theory-doc-page .align-center,.theory-doc-page [style*="text-align: center"],.theory-doc-page [style*="text-align:center"]{text-align:center}.theory-doc-page .align-right,.theory-doc-page [style*="text-align: right"],.theory-doc-page [style*="text-align:right"]{text-align:right}.theory-doc-page ul,.theory-doc-page ol{margin:0 0 1em 1.35em}.theory-doc-page li{margin-bottom:.35em}.theory-doc-page hr{border:none;border-top:1px solid #ddd;margin:1.6em 0}.theory-doc-page blockquote{margin:1.1em 0;padding:.75em 1.1em;border-left:3px solid #111;background:#f7f7f7;color:#333}.theory-doc-page a{color:#0b57d0;text-decoration:underline}.theory-doc-page .theory-inline-figure{margin:1.4em 0;text-align:center}.theory-doc-page .theory-inline-figure.align-left{text-align:left}.theory-doc-page .theory-inline-figure.align-right{text-align:right}.theory-doc-page .theory-inline-figure.theory-img-sm img{max-width:40%}.theory-doc-page .theory-inline-figure.theory-img-md img{max-width:70%}.theory-doc-page .theory-inline-figure.theory-img-lg img{max-width:100%}.theory-doc-page .theory-inline-figure img.selected{outline:3px solid #111;outline-offset:3px}.theory-doc-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 14px;border-top:1px solid var(--border);background:#fff;font-size:12px;color:#555}.doc-status-item.muted{color:#888}.doc-status-sep{width:1px;height:12px;background:#ddd}[data-theme=dark] .theory-doc-editor{background:#141210;border-color:#ffffff1f;box-shadow:0 4px 20px #00000073}[data-theme=dark] .theory-doc-editor--fullscreen{background:#0f0d0c}[data-theme=dark] .theory-doc-menubar{background:#181513;border-bottom-color:#ffffff1a}[data-theme=dark] .doc-menu-trigger{color:#ded6ce}[data-theme=dark] .doc-menu-trigger:hover,[data-theme=dark] .doc-menu-trigger.is-open{background:#25201c;border-color:#ffffff29;color:#fbf9f6}[data-theme=dark] .doc-menu-panel{background:#1e1a17;border-color:#ffffff29;box-shadow:0 16px 36px #0009}[data-theme=dark] .doc-menu-item{color:#ded6ce}[data-theme=dark] .doc-menu-item:hover{background:#2b2520;color:#fbf9f6}[data-theme=dark] .doc-menu-shortcut{color:#a8a29e}[data-theme=dark] .doc-menu-sep{background:#ffffff1a}[data-theme=dark] .theory-doc-toolbar,[data-theme=dark] .theory-doc-ribbon{background:linear-gradient(#201c19,#181513);border-bottom-color:#ffffff1a}[data-theme=dark] .doc-tool-group{border-right-color:#ffffff1a}[data-theme=dark] .doc-tool-group-label{color:#a8a29e}[data-theme=dark] .doc-tool-btn{color:#ded6ce}[data-theme=dark] .doc-tool-btn:hover{background:#2d2621;border-color:#ffffff2e;color:#fbf9f6}[data-theme=dark] .doc-tool-btn.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=dark] .doc-tool-btn.doc-tool-accent{background:#2e2823;color:var(--accent);border-color:#f9731680}[data-theme=dark] .doc-tool-sep{background:#ffffff1a}[data-theme=dark] .doc-style-select{background:#241f1b;border-color:#ffffff29;color:#fbf9f6}[data-theme=dark] .doc-dirty.is-dirty{background:#4a3410;color:#fde047}[data-theme=dark] .doc-dirty.is-clean{background:#143521;color:#86efac}[data-theme=dark] .doc-image-bar{background:#1a1714;border-bottom-color:#ffffff1a}[data-theme=dark] .doc-image-bar-label{color:#a8a29e}[data-theme=dark] .doc-zoom-label{color:#ded6ce}[data-theme=dark] .theory-doc-canvas{background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0) 0 0 / 18px 18px,#12100e}[data-theme=dark] .theory-doc-sheet{background:#1c1815;box-shadow:0 1px 3px #0006,0 20px 50px #0009;border:1px solid rgba(255,255,255,.08)}[data-theme=dark] .theory-doc-page{background:#1c1815;color:#ded6ce}[data-theme=dark] .theory-doc-page:empty:before,[data-theme=dark] .theory-doc-page[data-placeholder]:not(:focus):has(p:only-child br:only-child):before{color:#78716c}[data-theme=dark] .theory-doc-page h2,[data-theme=dark] .theory-doc-page h3{color:#fbf9f6}[data-theme=dark] .theory-doc-page hr{border-top-color:#ffffff24}[data-theme=dark] .theory-doc-page a{color:#60a5fa}[data-theme=dark] .theory-doc-page blockquote{border-left-color:var(--accent);background:#f9731614;color:#f3efe9}[data-theme=dark] .theory-doc-page table.theory-table{border-color:#ffffff29}[data-theme=dark] .theory-doc-page table.theory-table th{background:#25201c;color:#fbf9f6;border-color:#ffffff29}[data-theme=dark] .theory-doc-page table.theory-table td{border-color:#ffffff1f;color:#ded6ce}[data-theme=dark] .theory-doc-status{background:#181513;border-top-color:#ffffff1a;color:#a8a29e}[data-theme=dark] .doc-status-sep{background:#ffffff1f}[data-theme=dark] .doc-status-item.muted{color:#78716c}[data-theme=dark] .admin-chapter-preview-banner{background:#1f1b17;border-bottom:1px solid rgba(255,255,255,.1);color:#fbf9f6}[data-theme=dark] .admin-chapter-preview-meta{color:#a8a29e}[data-theme=dark] .theory-curriculum{--curr-ink: #ded6ce;--curr-muted: #a8a29e;--curr-band: #25201c;--curr-zebra: #1e1916;--curr-pink: #381f1f}.theory-pdf-pages{display:flex;flex-direction:column;gap:1.25rem;margin:0 0 1.5em}.theory-pdf-pages .theory-pdf-page{margin:0;padding:0;border:1px solid rgba(61,47,36,.14);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 28px #281c1214}.theory-pdf-pages .theory-pdf-page img{display:block;width:100%;height:auto;margin:0;border:0;border-radius:0;background:#fff}.theory-pdf-pages .theory-pdf-page figcaption{display:none}.theory-pdf-text{margin:0 0 1.4em;padding:.6em .9em;border-radius:10px;border:1px solid rgba(61,47,36,.12);background:#f8f4eeb3;font-size:.92em;color:var(--text-muted)}.theory-pdf-text summary{cursor:pointer;font-weight:600;color:var(--text);user-select:none}.theory-pdf-text[open] summary{margin-bottom:.75em}.theory-pdf-download{margin:1.4em 0 0;text-align:center;font-size:.92em}.theory-pdf-download a{color:var(--text);text-decoration:underline}.theory-curriculum{--curr-green: #2f6b4f;--curr-green-dark: #275a42;--curr-ink: #1a1f24;--curr-muted: #5a6570;--curr-band: #eceff1;--curr-zebra: #f4f6f5;--curr-pink: #fde8e8;font-family:Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif!important;color:var(--curr-ink);font-size:15px;line-height:1.55}.theory-curriculum .theory-doc-banner{position:relative;margin:0 0 1.4em;padding:18px 22px 18px 26px;background:var(--curr-band);border-radius:2px;overflow:hidden}.theory-curriculum .theory-doc-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--curr-green)}.theory-curriculum .theory-doc-kicker{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--curr-muted);font-family:inherit}.theory-curriculum .theory-doc-title{margin:0 0 6px;padding:0;border:none;font-size:28px;font-weight:800;line-height:1.15;color:var(--curr-ink);font-family:inherit}.theory-curriculum .theory-doc-subtitle{margin:0;font-size:13px;color:var(--curr-muted);line-height:1.4;font-family:inherit}.theory-curriculum p.theory-lead{margin:0 0 1.25em;font-size:15px;line-height:1.65;color:#2a3038}.theory-curriculum h3.theory-section-head{display:flex;align-items:center;gap:12px;margin:1.55em 0 .85em;padding:0 0 8px;border:none;border-bottom:1px solid #d8dde2;font-size:16px;font-weight:700;color:var(--curr-green);font-family:inherit}.theory-curriculum .theory-section-num{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:2.55em;padding:5px 11px;border-radius:8px;background:var(--curr-green);color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;line-height:1.2;font-family:inherit}.theory-curriculum .theory-section-title{flex:1;min-width:0}.theory-curriculum h4.theory-subhead{margin:1.1em 0 .7em;font-size:15px;font-weight:700;color:var(--curr-ink);font-family:inherit}.theory-curriculum ul.theory-fun-list{margin:0 0 1.1em;padding:0 0 0 1.15em;list-style:none}.theory-curriculum ul.theory-fun-list li{position:relative;margin:0 0 .45em;padding-left:.35em;line-height:1.5}.theory-curriculum ul.theory-fun-list li:before{content:"";position:absolute;left:-1em;top:.55em;width:6px;height:6px;background:var(--curr-ink);border-radius:1px}.theory-curriculum ul.theory-fun-list li::marker{content:""}.theory-curriculum .theory-formula{margin:.9em 0 1.15em;padding:18px 22px;border-left:5px solid var(--curr-ink);border-radius:2px;background:var(--curr-pink);text-align:center}.theory-curriculum .theory-formula p{margin:0;font-size:22px;font-weight:800;letter-spacing:.06em;color:var(--curr-ink)}.theory-curriculum .theory-note{margin:.9em 0 1.15em;padding:12px 14px;border-radius:8px;border:1px solid rgba(47,107,79,.35);background:#2f6b4f17}.theory-curriculum .theory-note p{margin:0}.theory-curriculum .theory-table-wrap{margin:.75em 0 1.25em;overflow-x:auto;border-radius:8px;border:1px solid rgba(47,107,79,.2)}.theory-curriculum table.theory-table--curriculum{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.45;margin:0;font-family:inherit}.theory-curriculum table.theory-table--curriculum th,.theory-curriculum table.theory-table--curriculum td{border:1px solid rgba(47,107,79,.2);padding:10px 12px;vertical-align:top;text-align:left}.theory-curriculum table.theory-table--curriculum th{background:var(--curr-green)!important;color:#fff!important;font-weight:700;border-color:var(--curr-green-dark)}.theory-curriculum table.theory-table--curriculum tbody tr:nth-child(2n) td{background:var(--curr-zebra)}.theory-curriculum table.theory-table--curriculum tbody tr:nth-child(odd) td{background:#fff}.theory-curriculum>p{margin:0 0 .95em}.theory-reader-content:has(.theory-polaris),.theory-doc-page:has(.theory-polaris){font-family:Verdana,DejaVu Sans,sans-serif!important}.theory-polaris{--banner: #1B4332;--accent: #52B788;--header-text: #ffffff;--frame-w: 100%;color:#000;font-family:Verdana,DejaVu Sans,sans-serif;font-size:9.6pt;line-height:13.5pt;max-width:504.57pt;margin:0 auto}.theory-polaris .title-block{display:flex;flex-direction:row;align-items:stretch;width:100%;margin-bottom:12pt}.theory-polaris .title-bar{width:6.24pt;flex:0 0 6.24pt;background:var(--banner)}.theory-polaris .title-panel{flex:1 1 auto;background:#f3f3f4;padding:12pt 0 12pt 14pt}.theory-polaris .title-label{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:9pt;line-height:11pt;margin:0 0 4pt}.theory-polaris .title-title{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:21pt;line-height:25pt;margin:0 0 5pt;color:#1a1a1a}.theory-polaris .title-subtitle{font-size:9.6pt;line-height:13pt;margin:0;color:#444}.theory-polaris .intro{margin:0 0 12pt;font-size:9.6pt;line-height:13.5pt}.theory-polaris .paragraph{margin:0 0 6pt;font-size:9.6pt;line-height:13.5pt}.theory-polaris .subheading{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:10.6pt;line-height:13pt;color:#333;margin:8pt 0 4pt}.theory-polaris .section{margin-bottom:4pt}.theory-polaris .section-head{display:flex;flex-direction:row;align-items:center;padding:6pt 0 5pt;border-bottom:.9pt solid #c9c9c9;margin-bottom:4pt}.theory-polaris .badge{display:inline-flex;align-items:center;justify-content:center;min-height:16.3pt;padding:3.5pt 7pt;border-radius:4pt;background:var(--banner);color:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:9.3pt;line-height:1;white-space:nowrap;margin-right:7.09pt}.theory-polaris .section-heading{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:13pt;line-height:16pt;color:var(--banner);margin:0}.theory-polaris .table-wrap{width:100%;margin:0 0 10pt}.theory-polaris table.chapter-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8.6pt;line-height:11pt}.theory-polaris table.chapter-table th,.theory-polaris table.chapter-table td{border:.6pt solid #bbbbbb;padding:4pt 6pt;vertical-align:top;text-align:left;word-wrap:break-word}.theory-polaris table.chapter-table th{background:var(--accent);color:var(--header-text);font-weight:700}.theory-polaris table.chapter-table td:first-child{font-weight:700}.theory-polaris table.chapter-table tbody tr:nth-child(2n){background:#f6f6f7}.theory-polaris table.chapter-table tbody tr:nth-child(odd){background:#fff}.theory-polaris .callout{width:100%;max-width:500.6pt;background:#f2f2f4;border-left:3.5pt solid var(--accent);padding:7pt 10pt;margin:0 0 8pt;font-size:9.2pt;line-height:13pt}.theory-polaris .callout.warning{border-left-color:var(--banner)}.theory-polaris .formula{width:100%;background:#fbeff3;border-left:3pt solid var(--banner);padding:8pt 0;margin:0 0 6pt;text-align:center;font-weight:700;font-size:11.5pt;line-height:15pt}.theory-polaris .bullets{margin:0 0 8pt;padding-left:20pt;list-style:none}.theory-polaris .bullets li{margin:0 0 3pt;position:relative;font-size:9.6pt;line-height:13.5pt}.theory-polaris .bullets li:before{content:"•";position:absolute;left:-12pt}.theory-polaris .sym{font-family:Segoe UI Symbol,Segoe UI,sans-serif}.theory-polaris-warnings{font-size:12px;color:#666;margin:0 0 12px}.theory-pdf-embed{margin:1.6em 0;border-radius:12px;overflow:hidden;border:1px solid rgba(61,47,36,.15);background:#f8f4ee}.theory-pdf-embed iframe.theory-pdf-frame,.theory-reader-content .theory-pdf-embed iframe.theory-pdf-frame{display:block;width:100%;min-height:72vh;border:0;background:#fff}.theory-pdf-embed p{margin:0;padding:10px 14px;font-size:.9em;text-align:center}.theory-pdf-embed a{color:var(--text);text-decoration:underline}.photo-drop{border:1px dashed var(--border-strong);border-radius:8px;padding:10px;text-align:center;color:var(--text-muted)}.thumb{width:100%;max-height:130px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.empty{text-align:center;color:var(--text-faint);padding:40px}#lms-toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%) translateY(20px);padding:11px 18px;border-radius:10px;color:var(--text-inverse);font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:1000;box-shadow:var(--shadow-md)}#lms-toast.show{opacity:1;transform:translate(-50%) translateY(0)}#lms-toast.toast-info{background:var(--accent);color:var(--text-inverse)}#lms-toast.toast-success{background:var(--text);color:var(--text-inverse)}#lms-toast.toast-error{background:var(--text-secondary);color:var(--text-inverse)}.ide-shell{flex:1;min-height:0;display:grid;grid-template-columns:var(--ide-sidebar-width, 260px) 1fr;grid-template-rows:var(--ide-toolbar-height, 52px) 1fr var(--ide-footer-height, 34px);grid-template-areas:"sidebar topbar" "sidebar main" "sidebar footer";background:var(--bg);position:relative}.ide-shell-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:45}.ide-shell-overlay.show{display:block}.ide-shell-topbar{grid-area:topbar;height:var(--ide-toolbar-height, 52px);display:flex;align-items:center;gap:12px;padding:0 18px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border);z-index:30}.ide-shell-menu{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--glass-bg-elevated);cursor:pointer;padding:6px;color:var(--text);flex-shrink:0;transition:all .15s ease}.ide-shell-menu:hover{background:var(--bg-hover);color:var(--accent)}.ide-shell-menu .material-symbols-outlined{font-size:20px}.ide-shell.ide-shell--sidebar-hidden{grid-template-columns:1fr;grid-template-areas:"topbar" "main" "footer"}.ide-shell.ide-shell--sidebar-hidden .ide-shell-sidebar{display:none}.ide-shell-brand{display:flex;align-items:center;gap:10px;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ide-shell-logo{flex-shrink:0;color:var(--accent)}.ide-shell-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--radius-pill);padding:4px 12px;margin-left:auto;transition:all .15s ease}.ide-shell-search:focus-within{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--accent-soft)}.ide-shell-search-input{border:none;background:transparent;outline:none;width:180px;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;color:var(--text)}.ide-shell-search-input::placeholder{color:var(--text-faint)}.ide-shell-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.ide-shell-icon-btn{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;padding:6px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ide-shell-icon-btn:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--border)}.ide-shell-icon-btn .material-symbols-outlined{font-size:20px}.ide-shell-sidebar{grid-area:sidebar;display:flex;flex-direction:column;background:var(--glass-bg-subtle);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--border);min-height:0;z-index:40}.ide-sidebar-head{padding:16px;border-bottom:1px solid var(--border)}.ide-sidebar-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}.ide-sidebar-brand-name{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.ide-sidebar-user{display:flex;align-items:center;gap:10px;margin-bottom:14px}.ide-sidebar-avatar{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-secondary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--apple-font-ui),system-ui,sans-serif;font-weight:700;font-size:14px;box-shadow:0 2px 8px #f9731640}.ide-sidebar-id{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.01em;color:var(--text)}.ide-sidebar-meta{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;color:var(--text-muted)}.ide-sidebar-cta{width:100%;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.01em;padding:9px 12px;cursor:pointer;box-shadow:0 4px 12px #f973164d;transition:all .15s ease}.ide-sidebar-cta:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 16px #f9731666}.ide-sidebar-cta:active{transform:translateY(1px)}.ide-sidebar-nav{flex:1;padding:10px 0;display:flex;flex-direction:column;gap:2px}.ide-nav-link{display:flex;align-items:center;gap:10px;margin:1px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:15px;font-weight:500;letter-spacing:0;padding:9px 14px;cursor:pointer;text-align:left;transition:all .15s ease}.ide-nav-link:hover{background:var(--bg-hover);color:var(--text)}.ide-nav-link.active{background:linear-gradient(135deg,#f9731626,#f59e0b1f);color:var(--accent);font-weight:600;border-color:#f9731640;box-shadow:0 2px 8px #f973161a}.ide-nav-link .material-symbols-outlined{font-size:20px}.ide-sidebar-foot{border-top:1px solid var(--border);padding:10px 0 14px;display:flex;flex-direction:column;gap:4px}.ide-session-clock{display:flex;align-items:center;gap:8px;margin:4px 12px 0;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-muted);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:500}.ide-session-clock .material-symbols-outlined{font-size:16px;color:var(--accent)}.ide-session-clock-time{margin-left:auto;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.ide-sidebar-logout{margin:6px 12px 0;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:600;padding:8px 12px;cursor:pointer;transition:all .15s ease}.ide-sidebar-logout:hover{background:var(--status-err-bg);color:var(--status-err-text);border-color:#ef44444d}.ide-shell-main{grid-area:main;min-height:0;overflow:auto;background:var(--bg)}.ide-shell-main:has(.shell-page){overflow:hidden;display:flex;flex-direction:column}.ide-workspace.shell-content{flex:none;min-height:auto;overflow:visible}.ide-workspace.shell-content:has(.shell-page){flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.ide-shell-footer{grid-area:footer;height:var(--ide-footer-height, 34px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--border);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;z-index:30}.ide-footer-left{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-muted)}.ide-footer-links{display:none;gap:16px}.ide-footer-links a{color:var(--text-secondary);text-decoration:none;font-size:12px;transition:color .15s}.ide-footer-links a:hover{color:var(--accent)}.ide-footer-status{display:flex;align-items:center;gap:6px;color:var(--text-muted);white-space:nowrap}.ide-footer-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #f9731699;animation:ide-pulse 2s ease-in-out infinite}@keyframes ide-pulse{0%,to{opacity:1}50%{opacity:.35}}.dash-page{max-width:1200px;margin:0 auto;padding:28px 28px 48px;display:flex;flex-direction:column;gap:28px}.dash-header{margin-bottom:6px}.dash-greeting{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.2}.dash-sub{margin:6px 0 0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:14px;color:var(--text-muted)}.dash-hero-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:24px}@media(max-width:900px){.dash-hero-grid{grid-template-columns:1fr}}.dash-featured{position:relative;background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:30px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:var(--glass-shadow)}.dash-featured--empty{justify-content:flex-start;gap:8px}.dash-kicker{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.dash-featured-title{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:26px;font-weight:700;line-height:1.25;color:var(--text);letter-spacing:-.02em;max-width:28rem}.dash-featured-sub{margin:8px 0 0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:14px;color:var(--text-muted);line-height:1.5}.dash-featured-btn{align-self:flex-start;margin-top:22px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:15px;font-weight:600;letter-spacing:.01em;text-transform:none;padding:10px 22px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;position:relative;z-index:2;box-shadow:0 4px 14px #f9731659;transition:all .15s ease}.dash-featured-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #f9731673}.dash-featured-deco{position:absolute;right:-36px;bottom:-36px;opacity:.06;pointer-events:none;color:var(--accent)}.dash-featured-deco-icon{font-size:220px!important}.dash-summary{background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur-lg);-webkit-backdrop-filter:var(--glass-blur-lg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--glass-shadow)}.dash-progress-ring{position:relative;width:124px;height:124px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:5px solid var(--bg-muted);border-radius:50%}.dash-progress-spin{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:5px solid transparent;border-top-color:var(--accent);border-radius:50%;animation:dash-spin 3s linear infinite}@keyframes dash-spin{to{transform:rotate(360deg)}}.dash-progress-inner{display:flex;flex-direction:column;align-items:center;z-index:1}.dash-progress-value{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:32px;font-weight:700;line-height:1;color:var(--text)}.dash-progress-label{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:600;color:var(--text-muted);margin-top:4px;letter-spacing:.05em}.dash-summary-stats{display:flex;flex-direction:column;gap:4px}.dash-stat{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:15px;color:var(--text-muted)}.dash-stat strong{color:var(--text);font-weight:600}.dash-chapters{display:flex;flex-direction:column;gap:18px}.dash-section-head{display:flex;align-items:flex-end;gap:16px}.dash-section-head h3{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.dash-section-rule{flex:1;height:1px;background:var(--border);margin-bottom:6px}.dash-section-tag{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.dash-chapter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.dash-chapter-card{background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:20px;min-height:185px;display:flex;flex-direction:column;box-shadow:var(--glass-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dash-chapter-card.unlocked{cursor:pointer}.dash-chapter-card.unlocked:hover{transform:translateY(-3px);border-color:#f9731666;box-shadow:0 16px 36px #f973161f,var(--glass-shadow)}.dash-chapter-card.locked{opacity:.65;border-color:var(--border)}.dash-chapter-top{display:flex;justify-content:space-between;align-items:flex-start}.dash-chapter-num{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid rgba(249,115,22,.25);background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--apple-font-ui),system-ui,sans-serif;font-weight:700;font-size:14px}.dash-chapter-num.muted{border-color:var(--border);background:var(--bg-muted);color:var(--text-muted)}.dash-status-pill{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:var(--radius-pill);background:var(--bg-muted);color:var(--text-muted)}.dash-status-pill.in_progress{background:var(--status-warn-bg);color:var(--status-warn-text);border:1px solid rgba(245,158,11,.3)}.dash-status-pill.completed{background:var(--status-ok-bg);color:var(--status-ok-text);border:1px solid rgba(16,185,129,.3)}.dash-locked-label{display:flex;align-items:center;gap:4px;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:600;color:var(--text-muted)}.dash-lock-icon{font-size:14px!important}.dash-chapter-title{margin:14px 0 0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:17px;font-weight:600;line-height:1.35;color:var(--text);flex:1}.dash-chapter-title.muted{color:var(--text-muted)}.dash-chapter-progress{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.dash-chapter-progress-head{display:flex;justify-content:space-between;margin-bottom:6px;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:500;color:var(--text-muted)}.dash-chapter-progress-head span:last-child{color:var(--accent);font-weight:600}.dash-bar{height:6px;border-radius:var(--radius-pill);background:var(--bg-muted);overflow:hidden}.dash-bar-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--accent) 0%,var(--accent-secondary) 100%);transition:width .5s ease}.dash-locked-foot{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--border);font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;color:var(--text-faint);text-align:center}.dash-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-status-cell{background:var(--glass-bg-elevated);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:16px}.dash-status-label{font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase}.dash-status-value{display:flex;align-items:center;gap:8px;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:14px;font-weight:600;color:var(--text)}.dash-status-dot{width:8px;height:8px;background:var(--accent);flex-shrink:0}.dash-loading{padding:40px 24px;color:var(--text-faint);font-family:JetBrains Mono,monospace}@media(min-width:768px){.ide-shell-search{display:flex}.ide-shell-actions{margin-left:0}.ide-footer-links{display:flex}.dash-chapter-grid{grid-template-columns:repeat(2,1fr)}.dash-status-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.dash-hero-grid{grid-template-columns:2fr 1fr}.dash-chapter-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1180px){.ide-shell{grid-template-columns:1fr;grid-template-areas:"topbar" "main" "footer"}.ide-shell-menu{display:flex}.ide-shell.ide-shell--sidebar-hidden{grid-template-columns:1fr;grid-template-areas:"topbar" "main" "footer"}.ide-shell.ide-shell--sidebar-hidden .ide-shell-sidebar{display:flex}.ide-shell-brand{font-size:14px;max-width:42vw}.ide-shell-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,86vw);transform:translate(-100%);transition:transform .2s ease;box-shadow:4px 0 #00000014;z-index:50}.ide-shell-sidebar.open{transform:translate(0)}.ide-footer-left{display:none}.dash-page{padding:16px 12px 32px}.dash-greeting{font-size:24px}.dash-featured-title{font-size:20px}}.app-shell:not(.ide-shell){flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.topbar{height:58px;flex:0 0 58px;display:flex;align-items:center;gap:14px;padding:0 18px;background:var(--bg-subtle);border-bottom:1px solid var(--border);z-index:5}.topbar .brand{font-weight:800;color:var(--text);font-size:16px;display:flex;align-items:center;gap:10px}.topbar-logo,.drawer-logo{object-fit:contain;flex-shrink:0}.topbar .brand .dot,.drawer-brand .dot{width:28px;height:28px;border-radius:9px;background:var(--bg-inverse);display:flex;align-items:center;justify-content:center;color:var(--text-inverse);font-weight:800;font-size:12px}.topbar-title{color:var(--text-muted);font-size:14px;font-weight:600}.topbar .spacer{flex:1}.topbar-chip{color:var(--text-muted);font-size:13px}.topbar-chip b{color:var(--text)}.topbar-avatar{width:34px;height:34px;border-radius:50%;background:var(--bg-inverse);color:var(--text-inverse);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.hamburger{width:40px;height:40px;border-radius:9px;border:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.hamburger:hover{border-color:var(--border-focus)}.hamburger span{width:18px;height:2px;background:var(--text);border-radius:2px}.drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .18s;z-index:40}.drawer-overlay.show{opacity:1;pointer-events:auto}.drawer{position:absolute;top:0;left:0;bottom:0;width:264px;z-index:41;background:var(--bg-muted);border-right:1px solid var(--border);transform:translate(-100%);transition:transform .2s ease;display:flex;flex-direction:column;box-shadow:var(--shadow-md)}.drawer.open{transform:translate(0)}.drawer-brand{display:flex;align-items:center;gap:12px;padding:18px 18px 16px;border-bottom:1px solid var(--border)}.drawer-title{color:var(--text);font-weight:800;font-size:15px}.drawer-sub{color:var(--text-faint);font-size:11px}.drawer-nav{display:flex;flex-direction:column;gap:4px;padding:14px 12px;flex:1}.drawer-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;cursor:pointer;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:600;text-align:left;width:100%}.drawer-link .ico{font-size:16px;width:20px;text-align:center}.drawer-link:hover{background:var(--bg-hover);color:var(--text)}.drawer-link.active{background:var(--bg-hover);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.drawer-foot{border-top:1px solid var(--border);padding:14px;display:flex;flex-direction:column;gap:10px}.drawer-user{display:flex;align-items:center;gap:10px}.drawer-user .avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-inverse);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px}.drawer-user .nm{color:var(--text);font-weight:600;font-size:13px}.drawer-user .rl{color:var(--text-faint);font-size:11px}.drawer-logout{height:34px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-muted);color:var(--status-err-text);cursor:pointer;font-weight:600}.drawer-logout:hover{background:var(--bg-inset)}.shell-content{flex:1;min-height:0;overflow:auto}.dash-loading,.dash-hero,.section-h,.chapter-grid{max-width:1120px;margin-left:auto;margin-right:auto}.dash-loading{padding:40px 24px;color:var(--text-faint)}.dash-hero{display:flex;gap:22px;padding:28px 24px 8px;align-items:stretch}.hero-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.hero-hi{font-size:24px;font-weight:800;color:var(--text)}.hero-sub{color:var(--text-muted);font-size:13px;margin-top:-8px}.continue-card{background:var(--bg-muted);border:1px solid var(--border);border-radius:16px;padding:20px 22px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:transform .1s,border-color .1s;position:relative;overflow:hidden}.continue-card:hover{transform:translateY(-2px);border-color:var(--border-focus)}.continue-tag{font-size:11px;letter-spacing:1.2px;font-weight:800;color:var(--text-muted);text-transform:uppercase}.continue-title{font-size:19px;font-weight:700;color:var(--text);line-height:1.3}.continue-meta{color:var(--text-muted);font-size:13px}.continue-btn{align-self:flex-start;padding:0 20px;margin-top:6px}.hero-right{flex:0 0 220px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:center}.ring{position:relative;width:80px;height:80px}.ring-bg{fill:none;stroke:var(--bg-inset);stroke-width:7}.ring-fg{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .6s ease}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-label b{color:var(--text);font-size:18px}.ring-label span{color:var(--text-faint);font-size:10px}.stat-line{color:var(--text-secondary);font-size:13px}.stat-line b{color:var(--text)}.stat-line.muted{color:var(--text-muted)}.section-h{color:var(--text);font-size:18px;padding:22px 24px 12px;margin:0}.chapter-grid{padding:0 24px 60px}.bar{height:7px;border-radius:999px;background:var(--bg-inset);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .5s ease}.chapter-card.completed{border-color:var(--border-strong)}.chapter-card .cc-top{display:flex;align-items:center;justify-content:space-between}.chapter-card .cc-idx{font-size:12px;font-weight:800;color:var(--text);background:var(--bg-inset);border:1px solid var(--border);width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}.chapter-card .cc-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.35;min-height:40px}.chapter-card .cc-foot{font-size:11px;color:var(--text-muted);margin-top:2px}.hidden{display:none!important}.ide-root{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.ide-root.ide-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--ide-bg)}.mode-toggle{display:flex;margin-left:14px;background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px}.mode-btn{height:26px;padding:0 12px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:700}.mode-btn.active{background:var(--accent);color:var(--text-inverse)}.mode-toggle--play{margin-left:0;padding:2px;gap:2px;border-radius:8px;background:var(--apple-fill-tertiary, rgba(118, 118, 128, .12));border:0;box-shadow:none}.mode-toggle--play .mode-btn{height:28px;padding:0 10px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;letter-spacing:-.01em;color:var(--apple-label-secondary, rgba(60, 60, 67, .6));transition:background .1s ease-out,color .1s ease-out}.mode-toggle--play .mode-btn .material-symbols-outlined{font-size:15px;line-height:1}.mode-toggle--play .mode-btn:hover{background:transparent;color:var(--apple-label, rgba(0, 0, 0, .85))}.mode-toggle--play .mode-btn--blocks.active,.mode-toggle--play .mode-btn--code.active{background:var(--apple-bg, #fff);color:var(--apple-label, rgba(0, 0, 0, .85));font-weight:600;box-shadow:0 .5px 1px #00000014,0 1px 2px #0000000f;transform:none}.ide-tool-btn{height:30px;padding:0 12px;border-radius:6px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary);cursor:pointer;font-size:12px;margin-left:8px}.ide-tool-btn:hover{background:var(--bg-hover);border-color:var(--border-focus)}.ide-tool-select{height:30px;max-width:160px;margin-left:8px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary);font-size:12px}.ide-tool-select.hidden{display:none}#btn-upload-board .material-symbols-outlined{font-size:16px;vertical-align:-3px}.ide-auto-wrap{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:12px;color:var(--text-muted);cursor:pointer;user-select:none}.ide-auto-wrap input{accent-color:var(--accent);cursor:pointer}.ide-menu-wrap{position:relative}.ide-menu{position:absolute;top:36px;right:0;z-index:120;min-width:200px;max-width:min(360px,calc(100vw - 24px));background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);overflow-x:hidden;overflow-y:auto;padding:4px}#files-menu{left:0;right:auto;min-width:240px;max-height:min(60vh,420px)}#examples-menu{min-width:280px;max-height:70vh;overflow-y:auto}#toolbar,.ide-toolbar-aux,.ide-root.ide-fullscreen #toolbar,.ide-root.ide-fullscreen .ide-toolbar-aux{overflow:visible}.ide-menu-item{padding:9px 12px;border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer}.ide-menu-item:hover{background:var(--bg-hover);color:var(--text)}.ide-menu-item.muted{color:var(--text-faint);cursor:default}.ide-menu-item.muted:hover{background:transparent;color:var(--text-faint)}.ide-menu-sep{padding:8px 12px 4px;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted)}.ide-menu-item.file-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.ide-menu-item.file-row.active{background:var(--bg-hover)}.file-row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row-act{opacity:.5;font-size:12px;padding:0 4px}.file-row-act:hover,.file-row-del:hover{opacity:1;color:var(--text)}.file-name{color:var(--text-secondary);font-size:13px;font-weight:600;margin-left:10px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:5px;padding:3px 8px}.file-name:hover{background:var(--bg-hover);color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#12100ea6;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:modal-fade-in .2s cubic-bezier(.16,1,.3,1) both}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal-card{width:380px;max-width:92vw;background:var(--glass-bg-elevated);backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:24px;box-shadow:var(--shadow-2xl)}.modal-title{color:var(--text);font-family:var(--font-sans);font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.modal-label{display:block;font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text-muted);margin:14px 0 6px}.modal-label:first-of-type{margin-top:0}.muted-cell{color:var(--text-faint);font-style:italic}.modal-input{width:100%;height:42px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:0 14px;font-family:var(--font-sans);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f973162e}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-actions .btn-sm{height:36px;padding:0 16px;border-radius:var(--radius-full);font-family:var(--font-sans);font-weight:600}.modal-actions .btn-primary{height:36px;padding:0 20px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;border:none;font-family:var(--font-sans);font-weight:700;box-shadow:0 2px 8px #f9731647;cursor:pointer;transition:all .15s ease}.modal-actions .btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 14px #f9731661}.modal-actions .btn-primary.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d}#workspace-stack{position:relative;flex:1;min-height:0}#workspace-stack #editor-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--bg)}#workspace-stack #editor-container .monaco-editor{width:100%!important;height:100%!important}#workspace-stack #editor-container .monaco-editor .cursor{background-color:var(--accent)!important;border-color:var(--accent)!important;width:2px!important}#workspace-stack #editor-container .monaco-editor .line-numbers{color:var(--text-muted)!important}#workspace-stack #editor-container .monaco-editor .suggest-widget{z-index:40!important}.ide-show-board-btn{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%)!important;color:#fff!important;border:1px solid var(--accent)!important;border-radius:var(--radius-full);box-shadow:0 2px 8px #f9731647;transition:all .15s ease}.ide-show-board-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 14px #f9731661}#blockly-host{position:absolute;top:0;right:0;bottom:0;left:0}.blocks-play-banner{display:flex;align-items:center;gap:12px;flex:0 0 auto;z-index:3;margin:0;padding:10px 14px;background:var(--apple-fill-quaternary, rgba(116, 116, 128, .08));border-bottom:.5px solid var(--apple-separator, rgba(60, 60, 67, .29));box-shadow:none}.blocks-play-banner-emoji{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-size:18px;background:linear-gradient(145deg,#ffedd5,#ccfbf1);box-shadow:0 2px 8px #ea580c26;flex-shrink:0}.blocks-play-banner-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.blocks-play-banner-copy strong{font-size:13px;font-weight:600;color:var(--apple-label, rgba(0, 0, 0, .85));letter-spacing:-.01em}.blocks-play-banner-copy span{font-size:11px;line-height:1.35;color:#64748b}.ide-mode-blocks #workspace-stack{display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 50% at 10% 0%,rgba(249,115,22,.08),transparent 55%),radial-gradient(ellipse 70% 45% at 90% 10%,rgba(14,165,233,.1),transparent 50%),#f0fdfa}.ide-mode-blocks #blockly-host{position:relative;inset:auto;flex:1;min-height:0;border-radius:0 0 10px 10px;overflow:hidden}.ide-mode-blocks .ide-editor-head{background:var(--apple-material-chrome, rgba(246, 246, 248, .92));border-bottom-color:var(--apple-separator, rgba(60, 60, 67, .29))}.ide-mode-blocks .ide-editor-head-left .material-symbols-outlined{color:var(--accent)}.ide-mode-blocks #file-name:after{content:" · Blocks";font-weight:500;color:var(--apple-label-secondary, rgba(60, 60, 67, .6));font-size:11px}#output-header{justify-content:space-between}#btn-clear-output{height:18px;padding:0 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-muted);cursor:pointer;font-size:10px}#btn-clear-output:hover{background:var(--bg-hover);color:var(--text)}.ide-mode-blocks .blocklyToolboxDiv{background:linear-gradient(180deg,#fff,#f0fdfa)!important;border-right:1px solid #99f6e4!important;color:#0f172a!important;padding-top:6px!important;box-shadow:4px 0 16px #0d94880f}.ide-mode-blocks .blocklyTreeRow{height:34px!important;line-height:34px!important;margin:3px 8px!important;padding:0 10px!important;border-radius:10px!important;transition:background .15s ease,transform .12s ease}.ide-mode-blocks .blocklyTreeRow:hover{background:#ccfbf1!important;transform:translate(2px)}.ide-mode-blocks .blocklyTreeSelected{background:linear-gradient(135deg,#ffedd5,#fef3c7)!important;box-shadow:inset 0 0 0 1px #fdba74}.ide-mode-blocks .blocklyTreeLabel{font-family:var(--apple-font-ui),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.01em}.ide-mode-blocks .blocklyFlyoutBackground{fill:#ecfeff!important}.ide-mode-blocks .blocklyMainBackground{fill:#f0fdfa!important}.ide-mode-blocks .blocklyScrollbarHandle{fill:#5eead4!important;opacity:.75}.ide-mode-blocks .blocklyZoom>image,.ide-mode-blocks .blocklyZoom>svg{filter:drop-shadow(0 2px 4px rgba(13,148,136,.25))}.blocklyToolboxDiv{background:var(--bg)!important;border-right:1px solid var(--border)!important;color:var(--text)!important}.blocklyFlyoutBackground{fill:var(--bg-subtle)}.blocklyMainBackground{fill:var(--bg)!important}#toolbar{height:48px;flex:0 0 48px;background:var(--ide-toolbar);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px}#app-title{font-weight:600;font-size:14px;color:var(--text)}#status-dot{width:10px;height:10px;border-radius:50%;margin-left:12px;background:var(--text-faint)}#status-dot.status-idle{background:var(--text-faint)}#status-dot.status-running,#status-dot.status-compiling{background:var(--accent);animation:pulse 1s infinite}#status-dot.status-paused{background:var(--text-muted);animation:none}#status-dot.status-stopped{background:var(--text-faint)}#status-dot.status-error{background:var(--text-secondary)}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}#toolbar-spacer{flex:1}#toolbar button{height:32px;padding:0 14px;border-radius:4px;border:none;font-size:13px;cursor:pointer;margin-left:8px}#btn-run{background:var(--accent);color:var(--text-inverse);font-weight:600}#btn-run:disabled{background:var(--bg-inset);color:var(--text-faint);cursor:default}#btn-stop{background:var(--text-secondary);color:var(--text-inverse)}#btn-stop:disabled{background:var(--bg-inset);color:var(--text-faint);cursor:default}#btn-pause{background:var(--text-muted);color:var(--text-inverse)}#btn-pause:disabled{background:var(--bg-inset);color:var(--text-faint);cursor:default}#btn-reset{background:var(--bg-inset);color:var(--text-secondary)}#body{flex:1;display:flex;min-height:0}#editor-column{flex:0 0 55%;display:flex;flex-direction:column;min-height:0}#editor-tabs{flex:0 0 30px;display:flex;align-items:stretch;background:var(--bg-subtle);border-bottom:1px solid var(--border);overflow-x:auto}.ed-tab{display:flex;align-items:center;gap:6px;padding:0 10px;font-size:12px;color:var(--text-muted);border-right:1px solid var(--border);cursor:pointer;white-space:nowrap}.ed-tab.active{background:var(--ide-bg);color:var(--text);border-bottom:2px solid var(--accent)}.ed-tab-close{opacity:.6;font-size:14px}.ed-tab-close:hover{opacity:1;color:var(--text)}.ed-tab-add{padding:0 12px;display:flex;align-items:center;color:var(--text-faint);cursor:pointer;font-size:16px}.ed-tab-add:hover{color:var(--text)}#editor-container{flex:1;min-height:0}.err-line{background:#00000014}.err-gutter{background:var(--text);width:4px!important;margin-left:2px}.err-line-margin{background:#00000014}.err-glyph{background:var(--text);border-radius:50%;width:10px!important;height:10px!important;margin:5px 0 0 5px}.monaco-editor .err-line{border-left:2px solid var(--text)}.demo-line{background:#0d948824!important}.demo-gutter{background:#0d9488;width:4px!important;margin-left:2px}.demo-glyph{background:var(--accent);border-radius:50%;width:10px!important;height:10px!important;margin:5px 0 0 5px;box-shadow:0 0 0 2px #f9731659}.monaco-editor .demo-line{border-left:3px solid #0d9488}.code-guide-panel{flex:0 0 auto;border-top:1px solid #99f6e4;background:linear-gradient(105deg,#f973160f,#0d948814),var(--bg, #fff);display:flex;flex-direction:column;max-height:168px}.code-guide-panel.hidden{display:none!important}.code-guide-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px 4px;border-bottom:1px solid rgba(13,148,136,.15)}.code-guide-title{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#0f766e}.code-guide-title .material-symbols-outlined{font-size:18px;color:var(--accent)}.code-guide-badge{font-size:9px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:999px;background:#ccfbf1;color:#0f766e}.code-guide-modes{display:inline-flex;padding:2px;gap:2px;border-radius:999px;background:#ecfeff;border:1px solid #99f6e4}.code-guide-mode{height:26px;padding:0 10px;border:none;border-radius:999px;background:transparent;color:#0f766e;font-size:11px;font-weight:700;cursor:pointer}.code-guide-mode.active{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff7ed}.code-guide-actions{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.code-guide-btn{height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-muted, #f4f4f5);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700}.code-guide-btn .material-symbols-outlined{font-size:16px}.code-guide-btn:disabled{opacity:.45;cursor:default}.code-guide-btn.ghost{border-color:transparent;background:transparent}.code-guide-speed{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted);font-weight:600}.code-guide-speed input{width:88px;accent-color:#0d9488}.code-guide-body{padding:8px 12px 10px;overflow:auto}.code-guide-line-meta{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;flex-wrap:wrap}#code-guide-line-no{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:800;color:var(--accent);flex:0 0 auto}.code-guide-snippet{font-family:JetBrains Mono,monospace;font-size:12px;color:#0f172a;background:#0f172a0a;padding:2px 8px;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-guide-summary{margin:0;font-size:13px;font-weight:650;color:var(--text, #0f172a);line-height:1.4}.code-guide-detail{margin:4px 0 0;font-size:12px;color:var(--text-muted, #64748b);line-height:1.4}.ide-guide-toggle{height:18px;padding:0 8px;margin-left:auto;margin-right:6px;border-radius:4px;border:1px solid #99f6e4;background:#ecfeff;color:#0f766e;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ide-guide-toggle.active,.ide-guide-toggle:hover{background:linear-gradient(135deg,var(--accent),var(--accent-hover));border-color:var(--accent);color:#fff7ed}.ide-root.ide-guide-open #output-panel{flex:0 0 120px;height:120px}#output-panel{height:150px;flex:0 0 150px;border-top:1px solid var(--border);display:flex;flex-direction:column}#output-header{height:24px;flex:0 0 24px;background:var(--ide-toolbar);padding:0 10px;display:flex;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}#output-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:6px 10px;font-family:Consolas,Menlo,monospace;font-size:12.5px;line-height:1.5;background:var(--bg);color:var(--text)}.output-line-info{color:var(--text)}.output-line-error{color:var(--text);font-weight:600}.output-line-system{color:var(--text-muted);font-style:italic}#divider{width:6px;flex:0 0 6px;background:var(--bg-inset);cursor:col-resize}#divider:hover{background:var(--accent)}#sim-column{flex:1;background:var(--ide-sim-bg);display:flex;min-height:0;min-width:0;overflow:hidden}#wb{flex:1;display:flex;flex-direction:row;min-width:0;min-height:0}#wb.wb-sim-locked .wb-palette{opacity:.55;pointer-events:none}#wb.wb-sim-locked .wb-part .wb-sel{stroke-dasharray:4 3}#wb.wb-sim-locked .wb-part{cursor:default}#wb.wb-sim-locked .joy-stick,#wb.wb-sim-locked .joy-base,#wb.wb-sim-locked .joy-cap{cursor:grab}#wb.wb-sim-locked .joy-stick:active,#wb.wb-sim-locked .joy-cap:active{cursor:grabbing}.joy-cap{fill:#ef5350;stroke:#b71c1c;stroke-width:1;cursor:grab;pointer-events:none}.wb-palette{flex:0 0 220px;width:220px;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--bg-subtle)}.wb-palette-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-muted)}.wb-palette-head .material-symbols-outlined{font-size:18px;color:var(--text-muted)}.wb-palette-title{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}#wb-palette-search{flex:0 0 auto;margin:8px;padding:7px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);font-size:12px;font-family:inherit}#wb-palette-search:focus{outline:none;border-color:var(--border-focus)}.wb-palette-list{flex:1;min-height:0;overflow-y:auto;padding:4px 8px 12px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.wb-palette-cat{padding:10px 4px 4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);opacity:.65}.wb-palette-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;width:100%;margin-bottom:6px;padding:10px 6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);cursor:pointer;text-align:center;transition:border-color .12s,background .12s}.wb-palette-item:hover{border-color:var(--accent);background:var(--bg-hover)}.wb-palette-item:active{transform:scale(.98)}.wb-part-ico{width:64px;height:48px;flex-shrink:0;pointer-events:none}.wb-palette-note{margin:0 8px 8px;padding:8px 10px;border-radius:4px;border:1px dashed var(--border);background:var(--bg);font-size:10px;line-height:1.35;color:var(--text-muted)}.wb-palette-note strong{display:block;margin-bottom:4px;color:var(--text);font-size:10px}.wb-palette-item.is-exhausted{opacity:.45;cursor:not-allowed}.wb-palette-qty{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;color:var(--accent, #1565c0);letter-spacing:.02em}.wb-part-name{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.03em;line-height:1.3;color:var(--text);word-break:break-word}#wb-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}#wb-add-wrap{position:relative}#wb-add-btn{height:26px;padding:0 12px;border-radius:4px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}#wb-add-btn:hover,#wb-add-btn.open{background:var(--bg-hover);border-color:var(--border-focus)}.wb-caret{font-size:10px;opacity:.8}#wb-add-menu{position:absolute;top:32px;left:0;z-index:30;width:340px;max-height:70vh;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden}#wb-add-menu.hidden{display:none}#wb-add-search{margin:8px;padding:7px 10px;border-radius:5px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text);font-size:12px;outline:none}#wb-add-search:focus{border-color:var(--border-focus)}#wb-add-list{overflow-y:auto;padding:0 6px 8px}.wb-add-cat{position:sticky;top:0;z-index:1;background:var(--bg);padding:8px 8px 4px;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted)}.wb-add-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer;color:var(--text-secondary)}.wb-add-item:hover{background:var(--bg-hover)}.wb-add-ico{flex:0 0 46px;width:46px;height:34px;background:var(--bg-muted);border:1px solid var(--border);border-radius:5px;padding:2px}.wb-add-name{font-size:13px;line-height:1.2}#wb-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}#wb-tools{flex:0 0 38px;display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}#wb-tools button{height:26px;padding:0 10px;border-radius:4px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary);cursor:pointer;font-size:12px}#wb-tools button:disabled{opacity:.4;cursor:default;pointer-events:none}#wb-tools button:hover:not(:disabled){background:var(--bg-hover)}.wb-sep{width:1px;height:20px;background:var(--border);margin:0 4px}#wb-hint{color:var(--text-faint);font-size:11px;margin-left:auto}#wb-svg{flex:1;width:100%;background:var(--ide-canvas-bg);cursor:default;touch-action:manipulation;overscroll-behavior:contain}.wb-grid-canvas{cursor:default}.wb-grid-minor{stroke:var(--wb-grid-minor);stroke-width:1;shape-rendering:crispEdges}.wb-grid-major{stroke:var(--wb-grid-major);stroke-width:1.2;shape-rendering:crispEdges}.wb-grid-dot{fill:var(--wb-grid-dot)}.wb-grid-line{stroke:var(--wb-grid-minor);stroke-width:1}.wb-grid-origin-dot{fill:var(--accent);opacity:.6}.wb-grid-origin-axis{stroke:var(--accent);stroke-width:1.5;opacity:.4;shape-rendering:crispEdges}.wb-part{cursor:grab}.wb-part:active{cursor:grabbing}.wb-part .wb-sel{fill:none;stroke:none}.wb-part:hover .wb-sel,.wb-part.selected .wb-sel{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 4;fill:#f973160d;animation:wb-dash-march .45s linear infinite}.wb-part.selected .wb-sel{stroke-width:1.8}#wb-part-tags{pointer-events:none}.wb-part-tag-bg{fill:#ffffffeb;stroke:#37474f38;stroke-width:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.wb-part-tag-text{fill:#37474f;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em;dominant-baseline:alphabetic;paint-order:stroke fill;stroke:#ffffffd9;stroke-width:2.5px}[data-theme=dark] .wb-part-tag-bg{fill:#1e1b18f0;stroke:#fff0e129;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}[data-theme=dark] .wb-part-tag-text{fill:#ded6ce;stroke:#141210e6}.wb-usb-power{pointer-events:none}.wb-usb-power .wb-usb-glow{fill:#2ecc7100;opacity:0;transition:fill .35s ease,opacity .35s ease}.wb-usb-power.wb-usb-connected .wb-usb-glow{fill:#2ecc7159;opacity:1;animation:wb-usb-pulse 1.6s ease-in-out infinite}.wb-usb-power .wb-usb-plug-group{transition:transform .55s cubic-bezier(.22,1.15,.36,1)}.wb-usb-power .wb-usb-plug-img{pointer-events:none}.wb-usb-power.wb-usb-docking .wb-usb-plug-group{filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.wb-usb-power.wb-usb-connected .wb-usb-plug-group{filter:drop-shadow(0 0 5px rgba(46,204,113,.65))}@keyframes wb-usb-pulse{0%,to{opacity:.55}50%{opacity:1}}.wb-body{pointer-events:all;filter:url(#wb-soft-shadow)}.wb-body:has(image){filter:none}.wb-body:has(foreignObject),.wb-body:has(.wb-px-screen){filter:none}.wb-overlay{pointer-events:none}.wb-px-screen{pointer-events:none;image-rendering:pixelated}#wb-pins,.wb-pin-group{pointer-events:none}.wb-pin-hit{fill:transparent;stroke:none;cursor:crosshair;pointer-events:all}.wb-pin-group:hover .pin-pad,.wb-pin-group.pending .pin-pad{stroke:#fff;stroke-width:1.2;filter:brightness(1.15)}.wb-pin-group.pending .pin-hole{fill:var(--bg-inverse)}.wb-pin-label{fill:#b8c4c6;font:6.5px Consolas,monospace;pointer-events:none;opacity:.85}#wb-junctions{pointer-events:none}.wb-junction{fill:url(#wb-grad-gold);stroke:#7a6318;stroke-width:.8}#wb-wires{pointer-events:none}#wb-wires .wb-wire-hit{fill:none;stroke:transparent;stroke-width:14;cursor:pointer;pointer-events:stroke}#wb-wires .wb-wire-node{pointer-events:all;cursor:move}.wb-wire{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.wb-wire-group:hover .wb-wire,.wb-wire.sel{stroke-dasharray:7 5;animation:wb-dash-march .4s linear infinite}.wb-wire.sel{stroke-width:3;cursor:grabbing}.wb-wire-node{fill:var(--bg-inverse);stroke:#fff;stroke-width:1.5;cursor:move}.wb-wire-node:hover{fill:var(--accent);stroke:#fff;stroke-width:2}.wb-wire-group.sel .wb-wire-node{fill:#0d9488}.wb-wire-end{fill:url(#wb-grad-gold);stroke:#7a6318;stroke-width:.6;pointer-events:none}.wb-temp-wire{fill:none;stroke:#43a047;stroke-width:2.5;stroke-dasharray:6 4;stroke-linecap:round;stroke-linejoin:round;display:none;pointer-events:none}.wb-temp-wire.snapped{stroke:#0d9488;stroke-width:3;stroke-dasharray:none}#wb.wb-wiring .wb-pin-hit{stroke:transparent;stroke-width:10}#wb.wb-wiring .wb-pin-group .pin-pad{stroke:#0d9488;stroke-width:.8;opacity:.9}.wb-snap-ring{display:none;pointer-events:none;fill:#0d948838;stroke:#0d9488;stroke-width:2}@keyframes wb-dash-march{to{stroke-dashoffset:-18}}.wb-prop-hint{font-size:11px;color:var(--text-muted);line-height:1.35;margin-bottom:8px}#wb-props{position:absolute;right:12px;bottom:12px;width:220px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px;display:none;box-shadow:var(--shadow-md)}.wb-prop-title{font-weight:600;color:var(--text);margin-bottom:8px;font-size:13px}.wb-prop-row{display:flex;align-items:center;gap:8px;margin:6px 0;color:var(--text-muted);font-size:12px}.wb-prop-row input[type=range]{flex:1}.wb-prop-color,.wb-prop-value{flex:1;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid #444;border-radius:4px;padding:2px}.wb-prop-actions{display:flex;gap:6px;margin-top:10px}.wb-prop-btn{flex:1;height:28px;border-radius:4px;border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary);cursor:pointer;font-size:12px}.wb-prop-btn:hover{background:var(--bg-hover)}.wb-prop-btn.danger{background:var(--bg-inset);border-color:var(--border-strong)}.wb-prop-btn.toggle.on{background:var(--bg-active);border-color:var(--border-focus)}.wb-swatch{width:18px;height:18px;border-radius:4px;cursor:pointer;border:1px solid #555}.p-silk{fill:#e8eff0;font:7.5px system-ui,sans-serif;opacity:.92}.p-title{fill:#f5f8f9;font:700 11px system-ui,sans-serif}.p-small{fill:#dce6e8;font:7.5px system-ui,sans-serif;opacity:.9}.p-tiny{fill:#eef4f5;font:6px system-ui,sans-serif;opacity:.85}.p-brand{fill:#f2fafb;font:700 12px system-ui,sans-serif;letter-spacing:1.2px;opacity:.92}.p-chip{fill:#8fa3a6;font:7.5px Consolas,monospace}.p-pin{fill:#c5d5d8;font:6px Consolas,monospace}.p-leg{stroke:url(#wb-grad-leg);stroke-width:2.2;stroke-linecap:round}.pcb{fill:url(#wb-grad-pcb);stroke:#004548;stroke-width:1.2}.pcb-blue{fill:#1a3d5c;stroke:#0c2745;stroke-width:1.2}.pcb-green{fill:#1b5e40;stroke:#0d3d28;stroke-width:1.2}.pcb-brown{fill:#6d4c2f;stroke:#3e2a18;stroke-width:1.2}.pcb-esp{fill:#1a1a1f;stroke:#000;stroke-width:1.2}.shield{fill:#d8dce0;stroke:#8a8f94;stroke-width:.8}.hdr{fill:#141418;stroke:#000;stroke-width:.8}.pin-pad,.hdr-pad{fill:url(#wb-grad-gold);stroke:#8a7020;stroke-width:.55}.pin-hole,.pin-hole2{fill:#1a1408;stroke:#3d3010;stroke-width:.4}.metal{fill:url(#wb-grad-metal);stroke:#6d757a;stroke-width:.8}.ic-body{fill:#1c1c20;stroke:#000;stroke-width:.8}.dip-notch{fill:#0a0a0c;stroke:none}.dip-pin-lab{fill:#cfd8dc;font:700 8px JetBrains Mono,Consolas,monospace;dominant-baseline:middle}.dip-pin-hint{fill:#78909c;font:6px JetBrains Mono,Consolas,monospace;dominant-baseline:middle}.ic-dot{fill:#555}.onled{fill:#3a1818;stroke:#2a0808;stroke-width:.6;transition:fill 60ms linear,opacity 60ms linear,filter 60ms linear}.cap{fill:#1b2a44;stroke:#0c1526;stroke-width:1}.chip-notch{fill:#2a2a2a}.led-grn{fill:#43a047}.led-yel{fill:#c9b030}.jack-port{fill:#5a6066;stroke:#3a3f44;stroke-width:.5}.bat-body{fill:#d9a441;stroke:#8a681f;stroke-width:1.5}.bat-cap{fill:#9aa0a6}.bat-nub{fill:#c2c8cd}.holder{fill:#222;stroke:#000;stroke-width:1.5}.coin{fill:#cfd3d6;stroke:#888;stroke-width:1}.led-glass{stroke:#00000038;stroke-width:1;transition:fill 60ms linear,fill-opacity 60ms linear}.led-base{transition:fill 60ms linear,fill-opacity 60ms linear}.led-halo{pointer-events:none;transition:opacity 60ms linear,r 60ms linear}.led-core{pointer-events:none;transition:opacity 60ms linear}#__bulb{transition:filter 60ms linear}.buzzer-body{fill:#121316;stroke:#000;stroke-width:1}.buzzer-ring{fill:none;stroke:#2a2a30;stroke-width:1}.buzzer-mesh{stroke:#3a3a42;stroke-width:.6;opacity:.7}.buzzer-hole{fill:#080808;stroke:#333;stroke-width:.5}.wb-part.active .buzzer-body{stroke:#b8960a}.relay-can{fill:#2454a8;stroke:#143060;stroke-width:.8}.fan-blade{fill:#90a4ae;stroke:#546e7a;stroke-width:1}.gearbox{fill:#f5d142;stroke:#b39a1e;stroke-width:2}.wheel{fill:#222;stroke:#000;stroke-width:2}.wheel-hub{fill:#999}.pump-body{fill:#1565c0;stroke:#0d3d78;stroke-width:2}.pump-out{fill:#90a4ae}.pump-hub{fill:#cfd8dc}.tap-pipe{fill:#90a4ae;stroke:#546e7a;stroke-width:1.5}.tap-body{fill:#cfd8dc;stroke:#607d8b;stroke-width:1.5}.tap-spout{fill:#b0bec5;stroke:#546e7a;stroke-width:1}.tap-lever{fill:#ef5350;stroke:#c62828;stroke-width:1}.tap-handle{transform-box:fill-box;transform-origin:bottom center;transition:transform .2s}.tap-handle.open{transform:rotate(-55deg)}.tap-stream{fill:none;stroke:#4fc3f7;stroke-width:4;stroke-linecap:round;stroke-dasharray:6 5;animation:tap-flow .35s linear infinite}.tap-stream-2{stroke:#81d4fa;stroke-width:2.5;animation-duration:.28s}.tap-splash{fill:#4fc3f773;animation:tap-splash .6s ease-in-out infinite alternate}@keyframes tap-flow{to{stroke-dashoffset:-22}}@keyframes tap-splash{0%{opacity:.35}to{opacity:.75}}.wb-part.tap-on .tap-body{fill:#bbdefb}@keyframes wbspin{to{transform:rotate(360deg)}}@keyframes wbspin-rev{to{transform:rotate(-360deg)}}.spin,.wb-part.spin .wheel,#__fan.spin,#__pump-rotor.spin,#__mshaft.spin{animation:wbspin .6s linear infinite;transform-box:fill-box;transform-origin:center}.spin-rev,.wb-part.spin-rev .wheel,#__fan.spin-rev,#__pump-rotor.spin-rev,#__mshaft.spin-rev{animation:wbspin-rev .6s linear infinite;transform-box:fill-box;transform-origin:center}.wb-part.spin,.wb-part.spin-rev{animation:none}.lcd-bezel{fill:#0c0c0c}.lcd-text-sm{fill:#e8edff;font:20px Consolas,monospace;letter-spacing:5px;white-space:pre}.wb-disp-view{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0}.wb-disp-row{display:grid;flex:1 1 0;min-height:0;grid-template-columns:repeat(var(--disp-cols, 16),1fr)}.wb-disp-cell{overflow:hidden;display:flex;align-items:center;justify-content:center;color:#e8edff;font-family:Consolas,Courier New,monospace;font-size:var(--disp-font-size, 12px);font-weight:400;line-height:1;box-sizing:border-box;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.wb-disp-row .wb-disp-cell:last-child{border-right:none}.wb-disp-view>.wb-disp-row:last-child .wb-disp-cell{border-bottom:none}.oled-screen{fill:#05060a;stroke:#222;stroke-width:1}.oled-text{fill:#4cc2ff;font:700 16px Consolas,monospace}.oled-line{fill:#4cc2ff;font:10px Consolas,monospace;white-space:pre}.tft-screen{fill:#081018;stroke:#222;stroke-width:1}.tft-text{fill:#3fd07a;font:700 20px Consolas,monospace}.seg-body{fill:#0e0e12;stroke:#000;stroke-width:1}.seg-face{fill:#18181c;stroke:none}.seg{fill:#2a1010;opacity:.35}.seg.on{fill:#e02020;opacity:1;filter:drop-shadow(0 0 3px rgba(255,40,40,.85))}.clock-digit{fill:#e02020;font:700 36px Consolas,monospace;opacity:.35}.clock-digit.on{opacity:1}.rgb-halo{opacity:0;pointer-events:none;transition:opacity .12s}.wb-part.lit .rgb-glass{filter:brightness(1.15)}.clock-colon{fill:#e02020;font:700 30px Consolas,monospace;opacity:.35}.btn-frame{fill:#eceff1;stroke:#9aa0a6;stroke-width:.8}.btn-well{fill:#1e1e24;stroke:#2e2e36;stroke-width:.6}.btn-mount{fill:#2a2a30;stroke:#111;stroke-width:.4}.btn-cap{fill:url(#wb-grad-btn);stroke:#6a1010;stroke-width:.8;transform-box:fill-box;transform-origin:center;transition:transform .05s,filter .05s}.btn-shine{fill:#ffffff47;pointer-events:none}.btn-cap.down{transform:translateY(2px);filter:brightness(1.12)}.switch-housing{fill:#e8eaed;stroke:#9aa0a6;stroke-width:1.5}.switch-well{fill:#1e1e24;stroke:#2e2e36;stroke-width:1}.switch-rocker{transition:transform .22s cubic-bezier(.4,0,.2,1);cursor:pointer}.switch-rocker.on{transform:rotate(-22deg)}.switch-rocker:not(.on){transform:rotate(22deg)}.switch-lever{fill:#f0f0f2;stroke:#bdbdbd;stroke-width:1.5;transition:fill .2s,stroke .2s}.switch-rocker.on .switch-lever{fill:#e8f5e9;stroke:#43a047}.switch-label{fill:#666;font:700 13px system-ui,sans-serif;pointer-events:none;transition:fill .2s}.switch-rocker.on .switch-label{fill:#2e7d32}.switch-led{fill:#2a2a30;stroke:#555;stroke-width:1;transition:fill .25s,filter .25s}.switch-led.lit{fill:#43a047;filter:drop-shadow(0 0 5px rgba(67,160,71,.95));animation:switch-glow 1.4s ease-in-out infinite}.switch-tag-off,.switch-tag-on{fill:#7a7a84;font:600 6.5px system-ui,sans-serif;pointer-events:none}.wb-part.switch-on .switch-tag-on{fill:#7ee08e}.wb-part:not(.switch-on) .switch-tag-off{fill:#d6d6dc}@keyframes switch-glow{0%,to{filter:drop-shadow(0 0 4px rgba(67,160,71,.8))}50%{filter:drop-shadow(0 0 9px rgba(126,224,142,1))}}.touch-pad{fill:#33475e;stroke:#5a7899;stroke-width:1.5}.touch-pad.down{fill:#4cc2ff}.kp-btn{fill:#232a36;stroke:#3a4456;stroke-width:1.5}.kp-key{cursor:pointer}.kp-key:hover .kp-btn{fill:#2e3646}.kp-key.pressed .kp-btn{fill:#3a2323;stroke:#f85149}.kp-label{fill:#f2f4f8;font:600 15px system-ui,sans-serif;pointer-events:none}.joy-base{fill:#111;stroke:#000;stroke-width:2;cursor:grab}.joy-stick{fill:#b71c1c;stroke:#7f0000;stroke-width:2;cursor:grab}.joy-cap{fill:#ef5350;stroke:#b71c1c;stroke-width:1;pointer-events:none}.wb-part.joy-pressed .joy-stick{fill:#7f0000}.knob-body{fill:#2b2b30;stroke:#000;stroke-width:2}.knob-mark{fill:#4cc2ff}.preset-body{fill:#1f6ecb;stroke:#0d3d78;stroke-width:1.5}.pir-dome{fill:#e7e7ea;stroke:#b7b7ba;stroke-width:1.5;opacity:.9}.us-eye{fill:#7a7a7a;stroke:#333;stroke-width:2}.dht-body{fill:#2b7de0;stroke:#16407a;stroke-width:2}.dht-vent{fill:#16407a}.reed{fill:#cfd8dc;stroke:#90a4ae;stroke-width:1}.res-body{fill:#c9b896;stroke:#8a7858;stroke-width:.8}.diode-body{fill:#141414;stroke:#000;stroke-width:.8}.diode-band{fill:#c8c8c8;stroke:#888;stroke-width:.4}.to92{fill:#141414;stroke:#000;stroke-width:.8}.to92-flat{fill:#2a2a2a}.xtor-sym{stroke:#9a9aa4;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}.wb-part.xtor-on .to92{fill:#1e3a24}.wb-part.xtor-on .to92-flat{fill:#2a4a30}.wb-part.xtor-on .xtor-sym{stroke:#7dcea0}.lens-ring{fill:#333;stroke:#000;stroke-width:2}.lens{fill:#0a3d62;stroke:#1e5f8f;stroke-width:2}.bboard{fill:#f3f3ee;stroke:#c8c8c0;stroke-width:1.5}.bboard-trench{fill:#d9d9d2;stroke:none}.rail-red{stroke:#e53935;stroke-width:1.6;opacity:.85}.rail-blue{stroke:#1e88e5;stroke-width:1.6;opacity:.85}.bb-rail-break{stroke:#9e9e9e;stroke-width:1;stroke-dasharray:2 2}.bhole{fill:#8e8e86}.bb-row-label,.bb-col-label,.bb-rail-label{fill:#6a6a64;font:8px IBM Plex Mono,Consolas,monospace;text-anchor:middle}.bb-rail-label{fill:#555;font-weight:700;font-size:10px}.bracket{fill:#cfd3d6;stroke:#8a8f94;stroke-width:2}.chassis{fill:#37474f;stroke:#1c262b;stroke-width:2}.iron-handle{fill:#b71c1c;stroke:#7f0000;stroke-width:1}.iron-tip{fill:#c2c8cd}.spool{fill:#9aa0a6;stroke:#666;stroke-width:2}.spool-hole{fill:#17171a}#circuit-wrap{width:100%;display:flex;justify-content:center}#circuit-svg{width:100%;max-width:1040px;height:auto}.pcb{fill:url(#wb-grad-pcb);stroke:#004548;stroke-width:1.2}.pcb-inner{fill:none;stroke:#00686b;stroke-width:.8;opacity:.7}.hole{fill:#063033;stroke:#b8c8ca;stroke-width:1}.chip-socket{fill:#23262c;stroke:#000;stroke-width:.8}.chip{fill:#141418;stroke:#000;stroke-width:.8}.chip-dot{fill:#5a5a5a}.chip-leg{fill:#9aa0a6}.chip-label{fill:#8fa3a6;font:8px Consolas,monospace;letter-spacing:.5px}.metal{fill:url(#wb-grad-metal);stroke:#6d757a;stroke-width:.8}.jack{fill:#121418;stroke:#000;stroke-width:.8}.jack-port{fill:#5a6066}.jack-hole{fill:#2a2a2a}.led-on{fill:#43a047}.led-tx,.led-rx{fill:#c9b030}.silk-brand{fill:#eef7f8;font:700 14px system-ui,sans-serif;letter-spacing:2px;opacity:.88}.silk-small{fill:#d3eef1;font:8px system-ui,sans-serif;letter-spacing:1px;opacity:.72}.silk-tiny{fill:#e6f4f5;font:5.5px system-ui,sans-serif;opacity:.75}.header{fill:#141418;stroke:#000;stroke-width:.8}.pin-pad{fill:url(#wb-grad-gold);stroke:#8a7020;stroke-width:.55}.pin-hole{fill:#1a1408;stroke:#3d3010;stroke-width:.4}.pin-label{fill:#c5d5d8;font:8px Consolas,monospace}.wire{fill:none;stroke-linecap:round;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55))}.wire-pad{stroke:#00000059;stroke-width:.75}.conn-label{fill:#9fb0b3;font:8px Consolas,monospace}.part-title{fill:#b6c6c9;font:10px system-ui,sans-serif;letter-spacing:.5px}.lcd-pcb{fill:#1f7a3d;stroke:#0f4a24;stroke-width:2}.lcd-hole{fill:#0f4a24;stroke:#cfe8d8;stroke-width:1.5}.lcd-bezel{fill:#0c0c0c;stroke:#000;stroke-width:1}.lcd-screen{fill:#2440d8;stroke:#16267a;stroke-width:2}.lcd-grid{stroke:#ffffff0f;stroke-width:1}.lcd-text{fill:#e8edff;font:26px Consolas,Courier New,monospace;letter-spacing:8px;white-space:pre}.servo-body{fill:#2f74d0;stroke:#1b4e96;stroke-width:2}.servo-tab{fill:#4f8ee0;stroke:#1b4e96;stroke-width:1}.servo-screw{fill:#cdd6e0}.servo-hub-outer{fill:#eceff1}.servo-hub{fill:#6b7378}.servo-horn{fill:#fafafa;stroke:#cfd8dc;stroke-width:1}.servo-horn-tip{fill:#e53935}.servo-ribbon{fill:#263238;stroke:#10171b;stroke-width:1}.servo-arm,#servo-arm,#__arm{transform-origin:0px 0px;transition:transform .25s cubic-bezier(.25,1,.5,1)}.angle-label{fill:#dfe7e8;font:700 13px Consolas,monospace}.keypad-pcb{fill:#e6e6e2;stroke:#b8b8b2;stroke-width:2}.keypad-border{fill:none;stroke:#9a9a94;stroke-width:1.5}.keypad-ribbon{fill:#cfcfc8;stroke:#a0a099;stroke-width:1}.keypad-ribbon-line{stroke:#8a8a84;stroke-width:1}.keypad-btn{cursor:pointer}.keypad-btn rect{fill:#232a36;stroke:#3a4456;stroke-width:1.5;transition:fill 60ms ease,stroke 60ms ease}.keypad-btn text{fill:#f2f4f8;font:600 17px system-ui,sans-serif;pointer-events:none}.keypad-btn:hover rect{fill:#2e3646}.keypad-btn:active rect,.keypad-btn.pressed rect{fill:#3a2323;stroke:#f85149}.led{fill:#5a1414;stroke:#2a0808;stroke-width:1.5;transition:fill 60ms linear,filter 60ms linear,opacity 60ms linear}.led-ring{fill:none;stroke:#cfd8dc;stroke-width:1;opacity:.4}.led-state{fill:#6f7d7f;font:700 11px Consolas,monospace}.led-state.high{fill:#ff6b6b}.lib-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000073;display:flex;align-items:center;justify-content:center}.lib-dialog{background:var(--bg);border:1px solid var(--border);border-radius:10px;width:min(520px,92vw);max-height:80vh;overflow:auto;padding:18px 20px;color:var(--text-secondary);box-shadow:var(--shadow-lg)}.lib-dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.lib-dialog-head h3{margin:0;font-size:16px;color:var(--text)}.lib-dialog-close{background:none;border:none;color:var(--text-faint);font-size:22px;cursor:pointer}.lib-dialog-hint{font-size:12px;color:var(--text-muted);margin:0 0 14px;line-height:1.45}.lib-upload-row{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.lib-list{display:flex;flex-direction:column;gap:10px}.lib-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg-subtle);border-radius:8px;border:1px solid var(--border)}.lib-row-main strong{color:var(--text)}.lib-ver{margin-left:8px;font-size:11px;color:var(--text-faint)}.lib-headers{margin-top:6px;font-size:11px;line-height:1.6}.lib-headers code{background:var(--bg-muted);padding:1px 5px;border-radius:4px;margin-right:4px}.lib-meta{margin-top:4px;font-size:11px;color:var(--text-faint)}.sdk-dialog{width:min(560px,94vw)}.sdk-status{font-size:13px;line-height:1.5;margin:0 0 12px;padding:10px 12px;border-radius:8px;background:var(--bg-subtle);border:1px solid var(--border)}.sdk-steps{margin:0 0 14px;padding-left:1.25rem;font-size:12px;color:var(--text-muted);line-height:1.55}.sdk-steps code{font-size:11px}.sdk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.sdk-ok{color:#16a34a;font-weight:600}.sdk-warn{color:#ca8a04;font-weight:600}.sdk-bad{color:#dc2626;font-weight:600}.lib-path{opacity:.85;font-size:10px!important}.lib-tree{opacity:.9}.lib-empty{color:var(--text-faint);font-size:13px;margin:0}.lib-del{flex-shrink:0;color:var(--text)}.polaris-loader{position:relative;display:flex;align-items:center;justify-content:center;background:var(--pe-bg);overflow:hidden}.polaris-loader--full{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;min-height:100dvh;min-height:100vh}.polaris-loader--compact{flex:1;min-height:280px;width:100%}.polaris-loader-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;background-image:radial-gradient(#000 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.polaris-loader-card{position:relative;z-index:1;width:min(420px,92vw);background:var(--pe-surface);border:1px solid var(--accent);box-shadow:4px 4px 0 0 var(--accent);padding:32px 28px 28px;text-align:center}.polaris-loader-card--compact{width:min(360px,90vw);padding:24px 20px 20px}.polaris-loader-logo-wrap,.polaris-loader-lottie-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:16px}.polaris-loader-lottie{width:160px;height:160px;max-width:42vw;max-height:42vw}.polaris-loader-fallback{width:48px;height:48px;margin:0 auto;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:polaris-spin .8s linear infinite}@keyframes polaris-spin{to{transform:rotate(360deg)}}.polaris-loader-lottie svg{width:100%!important;height:100%!important;display:block}.polaris-loader-card--compact .polaris-loader-lottie{width:120px;height:120px}.polaris-loader-logo{width:96px;height:96px;object-fit:contain;animation:polaris-logo-in .6s ease-out both}.polaris-loader-card--compact .polaris-loader-logo{width:72px;height:72px}.polaris-loader-progress{margin-top:18px}.polaris-loader-progress.hidden{display:none}.polaris-loader-kicker{margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.polaris-loader-title{margin:0;font-family:var(--apple-font-ui),system-ui,sans-serif;font-size:clamp(20px,4vw,26px);font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2}.polaris-loader-tagline{margin:10px 0 0;font-size:13px;color:var(--text-muted);line-height:1.5}.polaris-loader-pct{margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700;letter-spacing:.04em;color:var(--accent);line-height:1}.polaris-loader-card--compact .polaris-loader-pct{margin:0 0 6px;font-size:22px}.polaris-loader-bar{margin:0 auto 14px;width:100%;height:8px;background:var(--bg-inset);border:1px solid var(--border);overflow:hidden}.polaris-loader-bar-fill{height:100%;width:0%;background:var(--accent);transform-origin:left center;transition:width .18s ease-out}.polaris-loader-bar-fill--determinate{animation:none!important;transform:none!important}.polaris-loader-bar-fill:not(.polaris-loader-bar-fill--determinate){width:35%;animation:polaris-bar 1.4s ease-in-out infinite}.polaris-loader-status{margin:0;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary);min-height:1.2em}.polaris-loader-meta{margin:14px 0 0;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}@keyframes polaris-bar{0%{transform:translate(-100%);width:30%}50%{width:55%}to{transform:translate(320%);width:30%}}@keyframes polaris-logo-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.route-loading,.ide-loading{flex:1;min-height:200px;display:flex;align-items:center;justify-content:center}.ide-loading{flex-direction:column;gap:12px;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.ide-loading:before{content:"";width:48px;height:48px;background-color:currentColor;color:var(--text);-webkit-mask:url(/logo_without_name.svg) center / contain no-repeat;mask:url(/logo_without_name.svg) center / contain no-repeat;opacity:.9;animation:polaris-logo-in .6s ease-out both}.ide-loading-err{color:var(--status-err-text);text-align:center;padding:20px;text-transform:none;letter-spacing:0;font-family:system-ui,sans-serif}.ide-loading-err:before{display:none}@media(max-width:899px),(max-width:1180px)and (max-height:639px){html,body{overflow:auto;height:auto;min-height:100%;-webkit-text-size-adjust:100%}#app,.app-shell{min-height:100dvh;min-height:100vh}.shell-content,.ide-shell-main{overflow:hidden;min-height:0}.chapter-view{height:100%;min-height:0;overflow:hidden}.sim-sidebar{display:none!important}.sim-action-bar{flex:0 0 auto;height:auto;flex-wrap:wrap;gap:10px;padding:10px 12px}.sim-action-right{flex-wrap:wrap}#body,.ide-root--stitch #body{flex-direction:column;min-height:0}#divider,.ide-column-divider,.ide-root--stitch .ide-column-divider{display:none!important}#editor-column,.ide-root--stitch #editor-column{flex:0 0 auto!important;width:100%!important;max-width:none!important;min-height:180px;max-height:40vh;border-right:none!important;border-bottom:1px solid var(--accent)}#sim-column,#sim-pane,.ide-root--stitch #sim-pane{flex:1 1 auto;width:100%;min-width:0;min-height:240px;border-top:none}.ide-root--stitch.ide-layout-hardware #sim-pane,.ide-root--stitch.ide-layout-split #sim-pane{flex:1;min-height:240px}.ide-root--stitch.ide-layout-code #editor-column{flex:1 1 100%!important;max-height:none}.ide-root--stitch.ide-layout-split #editor-column{flex:0 0 auto!important;max-height:38vh}.ide-root.ide-pane-fs-code #editor-column{max-height:none!important;flex:1 1 100%!important}.ide-root.ide-pane-fs-hardware #editor-column{display:none!important}.ide-root.ide-fullscreen #body{flex-direction:column}.ide-root.ide-fullscreen #editor-column{max-height:none;flex:1}.ide-root.ide-fullscreen #sim-column,.ide-root.ide-fullscreen #sim-pane{flex:1;min-height:240px}.ide-sim-overlay{display:none}#wb,.ide-root--stitch #sim-column #wb{flex-direction:column!important}.wb-palette,.ide-root--stitch .wb-palette{order:2;flex:0 0 auto!important;width:100%!important;max-width:none!important;height:auto;max-height:108px;border-right:none!important;border-top:1px solid var(--accent);background:#f3f3f6}.wb-palette-head,#wb-palette-search,.ide-root--stitch #wb-palette-search{display:none}.wb-palette-list{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:6px;overflow-x:auto;overflow-y:hidden;padding:8px 10px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}.wb-palette-cat{display:none}.wb-palette-item,.ide-root--stitch .wb-palette-item{flex:0 0 76px;width:76px;margin:0;padding:8px 4px 6px;min-height:72px}.wb-part-ico,.ide-root--stitch .wb-part-ico{width:48px;height:36px}.wb-part-name,.ide-root--stitch .wb-part-name{font-size:8px;line-height:1.2}#wb-main,.ide-root--stitch #wb-main{order:1;flex:1 1 auto;min-height:0;min-width:0}#toolbar{height:auto;min-height:44px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:6px 8px;gap:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}#toolbar::-webkit-scrollbar{display:none}#toolbar-spacer{display:none}#toolbar .file-name{max-width:96px;font-size:11px;margin-left:0}.ide-toolbar-aux{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:6px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ide-toolbar-aux::-webkit-scrollbar{display:none}.ide-toolbar-aux-left,.ide-toolbar-aux-right{flex-wrap:nowrap;flex-shrink:0}.mode-toggle{margin-left:0}.mode-btn{padding:0 8px;font-size:11px;height:32px;min-width:44px}.ide-tool-btn,.ide-tool-btn--stitch{margin-left:0;padding:0 10px;font-size:11px;height:32px;min-height:32px;white-space:nowrap}#btn-run,#btn-stop,#btn-pause,#btn-reset{height:32px;padding:0 10px;font-size:12px;margin-left:0}.ide-editor-head{height:36px;flex:0 0 36px;padding:0 10px}.ide-editor-path{display:none}.ide-serial-panel,#output-panel{height:min(80px,16vh);flex:0 0 min(80px,16vh)}.ide-serial-send{display:none}#examples-menu,#libraries-menu,#files-menu{min-width:min(280px,calc(100vw - 24px));max-width:calc(100vw - 16px)}#wb-add-menu{width:min(340px,calc(100vw - 24px));max-height:min(70vh,420px)}.dash-hero{flex-direction:column;padding:20px 16px 8px}.hero-right{flex:none;width:100%;flex-direction:row;justify-content:space-around;padding:16px}.hero-hi{font-size:20px}.section-h{padding:18px 16px 10px;font-size:16px}.chapter-grid{padding:0 16px 48px;grid-template-columns:1fr}.dash{padding:20px 16px 48px}.admin{padding:16px 14px 48px;overflow-x:auto}.admin .table{min-width:520px}.admin-editor{grid-template-columns:1fr}.teacher-dash{padding:0 14px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:520px}.theory-photos{grid-template-columns:1fr}}@media(min-width:900px)and (min-height:640px)and (max-width:1180px){html,body{overflow:hidden;height:100%;-webkit-text-size-adjust:100%}#app,.app-shell{height:100%;min-height:100dvh}.shell-content,.ide-shell-main,.chapter-view{overflow:hidden;min-height:0;height:100%}#body,.ide-root--stitch #body{flex-direction:row!important;min-height:0}#divider,.ide-column-divider,.ide-root--stitch .ide-column-divider{display:block!important}#editor-column,.ide-root--stitch #editor-column{flex:0 0 42%!important;width:auto!important;max-width:none!important;min-width:280px;max-height:none!important;min-height:0!important;border-right:1px solid var(--accent)!important;border-bottom:none!important}#sim-column,#sim-pane,.ide-root--stitch #sim-pane{flex:1 1 auto!important;width:auto!important;min-width:0;min-height:0!important}.ide-root--stitch.ide-layout-code #editor-column{flex:1 1 100%!important}.ide-root--stitch.ide-layout-hardware #editor-column{display:none}.ide-root--stitch.ide-layout-hardware #divider{display:none!important}#wb,.ide-root--stitch #sim-column #wb{flex-direction:row!important}.wb-palette,.ide-root--stitch .wb-palette{order:0!important;flex:0 0 180px!important;width:180px!important;max-width:180px!important;height:auto!important;max-height:none!important;border-right:1px solid var(--accent)!important;border-top:none!important;background:#f3f3f6}.wb-palette-head{display:flex!important}#wb-palette-search,.ide-root--stitch #wb-palette-search{display:block!important}.wb-palette-list{display:block;overflow-x:hidden;overflow-y:auto;padding:8px;-webkit-overflow-scrolling:touch}.wb-palette-cat{display:block}.wb-palette-item,.ide-root--stitch .wb-palette-item{flex:none;width:auto;margin:0 0 6px;padding:8px;min-height:0}.wb-part-ico,.ide-root--stitch .wb-part-ico{width:56px;height:40px}.wb-part-name,.ide-root--stitch .wb-part-name{font-size:10px}#wb-main,.ide-root--stitch #wb-main{order:0;flex:1 1 auto;min-height:0;min-width:0}.ide-serial-send{display:flex}.ide-serial-panel,#output-panel{height:min(120px,18vh);flex:0 0 min(120px,18vh)}.sim-sidebar{display:none!important}#toolbar{height:auto;min-height:44px;flex-wrap:nowrap;overflow-x:auto;padding:6px 8px;gap:4px}.ide-toolbar-aux{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:6px 8px}.dash-hero{flex-direction:column;padding:20px 16px 8px}.chapter-grid{padding:0 16px 48px;grid-template-columns:1fr 1fr}.dash{padding:20px 16px 48px}.admin{padding:16px 14px 48px;overflow-x:auto}.admin-editor{grid-template-columns:1fr}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1180px)and (max-height:639px){#editor-column,.ide-root--stitch #editor-column,.ide-root--stitch.ide-layout-split #editor-column{max-height:30vh;min-height:140px}.ide-serial-panel,#output-panel{height:56px;flex:0 0 56px}.wb-palette,.ide-root--stitch .wb-palette{max-height:84px}.ide-shell-topbar,.ide-shell{--ide-toolbar-height: 44px;--ide-footer-height: 28px}}@media(max-width:900px){.dash-hero{flex-direction:column;padding:20px 16px 8px}.hero-right{flex:none;width:100%;flex-direction:row;justify-content:space-around;padding:16px}.hero-hi{font-size:20px}.section-h{padding:18px 16px 10px;font-size:16px}.chapter-grid{padding:0 16px 48px;grid-template-columns:1fr}.dash{padding:20px 16px 48px}.admin{padding:16px 14px 48px;overflow-x:auto}.admin .table{min-width:520px}.admin-editor{grid-template-columns:1fr}.teacher-dash{padding:0 14px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:520px}}@media(max-width:768px){#editor-column,.ide-root--stitch #editor-column{max-height:42vh;min-height:160px}.ide-serial-send{display:flex}.ide-serial-panel,#output-panel{height:auto;flex:0 0 auto;min-height:100px;max-height:28vh}.auth-nav-inner{padding:8px 12px;flex-wrap:wrap}.auth-nav-links{display:none}.auth-nav-title{font-size:14px}.auth-main{padding:20px 12px 32px;align-items:flex-start;padding-top:8vh}.auth-main--register{padding-top:20px}.register-aside-inner{position:static}.register-headline{font-size:24px}.register-visual{max-width:100%}.auth-card,.login-card{width:100%;padding:20px 18px}.auth-card-title{font-size:24px}.auth-deco{display:none!important}.auth-footer-inner{grid-template-columns:1fr;gap:20px;padding:24px 16px}.auth-footer-links{justify-content:flex-start}.auth-screen{padding:20px 16px 48px;justify-content:flex-start;padding-top:12vh}.auth-brand{flex-direction:column;text-align:center;gap:10px}.auth-brand h1{font-size:20px}.auth-server{position:static;align-self:center;margin-top:8px;padding:8px}.topbar{height:52px;flex:0 0 52px;padding:0 12px;gap:10px}.topbar-chip,.topbar-title{display:none}.topbar .brand{font-size:14px}.topbar .brand .dot{width:24px;height:24px;font-size:11px}.hamburger{width:36px;height:36px}.chapter-head{flex-wrap:wrap;padding:10px 12px;gap:8px}.chapter-head .title{flex:1 1 100%;order:3;font-size:13px;line-height:1.35;white-space:normal}.chapter-prog-text{display:none}.chapter-prog{width:72px}.steps{padding:8px 10px;gap:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.steps::-webkit-scrollbar{display:none}.step-tab{padding:6px 10px;font-size:11px;flex-shrink:0}.step-tab .num{width:18px;height:18px;font-size:10px}.step-guide{margin:8px 12px 0;font-size:12px}.workspace-shell .step-guide{margin:8px 12px 0}.step-actions{flex-wrap:wrap;padding:10px 12px;gap:8px}.step-actions .btn-primary,.step-actions .btn-sm{flex:1 1 auto;min-width:120px}.theory{padding:18px 14px 40px}.upload-steps{padding:16px 14px}.code-box{max-height:220px;font-size:12px}.theory-reader-toolbar{flex-wrap:wrap;gap:6px;padding:8px 10px}.theory-reader-toolbar button{font-size:11px;padding:0 8px;height:30px}.theory-reader-page{padding:20px 14px 32px;font-size:15px}.modal-card{padding:16px}.modal-actions{flex-wrap:wrap}.modal-actions .btn-primary,.modal-actions .btn-sm{flex:1}.admin-tabs{flex-wrap:wrap}.row{gap:8px}}@media(max-width:480px){.step-tab{padding:6px 8px}.step-tab:not(.active) .step-label-text{display:none}.step-tab.active{padding:6px 12px}.continue-title{font-size:16px}.chapter-card .cc-title{min-height:auto}#btn-examples,#btn-libraries,#btn-save{display:none}#btn-fullscreen{order:20}.ide-pane-fs-btn span:last-child:not(.material-symbols-outlined){display:none}}.student-terminal-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:20px 24px 16px;gap:16px}.student-terminal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.student-terminal-title{margin:0 0 6px;font-size:clamp(22px,3vw,28px);font-weight:700;letter-spacing:-.02em}.student-terminal-sub{margin:0;color:var(--text-muted);font-size:14px;max-width:520px}.student-terminal-header-actions{display:flex;gap:8px;flex-wrap:wrap}.student-terminal-action{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--accent);background:#fff;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:8px 12px;cursor:pointer}.student-terminal-action:hover{background:#eeedf0}.student-terminal-action.primary{background:var(--accent);color:var(--text-inverse)}.student-terminal-action.primary:hover{background:#333}.student-terminal-body{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--accent);background:#0d1117;overflow:hidden}.student-terminal-chrome{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:8px 12px;background:#161b22;border-bottom:1px solid rgba(255,255,255,.08)}.student-terminal-dots{display:flex;gap:6px}.student-terminal-dots .dot{width:10px;height:10px;border-radius:50%}.student-terminal-dots .dot.red{background:#ff5f57}.student-terminal-dots .dot.yellow{background:#febc2e}.student-terminal-dots .dot.green{background:#28c840}.student-terminal-chrome-title{flex:1;font-family:JetBrains Mono,monospace;font-size:11px;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-terminal-status{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;letter-spacing:.06em;color:#3fb950}.student-terminal-host{flex:1;min-height:280px;padding:4px 8px 8px}.student-terminal-host .xterm{height:100%}.student-terminal-host .xterm-viewport{overflow-y:auto!important}.student-terminal-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted);letter-spacing:.03em}.chapter-terminal-panel{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px;gap:12px}.chapter-terminal-head{flex:0 0 auto}.chapter-terminal-sub{margin:8px 0 0;color:var(--text-muted);font-size:14px}.chapter-terminal-wrap{flex:1;min-height:320px;border:1px solid var(--accent);background:#0d1117;padding:8px}.chapter-terminal-wrap .xterm{height:100%}.chapter-terminal-actions{flex:0 0 auto;padding-top:4px}@media(max-width:767px){.student-terminal-page{padding:12px}.student-terminal-foot{flex-direction:column}.chapter-terminal-wrap{min-height:260px}}.shell-page{display:flex;flex-direction:column;height:100%;min-height:0;padding:20px 24px 16px;gap:16px}.shell-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;flex:0 0 auto}.shell-page-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.shell-page-sub{margin:6px 0 0;font-size:14px;color:var(--text-muted);max-width:640px;line-height:1.45}.shell-page-actions{display:flex;gap:8px;flex-wrap:wrap}.shell-page-action{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;font-family:inherit}.shell-page-action:hover{background:var(--bg-hover);color:var(--accent)}.shell-page-action.primary{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.shell-page-action.primary:hover{background:var(--accent-hover)}.shell-page-body{flex:1;min-height:0;display:flex;flex-direction:column}.shell-ide-host{flex:1;min-height:0;position:relative;border:1px solid var(--accent);background:var(--bg)}.shell-ide-host .ide-root{height:100%}.info-shell-wrap{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);background:var(--bg);padding:28px 32px 40px}.info-shell-wrap--wide{max-width:none}.info-doc{max-width:720px}.info-doc--long{max-width:820px;padding-bottom:48px}.info-lead{font-size:15px;line-height:1.6;color:var(--text);margin:0 0 20px}.info-meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);margin:-8px 0 20px;letter-spacing:.04em;text-transform:uppercase}.info-toc{margin:0 0 32px;padding:16px 18px;border:1px solid var(--border);background:var(--bg-subtle)}.info-toc-title{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.info-toc-list{margin:0;padding-left:1.25em;columns:1}@media(min-width:720px){.info-toc-list{columns:2;column-gap:28px}}.info-toc-list li{break-inside:avoid;margin:0 0 6px;font-size:13px;line-height:1.4}.info-toc-link{color:var(--accent);text-decoration:none}.info-toc-link:hover{text-decoration:underline}.info-section{margin:0 0 32px;scroll-margin-top:24px}.info-h2{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--accent);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.info-h3{font-size:14px;font-weight:700;margin:16px 0 8px;color:var(--text)}.info-p{font-size:14px;line-height:1.65;color:var(--text-secondary);margin:0 0 12px}.info-ul,.info-ol{margin:0 0 12px;padding-left:1.25em;color:var(--text-secondary);font-size:14px;line-height:1.6}.info-ul li,.info-ol li{margin:0 0 7px}.info-note{margin:12px 0 16px;padding:12px 14px;border-left:3px solid var(--accent);background:var(--bg-inset);font-size:13px;line-height:1.55;color:var(--text-secondary)}.info-table-wrap{overflow-x:auto;margin:0 0 16px;border:1px solid var(--border)}.info-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.45}.info-table th,.info-table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.info-table th{width:34%;font-weight:700;color:var(--text);background:var(--bg-subtle)}.info-table--grid thead th{width:auto;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.info-table--grid td{color:var(--text-secondary)}.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:0}.info-foot{margin:28px 0 0;font-size:12px;color:var(--text-muted)}.info-public{position:relative;min-height:100%;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 48px;background:var(--pe-bg, #f4f4f4)}.info-public-card--wide{width:min(920px,100%);max-width:920px}.info-public-card{position:relative;z-index:1;width:min(760px,100%);background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:28px 28px 36px}.info-public-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;opacity:.7}.info-public-head{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.info-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--bg);color:var(--accent);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:8px 12px;cursor:pointer}.info-back:hover{background:var(--bg-hover)}.info-kicker{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}.info-public-title{margin:0;font-size:28px;font-weight:900;letter-spacing:-.03em;color:var(--accent)}.info-public-sub{margin:8px 0 0;font-size:14px;color:var(--text-secondary)}.files-page{overflow:auto}.files-page-body{margin-top:4px}.files-page-list{display:flex;flex-direction:column;gap:10px}.files-page-row{display:flex;align-items:stretch;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--bg);padding:14px 16px}.files-page-row-main{display:flex;gap:12px;flex:1;min-width:0;cursor:pointer;text-align:left;background:none;border:none;padding:0;font:inherit;color:inherit}.files-page-icon{flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f3f3f6;border:1px solid var(--border);color:var(--accent, #111)}.files-page-icon .material-symbols-outlined{font-size:22px}.files-page-meta{min-width:0;flex:1}.files-page-name{font-size:15px;font-weight:600;margin-bottom:2px;word-break:break-word}.files-page-sub{font-size:12px;color:var(--text-muted);margin-bottom:6px}.files-page-preview{font-family:JetBrains Mono,Consolas,monospace;font-size:11px;color:var(--text-faint, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-page-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.files-page-btn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:12px;font-family:inherit;white-space:nowrap}.files-page-btn:hover{background:#f5f5f5}.files-page-btn.danger{color:#b71c1c}.files-page-btn .material-symbols-outlined{font-size:16px}.files-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:280px;border:1px dashed var(--border);background:#fafafa;color:var(--text-muted);text-align:center;padding:24px}.files-empty .material-symbols-outlined{font-size:40px;opacity:.5}.files-empty-title{margin:0;font-size:16px;font-weight:600;color:var(--text)}.files-empty-sub{margin:0 0 8px;font-size:13px;max-width:360px;line-height:1.45}.files-storage{margin:0 24px 16px;padding:14px 16px;border:1px solid var(--border);background:var(--bg-inset, #fafafa)}.files-storage-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}.files-storage-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.files-storage-label{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary)}.files-storage-track{height:8px;background:#e8e8e8;border:1px solid var(--border);overflow:hidden}.files-storage-fill{height:100%;width:0%;background:var(--accent);transition:width .35s ease,background .2s ease}.files-storage-fill.warn{background:#c47b16}.files-storage-fill.full{background:#c0392b}.files-storage-hint{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--text-muted)}@media(max-width:720px){.files-page-row{flex-direction:column}.files-page-actions{flex-direction:row;flex-wrap:wrap}}.library-page{overflow:auto}.library-upload-card,.library-list-section{border:1px solid var(--border);background:var(--bg);padding:16px 18px}.library-upload-card h2,.library-list-section h2{margin:0 0 8px;font-size:15px}.library-upload-hint{margin:0 0 12px;font-size:13px;color:var(--text-muted);line-height:1.45}.library-upload-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.library-file-input{font-size:13px;max-width:100%}.library-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.library-refresh-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:12px;font-family:inherit}.library-page-list{display:flex;flex-direction:column;gap:10px}.library-page-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border)}.library-page-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.library-page-desc{margin:0 0 8px;font-size:13px;color:var(--text-muted)}.library-badge{font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border:1px solid var(--border)}.library-badge.shared{background:#eef6ff}.library-badge.local{background:#fff8e6}.library-page-remove{border:none;background:none;color:#c0392b;cursor:pointer;font-size:12px;white-space:nowrap}.library-empty{text-align:center;padding:32px 16px;color:var(--text-muted)}.library-empty .material-symbols-outlined{font-size:40px;opacity:.4}.library-empty-sub{font-size:13px;margin-top:4px}.library-loading{color:var(--text-muted);font-size:13px}.logs-page{overflow:hidden}.logs-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:0 0 auto}.logs-filter-select{padding:6px 10px;border:1px solid var(--border);background:var(--bg);font-size:12px;font-family:inherit}.logs-count{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted)}.logs-feed{flex:1;min-height:0;overflow:auto;border:1px solid var(--accent);background:#0d1117;padding:8px}.logs-row{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.06);font-family:JetBrains Mono,monospace;font-size:12px}.logs-row-meta{display:flex;gap:10px;margin-bottom:4px;font-size:10px;opacity:.7}.logs-row-text{margin:0;white-space:pre-wrap;word-break:break-word;color:#e6edf3}.logs-row--error .logs-row-text{color:#ff7b72}.logs-row--system .logs-row-text{color:#8b949e}.logs-type-error{color:#ff7b72}.logs-empty{text-align:center;padding:48px 16px;color:#8b949e}.logs-empty .material-symbols-outlined{font-size:40px;opacity:.35;display:block;margin-bottom:8px}.logs-empty-sub{font-size:12px;margin-top:6px}.community-page{overflow:auto}.community-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}.community-section h2{margin:0 0 12px;font-size:15px}.community-compose{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.community-post-input{width:100%;padding:10px 12px;border:1px solid var(--border);font-family:inherit;font-size:14px;resize:vertical;min-height:72px}.community-posts{display:flex;flex-direction:column;gap:10px}.community-post{border:1px solid var(--border);padding:12px 14px;background:var(--bg)}.community-post-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px}.community-post-author{font-weight:700}.community-post-time{color:var(--text-muted)}.community-post-body{margin:0;font-size:14px;line-height:1.45}.community-empty{color:var(--text-muted);font-size:13px}.community-projects-grid{display:flex;flex-direction:column;gap:8px}.community-project-card{border:1px solid var(--border);padding:12px;background:var(--bg)}.community-project-icon .material-symbols-outlined{font-size:22px;opacity:.5}.community-project-card h3{margin:6px 0 4px;font-size:14px}.community-project-meta{margin:0 0 8px;font-size:11px;color:var(--text-muted)}.community-project-open{border:1px solid var(--accent);background:transparent;padding:6px 10px;font-size:11px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.community-tips-grid{display:flex;flex-direction:column;gap:8px}.community-tip-card{border:1px solid var(--border);padding:12px;background:#fafafa}.community-tip-card .material-symbols-outlined{font-size:20px;opacity:.55}.community-tip-card h3{margin:6px 0 4px;font-size:13px}.community-tip-card p{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}@media(max-width:960px){.shell-page{padding:14px 12px}.community-layout{grid-template-columns:1fr}}html.mobile-lite,html.mobile-lite body{overflow:auto;height:auto;min-height:100%;background:#f4f4f6;-webkit-text-size-adjust:100%}html.mobile-lite #app{min-height:100dvh;height:auto}.m-gate{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:28px 20px calc(28px + env(safe-area-inset-bottom));background:#0a0a0b;color:#f5f5f5;overflow:hidden}.m-gate-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%);pointer-events:none}.m-gate-card{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;gap:12px}.m-gate-logo{width:56px;height:56px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.15)}.m-gate-kicker{margin:8px 0 0;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c}.m-gate-title{margin:0;font-size:clamp(28px,8vw,36px);line-height:1.1;letter-spacing:-.03em;color:#fff}.m-gate-copy{margin:0;font-size:15px;line-height:1.55;color:#ffffffb8}.m-gate-list{margin:4px 0;padding-left:18px;color:#ffffffc7;font-size:14px;line-height:1.6}.m-gate-note{margin:0;font-size:13px;line-height:1.5;color:#ffffff80}.m-gate-btn{-webkit-appearance:none;appearance:none;border:none;border-radius:12px;min-height:48px;padding:12px 18px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px}.m-gate-btn--primary{background:#fff;color:#111}.m-gate-btn--primary:active{transform:scale(.98)}.m-gate-meta{margin:8px 0 0;font-family:JetBrains Mono,monospace;font-size:10px;color:#ffffff59}.m-shell{display:flex;flex-direction:column;min-height:100dvh;background:#f4f4f6;color:#111}.m-shell-top{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;gap:8px;min-height:52px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:#ffffffeb;backdrop-filter:blur(10px);border-bottom:1px solid #e4e4e8}.m-shell-brand{display:flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#666}.m-shell-brand img{width:28px;height:28px;border-radius:7px;object-fit:cover}.m-shell-title{margin:0;text-align:center;font-size:15px;font-weight:650;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-shell-back{width:40px;height:40px;border:none;border-radius:10px;background:#eeeef1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.m-shell-top-spacer{min-width:1px}.m-shell-content{flex:1;min-height:0;padding:12px 14px calc(88px + env(safe-area-inset-bottom))}.m-shell-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #e4e4e8;backdrop-filter:blur(12px)}.m-nav-tab{-webkit-appearance:none;appearance:none;border:none;background:transparent;border-radius:12px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#777;cursor:pointer;font-family:inherit}.m-nav-tab.active{color:#111;background:#efeff2}.m-nav-tab .material-symbols-outlined{font-size:22px}.m-nav-icon--fill{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.m-nav-label{font-size:10px;font-weight:600;letter-spacing:.02em}.m-page{display:flex;flex-direction:column;gap:14px}.m-hero{background:#111;color:#fff;border-radius:18px;padding:18px 16px}.m-hero-kicker{margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.14em;color:#ffffff80}.m-hero-title{margin:0;font-size:26px;letter-spacing:-.03em}.m-hero-sub{margin:6px 0 14px;font-size:13px;line-height:1.45;color:#ffffffa6}.m-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.m-stat{background:#ffffff14;border-radius:12px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;gap:2px}.m-stat strong{font-size:18px}.m-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c}.m-resume{-webkit-appearance:none;appearance:none;border:1px solid #e0e0e5;background:#fff;border-radius:14px;padding:14px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;font-family:inherit;color:inherit}.m-resume-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.m-resume-kicker{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.1em;color:#888}.m-resume strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-section-title{margin:4px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#777}.m-chapter-row{width:100%;-webkit-appearance:none;appearance:none;border:1px solid #e0e0e5;background:#fff;border-radius:14px;padding:12px;display:grid;grid-template-columns:42px 1fr 24px;gap:10px;align-items:center;text-align:left;margin-bottom:8px;cursor:pointer;font-family:inherit;color:inherit}.m-chapter-row.locked{opacity:.55;cursor:default}.m-chapter-idx{width:42px;height:42px;border-radius:12px;background:#111;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.m-chapter-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.m-chapter-meta strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-chapter-meta span{font-size:12px;color:#777}.m-empty{padding:28px 12px;text-align:center;color:#777;font-size:14px}.m-desk-hint{margin:8px 0 0;font-size:12px;line-height:1.45;color:#888}.m-chapter{display:flex;flex-direction:column;gap:10px}.m-chapter-heading{margin:0;font-size:18px;font-weight:650;letter-spacing:-.02em}.m-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:sticky;top:52px;z-index:10;background:#f4f4f6;padding:4px 0 8px}.m-tab{-webkit-appearance:none;appearance:none;border:1px solid #e0e0e5;background:#fff;border-radius:12px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:inherit;font-size:12px;font-weight:600;color:#555;cursor:pointer}.m-tab.active{background:#111;border-color:#111;color:#fff}.m-tab .material-symbols-outlined{font-size:18px}.m-chapter-panel{min-height:40vh}.m-theory{background:#fff;border:1px solid #e0e0e5;border-radius:14px;padding:16px;font-size:15px;line-height:1.6;overflow-x:auto}.m-theory img{max-width:100%;height:auto;border-radius:8px}.m-theory h1,.m-theory h2,.m-theory h3{line-height:1.25}.m-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;color:#666}.m-btn-sm{-webkit-appearance:none;appearance:none;border:1px solid #111;background:#111;color:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.m-code{width:100%;min-height:42vh;border:1px solid #d8d8de;border-radius:14px;padding:12px;background:#0f1115;color:#e8e8ea;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;line-height:1.5;resize:vertical;tab-size:2}.m-code--page{min-height:calc(100dvh - 220px)}.m-lab-card{background:#fff;border:1px solid #e0e0e5;border-radius:16px;padding:24px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.m-lab-icon{font-size:40px;opacity:.7}.m-lab-card h3{margin:0;font-size:18px}.m-lab-card p{margin:0;font-size:14px;line-height:1.5;color:#555;max-width:32ch}.m-structure{padding:4px 2px 24px}.m-structure h3{margin:0 0 8px;font-size:18px}.m-structure h4{margin:16px 0 8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#666}.m-structure-code{margin:0;padding:12px;border-radius:8px;background:#111;color:#e8e8e8;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow:auto;max-height:50vh}.m-profile{background:#fff;border:1px solid #e0e0e5;border-radius:16px;padding:20px 16px;text-align:center}.m-profile-logo{width:56px;height:56px;border-radius:14px;object-fit:cover;margin-bottom:8px}.m-profile h2{margin:0 0 4px;font-size:20px}.m-profile p{margin:0;color:#666;font-size:13px}.m-profile-id{margin-top:6px!important;font-family:JetBrains Mono,monospace;font-size:11px!important}.m-card{background:#fff;border:1px solid #e0e0e5;border-radius:14px;padding:14px}.m-card h3{margin:0 0 6px;font-size:14px}.m-card p{margin:0 0 8px;font-size:13px;color:#555;line-height:1.45}.m-link-btn{display:block;width:100%;-webkit-appearance:none;appearance:none;border:none;background:#f3f3f6;border-radius:10px;padding:12px;margin-top:6px;text-align:left;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}html.mobile-lite .auth-page{min-height:100dvh;overflow:auto}html.mobile-lite .auth-main--login,html.mobile-lite .auth-main--register{padding:16px 14px 40px}html.mobile-lite .m-theory-host{background:#fff;border:1px solid #e0e0e5;border-radius:14px;overflow:hidden;min-height:55vh}html.mobile-lite .m-theory-host .theory-reader--stitch{min-height:55vh;display:flex;flex-direction:column}html.mobile-lite .m-theory-host .theory-reader-scroll{max-height:none;overflow:visible;flex:1}html.mobile-lite .m-theory-host .theory-reader-page{padding:16px 14px 28px;max-width:100%}html.mobile-lite .m-theory-host .theory-reader-content img,html.mobile-lite .m-theory-host .theory-float-figure img{max-width:100%!important;height:auto!important;float:none!important;display:block;margin:12px auto}html.mobile-lite .m-theory-host .theory-toolbar,html.mobile-lite .m-theory-host .theory-reading-bar{flex-wrap:wrap;gap:6px;padding:8px 10px}html.mobile-lite .m-theory-host .theory-reading-select{max-width:42vw;font-size:11px}.brand-logo{display:inline-block;flex-shrink:0;background-color:currentColor;color:#1a1a2e;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.brand-logo--mark{width:32px;height:32px}.brand-logo--wordmark{width:120px;height:120px}.brand-logo--on-light{color:#1a1a2e!important}.brand-logo--on-dark{color:#fff!important}.brand-logo:not(.brand-logo--on-light):not(.brand-logo--on-dark){color:var(--text)}.auth-nav-logo,.topbar-logo,.th-brand-logo,.m-shell-logo,.m-gate-logo,.m-profile-logo,.auth-logo-img{display:inline-block}.polaris-boot-logo{width:72px;height:72px;margin-bottom:8px;color:var(--text);-webkit-mask-image:url(/logo_without_name.svg);mask-image:url(/logo_without_name.svg)}.polaris-loader-lottie-wrap{flex-direction:column}[data-theme=dark] .brand-logo:not(.brand-logo--on-light):not(.brand-logo--on-dark){color:#fff}[data-theme=dark] .polaris-boot-logo{color:#fff}[data-theme=light] .brand-logo:not(.brand-logo--on-light):not(.brand-logo--on-dark){color:#1a1a2e}[data-theme=light] .polaris-boot-logo{color:#1a1a2e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .brand-logo:not(.brand-logo--on-light):not(.brand-logo--on-dark){color:#fff}:root:not([data-theme=light]) .polaris-boot-logo{color:#fff}}.st .st-nav-links,.st .st-desktop-nav{display:none;align-items:center;justify-content:center;flex:1 1 auto;flex-wrap:wrap;gap:8px 18px;min-width:0}@media(min-width:860px){.st .st-nav-links,.st .st-desktop-nav{display:flex!important}}.st .st-nav-links a,.st .st-desktop-nav a,.st .st-mobile-panel a{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#5d5f5f;text-decoration:none;background:none;border:0;border-bottom:2px solid transparent;padding:4px 0 2px;cursor:pointer;white-space:nowrap}.st .st-mobile-panel a{display:block;white-space:normal;padding:12px 0;border-bottom:1px solid #e2e2e5}.st .st-nav-links a:hover,.st .st-desktop-nav a:hover,.st .st-mobile-panel a:hover{color:#000;text-decoration:underline;text-underline-offset:4px}.st .st-nav-links a.is-active,.st .st-desktop-nav a.is-active,.st .st-mobile-panel a.is-active{color:#000;border-bottom-color:#000;text-decoration:none}.st .st-topbar-inner{display:flex;align-items:center;gap:12px;width:100%;max-width:1440px;margin:0 auto;padding:10px clamp(12px,2.5vw,24px);min-width:0}.st .st-topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.st .st-brand{min-width:0;flex-shrink:1}.st .st-brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(42vw,220px)}@media(min-width:980px){.st .st-brand-name{max-width:none}}.st-theme-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-surface);color:var(--accent);cursor:pointer;transition:all .15s ease}.st-theme-btn:hover{background:var(--bg-surface-elevated);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px #f9731633}.app-theme-floating-btn{position:fixed;bottom:24px;right:24px;z-index:99999;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 12px;border-radius:var(--radius-full);border:1px solid var(--glass-border);background:var(--glass-bg-elevated);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--text);box-shadow:0 8px 32px #00000029,0 2px 8px #00000014;font-family:var(--font-sans);font-size:13px;font-weight:700;cursor:pointer;user-select:none;transition:all .25s cubic-bezier(.16,1,.3,1)}.app-theme-floating-btn:hover{transform:translateY(-2px) scale(1.02);border-color:var(--accent);box-shadow:0 12px 36px #f9731647,0 4px 12px #0000001a;color:var(--accent)}.app-theme-floating-btn:active{transform:translateY(0) scale(.97)}.app-theme-floating-icon{font-size:20px;line-height:1;color:var(--accent);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.app-theme-floating-btn:hover .app-theme-floating-icon{transform:rotate(20deg) scale(1.15)}.app-theme-floating-label{letter-spacing:.01em;font-weight:600}.app-theme-floating-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--accent)}@media(max-width:640px){.app-theme-floating-btn{bottom:16px;right:16px;height:38px;padding:0 10px}.app-theme-floating-label,.app-theme-floating-badge{display:none}}
