
/* Shared site tokens and canvas frame; no second fake application shell. */
.workspace-content.workspace-section-curriculum{padding:0!important;min-width:0;overflow:hidden}
.curriculum-authoring{position:relative;height:100dvh;min-height:420px;isolation:isolate}
.curriculum-authoring-canvas{height:100%;min-width:0}
.curriculum-save-status{position:absolute;right:16px;bottom:8px;z-index:8;display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);font-size:11px;color:var(--muted);pointer-events:none}
.curriculum-save-status.is-error{background:var(--danger-soft);color:var(--danger-ink);padding:6px 10px;border-radius:6px;pointer-events:auto;max-height:120px;overflow:auto;box-shadow:var(--danger-surface-glow)}
.curriculum-authoring-empty{display:grid;justify-items:start;align-content:center;height:100%;padding:clamp(24px,5vw,72px);gap:16px}
.curriculum-authoring-empty h1,.curriculum-authoring-empty p{margin:0}
#curriculum-branching .cw-product{height:100%;border:0;border-radius:0;--cw-bg:var(--page);--cw-surface:var(--surface);--cw-text:var(--ink);--cw-muted:var(--muted);--cw-border:var(--line);--cw-dot:var(--line);--cw-error:var(--danger-ink);color-scheme:inherit}
#curriculum-branching .cw-canvas,#curriculum-branching .cw-board{height:100%;min-height:0;margin:0;padding:0;max-width:none;width:100%}
/* Match the existing knowledge-map coordinate plane. Resizing changes only
   the viewport, never the distances, edge geometry or saved author coordinates. */
#curriculum-branching .cw-world{width:1200px;height:650px;right:auto;bottom:auto}
/* The guide dots remain readable at every camera scale; geometry is unchanged. */
#curriculum-branching .cw-board{--cw-dot:color-mix(in srgb,var(--muted) 50%,var(--page));background-image:radial-gradient(var(--cw-dot) calc(1px * var(--curriculum-grid-scale,1)),transparent 1px)}
#curriculum-phone-workspace .mp-phone .mp-map{--mp-dot:color-mix(in srgb,var(--muted) 50%,var(--page));background-image:radial-gradient(var(--mp-dot) calc(1px * var(--curriculum-grid-scale,1)),transparent 1px)}
#curriculum-branching .cw-product button{margin:0;letter-spacing:normal;text-transform:none}
#curriculum-branching .cw-product input,#curriculum-branching .cw-product select,#curriculum-branching .cw-product textarea{margin:0}
#curriculum-branching .cw-product .cw-node-color{width:38px;height:34px}
#curriculum-branching .cw-node{border:0;padding:0;min-height:0}
#curriculum-branching .cw-node span{white-space:normal;left:31px;top:50%;transform:translateY(-50%);text-align:left}
#curriculum-branching .cw-tile{margin:0;border:0;padding:8px 2px;min-width:30px}
#curriculum-branching .cw-strip .cw-tile{background:color-mix(in srgb,var(--page) 35%,transparent);border-radius:5px;backdrop-filter:blur(8px) saturate(1.08)}
#curriculum-branching .cw-dock{background:transparent!important;border:0;box-shadow:none;backdrop-filter:none!important}
/* Transparent plan space is canvas, not an invisible input-blocking panel.
   Keep real plan cards/controls interactive at their existing coordinates. */
