@charset "UTF-8";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;width:100%;min-width:0;overflow-x:hidden}html,body,#root{width:100%;min-height:100%;overflow-x:hidden}img,video,svg,canvas{max-width:100%;height:auto}:root{--font-family-serif: "Begum", Georgia, serif;--font-family-sans: "Avenir", system-ui, sans-serif;--font-family-display: "Rubik Dirt", system-ui, sans-serif;--font-family-hand: "Playwrite GB S", cursive;--font-size-xxs: .6rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.375rem;--font-size-xl: 1.75rem;--font-size-2xl: 2.25rem;--font-size-3xl: 3rem;--font-size-4xl: 4rem;--font-letter-spacing-tight: -.02em;--font-letter-spacing-base: 0;--font-letter-spacing-loose: .05em;--box-shadow-1: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--box-shadow-hover-high: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);--box-shadow-hover-medium: 0 6px 12px rgba(0, 0, 0, .15), 0 4px 4px rgba(0, 0, 0, .2);--box-shadow-hover-low: 0 3px 6px rgba(0, 0, 0, .1), 0 2px 2px rgba(0, 0, 0, .15);--box-shadow-2: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);--box-shadow-3: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23);--box-shadow-4: 0 14px 28px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .22);--box-shadow-5: 0 19px 38px rgba(0, 0, 0, .3), 0 15px 12px rgba(0, 0, 0, .22);--box-shadow-soft: 0 1px 2px rgba(0, 0, 0, .05);--spacing-2: .125rem;--spacing-4: .25rem;--spacing-6: .375rem;--spacing-8: .5rem;--spacing-12: .75rem;--spacing-16: 1rem;--spacing-20: 1.25rem;--spacing-24: 1.5rem;--spacing-32: 2rem;--spacing-40: 2.5rem;--spacing-48: 3rem;--spacing-64: 4rem;--border-radius-sm: 4px;--border-radius-md: 6px;--border-radius-lg: 10px;--border-radius-xl: 15px;--border-radius-pill: 999px;--border-width: 1px;--border-width-thick: 2px;--border-width-thin: .5px;--sidebar-width: 220px;--site-header-height: 3.5rem;--content-max-width: 860px;--transition-fast: .12s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.4;--line-height-base: 1.5;--line-height-relaxed: 2}:root{--btb-green-700: #3e7a4c;--btb-green-500: #5b8c6e;--btb-green-100: #dfe8d9;--btb-blue-100: #dcecf8;--btb-lilac-100: #eee7f4;--btb-yellow-100: #f8f5ca;--btb-blush-100: #f7e3ea;--btb-orange-100: #fdeee0;--btb-cream-50: #fffaf2;--btb-cream-100: #f7f3ea;--btb-parchment-200: #ebe5d7;--btb-ink-900: #2f2c28;--btb-ink-700: #615b54;--btb-border: #d8d0c4;--colour-brand: var(--btb-green-700);--colour-brand-soft: var(--btb-green-100);--colour-action: var(--btb-green-700);--colour-action-light: color-mix( in srgb, var(--colour-action) 60%, white );--colour-action-lighter: color-mix( in srgb, var(--colour-action) 30%, white );--colour-action-strong: color-mix( in srgb, var(--colour-action) 60%, black );--colour-action-hover: color-mix( in srgb, var(--btb-green-700) 86%, black );--colour-project: var(--btb-blue-100);--colour-project-soft: color-mix( in srgb, var(--btb-blue-100) 55%, white );--surface-page: var(--btb-cream-100);--surface-card: var(--btb-cream-50);--surface-panel: var(--btb-cream-50);--surface-project: var(--btb-blue-100);--surface-note: var(--btb-yellow-100);--surface-reward: var(--btb-orange-100);--surface-blush: var(--btb-blush-100);--surface-magic: var(--btb-lilac-100);--colour-bg: #f7f3ea;--colour-surface: #fffaf2;--colour-surface-soft: #faf4eb;--colour-surface-warm: #ebe5d7;--colour-surface-muted: #f5f1ea;--colour-text: #2f2c28db;--colour-text-light: #615b54;--colour-muted: #504f4f;--colour-muted-light: #8a8989;--colour-border: #d8d0c4;--child-paper-texture: url(/assets/paper-texture-D_-gisoZ.png);--child-paper-holes: url(/assets/paper-holes-BMCfd0G8.png);--child-post-it: url(/assets/post-it-ttNBXYrq.png);--colour-success: #5b8c6e;--colour-success-light: color-mix( in srgb, var(--colour-success) 60%, white );--colour-success-lighter: color-mix( in srgb, var(--colour-success) 30%, white );--colour-success-dark: color-mix(in srgb, var(--colour-success) 80%, black);--colour-success-darker: color-mix( in srgb, var(--colour-success) 60%, black );--colour-success-soft: color-mix(in srgb, var(--colour-success) 20%, white);--colour-success-bright: #68d592;--colour-warning: #c9a15f;--colour-warning-light: color-mix( in srgb, var(--colour-warning) 60%, white );--colour-warning-lighter: color-mix( in srgb, var(--colour-warning) 30%, white );--colour-warning-dark: color-mix(in srgb, var(--colour-warning) 80%, black);--colour-warning-darker: color-mix( in srgb, var(--colour-warning) 60%, black );--colour-warning-soft: #fdf5e6;--colour-warning-bright: color-mix( in srgb, var(--colour-warning) 120%, white );--colour-warning-border: #e8d5b0;--colour-danger: #a94442;--colour-danger-light: color-mix(in srgb, var(--colour-danger) 60%, white);--colour-danger-lighter: color-mix( in srgb, var(--colour-danger) 30%, white );--colour-danger-dark: color-mix(in srgb, var(--colour-danger) 80%, black);--colour-danger-darker: color-mix(in srgb, var(--colour-danger) 60%, black);--colour-danger-soft: color-mix(in srgb, var(--colour-danger) 20%, white);--colour-danger-bright: color-mix( in srgb, var(--colour-danger) 120%, white );--colour-info: #e8e7e7;--colour-info-light: color-mix(in srgb, var(--colour-info) 60%, white);--colour-info-lighter: color-mix(in srgb, var(--colour-info) 30%, white);--colour-info-dark: color-mix(in srgb, var(--colour-info) 80%, black);--colour-info-darker: color-mix(in srgb, var(--colour-info) 60%, black);--colour-info-soft: color-mix(in srgb, var(--colour-info) 20%, white);--colour-info-bright: color-mix(in srgb, var(--colour-info) 120%, white);--colour-status-scheduled: var(--colour-surface-warm);--colour-status-pending: var(--colour-warning);--colour-status-approved: var(--colour-success);--colour-state-selected: var(--colour-action-hover);--colour-state-selected-bg: var(--colour-action-lighter);--colour-state-selected-border: var(--colour-action);--colour-state-today: var(--colour-success);--colour-state-today-bg: color-mix( in srgb, var(--colour-success-bright) 15%, var(--colour-surface) );--colour-state-today-border: var(--colour-success-bright);--colour-state-hover-bg: color-mix( in srgb, var(--surface-note) 10%, var(--colour-surface) );--colour-state-today-selected-bg: var(--colour-info);--colour-state-today-selected-border: var(--colour-action-hover);--colour-state-today-selected-shadow: color-mix( in srgb, var(--colour-action) 20%, white )}.u-sticky-top{position:sticky;top:0}.u-sticky-bottom{position:sticky;bottom:0}.u-opacity{transition:opacity var(--transition-base)}.u-opacity-0{opacity:0}.u-opacity-1{opacity:.01}.u-opacity-2{opacity:.02}.u-opacity-3{opacity:.03}.u-opacity-4{opacity:.04}.u-opacity-5{opacity:.05}.u-opacity-6{opacity:.06}.u-opacity-7{opacity:.07}.u-opacity-8{opacity:.08}.u-opacity-9{opacity:.09}.u-opacity-10{opacity:.1}.u-opacity-11{opacity:.11}.u-opacity-12{opacity:.12}.u-opacity-13{opacity:.13}.u-opacity-14{opacity:.14}.u-opacity-15{opacity:.15}.u-opacity-16{opacity:.16}.u-opacity-17{opacity:.17}.u-opacity-18{opacity:.18}.u-opacity-19{opacity:.19}.u-opacity-20{opacity:.2}.u-opacity-21{opacity:.21}.u-opacity-22{opacity:.22}.u-opacity-23{opacity:.23}.u-opacity-24{opacity:.24}.u-opacity-25{opacity:.25}.u-opacity-26{opacity:.26}.u-opacity-27{opacity:.27}.u-opacity-28{opacity:.28}.u-opacity-29{opacity:.29}.u-opacity-30{opacity:.3}.u-opacity-31{opacity:.31}.u-opacity-32{opacity:.32}.u-opacity-33{opacity:.33}.u-opacity-34{opacity:.34}.u-opacity-35{opacity:.35}.u-opacity-36{opacity:.36}.u-opacity-37{opacity:.37}.u-opacity-38{opacity:.38}.u-opacity-39{opacity:.39}.u-opacity-40{opacity:.4}.u-opacity-41{opacity:.41}.u-opacity-42{opacity:.42}.u-opacity-43{opacity:.43}.u-opacity-44{opacity:.44}.u-opacity-45{opacity:.45}.u-opacity-46{opacity:.46}.u-opacity-47{opacity:.47}.u-opacity-48{opacity:.48}.u-opacity-49{opacity:.49}.u-opacity-50{opacity:.5}.u-opacity-51{opacity:.51}.u-opacity-52{opacity:.52}.u-opacity-53{opacity:.53}.u-opacity-54{opacity:.54}.u-opacity-55{opacity:.55}.u-opacity-56{opacity:.56}.u-opacity-57{opacity:.57}.u-opacity-58{opacity:.58}.u-opacity-59{opacity:.59}.u-opacity-60{opacity:.6}.u-opacity-61{opacity:.61}.u-opacity-62{opacity:.62}.u-opacity-63{opacity:.63}.u-opacity-64{opacity:.64}.u-opacity-65{opacity:.65}.u-opacity-66{opacity:.66}.u-opacity-67{opacity:.67}.u-opacity-68{opacity:.68}.u-opacity-69{opacity:.69}.u-opacity-70{opacity:.7}.u-opacity-71{opacity:.71}.u-opacity-72{opacity:.72}.u-opacity-73{opacity:.73}.u-opacity-74{opacity:.74}.u-opacity-75{opacity:.75}.u-opacity-76{opacity:.76}.u-opacity-77{opacity:.77}.u-opacity-78{opacity:.78}.u-opacity-79{opacity:.79}.u-opacity-80{opacity:.8}.u-opacity-81{opacity:.81}.u-opacity-82{opacity:.82}.u-opacity-83{opacity:.83}.u-opacity-84{opacity:.84}.u-opacity-85{opacity:.85}.u-opacity-86{opacity:.86}.u-opacity-87{opacity:.87}.u-opacity-88{opacity:.88}.u-opacity-89{opacity:.89}.u-opacity-90{opacity:.9}.u-opacity-91{opacity:.91}.u-opacity-92{opacity:.92}.u-opacity-93{opacity:.93}.u-opacity-94{opacity:.94}.u-opacity-95{opacity:.95}.u-opacity-96{opacity:.96}.u-opacity-97{opacity:.97}.u-opacity-98{opacity:.98}.u-opacity-99{opacity:.99}.u-opacity-100{opacity:1}.u-bg--bg{background-color:var(--surface-page)}.u-text--bg{color:var(--surface-page)}.u-svg--bg svg path{fill:var(--surface-page)}.u-bg--surface{background-color:var(--surface-card)}.u-text--surface{color:var(--surface-card)}.u-svg--surface svg path{fill:var(--surface-card)}.u-bg--surface-soft{background-color:var(--colour-surface-soft)}.u-text--surface-soft{color:var(--colour-surface-soft)}.u-svg--surface-soft svg path{fill:var(--colour-surface-soft)}.u-bg--surface-warm{background-color:var(--colour-surface-warm)}.u-text--surface-warm{color:var(--colour-surface-warm)}.u-svg--surface-warm svg path{fill:var(--colour-surface-warm)}.u-bg--panel{background-color:var(--surface-panel)}.u-text--panel{color:var(--surface-panel)}.u-svg--panel svg path{fill:var(--surface-panel)}.u-bg--text{background-color:var(--colour-text)}.u-text--text{color:var(--colour-text)}.u-svg--text svg path{fill:var(--colour-text)}.u-bg--text-light{background-color:var(--colour-text-light)}.u-text--text-light{color:var(--colour-text-light)}.u-svg--text-light svg path{fill:var(--colour-text-light)}.u-bg--muted{background-color:var(--colour-muted)}.u-text--muted{color:var(--colour-muted)}.u-svg--muted svg path{fill:var(--colour-muted)}.u-bg--muted-light{background-color:var(--colour-muted-light)}.u-text--muted-light{color:var(--colour-muted-light)}.u-svg--muted-light svg path{fill:var(--colour-muted-light)}.u-bg--border{background-color:var(--colour-border)}.u-text--border{color:var(--colour-border)}.u-svg--border svg path{fill:var(--colour-border)}.u-bg--brand{background-color:var(--colour-brand)}.u-text--brand{color:var(--colour-brand)}.u-svg--brand svg path{fill:var(--colour-brand)}.u-bg--brand-soft{background-color:var(--colour-brand-soft)}.u-text--brand-soft{color:var(--colour-brand-soft)}.u-svg--brand-soft svg path{fill:var(--colour-brand-soft)}.u-bg--action{background-color:var(--colour-action)}.u-text--action{color:var(--colour-action)}.u-svg--action svg path{fill:var(--colour-action)}.u-bg--action-hover{background-color:var(--colour-action-hover)}.u-text--action-hover{color:var(--colour-action-hover)}.u-svg--action-hover svg path{fill:var(--colour-action-hover)}.u-bg--action-light{background-color:var(--colour-action-light)}.u-text--action-light{color:var(--colour-action-light)}.u-svg--action-light svg path{fill:var(--colour-action-light)}.u-bg--project{background-color:var(--surface-project)}.u-text--project{color:var(--surface-project)}.u-svg--project svg path{fill:var(--surface-project)}.u-bg--note{background-color:var(--surface-note)}.u-text--note{color:var(--surface-note)}.u-svg--note svg path{fill:var(--surface-note)}.u-bg--reward{background-color:var(--surface-reward)}.u-text--reward{color:var(--surface-reward)}.u-svg--reward svg path{fill:var(--surface-reward)}.u-bg--magic{background-color:var(--surface-magic)}.u-text--magic{color:var(--surface-magic)}.u-svg--magic svg path{fill:var(--surface-magic)}.u-bg--danger{background-color:var(--colour-danger)}.u-text--danger{color:var(--colour-danger)}.u-svg--danger svg path{fill:var(--colour-danger)}.u-bg--warning{background-color:var(--colour-warning)}.u-text--warning{color:var(--colour-warning)}.u-svg--warning svg path{fill:var(--colour-warning)}.u-bg--warning-soft{background-color:var(--colour-warning-soft)}.u-text--warning-soft{color:var(--colour-warning-soft)}.u-svg--warning-soft svg path{fill:var(--colour-warning-soft)}.u-bg--warning-border{background-color:var(--colour-warning-border)}.u-text--warning-border{color:var(--colour-warning-border)}.u-svg--warning-border svg path{fill:var(--colour-warning-border)}.u-bg--status-scheduled{background-color:var(--colour-status-scheduled)}.u-text--status-scheduled{color:var(--colour-status-scheduled)}.u-svg--status-scheduled svg path{fill:var(--colour-status-scheduled)}.u-bg--status-pending{background-color:var(--colour-status-pending)}.u-text--status-pending{color:var(--colour-status-pending)}.u-svg--status-pending svg path{fill:var(--colour-status-pending)}.u-bg--status-approved{background-color:var(--colour-status-approved)}.u-text--status-approved{color:var(--colour-status-approved)}.u-svg--status-approved svg path{fill:var(--colour-status-approved)}.u-bg--accent{background-color:var(--colour-action)}.u-text--accent{color:var(--colour-action)}.u-svg--accent svg path{fill:var(--colour-action)}.u-bg--accent-dark{background-color:var(--colour-action-hover)}.u-text--accent-dark{color:var(--colour-action-hover)}.u-svg--accent-dark svg path{fill:var(--colour-action-hover)}.u-bg--accent-light{background-color:var(--colour-action-light)}.u-text--accent-light{color:var(--colour-action-light)}.u-svg--accent-light svg path{fill:var(--colour-action-light)}.u-bg--accent-soft{background-color:var(--colour-brand-soft)}.u-text--accent-soft{color:var(--colour-brand-soft)}.u-svg--accent-soft svg path{fill:var(--colour-brand-soft)}@font-face{font-family:Begum;src:url(/assets/Begum-Light-tmxDZ76R.woff2) format("woff2"),url(/assets/Begum-Light-g9rpLs2L.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Begum;src:url(/assets/Begum-LightItalic-DTSdGGQM.woff2) format("woff2"),url(/assets/Begum-LightItalic-B6cyspQu.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Begum;src:url(/assets/Begum-Regular-DdNtl1bz.woff2) format("woff2"),url(/assets/Begum-Regular-CNu-WxXG.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Begum;src:url(/assets/Begum-RegularItalic-DNyQ6My4.woff2) format("woff2"),url(/assets/Begum-RegularItalic-B8WOZp41.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Begum;src:url(/assets/Begum-Medium-D82MtSHB.woff2) format("woff2"),url(/assets/Begum-Medium-QCL8OHyR.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Begum;src:url(/assets/Begum-MediumItalic-C4BlWesS.woff2) format("woff2"),url(/assets/Begum-MediumItalic-wVUER1V_.woff) format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Begum;src:url(/assets/Begum-Semibold-2ufdDKCr.woff2) format("woff2"),url(/assets/Begum-Semibold-MGnDdbNr.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Begum;src:url(../assets/fonts/Begum-SemiboldItalic.woff2) format("woff2"),url(../assets/fonts/Begum-SemiboldItalic.woff) format("woff");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Begum;src:url(/assets/Begum-Bold-CQ3xN3Iz.woff2) format("woff2"),url(/assets/Begum-Bold-QqTMpsuf.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Avenir;src:url(/assets/Avenir-Light-DX-vD8F1.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Avenir;src:url(/assets/Avenir-Regular-Bf7S_2kb.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Avenir;src:url(/assets/Avenir-Oblique-1qd8gzPY.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Avenir;src:url(/assets/Avenir-Medium-0V20fNac.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Avenir;src:url(/assets/Avenir-ExtraBold-CNdP9mBV.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-Lt-DvKuvvfL.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-LtItalic-Cd0AhWhI.otf) format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-Regular-DpsdIzwr.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-Italic-BLZHDsah.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-Md-COzKNYY8.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-MdItalic-BL_AMwWB.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-Bold-BvkTWgh9.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-BoldItalic-D3vSKf10.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-DBd-9WN4QpRq.otf) format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-DBdItalic-Bi1D_NEW.otf) format("opentype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-XBd-DhkYpPRb.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-XBdItalic-DxORlJQH.otf) format("opentype");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-Blk-ABKMZK3D.otf) format("opentype");font-weight:950;font-style:normal;font-display:swap}@font-face{font-family:"Berlingske Serif";src:url(/assets/BerlingskeSerif-BlkItalic-BG5Y97V2.otf) format("opentype");font-weight:950;font-style:italic;font-display:swap}@font-face{font-family:Rubik Dirt;src:url(/assets/RubikDirt-Regular-bI4qBh-X.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Playwrite GB S;src:url(/assets/PlaywriteGBS-VariableFont_wght-fwj3UHZv.ttf) format("truetype");font-optical-sizing:auto;font-weight:100 900;font-style:normal}@font-face{font-family:Playwrite GB S,cursive;src:url(/assets/PlaywriteGBS-Italic-VariableFont_wght-BLxPkL4E.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--colour-text);background-color:var(--colour-bg)}h1,h2,h3,h4{font-family:var(--font-family-serif);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}p{line-height:var(--line-height-tight)}a{color:var(--colour-action);text-decoration:none}small{font-size:var(--font-size-sm);color:var(--colour-muted)}.text--bold{font-weight:var(--font-weight-bold)}.text--medium{font-weight:var(--font-weight-medium)}.text--light{font-weight:var(--font-weight-light)}.text--regular{font-weight:var(--font-weight-regular)}.text--xs{font-size:var(--font-size-xs)}.text--sm{font-size:var(--font-size-sm)}.text--base{font-size:var(--font-size-base)}.text--md{font-size:var(--font-size-md)}.text--lg{font-size:var(--font-size-lg)}.text--xl{font-size:var(--font-size-xl)}.text--2xl{font-size:var(--font-size-2xl)}.text--muted{color:var(--colour-muted)}.text--muted-light{color:var(--colour-muted-light)}.text--accent{color:var(--colour-action)}.text--danger{color:var(--colour-danger)}.text--capitalise{text-transform:capitalize}.text--uppercase{text-transform:uppercase}.text--sans{font-family:var(--font-family-sans)}.text--hand{font-family:var(--font-family-hand)}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.o-container{width:100%;max-width:var(--content-max-width);margin-inline:auto;padding-inline:var(--spacing-24)}.o-stack{display:flex;flex-direction:column;gap:var(--spacing-16)}.o-stack--sm{gap:var(--spacing-8)}.o-stack--lg{gap:var(--spacing-24)}.o-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-12)}.l-app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--site-header-height) minmax(0,1fr);grid-template-areas:"sidebar header" "sidebar main";height:100dvh;overflow:auto;transition:all var(--transition-base)}.l-app--sidebar-collapsed{grid-template-columns:4.5rem minmax(0,1fr)}.l-app--mobile{display:block}.l-app--sidebar-mobile-open .l-main__content{pointer-events:none;overflow:hidden;filter:blur(2px)}.l-main{grid-area:main;min-width:0;min-height:0;overflow:hidden}.l-main__content{height:100%;min-width:0;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-16);transition:filter var(--transition-base)}@media(min-width:640px){.l-main__content{padding:var(--spacing-20)}}@media(min-width:768px){.l-main__content{padding:var(--spacing-24) var(--spacing-48)}}@media(min-width:1024px){.l-main__content{padding:var(--spacing-32) var(--spacing-64)}}.content-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--spacing-16);min-width:0;position:relative}@media(min-width:768px){.content-layout{grid-template-columns:auto minmax(0,1fr) 4rem;gap:var(--spacing-16)}}.content-layout--double{grid-template-columns:minmax(0,1fr)}@media(min-width:768px){.content-layout--double{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) 8rem}}.content-layout--center,.content-layout--left,.content-layout--right{grid-column:1/-1}@media(min-width:1625px){.content-layout--center{grid-column:2/span 1}.content-layout--left{grid-column:1/span 1}.content-layout--right{grid-column:3/span 1}}.grid{display:grid;min-width:0}.flex{display:flex;min-width:0}.inline-flex{display:inline-flex}.grid--cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid--auto-fit{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.grid--auto-fill{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.flex--row{flex-direction:row}.flex--col{flex-direction:column}.flex--wrap{flex-wrap:wrap}.flex--nowrap{flex-wrap:nowrap}.flex--items-start{align-items:flex-start}.flex--items-center{align-items:center}.flex--items-end{align-items:flex-end}.flex--items-stretch{align-items:stretch}.flex--justify-start{justify-content:flex-start}.flex--justify-center{justify-content:center}.flex--justify-end{justify-content:flex-end}.flex--justify-between{justify-content:space-between}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-self-start{justify-self:flex-start}.justify-self-end{justify-self:flex-end}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.gap--0{gap:0}.gap--2{gap:var(--spacing-2)}.gap--4{gap:var(--spacing-4)}.gap--6{gap:var(--spacing-6)}.gap--8{gap:var(--spacing-8)}.gap--12{gap:var(--spacing-12)}.gap--16{gap:var(--spacing-16)}.gap--20{gap:var(--spacing-20)}.gap--24{gap:var(--spacing-24)}.gap--32{gap:var(--spacing-32)}.gap--40{gap:var(--spacing-40)}.gap--48{gap:var(--spacing-48)}.gap--64{gap:var(--spacing-64)}.gap-x--16{column-gap:var(--spacing-16)}.gap-y--16{row-gap:var(--spacing-16)}.gap-x--24{column-gap:var(--spacing-24)}.gap-y--24{row-gap:var(--spacing-24)}.w-full{width:100%}.w-third{width:33.3333333333%}.w-thirds{width:66.6666666667%}.w-half{width:50%}.w-fit{width:fit-content}.min-w-0{min-width:0}@media(min-width:640px){.sm\:grid--cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex--row{flex-direction:row}.sm\:flex--col{flex-direction:column}.sm\:flex--items-center{align-items:center}.sm\:flex--justify-between{justify-content:space-between}}@media(min-width:768px){.md\:grid--cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:flex--row{flex-direction:row}.md\:flex--col{flex-direction:column}.md\:flex--items-center{align-items:center}.md\:flex--justify-between{justify-content:space-between}}@media(min-width:1024px){.lg\:grid--cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid--cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid--cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:flex--row{flex-direction:row}.lg\:flex--col{flex-direction:column}.lg\:flex--items-center{align-items:center}.lg\:flex--justify-between{justify-content:space-between}}@media(min-width:1280px){.xl\:grid--cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.col--auto{grid-column:auto}.col--span-1{grid-column:span 1/span 1}.col--span-2{grid-column:span 2/span 2}.col--span-3{grid-column:span 3/span 3}.col--span-4{grid-column:span 4/span 4}.col--span-5{grid-column:span 5/span 5}.col--span-6{grid-column:span 6/span 6}.col--full{grid-column:1/-1}.col--start-1{grid-column-start:1}.col--start-2{grid-column-start:2}.col--start-3{grid-column-start:3}.col--start-4{grid-column-start:4}.col--start-5{grid-column-start:5}.col--start-6{grid-column-start:6}.col--end-2{grid-column-end:2}.col--end-3{grid-column-end:3}.col--end-4{grid-column-end:4}.col--end-5{grid-column-end:5}.col--end-6{grid-column-end:6}.col--end-7{grid-column-end:7}.row--auto{grid-row:auto}.row--span-1{grid-row:span 1/span 1}.row--span-2{grid-row:span 2/span 2}.row--span-3{grid-row:span 3/span 3}.row--span-4{grid-row:span 4/span 4}.row--full{grid-row:1/-1}.row--start-1{grid-row-start:1}.row--start-2{grid-row-start:2}.row--start-3{grid-row-start:3}.row--start-4{grid-row-start:4}.row--end-2{grid-row-end:2}.row--end-3{grid-row-end:3}.row--end-4{grid-row-end:4}.row--end-5{grid-row-end:5}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-8);white-space:pre;padding:var(--spacing-8) var(--spacing-16);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);border:var(--border-width) solid transparent;background-color:transparent;color:var(--colour-text);cursor:pointer;text-decoration:none;transition:opacity var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.button:focus-visible{outline:2px solid var(--colour-action);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.button__group,.button__wrapper{display:flex;transition:opacity var(--transition-fast)}.button--solid{border:var(--border-width) solid transparent}.button--solid--neutral{background-color:var(--colour-surface);border-color:var(--colour-border);color:var(--colour-text)}.button--solid--neutral:hover{background-color:var(--colour-bg)}.button--solid--action{background-color:var(--colour-action);border-color:var(--colour-action);color:var(--colour-surface)}.button--solid--action:hover{background-color:color-mix(in srgb,var(--colour-action),black 8%)}.button--solid--action--rich{background-color:color-mix(in srgb,var(--colour-action),black 4%);border-color:color-mix(in srgb,var(--colour-action),black 12%);box-shadow:0 1px 2px #0000001a}.button--solid--action--rich:hover{background-color:color-mix(in srgb,var(--colour-action),black 12%);box-shadow:0 2px 4px #00000026}.button--solid--danger{background-color:var(--colour-danger);border-color:var(--colour-danger);color:var(--colour-surface)}.button--solid--danger:hover{background-color:color-mix(in srgb,var(--colour-danger),black 12%)}.button--solid--success{background-color:var(--colour-success-bright);border-color:var(--colour-success-bright);color:var(--colour-text)}.button--solid--success:hover{background-color:color-mix(in srgb,var(--colour-success-bright),black 8%)}.button--solid--warning{background-color:var(--surface-reward);border-color:var(--surface-reward);color:var(--colour-text)}.button--solid--warning:hover{background-color:color-mix(in srgb,var(--surface-reward),black 8%)}.button--solid--magic{background-color:var(--surface-magic);border-color:var(--surface-magic);color:var(--colour-text)}.button--solid--magic:hover{background-color:color-mix(in srgb,var(--surface-magic),black 6%)}.button--outline--neutral{background-color:var(--colour-surface);border-color:var(--colour-border);color:var(--colour-text)}.button--outline--neutral:hover{background-color:var(--colour-bg);border-color:var(--colour-muted)}.button--outline--action{background-color:transparent;border-color:var(--colour-action);color:var(--colour-action)}.button--outline--action:hover{background-color:color-mix(in srgb,var(--colour-brand-soft) 30%,transparent)}.button--outline--danger{background-color:transparent;border-color:var(--colour-danger);color:var(--colour-danger)}.button--outline--danger:hover{background-color:color-mix(in srgb,var(--colour-danger) 8%,transparent)}.button--outline--warning{background-color:transparent;border-color:var(--surface-reward);color:var(--colour-text)}.button--outline--warning:hover{background-color:color-mix(in srgb,var(--surface-reward) 20%,transparent)}.button--outline--success{background-color:transparent;border-color:var(--colour-success-bright);color:var(--colour-action)}.button--outline--success:hover{background-color:color-mix(in srgb,var(--colour-success-bright) 15%,transparent)}.button--ghost--neutral{background-color:color-mix(in srgb,var(--colour-border) 20%,transparent);border-color:color-mix(in srgb,var(--colour-border) 40%,transparent);color:var(--colour-text)}.button--ghost--neutral:hover{background-color:color-mix(in srgb,var(--colour-border) 35%,transparent)}.button--ghost--action{background-color:color-mix(in srgb,var(--colour-brand-soft) 30%,transparent);border-color:color-mix(in srgb,var(--colour-brand-soft) 60%,transparent);color:var(--colour-action)}.button--ghost--action:hover{background-color:color-mix(in srgb,var(--colour-brand-soft) 45%,transparent)}.button--ghost--danger{background-color:color-mix(in srgb,var(--colour-danger) 12%,transparent);border-color:color-mix(in srgb,var(--colour-danger) 30%,transparent);color:var(--colour-danger)}.button--ghost--danger:hover{background-color:color-mix(in srgb,var(--colour-danger) 20%,transparent)}.button--ghost--success{background-color:color-mix(in srgb,var(--colour-success-bright) 15%,transparent);border-color:color-mix(in srgb,var(--colour-success-bright) 35%,transparent);color:var(--colour-action)}.button--ghost--success:hover{background-color:color-mix(in srgb,var(--colour-success-bright) 25%,transparent)}.button--plain{border:none;background-color:transparent}.button--plain--neutral{color:var(--colour-text)}.button--plain--neutral:hover{background-color:color-mix(in srgb,var(--colour-border) 15%,transparent)}.button--plain--action{color:var(--colour-action)}.button--plain--action:hover{background-color:color-mix(in srgb,var(--colour-brand-soft) 20%,transparent)}.button--plain--danger{color:var(--colour-danger)}.button--plain--danger:hover{background-color:color-mix(in srgb,var(--colour-danger) 8%,transparent)}.button--plain--warning{color:var(--colour-text)}.button--plain--warning:hover{background-color:color-mix(in srgb,var(--surface-reward) 15%,transparent)}.button--sm{padding:var(--spacing-4) var(--spacing-12);font-size:var(--font-size-xs)}.button--md{padding:var(--spacing-8) var(--spacing-16);font-size:var(--font-size-sm)}.button--lg{padding:var(--spacing-16) var(--spacing-24);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.button--padding-default{padding:var(--spacing-8) var(--spacing-16)}.button--padding-none{padding:0}.button--padding-xs{padding:var(--spacing-2) var(--spacing-4)}.button--padding-sm{padding:var(--spacing-4) var(--spacing-8)}.button--padding-lg{padding:var(--spacing-12) var(--spacing-24)}.button--shape-pill{border-radius:var(--border-radius-pill);padding-left:var(--spacing-20);padding-right:var(--spacing-20)}.button--shape-icon{padding:var(--spacing-8);width:2.25rem;height:2.25rem;border-radius:var(--border-radius-md)}.button--shape-icon.button--sm{padding:var(--spacing-4);width:1.75rem;height:1.75rem}.button--shape-icon.button--lg{padding:var(--spacing-12);width:3rem;height:3rem}.button--no-border{border:none}.button--no-padding{padding:0}.button--bold{font-weight:var(--font-weight-bold)}.button--pill{border-radius:var(--border-radius-pill);padding-left:var(--spacing-20);padding-right:var(--spacing-20)}.input{width:100%;padding:var(--spacing-8) var(--spacing-12);font-size:var(--font-size-sm);border:none;border-radius:var(--border-radius-sm);background-color:var(--colour-surface);color:var(--colour-text);transition:border-color var(--transition-fast);box-shadow:0 0 0 3px color-mix(in srgb,var(--colour-action-light) 20%,transparent)}.input::placeholder{color:var(--colour-muted);opacity:.5;transition:opacity var(--transition-fast)}.input:focus{outline:none;border-color:var(--colour-action-light);box-shadow:0 0 0 3px var(--colour-action-light)}.input--line input,.input--line select,.input--line option,.input--line textarea{background-color:var(--colour-surface);border-radius:var(--border-radius-sm)}.input__label{display:block;font-size:var(--font-size-sm);color:var(--colour-text-light);margin-bottom:var(--spacing-4)}.input__label--sm{font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.input__label--lg{font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:700;line-height:1.5;margin-bottom:var(--spacing-8)}.input__label--action{display:flex;justify-content:space-between}.input__wrapper{display:flex;flex-direction:column}.input__wrapper--full{width:100%}.input__wrapper--half{width:50%}.input__wrapper--third{width:33.333%}.input__wrapper--thirds{width:66.666%}.input__wrapper--sm input,.input__wrapper--sm select{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-xs)}.input__wrapper--lg input,.input__wrapper--lg select{height:var(--spacing-48);font-size:var(--font-size-base)}.input__wrapper--lg .input__label{font-size:var(--font-size-base)}.input__colour-picker{border-radius:1000px;width:2rem;margin-bottom:4px}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.textarea{width:100%;padding:var(--spacing-8) var(--spacing-12);font-size:var(--font-size-sm);border:none;border-radius:var(--border-radius-sm);background-color:var(--colour-surface);color:var(--colour-text);transition:border-color var(--transition-fast);box-shadow:0 0 0 3px color-mix(in srgb,var(--colour-action-light) 20%,transparent)}.textarea::placeholder{color:var(--colour-muted);opacity:.5;transition:opacity var(--transition-fast)}.textarea:focus{outline:none;border-color:var(--colour-action-light);box-shadow:0 0 0 3px var(--colour-action-light)}.textarea{resize:vertical;min-height:5rem;padding:var(--spacing-8)}.textarea--no-border{border:none}.textarea--sm{font-size:var(--font-size-xs)}.textarea--md{font-size:var(--font-size-sm)}.textarea--lg{font-size:var(--font-size-base)}.panel{background-color:var(--surface-card);border:var(--border-width) solid var(--colour-border);border-radius:var(--border-radius-lg);padding:var(--spacing-24)}.panel__heading{margin:0 0 var(--spacing-16);color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.panel--soft{border-color:color-mix(in srgb,var(--colour-border) 72%,transparent);background-color:var(--surface-card);box-shadow:none}.panel--project{border-color:color-mix(in srgb,var(--colour-border) 84%,var(--surface-project) 16%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-project) 18%,var(--surface-card)) 0%,var(--surface-card) 78%)}.panel--note{border-color:color-mix(in srgb,var(--colour-border) 84%,var(--surface-note) 16%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-note) 26%,var(--surface-card)) 0%,var(--surface-card) 82%)}.panel--magic{border-color:color-mix(in srgb,var(--colour-border) 84%,var(--surface-magic) 16%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-magic) 26%,var(--surface-card)) 0%,var(--surface-card) 82%)}.panel--flat{border-color:transparent;background-color:transparent;box-shadow:none}.panel--accent{border-color:color-mix(in srgb,var(--colour-action) 28%,var(--colour-border));background-color:color-mix(in srgb,var(--colour-brand-soft) 42%,var(--surface-card))}.panel--info{border-color:color-mix(in srgb,var(--colour-border) 84%,var(--surface-note) 16%);background-color:color-mix(in srgb,var(--colour-muted-light) 20%,white);color:var(--colour-text)}.panel--success{border:none;background-color:color-mix(in srgb,var(--colour-brand-soft) 42%,var(--surface-card));color:var(--colour-text)}.panel--warning{border-color:color-mix(in srgb,var(--colour-warning) 28%,var(--colour-border));background-color:color-mix(in srgb,var(--colour-warning-soft) 46%,var(--surface-card))}.panel--error{border-color:color-mix(in srgb,var(--colour-danger) 34%,var(--colour-border));background-color:color-mix(in srgb,var(--colour-danger-soft) 42%,var(--surface-card))}.panel--celebrate{border:none;background-color:color-mix(in srgb,var(--colour-reward-soft) 30%,var(--surface-card));color:var(--colour-text)}.panel--paper{border:none;background-color:transparent;background-image:var(--child-paper-holes);background-repeat:no-repeat;background-size:contain}.panel--draw{position:fixed;right:0;bottom:0;z-index:99;width:90vw;height:calc(100vh - var(--site-header-height) + 1px);overflow:auto;border-radius:0;background-color:color-mix(in srgb,var(--surface-panel) 88%,var(--surface-note) 12%);box-shadow:var(--box-shadow-3);opacity:0;transform:translate(100%);transition:transform var(--transition-slow),opacity var(--transition-slow);will-change:transform,opacity}@media(min-width:768px){.panel--draw{width:33vw;transform:translate(33vw)}}.panel--draw--collapsed{opacity:0;pointer-events:none}@media(min-width:768px){.panel--draw--collapsed{transform:translate(33vw)}}.panel--draw--expanded{opacity:1;transform:translate(0);pointer-events:auto}.panel--no-padding{padding:0}.panel--sm{padding:var(--spacing-16)}.panel--md{padding:var(--spacing-24)}.panel--lg{padding:var(--spacing-32)}.panel--none{border:none}.panel--thin{border-width:var(--border-width-thin)}.panel--thick{border-width:var(--border-width-thick)}.panel--shadow{box-shadow:var(--box-shadow-1)}.panel--default--rich{border-color:color-mix(in srgb,var(--colour-border) 68%,var(--colour-brand-soft) 32%);background:color-mix(in srgb,var(--surface-card) 70%,var(--colour-brand-soft) 30%)}.panel--note--rich{border-color:color-mix(in srgb,var(--colour-border) 54%,var(--surface-note) 46%);background:color-mix(in srgb,var(--surface-note) 96%,var(--surface-card) 4%)}.panel--magic--rich{border-color:color-mix(in srgb,var(--colour-border) 48%,var(--surface-magic) 52%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-magic) 78%,var(--surface-card)),color-mix(in srgb,var(--surface-magic) 34%,var(--surface-card)))}.panel--project--rich{border-color:color-mix(in srgb,var(--colour-border) 48%,var(--surface-project) 52%);background:linear-gradient(135deg,color-mix(in srgb,var(--surface-project) 78%,var(--surface-card)),color-mix(in srgb,var(--surface-project) 34%,var(--surface-card)))}.panel--soft--rich{border-color:color-mix(in srgb,var(--colour-border) 54%,var(--surface-panel) 46%);background:color-mix(in srgb,var(--surface-panel) 94%,var(--surface-card) 6%)}.panel--accent--rich{border-color:color-mix(in srgb,var(--colour-border) 48%,var(--colour-brand-soft) 52%);background:linear-gradient(135deg,color-mix(in srgb,var(--colour-brand-soft) 86%,var(--surface-card)),color-mix(in srgb,var(--colour-brand-soft) 38%,var(--surface-card)))}.spacer--sm{height:var(--spacing-16);min-height:var(--spacing-16)}.spacer--md{height:var(--spacing-32);min-height:var(--spacing-32)}.spacer--lg{height:var(--spacing-64);min-height:var(--spacing-64)}.status-pill{display:inline-flex;align-items:center;padding:var(--spacing-2) var(--spacing-8);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-pill);border:var(--border-width) solid var(--colour-border);color:var(--colour-muted);background-color:var(--colour-bg)}.status-pill--pending{color:var(--colour-warning);background-color:var(--colour-warning-soft);border-color:var(--colour-warning-border)}.status-pill--approved{color:var(--colour-action);background-color:var(--colour-brand-soft);border-color:color-mix(in srgb,var(--colour-brand-soft) 92%,transparent)}.status-pill--subject{background:color-mix(in srgb,var(--subject-colour) 10%,white);border:1px solid color-mix(in srgb,var(--subject-colour) 35%,transparent)}.status-pill--subject-dot{width:.45rem;height:.45rem;border-radius:999px;margin-right:var(--spacing-4);background:color-mix(in srgb,var(--subject-colour) 60%,white)}.status-pill--section{background:#4a70601a;color:var(--color-green, #477363);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-pill--draft{background:var(--colour-warning-soft);color:var(--colour-warning);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-pill--add{background:var(--colour-brand-soft);color:var(--colour-action);border-color:var(--colour-action);cursor:pointer}.status-pill--interactive{cursor:pointer;border:1px solid transparent;background:color-mix(in srgb,var(--subject-colour) 5%,white);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.status-pill--interactive:hover{border-color:color-mix(in srgb,var(--subject-colour) 25%,transparent)}.status-pill--selected{border-color:color-mix(in srgb,var(--subject-colour) 35%,transparent);box-shadow:0 0 0 1px var(--subject-colour, rgba(75, 70, 64, .28))}.subject-chip{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;border-radius:999px;padding:.22rem .6rem;font-size:.6rem;font-weight:500;text-transform:uppercase;line-height:1;color:var(--colour-text);background:color-mix(in srgb,var(--subject-colour) 10%,white);border:1px solid color-mix(in srgb,var(--subject-colour) 35%,transparent)}.subject-chip__dot{width:.45rem;height:.45rem;border-radius:999px;background:color-mix(in srgb,var(--subject-colour) 60%,white)}.toast-stack{position:fixed;right:var(--spacing-24);bottom:var(--spacing-24);z-index:1000;display:grid;gap:var(--spacing-12);width:min(22rem,100vw - 3rem);pointer-events:none}@media(max-width:42rem){.toast-stack{right:var(--spacing-16);bottom:var(--spacing-16);width:calc(100vw - 2rem)}}.toast{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-12) var(--spacing-16);border-radius:var(--border-radius-lg);border:var(--border-width) solid transparent;background:var(--colour-surface);box-shadow:var(--box-shadow-2);color:var(--colour-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.4;will-change:transform,opacity;pointer-events:auto}.toast--success{background:color-mix(in srgb,var(--colour-success-bright) 15%,var(--colour-surface));border-color:color-mix(in srgb,var(--colour-success-bright) 35%,transparent);color:var(--colour-action)}.toast--error{background:color-mix(in srgb,var(--colour-danger) 12%,var(--colour-surface));border-color:color-mix(in srgb,var(--colour-danger) 30%,transparent);color:var(--colour-danger)}.toast--info{background:var(--colour-surface);border-color:var(--colour-border);color:var(--colour-text)}.toast--warning{background:color-mix(in srgb,var(--surface-reward) 20%,var(--colour-surface));border-color:color-mix(in srgb,var(--surface-reward) 40%,transparent);color:var(--colour-text)}.toast--loading{background:color-mix(in srgb,var(--colour-brand-soft) 25%,var(--colour-surface));border-color:color-mix(in srgb,var(--colour-brand-soft) 45%,transparent);color:var(--colour-action)}.toast__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:currentColor}.toast__message{flex:1;min-width:0}.toast__action{flex-shrink:0;font-weight:var(--font-weight-semibold);text-decoration:underline;text-underline-offset:2px}.toast__action:hover{text-decoration:none}.toast__close{flex-shrink:0;opacity:.6;transition:opacity var(--transition-fast)}.toast__close:hover{opacity:1}.toast__spinner{animation:toast-spin 1s linear infinite}@keyframes toast-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.eyebrow{margin:0 0 var(--spacing-8);color:var(--colour-text-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);letter-spacing:.09em;line-height:1;text-transform:uppercase}.eyebrow--margin{margin-bottom:var(--spacing-32)}.progress-bar{width:100%;height:6px;background-color:var(--colour-brand-soft);border-radius:var(--border-radius-pill);overflow:hidden}.progress-bar__fill{height:100%;background-color:var(--colour-action);border-radius:var(--border-radius-pill);transition:width var(--transition-base)}.xp-badge{width:7rem;height:7rem;display:block}.xp-badge__shape{fill:color-mix(in srgb,var(--colour-success-bright) 45%,white)}.xp-badge__text,.xp-badge__xp-text{fill:var(--colour-text);font-family:var(--font-family-sans);font-weight:var(--font-weight-bold);line-height:1}.xp-badge__xp-text{font-size:calc(var(--font-size-2xl) * 3)}.xp-badge__text{font-size:calc(var(--font-size-2xl) * 4)}.xp-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colour-action);line-height:0;display:flex;white-space:nowrap;align-items:center}.xp-status svg{margin-right:var(--spacing-4)}.page-header{margin-bottom:var(--spacing-16)}.page-header__meta-content{display:flex;align-items:baseline;flex-direction:column}@media(min-width:768px){.page-header__meta-content{flex-direction:row}}.page-header__meta{display:flex;align-items:flex-start;gap:var(--spacing-12);grid-row:1}@media(min-width:768px){.page-header__meta{grid-row:1;grid-column:-1/1}}.page-header__icon{background-color:color-mix(in srgb,var(--colour-action-light) 33%,white);border-radius:7px;width:var(--spacing-40);height:var(--spacing-40);display:flex;align-items:center;justify-content:center;grid-column:1;grid-row:1}@media(max-width:768px){.page-header__icon{display:none}}@media(max-width:768px){.page-header__icon svg{width:var(--spacing-24);height:var(--spacing-24)}}.page-header__title{font-family:var(--font-family-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--colour-text);margin-right:var(--spacing-8);max-width:26ch;white-space:nowrap}@media screen and (min-width:768px){.page-header__title{font-size:var(--font-size-2xl);max-width:52rem}}.page-header__subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-light);color:var(--colour-muted)}@media(min-width:768px){.page-header__subtitle{font-size:var(--font-size-base)}}.page-header__week-range{justify-self:flex-end;grid-column:3;grid-row:1;align-self:flex-end}@media(min-width:768px){.page-header__week-range{display:none}}.page-header__week-range-date{font-size:var(--font-size-md)}@media(min-width:640px){.page-header__week-range-date{font-size:var(--font-size-lg)}}.page-header__status-container{display:flex;align-items:center;margin-top:var(--spacing-12)}.page-header__status-container .status-pill{margin-right:var(--spacing-8)}.page-header__status-container .status-pill:last-child{margin-right:0}@media screen and (min-width:768px){.page-header__status-container .xp-status{display:none}}.page-header__xp{align-self:flex-start;justify-self:flex-start;position:absolute;top:-1rem;right:2rem;transition:opacity var(--transition-base)}@media screen and (max-width:768px){.page-header__xp{position:absolute;top:-14px;right:-4px}.page-header__xp svg{width:4rem}}.page-header__xp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-sm);line-height:.8;font-weight:var(--font-weight-bold);color:var(--colour-action);text-align:center;display:inline-flex;flex-direction:column}@media screen and (min-width:768px){.page-header__xp-text{font-size:var(--font-size-lg)}}.page-header__xp-text__suffix{font-size:var(--font-size-xxs);font-weight:var(--font-weight-bold)}@media screen and (min-width:768px){.page-header__xp-text__suffix{font-size:var(--font-size-sm)}}.page-header__button{justify-self:flex-end;align-self:center}.page-header--task-detail .page-header__title{font-size:var(--font-size-xl)}.page-header .save-status-key{justify-self:flex-end}.task-card{--task-card-subject-colour: var(--colour-border);--task-card-tone-surface: color-mix( in srgb, var(--task-card-subject-colour) 16%, var(--surface-card) );--task-card-tone-surface-strong: color-mix( in srgb, var(--task-card-subject-colour) 24%, var(--surface-card) );--task-card-status-colour: var(--colour-action);display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;height:100%;min-height:10rem;border:var(--border-width) solid color-mix(in srgb,var(--task-card-subject-colour) 38%,var(--colour-border));border-radius:var(--border-radius-lg);background:var(--surface-card);box-shadow:0 1px color-mix(in srgb,var(--colour-border) 45%,transparent);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.task-card:hover{border-color:color-mix(in srgb,var(--task-card-subject-colour) 58%,var(--colour-action));box-shadow:var(--box-shadow-hover-low)}.task-card:hover .task-card__title-icon{opacity:1;transform:translate(0)}.task-card__body-link{display:grid;height:100%;color:inherit;text-decoration:none}.task-card__body{display:grid;align-content:start;gap:var(--spacing-16);min-height:7.25rem;padding:var(--spacing-16);background:radial-gradient(circle at top right,color-mix(in srgb,var(--task-card-subject-colour) 18%,transparent) 0,transparent 42%),linear-gradient(135deg,var(--task-card-tone-surface-strong) 0%,var(--task-card-tone-surface) 58%,color-mix(in srgb,var(--surface-card) 92%,white 8%) 100%)}.task-card__content{display:grid;align-content:start;gap:var(--spacing-8);min-width:0}.task-card__title{color:var(--colour-text);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);text-wrap:balance;flex:1;height:100%}.task-card__title-icon{margin-left:var(--spacing-4);opacity:0;transform:translate(-60%);vertical-align:middle;transition:opacity var(--transition-fast),transform var(--transition-fast)}.task-card__meta{color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.task-card .status-pill{justify-self:start;max-width:100%;background-color:color-mix(in srgb,var(--surface-card) 72%,transparent)}.task-card__status-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-6)}.task-card__status-bar{height:.32rem;border-radius:var(--border-radius-pill);background:color-mix(in srgb,var(--surface-card) 18%,var(--colour-border))}.task-card__status-bar--active{background:color-mix(in srgb,var(--task-card-subject-colour) 66%,var(--task-card-status-colour))}.task-card__actions{display:grid;gap:var(--spacing-8);padding:0 var(--spacing-16) var(--spacing-16);background:var(--task-card-tone-surface)}.task-card__status-pills{display:flex;gap:var(--spacing-8)}.task-card__footer{display:grid;grid-template-columns:auto minmax(2rem,1fr);align-items:center;gap:var(--spacing-12);min-height:2.8rem;padding:var(--spacing-8) var(--spacing-16);border-top:var(--border-width) solid color-mix(in srgb,var(--task-card-subject-colour) 22%,var(--colour-border));background:color-mix(in srgb,var(--surface-card) 97%,white 3%)}.task-card__edits{display:flex;justify-content:flex-end;min-width:0}.task-card__xp{display:inline-flex;align-items:center;gap:var(--spacing-4);color:var(--colour-action);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.task-card__xp svg{flex:0 0 auto}.task-card__evidence{margin-top:var(--spacing-8);padding-right:var(--spacing-40)}.task-card--tone-neutral{--task-card-tone-surface: color-mix( in srgb, var(--task-card-subject-colour) 16%, var(--surface-card) );--task-card-tone-surface-strong: color-mix( in srgb, var(--task-card-subject-colour) 24%, var(--surface-card) )}.task-card--tone-sky{--task-card-tone-surface: color-mix( in srgb, var(--surface-project) 72%, var(--surface-card) );--task-card-tone-surface-strong: var(--surface-project)}.task-card--tone-mint{--task-card-tone-surface: color-mix( in srgb, var(--colour-brand-soft) 72%, var(--surface-card) );--task-card-tone-surface-strong: var(--colour-brand-soft)}.task-card--tone-butter{--task-card-tone-surface: color-mix( in srgb, var(--surface-note) 76%, var(--surface-card) );--task-card-tone-surface-strong: var(--surface-note)}.task-card--tone-peach{--task-card-tone-surface: color-mix( in srgb, var(--surface-reward) 76%, var(--surface-card) );--task-card-tone-surface-strong: var(--surface-reward)}.task-card--tone-lilac{--task-card-tone-surface: color-mix( in srgb, var(--surface-magic) 76%, var(--surface-card) );--task-card-tone-surface-strong: var(--surface-magic)}.task-card--tone-blush{--task-card-tone-surface: color-mix( in srgb, var(--surface-blush, var(--surface-note)) 76%, var(--surface-card) );--task-card-tone-surface-strong: var( --surface-blush, var(--surface-note) )}.task-card--status-scheduled,.task-card--status-tone-neutral{--task-card-status-colour: var(--colour-status-scheduled)}.task-card--status-pending,.task-card--status-tone-pending{--task-card-status-colour: var(--colour-status-pending)}.task-card--status-approved,.task-card--status-tone-approved{--task-card-status-colour: var(--colour-status-approved)}.task-card--status-approved{opacity:.86}.task-card--status-approved .task-card__title{text-decoration:line-through;text-decoration-thickness:.08em}.task-card--dragging{border:2px solid color-mix(in srgb,var(--colour-success-bright) 40%,transparent);box-shadow:0 18px 36px #201a141f;transform:rotate(.3deg)}.task-card--compact{min-height:7.65rem}.task-card--compact .task-card__body{min-height:5.15rem;gap:var(--spacing-8);padding:var(--spacing-16)}.task-card--compact .task-card__content{gap:var(--spacing-6)}.task-card--compact .task-card__title{font-size:var(--font-size-sm)}.task-card--compact .task-card__meta{font-size:var(--font-size-xs)}.task-card--compact .task-card__status-bar{height:.2rem}.task-card--compact .task-card__footer{min-height:2.35rem;padding:var(--spacing-8) var(--spacing-16)}.task-card--compact .task-card__title-icon{display:none}.task-card--mini{min-height:auto}.task-card--mini .task-card__body{min-height:auto;padding:var(--spacing-12)}.task-card--mini .task-card__footer{min-height:2.1rem;padding:var(--spacing-8) var(--spacing-12)}.task-card--mini .task-card__title{font-size:var(--font-size-sm)}.task-card--empty{min-height:120px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-8);border:none;background:transparent;box-shadow:none;color:var(--colour-action);cursor:pointer;transition:all var(--transition-base)}.task-card--empty:hover{border:none;background:color-mix(in srgb,var(--colour-brand-soft) 80%,transparent);color:var(--colour-action);box-shadow:none;transform:none}.task-card--empty:hover svg{transition:transform var(--transition-base);transform:scale(1.15)}.completion-list{display:flex;flex-direction:column;gap:var(--spacing-16)}.completion-list__empty{font-size:var(--font-size-sm);color:var(--colour-muted);font-style:italic}.completion-list__item{display:flex;flex-direction:column;gap:var(--spacing-12);padding-bottom:var(--spacing-16);border-bottom:var(--border-width) solid var(--colour-border)}.completion-list__item:last-child{border-bottom:none;padding-bottom:0}.completion-list__primary{display:flex;flex-direction:column;gap:var(--spacing-8)}.completion-list__title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--colour-text)}.completion-list__block{display:flex;flex-direction:column;gap:var(--spacing-4)}.completion-list__block--approval{padding-left:var(--spacing-12);border-left:2px solid var(--colour-border)}.completion-list__label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--colour-muted)}.completion-list__text{margin:0;font-size:var(--font-size-sm);color:var(--colour-text)}.completion-list__text--approval{font-style:italic}.completion-list__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-8);font-size:var(--font-size-sm);color:var(--colour-muted)}.completion-list__meta-item{display:inline-flex;align-items:center}.completion-list__xp{color:var(--colour-action);font-weight:var(--font-weight-medium)}.completion-list__date{color:var(--colour-muted)}.completion-list__link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.completion-list__link:hover,.completion-list__link:focus-visible{border-bottom-color:currentColor}.site-header{grid-area:header;display:flex;align-items:center;height:var(--site-header-height);min-width:0;border-bottom:var(--border-width) solid var(--colour-border);background-color:var(--colour-surface);z-index:100;transform:translate(var(--sidebar-shift));transition:transform var(--transition-base)}.site-header__menu-button{height:100%;width:var(--site-header-height);border-radius:0;border-right:var(--border-width) solid var(--colour-border)}.site-header__subject-focus{margin-left:auto;margin-right:var(--spacing-16);min-width:200px;max-width:300px}.site-header__subtitle{margin-left:var(--spacing-16);color:var(--colour-muted);font-size:var(--font-size-sm)}.action-bar{background:color-mix(in srgb,var(--colour-success-bright) 40%,white);border-top:1px solid var(--color-border);padding:1rem;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-2);width:fit-content;z-index:9;transition:opacity var(--transition-base),transform var(--transition-base)}.action-bar--idle{opacity:0;transform:translateY(100%)}.action-bar--ready{opacity:1;transform:translateY(0)}.planner-drag-overlay{width:min(100%,28rem);pointer-events:none}.planner-draggable-card{width:100%}.planner-draggable-card--dragging{opacity:.2}[data-draggable=true]{cursor:grab;width:100%}[data-draggable=true]:active{cursor:grabbing}[data-draggable=true] .task-card{opacity:1!important}.taskcard.task-card--dragging{opacity:1!important;transform:rotate(.75deg) perspective(50px)!important;box-shadow:var(--box-shadow-5)!important;border:2px solid color-mix(in srgb,var(--colour-success-bright) 20%,white)!important}[data-dnd-kit-drag-overlay] .task-card{opacity:1!important;width:100%;box-shadow:var(--box-shadow-5);transform:rotate(.45deg);border:2px solid color-mix(in srgb,var(--colour-success-bright) 20%,white)!important}.project-card{position:relative;border:none;box-shadow:var(--box-shadow-1)}.project-card__inner{position:relative;display:block;min-height:clamp(22rem,32vw,28rem);overflow:hidden;border-radius:inherit;border-top-right-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg)}.project-card__tape{position:absolute;top:-19px;left:50%;z-index:2;width:150px;height:auto;transform:translate(-50%)}.project-card__content{position:relative;z-index:2;width:min(56%,34rem);min-height:clamp(22rem,32vw,28rem);display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-16);padding:var(--spacing-32)}.project-card__header{display:grid;gap:var(--spacing-8)}.project-card__title{margin:0;font-family:var(--font-family-serif);font-size:var(--font-size-3xl);font-weight:500;line-height:.98}.project-card__description{margin:0;color:var(--colour-muted);font-size:var(--font-size-lg)}.project-card__actions{margin-top:var(--spacing-16)}.project-card__cta{min-width:12rem;border-radius:var(--border-radius-pill)}.project-card__progress{display:grid;align-content:end;gap:var(--spacing-16);margin-top:var(--spacing-8);padding-top:var(--spacing-8)}.project-card__progress-bar{max-width:13rem}.project-card__progress-bar .progress-bar{height:.45rem;background:color-mix(in srgb,var(--colour-action) 12%,transparent)}.project-card__progress-bar .progress-bar__fill{background-color:#5d7896}.project-card__progress-text{color:var(--colour-muted);font-size:var(--font-size-base)}.project-card__image-placeholder{width:100%;height:100%;background:radial-gradient(circle at 82% 72%,rgba(255,255,255,.42),transparent 32%),linear-gradient(135deg,var(--surface-project) 0%,var(--colour-project-soft) 100%)}.project-card__visual{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;min-height:100%;border-radius:inherit;pointer-events:none}.project-card__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.project-card--child{grid-column:1/span 2;grid-row:1/span 2}.project-card--parent{min-height:22rem}.project-card--parent .project-card__inner{grid-template-columns:minmax(0,1fr) clamp(10rem,32%,16rem)}.project-card--parent .project-card__content{padding:var(--spacing-24)}.project-card--parent .project-card__description{font-size:var(--font-size-base)}.project-card--parent .project-card__title{font-size:var(--font-size-2xl)}@media(max-width:900px){.project-card__inner{grid-template-columns:minmax(0,1fr)}.project-card__visual{min-height:12rem}}@media(max-width:768px){.project-card__content{width:100%;min-height:20rem;padding:var(--spacing-24);background:linear-gradient(90deg,color-mix(in srgb,var(--surface-project) 94%,transparent),color-mix(in srgb,var(--surface-project) 82%,transparent) 58%,color-mix(in srgb,var(--surface-project) 20%,transparent))}.project-card__inner{min-height:20rem}}.edit-tools{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--spacing-8);width:auto}.edit-tools .button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;padding:0;line-height:1}.edit-tools svg{display:block}.task-content-viewer{display:grid;gap:var(--spacing-20);max-width:48rem}.task-content-viewer__brief-section{display:grid;gap:var(--spacing-6)}.task-content-viewer__label{color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.09em;line-height:1;text-transform:uppercase}.task-content-viewer__intro,.task-content-viewer__text,.task-content-viewer__fallback{margin:0;color:var(--colour-text);font-size:var(--font-size-md);line-height:var(--line-height-relaxed)}.task-content-viewer__section{display:grid;gap:var(--spacing-16);padding-top:var(--spacing-20);border-top:var(--border-width) solid color-mix(in srgb,var(--colour-border) 72%,transparent)}.task-content-viewer__section:first-of-type{border-top:0;padding-top:0}.task-content-viewer__section-title{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.task-content-viewer__blocks{display:grid;gap:var(--spacing-12)}.task-content-viewer__bullets{display:grid;gap:var(--spacing-8);margin:0;padding-left:var(--spacing-20);color:var(--colour-text);line-height:var(--line-height-relaxed)}.task-content-viewer__bullets li::marker{color:var(--colour-action)}.task-content-viewer__question{display:grid;gap:var(--spacing-8);margin-top:var(--spacing-4);padding:var(--spacing-16) var(--spacing-16);border:var(--border-width) solid color-mix(in srgb,var(--colour-action) 24%,var(--colour-border));border-left-width:.25rem;border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--colour-brand-soft) 56%,var(--surface-card) 44%)}.task-content-viewer__question-label{color:var(--colour-action);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;line-height:1;text-transform:uppercase}.task-content-viewer__question-text{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.learning-submission-row{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-12);align-items:start;padding:var(--spacing-12) var(--spacing-16);border:var(--border-width) solid color-mix(in srgb,var(--subject-colour, var(--colour-border)) 18%,var(--colour-border));border-left-width:3px;border-left-color:color-mix(in srgb,var(--subject-colour, var(--colour-action)) 48%,var(--colour-border));border-radius:var(--border-radius-md);background:radial-gradient(circle at top right,color-mix(in srgb,var(--subject-colour, var(--colour-action)) 4%,transparent) 0,transparent 48%),color-mix(in srgb,var(--surface-note) 32%,var(--surface-card))}.learning-submission-row__icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-top:var(--spacing-2);border-radius:var(--border-radius-sm);background:color-mix(in srgb,var(--subject-colour, var(--colour-action)) 12%,var(--surface-card));color:var(--subject-colour, var(--colour-action))}.learning-submission-row__content{display:grid;gap:var(--spacing-8);min-width:0}.learning-submission-row__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-12)}.learning-submission-row__title{flex:1;margin:0;overflow:hidden;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-md);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap}.learning-submission-row__title-link{color:inherit;text-decoration:none}.learning-submission-row__title-link:hover{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.learning-submission-row__xp{flex-shrink:0;color:var(--colour-action);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.learning-submission-row__subject{display:inline-flex;align-items:center;gap:var(--spacing-6);color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.learning-submission-row__subject-dot{width:.5rem;height:.5rem;border-radius:999px}.learning-submission-row__evidence{display:grid;gap:var(--spacing-6);padding:var(--spacing-12);border-radius:var(--border-radius-sm);background:color-mix(in srgb,var(--surface-card) 78%,transparent)}.learning-submission-row__label{color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;line-height:1;text-transform:uppercase}.learning-submission-row__evidence-text{display:-webkit-box;margin:0;overflow:hidden;color:var(--colour-text);font-size:var(--font-size-sm);line-height:var(--line-height-base);text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4}.learning-submission-row__empty{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);font-style:italic;line-height:var(--line-height-base)}.learning-submission-row__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8);padding-top:var(--spacing-4);color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.learning-submission-row__date{color:var(--colour-muted);white-space:nowrap;font-weight:var(--font-weight-regular)}.learning-submission-row__action{color:var(--colour-action);font-weight:var(--font-weight-bold);text-decoration:none;white-space:nowrap}.learning-submission-row__action:hover{text-decoration:underline;text-underline-offset:.18em}.learning-submission-row--compact{grid-template-columns:auto 1fr;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-12);background:radial-gradient(circle at top right,color-mix(in srgb,var(--subject-colour, var(--colour-action)) 3%,transparent) 0,transparent 48%),color-mix(in srgb,var(--surface-note) 18%,var(--surface-card))}.learning-submission-row--compact .learning-submission-row__icon{width:1.75rem;height:1.75rem;margin-top:0}.learning-submission-row--compact .learning-submission-row__content{gap:var(--spacing-4)}.learning-submission-row--compact .learning-submission-row__title{font-size:var(--font-size-sm)}.learning-submission-row--compact .learning-submission-row__footer{padding-top:0}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--colour-bg);padding:var(--spacing-24)}.login-page__card{width:100%;max-width:360px;text-align:center}.login-page__title{font-family:var(--font-family-serif);font-size:var(--font-size-2xl);color:var(--colour-text);margin-bottom:var(--spacing-8)}.login-page__strapline{font-size:var(--font-size-base);font-weight:var(--font-weight-light);color:var(--colour-muted);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-40)}.login-page__actions{display:flex;flex-direction:column;gap:var(--spacing-12);margin-bottom:var(--spacing-24)}.login-page__error{font-size:var(--font-size-sm);color:var(--colour-danger);margin-bottom:var(--spacing-16)}.login-page__hint{font-size:var(--font-size-xs);color:var(--colour-muted)}.task-detail{display:grid;gap:var(--spacing-32)}.task-detail__shell{display:grid;gap:var(--spacing-32);max-width:72rem;margin:0 auto;width:100%}.task-detail__main{display:grid;gap:var(--spacing-32)}.task-detail__brief{display:grid;gap:var(--spacing-20)}.task-detail__section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-16)}.task-detail__section-header h2{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.task-detail__review-section{display:grid;gap:var(--spacing-20)}.task-detail__review-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-20)}@media(min-width:768px){.task-detail__review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.task-detail__reflection-card{display:grid;gap:var(--spacing-16);padding:var(--spacing-20);border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 82%,transparent);border-radius:var(--border-radius-lg);background:var(--surface-card)}.task-detail__reflection-card h3{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.task-detail__reflection-card--approval{border-left-width:3px;border-left-color:var(--colour-action)}.task-detail__note{display:grid;gap:var(--spacing-8)}.task-detail__note p{margin:0;color:var(--colour-text);line-height:var(--line-height-relaxed)}.task-detail__label{color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.task-detail__empty{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.task-detail__approval-form{display:grid;gap:var(--spacing-16)}.task-detail__metadata{padding:var(--spacing-16);border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 84%,transparent);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--surface-card) 94%,var(--colour-brand-soft) 6%)}.task-detail__meta-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-16);margin:0}@media(max-width:640px){.task-detail__meta-list{grid-template-columns:1fr}}.task-detail__meta-list>div{display:grid;gap:var(--spacing-4)}.task-detail__meta-term{margin:0;color:var(--colour-muted);font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.task-detail__meta-value{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1;text-transform:capitalize}.sidebar{grid-area:sidebar;z-index:200;display:flex;flex-direction:column;width:var(--sidebar-width);height:100vh;min-width:0;overflow:hidden;background-color:var(--colour-surface);border-right:var(--border-width) solid var(--colour-border);transform:translate(0);transition:width var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}@media(max-width:767px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(var(--sidebar-width),85vw);transform:translate(-100%);box-shadow:none}}@media(max-width:767px){.sidebar--mobile-open{transform:translate(0);box-shadow:0 1.5rem 4rem #0000002e}}@media(min-width:768px){.sidebar--collapsed{width:4.5rem}}.sidebar__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;border:0;background-color:#0000004d;opacity:0;pointer-events:none;cursor:pointer;transition:opacity var(--transition-base)}@media(min-width:768px){.sidebar__backdrop{display:none}}.l-app--sidebar-mobile-open .sidebar__backdrop{opacity:1;pointer-events:auto}.sidebar__header{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:0;padding-top:var(--spacing-16);padding-right:var(--spacing-16);padding-bottom:var(--spacing-8);padding-left:var(--spacing-16);border-bottom:var(--border-width) solid var(--colour-border);transition:padding var(--transition-base),align-items var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .sidebar__header{align-items:center;padding-right:var(--spacing-8);padding-left:var(--spacing-8)}}.sidebar__brand{display:flex;align-items:center;gap:var(--spacing-8);min-width:0;max-width:100%;font-family:var(--font-family-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--colour-text);transition:gap var(--transition-base),justify-content var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .sidebar__brand{justify-content:center;gap:0}}.sidebar__brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.25rem;width:2.25rem;height:2.25rem;border-radius:var(--border-radius-md);background-color:var(--colour-brand-soft);color:var(--colour-action);font-family:var(--font-family-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);opacity:0;max-width:0;overflow:hidden;transition:opacity var(--transition-base),max-width var(--transition-base),flex-basis var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .sidebar__brand-mark{opacity:1;max-width:2.25rem;flex-basis:2.25rem}}@media(max-width:767px){.sidebar__brand-mark{display:none}}.sidebar__brand-text,.sidebar__strapline,.sidebar__link-label,.sidebar__user-name,.sidebar__role,.sidebar__logout-label{display:inline-block;max-width:14rem;opacity:1;overflow:hidden;white-space:nowrap;transition:opacity var(--transition-base),max-width var(--transition-base),margin var(--transition-base)}.sidebar__brand-text{min-width:0}.sidebar__strapline{font-size:var(--font-size-xs);color:var(--colour-muted-light);line-height:var(--line-height-base)}.sidebar__nav{display:flex;flex:1;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-4);margin-top:var(--spacing-4);transition:padding .22s ease,align-items .22s ease}@media(min-width:768px){.sidebar--collapsed .sidebar__nav{align-items:center;padding-right:var(--spacing-8);padding-left:var(--spacing-8)}}.sidebar__link{display:flex;align-items:center;width:calc(100% - var(--spacing-4));min-width:0;min-height:2.75rem;padding:var(--spacing-8) var(--spacing-12);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--colour-muted);margin-left:var(--spacing-4);text-decoration:none;transition:width var(--transition-base),margin var(--transition-base),padding var(--transition-base),background-color var(--transition-base),color var(--transition-base)}.sidebar__link:hover{background-color:var(--colour-brand-soft);color:var(--colour-action)}.sidebar__link--active{background-color:var(--colour-brand-soft);color:var(--colour-action);font-weight:var(--font-weight-semibold)}@media(min-width:768px){.sidebar--collapsed .sidebar__link{width:2.75rem;margin-left:0;padding-right:var(--spacing-8);padding-left:var(--spacing-8);justify-content:center}}.sidebar__link-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1rem;margin-right:var(--spacing-8);transition:margin var(--transition-base)}.sidebar__link-icon svg{display:block}@media(min-width:768px){.sidebar--collapsed .sidebar__link-icon{margin-right:0;justify-content:center}}.sidebar__link-label{min-width:0}.sidebar__footer{display:flex;flex-direction:column;gap:var(--spacing-8);padding:var(--spacing-16);border-top:var(--border-width) solid var(--colour-border);transition:padding var(--transition-base),align-items var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .sidebar__footer{align-items:center;padding-right:var(--spacing-8);padding-left:var(--spacing-8)}}.sidebar__user{display:flex;align-items:center;gap:var(--spacing-8);min-width:0;max-width:100%;font-size:var(--font-size-sm);color:var(--colour-text);transition:gap var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .sidebar__user{gap:0}}.sidebar__user-name{min-width:0}.sidebar__role{font-size:var(--font-size-xs);color:var(--colour-muted);text-transform:capitalize}.sidebar__role:before{content:"· "}.sidebar__logout{font-size:var(--font-size-xs);color:var(--colour-muted);text-align:left;transition:color var(--transition-base),text-align var(--transition-base)}.sidebar__logout:hover{color:var(--colour-text)}@media(min-width:768px){.sidebar--collapsed .sidebar__logout{text-align:center}}@media(min-width:768px){.sidebar--collapsed .sidebar__brand-text,.sidebar--collapsed .sidebar__strapline,.sidebar--collapsed .sidebar__link-label,.sidebar--collapsed .sidebar__user-name,.sidebar--collapsed .sidebar__role,.sidebar--collapsed .sidebar__logout-label{max-width:0;opacity:0;margin-right:0;margin-left:0;pointer-events:none}}.parent-dashboard{display:grid;gap:var(--spacing-24);margin-bottom:var(--spacing-40)}.parent-dashboard__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-24)}@media(min-width:1024px){.parent-dashboard__grid{grid-template-columns:minmax(0,1.45fr) minmax(22rem,.65fr);align-items:start}}.parent-dashboard__card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-16);margin-bottom:var(--spacing-12)}.parent-dashboard__card-header h3{margin:0;font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.parent-dashboard__summary{margin:0;max-width:42rem;color:var(--colour-muted);font-size:var(--font-size-base);line-height:var(--line-height-base)}.parent-dashboard__metric{display:flex;flex-direction:column;gap:var(--spacing-4)}.parent-dashboard__metric-value{font-family:var(--font-family-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--colour-action);line-height:1}.parent-dashboard__metric-label{color:var(--colour-muted);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.parent-dashboard-hero{display:grid;gap:var(--spacing-20);padding:var(--spacing-8) 0 var(--spacing-20);border-bottom:var(--border-width) solid var(--colour-border)}@media(min-width:1024px){.parent-dashboard-hero{grid-template-columns:minmax(0,1.45fr) minmax(22rem,.65fr);align-items:end}}.parent-dashboard-hero__title{max-width:42rem;margin:0;font-size:clamp(var(--font-size-xl),2.2vw,var(--font-size-2xl));line-height:var(--line-height-tight);letter-spacing:-1px;font-weight:var(--font-weight-semibold)}.parent-dashboard-hero__copy{max-width:46rem;margin:var(--spacing-6) 0 0;color:var(--colour-muted);font-size:var(--font-size-base);line-height:var(--line-height-base)}.parent-dashboard-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-16);padding:var(--spacing-12) 0 0;position:relative}@media(min-width:1024px){.parent-dashboard-hero__stats{padding:0}}.parent-today-learning-card__empty{display:grid;gap:var(--spacing-12);justify-items:start}.parent-today-learning-card__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-8)}.parent-encouragement-card{align-self:start}.parent-encouragement-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12)}.parent-encouragement-card__count,.parent-encouragement-card__saved{color:var(--colour-muted);font-size:var(--font-size-xs)}.parent-encouragement-card__count--error{color:var(--colour-danger)}.parent-encouragement-card__saved{margin:calc(var(--spacing-8) * -1) 0 0}@media(max-width:640px){.parent-encouragement-card__footer{align-items:stretch;flex-direction:column}}.parent-review-card__list{display:grid;gap:var(--spacing-12)}.parent-learning-snapshot-card__insights{display:grid;gap:var(--spacing-6);padding:var(--spacing-12);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--surface-card) 88%,var(--colour-brand-soft) 12%)}.parent-learning-snapshot-card__insights p{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.parent-learning-snapshot-card__insights strong{color:var(--colour-text)}.parent-learning-snapshot-card__list{display:grid;gap:var(--spacing-12)}.parent-learning-snapshot-card__row{display:grid;gap:var(--spacing-6)}.parent-learning-snapshot-card__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-12);color:var(--colour-text);font-size:var(--font-size-sm)}.parent-learning-snapshot-card__meta small{color:var(--colour-muted);font-size:var(--font-size-xs);white-space:nowrap}.parent-learning-snapshot-card__track{height:.55rem;overflow:hidden;border-radius:var(--border-radius-pill);background:color-mix(in srgb,var(--colour-border) 55%,transparent)}.parent-learning-snapshot-card__fill{display:block;height:100%;min-width:.35rem;border-radius:inherit}.parent-progress-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-16)}.parent-progress-card__bar{display:grid;gap:var(--spacing-6)}.parent-progress-card__bar small{color:var(--colour-muted);font-size:var(--font-size-xs)}.parent-week-summary-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-16)}@media(min-width:1024px){.parent-notebook-card{grid-column:1/-1}}.parent-notebook-card__prompts{display:grid;gap:var(--spacing-8)}@media(min-width:768px){.parent-notebook-card__prompts{grid-template-columns:repeat(3,minmax(0,1fr))}}.parent-notebook-card__prompt{padding:var(--spacing-16);border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 76%,transparent);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--surface-card) 90%,var(--colour-brand-soft) 10%);color:var(--colour-text);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.planner-view-transition{width:100%}.compact-week-view{margin-bottom:var(--spacing-24)}.compact-week-view__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--spacing-8)}@media(min-width:1024px){.compact-week-view__grid{gap:var(--spacing-8)}}@media(min-width:1280px){.compact-week-view__grid{gap:var(--spacing-16)}}.compact-week-view__day{display:flex;flex-direction:column;align-items:flex-start;background:var(--colour-surface);border:2px solid transparent;border-radius:var(--border-radius-md);padding:var(--spacing-6);cursor:pointer;transition:all var(--transition-base);text-align:left;width:100%;position:relative}.compact-week-view__day:hover{border-color:var(--colour-action-lighter);background:color-mix(in srgb,var(--colour-brand-soft) 30%,var(--colour-surface))}@media(min-width:1024px){.compact-week-view__day{padding:var(--spacing-12)}}@media(min-width:1280px){.compact-week-view__day{padding:var(--spacing-16)}}.compact-week-view__day--today{border-color:var(--colour-state-today-border)}.compact-week-view__day--today .compact-week-view__day-name{color:var(--colour-state-today)}.compact-week-view__day--selected{border-color:var(--colour-action-lighter)}.compact-week-view__day--selected:after{content:"";position:absolute;top:100%;right:50%;width:2px;height:calc(var(--spacing-24) + 3px);background:var(--colour-action-lighter)}.compact-week-view__day--selected .compact-week-view__day--today{border-color:var(--colour-action-lighter)}.compact-week-view__day--selected .compact-week-view__day--today .compact-week-view__day-name{color:var(--colour-state-today)}.compact-week-view__day-header{width:100%}@media(min-width:768px){.compact-week-view__day-header{margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--colour-border)}}.compact-week-view__day-name-abbrv,.compact-week-view__day-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-family-sans);color:var(--colour-text);margin-bottom:var(--spacing-2);text-transform:uppercase;letter-spacing:var(--font-letter-spacing-loose)}@media(min-width:640px){.compact-week-view__day-name-abbrv,.compact-week-view__day-name{font-size:var(--font-size-sm)}}@media(min-width:768px){.compact-week-view__day-name-abbrv,.compact-week-view__day-name{font-size:var(--font-size-base)}}.compact-week-view__day-name{display:none}@media(min-width:1280px){.compact-week-view__day-name{display:block}}.compact-week-view__day-name-abbrv{display:block;width:1.8ch;letter-spacing:2.5ch;text-overflow:clip;overflow:hidden;text-align:center}@media(min-width:640px){.compact-week-view__day-name-abbrv{width:unset;letter-spacing:unset;text-overflow:unset;overflow:unset;text-align:unset}}@media(min-width:1280px){.compact-week-view__day-name-abbrv{display:none}}.compact-week-view__day-date,.compact-week-view__day-date-abbrv{font-size:var(--font-size-xs);color:var(--colour-muted);font-family:var(--font-family-serif);font-weight:var(--font-weight-regular)}@media(min-width:768px){.compact-week-view__day-date,.compact-week-view__day-date-abbrv{font-weight:var(--font-weight-light);font-size:var(--font-size-sm)}}.compact-week-view__day-date-abbrv{display:block}@media(min-width:768px){.compact-week-view__day-date-abbrv{display:none}}.compact-week-view__day-date{display:none}@media(min-width:768px){.compact-week-view__day-date{display:block}}.compact-week-view__day-summary{display:none;min-height:60px;width:100%}@media(min-width:768px){.compact-week-view__day-summary{display:block}}.compact-week-view__count{font-size:var(--font-size-sm);color:var(--colour-muted);margin-bottom:var(--spacing-8);font-weight:var(--font-weight-semibold);font-family:var(--font-family-sans)}.compact-week-view__task-previews{list-style:none;padding:0;margin:0}.compact-week-view__task-preview{font-size:var(--font-size-sm);color:var(--colour-text);font-family:var(--font-family-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--spacing-4);line-height:1.4}.compact-week-view__task-preview:last-child{margin-bottom:0}.compact-week-view__task-preview--subject-focused{font-weight:600;border-left:3px solid var(--planner-task-subject-colour, var(--colour-action));padding-left:var(--spacing-8);margin-left:calc(-1 * var(--spacing-8))}.compact-week-view__task-preview--subject-muted{opacity:.4;color:var(--colour-muted-light)}.compact-week-view__empty{font-size:var(--font-size-sm);color:var(--colour-muted);font-style:italic;margin:0;font-family:var(--font-family-sans)}.compact-week-view__more{font-size:var(--font-size-sm);color:var(--colour-muted);font-style:italic;margin-top:var(--spacing-4);font-family:var(--font-family-sans)}.month-planner{width:100%;height:100vh;margin:0 auto}.month-planner__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(6,minmax(0,1fr));gap:var(--spacing-2);background:var(--colour-surface);padding:var(--spacing-8);border-radius:var(--border-radius-md)}@media(min-width:640px){.month-planner__grid{height:100vh;padding:var(--spacing-16)}}.month-planner__weekday{padding:var(--spacing-12) var(--spacing-8);text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--colour-muted);text-transform:uppercase;letter-spacing:var(--font-letter-spacing-loose);font-family:var(--font-family-sans)}@media(max-width:640px){.month-planner__weekday{padding:var(--spacing-4) var(--spacing-2);font-size:10px}}.month-planner__weekday--active{background-color:var(--surface-note)}.month-planner__day{position:relative;padding:var(--spacing-8);border:1px solid transparent;border-radius:var(--border-radius-sm);background:transparent;cursor:pointer;transition:all var(--transition-base);font-family:var(--font-family-sans);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--spacing-4)}@media(max-width:640px){.month-planner__day{padding:var(--spacing-4);gap:var(--spacing-2)}}.month-planner__day:hover{background:var(--colour-state-hover-bg)}.month-planner__day--outside{color:var(--colour-muted-light);background:color-mix(in srgb,var(--colour-surface-muted) 90%,transparent)}.month-planner__day--outside:hover{background:color-mix(in srgb,var(--colour-surface-muted) 60%,transparent)}.month-planner__day--today{background:var(--colour-state-today-bg)}.month-planner__day--today:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 20px 20px 0;border-color:transparent var(--colour-action) transparent transparent}.month-planner__day--today .month-planner__day-number{font-weight:var(--font-weight-semibold);color:var(--colour-state-today)}.month-planner__day--selected{background:var(--colour-state-selected-bg)}.month-planner__day--selected .month-planner__day-number{font-weight:var(--font-weight-bold);color:var(--colour-state-selected)}.month-planner__day--selected:hover{background:var(--colour-state-selected-bg)}.month-planner__day--today.month-planner__day--selected{background:var(--colour-state-today-selected-bg);box-shadow:0 0 0 2px var(--colour-state-today-selected-shadow)}.month-planner__day--today.month-planner__day--selected .month-planner__day-number{color:var(--colour-state-today-selected-border)}.month-planner__day-header{width:100%;display:flex;justify-content:space-between;align-items:flex-start}.month-planner__day-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--colour-text);line-height:1;transition:all var(--transition-base)}.month-planner__day-tasks{width:100%;overflow:hidden}.month-planner__task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.month-planner__task-preview{font-size:var(--font-size-xs);color:var(--colour-muted);font-family:var(--font-family-sans);line-height:1.2;display:flex;align-items:flex-start;gap:var(--spacing-4);text-align:left}@media(max-width:640px){.month-planner__task-preview{font-size:10px;gap:var(--spacing-2)}.month-planner__task-preview:nth-child(n+2){display:none}}.month-planner__task-preview:before{content:"•";color:var(--colour-muted-light);flex-shrink:0}.month-planner__task-preview--subject-focused{font-weight:600}.month-planner__task-preview--subject-focused:before{content:"●";color:var(--planner-task-subject-colour, var(--colour-action))}.month-planner__task-preview--subject-muted{opacity:.35}.month-planner__task-preview--subject-muted:before{opacity:.3}.month-planner__task-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.month-planner__task-more{font-size:var(--font-size-xs);color:var(--colour-muted-light);font-style:italic;font-family:var(--font-family-sans);padding-left:var(--spacing-8)}.month-planner__calendar-wrapper{grid-column:1/-1;grid-row:2/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:var(--spacing-2)}.month-planner__workbench-wrapper{grid-column:1/-1;grid-row:2/-1}.planner-day-workbench{grid-column:1/-1;display:flex;flex-direction:column;gap:var(--spacing-24);padding:var(--spacing-32);background:var(--colour-surface);border-radius:var(--border-radius-md);min-height:60vh;border:2px solid var(--colour-action-lighter)}.planner-day-workbench__back{align-self:flex-start}.planner-day-workbench__heading{font-family:var(--font-family-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);color:var(--colour-text);margin:0;line-height:var(--line-height-tight);letter-spacing:var(--font-letter-spacing-tight)}.planner-day-workbench__empty{display:flex;flex-direction:column;gap:var(--spacing-8);margin-top:var(--spacing-16)}.planner-day-workbench__summary{font-size:var(--font-size-base);color:var(--colour-muted);margin:0;line-height:1.6}.planner-day-workbench__tasks{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--spacing-12);margin-top:var(--spacing-16)}@media(min-width:1024px){.planner-day-workbench__tasks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.planner-day-workbench__tasks{grid-template-columns:repeat(4,minmax(0,1fr))}}.planner-day-workbench__add-task{margin-top:var(--spacing-24);display:flex;justify-content:flex-start}.planner-status-key,.save-status-key{display:flex;flex-wrap:wrap;gap:var(--spacing-16);align-items:center;font-size:var(--font-size-sm);color:var(--colour-muted)}.planner-status-key__item,.save-status-key__item{display:inline-flex;align-items:center;gap:var(--spacing-6);font-size:var(--font-size-xs)}.planner-status-key__dot,.save-status-key__dot{width:8px;height:8px;border-radius:999px}.planner-status-key__dot--scheduled,.save-status-key__dot--scheduled{background-color:var(--colour-status-scheduled)}.planner-status-key__dot--pending,.save-status-key__dot--pending{background-color:var(--colour-status-pending)}.planner-status-key__dot--approved,.save-status-key__dot--approved{background-color:var(--colour-status-approved)}.week-control-bar{display:grid;grid-template-columns:1fr;gap:var(--spacing-4);width:100%;align-items:flex-end;margin-bottom:var(--spacing-8)}@media(min-width:640px){.week-control-bar{gap:var(--spacing-16);grid-template-columns:1fr 1fr;align-items:center;margin-bottom:var(--spacing-16)}}@media(min-width:768px){.week-control-bar{gap:var(--spacing-16);grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:var(--spacing-16)}}.week-control-bar__range{margin:0;color:var(--colour-muted);display:flex;align-items:center;gap:var(--spacing-8);white-space:pre}.week-control-bar__buttons{display:flex;flex-direction:row;align-items:center;width:100%;gap:var(--spacing-16);justify-content:space-between}@media(min-width:640px){.week-control-bar__buttons{width:auto;justify-content:unset;gap:var(--spacing-8)}}.week-control-bar__week-range,.week-control-bar__month-range{display:none}@media(min-width:768px){.week-control-bar__week-range,.week-control-bar__month-range{display:block}}.move-task-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:var(--spacing-16);background:color-mix(in srgb,var(--colour-text) 18%,transparent)}@media(min-width:640px){.move-task-modal-overlay{padding:var(--spacing-24)}}.move-task-modal{width:min(100%,420px);padding:var(--spacing-24);border:1px solid var(--colour-border);border-radius:var(--border-radius-lg);background:var(--colour-surface);box-shadow:var(--box-shadow-1)}.move-task-modal__title{margin:0 0 var(--spacing-8)}.move-task-modal__task-title{margin:0 0 var(--spacing-16);color:var(--colour-text-light)}.move-task-modal__dates{display:grid;gap:var(--spacing-12)}.move-task-modal__current-date{margin:0}.move-task-modal__new-date{display:grid;gap:var(--spacing-6)}.move-task-modal__helper-text{margin:var(--spacing-16) 0 0;color:var(--colour-muted);font-size:var(--font-size-sm)}.move-task-modal__actions{display:flex;gap:var(--spacing-8);justify-content:flex-end;margin-top:var(--spacing-20)}.projects-page__panel{display:grid;gap:var(--spacing-16);padding:var(--spacing-20);border:1px solid var(--colour-border);border-radius:var(--border-radius-lg);background:var(--colour-surface);box-shadow:var(--box-shadow-1)}.projects-page__panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-16)}.projects-page__panel-title{margin:0}.projects-page__error{margin:0;color:var(--colour-danger)}.project-form{display:grid;gap:var(--spacing-16)}.project-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-16)}.project-form__field{display:grid;gap:var(--spacing-6)}.project-form__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--colour-text)}.project-form__input,.project-form__textarea,.project-form__select{width:100%;border:1px solid var(--colour-border);border-radius:var(--border-radius-md);background:var(--colour-surface);color:var(--colour-text);font:inherit}.project-form__input,.project-form__select{min-height:2.75rem;padding:0 var(--spacing-12)}.project-form__textarea{resize:vertical;padding:var(--spacing-12)}.project-form__input:focus,.project-form__textarea:focus,.project-form__select:focus{outline:2px solid var(--colour-action);outline-offset:2px}.project-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-12)}@media(max-width:42rem){.project-form__row{grid-template-columns:1fr}.project-form__actions{flex-direction:column-reverse}.project-form__actions .button{width:100%}}.projects-page__featured{margin-bottom:var(--spacing-32)}.projects-page__featured .project-card{min-height:22rem}.projects-page__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-24)}@media(max-width:1024px){.projects-page__grid{grid-template-columns:1fr}}.projects-page__section{display:grid;gap:var(--spacing-16)}.project-form__file-input{width:100%;padding:var(--spacing-12) 0;color:var(--colour-text);font:inherit}.project-form__hint,.project-form__selected-file{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm)}.project-form__selected-file{color:var(--colour-text);font-weight:var(--font-weight-semibold)}.project-form__upload-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--spacing-12)}.project-form__upload-control{display:grid;gap:var(--spacing-6)}.project-form__upload-preview{display:grid;grid-template-columns:minmax(0,1fr) 10rem auto;align-items:center;gap:var(--spacing-16);padding:var(--spacing-16);border:var(--border-width) solid var(--colour-border);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--colour-surface) 88%,var(--colour-action) 12%)}.project-form__upload-preview-label{margin:0;color:var(--colour-text);font-weight:var(--font-weight-semibold)}.project-form__upload-preview-hint{margin:var(--spacing-4) 0 0;color:var(--colour-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}.project-form__upload-preview-image{width:10rem;aspect-ratio:4/3;border-radius:var(--border-radius-md);object-fit:cover;box-shadow:var(--box-shadow-1)}@media(max-width:768px){.project-form__upload-preview{grid-template-columns:1fr}.project-form__upload-preview-image{width:100%;max-width:18rem}}.project-detail{display:grid;gap:var(--spacing-24)}.project-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-16)}.project-detail__content{display:grid;gap:var(--spacing-24)}.project-detail__section{display:grid;gap:var(--spacing-16)}.project-detail__summary-card,.project-detail__meta-panel,.project-detail__empty,.project-detail__state{border:1px solid var(--colour-border);border-radius:var(--border-radius-lg);background:var(--colour-surface);box-shadow:var(--box-shadow-1)}.project-detail__back-link{display:inline-flex;margin:0 0 var(--spacing-12);color:var(--colour-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.project-detail__back-link:hover{color:var(--colour-text)}.project-detail__title{margin:0}.project-detail__intro{max-width:46rem;margin:var(--spacing-8) 0 0;color:var(--colour-muted)}.project-detail__actions{display:flex;justify-content:flex-end;gap:var(--spacing-8);margin-bottom:var(--spacing-24)}.project-detail__summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-16)}.project-detail__summary-card{display:grid;gap:var(--spacing-8);min-height:7rem;padding:var(--spacing-16);border-color:color-mix(in srgb,var(--colour-border) 82%,transparent);background:color-mix(in srgb,var(--surface-card) 94%,var(--colour-brand-soft) 6%);box-shadow:0 1px color-mix(in srgb,var(--colour-border) 46%,transparent)}@media(min-width:1024px){.project-detail__summary-card{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-detail__summary-label{color:var(--colour-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.project-detail__summary-value{color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.project-detail__progress-track{overflow:hidden;height:.5rem;border-radius:var(--border-radius-pill);background:var(--colour-surface-muted)}.project-detail__progress-bar{display:block;height:100%;border-radius:inherit;background:var(--colour-action)}.project-detail__meta-panel{display:grid;gap:var(--spacing-16);padding:var(--spacing-24);border-color:color-mix(in srgb,var(--colour-border) 86%,transparent);background:color-mix(in srgb,var(--surface-card) 96%,var(--surface-panel) 4%);box-shadow:0 1px color-mix(in srgb,var(--colour-border) 46%,transparent)}.project-detail__section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-16)}.project-detail__section-title{margin:0 0 var(--spacing-8);font-size:clamp(var(--font-size-xl),2vw,var(--font-size-3xl));line-height:var(--line-height-tight)}.project-detail__dates,.project-detail__muted{max-width:42rem;margin:var(--spacing-4) 0 0;color:var(--colour-muted)}.project-detail__chips{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}.project-detail__chip{display:inline-flex;align-items:center;min-height:1.75rem;padding:0 var(--spacing-12);border-radius:var(--border-radius-pill);background:var(--colour-surface-muted);color:var(--colour-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.project-detail__tasks-section{display:grid;gap:var(--spacing-20)}.project-detail__task-list{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--spacing-16)}@media(min-width:768px){.project-detail__task-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.project-detail__task-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.project-detail__empty,.project-detail__state{padding:var(--spacing-20);color:var(--colour-muted)}.project-detail__empty h1,.project-detail__empty h3{margin:0 0 var(--spacing-8);color:var(--colour-text)}.project-detail__empty p{margin:0 0 var(--spacing-16)}.project-detail__empty--journey{max-width:42rem;text-align:left}.project-detail__empty--journey h3{font-size:var(--font-size-lg)}.project-detail__empty--journey p{max-width:36rem;line-height:1.6}.project-detail__empty-actions{display:flex;gap:var(--spacing-12);margin-top:var(--spacing-20)}.project-detail__edit-panel{display:grid;gap:var(--spacing-20);margin-bottom:var(--spacing-32);padding:var(--spacing-24);border:var(--border-width) solid var(--colour-border);border-radius:var(--border-radius-lg);background:var(--colour-surface);box-shadow:var(--box-shadow-1)}.project-detail__edit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-16)}.project-detail__edit-header h2{margin:0}.project-detail__error{margin:0;color:var(--colour-danger)}.project-detail__current-image{display:grid;grid-template-columns:minmax(0,1fr) 10rem auto;align-items:center;gap:var(--spacing-16);padding:var(--spacing-16);border:var(--border-width) solid var(--colour-border);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--colour-surface) 88%,var(--colour-action) 12%)}.project-detail__current-image-label{margin:0;color:var(--colour-text);font-weight:var(--font-weight-semibold)}.project-detail__current-image-hint{margin:var(--spacing-4) 0 0;color:var(--colour-muted);font-size:var(--font-size-sm)}.project-detail__current-image-preview{width:10rem;aspect-ratio:4/3;border-radius:var(--border-radius-md);object-fit:cover;box-shadow:var(--box-shadow-1)}@media(max-width:768px){.project-detail__current-image{grid-template-columns:1fr}.project-detail__current-image-preview{width:100%;max-width:18rem}}@media(max-width:42rem){.project-detail__header{flex-direction:column}.project-detail__summary-grid{grid-template-columns:1fr}}.create-mode-switch{margin-bottom:var(--spacing-20)}.create-project-view{display:grid;gap:var(--spacing-20)}.create-project-view__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);gap:var(--spacing-20);align-items:start}.create-project-view__side{display:grid;gap:var(--spacing-16)}.create-project-view__panel{display:grid;gap:var(--spacing-16);padding:var(--spacing-20);border:1px solid var(--colour-border);border-radius:var(--border-radius-lg);background:var(--colour-surface);box-shadow:var(--box-shadow-1)}.create-project-view__panel-header{display:grid;gap:var(--spacing-6)}.create-project-view__title,.create-project-view__subtitle{margin:0}.create-project-view__intro,.create-project-view__muted{margin:0;color:var(--colour-muted)}.create-project-view__form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-16)}.create-project-view__field{display:grid;gap:var(--spacing-6)}.create-project-view__field--full{grid-column:1/-1}.create-project-view__label{color:var(--colour-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.create-project-view__input,.create-project-view__textarea,.create-project-view__select{width:100%;border:1px solid var(--colour-border);border-radius:var(--border-radius-md);background:var(--colour-surface);color:var(--colour-text);font:inherit}.create-project-view__input,.create-project-view__select{min-height:2.75rem;padding:0 var(--spacing-12)}.create-project-view__textarea{resize:vertical;padding:var(--spacing-12)}.create-project-view__input:disabled,.create-project-view__textarea:disabled,.create-project-view__select:disabled{cursor:not-allowed;opacity:.72}.create-project-view__timeline{position:relative;display:grid}.create-project-view__timeline:before{position:absolute;top:50%;right:0;left:0;height:2px;background:var(--colour-border);content:"";transform:translateY(-50%)}.create-project-view__timeline span{position:relative;z-index:1;width:1rem;height:1rem;border:2px solid var(--colour-border);border-radius:50%;background:var(--colour-surface)}.create-project-view__timeline span:nth-child(2){justify-self:center}.create-project-view__timeline span:nth-child(3){justify-self:end}@media(max-width:56rem){.create-project-view__grid{grid-template-columns:1fr}}@media(max-width:42rem){.create-page__header{flex-direction:column}.create-mode-switch{width:100%}.create-mode-switch__option{flex:1}.create-project-view__form-grid{grid-template-columns:1fr}}.learning-journal__shell{display:grid;gap:var(--spacing-24)}.learning-journal__header{display:grid;gap:var(--spacing-16);padding-bottom:var(--spacing-20);border-bottom:var(--border-width) solid color-mix(in srgb,var(--colour-border) 84%,transparent)}@media(min-width:768px){.learning-journal__header{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.learning-journal__range{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:clamp(var(--font-size-xl),2vw,var(--font-size-3xl));line-height:var(--line-height-tight)}.learning-journal__controls{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}.learning-journal__overview{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--spacing-12)}@media(min-width:768px){.learning-journal__overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.learning-journal__overview{grid-template-columns:repeat(4,minmax(0,1fr))}}.learning-journal__summary-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--spacing-16);min-height:9rem}.learning-journal__summary-link{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--spacing-16);color:inherit;text-decoration:none;transition:opacity .15s ease}.learning-journal__summary-link:hover{opacity:.8}.learning-journal__summary-link:focus-visible{outline:2px solid var(--colour-action);outline-offset:2px;border-radius:var(--border-radius-md)}.learning-journal__summary-value{display:inline-grid;place-items:center;min-width:3rem;height:3rem;border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--surface-card) 72%,transparent);color:var(--colour-action);font-family:var(--font-family-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.learning-journal__summary-copy{display:grid;gap:var(--spacing-4)}.learning-journal__summary-title{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-lg);line-height:var(--line-height-tight)}.learning-journal__summary-description{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.learning-journal__main-grid,.learning-journal__lower-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-24)}@media(min-width:1024px){.learning-journal__main-grid,.learning-journal__lower-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.learning-journal__panel{display:grid;grid-column:span 2;gap:var(--spacing-16)}.learning-journal__section-heading{display:grid;gap:var(--spacing-4)}.learning-journal__section-title{margin:0;color:var(--colour-text);font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.learning-journal__section-copy{max-width:42rem;margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.learning-journal__empty{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.learning-journal__subjects{display:grid;gap:var(--spacing-8)}.learning-journal__subject-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12);padding:var(--spacing-12);border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 76%,transparent);border-radius:var(--border-radius-md);background:var(--surface-card)}.learning-journal__subject-label{display:inline-flex;align-items:center;gap:var(--spacing-8);min-width:0;color:var(--colour-text);font-size:var(--font-size-sm)}.learning-journal__subject-dot{width:.65rem;height:.65rem;flex:0 0 auto;border-radius:999px}.learning-journal__subject-count{color:var(--colour-action);font-family:var(--font-family-serif);font-weight:var(--font-weight-bold)}.learning-journal__archive{min-height:100%}.learning-journal__archive-list{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}.learning-journal__archive-pill{display:inline-flex;align-items:center;min-height:1.75rem;padding:0 var(--spacing-12);border-radius:var(--border-radius-pill);background:color-mix(in srgb,var(--surface-card) 78%,transparent);color:var(--colour-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.weekly-learning-record__shell{display:grid;gap:var(--spacing-32)}.weekly-learning-record__header{display:grid;gap:var(--spacing-24);padding-bottom:var(--spacing-24);border-bottom:var(--border-width) solid color-mix(in srgb,var(--colour-border) 48%,transparent)}.weekly-learning-record__back-link{display:inline-flex;align-items:center;gap:var(--spacing-8);color:var(--colour-muted);font-size:var(--font-size-sm);text-decoration:none;transition:color .15s ease}.weekly-learning-record__back-link:hover{color:var(--colour-text)}.weekly-learning-record__title-row{display:grid;gap:var(--spacing-20)}@media(min-width:768px){.weekly-learning-record__title-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.weekly-learning-record__title-group{display:grid;gap:var(--spacing-6)}.weekly-learning-record__range{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-4xl));font-weight:var(--font-weight-regular);line-height:var(--line-height-tight)}.weekly-learning-record__controls{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}.weekly-learning-record__toolbar{display:grid;gap:var(--spacing-16)}@media(min-width:768px){.weekly-learning-record__toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.weekly-learning-record__count{color:var(--colour-muted);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.weekly-learning-record__filter{min-width:12rem}.weekly-learning-record__state{padding:var(--spacing-32) 0;text-align:center}.weekly-learning-record__state-text{margin:0;color:var(--colour-text);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.weekly-learning-record__state-text--muted{color:var(--colour-muted)}.weekly-learning-record__cards{display:grid;gap:var(--spacing-20)}.learning-journal__main-grid{align-items:stretch}.task-builder{display:grid;gap:var(--spacing-16)}.task-builder>.input{border-color:#56493d2e;background:#fffcf5b8}.task-builder-block{transition:transform var(--transition-base)}.task-builder-block__header-title{text-transform:capitalize}.task-builder-block__header-title h5{margin-left:var(--spacing-8)}.task-builder-block--has-content{transform:scale(1)}.task-builder-block--empty{transform:scale(0)}.block-editor-wrap{overflow:hidden;transition:opacity .22s ease,transform .22s ease,max-height .22s ease,margin .22s ease,padding .22s ease;opacity:0;transform:translateY(6px);max-height:0;pointer-events:none}.block-editor-wrap.is-active{opacity:1;transform:translateY(0);max-height:500px;pointer-events:auto}.task-builder>.input:focus{border-color:#4a70608c;box-shadow:0 0 0 3px #4a70601a}.task-builder-bullets{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.task-builder-bullet-row{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:center;width:100%}.task-builder-bullet-row>span{color:var(--color-green, #477363);font-size:1.2rem;line-height:1}.task-builder-bullet-row button{border:0;background:transparent;color:#9b3f3d;font-size:.8rem;font-weight:600}.task-builder-section__actions{display:flex;flex-wrap:wrap;gap:.5rem}.task-builder>button{margin-top:-.15rem;padding:.65rem 1rem}.input__wrapper:has(.task-builder)>.input__label{font-weight:700;color:var(--color-ink, #4b4640)}@media(max-width:720px){.task-builder-section{padding:.75rem}.task-builder-section__header{grid-template-columns:1fr}.task-builder-bullet-row{grid-template-columns:auto 1fr}.task-builder-bullet-row button{grid-column:2;justify-self:start}}.task-builder-block{display:grid;gap:var(--spacing-8)}.task-builder-block__header{display:flex;justify-content:flex-start;align-items:center}.task-builder-block__header-title{display:flex;align-items:center;margin-right:var(--spacing-12)}.task-builder-section:has(.task-builder-section__actions__delete-button:hover){border-color:var(--colour-danger)}.task-builder__sections{display:grid;gap:var(--spacing-16);margin-top:var(--spacing-16)}.task-builder__section-buttons{margin-top:var(--spacing-16)}.task-builder-section{display:grid;gap:var(--spacing-24);border-radius:var(--border-radius-sm);transition:border-color var(--transition-base);padding:var(--spacing-12);background:var(--colour-success-soft)}.task-form__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:var(--spacing-16)}@media(min-width:640px){.task-form__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.task-form__grid{grid-template-columns:minmax(0,1fr) minmax(18rem,24rem)}}.task-form__meta{display:grid;gap:var(--spacing-16);margin-top:27px;grid-column:-1/1;grid-row:2}@media(min-width:640px){.task-form__meta{grid-column:-1/1}}@media(min-width:1024px){.task-form__meta{grid-column:2;grid-row:1}}@media(min-width:1280px){.task-form__meta{grid-column:2;grid-row:1}}.task-form__action-bar{grid-column:1/span 1}@media(min-width:640px){.task-form__action-bar{grid-column:-1/1}}.task-form__task-builder{grid-column:-1/1;grid-row:1}@media(min-width:640px){.task-form__task-builder{grid-column:-1/1}}@media(min-width:1024px){.task-form__task-builder{grid-column:1}}@media(min-width:1280px){.task-form__task-builder{grid-column:1}}.task-form__column{display:flex;flex-direction:column}.task-form__column .task-form__action-bar{order:3}.task-form__column .task-form__meta{order:2}.task-form__column .task-form__task-builder{order:1}.task-form__save-state{display:flex;align-items:center;gap:var(--spacing-8)}.task-form__subject-picker{display:grid;gap:var(--spacing-12);width:100%}.task-form__subject-picker--error{padding:.5rem;border:1px solid rgba(177,77,69,.28);border-radius:12px;background:#b14d450a}.task-form__field-error{margin:0;font-size:.9rem;color:color-mix(in srgb,var(--colour-danger) 70%,white 30%)}.task-form__subject-picker-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}.task-form__subject-helper,.task-form__task-helper{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-tight);color:var(--colour-text)}.task-form__subject-helper{white-space:pre}.task-form__subject-create{width:100%}.task-form__subject-create-inner{display:flex;flex-direction:column;gap:var(--spacing-12);padding-top:.75rem}.task-form__subject-swatches{display:grid;gap:var(--spacing-8)}.task-form__subject-swatches-label{font-size:var(--font-size-sm);font-weight:600;color:var(--colour-text)}.task-form__subject-swatches-list{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}.task-form__subject-swatch{width:1.75rem;height:1.75rem;border-radius:999px;border:2px solid rgba(86,73,61,.16);background:var(--swatch-colour);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.task-form__subject-swatch:hover{transform:translateY(-1px)}.task-form__subject-swatch--selected{border-color:#4b464099;box-shadow:0 0 0 3px #4b46401a}.task-form__subject-create-actions{display:flex;gap:var(--spacing-8);align-items:center}.mode-switch{display:inline-flex;gap:var(--spacing-4);padding:var(--spacing-4);border:1px solid var(--colour-brand-soft);border-radius:var(--border-radius-md);background:var(--colour-action-lighter);width:100%}@media(min-width:768px){.mode-switch{max-width:24rem}}.mode-switch__option{min-height:2.25rem;width:50%;padding:0 var(--spacing-16);border:0;border-radius:var(--border-radius-md);background:transparent;color:var(--colour-muted-light);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base)}.mode-switch__option:hover{color:var(--colour-text)}.mode-switch__option--active{background:var(--colour-surface);color:var(--colour-text)}.mode-switch--sm{gap:var(--spacing-2);padding:var(--spacing-2)}@media(min-width:768px){.mode-switch--sm{max-width:20rem}}.mode-switch--sm .mode-switch__option{min-height:2rem;padding:0 var(--spacing-8);font-weight:var(--font-weight-light);font-size:var(--font-size-xs);color:var(--colour-action-hover)}.mode-switch--icons .mode-switch__option{display:flex;align-items:center;justify-content:center;gap:var(--spacing-4)}.subject-swatch-preview{display:grid;gap:var(--spacing-16);margin-top:var(--spacing-24)}.subject-swatch-preview__header{display:grid;gap:var(--spacing-4)}.subject-swatch-preview__title{margin:0}.subject-swatch-preview__copy{margin:0;color:var(--colour-text-muted)}.subject-swatch-preview__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-12)}@media(min-width:768px){.subject-swatch-preview__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.subject-swatch-preview__card{display:flex;align-items:center;gap:var(--spacing-12);padding:var(--spacing-12);border:1px solid var(--colour-border);border-radius:var(--border-radius-lg);background:var(--colour-surface)}.subject-swatch-preview__dot{width:2.5rem;height:2.5rem;border-radius:999px;border:2px solid rgba(86,73,61,.16);flex-shrink:0}.subject-swatch-preview__meta{display:grid;gap:.125rem}.subject-swatch-preview__meta strong{font-size:var(--font-size-sm)}.subject-swatch-preview__meta span{font-size:var(--font-size-xs);color:var(--colour-text-muted)}.to-review-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-16)}.to-review-queue__empty{display:grid;gap:var(--spacing-6);padding:var(--spacing-16);border:var(--border-width) dashed color-mix(in srgb,var(--colour-border) 86%,transparent);border-radius:var(--border-radius-lg);background:color-mix(in srgb,var(--surface-card) 88%,transparent)}.to-review-queue__empty-title{margin:0;color:var(--colour-text);font-size:var(--font-size-md);line-height:var(--line-height-tight)}.to-review-queue__empty-copy{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.learning-journal-card{display:grid;overflow:hidden;border:var(--border-width) solid color-mix(in srgb,var(--colour-action) 18%,var(--colour-border));border-radius:var(--border-radius-lg);background:var(--surface-card);box-shadow:0 1px color-mix(in srgb,var(--colour-border) 46%,transparent)}.learning-journal-card--approved{border-color:color-mix(in srgb,var(--colour-border) 88%,transparent)}.learning-journal-card__body{display:grid;gap:var(--spacing-12);padding:var(--spacing-16);background:radial-gradient(circle at top right,color-mix(in srgb,var(--colour-action) 8%,transparent) 0,transparent 44%),color-mix(in srgb,var(--surface-note) 58%,var(--surface-card))}.learning-journal-card--approved .learning-journal-card__body{background:radial-gradient(circle at top right,color-mix(in srgb,var(--colour-brand-soft) 32%,transparent) 0,transparent 44%),var(--surface-card)}.learning-journal-card__meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-12)}.learning-journal-card__status-label{color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;line-height:1;text-transform:uppercase}.learning-journal-card__xp{color:var(--colour-action);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);white-space:nowrap}.learning-journal-card__title{margin:0;color:var(--colour-text);font-family:var(--font-family-serif);font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.learning-journal-card__title-link{color:inherit;text-decoration:none}.learning-journal-card__title-link:hover{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.learning-journal-card__note{display:grid;gap:var(--spacing-6);padding:var(--spacing-12);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--surface-card) 82%,transparent)}.learning-journal-card__note--approval{border-left:.2rem solid color-mix(in srgb,var(--colour-action) 48%,transparent)}.learning-journal-card__note-text{margin:0;color:var(--colour-text);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.learning-journal-card__label{color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;line-height:1;text-transform:uppercase}.learning-journal-card__muted{margin:0;color:var(--colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base)}.learning-journal-card__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-8);padding:var(--spacing-8) var(--spacing-16);border-top:var(--border-width) solid color-mix(in srgb,var(--colour-border) 78%,transparent);color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.learning-journal-card__action{color:var(--colour-action);font-weight:var(--font-weight-bold);text-decoration:none}.learning-journal-card__action:hover{text-decoration:underline;text-underline-offset:.18em}.learning-journal-card--approved .learning-journal-card__body{background:radial-gradient(circle at top right,color-mix(in srgb,var(--colour-brand-soft) 18%,transparent) 0,transparent 46%),color-mix(in srgb,var(--surface-card) 92%,var(--colour-brand-soft) 8%)}.learning-journal-card--approved .learning-journal-card__title{font-size:var(--font-size-lg)}.child-badges{grid-row:5;grid-column:3/span 1}.child-journal-card{display:flex;gap:var(--spacing-16);align-items:flex-start;border:none;box-shadow:var(--box-shadow-1);transition:box-shadow var(--transition-base);cursor:pointer;grid-row:3/span 1;grid-column:1/span 2}.child-journal-card:hover{box-shadow:var(--box-shadow-2)}.child-journal-card__icon-container{display:flex;align-items:center;justify-content:center}.child-journal-card__icon{width:60px;height:60px}.child-journal-card__title{font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-8)}.child-journal-card__copy{font-family:var(--font-family-sans);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm)}.child-journal-card__pencil{width:100px}.child-journal{max-width:84rem;margin:0 auto;color:var(--colour-text)}.child-journal__grid{display:grid;gap:var(--spacing-24);margin-bottom:var(--spacing-24)}@media(min-width:1024px){.child-journal__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1.15fr)}}.child-surface{display:grid;gap:var(--spacing-16);padding:var(--spacing-24);border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 72%,transparent);border-radius:var(--border-radius-xl);background-color:color-mix(in srgb,var(--colour-surface) 94%,transparent);box-shadow:var(--box-shadow-soft)}.child-surface--project{min-height:23rem;align-content:start;background:linear-gradient(135deg,#d7e7f6b8,color-mix(in srgb,var(--colour-surface) 98%,transparent))}.child-surface--journal{background:linear-gradient(135deg,#ede5f6b8,color-mix(in srgb,var(--colour-surface) 98%,transparent))}.child-surface--explore{background:linear-gradient(135deg,color-mix(in srgb,var(--colour-surface) 96%,transparent),color-mix(in srgb,var(--colour-brand-soft) 14%,transparent))}.child-surface__header{display:grid;gap:var(--spacing-6)}.child-surface__header--row{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:var(--spacing-12)}.child-surface__copy{color:var(--colour-muted);line-height:var(--line-height-relaxed)}.child-surface__footer{display:grid;gap:var(--spacing-8)}.child-surface__footer span{color:var(--colour-muted);font-size:var(--font-size-sm)}.child-surface h2{font-family:var(--font-family-serif);font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.child-meter{position:relative;width:100%;height:.65rem;overflow:hidden;border-radius:999px;background-color:color-mix(in srgb,var(--colour-border) 82%,transparent)}.child-meter__fill{display:block;height:100%;border-radius:inherit;background-color:var(--colour-action)}.child-meter__fill--warm{background-color:#e1895e}.child-meter__fill--violet{background-color:#8b75c8}.child-meter__fill--sky{background-color:#73a5cc}.child-meter--project{max-width:14rem}.child-primary-button,.child-link-button{border:0;cursor:pointer;transition:opacity var(--transition-base)}.child-primary-button:hover,.child-link-button:hover{opacity:.92}.child-primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:var(--spacing-12) var(--spacing-20);border-radius:999px;font-weight:var(--font-weight-semibold);background-color:#2f4a66;color:var(--colour-surface)}.child-link-button{background:transparent;color:var(--colour-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.child-unlock-grid{display:grid;gap:var(--spacing-12)}@media(min-width:768px){.child-unlock-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.child-unlock-card{display:grid;gap:var(--spacing-12);justify-items:center;padding:var(--spacing-16);border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 68%,transparent);border-radius:var(--border-radius-lg);background-color:color-mix(in srgb,var(--colour-surface) 95%,transparent);text-align:center}.child-unlock-card__art{width:5rem;height:5rem;border-radius:var(--border-radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--colour-brand-soft) 72%,transparent),var(--colour-surface));border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 70%,transparent)}.child-unlock-card strong{font-size:var(--font-size-sm)}.child-unlock-card span{color:var(--colour-muted);font-size:var(--font-size-xs)}.child-badge-row{display:grid;gap:var(--spacing-12)}@media(min-width:768px){.child-badge-row{grid-template-columns:repeat(5,minmax(0,1fr))}}.child-badge-chip{display:grid;gap:var(--spacing-8);justify-items:center;text-align:center}.child-badge-chip__art{width:4rem;height:4rem;border-radius:999px;border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 76%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--colour-brand-soft) 82%,transparent),var(--colour-surface))}.child-badge-chip strong{font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.child-badge-chip span{display:block;width:2.5rem;height:.25rem;border-radius:999px;background-color:color-mix(in srgb,var(--colour-action) 45%,transparent)}.child-explore-row{display:grid;gap:var(--spacing-12)}@media(min-width:1024px){.child-explore-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.child-explore-card{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:var(--spacing-12);align-items:center;padding:var(--spacing-12);border-radius:var(--border-radius-lg);background-color:color-mix(in srgb,var(--colour-surface) 88%,transparent)}.child-explore-card__art{width:4.5rem;height:4.5rem;border-radius:var(--border-radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--colour-brand-soft) 72%,transparent),var(--colour-surface));border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 68%,transparent)}.child-explore-card__copy{display:grid;gap:var(--spacing-4)}.child-explore-card__copy strong{font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.child-explore-card__copy span{color:var(--colour-muted);font-size:var(--font-size-xs)}.child-placeholder-page{display:grid;gap:var(--spacing-8);max-width:48rem;margin:0 auto;padding:var(--spacing-24);border:var(--border-width) solid color-mix(in srgb,var(--colour-border) 72%,transparent);border-radius:var(--border-radius-xl);background-color:color-mix(in srgb,var(--colour-surface) 94%,transparent);box-shadow:var(--box-shadow-soft)}.child-progress-hero{display:grid;gap:var(--spacing-20);align-items:center;padding:var(--spacing-24) var(--spacing-32);border:none;grid-column:2/span 2;grid-row:4}@media(min-width:1024px){.child-progress-hero{grid-template-columns:8rem minmax(0,1fr) auto;gap:var(--spacing-24)}}.child-progress-hero__ring{display:grid;place-items:center;align-content:center;width:7.5rem;height:7.5rem;border:.4rem solid color-mix(in srgb,var(--colour-action) 85%,transparent);border-right-color:color-mix(in srgb,var(--colour-border) 95%,transparent);border-radius:999px;background-color:color-mix(in srgb,var(--colour-surface) 92%,transparent)}.child-progress-hero__ring-label{color:var(--colour-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--font-letter-spacing-loose);text-transform:uppercase}.child-progress-hero__ring-value{font-family:var(--font-family-serif);font-size:2rem;line-height:1}.child-progress-hero__main{display:grid;gap:var(--spacing-12)}.child-progress-hero__title{margin:0;font-family:var(--font-family-serif);font-size:2.25rem;line-height:1}.child-progress-hero__xp-row{display:flex;flex-wrap:wrap;gap:var(--spacing-8) var(--spacing-16);align-items:baseline}.child-progress-hero__xp-value{font-size:var(--font-size-xl)}.child-progress-hero__xp-meta{color:var(--colour-muted);font-size:var(--font-size-sm)}.child-progress-hero__bar{max-width:28rem}@media(min-width:1024px){.child-progress-hero__action{justify-self:end}}.child-shell{--child-colour-bg: var(--surface-page);--child-colour-surface: var(--surface-card);--child-colour-surface-gradient: linear-gradient( 180deg, rgba(255, 253, 249, .98), rgba(251, 248, 243, .96) );--child-colour-paper: var(--colour-surface-soft);--child-colour-ink: var(--colour-text);--child-colour-muted: var(--colour-muted);--child-colour-green: var(--btb-green-500);--child-colour-green-strong: var(--colour-brand);--child-colour-green-soft: var(--btb-green-100);--child-colour-cream: var(--colour-surface-soft);--child-colour-orange: var(--surface-reward);--child-colour-yellow: var(--surface-note);--child-colour-blue: var(--surface-project);--child-colour-lilac: var(--surface-magic);--child-colour-border: rgba(72, 65, 55, .14);--child-radius-card: var(--border-radius-xl);--child-radius-button: var(--border-radius-pill);--child-shadow-card: 0 .35rem 1.1rem rgba(52, 45, 34, .12);--child-shadow-soft: var(--box-shadow-soft);display:grid;grid-template-areas:"sidebar main";min-height:100dvh;overflow:auto;grid-template-columns:var(--sidebar-width) minmax(0,1fr);transition:grid-template-columns var(--transition-base)}.child-shell--sidebar-collapsed{grid-template-columns:4.5rem minmax(0,1fr)}.child-shell--mobile{display:block}.child-shell--sidebar-mobile-open .child-shell__main{pointer-events:none;overflow:hidden;filter:blur(2px)}.child-shell__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;border:0;background-color:#0000004d;opacity:0;pointer-events:none;cursor:pointer;transition:opacity var(--transition-base)}@media(min-width:768px){.child-shell__backdrop{display:none}}.child-shell--sidebar-mobile-open .child-shell__backdrop{opacity:1;pointer-events:auto}.child-shell__main{grid-area:main;min-width:0;min-height:100dvh;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-20);background:var(--child-colour-surface-gradient);transition:filter var(--transition-base)}@media(min-width:768px){.child-shell__main{padding:var(--spacing-32) var(--spacing-48)}}@media(min-width:1024px){.child-shell__main{padding:var(--spacing-40) var(--spacing-48)}}.child-sidebar{grid-area:sidebar;position:fixed;z-index:200;display:flex;flex-direction:column;width:var(--sidebar-width);height:100dvh;min-width:0;border-right:var(--border-width) solid var(--child-colour-border);background:linear-gradient(180deg,#fffdf9fa,#fbf8f3f5);color:var(--child-colour-ink);box-shadow:var(--box-shadow-soft);transform:translate(0);transition:width var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}@media(max-width:767px){.child-sidebar{inset:0 auto 0 0;width:min(var(--sidebar-width),85vw);transform:translate(-100%);box-shadow:none}}@media(max-width:767px){.child-sidebar--mobile-open{transform:translate(0);box-shadow:var(--box-shadow-3)}}.child-sidebar__header{position:relative;min-height:calc(var(--spacing-64) + var(--spacing-48));padding:var(--spacing-20) var(--spacing-16) var(--spacing-16);border-bottom:var(--border-width) solid var(--child-colour-border)}.child-sidebar__header-row{display:grid;height:100%}.child-sidebar__brand{display:flex;align-items:center;min-width:0;max-width:100%;color:var(--colour-text);overflow:hidden;transition:gap var(--transition-base),justify-content var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .child-sidebar__brand{justify-content:center;gap:0}}.child-sidebar__brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2.25rem;width:2.25rem;height:2.25rem;border-radius:var(--border-radius-md);background-color:var(--colour-brand-soft);color:var(--colour-action);font-family:var(--font-family-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);opacity:0;max-width:0;overflow:hidden;transition:opacity var(--transition-base),max-width var(--transition-base),flex-basis var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .child-sidebar__brand-mark{opacity:1;max-width:2.25rem;flex-basis:2.25rem}}@media(max-width:767px){.child-sidebar__brand-mark{display:none}}.child-sidebar__brand-text{display:flex;align-items:center;gap:var(--spacing-8);white-space:pre;min-width:0;max-width:100%;font-family:var(--font-family-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--colour-text);transition:all var(--transition-base)}@media(min-width:768px){.sidebar--collapsed .child-sidebar__brand-text{justify-content:center;gap:0}}.child-sidebar__toggle{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;justify-self:flex-end;margin-right:-35px;width:2.25rem;height:2.25rem;padding:0;border:var(--border-width) solid var(--child-colour-border);border-radius:var(--border-radius-pill);background:var(--child-colour-surface);color:var(--child-colour-ink);cursor:pointer;box-shadow:var(--box-shadow-soft);transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}.child-sidebar__toggle:hover{border-color:#48413747;background:var(--child-colour-cream);color:var(--child-colour-green-strong)}.child-sidebar__profile{display:grid;min-height:calc(var(--spacing-64) + var(--spacing-40));justify-items:center;align-content:center;gap:var(--spacing-4);padding:var(--spacing-24) var(--spacing-16) var(--spacing-20);text-align:center;border-bottom:var(--border-width) solid var(--child-colour-border)}.child-sidebar__profile-copy{display:grid;gap:var(--spacing-4);min-width:0}.child-sidebar__user-name{color:var(--child-colour-ink);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.child-sidebar__role{color:var(--child-colour-muted);font-size:var(--font-size-sm)}.child-sidebar__nav{display:flex;flex:1;flex-direction:column;gap:var(--spacing-8);padding:var(--spacing-16) var(--spacing-12)}.child-sidebar__link{display:flex;align-items:center;gap:var(--spacing-12);min-height:3.25rem;padding:var(--spacing-12) var(--spacing-16);border-radius:var(--border-radius-lg);color:var(--child-colour-ink);text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base)}.child-sidebar__link:hover{background-color:#dfe8d98f;color:var(--child-colour-green-strong)}.child-sidebar__link--active{background-color:var(--child-colour-green);color:#fff;box-shadow:var(--box-shadow-soft);font-weight:var(--font-weight-semibold)}.child-sidebar__link-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.25rem;width:1.25rem;color:currentColor}.child-sidebar__link-label{min-width:0;overflow:hidden;color:currentColor;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap}.child-sidebar__footer{display:grid;gap:var(--spacing-12);padding:var(--spacing-16);border-top:var(--border-width) solid var(--child-colour-border)}.child-sidebar__note{padding:var(--spacing-16);border-radius:var(--border-radius-lg);background:linear-gradient(135deg,#dfe8d970,#fffdf9eb);color:var(--child-colour-muted);font-size:var(--font-size-sm);line-height:var(--line-height-base);transition:transform var(--transition-base)}.child-sidebar__note p{margin:0}.child-sidebar__logout{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-12);min-height:3rem;padding:var(--spacing-8) var(--spacing-16);color:var(--child-colour-muted)}.child-sidebar__logout:hover{color:var(--child-colour-ink)}@media(min-width:768px){.child-sidebar--collapsed{width:4.5rem}.child-sidebar--collapsed .child-sidebar__header{min-height:calc(var(--spacing-64) + var(--spacing-48));padding:var(--spacing-20) var(--spacing-12) var(--spacing-16)}.child-sidebar--collapsed .child-sidebar__brand{justify-content:center;padding-right:0}.child-sidebar--collapsed .child-sidebar__toggle{margin-right:-31px}.child-sidebar--collapsed .child-sidebar__brand-mark{display:inline-flex}.child-sidebar--collapsed .child-sidebar__brand-text{transform:translate(-100%);opacity:0}.child-sidebar--collapsed .child-sidebar__profile{min-height:calc(var(--spacing-64) + var(--spacing-40));padding:var(--spacing-24) var(--spacing-12) var(--spacing-20)}.child-sidebar--collapsed .child-sidebar__profile-copy{max-width:0;opacity:0;overflow:hidden;pointer-events:none}.child-sidebar--collapsed .child-sidebar__nav{align-items:center;padding:var(--spacing-16) var(--spacing-8)}.child-sidebar--collapsed .child-sidebar__link{justify-content:center;width:3rem;height:3rem;min-height:3rem;padding:0}.child-sidebar--collapsed .child-sidebar__link-icon{flex-basis:auto;width:auto}.child-sidebar--collapsed .child-sidebar__link-label{display:none}.child-sidebar--collapsed .child-sidebar__footer{justify-items:center;padding:var(--spacing-16) var(--spacing-8)}.child-sidebar--collapsed .child-sidebar__note{transform:translate(-100%)}.child-sidebar--collapsed .child-sidebar__logout{justify-content:center;width:3rem;height:3rem;min-height:3rem;padding:0}}.child-snapshot{grid-row:5;grid-column:1/span 2}.child-snapshot-list{display:grid;gap:var(--spacing-8);padding:var(--spacing-12) 0}.child-snapshot-list__item{display:grid;grid-template-columns:minmax(4.5rem,6rem) minmax(0,1fr) auto;gap:var(--spacing-12);align-items:center}.child-snapshot-list__item span,.child-snapshot-list__item strong{color:var(--colour-text);font-size:var(--font-size-sm)}.child-snapshot-list__item-name{font-size:var(--font-size-xs);white-space:nowrap;width:6rem;overflow:hidden;text-overflow:ellipsis}.child-snapshot-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-8);border-top:1px solid var(--colour-border);padding-top:var(--spacing-16)}.child-today-tasks{grid-column:3/span 1;grid-row:1/span 3;display:flex;flex-direction:column;position:relative;line-height:1.2;background-image:linear-gradient(to bottom,var(--surface-note) calc(1.5em - 1px),#ccc calc(1.5em - 10px),#ccc 8em,var(--surface-note) 8em);background-position:0% 1.5em;background-size:100% 1.5em;background-repeat:repeat-y;border-style:solid;border-color:#fff;border-left:1rem solid var(--surface-note);border-right:1rem solid var(--surface-note);border-top:2rem solid var(--surface-note)}.child-today-tasks:before,.child-today-tasks:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#fff;box-shadow:-.5rem .5rem 1rem #0000001a}.child-today-tasks:before{transform:rotate(-2deg) translate(10px) translateY(10px) scale(1.1);z-index:-1}.child-today-tasks:after{transform:rotate(2deg) translate(-10px) translateY(30px);z-index:-2}.child-today-tasks__header,.child-today-tasks__task-header{display:flex;justify-content:space-between;align-items:center}.child-today-tasks__task{line-height:1.6;margin-top:1.4em;color:var(--colour-text)}.child-today-tasks__task-title,.child-today-tasks__task p{line-height:1.6em}.child-today-tasks__task--approved .child-today-tasks__task-title{position:relative;display:inline-block;color:var(--child-colour-muted)}.child-today-tasks__task--approved .child-today-tasks__task-title:before,.child-today-tasks__task--approved .child-today-tasks__task-title:after{content:"";position:absolute;left:-.1em;right:-.1em;height:2px;border-radius:var(--border-radius-pill);background:var(--colour-text);opacity:.55;pointer-events:none}.child-today-tasks__task--approved .child-today-tasks__task-title:before{top:44%;transform:rotate(-2deg)}.child-today-tasks__task--approved .child-today-tasks__task-title:after{top:58%;transform:rotate(1deg)}.child-today-tasks__paper-clip{position:absolute;top:-50px;right:50px;width:29px;height:auto}.child-topbar{display:grid;gap:var(--spacing-20);align-items:end;margin-bottom:var(--spacing-24)}@media(min-width:1024px){.child-topbar{grid-template-columns:minmax(0,1fr) auto}}.child-topbar__welcome{display:grid}.child-topbar__title{margin:0;font-family:var(--font-family-serif);font-weight:var(--font-weight-medium);font-size:var(--font-size-4xl);line-height:1}.child-topbar__subtitle{margin:0;color:var(--colour-muted-light);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.child-topbar__streak-content{display:flex;align-items:center;gap:var(--spacing-16);border-right:var(--border-width) solid color-mix(in srgb,var(--colour-border) 50%,transparent);padding-right:var(--spacing-32)}.child-topbar__streak{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:var(--spacing-16);padding:var(--spacing-12) var(--spacing-16);border:0;box-shadow:none;background:transparent}.child-topbar__streak-badge{display:inline-flex;align-items:center;justify-content:center;width:5rem;height:5rem;border-radius:999px}.child-topbar__streak-copy{display:flex;flex-direction:column;align-items:baseline}.child-topbar__streak-copy strong{font-family:var(--font-family-serif);font-weight:var(--font-weight-regular);font-size:var(--font-size-2xl);line-height:1}.child-topbar__streak-copy span{color:var(--colour-muted-light);font-size:var(--font-size-sm)}.child-topbar__week{display:flex;align-items:end;gap:var(--spacing-16);padding-left:var(--spacing-16)}.child-topbar__day{display:grid;justify-items:center;gap:var(--spacing-16)}.child-topbar__day-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-light);text-transform:uppercase;color:var(--colour-muted-light)}.child-topbar__day-dot{width:var(--spacing-20);height:var(--spacing-20);border-radius:999px;border:var(--border-width) solid color-mix(var(--colour-success),transparent 50%)}.child-topbar__day-dot--complete{border-color:var(--colour-action);background:var(--colour-action)}.recent-unlocks-card{display:flex;flex-direction:column;border:none;box-shadow:var(--box-shadow-1);grid-row:5;grid-column:1/span 1}.recent-unlocks-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8)}.recent-unlocks-card__title{color:var(--colour-action-strong)}.recent-unlocks-card__grid{display:flex;justify-content:space-between;gap:var(--spacing-16)}.recent-unlocks-card__art{aspect-ratio:1/1;width:100px}.recent-unlocks-card__copy{display:flex;flex-direction:column;text-align:center}.recent-unlocks-card__item{border:none;box-shadow:var(--box-shadow-soft)}.recent-unlocks-card__type,.recent-unlocks-card__name{font-size:var(--font-size-sm)}.child-daily-note-card{position:relative;overflow:hidden;min-height:100%;grid-row:4;grid-column:1}.child-daily-note-card:after{position:absolute;right:-2.5rem;bottom:-2.5rem;width:8rem;height:8rem;border-radius:999px;background:color-mix(in srgb,var(--surface-note) 48%,transparent);content:"";pointer-events:none}.child-daily-note-card__title{position:relative;margin:0 0 var(--spacing-16);color:var(--child-colour-ink);font-size:var(--font-size-lg)}.child-daily-note-card__message{position:relative;margin:0;color:var(--child-colour-ink);font-size:var(--font-size-md);line-height:var(--line-height-base)}
