:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:-moz-fit-content;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}:root{--color-paper: oklch(98.5% .006 250);--color-paper-2: oklch(96.5% .01 250);--color-paper-3: oklch(93.5% .014 250);--color-surface: oklch(99.6% .003 250);--color-ink: oklch(24% .04 250);--color-ink-2: oklch(40% .03 250);--color-muted: oklch(53% .024 250);--color-rule: oklch(89% .014 240);--color-rule-strong: oklch(83% .018 240);--color-accent: oklch(58% .16 250);--color-accent-strong: oklch(49% .16 250);--color-accent-2: oklch(94% .035 250);--color-accent-3: oklch(88% .065 250);--color-accent-ink: oklch(99% .004 250);--color-warm: oklch(70% .15 55);--color-warm-2: oklch(95% .04 70);--color-warm-ink: oklch(44% .13 45);--color-danger: oklch(55% .17 25);--color-warning: oklch(62% .13 70);--color-success: oklch(60% .11 150);--color-focus: oklch(58% .17 250);--color-shadow: oklch(30% .04 250 / .08);--shadow-xs: 0 1px 2px oklch(30% .04 250 / .06);--shadow-sm: 0 1px 3px oklch(30% .04 250 / .07), 0 1px 2px oklch(30% .04 250 / .05);--shadow-md: 0 4px 12px oklch(30% .04 250 / .08), 0 2px 4px oklch(30% .04 250 / .05);--shadow-lg: 0 12px 32px oklch(30% .05 250 / .1), 0 4px 8px oklch(30% .04 250 / .06);--shadow-accent: 0 4px 14px oklch(49% .16 250 / .18);--gradient-accent: var(--color-accent);--gradient-warm: var(--color-warm);--gradient-hero: none;--font-display: ui-sans-serif, "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif;--font-body: ui-sans-serif, "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif;--font-mono: Consolas, "SFMono-Regular", monospace;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4.5rem;--space-3xl: 6rem;--gutter: clamp(var(--space-md), 2vw, var(--space-xl));--layout-admin-sidebar-width: 13rem;--layout-outline-width: 11rem;--layout-tutorial-document-width: 96rem;--layout-home-width: 96rem;--layout-page-width: 112rem;--layout-page-gutter: clamp(var(--space-2xs), 2vw, var(--space-lg));--editor-text-primary: #1f2329;--editor-text-secondary: #646a73;--editor-text-placeholder: #8f959e;--editor-accent: oklch(58% .16 250);--editor-hover: #f2f3f5;--editor-divider: #dee0e3;--editor-inline-code-bg: #f5f6f7;--editor-body-size: 1rem;--editor-body-line-height: 1.75;--editor-content-width: 72rem;--editor-canvas: oklch(99.4% .004 235);--editor-panel: oklch(99% .006 235);--editor-panel-hover: oklch(96.5% .012 235);--editor-panel-active: oklch(94% .035 250);--editor-border: oklch(88% .014 240);--editor-border-strong: oklch(80% .025 250);--editor-focus-ring: oklch(58% .17 250);--editor-danger-soft: oklch(96% .03 25);--editor-menu-shadow: 0 12px 30px oklch(30% .04 250 / .12), 0 2px 6px oklch(30% .04 250 / .06);--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.625rem;--text-2xl: 2.25rem;--text-display: clamp(2.5rem, 4.5vw, 4.25rem);--radius-input: .625rem;--radius-card: .875rem;--radius-lg: 1.25rem;--radius-pill: 999px;--rule-thin: 1px;--banner-height: 4rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .14s;--dur-short: .2s;--dur-md: .32s;--dur-long: .52s;--lift-sm: -2px;--lift-md: -4px;--rise: 12px}*{box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html,body{min-width:0;overflow-x:clip;background:var(--color-paper)}:root{font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit;letter-spacing:0}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-rise{0%{opacity:0;transform:translateY(var(--rise))}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.enter{animation:fade-rise var(--dur-long) var(--ease-out) both}.enter-1{animation:fade-rise var(--dur-long) var(--ease-out) both;animation-delay:60ms}.enter-2{animation:fade-rise var(--dur-long) var(--ease-out) both;animation-delay:.12s}.enter-3{animation:fade-rise var(--dur-long) var(--ease-out) both;animation-delay:.18s}.stagger{animation:fade-rise var(--dur-long) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 65ms + 80ms)}.route-fade-enter-active{transition:opacity var(--dur-md) var(--ease-out),transform var(--dur-md) var(--ease-out)}.route-fade-leave-active{transition:opacity var(--dur-fast) var(--ease-out)}.route-fade-enter-from{opacity:0;transform:translateY(10px)}.route-fade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}.enter,.enter-1,.enter-2,.enter-3,.stagger{animation:fade-in 1ms both}}.course-back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-muted);font-size:var(--text-sm)}.course-back-link:hover{color:var(--color-accent-strong)}.course-detail-heading{max-width:58rem;padding:var(--space-lg) 0 var(--space-xl)}.course-detail-heading h1{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.15}.course-detail-heading>p:not(.eyebrow){margin:var(--space-sm) 0 0;color:var(--color-muted);line-height:1.75}.course-detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-md);color:var(--color-muted);font-size:var(--text-sm)}.course-detail-meta span{display:inline-flex;align-items:center;gap:.35rem}.course-detail-layout{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:var(--space-xl);border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-lg)}.course-lesson-nav{align-self:start;padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}.course-lesson-nav-title{display:flex;justify-content:space-between;padding:var(--space-xs) var(--space-sm) var(--space-sm)}.course-lesson-nav-title span{color:var(--color-muted);font-size:var(--text-xs)}.course-lesson-nav button{display:flex;align-items:center;gap:var(--space-xs);width:100%;min-height:2.75rem;padding:0 var(--space-xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);font-size:var(--text-sm);text-align:left}.course-lesson-nav button:hover,.course-lesson-nav button.active{background:var(--color-accent-2);color:var(--color-accent-strong)}.course-lesson-index{width:1.5rem;flex:0 0 1.5rem;display:grid;place-items:center;font-size:var(--text-xs)}.course-lesson-content{max-width:48rem;padding:var(--space-md) 0 var(--space-2xl)}.course-lesson-content h2{margin:0;font-size:var(--text-xl)}.course-lesson-content>p:not(.section-kicker){color:var(--color-muted);line-height:1.85}.course-reading-block{margin-top:var(--space-xl);padding:var(--space-lg);border-left:3px solid var(--color-accent);background:var(--color-paper-2)}.course-reading-block h3{margin:0}.course-reading-block ul{margin:var(--space-sm) 0 0;padding-left:1.25rem;color:var(--color-muted);line-height:2}.course-lesson-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-xl)}.secondary-button{min-height:2.75rem;display:inline-flex;align-items:center;gap:.35rem;padding:0 var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink-2)}.course-complete{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-accent-strong);font-size:var(--text-sm)}.course-detail-layout{grid-template-columns:17rem 13rem minmax(0,1fr);align-items:start}.course-detail-layout.course-directory-hidden{grid-template-columns:2.4rem 13rem minmax(0,1fr)}.course-detail-layout.content-directory-hidden{grid-template-columns:17rem 2.4rem minmax(0,1fr)}.course-directory-panel,.course-content-nav{position:sticky;top:calc(var(--banner-height) + var(--space-md));max-height:calc(100vh - var(--banner-height) - var(--space-xl));overflow:auto}.course-lesson-group{padding-top:var(--space-xs)}.course-lesson-group h3{display:flex;align-items:center;gap:var(--space-xs);margin:0;padding:var(--space-xs) var(--space-sm);color:var(--color-ink);font-size:var(--text-xs)}.course-lesson-group h3 span{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:var(--radius-input);background:var(--color-paper-2);color:var(--color-muted)}.course-lesson-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-content-nav{padding:var(--space-sm);border-left:var(--rule-thin) solid var(--color-rule);border-right:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2)}.course-content-nav-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs) 0 var(--space-sm);color:var(--color-ink-2);font-size:var(--text-sm)}.course-content-nav-title>div{display:flex;align-items:center;gap:var(--space-xs)}.course-content-nav nav{display:grid;gap:2px}.course-content-nav nav button{padding:var(--space-2xs) var(--space-xs);border:0;border-left:2px solid transparent;background:transparent;color:var(--color-muted);font-size:var(--text-xs);line-height:1.5;text-align:left}.course-content-nav nav button:hover{border-left-color:var(--color-accent);color:var(--color-accent-strong);background:var(--color-surface)}.course-content-nav nav .level-1{font-weight:700}.course-content-nav nav .level-2{padding-left:var(--space-sm)}.course-content-nav nav .level-3,.course-content-nav nav .level-4,.course-content-nav nav .level-5,.course-content-nav nav .level-6{padding-left:var(--space-md)}.course-content-nav p{margin:var(--space-xs) 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.course-directory-reveal,.course-content-reveal{position:sticky;top:calc(var(--banner-height) + var(--space-md));display:flex;align-items:center;justify-content:center;gap:var(--space-2xs);width:2.4rem;min-height:8rem;padding:var(--space-xs) 0;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);color:var(--color-muted);writing-mode:vertical-rl}.course-directory-reveal:hover,.course-content-reveal:hover{color:var(--color-accent-strong);border-color:var(--color-accent)}.course-subsection-content{margin-top:var(--space-lg)}.course-subsection-content .rich-text-surface--readonly{font-size:var(--text-md);line-height:1.85}.course-subsection-content h1,.course-subsection-content h2,.course-subsection-content h3,.course-subsection-content h4,.course-subsection-content h5,.course-subsection-content h6{scroll-margin-top:calc(var(--banner-height) + var(--space-lg))}@media(max-width:980px){.course-detail-layout{grid-template-columns:15rem minmax(0,1fr)}.course-content-nav{grid-column:1 / -1;position:relative;top:auto;max-height:14rem;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card)}.course-content-reveal{position:absolute;top:var(--space-md);right:0}.course-detail-layout.course-directory-hidden{grid-template-columns:2.4rem minmax(0,1fr)}.course-detail-layout.content-directory-hidden{grid-template-columns:15rem minmax(0,1fr)}}@media(max-width:760px){.course-detail-layout,.course-detail-layout.course-directory-hidden,.course-detail-layout.content-directory-hidden,.course-detail-layout.course-directory-hidden.content-directory-hidden{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.course-directory-panel{position:relative;top:auto;max-height:none}.course-directory-reveal,.course-content-reveal{position:relative;top:auto;width:100%;min-height:2.5rem;writing-mode:horizontal-tb}.course-content-nav{grid-column:auto;position:relative;max-height:12rem}.course-detail-heading h1{font-size:var(--text-xl)}}.course-detail-page{max-width:none;padding-top:var(--space-md);padding-right:var(--layout-page-gutter);padding-left:var(--layout-page-gutter)}.course-detail-page .course-detail-heading{width:min(100%,var(--layout-page-width));max-width:none;margin:0 auto;padding-top:var(--space-md)}.course-detail-layout{grid-template-columns:16rem 11rem minmax(0,1fr);gap:clamp(var(--space-md),2.5vw,var(--space-2xl));width:min(100%,var(--layout-page-width));max-width:none;margin:0 auto;padding-top:0;border-top:0}.course-detail-layout.course-directory-hidden{grid-template-columns:2.4rem 11rem minmax(0,1fr)}.course-detail-layout.content-directory-hidden{grid-template-columns:16rem 2.4rem minmax(0,1fr)}.course-detail-layout.course-directory-hidden.content-directory-hidden{grid-template-columns:2.4rem 2.4rem minmax(0,1fr)}.course-lesson-nav{padding:0;border:0;border-radius:0;background:transparent}.course-directory-panel{overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.course-directory-panel::-webkit-scrollbar{display:none;width:0;height:0}.course-directory-panel .course-lesson-group,.course-directory-panel .course-lesson-group h3,.course-directory-panel .course-lesson-group>button{min-width:0;max-width:100%}.course-directory-panel .course-lesson-group h3,.course-directory-panel .course-lesson-name{overflow-wrap:anywhere;white-space:normal}.course-directory-course{display:grid;gap:var(--space-2xs);padding:0 0 var(--space-lg);border-bottom:var(--rule-thin) solid var(--color-rule)}.course-directory-course .course-back-link{width:fit-content;margin-bottom:var(--space-md);color:var(--color-muted);font-size:var(--text-xs);line-height:1}.course-directory-course .course-back-link:hover{color:var(--color-accent-strong)}.course-directory-course>p{margin:0 0 var(--space-3xs);color:var(--color-accent-strong);font-size:var(--text-xs);font-weight:760;line-height:1.4}.course-directory-course h1{margin:0;overflow-wrap:anywhere;color:var(--color-ink);font-size:1.25rem;font-weight:760;line-height:1.32}.course-directory-course>span{display:-webkit-box;overflow:hidden;margin-top:var(--space-3xs);color:var(--color-muted);font-size:.8125rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.course-directory-meta{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-sm);margin-top:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);line-height:1}.course-directory-meta span{display:inline-flex;align-items:center;gap:var(--space-3xs);white-space:nowrap}.course-directory-meta svg{color:var(--color-ink-2)}.course-lesson-nav-title{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-xs);padding:var(--space-md) 0 var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule)}.course-lesson-nav-title strong{min-width:0;color:var(--color-ink);font-size:var(--text-sm);line-height:1;white-space:nowrap}.course-lesson-nav-title>span{font-variant-numeric:tabular-nums;white-space:nowrap}.course-directory-panel .course-lesson-group{padding-top:var(--space-sm)}.course-directory-panel .course-lesson-group h3{min-height:2.25rem;padding:var(--space-2xs) var(--space-xs);font-size:.8125rem;line-height:1.4}.course-directory-panel .course-lesson-group h3 span{width:1.5rem;height:1.5rem;flex:0 0 1.5rem}.course-directory-panel .course-lesson-group>button{min-height:2.625rem;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-input);font-size:.8125rem;line-height:1.4}.course-directory-panel .course-lesson-group>button.active{font-weight:650}.course-directory-panel .course-lesson-index{width:1.5rem;flex-basis:1.5rem}.course-directory-panel .course-lesson-name{line-height:1.4}.course-content-nav{padding:0 0 0 var(--space-md);border:0;border-left:var(--rule-thin) solid var(--color-rule);background:transparent}.course-content-nav{overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.course-content-nav::-webkit-scrollbar{display:none;width:0;height:0}.course-content-nav nav,.course-content-nav nav button{min-width:0;max-width:100%}.course-content-nav nav button{overflow-wrap:anywhere;word-break:break-word}.course-lesson-content{max-width:72rem;width:100%;padding-top:var(--space-sm);padding-bottom:var(--space-2xl)}.course-document-meta{display:flex;align-items:center;gap:.35rem;margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.5}.course-subsection-content{max-width:72rem}.course-subsection-content .rich-text-surface--readonly{color:var(--color-ink-2);font-size:1rem;line-height:1.75}.course-subsection-content .rich-text-surface--readonly p{margin:0 0 .85rem;line-height:1.75}.course-subsection-content .rich-text-surface--readonly h1{margin:2.25rem 0 .9rem;font-size:2rem;font-weight:750;line-height:1.3}.course-subsection-content .rich-text-surface--readonly h2{margin:1.9rem 0 .75rem;font-size:1.5rem;font-weight:720;line-height:1.35}.course-subsection-content .rich-text-surface--readonly ul,.course-subsection-content .rich-text-surface--readonly ol{margin:.5rem 0 1rem;padding-left:1.6rem;font-size:1rem;line-height:1.8}.course-subsection-content .rich-text-surface--readonly li{padding-left:.2rem;margin:.15rem 0}.rich-text-surface--editable{color:var(--color-ink-2);font-size:1rem;line-height:1.75}.rich-text-surface--editable p{margin:0 0 .85rem;line-height:1.75}.rich-text-surface--editable h1{margin:2.25rem 0 .9rem;font-size:2rem;font-weight:750;line-height:1.3}.rich-text-surface--editable h2{margin:1.9rem 0 .75rem;font-size:1.5rem;font-weight:720;line-height:1.35}.rich-text-surface--editable ul,.rich-text-surface--editable ol{margin:.5rem 0 1rem;padding-left:1.6rem;font-size:1rem;line-height:1.8}.rich-text-surface--editable li{padding-left:.2rem;margin:.15rem 0}.course-lesson-nav .course-directory-collapse{display:grid;place-items:center;width:2rem;min-width:2rem;height:2rem;min-height:2rem;margin-left:0;padding:0;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.course-directory-collapse:hover{background:var(--color-paper-2);color:var(--color-ink)}.course-directory-reveal{position:sticky;top:calc(var(--banner-height) + var(--space-md));display:grid;place-items:center;width:2.5rem;height:2.5rem;min-height:0;padding:0;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);writing-mode:horizontal-tb;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.course-directory-reveal:hover{border-color:transparent;background:var(--color-paper-2);color:var(--color-accent-strong)}.course-directory-collapse[data-tooltip],.course-directory-reveal[data-tooltip]{position:relative}.course-directory-collapse[data-tooltip]:after,.course-directory-reveal[data-tooltip]:after{position:absolute;z-index:10;left:50%;bottom:calc(100% + .55rem);padding:.45rem .65rem;border-radius:var(--radius-input);background:var(--color-ink);color:var(--color-surface);content:attr(data-tooltip);font-size:var(--text-xs);line-height:1.25;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.course-directory-collapse[data-tooltip]:before,.course-directory-reveal[data-tooltip]:before{position:absolute;z-index:10;left:50%;bottom:calc(100% + .22rem);width:.55rem;height:.55rem;background:var(--color-ink);content:"";opacity:0;pointer-events:none;transform:translate(-50%) rotate(45deg);transition:opacity var(--dur-fast) var(--ease-out)}.course-directory-collapse[data-tooltip]:hover:after,.course-directory-collapse[data-tooltip]:hover:before,.course-directory-reveal[data-tooltip]:hover:after,.course-directory-reveal[data-tooltip]:hover:before{opacity:1}.course-directory-collapse[data-tooltip]:hover:after,.course-directory-reveal[data-tooltip]:hover:after{transform:translate(-50%)}.course-content-collapse{display:grid;place-items:center;width:2rem;height:2rem;margin-left:auto;padding:0;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.course-content-collapse:hover{background:var(--color-paper-2);color:var(--color-ink)}.course-content-reveal{position:sticky;top:calc(var(--banner-height) + var(--space-md));display:grid;place-items:center;width:2.5rem;height:2.5rem;min-height:0;padding:0;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);writing-mode:horizontal-tb;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.course-content-reveal:hover{border-color:transparent;background:var(--color-paper-2);color:var(--color-accent-strong)}.course-content-collapse[data-tooltip],.course-content-reveal[data-tooltip]{position:relative}.course-content-collapse[data-tooltip]:after,.course-content-reveal[data-tooltip]:after{position:absolute;z-index:10;left:50%;bottom:calc(100% + .55rem);padding:.45rem .65rem;border-radius:var(--radius-input);background:var(--color-ink);color:var(--color-surface);content:attr(data-tooltip);font-size:var(--text-xs);line-height:1.25;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.course-content-collapse[data-tooltip]:before,.course-content-reveal[data-tooltip]:before{position:absolute;z-index:10;left:50%;bottom:calc(100% + .22rem);width:.55rem;height:.55rem;background:var(--color-ink);content:"";opacity:0;pointer-events:none;transform:translate(-50%) rotate(45deg);transition:opacity var(--dur-fast) var(--ease-out)}.course-content-collapse[data-tooltip]:hover:after,.course-content-collapse[data-tooltip]:hover:before,.course-content-reveal[data-tooltip]:hover:after,.course-content-reveal[data-tooltip]:hover:before{opacity:1}.course-content-collapse[data-tooltip]:hover:after,.course-content-reveal[data-tooltip]:hover:after{transform:translate(-50%)}.course-content-collapse[data-tooltip]:after,.course-content-collapse[data-tooltip]:before{bottom:auto;top:calc(100% + .55rem)}.course-content-collapse[data-tooltip]:before{top:calc(100% + .22rem)}.course-content-reveal{align-self:start;margin-top:0}@media(max-width:980px){.course-detail-layout,.course-detail-layout.content-directory-hidden{grid-template-columns:15rem minmax(0,1fr)}.course-detail-layout.course-directory-hidden{grid-template-columns:2.4rem minmax(0,1fr)}.course-content-nav{padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2)}}@media(max-width:760px){.course-directory-reveal{position:relative;width:100%;height:2.5rem}.course-directory-reveal:after{bottom:calc(100% + .35rem)}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;min-height:calc(100vh - var(--banner-height))}.site-header{position:sticky;top:0;z-index:300;height:var(--banner-height);background:color-mix(in oklch,var(--color-surface) 94%,transparent);border-bottom:var(--rule-thin) solid var(--color-rule);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-inner{width:min(var(--layout-home-width),calc(100% - 2 * var(--layout-page-gutter)));height:100%;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-lg)}.brand{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:0;color:var(--color-ink);font-family:var(--font-display);font-weight:760;line-height:1;white-space:nowrap}.brand-mark{width:2rem;height:2rem;display:grid;place-items:center;border-radius:var(--radius-input);background:var(--color-accent-2);color:var(--color-accent-strong)}.primary-nav{justify-self:center;display:flex;align-items:center;gap:var(--space-md);min-width:0;height:100%}.primary-nav a{position:relative;min-height:100%;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:0;border-radius:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1;white-space:nowrap;transition:color var(--dur-short) var(--ease-out)}.login-link,.username{position:relative;min-height:2.375rem;display:inline-flex;align-items:center;gap:var(--space-2xs);padding:0 var(--space-sm);border-radius:var(--radius-input);color:var(--color-ink-2);font-size:var(--text-sm);line-height:1;white-space:nowrap}.primary-nav a:hover{color:var(--color-ink)}.login-link:hover{background:var(--color-accent-2);color:var(--color-accent-strong)}.primary-nav a:focus-visible,.login-link:focus-visible,.brand:focus-visible,.section-action:focus-visible,.row-action:focus-visible,.compact-primary:focus-visible,.attachment-download:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.primary-nav a.router-link-active{color:var(--color-accent-strong);font-weight:700}.primary-nav a.router-link-active:after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--color-accent);content:""}.account-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-xs);min-width:0}.username{color:var(--color-muted)}.icon-button{width:2.375rem;height:2.375rem;display:inline-grid;place-items:center;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);color:var(--color-ink-2);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.icon-button:hover,.icon-button.is-hover{border-color:var(--color-accent);color:var(--color-accent-strong);background:var(--color-accent-2);transform:translateY(var(--lift-sm));box-shadow:var(--shadow-sm)}.icon-button:focus-visible,.icon-button.is-focus{outline:2px solid var(--color-focus);outline-offset:2px}.icon-button:active,.icon-button.is-active{transform:translateY(0)}.icon-button:disabled{opacity:.55;background:var(--color-paper-2);color:var(--color-muted);box-shadow:none}.home-view,.page-container{width:min(var(--layout-page-width),calc(100% - 2 * var(--layout-page-gutter)));margin:0 auto;padding:var(--space-xl) 0 var(--space-2xl)}.home-view{width:min(var(--layout-home-width),calc(100% - 2 * var(--layout-page-gutter)))}.home-start-page{display:grid;gap:var(--space-xl)}.home-start{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.72fr);gap:clamp(var(--space-lg),4vw,var(--space-3xl));min-height:31rem;padding:clamp(var(--space-lg),4vw,var(--space-2xl));border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.home-start-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.home-hero{position:relative;margin-top:var(--space-md);padding:var(--space-2xl) var(--space-xl);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background-color:var(--color-surface);background-image:var(--gradient-hero);box-shadow:var(--shadow-md);overflow:hidden}.home-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.6fr);align-items:end;gap:var(--space-xl)}.eyebrow,.section-label,.section-kicker{display:inline-flex;align-items:center;gap:var(--space-2xs);margin:0 0 var(--space-sm);color:var(--color-accent-strong);font-size:var(--text-xs);font-weight:760;letter-spacing:.06em;text-transform:uppercase}.eyebrow:before{content:"";width:1.5rem;height:2px;border-radius:2px;background:var(--gradient-accent)}h1,h2,h3,h4,p{letter-spacing:0}.home-intro h1{max-width:15ch;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-display);line-height:1.04;overflow-wrap:anywhere;min-width:0}.home-intro h1 em{color:var(--color-accent-strong);font-style:normal}.home-start h1{max-width:10ch;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-display);line-height:1.08;overflow-wrap:anywhere}.home-start h1 span{color:var(--color-accent-strong)}.page-heading h1,.auth-context h1{max-width:20ch;font-size:var(--text-2xl);line-height:1.12}.intro-copy{max-width:60ch;margin:var(--space-md) 0 0;color:var(--color-ink-2);font-size:var(--text-md);line-height:1.8}.project-search,.inline-search,.input-shell{min-height:3rem;display:flex;align-items:center;gap:var(--space-xs);padding-left:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-muted);box-shadow:var(--shadow-xs);outline:2px solid transparent;outline-offset:1px;transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),outline-color var(--dur-short) var(--ease-out)}.project-search:hover,.inline-search:hover,.input-shell:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.project-search:focus-within,.inline-search:focus-within,.input-shell:focus-within{border-color:var(--color-accent);outline-color:var(--color-focus);box-shadow:var(--shadow-sm)}.project-search input,.inline-search input,.input-shell input{min-width:0;flex:1;border:0;outline:0;color:var(--color-ink);background:transparent}.project-search button{align-self:stretch;min-width:5.5rem;margin:var(--space-3xs);border:0;border-radius:calc(var(--radius-input) - .25rem);background:var(--gradient-accent);color:var(--color-accent-ink);font-weight:760;white-space:nowrap;transition:filter var(--dur-short) var(--ease-out)}.project-search button:hover{filter:brightness(1.06)}.project-search button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.home-search{width:min(100%,39rem);margin-top:var(--space-xl)}.home-quick-links{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.home-quick-links a,.build-path-action,.home-section-heading>a{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:720;white-space:nowrap}.home-quick-links a:hover,.build-path-action:hover,.home-section-heading>a:hover{color:var(--color-ink)}.build-path{align-self:stretch;display:flex;flex-direction:column;padding:var(--space-lg);border-left:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2)}.build-path-header,.home-list-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:760}.build-path-header svg{color:var(--color-accent-strong)}.build-path ol{display:grid;gap:var(--space-lg);margin:var(--space-xl) 0 auto;padding:0;list-style:none}.build-path li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-sm)}.path-number{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent-strong);font-size:var(--text-xs);font-weight:760}.build-path strong{display:block;color:var(--color-ink);font-size:var(--text-md)}.build-path p{margin:var(--space-3xs) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.build-path-action{width:fit-content;margin-top:var(--space-xl)}.home-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.destination-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-md);min-height:8.75rem;padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);transition:transform var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.destination-card:hover{transform:translateY(var(--lift-sm));border-color:var(--color-accent);box-shadow:var(--shadow-md)}.destination-card:focus-visible,.home-list-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.destination-icon,.item-mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-input);background:var(--color-accent-2);color:var(--color-accent-strong)}.destination-card--courses .destination-icon,.item-mark--warm{background:var(--color-warm-2);color:var(--color-warm-ink)}.destination-copy{display:grid;gap:var(--space-3xs);min-width:0}.destination-copy small{color:var(--color-muted);font-size:var(--text-xs);font-weight:760;letter-spacing:.06em}.destination-copy strong{color:var(--color-ink);font-size:var(--text-lg)}.destination-copy em{color:var(--color-muted);font-size:var(--text-sm);font-style:normal;line-height:1.5}.destination-card>svg{color:var(--color-muted)}.home-library{padding-top:var(--space-xl);border-top:var(--rule-thin) solid var(--color-rule)}.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-md)}.home-section-heading h2{margin:0;font-size:var(--text-xl)}.home-section-heading .section-kicker{margin-bottom:var(--space-2xs)}.home-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl);margin-top:var(--space-lg)}.home-list-panel{min-width:0}.home-list-heading{justify-content:flex-start;padding-bottom:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule)}.home-list-heading h3{margin:0;font-size:var(--text-md)}.home-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:var(--rule-thin) solid var(--color-rule);transition:color var(--dur-short) var(--ease-out)}.home-list-item:hover strong{color:var(--color-accent-strong)}.home-list-item .item-mark{width:2.25rem;height:2.25rem}.home-list-item>span:nth-child(2){min-width:0}.home-list-item strong,.home-list-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-list-item strong{color:var(--color-ink);font-size:var(--text-sm)}.home-list-item small{margin-top:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs)}.home-list-item>svg{color:var(--color-muted)}.home-list-empty,.home-loading{display:flex;align-items:center;gap:var(--space-xs);min-height:7rem;margin:0;color:var(--color-muted);font-size:var(--text-sm)}.home-loading{justify-content:center;margin-top:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2)}.home-platform-page{display:grid;gap:var(--space-3xl);padding-top:var(--space-lg)}.home-carousel{position:relative;overflow:hidden;min-height:28rem;padding:clamp(var(--space-xl),4vw,var(--space-2xl)) clamp(var(--space-xl),5vw,var(--space-3xl));border-radius:var(--radius-lg);background-color:var(--color-paper-2);background-image:linear-gradient(color-mix(in oklch,var(--color-surface) 18%,transparent),color-mix(in oklch,var(--color-surface) 18%,transparent)),url(/images/maker-workbench-banner.png);background-position:center;background-size:cover;box-shadow:var(--shadow-sm)}.carousel-slide{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);width:100%;height:30rem;min-height:0;overflow:hidden;padding:0;border:var(--rule-thin) solid color-mix(in oklch,var(--color-surface) 70%,transparent);border-radius:var(--radius-lg);background:color-mix(in oklch,var(--color-surface) 90%,transparent);color:var(--color-ink);text-align:left;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08)}.carousel-art{position:relative;display:grid;place-items:center;height:calc(30rem - 2 * var(--space-lg));min-height:0;margin:var(--space-lg);overflow:hidden;border-radius:var(--radius-card);background:var(--color-accent-2);color:var(--color-accent-strong)}.carousel-art--image,.featured-cover--image{background:var(--color-paper-3)}.carousel-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.featured-cover img{width:100%;height:100%;object-fit:cover}.carousel-copy{align-self:center;min-width:0;padding:var(--space-xl) clamp(var(--space-lg),4vw,var(--space-2xl))}.carousel-copy p{margin:0 0 var(--space-sm);color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:760}.carousel-copy h1{max-width:12ch;margin:0;font-size:clamp(var(--text-2xl),3vw,3.25rem);line-height:1.12;overflow-wrap:anywhere}.carousel-copy>span{display:-webkit-box;overflow:hidden;max-width:40ch;margin-top:var(--space-md);color:var(--color-muted);line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:4}.carousel-copy strong,.featured-card strong{display:inline-flex;align-items:center;gap:var(--space-2xs);margin-top:var(--space-lg);color:var(--color-accent-strong);font-size:var(--text-sm)}.carousel-control{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-surface) 84%,transparent);color:var(--color-ink-2);transform:translateY(-50%);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.carousel-control:hover{color:var(--color-accent-strong);background:var(--color-surface)}.carousel-control:focus-visible,.carousel-dots button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.carousel-control--previous{left:var(--space-md)}.carousel-control--next{right:var(--space-md)}.carousel-dots{position:absolute;z-index:2;right:var(--space-xl);bottom:var(--space-md);display:flex;gap:var(--space-2xs)}.carousel-dots button{width:.55rem;height:.55rem;padding:0;border:0;border-radius:var(--radius-pill);background:var(--color-rule-strong)}.carousel-dots button.active{width:1.5rem;background:var(--color-accent)}.home-featured{padding-top:var(--space-2xl);border-top:var(--rule-thin) solid var(--color-rule)}.platform-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-md)}.platform-section-heading .section-kicker{margin-bottom:var(--space-2xs)}.platform-section-heading h2{margin:0;font-size:var(--text-2xl)}.platform-section-heading span{display:block;margin-top:var(--space-xs);color:var(--color-muted);line-height:1.7}.platform-section-heading>a{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:760;white-space:nowrap}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-xl)}.featured-card{overflow:hidden;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.featured-card:hover{transform:translateY(var(--lift-sm));border-color:var(--color-accent);box-shadow:var(--shadow-md)}.featured-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.featured-cover{position:relative;display:grid;place-items:center;aspect-ratio:16 / 9;overflow:hidden;background:var(--color-accent-2);color:var(--color-accent-strong)}.featured-cover--course{background:var(--color-warm-2);color:var(--color-warm-ink)}.featured-cover span{position:absolute;right:var(--space-xs);top:var(--space-xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:700}.featured-card>div:last-child{padding:var(--space-md)}.featured-card h3{margin:0;color:var(--color-ink);font-size:var(--text-lg);line-height:1.35}.featured-card p{display:-webkit-box;overflow:hidden;margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.featured-card strong{margin-top:var(--space-md)}.home-empty{margin:var(--space-xl) 0 0;color:var(--color-muted)}.home-about{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-lg);padding:clamp(var(--space-lg),4vw,var(--space-2xl));border-radius:var(--radius-lg);background:var(--color-paper-2)}.home-about-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:var(--radius-input);background:var(--color-warm-2);color:var(--color-warm-ink)}.home-about .section-kicker{margin-bottom:var(--space-2xs)}.home-about h2{margin:0;font-size:var(--text-2xl)}.home-about p{max-width:60ch;margin:var(--space-md) 0 0;color:var(--color-ink-2);font-size:var(--text-lg);line-height:1.7}.home-about>div:last-child>span{display:block;max-width:65ch;margin-top:var(--space-xs);color:var(--color-muted);line-height:1.75}.about-search{width:min(100%,34rem);margin-top:var(--space-lg)}.platform-section-heading h2{font-size:var(--text-xl)}.platform-section-heading span{max-width:52ch}.featured-grid{align-items:stretch}.featured-card{height:100%;min-width:0;display:flex;flex-direction:column;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.featured-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm);transform:translateY(var(--lift-sm))}.featured-cover{flex:0 0 auto;border-radius:0}.featured-card>div:last-child{flex:1;min-width:0;display:flex;flex-direction:column;padding:var(--space-md)}.featured-card strong{display:inline-flex;align-items:center;gap:var(--space-3xs);margin-top:auto;padding-top:var(--space-md);color:var(--color-accent-strong);font-size:var(--text-sm)}.project-showcase,.project-showcase--count-1,.project-showcase--count-2{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}.project-showcase .featured-card--lead{grid-row:auto}.project-showcase .featured-card:not(.featured-card--lead){display:flex}.project-showcase .featured-card:not(.featured-card--lead) .featured-cover{aspect-ratio:16 / 9}.home-about{border-top:var(--rule-thin) solid var(--color-rule);border-radius:0;background:transparent}.path-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-md);margin-top:var(--space-lg)}.content-section{position:relative;min-height:16rem;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--dur-md) var(--ease-out),box-shadow var(--dur-md) var(--ease-out),border-color var(--dur-md) var(--ease-out)}.content-section:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--gradient-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-md) var(--ease-out)}.content-section:hover{transform:translateY(var(--lift-md));box-shadow:var(--shadow-lg);border-color:var(--color-accent-3)}.content-section:hover:before{transform:scaleX(1)}.content-section--courses:before{background:var(--gradient-warm)}.content-section--courses .section-label{color:var(--color-warm-ink)}.section-visual{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:var(--space-sm);border-radius:var(--radius-input);background:var(--color-accent-2);color:var(--color-accent-strong);transition:transform var(--dur-short) var(--ease-spring)}.content-section--courses .section-visual{background:var(--color-warm-2);color:var(--color-warm-ink)}.content-section:hover .section-visual{transform:scale(1.08) rotate(-4deg)}.section-copy h2{margin:0;color:var(--color-ink);font-size:var(--text-xl);line-height:1.18}.section-copy>p:last-child{max-width:40ch;margin:var(--space-xs) 0 0;color:var(--color-muted);line-height:1.75}.section-action{width:fit-content;margin-top:var(--space-md);display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-accent-strong);font-weight:760;line-height:1;white-space:nowrap;transition:gap var(--dur-short) var(--ease-out)}.content-section:hover .section-action{gap:var(--space-xs)}.focus-strip{margin-top:var(--space-md);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-ink-2);box-shadow:var(--shadow-xs)}.focus-strip>svg{flex-shrink:0;color:var(--color-warm)}.focus-strip div{display:flex;align-items:baseline;gap:var(--space-xs);flex-wrap:wrap}.focus-strip span{color:var(--color-muted);font-size:var(--text-sm)}.page-heading{min-height:7rem;display:flex;justify-content:space-between;align-items:end;gap:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule)}.page-heading p:not(.eyebrow){max-width:65ch;margin:var(--space-2xs) 0 0;color:var(--color-muted);line-height:1.7}.inline-search{width:min(24rem,100%)}.project-list{margin-top:var(--space-md);display:grid;gap:var(--space-sm)}.project-row{position:relative;display:grid;grid-template-columns:3.75rem minmax(0,1fr) auto;align-items:center;gap:var(--space-md);min-height:6.5rem;padding:var(--space-md) var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.project-row:hover{transform:translateY(var(--lift-sm));box-shadow:var(--shadow-md);border-color:var(--color-accent-3)}.project-row:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.project-visual{width:3.25rem;height:3.25rem;display:grid;place-items:center;border-radius:var(--radius-input);background:var(--color-accent-2);color:var(--color-accent-strong);transition:transform var(--dur-short) var(--ease-spring)}.project-row:hover .project-visual{transform:scale(1.06) rotate(-4deg)}.project-title-line{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.project-title-line h2{margin:0;color:var(--color-ink);font-size:var(--text-lg);line-height:1.25}.project-title-line span{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);color:var(--color-accent-strong);background:var(--color-accent-2);font-size:var(--text-xs);font-weight:700;line-height:1.4}.project-copy p{max-width:72ch;margin:var(--space-2xs) 0 0;color:var(--color-muted);line-height:1.65}.row-action{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2xs);color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:760;line-height:1;white-space:nowrap;transition:gap var(--dur-short) var(--ease-out)}.project-row:hover .row-action{gap:var(--space-xs)}.project-card-grid{grid-template-columns:repeat(3,minmax(280px,1fr));gap:1.5rem}.catalog-layout{display:grid;grid-template-columns:10.5rem minmax(0,1fr);gap:var(--space-xl);align-items:start}.catalog-layout--flat{display:block}.courses-layout.catalog-layout--flat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm) var(--space-lg);padding-top:var(--space-md);border-top:var(--rule-thin) solid var(--color-rule)}.catalog-tabs{display:flex;gap:.35rem;overflow-x:auto;padding:.25rem 0 .75rem;border-bottom:1px solid var(--color-rule)}.courses-layout .catalog-tabs{min-width:0;padding:0;border:0}.catalog-tabs button,.catalog-sort button{flex:0 0 auto;min-height:2.25rem;padding:0 .9rem;border:0;border-radius:999px;background:transparent;color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.catalog-tabs button:hover,.catalog-tabs button.active,.catalog-sort .sort-active{background:var(--color-accent-2);color:var(--color-accent-strong);font-weight:700}.catalog-sort{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;padding:.75rem 0 1rem;color:var(--color-muted);font-size:var(--text-sm)}.catalog-sort span{margin-right:auto}.courses-layout .catalog-sort{padding:0}.courses-layout .catalog-sort span{display:none}.courses-layout .course-results{grid-column:1 / -1}.courses-layout .course-results-heading{display:flex;align-items:center;min-height:2.25rem;margin-top:var(--space-xs)}.courses-layout .course-results-heading h2{margin:0;font-size:var(--text-xl)}.catalog-sidebar{position:sticky;top:var(--space-lg);display:grid;align-content:start;gap:.2rem;padding-top:.35rem}.catalog-sidebar .section-kicker{margin:0 0 var(--space-xs)}.catalog-sidebar button{min-height:2.5rem;padding:0 var(--space-sm);border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);text-align:left;font-size:var(--text-sm);cursor:pointer}.catalog-sidebar button:hover,.catalog-sidebar button.active{background:var(--color-accent-2);color:var(--color-accent-strong);font-weight:700}.project-card{display:block;min-height:0;padding:0;overflow:hidden;border-radius:16px}.project-card .project-visual{position:relative;isolation:isolate;z-index:0;overflow:hidden;width:100%;aspect-ratio:1.84 / 1;height:auto;border-radius:0;background:var(--color-accent-2);transform:none}.project-card:hover .project-visual{z-index:2;width:100%;aspect-ratio:1.84 / 1;height:auto;transform:none}.project-card .project-visual img{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;object-fit:cover;opacity:1;visibility:visible}.card-cover-tag{position:absolute;z-index:3;left:var(--space-sm);top:var(--space-sm);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-ink) 78%,transparent);color:var(--color-accent-ink);font-size:var(--text-xs);font-weight:700}.project-card .project-visual--image{background:var(--color-paper-2)}.project-card .project-copy{position:relative;z-index:1;min-height:13rem;padding:1.15rem 1.35rem 1.25rem;background:var(--color-surface)}.project-card .project-title-line{margin-bottom:var(--space-xs)}.project-card .project-title-line span{color:var(--color-accent-strong);font-size:var(--text-sm)}.project-card .project-copy h2{margin:0;font-size:var(--text-lg);line-height:1.35}.project-card .project-copy p{min-height:3.3rem;margin:var(--space-xs) 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-meta{display:flex;gap:var(--space-md);margin-top:var(--space-md);color:var(--color-muted);font-size:var(--text-xs)}.project-card-meta span{display:inline-flex;align-items:center;gap:var(--space-3xs)}.project-card .row-action{margin-top:var(--space-md);justify-content:flex-start}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-md)}.card-bottom .row-action{margin-top:0;color:var(--color-accent-strong)}.empty-state{margin-top:var(--space-md);min-height:8.75rem;display:grid;place-items:center;gap:var(--space-xs);padding:var(--space-lg);border:var(--rule-thin) dashed var(--color-rule);border-radius:var(--radius-card);color:var(--color-muted);background:var(--color-paper-2);text-align:center;animation:fade-in var(--dur-md) var(--ease-out) both}.error-state button{min-height:2.5rem;padding:0 var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-accent-strong);font-weight:700;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.error-state button:hover{background:var(--color-accent-2);transform:translateY(var(--lift-sm))}.empty-state--large{min-height:16rem;align-content:center}.empty-state--large svg{color:var(--color-accent)}.empty-state--large strong{color:var(--color-ink-2);font-size:var(--text-md)}.courses-hero{display:flex;justify-content:space-between;align-items:end;gap:var(--space-lg);padding:var(--space-lg) 0 var(--space-md);border-bottom:0}.courses-hero h1{max-width:22ch;margin:0;font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.12}.courses-hero-copy{margin:var(--space-sm) 0 0;color:var(--color-muted);line-height:1.7}.courses-hero-stat{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-muted);white-space:nowrap}.courses-hero-stat svg{color:var(--color-accent-strong)}.courses-hero-stat strong{color:var(--color-ink);font-size:var(--text-lg)}.course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0 var(--space-md);border-bottom:0}.course-search{width:min(24rem,100%);min-height:2.75rem;display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-muted)}.course-search:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.course-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--color-ink)}.course-categories{display:flex;gap:var(--space-2xs);overflow-x:auto}.course-categories button{min-height:2.35rem;padding:0 var(--space-sm);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);white-space:nowrap}.course-categories button:hover,.course-categories button.active{background:var(--color-accent-2);color:var(--color-accent-strong);font-weight:700}.courses-layout{grid-template-columns:10.5rem minmax(0,1fr);padding-top:var(--space-lg)}.course-results-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:var(--space-md)}.course-results-heading h2{margin:0;font-size:var(--text-xl)}.course-results-heading>span{color:var(--color-muted);font-size:var(--text-sm)}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:1.5rem}.course-card{overflow:hidden;border:1px solid #d7e0e8;border-radius:16px;background:var(--color-surface);box-shadow:0 3px 12px #26374814;transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.course-card:hover{transform:translateY(var(--lift-sm));box-shadow:var(--shadow-md)}.course-cover{aspect-ratio:1.84 / 1;height:auto;display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-md);color:#fff;font-size:var(--text-sm)}.course-cover span{padding:.25rem .5rem;border-radius:var(--radius-pill);background:color-mix(in srgb,#fff 22%,transparent)}.course-cover--mint{background:#2d9d83}.course-cover--blue{background:#3f70d8}.course-cover--orange{background:#d97932}.course-cover--purple{background:#8062b3}.course-cover--cyan{background:#278fa4}.course-cover--red{background:#c75a60}.course-cover--image{position:relative;overflow:hidden;padding:0}.course-cover--image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.course-card-body{padding:var(--space-md)}.course-card-meta,.course-card-footer{display:flex;justify-content:space-between;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs)}.course-card-meta span:first-child{color:var(--color-accent-strong)}.course-card h3{margin:var(--space-sm) 0 var(--space-2xs);font-size:var(--text-md);line-height:1.35}.course-card p{min-height:3.2em;margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.65}.course-card-footer{justify-content:flex-start;margin-top:var(--space-md)}.course-card-footer span{display:inline-flex;align-items:center;gap:.3rem}.course-card-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:var(--space-md);padding:0;border:0;background:transparent;color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:700}.course-aside{display:grid;align-content:start;gap:var(--space-md)}.course-aside-panel{padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.course-aside-panel--featured{background:var(--color-paper-2)}.course-aside-panel h2{margin:0;font-size:var(--text-lg);line-height:1.35}.course-aside-panel p:not(.section-kicker){margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.7}.course-aside-facts{display:grid;gap:var(--space-xs);margin:var(--space-md) 0;color:var(--color-muted);font-size:var(--text-xs)}.course-aside-facts span{display:flex;align-items:center;gap:.35rem}.course-aside-panel .primary-button{width:100%}.course-benefits{display:grid;gap:var(--space-md);margin:0;padding:0;list-style:none}.course-benefits li{display:flex;gap:var(--space-xs)}.course-benefit-icon{flex:0 0 2rem;height:2rem;display:grid;place-items:center;border-radius:var(--radius-input);background:var(--color-accent-2);color:var(--color-accent-strong)}.course-benefits strong,.course-benefits small{display:block}.course-benefits strong{font-size:var(--text-sm)}.course-benefits small{margin-top:.2rem;color:var(--color-muted);font-size:var(--text-xs)}@media(max-width:1100px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.catalog-layout,.courses-layout{grid-template-columns:minmax(0,1fr)}.catalog-sidebar{position:static;display:flex;overflow-x:auto;gap:.25rem;padding:0}.catalog-sidebar .section-kicker{display:none}.catalog-sidebar button{white-space:nowrap}}@media(max-width:760px){.courses-hero,.course-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.courses-layout.catalog-layout--flat{grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.courses-layout .catalog-sort{justify-content:flex-start;overflow-x:auto;padding-bottom:var(--space-2xs)}.courses-layout .course-results{grid-column:auto}.course-categories{width:100%}.course-grid,.course-aside{grid-template-columns:minmax(0,1fr)}.course-aside-panel--featured{grid-row:auto}}.course-card-body{min-height:0;aspect-ratio:2.65 / 1;padding:16px;display:flex;flex-direction:column}.course-card h3{margin:0;color:var(--color-ink);font-size:var(--text-lg);font-weight:760}.course-card-meta-text{margin:var(--space-2xs) 0 0!important;min-height:0!important;color:var(--color-muted)!important;font-size:var(--text-xs)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-card-summary{margin:var(--space-2xs) 0 0!important;min-height:2.8em!important;color:var(--color-muted)!important;font-size:var(--text-sm)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-footer{margin-top:auto!important;align-items:center;justify-content:space-between!important}.course-card-footer strong{color:var(--color-ink-2);font-size:var(--text-md)}.course-card-link{min-width:5.5rem;height:2.375rem;justify-content:center;margin-top:0!important;padding:0 var(--space-sm);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);font-size:var(--text-sm)}.course-card-link:hover{background:var(--color-accent-strong)}.course-card-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.catalog-page{padding-top:var(--space-lg)}.catalog-page-heading{min-height:8.5rem;display:flex;align-items:end;justify-content:space-between;gap:var(--space-xl);padding:var(--space-lg) 0;border-bottom:var(--rule-thin) solid var(--color-rule)}.catalog-page-heading>div:first-child{min-width:0}.catalog-page-heading h1{max-width:24ch;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.2;overflow-wrap:anywhere}.catalog-page-heading p{max-width:52ch;margin:var(--space-xs) 0 0;color:var(--color-muted);line-height:1.7}.catalog-heading-meta{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-xs);padding-bottom:var(--space-2xs);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap}.catalog-heading-meta svg{color:var(--color-warm-ink)}.catalog-heading-meta strong{color:var(--color-ink);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.catalog-search-row{padding:var(--space-md) 0 0}.catalog-search{width:min(22rem,100%);min-height:2.75rem;display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-muted);outline:2px solid transparent;outline-offset:1px;transition:border-color var(--dur-short) var(--ease-out),outline-color var(--dur-short) var(--ease-out)}.catalog-page-heading .catalog-search{flex:0 1 22rem}.catalog-search:hover{border-color:var(--color-rule-strong)}.catalog-search:focus-within{border-color:var(--color-accent);outline-color:var(--color-focus)}.catalog-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--color-ink);font:inherit}.catalog-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-lg);padding-top:var(--space-md)}.catalog-tabs{min-width:0;padding:0;border:0;scrollbar-width:none}.catalog-tabs::-webkit-scrollbar,.catalog-sort::-webkit-scrollbar{display:none}.catalog-tabs button,.catalog-sort button{border-radius:var(--radius-input)}.catalog-tabs button:focus-visible,.catalog-sort button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.catalog-tabs button.active{background:transparent;color:var(--color-accent-strong);box-shadow:inset 0 -2px 0 var(--color-accent)}.catalog-sort{min-width:0;padding:0}.catalog-sort span,.catalog-count{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.catalog-sort button{min-height:2rem;padding:0 var(--space-xs);font-size:var(--text-xs)}.catalog-sort .sort-active{background:var(--color-accent-2)}.project-card-grid,.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:var(--space-lg);margin-top:var(--space-lg)}.project-card,.course-card{height:100%;min-width:0;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.project-card:hover,.course-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm);transform:translateY(var(--lift-sm))}.project-card .project-visual,.project-card:hover .project-visual,.course-cover{flex:0 0 auto;overflow:hidden;aspect-ratio:16 / 9;border-radius:0;background:var(--color-accent-2);color:var(--color-accent-strong)}.course-cover{position:relative;align-items:center;justify-content:center;padding:0}.course-cover--warm{background:var(--color-warm-2);color:var(--color-warm-ink)}.course-cover .card-cover-tag{right:var(--space-xs);left:auto;top:var(--space-xs);background:color-mix(in oklch,var(--color-surface) 92%,transparent);color:var(--color-ink-2)}.project-card .project-copy,.course-card-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--space-md);background:var(--color-surface)}.project-card .project-copy p,.course-card-summary{min-height:0!important}.project-card-meta{flex-wrap:wrap;gap:var(--space-xs) var(--space-md);margin-top:var(--space-sm)}.card-bottom{margin-top:auto;padding-top:var(--space-md);border-top:0;font-size:var(--text-sm)}.course-card-body{aspect-ratio:auto}.course-card-footer{margin-top:auto!important;padding-top:var(--space-md);border-top:0}.course-card-footer strong{font-size:var(--text-sm)}.course-card-link{min-width:0;height:auto;padding:0;border-radius:0;background:transparent;color:var(--color-accent-strong)}.course-card-link:hover{background:transparent;color:var(--color-ink)}.courses-layout.catalog-layout--flat{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-md);padding-top:var(--space-md)}.courses-layout .catalog-count{justify-self:end}.courses-layout .course-results-heading{min-height:0;margin:var(--space-md) 0 0}.courses-layout .course-results-heading h2{font-size:var(--text-lg)}@media(max-width:1100px){.project-card-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.catalog-page{padding-top:var(--space-sm)}.catalog-page-heading{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-md);padding:var(--space-md)}.catalog-page-heading .catalog-search{width:100%}.catalog-heading-meta{padding:0}.catalog-search-row{padding:var(--space-md)}.catalog-search-row .catalog-search{width:100%}.catalog-controls{grid-template-columns:minmax(0,1fr);gap:var(--space-xs);padding:var(--space-md)}.catalog-tabs,.catalog-sort{overflow-x:auto}.catalog-sort{justify-content:flex-start}.courses-layout.catalog-layout--flat{margin-top:0;padding:var(--space-md)}.courses-layout .catalog-count{justify-self:start}.project-card-grid,.course-grid{margin-top:var(--space-md)}}@media(max-width:420px){.project-card-grid,.course-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}}.course-detail-layout{grid-template-areas:"course content outline";grid-template-columns:16rem minmax(0,1fr) 11rem;gap:clamp(var(--space-lg),3vw,var(--space-2xl));align-items:start}.course-detail-layout.course-directory-hidden{grid-template-areas:"course content outline";grid-template-columns:2.5rem minmax(0,1fr) 11rem}.course-detail-layout.content-directory-hidden{grid-template-areas:"course content outline";grid-template-columns:16rem minmax(0,1fr) 2.5rem}.course-detail-layout.course-directory-hidden.content-directory-hidden{grid-template-areas:"course content outline";grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}.course-directory-panel,.course-directory-reveal{grid-area:course}.course-content-nav,.course-content-reveal{grid-area:outline}.course-lesson-content{grid-area:content;justify-self:center;width:100%;max-width:52rem;padding:var(--space-sm) 0 var(--space-2xl);scroll-margin-top:calc(var(--banner-height) + var(--space-md))}.course-document-heading{display:grid;grid-template-columns:minmax(0,1fr) 7rem;align-items:end;gap:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:var(--rule-thin) solid var(--color-rule)}.course-document-heading>div:first-child{min-width:0}.course-document-heading h2{max-width:28ch;overflow-wrap:anywhere}.course-document-meta{display:flex;align-items:center;gap:var(--space-2xs);margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.5}.course-reading-progress{display:grid;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right}.course-reading-progress>div{height:.25rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-rule)}.course-reading-progress i{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.course-subsection-content{margin-top:var(--space-xl)}.course-lesson-actions{min-height:4rem;padding-top:var(--space-md);border-top:var(--rule-thin) solid var(--color-rule)}.course-lesson-actions button{white-space:nowrap}.course-lesson-actions button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.course-lesson-actions button:active{transform:translateY(0)}.course-directory-panel,.course-content-nav{overscroll-behavior:contain}.course-content-nav nav button:focus-visible,.course-lesson-nav button:focus-visible,.course-directory-reveal:focus-visible,.course-content-reveal:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.course-content-nav nav button:active,.course-lesson-nav button:active{background:var(--color-paper-3)}.detail-heading{display:grid;gap:var(--space-2xs)}.detail-heading .eyebrow{width:fit-content;margin-bottom:var(--space-2xs)}.login-gate{margin-top:var(--space-lg)}@media(max-width:980px){.course-detail-layout,.course-detail-layout.content-directory-hidden{grid-template-areas:"course content" "course outline";grid-template-columns:14rem minmax(0,1fr)}.course-detail-layout.course-directory-hidden,.course-detail-layout.course-directory-hidden.content-directory-hidden{grid-template-areas:"course content" "course outline";grid-template-columns:2.5rem minmax(0,1fr)}.course-content-nav,.course-content-reveal{grid-column:2;position:relative;top:auto;width:100%;max-height:none;margin-top:var(--space-lg)}.course-content-nav nav{columns:2;column-gap:var(--space-lg)}.course-content-nav nav button{break-inside:avoid}}@media(max-width:760px){.course-detail-layout,.course-detail-layout.content-directory-hidden,.course-detail-layout.course-directory-hidden,.course-detail-layout.course-directory-hidden.content-directory-hidden{grid-template-areas:"course" "outline" "content";grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.course-directory-panel,.course-directory-reveal,.course-content-nav,.course-content-reveal{grid-column:1;width:100%;margin:0}.course-directory-panel{padding:var(--space-md)}.course-directory-panel .course-lesson-group{display:flex;align-items:center;gap:var(--space-2xs);overflow-x:auto;padding-block:var(--space-xs);scrollbar-width:none}.course-directory-panel .course-lesson-group::-webkit-scrollbar{display:none}.course-directory-panel .course-lesson-group h3,.course-directory-panel .course-lesson-group>button{flex:0 0 auto;white-space:nowrap}.course-content-nav{padding:var(--space-sm) var(--space-md)}.course-content-nav nav{display:flex;gap:var(--space-2xs);overflow-x:auto;columns:auto;padding-bottom:var(--space-2xs);scrollbar-width:none}.course-content-nav nav::-webkit-scrollbar{display:none}.course-content-nav nav button{flex:0 0 auto;min-height:2.25rem;padding:0 var(--space-sm);border-left:0;border-radius:var(--radius-input);white-space:nowrap}.course-content-nav nav .level-2,.course-content-nav nav .level-3,.course-content-nav nav .level-4,.course-content-nav nav .level-5,.course-content-nav nav .level-6{padding-left:var(--space-sm)}.course-lesson-content{padding:var(--space-sm) var(--space-md) var(--space-xl)}.course-document-heading{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.course-reading-progress{width:min(12rem,100%);text-align:left}.project-detail>.detail-heading{padding-inline:var(--space-md)}.project-step-document .project-step-actions{position:static}}@media(max-width:420px){.course-lesson-actions{align-items:stretch}.course-lesson-actions button{flex:1;justify-content:center;min-width:0;padding-inline:var(--space-sm)}}.project-detail{padding-top:var(--space-md)}.detail-heading{max-width:58rem;padding:var(--space-sm) 0 var(--space-lg)}.project-detail-back{display:inline-flex;align-items:center;gap:var(--space-3xs);margin-bottom:var(--space-lg);color:var(--color-muted);font-size:var(--text-xs);font-weight:650}.project-detail-back:hover{color:var(--color-accent-strong)}.project-detail-back:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-input)}.detail-heading h1{max-width:24ch;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:760;line-height:1.18;overflow-wrap:anywhere;min-width:0}.detail-heading>p:last-child{max-width:64ch;margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-md);line-height:1.75}.login-gate{position:relative;min-height:7.5rem;display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-accent-3);border-radius:var(--radius-card);background:var(--color-accent-2);color:var(--color-accent-strong);box-shadow:var(--shadow-xs);overflow:hidden}.login-gate h2{margin:0;color:var(--color-ink);font-size:var(--text-lg)}.login-gate p{margin:var(--space-2xs) 0 0;color:var(--color-ink-2);line-height:1.65}.compact-primary,.primary-button{min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-accent-ink);font-weight:760;line-height:1;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.compact-primary{padding:0 var(--space-md)}.compact-primary:hover,.primary-button:hover{border-color:var(--color-accent-strong);background:var(--color-accent-strong);transform:translateY(var(--lift-sm));box-shadow:var(--shadow-accent)}.primary-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.compact-primary:active,.primary-button:active{transform:translateY(0)}.compact-primary:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed;border-color:var(--color-rule-strong);background:var(--color-rule-strong);box-shadow:none;transform:none}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,21rem);gap:var(--space-xl);padding-top:var(--space-md)}.guide-main{min-width:0}.guide-section{padding:var(--space-lg) 0;border-bottom:var(--rule-thin) solid var(--color-rule)}.guide-section:first-child{padding-top:0}.guide-section h2{margin:0;color:var(--color-ink);font-size:var(--text-xl);line-height:1.2}.guide-section>p:last-child{max-width:72ch;margin:var(--space-xs) 0 0;color:var(--color-muted);line-height:1.8}.step-list{margin:var(--space-md) 0 0;padding:0;list-style:none}.step-list li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--space-sm);padding:0 0 var(--space-md)}.step-list li>span{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:var(--radius-pill);background:var(--gradient-accent);color:var(--color-accent-ink);font-weight:760;box-shadow:var(--shadow-xs)}.step-list h3{margin:var(--space-3xs) 0 var(--space-2xs);color:var(--color-ink);font-size:var(--text-md)}.guide-side{padding-top:var(--space-3xs)}.side-section{padding:var(--space-md);margin-bottom:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.side-section h2{display:flex;align-items:center;gap:var(--space-2xs);margin:0 0 var(--space-sm);color:var(--color-ink);font-size:var(--text-md)}.side-section h2 svg{color:var(--color-accent)}.side-section>p{color:var(--color-muted);line-height:1.7}.material-list>div{padding:var(--space-xs) 0;border-top:var(--rule-thin) solid var(--color-rule)}.material-list>div:first-child{border-top:0;padding-top:0}.material-list strong,.material-list span{display:block}.material-list strong{color:var(--color-ink-2);font-size:var(--text-sm)}.material-list span{margin-top:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs)}.material-list p{margin:var(--space-3xs) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.caution-section{border-color:color-mix(in oklch,var(--color-warning) 40%,var(--color-rule));background:var(--color-warm-2)}.caution-section h2 svg{color:var(--color-warning)}.caution-section>p{color:var(--color-warm-ink)}.attachment-row{display:grid;grid-template-columns:minmax(0,1fr) 2.375rem;gap:var(--space-xs);align-items:center;padding:var(--space-xs) 0;border-top:var(--rule-thin) solid var(--color-rule)}.attachment-row:first-of-type{border-top:0}.attachment-row strong,.attachment-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-row strong{color:var(--color-ink-2);font-size:var(--text-sm)}.attachment-row span{margin-top:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs)}.attachment-download{width:2.375rem;height:2.375rem;display:grid;place-items:center;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-accent-strong);transition:background-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.attachment-download:hover{background:var(--color-accent-2);border-color:var(--color-accent);transform:translateY(var(--lift-sm))}.attachment-note{margin:var(--space-sm) 0 0;padding-top:var(--space-xs);border-top:var(--rule-thin) dashed var(--color-rule);color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.project-step-workspace{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:clamp(var(--space-xl),4vw,var(--space-3xl));align-items:start;padding:var(--space-lg) 0 var(--space-2xl);border-top:var(--rule-thin) solid var(--color-rule)}.project-step-sidebar{position:sticky;top:calc(var(--banner-height) + var(--space-md));min-width:0;max-height:calc(100vh - var(--banner-height) - 2 * var(--space-md));overflow-y:auto;padding-right:var(--space-sm);scrollbar-width:none}.project-step-sidebar::-webkit-scrollbar{display:none}.project-progress{margin-bottom:var(--space-sm);padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.project-progress>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.project-progress strong{color:var(--color-accent-strong);font-size:var(--text-md);font-variant-numeric:tabular-nums}.project-progress>div:nth-child(2){height:.375rem;margin-top:var(--space-xs);overflow:hidden;border-radius:var(--radius-pill);background:var(--color-rule)}.project-progress>div:nth-child(2) span{display:block;height:100%;border-radius:inherit;background:var(--gradient-accent);transition:width var(--dur-md) var(--ease-out)}.project-progress p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-xs)}.project-step-sidebar nav{position:relative;display:grid;gap:var(--space-3xs)}.project-step-sidebar nav:before{position:absolute;z-index:-1;top:1.75rem;bottom:1.75rem;left:1.625rem;width:var(--rule-thin);background:var(--color-rule);content:""}.project-step-sidebar nav button{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:var(--space-xs);min-height:3.75rem;padding:var(--space-2xs) var(--space-xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted);text-align:left;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.project-step-sidebar nav button:hover{background:var(--color-paper-2);color:var(--color-ink)}.project-step-sidebar nav button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.project-step-sidebar nav button.active{background:var(--color-accent-2);color:var(--color-accent-strong)}.project-step-sidebar nav button.completed:not(.active){color:var(--color-ink-2)}.project-step-marker{position:relative;display:grid;place-items:center;width:1.75rem;height:1.75rem;justify-self:center;border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);font-size:var(--text-xs);font-weight:760}.project-step-sidebar button.active .project-step-marker{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.project-step-sidebar button.completed .project-step-marker{border-color:var(--color-success);background:var(--color-success);color:var(--color-accent-ink)}.project-step-sidebar nav button>span:last-child{min-width:0;overflow:hidden;color:inherit;font-size:var(--text-sm);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.project-step-sidebar nav button small{display:block;margin-bottom:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs);font-weight:500}.project-step-document{min-width:0;width:100%;max-width:52rem;margin:0 auto;scroll-margin-top:calc(var(--banner-height) + var(--space-md))}.project-step-document>header{padding-bottom:var(--space-lg);border-bottom:var(--rule-thin) solid var(--color-rule)}.project-step-document>header h2{max-width:26ch;margin:0;color:var(--color-ink);font-size:var(--text-xl);font-weight:760;line-height:1.3;overflow-wrap:anywhere}.project-step-document>header>span{display:block;margin-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.project-step-document>.rich-text-surface--readonly{padding:var(--space-xl) 0;color:var(--color-ink-2);font-size:var(--text-md);line-height:1.8}.project-preparation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xl);padding:var(--space-xl) 0}.project-preparation-grid>div{min-width:0;padding-top:var(--space-sm);border-top:var(--rule-thin) solid var(--color-rule)}.project-preparation-grid h3{display:flex;align-items:center;gap:var(--space-2xs);margin:0 0 var(--space-sm);color:var(--color-ink);font-size:var(--text-md)}.project-preparation-grid h3 svg{color:var(--color-accent-strong)}.project-preparation-grid>div>p{margin:0;color:var(--color-muted);line-height:1.75}.project-preparation-attachments{grid-column:1 / -1}.project-step-actions{position:sticky;z-index:3;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xl);padding:var(--space-sm) 0;border-top:var(--rule-thin) solid var(--color-rule);background:color-mix(in oklch,var(--color-paper) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-step-actions .primary-button{width:auto;min-width:12rem;margin:0}.project-step-actions .secondary-button{margin:0}.project-step-actions button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);white-space:nowrap}.auth-layout{width:min(68rem,calc(100% - 2 * var(--layout-page-gutter)));min-height:calc(100vh - var(--banner-height));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,24rem);align-items:center;gap:clamp(var(--space-2xl),6vw,5rem);padding:var(--space-xl) 0}.auth-context h1{font-family:var(--font-display)}.auth-context p:last-child{max-width:60ch;margin-top:var(--space-md);color:var(--color-muted);line-height:1.8}.login-form{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);padding:var(--space-lg);box-shadow:var(--shadow-lg)}.form-heading{margin-bottom:var(--space-md)}.form-heading h2{margin:0;color:var(--color-ink);font-size:var(--text-xl)}.form-heading p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.login-form label,.admin-form label{display:block;margin-top:var(--space-sm)}.login-form label>span,.admin-form label>span{display:block;margin-bottom:var(--space-2xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.primary-button{width:100%;margin-top:var(--space-md)}.form-note{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.form-error{margin:var(--space-xs) 0 0;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-input);background:color-mix(in oklch,var(--color-danger) 10%,transparent);color:var(--color-danger);font-size:var(--text-sm);line-height:1.6;animation:pop-in var(--dur-short) var(--ease-out) both}.admin-shell{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:clamp(var(--space-lg),3vw,var(--space-2xl));width:min(100%,108rem);margin:0 auto;padding:clamp(var(--space-md),2.5vw,var(--space-xl)) var(--gutter) var(--space-2xl)}.admin-nav{position:sticky;top:calc(var(--banner-height) + var(--space-md));align-self:start;display:flex;flex-direction:column;gap:var(--space-md);min-height:calc(100vh - var(--banner-height) - 2 * var(--space-xl));padding:var(--space-md) var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.admin-nav-brand{display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-xs) var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);color:var(--color-ink);font-size:var(--text-md)}.admin-nav-brand>div{display:grid;gap:2px;min-width:0}.admin-nav-brand strong{font-size:var(--text-md);line-height:1.2}.admin-nav-brand small{color:var(--color-muted);font-size:.6875rem;font-weight:500;letter-spacing:.02em}.admin-nav-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-input);color:var(--color-accent-ink);background:var(--color-accent)}.admin-nav-list{display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:var(--space-xs);min-height:2.625rem;padding:0 var(--space-sm);border-radius:var(--radius-input);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:650;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.admin-nav-item:hover{background:var(--color-paper-2);color:var(--color-ink)}.admin-nav-item.is-active{background:var(--color-accent-2);color:var(--color-accent-strong);box-shadow:inset 3px 0 0 var(--color-accent)}.admin-nav-item.is-soon{cursor:default;color:var(--color-muted);opacity:.85}.admin-nav-item.is-soon:hover{background:transparent;color:var(--color-muted)}.admin-nav-badge{margin-left:auto;padding:0 var(--space-3xs);border-radius:var(--radius-input);background:var(--color-paper-2);color:var(--color-muted);font-size:.625rem;font-weight:600}.admin-nav-home{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);margin:auto var(--space-xs) 0;padding:var(--space-xs) var(--space-sm);border-top:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-size:var(--text-xs)}.admin-nav-home:hover{color:var(--color-accent-strong)}.admin-content{min-width:0;display:flex;flex-direction:column;gap:var(--space-md)}.admin-breadcrumb{display:flex;align-items:center;gap:var(--space-3xs);min-height:1.5rem;color:var(--color-muted);font-size:var(--text-xs)}.admin-breadcrumb .is-current{color:var(--color-ink-2);font-weight:600}.admin-breadcrumb-sep{color:var(--color-rule)}.admin-view{display:flex;flex-direction:column;gap:var(--space-lg)}.admin-view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.admin-view-heading h1{margin:var(--space-3xs) 0 0;color:var(--color-ink);font-size:clamp(1.35rem,2vw,var(--text-xl));line-height:1.2;letter-spacing:-.01em}.admin-view-heading>div>p:not(.eyebrow){max-width:52ch;margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.admin-search{position:relative;display:flex;align-items:center;flex:1 1 16rem;min-width:12rem;color:var(--color-muted)}.admin-search svg{position:absolute;left:var(--space-xs);pointer-events:none}.admin-search .text-input{padding-left:calc(var(--space-xs) + 1.5rem)}.admin-filter{display:inline-flex;gap:var(--space-3xs);padding:var(--space-3xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2)}.admin-filter button{padding:var(--space-3xs) var(--space-sm);border-radius:calc(var(--radius-input) - 2px);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.admin-filter button.is-active{background:var(--color-surface);color:var(--color-accent-strong);box-shadow:var(--shadow-xs)}.admin-table{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs);overflow:hidden}.admin-table-head,.admin-row{display:grid;grid-template-columns:minmax(0,1fr) 8rem 6rem 8.5rem;gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space-md)}.admin-table-head{background:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.admin-row{min-height:4.5rem;border-top:var(--rule-thin) solid var(--color-rule);transition:background-color var(--dur-short) var(--ease-out)}.admin-row:hover{background:var(--color-paper-2)}.admin-row-main{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}.admin-row-title{text-align:left;color:var(--color-ink);font-size:var(--text-md);font-weight:600;line-height:1.3}.admin-row-title:hover{color:var(--color-accent-strong)}.admin-row-slug{color:var(--color-muted);font-size:var(--text-xs)}.admin-row-type{color:var(--color-ink-2);font-size:var(--text-sm)}.admin-status{justify-self:start;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-input);font-size:var(--text-xs);font-weight:700}.admin-status.is-published{background:var(--color-accent-2);color:var(--color-accent-strong)}.admin-status.is-draft{background:var(--color-paper-2);color:var(--color-muted)}.admin-row-actions{display:flex;gap:var(--space-3xs);justify-content:flex-end}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);margin-bottom:var(--space-sm)}.admin-section-heading h3{margin:0;color:var(--color-ink);font-size:var(--text-md)}.admin-section-heading .secondary-button{min-height:2.25rem;padding:0 var(--space-sm);font-size:var(--text-sm)}.admin-editor-body{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.admin-form{min-width:0}.admin-fieldset{margin:0 0 var(--space-md);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.admin-fieldset h2{margin:0 0 var(--space-md);color:var(--color-ink);font-size:var(--text-lg)}.admin-fieldset>label+label{margin-top:var(--space-sm)}.admin-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.publish-layout{display:grid;grid-template-columns:18rem minmax(0,1fr);gap:var(--space-lg);align-items:start}.publish-sidebar{position:sticky;top:calc(var(--banner-height) + var(--space-md));align-self:start;padding:var(--space-md);border-right:var(--rule-thin) solid var(--color-rule)}.publish-main{min-width:0}.publish-section{border-radius:var(--radius-input)}.cover-uploader{padding-bottom:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule)}.cover-placeholder{display:grid;place-items:center;aspect-ratio:3 / 2;margin-bottom:var(--space-sm);border-radius:var(--radius-input);background:var(--color-paper-2);color:var(--color-rule-strong);font-size:var(--text-xl);font-weight:800;letter-spacing:.08em}.cover-placeholder{overflow:hidden}.cover-placeholder img{width:100%;height:100%;object-fit:cover}.cover-upload-button{display:grid;place-items:center;min-height:2.625rem;margin:0;border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-accent-ink);cursor:pointer;font-size:var(--text-sm);font-weight:700}.cover-upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.cover-uploader p{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.cover-file-name{overflow:hidden;color:var(--color-accent-strong)!important;text-overflow:ellipsis;white-space:nowrap}.cover-delete-button{width:100%;margin-top:var(--space-xs);color:var(--color-danger, var(--color-accent-strong));font-size:var(--text-xs);text-align:center}.cover-delete-button:hover{text-decoration:underline}.cover-crop-preview{width:100%;overflow:hidden;aspect-ratio:3 / 2;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2)}.cover-crop-preview--course{aspect-ratio:16 / 9}.cover-crop-preview img{width:100%;height:100%;object-fit:cover}.publish-side-field{margin-top:var(--space-md)}.publish-side-field>span{display:block;margin-bottom:var(--space-2xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.publish-side-field .text-input{background:var(--color-paper-2)}.cost-input{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center}.cost-input>span{display:grid;place-items:center;height:2.625rem;border:var(--rule-thin) solid var(--color-rule);border-right:0;border-radius:var(--radius-input) 0 0 var(--radius-input);color:var(--color-muted)}.cost-input .text-input{border-radius:0 var(--radius-input) var(--radius-input) 0}.tag-preview{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2xs);margin-bottom:var(--space-sm);padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2)}.tag-preview span{color:var(--color-muted);font-size:var(--text-xs)}.tag-preview strong{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-accent-2);color:var(--color-accent-strong);font-size:var(--text-xs)}.tag-preview small{color:var(--color-muted);font-size:var(--text-xs)}.materials-table{overflow-x:auto;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input)}.materials-table-row{display:grid;grid-template-columns:3rem minmax(8rem,1.3fr) minmax(8rem,1.3fr) 5rem minmax(8rem,1fr) 4.5rem 2.5rem;gap:0;min-width:42rem;align-items:center;border-top:var(--rule-thin) solid var(--color-rule)}.materials-table-row:first-child{border-top:0}.materials-table-row>*{min-width:0;min-height:2.75rem;padding:var(--space-2xs);border-right:var(--rule-thin) solid var(--color-rule)}.materials-table-row>*:last-child{border-right:0}.materials-table-head{background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:700;text-align:center}.materials-table-row .text-input{height:2.25rem;border:0;border-radius:0;background:transparent;font-size:var(--text-sm)}.material-index{color:var(--color-muted);font-size:var(--text-sm);text-align:center}.buy-placeholder{min-height:2.25rem;padding:0 var(--space-2xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.publish-action-bar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;gap:var(--space-sm);min-height:4.25rem;margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:color-mix(in oklch,var(--color-surface) 94%,transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.publish-check{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.publish-check input{accent-color:var(--color-accent)}.publish-action-spacer{flex:1}.publish-action-bar .primary-button{width:auto;margin:0}.publish-button{min-width:9rem}.tutorial-entry{border-style:dashed}.tutorial-entry .admin-section-heading{margin-bottom:0}.tutorial-entry-note{margin:var(--space-sm) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.course-content-entry{margin-top:var(--space-md);margin-bottom:0;box-shadow:none}.course-cover-editor{max-width:44rem}.course-cover-upload{position:relative;cursor:pointer}.course-cover-upload input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.course-cover-preview{display:grid;place-items:center;width:min(24rem,100%);aspect-ratio:3 / 2;overflow:hidden;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-accent-2);color:var(--color-accent-strong)}.course-cover-preview img{display:block;width:100%;height:100%;object-fit:cover}.course-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:var(--rule-thin) solid var(--color-rule)}.course-subsection-heading>div{display:flex;align-items:baseline;gap:var(--space-xs)}.course-subsection-heading span,.course-subsection-empty{color:var(--color-muted);font-size:var(--text-sm)}.course-subsection-list{margin-top:var(--space-sm)}.course-subsection-row{display:grid;grid-template-columns:3rem minmax(12rem,1fr) 2.5rem 2.5rem auto 2.5rem;gap:var(--space-xs);align-items:center;padding:var(--space-xs) 0;border-top:var(--rule-thin) solid var(--color-rule)}.course-subsection-number{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.course-subsection-empty{padding:var(--space-lg) 0 var(--space-xs);text-align:center}.tutorial-page{display:flex;flex-direction:column;gap:var(--space-md);min-height:calc(100vh - var(--banner-height) - var(--space-xl))}.tutorial-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule)}.tutorial-page-title{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.tutorial-page-title p{margin:0;color:var(--color-muted);font-size:var(--text-xs)}.tutorial-page-title h1{margin:var(--space-3xs) 0 0;overflow-wrap:anywhere;color:var(--color-ink);font-size:var(--text-xl)}.tutorial-save-area{display:flex;align-items:center;gap:var(--space-sm)}.tutorial-save-state{color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.tutorial-save-state[data-state=dirty],.tutorial-save-state[data-state=error]{color:var(--color-accent-strong)}.admin-settings-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);max-width:78rem}.admin-settings-heading{display:block;grid-column:1 / -1}.admin-settings-heading span{display:block;margin-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm)}.admin-settings-form{display:grid;align-content:start;gap:var(--space-xs);min-width:0;padding:clamp(var(--space-md),2.5vw,var(--space-lg));border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.admin-settings-form h2{margin:0;font-size:var(--text-md)}.admin-settings-form .admin-section-heading{margin-bottom:var(--space-sm)}.admin-field-hint{margin:0 0 var(--space-sm);color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.admin-orphan-list{display:grid;gap:var(--space-2xs);margin:0;padding:0;list-style:none}.admin-orphan-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2xs) var(--space-xs);padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);font-size:var(--text-xs)}.admin-orphan-list code{grid-column:1 / -1;overflow-wrap:anywhere;color:var(--color-muted)}.admin-user-list{grid-column:1 / -1}.teaching-center-page{width:min(100% - 2rem,1180px);margin-inline:auto;padding-block:2rem 4rem}.teaching-center-page .admin-view-heading{margin-bottom:1.5rem;padding:1.5rem 1.75rem;border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface)}.teaching-center-page .admin-view-heading h1{margin-bottom:.4rem}.teaching-center-page .admin-view-heading p:last-child{margin:0;color:var(--color-muted)}.teaching-center-page>.empty-state{min-height:9rem;display:grid;place-items:center;margin:0 0 1.5rem;border:1px dashed var(--color-rule-strong);border-radius:var(--radius-card);background:var(--color-paper-2);color:var(--color-muted)}.teaching-center-page .admin-table,.teaching-center-page .admin-form-panel{margin-bottom:1.5rem}.teaching-center-page .admin-section-heading{align-items:flex-start}.student-assignment-section{margin-block:1.25rem;padding:1rem 1.25rem;border-left:3px solid var(--color-accent);background:var(--color-paper-2)}.student-assignment-section h3{margin:0 0 .75rem;font-size:var(--text-md)}@media(max-width:700px){.teaching-center-page{width:min(100% - 1rem,1180px);padding-top:1rem}.teaching-center-page .admin-view-heading{gap:1rem;padding:1.25rem}.teaching-center-page .admin-heading-actions{width:100%}.teaching-center-page .admin-heading-actions button{flex:1}}.admin-create-user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-create-user-form label{display:grid;gap:.5rem}.admin-create-user-form input,.admin-create-user-form select{width:100%;min-width:0;padding:.65rem;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-surface);color:var(--color-ink)}.admin-create-user-form .primary-button{margin:0}@media(max-width:600px){.admin-create-user-form{grid-template-columns:minmax(0,1fr)}}.admin-user-list .admin-section-heading{margin-bottom:var(--space-sm)}.admin-user-list .admin-section-heading>div{display:grid;gap:2px}.admin-user-list .admin-section-heading p{margin:0;color:var(--color-muted);font-size:var(--text-xs)}.admin-user-table{overflow:hidden;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input)}.admin-user-row{display:grid;grid-template-columns:minmax(12rem,1.5fr) 7rem minmax(10rem,1fr) 8rem;gap:var(--space-sm);align-items:center;min-height:3.25rem;padding:0 var(--space-md);border-top:var(--rule-thin) solid var(--color-rule);color:var(--color-ink-2);font-size:var(--text-sm)}.admin-user-row:first-child{border-top:0}.admin-user-head{min-height:2.5rem;background:var(--color-paper-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:700}.admin-user-row time{color:var(--color-muted);font-size:var(--text-xs)}@media(max-width:800px){.admin-settings-page{grid-template-columns:minmax(0,1fr)}.admin-settings-heading{grid-column:auto}}.tutorial-save{width:auto;min-width:8rem;margin:0}.tutorial-page-workspace{display:grid;grid-template-columns:var(--layout-outline-width) minmax(0,1fr);min-width:0;flex:1;background:transparent}.tutorial-page-workspace .tutorial-outline{position:sticky;top:calc(var(--banner-height) + var(--space-md));max-height:calc(100vh - var(--banner-height) - 8rem)}.tutorial-page-workspace .tutorial-document{grid-column:2;width:100%;min-width:0;max-width:none;margin:0;padding:var(--space-md) 0 var(--space-md) var(--space-md)}.tutorial-page-workspace .rich-text-editor{min-height:calc(100vh - 14rem);border:0;border-radius:0;box-shadow:var(--shadow-sm)}.tutorial-page-workspace .rich-text-surface{min-height:calc(100vh - 19rem);max-height:none;overflow:visible;padding:var(--space-xl) clamp(var(--space-lg),1.8vw,var(--space-2xl))}.project-tutorial-workspace{grid-template-columns:14rem minmax(0,1fr);gap:var(--space-md)}.project-step-manager{padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs);scrollbar-width:none}.project-step-manager::-webkit-scrollbar{display:none}.project-step-manager .tutorial-outline-heading{justify-content:flex-start;margin-bottom:var(--space-sm)}.project-step-manager .tutorial-outline-heading>button{display:grid;place-items:center;width:1.75rem;height:1.75rem;min-height:0;margin-left:auto;padding:0;border-radius:var(--radius-input);color:var(--color-accent-strong)}.project-step-manager nav button{display:grid;grid-template-columns:1.75rem minmax(0,1fr);align-items:center;gap:var(--space-2xs);min-height:2.875rem;padding:var(--space-2xs);border-radius:var(--radius-input)}.project-step-manager nav button small{display:grid;place-items:center;width:1.5rem;height:1.5rem;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.project-step-manager nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-step-manager nav button.is-active{background:var(--color-accent-2);color:var(--color-accent-strong)}.project-step-manager nav button.is-active small{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.project-step-manager-actions{display:flex;gap:var(--space-3xs);margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:var(--rule-thin) solid var(--color-rule)}.project-step-manager-actions button{display:grid;place-items:center;width:2rem;height:2rem;min-height:0;padding:0;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-muted)}.project-step-manager-actions button:hover:not(:disabled){background:var(--color-paper-2);color:var(--color-ink)}.project-step-manager-actions button:disabled{opacity:.35}.project-step-manager-actions button.danger{margin-left:auto}.project-step-manager-actions button.danger:hover:not(:disabled){color:var(--color-danger)}.project-step-outline{display:grid;gap:0;margin-top:var(--space-lg);padding-top:var(--space-sm);border-top:var(--rule-thin) solid var(--color-rule)}.project-step-outline>span{margin-bottom:var(--space-xs);font-size:var(--text-xs);font-weight:700;color:var(--color-ink-2)}.project-step-title-field{display:grid;gap:var(--space-xs);max-width:52rem;margin:0 auto var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-xs)}.project-step-title-field>span{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);color:var(--color-muted)}.project-step-title-field strong{color:var(--color-ink-2);font-size:var(--text-sm)}.project-step-title-field small{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.project-step-title-field input{width:100%;height:2.75rem;padding:0;border:0;border-bottom:var(--rule-thin) solid var(--color-rule);border-radius:0;background:transparent;color:var(--color-ink);font:inherit;font-size:var(--text-lg);font-weight:760}.project-step-title-field input:focus{outline:2px solid var(--color-focus);outline-offset:1px;border-color:transparent}.text-input,.text-area{width:100%;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);outline:2px solid transparent;outline-offset:1px;padding:var(--space-2xs) var(--space-xs);color:var(--color-ink);background:var(--color-surface);transition:border-color var(--dur-short) var(--ease-out),outline-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.text-input{height:2.625rem}.text-area{min-height:4.75rem;resize:vertical;line-height:1.6}.text-input:hover,.text-area:hover{border-color:var(--color-accent)}.text-input:focus,.text-area:focus{border-color:var(--color-accent);outline-color:var(--color-focus)}.text-input:disabled,.text-area:disabled{opacity:.55;cursor:not-allowed;background:var(--color-paper-2)}.secondary-button{min-height:2.625rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);padding:0 var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink-2);line-height:1;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.secondary-button:hover{border-color:var(--color-accent);background:var(--color-accent-2);color:var(--color-accent-strong);transform:translateY(var(--lift-sm))}.secondary-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.secondary-button:active{transform:translateY(0)}.secondary-button:disabled{opacity:.55;background:var(--color-paper-2);color:var(--color-muted);box-shadow:none}.attachment-editor>p{color:var(--color-muted);font-size:var(--text-xs);line-height:1.6}.file-input{flex:1 1 14rem;font-size:var(--text-sm)}.content-editor{margin-top:var(--space-md)}.editor-item{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 2.625rem;gap:var(--space-2xs);margin-top:var(--space-xs);align-items:start}.editor-item .text-input{height:2.5rem;padding:var(--space-3xs) var(--space-xs);font-size:var(--text-sm)}.editor-item .icon-button{width:2.5rem;height:2.5rem}.step-card{margin-top:var(--space-sm);padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2)}.step-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.step-card-index{display:inline-flex;align-items:center;gap:var(--space-3xs);color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.step-card-title{margin-bottom:var(--space-xs)}.tutorial-fieldset{padding:0;overflow:clip}.tutorial-fieldset>.admin-section-heading{padding:var(--space-md) var(--space-lg);border-bottom:var(--rule-thin) solid var(--color-rule)}.tutorial-fieldset>.admin-section-heading .form-note{margin:var(--space-3xs) 0 0}.tutorial-workspace{display:grid;grid-template-columns:12rem minmax(0,1fr);min-width:0;background:var(--color-paper-2)}.tutorial-outline{position:sticky;top:calc(var(--banner-height) + var(--space-md));align-self:start;max-height:calc(100vh - var(--banner-height) - var(--space-xl));overflow-y:auto;padding:var(--space-md) var(--space-sm) var(--space-md) 0;color:var(--color-muted)}.tutorial-outline-heading{display:flex;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.tutorial-outline nav{display:grid;gap:0}.tutorial-outline button{width:100%;min-width:0;min-height:2rem;padding-block:var(--space-3xs);overflow:hidden;border:0;border-radius:0;background:transparent;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5;text-align:left;text-overflow:ellipsis;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.tutorial-outline button.level-1{padding-inline:0 var(--space-2xs);font-weight:700;color:var(--color-ink-2)}.tutorial-outline button.level-2{padding-inline:var(--space-2xs)}.tutorial-outline button.level-3{padding-inline:var(--space-sm) var(--space-2xs)}.tutorial-outline button.level-4{padding-inline:var(--space-md) var(--space-2xs)}.tutorial-outline button.level-5{padding-inline:var(--space-lg) var(--space-2xs)}.tutorial-outline button.level-6,.tutorial-outline button.level-7,.tutorial-outline button.level-8,.tutorial-outline button.level-9{padding-inline:var(--space-xl) var(--space-2xs);font-size:var(--text-xs)}.tutorial-outline button:hover{background:var(--color-paper-2);color:var(--color-ink)}.tutorial-outline button:active{background:var(--color-accent-2)}.tutorial-outline button.is-active,.tutorial-outline button[aria-current=location]{color:var(--color-accent-strong);font-weight:700}.tutorial-outline button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.tutorial-outline>p{margin:0;font-size:var(--text-xs);line-height:1.6}.tutorial-document{min-width:0;padding:var(--space-lg)}.tutorial-document .rich-text-editor{max-width:52rem;margin:0 auto;border:0;border-radius:0;box-shadow:var(--shadow-sm)}.tutorial-document .rich-text-surface{min-height:42rem;max-height:none;overflow:visible;padding:var(--space-xl) var(--space-2xl)}.tutorial-document .rich-text-surface h2{margin-top:var(--space-lg);font-size:var(--text-xl)}.tutorial-document .rich-text-surface h3{margin-top:var(--space-md);font-size:var(--text-lg)}.continuous-guide{margin-top:var(--space-md)}.continuous-guide .rich-text-surface--readonly{color:var(--color-ink-2);font-size:var(--text-md)}.admin-drawer{position:sticky;top:calc(var(--banner-height) + var(--space-md));align-self:start;max-height:calc(100vh - var(--banner-height) - var(--space-xl));display:flex;flex-direction:column;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-md);overflow:hidden;animation:fade-rise var(--dur-md) var(--ease-out) both}.admin-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2)}.admin-drawer-tabs{display:inline-flex;gap:var(--space-3xs)}.admin-drawer-tabs button{padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-input);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.admin-drawer-tabs button.is-active{background:var(--color-accent-2);color:var(--color-accent-strong)}.admin-drawer-body{padding:var(--space-md);overflow-y:auto}.draft-preview,.version-panel{padding:0}.preview-heading,.version-heading,.version-detail-heading{display:flex;justify-content:space-between;gap:var(--space-md);align-items:start;padding-bottom:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule)}.preview-heading h2,.version-heading h2,.version-detail-heading h3{margin:0;color:var(--color-ink);font-size:var(--text-lg);line-height:1.25}.preview-heading p:last-child,.version-heading p,.version-detail-heading p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.65}.preview-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);margin-top:var(--space-md)}.preview-grid section{padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2)}.preview-grid h3{margin:0 0 var(--space-xs);color:var(--color-ink);font-size:var(--text-sm);font-weight:700}.preview-grid p{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.7}.preview-material,.preview-attachment{padding:var(--space-xs) 0;border-top:var(--rule-thin) solid var(--color-rule)}.preview-material:first-of-type,.preview-attachment:first-of-type{border-top:0;padding-top:0}.preview-material strong,.preview-material span{display:block}.preview-material span,.preview-attachment{color:var(--color-muted);font-size:var(--text-sm)}.preview-material p{margin-top:var(--space-3xs);font-size:var(--text-sm)}.preview-steps{margin:0;padding-left:var(--space-md);color:var(--color-ink-2)}.preview-steps li+li{margin-top:var(--space-xs)}.preview-steps p{margin-top:var(--space-3xs)}.version-empty{margin-top:var(--space-sm);padding:var(--space-sm);border:var(--rule-thin) dashed var(--color-rule);border-radius:var(--radius-input);color:var(--color-muted);background:var(--color-paper-2);text-align:center;font-size:var(--text-sm)}.version-list{margin-top:var(--space-sm);display:grid;gap:var(--space-2xs)}.version-item{width:100%;padding:var(--space-xs) var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2);text-align:left;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.version-item:hover{border-color:var(--color-accent);background:var(--color-accent-2);transform:translate(2px)}.version-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.version-item strong,.version-item span{display:block}.version-item strong{color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.4}.version-item span{margin-top:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs)}.version-detail{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:var(--rule-thin) solid var(--color-rule)}.restore-button{white-space:nowrap}.version-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs);margin-top:var(--space-sm)}.version-detail-grid section{padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2)}.version-detail-grid h4{margin:0 0 var(--space-3xs);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.version-detail-grid p{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.6}.rich-text-editor{position:relative;min-width:0;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface)}.rich-text-history-toolbar{position:absolute;z-index:24;top:.75rem;right:.75rem;display:inline-flex;gap:.125rem;padding:.2rem;border:1px solid #dee0e3;border-radius:.375rem;background:#fffffff5;box-shadow:0 2px 8px #1f232914}.rich-text-history-toolbar button{display:grid;width:1.8rem;height:1.8rem;place-items:center;padding:0;border:0;border-radius:.3rem;background:transparent;color:#646a73}.rich-text-history-toolbar button:hover,.rich-text-history-toolbar button:focus-visible{background:#f2f3f5;color:#3370ff}.rich-text-history-toolbar button.is-disabled{color:#bbbfc4;cursor:default}.rich-text-editor-notice{position:fixed;z-index:90;bottom:2rem;left:50%;min-height:0;padding:.5rem .75rem;border-radius:.375rem;background:#1f2329;color:#fff;font-size:.875rem;line-height:1.4;opacity:1;pointer-events:none;transform:translate(-50%)}.rich-text-editor-notice:empty{padding:0;opacity:0}.rich-text-type-mark{font-size:1.15rem;font-weight:500;line-height:1}.rich-text-chevron{color:#8f959e;font-size:.78rem;line-height:1}.rich-text-context-menu{display:inline-flex;align-items:center;gap:.125rem;padding:.25rem;border:1px solid #dee3ea;border-radius:.375rem;background:#fff;box-shadow:0 4px 14px color-mix(in oklch,var(--color-ink) 14%,transparent)}.rich-text-context-menu,.rich-text-block-handle{border-color:#dee0e3;background:#fff;box-shadow:0 4px 14px #1f23291f}.rich-text-table-menu{max-width:min(52rem,calc(100vw - 2rem));overflow-x:auto}.rich-text-table-menu button{gap:.3rem;width:auto;padding:0 .55rem;white-space:nowrap}.rich-text-table-menu button span{font-size:.75rem}.rich-text-table-menu button.danger{color:#d83931}.rich-text-table-menu button.danger:hover{background:#fff1f0}.rich-text-context-group{display:inline-flex;align-items:center;gap:.125rem;padding:0 .25rem}.rich-text-context-group+.rich-text-context-group{border-left:1px solid #e4e7eb}.rich-text-color-controls{display:grid;gap:.2rem;padding-block:.15rem}.rich-text-swatch-picker{display:flex;align-items:center;gap:.2rem;height:1.25rem;color:#646a73}.rich-text-context-menu .rich-text-swatch-picker button{min-width:1rem;width:1rem;height:1rem;padding:0;border:1px solid #d8dce2;border-radius:.2rem}.rich-text-context-menu .rich-text-color-swatch{background:var(--swatch-color)}.rich-text-context-menu .rich-text-color-swatch.active{outline:2px solid var(--editor-focus-ring);outline-offset:1px}.rich-text-context-menu .rich-text-clear-color{background:#fff;color:#8f959e;font-size:.85rem;line-height:1}.rich-text-context-menu button{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:2rem;height:2rem;padding:0 .45rem;border:0;border-radius:.25rem;background:transparent;color:#333842;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.rich-text-context-menu button:hover,.rich-text-context-menu button.active{background:#f1f3f6;color:#245bdb}.rich-text-context-menu button{color:#646a73;border-radius:.3rem}.rich-text-context-menu button:hover,.rich-text-context-menu button.active{background:#f2f3f5;color:#3370ff}.rich-text-context-menu button:focus-visible{outline:2px solid #84a9ff;outline-offset:1px}.rich-text-context-menu button:disabled{cursor:not-allowed;opacity:.32}.rich-text-context-type{position:relative}.rich-text-context-type>button{min-width:2.85rem}.rich-text-type-menu{position:absolute;top:calc(100% + .35rem);left:0;z-index:20;display:grid;gap:.6rem;width:19rem;padding:.7rem;border:1px solid #dee3ea;border-radius:.45rem;background:#fff;box-shadow:0 14px 36px color-mix(in oklch,var(--color-ink) 16%,transparent)}.rich-text-type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.rich-text-type-grid--blocks{grid-template-columns:repeat(5,minmax(0,1fr))}.rich-text-type-grid button{height:2rem;padding:0;border-radius:.3rem;background:#f7f8fa;color:#242933}.rich-text-type-grid button.active{background:#e7efff;color:#245bdb}.rich-text-type-row{justify-content:flex-start;width:100%;padding:0 .5rem;border-radius:.3rem;background:#f7f8fa;text-align:left}.rich-text-type-row svg{flex:0 0 auto}.rich-text-image-menu{gap:.25rem}.rich-text-image-menu>button{padding:0 .65rem}.rich-text-image-size{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:2rem;color:#646a73;font-size:var(--text-xs)}.rich-text-image-size>span{color:#646a73}.rich-text-image-size button{min-width:2.25rem;height:1.65rem;padding:0 var(--space-3xs)}.rich-text-editor-surface{position:relative}.rich-text-block-handle{position:absolute;z-index:30;left:.45rem;display:inline-flex;align-items:center;height:1.75rem;border:1px solid #dee3ea;border-radius:.375rem;background:#fff;box-shadow:0 2px 8px color-mix(in oklch,var(--color-ink) 10%,transparent);pointer-events:auto;transform:translateY(.05rem)}.rich-text-block-handle{height:1.8rem;border-radius:.35rem}.rich-text-block-handle.is-open{z-index:60}.rich-text-block-handle.is-dragging{opacity:.55}.rich-text-block-drop-line{position:absolute;z-index:29;right:1.5rem;left:4.25rem;height:2px;border-radius:999px;background:#3370ff;box-shadow:0 0 0 1px #3370ff14;pointer-events:none;transform:translateY(-1px)}.rich-text-block-drop-line span{position:absolute;top:50%;left:-3px;width:8px;height:8px;border:2px solid #3370ff;border-radius:50%;background:#fff;transform:translateY(-50%)}.rich-text-block-kind,.rich-text-block-drag{display:grid;height:1.55rem;place-items:center;border:0;background:transparent;color:#646a73;cursor:pointer}.rich-text-block-kind{min-width:2rem;padding:0 .35rem;border-radius:.3rem;color:#245bdb;font-size:.8rem;font-weight:600}.rich-text-block-drag{width:1.35rem;border-left:1px solid #edf0f3;border-radius:0 .3rem .3rem 0;font-size:.95rem;letter-spacing:-.08em}.rich-text-block-kind:hover,.rich-text-block-drag:hover,.rich-text-block-handle.is-open .rich-text-block-kind,.rich-text-block-handle.is-open .rich-text-block-drag{background:#f1f3f6;color:#245bdb}.rich-text-block-kind:hover,.rich-text-block-drag:hover,.rich-text-block-handle.is-open .rich-text-block-kind,.rich-text-block-handle.is-open .rich-text-block-drag{background:#f2f3f5;color:#3370ff}.rich-text-block-handle.is-bullet-list .rich-text-block-kind,.rich-text-block-handle.is-ordered-list .rich-text-block-kind,.rich-text-block-handle.is-task-list .rich-text-block-kind{min-width:1.8rem;padding-inline:.4rem .25rem}.rich-text-block-list-icon{display:grid;gap:.18rem;width:.9rem}.rich-text-block-list-icon i{position:relative;display:block;width:.68rem;height:1px;margin-left:.22rem;border-radius:999px;background:currentColor}.rich-text-block-list-icon i:before{position:absolute;top:-.13rem;left:-.25rem;width:.15rem;height:.15rem;border-radius:999px;background:currentColor;content:""}.rich-text-block-menu{position:absolute;top:calc(100% + .35rem);left:0;z-index:61;display:grid;gap:.35rem;width:18.5rem;padding:.45rem 0;border:1px solid #dee3ea;border-radius:.45rem;background:#fff;box-shadow:0 14px 36px color-mix(in oklch,var(--color-ink) 16%,transparent);pointer-events:auto}.rich-text-block-type-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;padding:0 .65rem}.rich-text-block-type-grid button{display:inline-grid;height:2rem;place-items:center;border:0;border-radius:.3rem;background:transparent;color:#242933;font-size:.9rem}.rich-text-block-type-grid button:hover,.rich-text-block-type-grid button.active{background:#e7efff;color:#245bdb}.rich-text-block-menu-section{display:grid;gap:.1rem;padding:.3rem .35rem 0;border-top:1px solid #edf0f3}.rich-text-block-menu-section:first-of-type{border-top:0}.rich-text-block-menu-section button{display:inline-flex;align-items:center;justify-content:flex-start;gap:.55rem;width:100%;min-height:1.95rem;padding:0 .6rem;border:0;border-radius:.3rem;background:transparent;color:#333842;font-size:.875rem;text-align:left}.rich-text-block-menu-section button svg,.rich-text-block-menu-icon{flex:0 0 auto;width:1rem;color:#646a73}.rich-text-block-menu-icon{display:inline-grid;place-items:center;font-size:.85rem;line-height:1}.rich-text-block-menu-section button:hover:not(:disabled){background:#f1f3f6;color:#245bdb}.rich-text-block-menu-section button.active{background:#e7efff;color:#245bdb}.rich-text-block-menu-section button:hover:not(:disabled) svg,.rich-text-block-menu-section button:hover:not(:disabled) .rich-text-block-menu-icon,.rich-text-block-menu-section button.active svg,.rich-text-block-menu-section button.active .rich-text-block-menu-icon{color:#245bdb}.rich-text-block-menu-section button:disabled{color:#b8bec8;cursor:not-allowed}.rich-text-block-menu-section button.danger:hover{background:#fff1f0;color:#d93026}.rich-text-block-format-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;padding:0 .25rem}.rich-text-block-format-row+.rich-text-block-format-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.2rem}.rich-text-block-menu-section .rich-text-block-format-row button{justify-content:center;min-width:0;padding:0 .35rem}.rich-text-type-menu button:focus-visible,.rich-text-block-menu button:focus-visible,.rich-text-slash-menu button:focus-visible{outline:2px solid #3370ff;outline-offset:-2px;background:#f2f3f5}.rich-text-slash-menu{position:absolute;z-index:35;width:min(20rem,calc(100% - 2 * var(--space-md)));max-height:22rem;overflow-y:auto;padding:var(--space-2xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:0 12px 32px color-mix(in oklch,var(--color-ink) 14%,transparent)}.rich-text-slash-heading{padding:var(--space-2xs) var(--space-xs);color:var(--color-muted);font-size:var(--text-xs)}.rich-text-slash-menu button{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;width:100%;min-height:3.25rem;padding:var(--space-2xs) var(--space-xs);border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-ink);text-align:left}.rich-text-slash-menu button:hover,.rich-text-slash-menu button.is-selected{background:var(--color-accent-2);color:var(--color-accent-strong)}.rich-text-slash-menu button>span{display:grid;gap:.125rem;min-width:0}.rich-text-slash-menu button strong{font-size:var(--text-sm);font-weight:600}.rich-text-slash-menu button small{color:var(--color-muted);font-size:var(--text-xs)}.rich-text-slash-empty{margin:0;padding:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm)}.rich-text-surface{min-height:18rem;max-height:60vh;overflow-y:auto;padding:var(--space-md);outline:0;color:var(--color-ink);line-height:1.75}.rich-text-surface--editable{font-size:var(--text-md)}.rich-text-surface--readonly{min-height:0;max-height:none;overflow:visible;padding:0;color:var(--color-muted);font-size:var(--text-sm)}.rich-text-surface p{margin:0 0 var(--space-2xs)}.rich-text-surface [data-indent="1"]{margin-left:2rem}.rich-text-surface [data-indent="2"]{margin-left:4rem}.rich-text-surface [data-indent="3"]{margin-left:6rem}.rich-text-surface [data-indent="4"]{margin-left:8rem}.rich-text-surface [data-indent="5"]{margin-left:10rem}.rich-text-surface [data-indent="6"]{margin-left:12rem}.rich-text-surface mark{padding:0 .08em;border-radius:.15em}.rich-text-surface h1,.rich-text-surface h2,.rich-text-surface h3,.rich-text-surface h4,.rich-text-surface h5,.rich-text-surface h6,.rich-text-surface [data-type=heading]{margin:var(--space-sm) 0 var(--space-2xs);color:var(--color-ink);line-height:1.35;letter-spacing:0}.rich-text-surface h1{font-size:2rem;font-weight:750}.rich-text-surface h2{font-size:1.65rem;font-weight:720}.rich-text-surface h3{font-size:1.4rem;font-weight:700}.rich-text-surface h4{font-size:1.2rem;font-weight:680}.rich-text-surface h5{font-size:1.08rem;font-weight:660}.rich-text-surface h6{font-size:1rem;font-weight:650}.rich-text-surface [data-level="7"]{font-size:.95rem;font-weight:650}.rich-text-surface [data-level="8"]{font-size:.9rem;font-weight:640}.rich-text-surface [data-level="9"]{font-size:.85rem;font-weight:630}.rich-text-surface ul,.rich-text-surface ol{margin:var(--space-2xs) 0 var(--space-xs);padding-left:var(--space-md)}.rich-text-surface ul[data-type=taskList]{padding-left:0;list-style:none}.rich-text-surface ul[data-type=taskList] li{display:flex;gap:var(--space-2xs);align-items:flex-start}.rich-text-surface ul[data-type=taskList] li>label{padding-top:.2rem}.rich-text-surface ul[data-type=taskList] li>div{flex:1;min-width:0}.rich-text-surface blockquote{margin:var(--space-sm) 0;padding-left:var(--space-sm);border-left:3px solid var(--color-accent);color:var(--color-muted)}.rich-text-callout{position:relative;display:grid;min-height:4rem;align-content:center;margin:var(--space-sm) 0;padding:var(--space-xs) var(--space-sm) var(--space-xs) 3.25rem;border:1px solid var(--callout-border, #91caff);border-radius:.375rem;background:var(--callout-background, #e6f4ff);color:#1f2329}.rich-text-callout:before{position:absolute;top:50%;left:var(--space-sm);display:grid;width:1.5rem;height:1.5rem;place-items:center;content:attr(data-callout-emoji);font-size:1.1rem;line-height:1;transform:translateY(-50%)}.rich-text-callout[data-callout-tone=gray]{--callout-border: #d8dce2;--callout-background: #f5f6f7}.rich-text-callout[data-callout-tone=red]{--callout-border: #ffaaa5;--callout-background: #fff1f0}.rich-text-callout[data-callout-tone=orange]{--callout-border: #ffd591;--callout-background: #fff7e6}.rich-text-callout[data-callout-tone=yellow]{--callout-border: #ffe58f;--callout-background: #fffbe6}.rich-text-callout[data-callout-tone=green]{--callout-border: #b7eb8f;--callout-background: #f6ffed}.rich-text-callout[data-callout-tone=blue]{--callout-border: #91caff;--callout-background: #e6f4ff}.rich-text-callout[data-callout-tone=purple]{--callout-border: #d3adf7;--callout-background: #f9f0ff}.rich-text-callout[data-callout-tone=pink]{--callout-border: #ffadd2;--callout-background: #fff0f6}.rich-text-callout>:first-child{margin-top:0}.rich-text-callout>:last-child{margin-bottom:0}.rich-text-callout>p{line-height:1.65}.rich-text-callout-menu{display:grid;gap:.65rem;width:19rem;padding:.7rem}.rich-text-callout-menu-section{display:grid;gap:.4rem}.rich-text-callout-menu-section+.rich-text-callout-menu-section{padding-top:.6rem;border-top:1px solid #edf0f3}.rich-text-callout-menu-label{color:#646a73;font-size:.75rem}.rich-text-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.25rem}.rich-text-context-menu .rich-text-emoji-grid button{min-width:0;width:1.8rem;height:1.8rem;padding:0;font-size:1rem}.rich-text-custom-emoji{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#646a73;font-size:.75rem}.rich-text-custom-emoji input{width:7rem;height:1.8rem;padding:0 .45rem;border:1px solid #d8dce2;border-radius:.3rem;background:#fff;color:#1f2329;font:inherit}.rich-text-custom-emoji input:focus-visible{border-color:#3370ff;outline:2px solid #d6e4ff}.rich-text-callout-tone-row{display:grid;grid-template-columns:repeat(8,1fr);gap:.35rem}.rich-text-context-menu .rich-text-callout-tone{min-width:0;width:1.65rem;height:1.65rem;padding:0;border:1px solid #d8dce2;border-radius:50%}.rich-text-callout-tone.is-gray{background:#f5f6f7}.rich-text-callout-tone.is-red{background:#fff1f0}.rich-text-callout-tone.is-orange{background:#fff7e6}.rich-text-callout-tone.is-yellow{background:#fffbe6}.rich-text-callout-tone.is-green{background:#f6ffed}.rich-text-callout-tone.is-blue{background:#e6f4ff}.rich-text-callout-tone.is-purple{background:#f9f0ff}.rich-text-callout-tone.is-pink{background:#fff0f6}.rich-text-context-menu .rich-text-callout-tone.active{outline:2px solid #3370ff;outline-offset:1px}.rich-text-callout-menu-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.rich-text-callout-menu-actions button{width:auto;min-width:0;padding-inline:.35rem;white-space:nowrap}.rich-text-surface hr{margin:var(--space-lg) 0;border:0;border-top:var(--rule-thin) solid var(--color-rule)}.rich-text-surface a{color:var(--color-accent-strong);text-decoration:underline;text-underline-offset:2px}.rich-code-block{position:relative;margin:var(--space-md) 0;border:1px solid #e2e5e9;border-radius:.5rem;background:#f7f8fa;box-shadow:none;transition:border-color var(--dur-fast) var(--ease-out)}.rich-text-surface--editable .rich-code-block:hover,.rich-text-surface--editable .rich-code-block:focus-within{border-color:#3370ff}.rich-code-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:2.55rem;padding:0 .75rem 0 1.65rem;color:#7f8794;font-size:.875rem;line-height:1}.rich-code-title,.rich-code-actions{display:inline-flex;align-items:center;min-width:0}.rich-code-title{gap:.45rem}.rich-code-caret{color:#646a73;font-size:.7rem;transform:translateY(-1px)}.rich-code-language{overflow:hidden;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.rich-code-actions{gap:.15rem;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out)}.rich-code-block:hover .rich-code-actions,.rich-code-block:focus-within .rich-code-actions{opacity:1;pointer-events:auto}.rich-code-language-select,.rich-code-wrap,.rich-code-copy{height:1.75rem;border:0;border-radius:.25rem;background:transparent;color:#646a73;font-family:inherit;font-size:.8125rem;line-height:1;cursor:pointer}.rich-code-language-select{max-width:8rem;padding:0 1.25rem 0 .45rem}.rich-code-wrap,.rich-code-copy{padding:0 .5rem}.rich-code-wrap:before{content:"↵";margin-right:.25rem}.rich-code-copy:before{content:"▣";margin-right:.25rem;font-size:.7rem}.rich-code-language-select:hover,.rich-code-language-select:focus-visible,.rich-code-wrap:hover,.rich-code-wrap:focus-visible,.rich-code-copy:hover,.rich-code-copy:focus-visible{background:#ebeef3;color:#1f2329;outline:0}.rich-code-block[data-wrap=true] .rich-code-wrap{background:#e8efff;color:#245bdb}.rich-text-surface .rich-code-block pre{position:relative;display:grid;grid-template-columns:2.4rem minmax(0,1fr);column-gap:1.1rem;margin:0;padding:.15rem 1.65rem 1.45rem;overflow-x:auto;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none}.rich-code-block pre:before{grid-column:1;content:attr(data-line-numbers);color:#6f7784;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:.875rem;line-height:1.9;text-align:right;white-space:pre;-webkit-user-select:none;user-select:none}.rich-code-block code{grid-column:2;min-width:max-content;color:#1f2937;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:.875rem;line-height:1.9;white-space:pre;tab-size:2}.rich-code-block[data-wrap=true] code,.rich-code-block pre[data-wrap=true] code{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.rich-text-surface--readonly .rich-code-caret{display:none}.rich-text-surface--readonly .rich-code-header{padding-left:1.65rem}.rich-text-surface--readonly .rich-code-language-select,.rich-text-surface--readonly .rich-code-wrap{display:none}.rich-text-surface--editable .rich-code-block:before{position:absolute;top:0;left:-3.1rem;display:grid;width:2.4rem;height:1.75rem;place-items:center;border:1px solid #e2e5e9;border-radius:.35rem;background:#fff;color:#8f959e;content:"{ } ⋮";font-family:Consolas,monospace;font-size:.72rem;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out)}.rich-text-surface--editable .rich-code-block:hover:before,.rich-text-surface--editable .rich-code-block:focus-within:before{opacity:1}.rich-code-block .hljs-keyword,.rich-code-block .hljs-selector-tag,.rich-code-block .hljs-built_in{color:#b832d0;font-weight:500}.rich-code-block .hljs-title,.rich-code-block .hljs-title.function_,.rich-code-block .hljs-section{color:#3672ff}.rich-code-block .hljs-string,.rich-code-block .hljs-attr,.rich-code-block .hljs-symbol{color:#26945d}.rich-code-block .hljs-number,.rich-code-block .hljs-literal,.rich-code-block .hljs-variable{color:#4f7dff}.rich-code-block .hljs-comment,.rich-code-block .hljs-quote{color:#9aa2ad;font-style:italic}.rich-code-block .hljs-meta,.rich-code-block .hljs-tag,.rich-code-block .hljs-name{color:#b832d0}.rich-text-surface img{display:block;max-width:100%;max-height:42rem;margin:var(--space-md) auto;border-radius:var(--radius-input);object-fit:contain}.rich-text-surface .tableWrapper{width:100%;margin:1rem 0;overflow-x:auto}.rich-text-surface table{width:100%;min-width:32rem;border-collapse:collapse;table-layout:fixed;background:#fff}.rich-text-surface th,.rich-text-surface td{position:relative;min-width:6rem;padding:.55rem .65rem;border:1px solid #dee0e3;color:var(--editor-text-primary);text-align:left;vertical-align:top}.rich-text-surface th{background:#f5f6f7;font-weight:600}.rich-text-surface th p,.rich-text-surface td p{margin:0;line-height:1.65}.rich-text-surface--editable th:hover,.rich-text-surface--editable td:hover{background:#f8f9fa}.rich-text-surface--editable .selectedCell:after{position:absolute;z-index:2;inset:0;background:#3370ff1f;content:"";pointer-events:none}.rich-text-surface--editable .column-resize-handle{position:absolute;z-index:4;top:0;right:-2px;bottom:0;width:4px;background:#3370ff;pointer-events:none}.rich-text-surface.resize-cursor{cursor:col-resize}.rich-text-editor{overflow:visible;border-color:var(--editor-border);border-radius:var(--radius-card);background:var(--editor-canvas);box-shadow:inset 0 1px color-mix(in oklch,var(--color-surface) 82%,transparent),var(--shadow-xs);transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.rich-text-editor:focus-within{border-color:var(--editor-border-strong);box-shadow:0 0 0 3px color-mix(in oklch,var(--editor-focus-ring) 12%,transparent),var(--shadow-xs)}.rich-text-editor-surface{border-radius:inherit}.rich-text-surface{scrollbar-color:var(--editor-border-strong) transparent;scrollbar-width:thin}.rich-text-surface--editable{min-height:28rem;padding:var(--space-xl) clamp(var(--space-lg),5vw,var(--space-2xl));caret-color:var(--editor-accent)}.rich-text-surface--editable>:first-child{margin-top:0}.rich-text-surface--editable>:last-child{margin-bottom:0}.rich-text-surface--editable p.is-editor-empty:first-child:before{color:var(--editor-text-placeholder);font-style:normal}.rich-text-surface--editable ::selection{background:color-mix(in oklch,var(--editor-accent) 18%,transparent)}.rich-text-surface p{color:var(--editor-text-primary)}.rich-text-surface h1,.rich-text-surface h2,.rich-text-surface h3,.rich-text-surface h4,.rich-text-surface h5,.rich-text-surface h6,.rich-text-surface [data-type=heading]{scroll-margin-top:var(--space-lg);color:var(--editor-text-primary);font-style:normal;text-wrap:balance}.rich-text-surface h1{margin-top:var(--space-xl)}.rich-text-surface h2{margin-top:var(--space-lg)}.rich-text-surface h3,.rich-text-surface h4,.rich-text-surface h5,.rich-text-surface h6,.rich-text-surface [data-type=heading]{margin-top:var(--space-md)}.rich-text-surface li::marker{color:var(--editor-text-secondary)}.rich-text-surface ul[data-type=taskList] li+li{margin-top:var(--space-2xs)}.rich-text-surface ul[data-type=taskList] input{width:1rem;height:1rem;margin:.3rem 0 0;accent-color:var(--editor-accent)}.rich-text-surface blockquote{padding:var(--space-2xs) 0 var(--space-2xs) var(--space-md);border-left:2px solid var(--editor-border-strong);color:var(--editor-text-secondary)}.rich-text-surface blockquote p{color:inherit}.rich-text-surface hr{border-top-color:var(--editor-border)}.rich-text-surface a{color:var(--editor-accent);text-decoration-color:color-mix(in oklch,var(--editor-accent) 45%,transparent)}.rich-text-surface a:hover{text-decoration-color:currentColor}.rich-text-surface code:not(.rich-code-block code){padding:.1em .35em;border:1px solid var(--editor-border);border-radius:.25rem;background:var(--editor-inline-code-bg);color:var(--editor-text-primary);font-family:var(--font-mono);font-size:.9em}.rich-text-history-toolbar,.rich-text-context-menu,.rich-text-block-handle,.rich-text-type-menu,.rich-text-block-menu,.rich-text-slash-menu{border-color:var(--editor-border);background:var(--editor-panel);box-shadow:var(--editor-menu-shadow)}.rich-text-history-toolbar{top:var(--space-xs);right:var(--space-xs);gap:0;padding:var(--space-3xs);border-radius:var(--radius-input)}.rich-text-history-toolbar button,.rich-text-context-menu button{color:var(--editor-text-secondary)}.rich-text-toolbar-divider{align-self:center;width:1px;height:1rem;margin:0 var(--space-3xs);background:var(--editor-border)}.rich-text-history-toolbar button:hover,.rich-text-context-menu button:hover,.rich-text-context-menu button.active{background:var(--editor-panel-hover);color:var(--editor-accent)}.rich-text-context-menu .rich-text-color-swatch,.rich-text-context-menu .rich-text-color-swatch:hover,.rich-text-context-menu .rich-text-color-swatch.active{background:var(--swatch-color)}.rich-text-history-toolbar button:focus-visible,.rich-text-context-menu button:focus-visible,.rich-text-type-menu button:focus-visible,.rich-text-block-menu button:focus-visible,.rich-text-slash-menu button:focus-visible{outline:2px solid var(--editor-focus-ring);outline-offset:1px}.rich-text-history-toolbar button:active,.rich-text-context-menu button:active,.rich-text-type-menu button:active,.rich-text-block-menu button:active,.rich-text-slash-menu button:active{background:var(--editor-panel-active)}.rich-text-history-toolbar button.is-disabled{color:var(--editor-text-placeholder);opacity:.55}.rich-text-context-menu{gap:var(--space-3xs);padding:var(--space-3xs);border-radius:var(--radius-input)}.rich-text-context-menu button{border-radius:calc(var(--radius-input) - var(--space-3xs))}.rich-text-context-menu button svg,.rich-text-history-toolbar button svg{flex:0 0 auto}.rich-text-context-group{gap:0;padding:0 var(--space-3xs)}.rich-text-context-group+.rich-text-context-group{border-left-color:var(--editor-border)}.rich-text-type-menu,.rich-text-block-menu,.rich-text-slash-menu{border-radius:var(--radius-input)}.rich-text-type-menu{gap:var(--space-2xs);padding:var(--space-2xs)}.rich-text-type-grid{gap:var(--space-3xs)}.rich-text-type-grid button,.rich-text-type-row{background:transparent;color:var(--editor-text-primary)}.rich-text-type-grid button:hover,.rich-text-type-grid button.active,.rich-text-type-row:hover{background:var(--editor-panel-hover);color:var(--editor-accent)}.rich-text-block-menu{gap:var(--space-3xs);padding:var(--space-2xs)}.rich-text-block-type-grid{gap:var(--space-3xs);padding:0}.rich-text-block-menu-section{gap:var(--space-3xs);padding:var(--space-2xs) 0 0;border-top-color:var(--editor-border)}.rich-text-block-menu-section button{min-height:2rem;border-radius:calc(var(--radius-input) - var(--space-3xs));color:var(--editor-text-primary);white-space:nowrap}.rich-text-block-menu-section button:hover:not(:disabled),.rich-text-block-menu-section button.active{background:var(--editor-panel-hover);color:var(--editor-accent)}.rich-text-block-menu-section button:disabled{color:var(--editor-text-placeholder);opacity:.55}.rich-text-block-menu-section button.danger:hover{background:var(--editor-danger-soft);color:var(--color-danger)}.rich-text-block-handle{left:var(--space-2xs);height:1.75rem;border-color:transparent;background:color-mix(in oklch,var(--editor-panel) 88%,transparent);box-shadow:none;opacity:.7;transition:opacity var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.rich-text-block-handle:hover,.rich-text-block-handle.is-open{border-color:var(--editor-border);background:var(--editor-panel);box-shadow:var(--shadow-sm);opacity:1}.rich-text-block-kind,.rich-text-block-drag{color:var(--editor-text-placeholder)}.rich-text-block-kind{color:var(--editor-text-secondary)}.rich-text-block-drag{border-left-color:var(--editor-border)}.rich-text-block-kind:hover,.rich-text-block-drag:hover,.rich-text-block-handle.is-open .rich-text-block-kind,.rich-text-block-handle.is-open .rich-text-block-drag{background:var(--editor-panel-hover);color:var(--editor-accent)}.rich-text-block-drop-line{right:var(--space-md);left:var(--space-xl);background:var(--editor-accent);box-shadow:none}.rich-text-block-drop-line span{border-color:var(--editor-accent);background:var(--editor-panel)}.rich-text-slash-menu{padding:var(--space-2xs)}.rich-text-slash-menu,.rich-text-block-menu,.rich-text-type-menu,.rich-text-callout-menu{overscroll-behavior:contain;scrollbar-color:var(--editor-border-strong) transparent;scrollbar-width:thin}.rich-text-slash-heading{padding:var(--space-3xs) var(--space-2xs) var(--space-2xs);font-weight:600}.rich-text-slash-menu button{min-height:3rem;border-radius:calc(var(--radius-input) - var(--space-3xs))}.rich-text-slash-menu button:hover,.rich-text-slash-menu button.is-selected{background:var(--editor-panel-hover);color:var(--editor-accent)}.rich-text-slash-menu button small{line-height:1.35}.rich-text-editor-notice{bottom:var(--space-lg);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-input);background:var(--color-ink);color:var(--color-accent-ink);box-shadow:var(--shadow-md)}.rich-code-block{border-color:var(--editor-border);border-radius:var(--radius-input);background:var(--editor-panel-hover)}.rich-text-surface--editable .rich-code-block:hover,.rich-text-surface--editable .rich-code-block:focus-within{border-color:var(--editor-border-strong)}.rich-code-header{border-bottom:1px solid var(--editor-border);color:var(--editor-text-placeholder)}.rich-code-block:focus-within .rich-code-actions{opacity:1;pointer-events:auto}.rich-code-language-select:hover,.rich-code-language-select:focus-visible,.rich-code-wrap:hover,.rich-code-wrap:focus-visible,.rich-code-copy:hover,.rich-code-copy:focus-visible{background:var(--editor-panel-active);color:var(--editor-text-primary)}.rich-text-surface .tableWrapper{border:1px solid var(--editor-border);border-radius:var(--radius-input)}.rich-text-surface--editable .tableWrapper:focus-within{border-color:var(--editor-border-strong);box-shadow:0 0 0 2px color-mix(in oklch,var(--editor-focus-ring) 10%,transparent)}.rich-text-surface table{margin:0}.rich-text-surface th,.rich-text-surface td{border-color:var(--editor-border)}.rich-text-surface th{background:var(--editor-panel-hover);color:var(--editor-text-primary)}.rich-text-surface--editable th:hover,.rich-text-surface--editable td:hover{background:color-mix(in oklch,var(--editor-panel-hover) 70%,var(--editor-panel))}.rich-text-surface--editable .selectedCell:after{background:color-mix(in oklch,var(--editor-accent) 12%,transparent)}.rich-text-callout{border-color:var(--callout-border, var(--editor-border));border-radius:var(--radius-input);color:var(--editor-text-primary)}.rich-text-surface--editable .rich-text-callout:focus-within{box-shadow:0 0 0 2px color-mix(in oklch,var(--callout-border, var(--editor-focus-ring)) 32%,transparent)}.rich-text-callout-menu{gap:var(--space-2xs);padding:var(--space-2xs)}.rich-text-callout-menu-section{gap:var(--space-3xs)}.rich-text-callout-menu-section+.rich-text-callout-menu-section{padding-top:var(--space-2xs);border-top-color:var(--editor-border)}.rich-text-custom-emoji input{border-color:var(--editor-border);border-radius:calc(var(--radius-input) - var(--space-3xs));background:var(--editor-canvas);color:var(--editor-text-primary);outline:2px solid transparent;outline-offset:1px}.rich-text-custom-emoji input:hover{border-color:var(--editor-border-strong)}.rich-text-custom-emoji input:focus-visible{border-color:var(--editor-focus-ring);outline-color:color-mix(in oklch,var(--editor-focus-ring) 25%,transparent)}.rich-text-context-menu .rich-text-callout-tone{border-color:var(--editor-border-strong)}.rich-text-context-menu .rich-text-callout-tone.active{outline-color:var(--editor-focus-ring)}.rich-text-surface--editable img{outline:2px solid transparent;outline-offset:2px;transition:opacity var(--dur-fast) var(--ease-out)}.rich-text-surface--editable img:hover{opacity:.94}.rich-text-surface--editable img.ProseMirror-selectednode{outline-color:var(--editor-focus-ring)}@media(max-width:48rem){.rich-text-surface--editable{min-height:22rem;padding:var(--space-lg) var(--space-md)}.rich-text-history-toolbar{position:sticky;top:var(--space-2xs);float:right;margin:var(--space-2xs)}.rich-text-context-menu{max-width:calc(100vw - var(--space-md));overflow-x:auto;scrollbar-width:none}.rich-text-context-menu::-webkit-scrollbar{display:none}.rich-text-color-controls{display:none}.rich-text-block-handle{left:var(--space-3xs)}.rich-text-block-menu,.rich-text-type-menu,.rich-text-callout-menu{width:min(18rem,calc(100vw - var(--space-lg)))}.rich-text-callout{min-height:3.5rem;padding-right:var(--space-xs);padding-left:var(--space-xl)}.rich-text-callout:before{left:var(--space-xs)}.rich-text-surface [data-indent="4"],.rich-text-surface [data-indent="5"],.rich-text-surface [data-indent="6"]{margin-left:var(--space-xl)}}.image-dialog-backdrop{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:var(--space-md);background:color-mix(in oklch,var(--color-ink) 48%,transparent)}.image-dialog{display:grid;gap:var(--space-md);width:min(42rem,100%);max-height:calc(100vh - 2 * var(--space-md));overflow-y:auto;padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-lg)}.image-dialog header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.image-dialog h2{margin:0;font-size:var(--text-lg)}.image-crop-preview{width:100%;max-height:28rem;overflow:hidden;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2)}.image-crop-preview[data-aspect="1:1"]{aspect-ratio:1}.image-crop-preview[data-aspect="4:3"]{aspect-ratio:4 / 3}.image-crop-preview[data-aspect="16:9"]{aspect-ratio:16 / 9}.image-crop-preview[data-aspect=free]{aspect-ratio:4 / 3}.image-crop-preview{position:relative;touch-action:none}.image-crop-preview img{width:100%;height:100%;object-fit:contain}.image-crop-selection{position:absolute;z-index:1;border:2px solid white;box-shadow:0 0 0 9999px color-mix(in oklch,var(--color-ink) 48%,transparent);cursor:move;touch-action:none}.image-crop-handle{position:absolute;width:14px;height:14px;padding:0;border:2px solid white;border-radius:2px;background:var(--color-accent)}.image-crop-handle.is-nw{top:-8px;left:-8px;cursor:nwse-resize}.image-crop-handle.is-ne{top:-8px;right:-8px;cursor:nesw-resize}.image-crop-handle.is-sw{bottom:-8px;left:-8px;cursor:nesw-resize}.image-crop-handle.is-se{right:-8px;bottom:-8px;cursor:nwse-resize}.image-aspect-control{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.image-aspect-control button{min-height:2.25rem;padding:0 var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);color:var(--color-ink-2)}.image-aspect-control button:hover,.image-aspect-control button.active{border-color:var(--color-accent);background:var(--color-accent-2);color:var(--color-accent-strong)}.image-position-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.image-position-controls label{display:grid;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs)}.image-position-controls input{width:100%;accent-color:var(--color-accent)}.image-free-crop-controls{padding:var(--space-xs) var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2)}.image-preview-dialog>img{width:auto;max-width:100%;max-height:70vh;margin:auto;object-fit:contain}.user-import-panel{display:grid;gap:0}.user-import-step{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:var(--rule-thin) solid var(--color-rule)}.user-import-step:last-child{border-bottom:0}.user-import-step>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--color-accent-2);color:var(--color-accent-strong);font-weight:700}.user-import-step>div{flex:1}.user-import-step p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.user-import-step .primary-button{width:auto;margin-top:0;min-width:10rem}.user-import-result>div{display:flex;align-items:center;gap:var(--space-sm)}.result-success{color:var(--color-success, #16803c)}.result-failed{color:var(--color-danger, #c73535)}.user-import-result ul{margin:var(--space-sm) 0 0;padding-left:1.25rem;color:var(--color-danger, #c73535)}.rich-text-surface p.is-editor-empty:first-child:before{float:left;height:0;color:var(--color-muted);content:attr(data-placeholder);pointer-events:none}.rich-text-surface pre{margin:var(--space-xs) 0;padding:var(--space-xs);overflow-x:auto;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-xs);line-height:1.6}.rich-text-surface code{font-family:var(--font-mono)}.rich-text-surface>*:last-child{margin-bottom:0}@media(max-width:1080px){.home-intro,.auth-layout,.guide-layout{grid-template-columns:minmax(0,1fr)}.guide-side{padding-top:0}.home-hero{padding:var(--space-xl) var(--space-lg)}.admin-shell{grid-template-columns:minmax(0,1fr);gap:var(--space-md);padding:var(--space-md) var(--gutter)}.admin-nav{position:static;min-height:0}.admin-nav-list{flex-direction:row;flex-wrap:wrap}.admin-nav-item{flex:0 0 auto}.admin-nav-home{margin-top:var(--space-xs)}.admin-editor.aside-open .admin-editor-body{grid-template-columns:minmax(0,1fr)}.admin-drawer{position:static;max-height:none}.tutorial-workspace{grid-template-columns:minmax(0,1fr)}.tutorial-outline{position:static;max-height:none;border:0}.tutorial-outline nav{display:grid}.tutorial-outline button{width:100%;max-width:none}.publish-layout{grid-template-columns:minmax(0,1fr)}.publish-sidebar{position:static;display:grid;grid-template-columns:12rem minmax(0,1fr);gap:var(--space-md);border-right:0;border-bottom:var(--rule-thin) solid var(--color-rule)}.cover-uploader{grid-row:span 3;border-bottom:0}.tutorial-page-workspace{grid-template-columns:minmax(0,1fr)}.tutorial-page-workspace .tutorial-outline{position:static;max-height:none;padding:var(--space-sm);border:0}.tutorial-page-workspace .tutorial-outline nav{display:grid}.tutorial-page-workspace .tutorial-outline button{width:100%;max-width:none}.tutorial-page-workspace .tutorial-document{grid-column:1;max-width:none;margin:0 auto}.project-step-workspace{grid-template-columns:13rem minmax(0,1fr)}}@media(max-width:760px){.user-import-step{grid-template-columns:2rem minmax(0,1fr)}.user-import-step button{grid-column:2;width:100%}.admin-user-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2xs) var(--space-sm);padding-block:var(--space-xs)}.admin-user-row>:nth-child(3),.admin-user-row>time{grid-column:1 / -1}.admin-user-head{display:none}.header-inner{width:100%;padding-inline:var(--space-2xs);grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs)}.primary-nav{grid-column:1 / -1;justify-self:start;order:3;width:100%;overflow-x:auto;padding-bottom:var(--space-2xs)}.site-header{height:auto;min-height:var(--banner-height)}.home-view,.page-container,.auth-layout{width:100%;padding-top:var(--space-lg)}.course-detail-page{padding-right:0;padding-left:0}.course-detail-page .course-detail-heading,.course-detail-layout{width:100%}.home-hero{padding:var(--space-lg) var(--space-md)}.home-intro,.page-heading{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-md)}.path-grid,.preview-grid,.version-detail-grid{grid-template-columns:minmax(0,1fr)}.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-row{grid-template-columns:3rem minmax(0,1fr);padding:var(--space-md)}.row-action{grid-column:2;justify-content:flex-start}.project-visual{width:2.75rem;height:2.75rem}.project-card{display:block;padding:0}.project-card .project-visual{width:100%;height:8rem}.project-card .project-copy{padding:var(--space-md)}.login-gate,.editor-item{grid-template-columns:minmax(0,1fr)}.editor-item .icon-button{width:100%}.admin-field-grid{grid-template-columns:minmax(0,1fr)}.admin-nav{padding:var(--space-sm)}.admin-nav-brand{padding-inline:0}.admin-nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-nav-item{min-width:0;padding-inline:var(--space-xs)}.admin-nav-home{margin-inline:0}.admin-table-head{display:none}.admin-row{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs)}.admin-row-actions{justify-content:flex-start}.tutorial-fieldset>.admin-section-heading,.tutorial-document{padding:var(--space-sm)}.tutorial-document .rich-text-surface{min-height:32rem;padding:var(--space-lg) var(--space-md)}.publish-sidebar{display:block;padding:var(--space-sm)}.cover-uploader{max-width:16rem;border-bottom:0}.publish-action-bar{align-items:stretch;flex-wrap:wrap}.publish-action-spacer{display:none}.publish-action-bar .publish-check{flex:1 1 100%}.publish-action-bar .secondary-button,.publish-action-bar .publish-button{flex:1 1 auto;min-width:0;padding-inline:var(--space-sm)}.tutorial-page-header{align-items:flex-start;flex-direction:column}.tutorial-save-area{width:100%;justify-content:space-between}.tutorial-page-workspace .tutorial-document{padding:var(--space-sm)}.tutorial-page-workspace .rich-text-surface{min-height:32rem;padding:var(--space-lg) var(--space-md)}.project-step-workspace{grid-template-columns:minmax(0,1fr);gap:var(--space-md);padding-top:var(--space-sm)}.project-step-sidebar{position:static;max-height:none;overflow:visible;padding-right:0}.project-progress{margin-inline:var(--space-md)}.project-step-sidebar nav{display:flex;overflow-x:auto;padding:0 var(--space-md) var(--space-xs);scrollbar-width:none}.project-step-sidebar nav::-webkit-scrollbar{display:none}.project-step-sidebar nav:before{display:none}.project-step-sidebar nav button{flex:0 0 10.5rem}.project-step-document{width:100%;padding:0 var(--space-md)}.project-preparation-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.project-preparation-attachments{grid-column:auto}.project-step-actions{margin-inline:calc(var(--space-md) * -1);padding-inline:var(--space-md)}.project-step-actions .primary-button{min-width:0}.project-step-actions button{flex:1}.project-tutorial-workspace{gap:var(--space-sm)}.project-step-manager{border-radius:var(--radius-input)}.primary-nav{height:2.75rem;gap:var(--space-lg);scrollbar-width:none}.primary-nav::-webkit-scrollbar{display:none}.primary-nav a{min-height:2.75rem}.primary-nav a.router-link-active:after{bottom:var(--space-3xs)}}.student-point-summary{display:flex;align-items:center;gap:var(--space-md);color:var(--color-accent-ink)}.student-point-summary div{display:grid;gap:var(--space-3xs)}.student-point-summary strong{font-size:var(--text-lg)}.student-point-summary span{color:var(--color-muted);font-size:var(--text-sm)}.file-picker{display:inline-flex;position:relative;overflow:hidden;cursor:pointer;margin-top:var(--space-md)}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-md)}.reward-card{display:grid;gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.reward-card span{color:var(--color-accent-ink);font-weight:700}.reward-card p{min-height:2.8rem;margin:0;color:var(--color-muted);font-size:var(--text-sm)}@media(max-width:420px){.project-card-grid{grid-template-columns:minmax(0,1fr)}.account-actions .username{display:none}.home-intro h1,.detail-heading h1{font-size:var(--text-2xl)}.page-heading h1{font-size:var(--text-xl)}.home-hero{padding:var(--space-md) var(--space-sm)}.brand>span:last-child{display:none}.project-search{display:grid;grid-template-columns:auto minmax(0,1fr);padding:var(--space-xs)}.project-search button{grid-column:1 / -1;min-height:2.75rem;margin:var(--space-xs) 0 0}}.rich-text-surface.rich-text-surface--editable,.rich-text-surface.rich-text-surface--readonly{color:var(--editor-text-primary);font-size:var(--editor-body-size);line-height:var(--editor-body-line-height);letter-spacing:0}.rich-text-surface.rich-text-surface--editable p,.rich-text-surface.rich-text-surface--readonly p{margin:0 0 .85rem;line-height:var(--editor-body-line-height)}.rich-text-surface.rich-text-surface--editable h1,.rich-text-surface.rich-text-surface--readonly h1{margin:2.25rem 0 .9rem;font-size:2rem;font-weight:750;line-height:1.3}.rich-text-surface.rich-text-surface--editable h2,.rich-text-surface.rich-text-surface--readonly h2{margin:1.9rem 0 .75rem;font-size:1.5rem;font-weight:720;line-height:1.35}.rich-text-surface.rich-text-surface--editable h3,.rich-text-surface.rich-text-surface--readonly h3{margin:1.65rem 0 .65rem;font-size:1.25rem;font-weight:700;line-height:1.4}.rich-text-surface.rich-text-surface--editable h4,.rich-text-surface.rich-text-surface--readonly h4{margin:1.45rem 0 .55rem;font-size:1.125rem;font-weight:680;line-height:1.45}.rich-text-surface.rich-text-surface--editable h5,.rich-text-surface.rich-text-surface--readonly h5,.rich-text-surface.rich-text-surface--editable h6,.rich-text-surface.rich-text-surface--readonly h6{margin:1.25rem 0 .5rem;font-size:1rem;font-weight:680;line-height:1.5}.rich-text-surface.rich-text-surface--editable [data-type=heading][data-level="7"],.rich-text-surface.rich-text-surface--readonly [data-type=heading][data-level="7"],.rich-text-surface.rich-text-surface--editable [data-type=heading][data-level="8"],.rich-text-surface.rich-text-surface--readonly [data-type=heading][data-level="8"],.rich-text-surface.rich-text-surface--editable [data-type=heading][data-level="9"],.rich-text-surface.rich-text-surface--readonly [data-type=heading][data-level="9"]{margin:1.1rem 0 .45rem;color:var(--editor-text-primary);font-size:1rem;font-weight:650;line-height:1.5}.rich-text-surface.rich-text-surface--editable ul,.rich-text-surface.rich-text-surface--editable ol,.rich-text-surface.rich-text-surface--readonly ul,.rich-text-surface.rich-text-surface--readonly ol{margin:.5rem 0 1rem;padding-left:1.6rem;font-size:var(--editor-body-size);line-height:1.8}.rich-text-surface.rich-text-surface--editable li,.rich-text-surface.rich-text-surface--readonly li{margin:.15rem 0;padding-left:.2rem}.rich-text-surface.rich-text-surface--editable blockquote,.rich-text-surface.rich-text-surface--readonly blockquote{margin:1rem 0;padding:.1rem 0 .1rem 1rem;border-left:3px solid var(--editor-divider);color:var(--editor-text-secondary)}.rich-text-surface.rich-text-surface--editable a,.rich-text-surface.rich-text-surface--readonly a{color:var(--editor-accent);text-decoration:none}.rich-text-surface.rich-text-surface--editable a:hover,.rich-text-surface.rich-text-surface--readonly a:hover{text-decoration:underline;text-underline-offset:2px}.rich-text-surface.rich-text-surface--editable :not(pre)>code,.rich-text-surface.rich-text-surface--readonly :not(pre)>code{padding:.125rem .3rem;border-radius:.25rem;background:var(--editor-inline-code-bg);color:#d83931;font-size:.875em}.rich-text-surface.rich-text-surface--editable hr,.rich-text-surface.rich-text-surface--readonly hr{margin:1.75rem 0;border:0;border-top:1px solid var(--editor-divider)}@media(max-width:760px){.home-start{grid-template-columns:minmax(0,1fr);min-height:0;padding:var(--space-lg) var(--space-md)}.build-path{border-top:var(--rule-thin) solid var(--color-rule);border-left:0;margin:var(--space-lg) calc(var(--space-md) * -1) calc(var(--space-lg) * -1);padding:var(--space-md)}.build-path ol{gap:var(--space-md);margin:var(--space-lg) 0 0}.home-destinations,.home-library-grid{grid-template-columns:minmax(0,1fr)}.destination-card{min-height:7rem;padding:var(--space-md)}.home-section-heading{align-items:start;flex-direction:column;gap:var(--space-sm)}.home-search{margin-top:var(--space-lg)}.home-platform-page{gap:var(--space-2xl)}.home-carousel{min-height:30rem;padding:var(--space-sm);border-radius:0}.carousel-slide{height:28rem;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:12rem minmax(0,1fr)}.carousel-art{height:calc(12rem - 2 * var(--space-sm));min-height:0;margin:var(--space-sm)}.carousel-copy{padding:var(--space-md) var(--space-lg) var(--space-2xl)}.carousel-control{top:5.5rem}.carousel-control--previous{left:var(--space-sm)}.carousel-control--next{right:var(--space-sm)}.platform-section-heading{align-items:start;flex-direction:column}.featured-grid{grid-template-columns:minmax(0,1fr)}.home-about{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.home-about-mark{width:3rem;height:3rem}.project-showcase,.project-showcase--count-1,.project-showcase--count-2{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.project-showcase .featured-card--lead{grid-row:auto}}