#curriculum-branching :is(.cw-dock,.cw-rail,.cw-rail-head,.cw-strip){pointer-events:none}
#curriculum-branching :is(.cw-plan-select,.cw-rail-head button,.cw-strip>.cw-tile,.cw-lesson-bracket,.cw-lesson-split){pointer-events:auto}
#curriculum-branching .cw-conflict{max-height:140px}
#curriculum-branching .cw-product .ui-dialog input:not([type=radio]){width:100%;min-height:40px}
#curriculum-branching .cw-product .ui-dialog input[type=radio]{width:auto}
#curriculum-branching .curriculum-author-dialog .schedule-dialog-body{padding:20px}
#curriculum-branching .cw-create-dialog{max-width:480px;width:calc(100% - 32px)}
#curriculum-branching .cw-mode{font-size:14px}
#curriculum-branching .cw-tools{align-items:center}
#curriculum-branching .cw-tools .cw-icon:not(.cw-mode),
#curriculum-branching .cw-history-tools .cw-icon{width:44px;height:44px;min-width:44px;min-height:44px;flex:none;padding:0}
#curriculum-branching .cw-tools .cw-mode{height:44px;min-height:44px;padding:6px 10px;flex:none;max-width:none}
#curriculum-branching .cw-mode span{white-space:nowrap;overflow-wrap:normal;max-width:none}
#curriculum-branching .cw-history-tools{top:76px}
#curriculum-branching .cw-history-tools button:disabled{cursor:default}
#curriculum-branching .cw-tempo-tools{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:5px}
#curriculum-branching .cw-plan-select .cw-plan-scale,#curriculum-branching .cw-plan-select .cw-plan-select-all{display:block;width:100%;min-height:24px;padding:2px;border:0;background:transparent;box-shadow:none;text-align:left;font-size:12px;line-height:18px;color:var(--cw-muted)}
#curriculum-branching .cw-plan-select .cw-plan-select-all{font-size:11px}
#curriculum-branching .cw-plan-select-row{display:flex;align-items:center;gap:6px;width:100%}
#curriculum-branching .cw-plan-select-row .cw-plan-select-all{flex:1;min-width:0;width:auto}
#curriculum-branching .cw-plan-select-row .cw-bulk-actions small{display:none}
#curriculum-branching .cw-plan-select-row .cw-bulk-actions button{width:24px;height:24px;min-height:24px;border:0;background:transparent}
#curriculum-branching .cw-plan-select .cw-plan-scale:hover:not(:disabled){color:var(--cw-text)}
#curriculum-branching .cw-plan-activity{margin-bottom:6px}
#curriculum-branching .curriculum-duration-field{margin-top:5px}
#curriculum-branching .curriculum-duration-field input{width:100%;min-width:0;height:28px;min-height:28px;font:inherit;font-size:12px;padding:2px 4px}
#curriculum-phone-workspace .curriculum-duration-field input{width:82px;min-width:0;min-height:40px;font-size:16px}
#curriculum-branching .curriculum-activity-field{display:flex;flex-direction:column;align-items:stretch;gap:2px;font-size:11px;color:var(--cw-muted)}
#curriculum-branching .curriculum-activity-field select{width:100%;max-width:100%;min-width:0;height:28px;padding:2px 3px;font:inherit;font-size:12px;border:1px solid var(--cw-border);border-radius:5px;color:var(--cw-text);background:var(--cw-surface)}
#curriculum-phone-workspace .curriculum-activity-field{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0;font-size:13px;color:var(--mp-muted)}
#curriculum-phone-workspace .curriculum-activity-field select{min-width:0;max-width:65%;min-height:44px;font:inherit;font-size:16px;padding:4px 8px;background:var(--mp-surface);color:var(--mp-text);border:1px solid var(--mp-border);border-radius:6px}
:is(#curriculum-branching,#curriculum-phone-workspace) .curriculum-repeat-marker{display:inline-block;flex:none;width:13px!important;height:13px!important;margin-inline-end:3px;vertical-align:middle;stroke-width:1.8}
#curriculum-branching .cw-tile strong,#curriculum-phone-workspace .mp-chip-text{display:flex;align-items:center;gap:3px}
#curriculum-branching .cw-tile strong .curriculum-card-title{min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#curriculum-phone-workspace .mp-chip-text .curriculum-card-title{min-height:0;max-width:32px;overflow:hidden;overflow-wrap:anywhere}
#curriculum-branching .cw-tile strong .curriculum-repeat-marker,#curriculum-phone-workspace .mp-chip-text .curriculum-repeat-marker{margin:0;transform:rotate(180deg);writing-mode:horizontal-tb;overflow:visible}
/* One lightweight glass surface for text floating over the authoring canvas.
   Keep it on labels themselves, never on the whole dock or graph. */
.curriculum-authoring{--curriculum-text-glass:color-mix(in srgb,var(--page) 35%,transparent)}
.curriculum-authoring :is(.cw-canvas-hint,.cw-legend-item,.cw-caption,.cw-rail-head>span,.cw-empty,.cw-bulk-count,.cw-plan-scale,.cw-plan-select-all,.cw-plan-activity .curriculum-activity-field>span,.mp-placement,.mp-empty-plan,.curriculum-save-status:not(.is-error)){background:var(--curriculum-text-glass);-webkit-backdrop-filter:blur(8px) saturate(1.08);backdrop-filter:blur(8px) saturate(1.08);border-radius:5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.curriculum-authoring .cw-canvas-hint{right:auto;width:fit-content;max-width:calc(100% - 36px);padding:2px 4px}
.curriculum-authoring :is(.cw-caption,.cw-rail-head>span,.cw-bulk-count,.cw-strip>small,.cw-plan-activity .curriculum-activity-field>span){width:fit-content;padding:1px 3px;background:var(--curriculum-text-glass);-webkit-backdrop-filter:blur(8px) saturate(1.08);backdrop-filter:blur(8px) saturate(1.08);border-radius:5px}
.curriculum-authoring .cw-empty{left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:70%;padding:3px 6px}
.curriculum-authoring .curriculum-save-status:not(.is-error){padding:2px 4px}
.curriculum-authoring #curriculum-branching .cw-legend-item,.curriculum-authoring #curriculum-branching .cw-plan-select :is(.cw-plan-scale,.cw-plan-select-all){background:var(--curriculum-text-glass)}
/* Lesson captions mask the bracket stroke rather than blur it into the text. */
.curriculum-authoring #curriculum-branching .cw-lesson-label{background:var(--cw-bg);-webkit-backdrop-filter:none;backdrop-filter:none}
.curriculum-authoring #curriculum-phone-workspace .mp-placement{background:var(--curriculum-text-glass)}
/* Graph content is one lower stacking layer; its children cannot escape above UI. */
#curriculum-branching .cw-world,#curriculum-phone-workspace .mp-world{z-index:0;isolation:isolate}
#curriculum-branching .cw-canvas-hint{z-index:3}
#curriculum-branching .cw-empty{z-index:1}
#curriculum-phone-workspace .mp-map{z-index:0}
.curriculum-authoring #curriculum-branching .cw-world :is(.cw-node>span,.curriculum-note,.curriculum-note-text),.curriculum-authoring #curriculum-phone-workspace .mp-world :is(.mp-node>span,.curriculum-note,.curriculum-note-text){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.curriculum-authoring{--curriculum-text-glass:color-mix(in srgb,var(--page) 75%,transparent)}}
#curriculum-branching .cw-plan-select .cw-plan-select-all:hover:not(:disabled){color:var(--cw-text)}
#curriculum-branching .cw-tempo-tools button:disabled{cursor:default}
.curriculum-scale-dialog .curriculum-tempo-selection{margin:0;padding:0;border:0}
.curriculum-scale-dialog .curriculum-tempo-list{max-height:160px;overflow:auto;overscroll-behavior:contain;margin-top:8px}
.curriculum-scale-dialog .curriculum-tempo-list label{display:flex;align-items:center;gap:8px;font-size:14px;padding:4px 0}
.curriculum-scale-dialog .curriculum-tempo-list input[type=checkbox]{width:18px;min-height:18px;height:18px;flex:none;margin:0}
.curriculum-repeat-dialog .curriculum-scale-form{gap:12px}
.curriculum-repeat-topics>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:36px;font-size:13px;cursor:pointer}
.curriculum-repeat-topics>summary span:last-child{color:var(--muted);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.curriculum-repeat-topics[open]>summary{margin-bottom:8px}
.curriculum-repeat-topics>button{margin-top:6px;min-height:32px;font-size:13px}
.curriculum-repeat-dialog .curriculum-tempo-list label[hidden]{display:none}
.curriculum-repeat-dialog .curriculum-tempo-list label{min-width:0;overflow-wrap:anywhere}
.curriculum-authoring :is(#curriculum-branching,#curriculum-phone-workspace) .curriculum-repeat-dialog .curriculum-tempo-list input[type=checkbox]{width:18px;min-height:18px;height:18px;flex:none}
.curriculum-repeat-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.curriculum-repeat-fields label{font-size:13px;align-content:start}
.curriculum-repeat-fields :is(input,select){min-height:40px;font-size:16px}
.curriculum-repeat-fields [data-repeat-example]{grid-column:1/-1;color:var(--muted);overflow-wrap:anywhere}
/* One compact library treatment on desktop and in the mobile archive sheet. */
.curriculum-authoring .curriculum-archive{margin-top:4px;border-top:1px solid var(--line)}
.curriculum-authoring .curriculum-archive>summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;cursor:pointer;color:var(--muted);font-size:13px}
.curriculum-authoring .curriculum-archive>summary::before{content:'›';font-size:18px;line-height:1;transition:transform .15s}
.curriculum-authoring .curriculum-archive[open]>summary::before{transform:rotate(90deg)}
.curriculum-authoring .curriculum-archive>summary>span{margin-left:auto;font-size:12px}
.curriculum-authoring .curriculum-library-row{display:flex;align-items:center;gap:2px;min-width:0}
.curriculum-authoring .curriculum-library-row>button:first-child{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere}
.curriculum-authoring .curriculum-archive-status{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.3;margin-top:2px}
.curriculum-authoring #curriculum-branching .cw-menu .curriculum-restore,.curriculum-authoring #curriculum-phone-workspace .curriculum-restore{flex:0 0 auto;width:auto;min-height:40px;padding:6px;font-size:11px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.curriculum-authoring .curriculum-library-empty,.curriculum-authoring .curriculum-library-copy{margin:6px 10px 10px;color:var(--muted);font-size:13px;line-height:1.4}
.curriculum-authoring #curriculum-phone-workspace .curriculum-library-row>button{display:flex;align-items:center;gap:8px;margin:0;min-height:44px;padding:10px;border:0;background:transparent;color:var(--ink);font:inherit}
.curriculum-authoring #curriculum-phone-workspace .curriculum-library-row>button[aria-pressed=true]{background:var(--surface-strong,var(--surface))}
.curriculum-authoring #curriculum-phone-workspace .curriculum-library-row>button:first-child>span:first-child{flex:1;min-width:0}
.curriculum-authoring .curriculum-library-row>button:hover{background:var(--hover,var(--surface))}
.curriculum-repeat-fields[data-growing=true] [data-repeat-example]{grid-column:auto;align-self:center}
.curriculum-repeat-fields [hidden]{display:none}
.curriculum-repeat-dialog [data-scale-summary]{flex:1 1 100%;width:100%;grid-column:1/-1;box-sizing:border-box;margin:0;padding:9px;font-size:13px;line-height:1.5;font-weight:600;border-radius:6px;background:var(--surface-muted);max-height:120px;overflow:auto}
.curriculum-repeat-dialog [data-scale-summary][data-error=true]{color:var(--danger-ink)}
.curriculum-repeat-dialog .schedule-dialog-header,.curriculum-repeat-dialog .schedule-dialog-footer{flex-shrink:0}
.curriculum-repeat-help summary{min-height:32px;font-size:13px;color:var(--muted);cursor:pointer}
.curriculum-repeat-help p{margin:4px 0 10px}
.curriculum-repeat-help small{display:block}
.curriculum-authoring #curriculum-phone-workspace .curriculum-repeat-dialog .curriculum-tempo-list{max-height:96px}
.curriculum-authoring #curriculum-phone-workspace .mp-phone .curriculum-repeat-dialog .schedule-dialog-footer{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:8px}
.curriculum-authoring #curriculum-phone-workspace .mp-phone .curriculum-repeat-dialog .schedule-dialog-footer button{min-width:0;padding:8px 6px;font-size:14px}
.curriculum-authoring #curriculum-phone-workspace .curriculum-repeat-fields{gap:10px}
.curriculum-authoring #curriculum-phone-workspace .curriculum-repeat-fields label{font-size:13px;line-height:1.2;gap:4px}
@container(max-width:1050px){
  #curriculum-branching .cw-mode span{max-width:190px;white-space:normal;line-height:15px;text-align:left}
}
#curriculum-phone-workspace .mp-phone{width:100%;max-width:none;height:100%;border:0;border-radius:0;--mp-bg:var(--page);--mp-surface:var(--surface);--mp-text:var(--ink);--mp-muted:var(--muted);--mp-border:var(--line);--mp-dot:var(--line);--mp-error:var(--danger-ink);color-scheme:inherit}
#curriculum-phone-workspace .mp-phone button{margin:0;letter-spacing:normal;text-transform:none}
#curriculum-phone-workspace .mp-phone select,#curriculum-phone-workspace .mp-phone input{margin-bottom:0}
#curriculum-phone-workspace .mp-topic-settings{margin:0;padding:0;border:0;box-shadow:none;background:transparent}
#curriculum-phone-workspace .mp-topic-head{position:relative;z-index:1;height:44px;padding:0;border:0;background:transparent}
#curriculum-phone-workspace .mp-topic-actions{height:44px;padding:0;margin:0;border:0;background:transparent}
#curriculum-phone-workspace .mp-chip{width:var(--mp-tile-width);min-width:var(--mp-tile-width)}
#curriculum-phone-workspace .mp-phone .mp-node{border:0;min-height:0;margin:0}
#curriculum-phone-workspace .mp-sheet.ui-dialog{position:fixed;max-height:calc(100dvh - 24px);height:auto;width:calc(100vw - 24px);max-width:600px;padding:0;background:var(--surface);color:var(--ink)}
#curriculum-phone-workspace .mp-sheet .schedule-dialog-header{margin:0;padding:16px}
#curriculum-phone-workspace .mp-sheet .schedule-dialog-body{padding:16px;overflow:auto}
#curriculum-phone-workspace .mp-sheet .schedule-dialog-footer{padding:16px}
.curriculum-author-dialog{font-family:'Roboto Condensed',sans-serif}
.curriculum-author-dialog .schedule-dialog-header h2{font-family:Manrope,sans-serif;font-size:18px;flex:1;margin:0}
.curriculum-author-dialog .schedule-dialog-close{border:0;background:transparent;flex:none}
@media(max-width:900px){.curriculum-authoring{height:calc(100dvh - 88px);min-height:360px}}

