:root{--colour-paper:#fff;--colour-navy:#182446;--colour-plum:#412349;--colour-text:#fff;--colour-text-muted:#ffffffbf;--colour-blue:#adcaff;--colour-pink:#ffd3f6;--colour-blue-press:#8fb5f7;--colour-pink-press:#f5b3ea;--colour-plum-press:#2f1935;--colour-navy-press:#0e1730;--colour-surface:var(--colour-plum);--colour-line:#adcaff40;--font-body:"Google Sans Flex", system-ui, sans-serif;--font-display:"Finger Paint", var(--font-body);--radius:5px;--radius-pill:500px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);color:var(--colour-text);background:var(--colour-paper);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}main{background:var(--colour-navy);max-width:40rem;min-height:100vh;margin:0 auto;padding:2rem 1rem;container-type:inline-size}@media (width>=48rem){main{max-width:60rem}.auth-main{max-width:40rem}}.auth-main{flex-direction:column;align-content:center;align-items:center;height:100dvh;padding-top:3rem;padding-bottom:2rem;display:flex;container-type:inline-size}.auth-footer{flex-direction:column;align-items:center;gap:.25rem;margin-top:auto;padding-bottom:2rem;display:flex}.auth-footer nav{gap:1.5rem;display:flex}.auth-footer a{color:var(--colour-text);text-decoration:none}.auth-footer a:hover{color:var(--colour-blue)}.auth-main h1{text-align:center;width:70%;margin:0 0 .75rem;font-size:8.53659cqw;line-height:1.15}.auth-main .subtitle{text-align:center;width:70%;margin:0 0 2rem;font-size:3.88889cqw}.auth-main form{width:70%;margin:0;padding:1rem}.auth-intro{text-align:center;width:70%}@media (width<=48rem){.auth-intro,.auth-main h1,.auth-main .subtitle,.auth-main form{width:90%}.auth-main h1{font-size:10.9756cqw}.auth-main .subtitle{font-size:6cqw}}.auth-main input::placeholder{color:var(--colour-text);opacity:1}.password-field{display:block;position:relative}.password-field input{padding-right:3rem}.password-toggle{color:var(--colour-text-muted);background:0 0;border:none;padding:.375rem;line-height:0;position:absolute;top:50%;right:.375rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--colour-text);border:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-actions{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.5rem;display:flex}.link-button{color:var(--colour-text);cursor:pointer;white-space:normal;text-align:right;background:0 0;border:none;border-radius:0;padding:0;font-size:1rem;text-decoration:underline}.link-button:hover{color:var(--colour-blue);border:none}@media (width<=48rem){.form-actions{flex-direction:column;align-items:stretch;gap:.875rem}.form-actions .link-button{text-align:center}}.install-prompt{text-align:center;flex-direction:column;align-items:center;gap:.625rem;width:70%;margin:2rem 0 0;display:flex}h1{font-family:var(--font-display);color:var(--colour-text);margin:0;padding:0 0 .5rem;font-size:3rem;font-weight:400;line-height:1.1}.subtitle{letter-spacing:.08em;color:var(--colour-blue);margin:0 0 1.5rem;font-size:1.25rem;font-weight:300}h2{color:var(--colour-pink);margin:2.5rem 0 0;padding:0 0 1rem;font-size:1.4rem;font-weight:300}h2:has(>.section-dropdown-trigger){padding-bottom:0}h3{margin:.75rem 0 0;padding:0 0 .5rem;font-size:1.15rem;font-weight:500}h4{color:var(--colour-text-muted);margin:0;padding:0 0 .375rem;font-size:1rem;font-weight:500}h5,h6{margin-block-end:0}p{margin:0;line-height:1.6}p+p{margin-top:1rem}strong,b{font-weight:500}small{color:var(--colour-text-muted);font-size:1rem}a{color:var(--colour-blue)}a:hover{color:var(--colour-pink)}img{border-radius:var(--radius);max-width:100%;display:block}figure{margin:1rem 0}figcaption{color:var(--colour-text-muted);margin-top:.375rem;font-size:1rem}[role=alert]{color:var(--colour-pink)}[role=status]{color:var(--colour-blue)}button,.button{font-family:var(--font-body);border:1px solid var(--colour-line);color:var(--colour-text);cursor:pointer;white-space:nowrap;background:0 0;border-radius:2rem;padding:.5rem 1rem;font-size:1rem;text-decoration:none;display:inline-block}button:hover{border-color:var(--colour-text-muted)}button:disabled{opacity:.4;cursor:default}button[type=submit],.button-primary{background:var(--colour-pink);border-color:var(--colour-pink);color:var(--colour-plum);border-radius:2rem;padding:1rem 2rem;font-weight:500}button[type=submit]:hover,.button-primary:hover{background:var(--colour-pink-press);border-color:var(--colour-pink-press);color:var(--colour-plum)}.button-secondary{border:2px solid var(--colour-blue);color:var(--colour-blue);background:0 0;border-radius:2rem;padding:1rem 2rem;font-weight:500}.button-secondary:hover{border-color:var(--colour-blue-press);color:var(--colour-blue);background:#adcaff26}:focus-visible{outline:2px solid var(--colour-blue);outline-offset:2px}form{background:var(--colour-surface);border:1px solid var(--colour-line);border-radius:var(--radius);margin:1rem 0;padding:1.5rem}label{color:var(--colour-text-muted);margin:0 0 1rem;font-size:1rem;display:block}input,textarea,select{width:100%;font-family:var(--font-body);color:var(--colour-text);background:var(--colour-navy);border:1px solid var(--colour-line);border-radius:var(--radius);margin-top:.375rem;padding:.625rem .75rem;font-size:1rem;display:block}input[type=file]{background:0 0;border:none;padding:.375rem 0}fieldset{border:1px solid var(--colour-line);border-radius:var(--radius);margin:0 0 1rem;padding:1rem}legend{color:var(--colour-text-muted);padding:0 .5rem;font-size:1rem}@media (width<=48rem){input,textarea,select{padding:.8rem .7rem;font-size:1.1rem}small,label,legend,figcaption,.link-button{font-size:1rem}}.portal-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;margin-bottom:.75rem;display:flex}.portal-header h1{margin:0;font-size:min(12.1951cqw - 1.03659rem,2.5rem);line-height:1.2}.portal-header .subtitle{flex-basis:100%;margin:0;font-size:1.4rem}.nav-menu{flex-shrink:0}.nav-toggle{padding:.625rem 1.25rem;font-size:1.125rem}.nav-overlay{background:var(--colour-navy);z-index:50;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.nav-close{padding:.625rem .875rem;font-size:1.25rem;line-height:1;position:absolute;top:1.25rem;right:1.25rem}.nav-panel ul{justify-items:center;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.nav-panel a,.nav-panel button{text-align:center;width:16rem;max-width:calc(100vw - 4rem);color:var(--colour-blue);border:2px solid var(--colour-blue);background:0 0;border-radius:2rem;padding:1rem 2rem;font-size:1.15rem;font-weight:500;text-decoration:none;display:block}.nav-panel a:hover,.nav-panel button:hover{border-color:var(--colour-blue-press);color:var(--colour-blue);background:#adcaff26}.nav-panel ul.nav-panel-utilities{margin-top:1.25rem}.nav-panel-utilities a,.nav-panel-utilities button{border-color:var(--colour-paper);color:var(--colour-paper)}.nav-panel-utilities a:hover,.nav-panel-utilities button:hover{border-color:var(--colour-paper);color:var(--colour-paper);background:#ffffff1f}.spacer-block{width:100%;height:1rem}.event-card{background:var(--colour-surface);border:1px solid var(--colour-line);border-radius:var(--radius);margin:1rem 0;padding:1.25rem}.event-card h3{color:var(--colour-blue);margin-top:.75rem}.event-card p{color:var(--colour-text-muted);margin:0 0 .25rem}.gallery-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:var(--radius);margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.gallery-strip::-webkit-scrollbar{display:none}.gallery-strip li{scroll-snap-align:start;flex:0 0 100%}.content-section .gallery-tile,.content-section .gallery-tile:hover,.gallery-tile{border-radius:var(--radius);cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.gallery-tile img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%;display:block}@media (width>=48rem){.gallery-tile img{aspect-ratio:16/9}}.gallery-controls{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.gallery-controls button{border-radius:var(--radius-pill);justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:1.5rem;line-height:1;display:inline-flex}.gallery-count{color:inherit}.lightbox{background:var(--colour-navy);color:var(--colour-text);border:none;border-radius:0;flex-direction:column;gap:.75rem;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:1rem;display:flex}.lightbox::backdrop{background:#000000d9}.lightbox-close{z-index:1;padding:.5rem .75rem;font-size:1.25rem;line-height:1;position:absolute;top:1rem;right:1rem}.lightbox-image{object-fit:contain;touch-action:pan-y;border-radius:0;flex:1;width:100%;min-height:0}.lightbox-controls{flex-shrink:0;margin-top:0}.content-section{background:var(--section-bg,var(--colour-paper));color:var(--section-text,var(--colour-navy));border:2px solid var(--section-border,transparent);border-radius:var(--radius);margin:1rem 0 1.5rem;padding:1.25rem 1rem}.content-section h2{margin-top:0;font-weight:500}.content-section h2,.content-section h3,.content-section h4,.content-section a:not(.button),.content-section small,.content-section figcaption{color:inherit}.content-section a.button,.content-section button{background:var(--btn-bg,var(--colour-plum));border:1px solid var(--btn-bg,var(--colour-plum));color:var(--btn-text,var(--colour-text))}.content-section a.button:hover,.content-section button:hover{background:color-mix(in srgb, var(--btn-bg,var(--colour-plum)) 85%, #000);border-color:color-mix(in srgb, var(--btn-bg,var(--colour-plum)) 85%, #000);color:var(--btn-text,var(--colour-text))}.content-section a.button-secondary,.content-section button.button-secondary{border:2px solid var(--btn-bg,var(--colour-plum));color:var(--btn-bg,var(--colour-plum));background:0 0}.content-section a.button-secondary:hover,.content-section button.button-secondary:hover{background:color-mix(in srgb, var(--btn-bg,var(--colour-plum)) 12%, transparent);border-color:var(--btn-bg,var(--colour-plum));color:var(--btn-bg,var(--colour-plum))}.file-link{border:1px solid color-mix(in srgb, currentColor 25%, transparent);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .625rem;padding:.625rem .625rem .625rem 1rem;display:flex}.file-link-title{flex:1}.heading-medium{font-size:1.45rem}.heading-large{font-size:1.75rem}.drag-handle{cursor:grab;border:1px solid var(--colour-line);border-radius:var(--radius);color:var(--colour-text-muted);touch-action:none;padding:.25rem .5rem;line-height:1}.drag-handle:active{cursor:grabbing}.section-card{background:var(--colour-surface);border:1px solid var(--colour-line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.section-card-title{flex:1;min-width:12rem}.page-rename-form{align-items:center;gap:.375rem;display:flex}.page-rename-form input{flex:1;width:auto;margin-top:0}.section-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.section-title-field{flex:1;min-width:14rem;margin:0}.section-editor-status{align-items:center;gap:.75rem;display:flex}.section-editor{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=48rem){.section-editor{grid-template-columns:1fr}}.section-editor-preview{background:var(--colour-navy);border:1px solid var(--colour-line);border-radius:var(--radius);max-height:calc(100vh - 2rem);padding:0 1rem 1rem;position:sticky;top:1rem;overflow-y:auto}.preview-label{background:var(--colour-navy);border-bottom:1px solid var(--colour-line);margin:0;padding:.75rem 0;position:sticky;top:0}.block-edit{background:var(--colour-surface)}.block-edit legend{align-items:center;gap:.5rem;display:flex}.add-block-bar{flex-wrap:wrap;gap:.375rem;margin-top:1rem;display:flex}.section-style-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-top:1rem;display:flex}.swatch-picker{flex-wrap:wrap;gap:.5rem;display:flex}.swatch-chip{cursor:pointer;align-items:center;gap:.375rem;margin:0;display:flex}.swatch-sample{border-radius:var(--radius);border:1px solid var(--colour-line);width:1.5rem;height:1.5rem;display:inline-block}.swatch-sample-default{background:var(--colour-paper)}.swatch-chip input[type=radio]{width:auto;accent-color:var(--colour-pink);margin:0;display:inline}.gallery-cards{margin:1rem 0;padding:0;list-style:none}.gallery-card{background:var(--colour-surface);border:1px solid var(--colour-line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.75rem 1rem;display:flex}.gallery-modal{background:var(--colour-surface);color:var(--colour-text);border:1px solid var(--colour-line);border-radius:var(--radius);width:min(44rem,100vw - 2rem);max-height:calc(100vh - 4rem);padding:1.25rem}.gallery-modal::backdrop{background:#000000b3}.gallery-modal header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.gallery-modal header h3{margin:0}.gallery-modal footer{min-height:2.5rem;margin-top:1rem}.gallery-manage-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.gallery-manage-grid li{border:1px solid var(--colour-line);border-radius:var(--radius);padding:.5rem}.gallery-manage-pick{cursor:pointer;margin:0;display:block;position:relative}.gallery-manage-pick input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--colour-pink);margin:0;position:absolute;top:.375rem;left:.375rem}.gallery-manage-pick img{aspect-ratio:1;object-fit:cover;width:100%}.gallery-manage-pick:has(input:checked) img{outline:3px solid var(--colour-pink)}.gallery-manage-grid small{text-overflow:ellipsis;white-space:nowrap;margin:.375rem 0;display:block;overflow:hidden}.gallery-manage-grid input[type=text]{padding:.375rem .5rem;font-size:1rem}.gallery-manage-missing{aspect-ratio:1;color:var(--colour-text-muted);border:1px dashed var(--colour-line);border-radius:var(--radius);justify-content:center;align-items:center;display:flex}.rich-text h2{margin-top:1.5rem}.rich-text blockquote{border-left:3px solid var(--colour-pink);color:var(--colour-text-muted);margin:1rem 0;padding:.25rem 0 .25rem 1rem}.rte [contenteditable]{border:1px solid var(--colour-line);border-radius:var(--radius);background:var(--colour-paper);min-height:6rem;color:var(--colour-navy);margin-top:.5rem;padding:.75rem}.rte [role=toolbar]{flex-wrap:wrap;gap:.375rem;display:flex}.rte [role=toolbar] button{padding:.25rem .625rem;font-size:1rem}.rte [role=toolbar] button[aria-pressed=true]{background:var(--colour-blue);border-color:var(--colour-blue);color:var(--colour-navy)}.admin-main{background:#000}.admin-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.admin-header a{color:var(--colour-text)}.admin-nav{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.user-list{margin:0 0 1.5rem;padding:0;list-style:none}.user-row{border-bottom:1px solid var(--colour-line);align-items:center;gap:.5rem;padding:.625rem 8.5rem .625rem 0;display:flex;position:relative}.user-row.suspended .user-row-name{opacity:.55}.user-row-actions{align-items:center;gap:.375rem;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.confirm-label{font-size:1rem}.admin-main .icon-button{border-width:2px;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex}.admin-main form,.admin-main fieldset,.admin-main .section-card,.admin-main .gallery-card,.admin-main .gallery-modal{background:var(--colour-paper);color:var(--colour-navy)}.admin-main form{padding:1rem}.admin-main .block-edit{background:var(--colour-paper)}.admin-main label,.admin-main legend,.admin-main small,.admin-main figcaption{color:inherit}.admin-main input::placeholder,.admin-main textarea::placeholder{color:var(--colour-text);opacity:1}.admin-main button,.admin-main .button{border:1px solid var(--colour-paper);color:var(--colour-paper);background:#000}.admin-main button:hover,.admin-main .button:hover{border-color:var(--colour-paper);color:var(--colour-paper);background:#1a1a1a}.admin-main button[type=submit],.admin-main .button-primary{border-color:var(--colour-paper);color:var(--colour-paper);background:#000;padding:.5rem 1rem}.admin-main .publish-toggle.is-published{color:#fff;background:#8b2222;border-color:#8b2222}.admin-main .publish-toggle.is-published:hover{color:#fff;background:#6f1b1b;border-color:#6f1b1b}.admin-main .publish-toggle.is-draft{color:#fff;background:#1e6e3c;border-color:#1e6e3c}.admin-main .publish-toggle.is-draft:hover{color:#fff;background:#185a31;border-color:#185a31}.admin-main .current-toggle.is-on{background:var(--colour-paper);border-color:var(--colour-paper);color:#000}.admin-main .current-toggle.is-on:hover{color:#000;background:#e6e6e6;border-color:#e6e6e6}.admin-main button[type=submit]:hover,.admin-main .button-primary:hover{border-color:var(--colour-paper);color:var(--colour-paper);background:#1a1a1a}.admin-main .button-secondary{border-color:var(--colour-paper);color:var(--colour-paper);background:0 0}.admin-main fieldset>legend{background:var(--colour-paper);border-radius:var(--radius);padding:.125rem .5rem}.admin-main .block-edit legend{background:var(--colour-navy);color:var(--colour-text);border-radius:2rem;padding:.25rem .375rem .25rem .875rem}.admin-main .drag-handle{color:var(--colour-paper);border-color:var(--colour-paper);background:#000}.recipe-cards{grid-template-columns:1fr;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=48rem){.recipe-cards{grid-template-columns:1fr 1fr}}.content-section .recipe-card,.content-section .recipe-card:hover,.recipe-card{background:var(--colour-navy);border-radius:var(--radius);width:100%;color:var(--colour-text);text-align:left;white-space:normal;cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex}.recipe-card-text{text-align:left;flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.recipe-card-title{font-size:1.15rem;font-weight:500}.recipe-card-thumb{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:3rem;height:3rem}.symbol-row{flex-wrap:wrap;align-items:flex-end;gap:.375rem .5rem;display:flex}.symbol-cell{flex-direction:column;align-items:center;gap:.125rem;display:inline-flex}.content-section .symbol-cell-button,.content-section .symbol-cell-button:hover,.symbol-cell-button{border-radius:var(--radius);cursor:pointer;color:inherit;white-space:normal;background:0 0;border:none;padding:.125rem}.symbol-img{border-radius:0;width:2.5rem;height:2.5rem;display:block}.symbol-img-empty{height:0}.symbol-word{font-size:1rem}.recipe-ingredients,.recipe-steps{padding-left:1.25rem}.recipe-ingredients li,.recipe-steps li{margin-bottom:.875rem}.recipe-ingredients{padding-left:0;list-style:none}.recipe-dialog{background:var(--colour-paper);color:var(--colour-navy);border:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:1rem;overflow-y:auto}.recipe-dialog::backdrop{background:#000000d9}.recipe-dialog-bar{justify-content:space-between;gap:.75rem;margin-bottom:.5rem;display:flex}.recipe-dialog h2,.recipe-dialog h3{color:inherit}.recipe-attribution,.attribution{color:var(--colour-text-muted)}.recipe-dialog .recipe-attribution{color:inherit;opacity:.6}.attribution{font-size:.8rem}@media print{body:has(.recipe-print-root) *{visibility:hidden}.recipe-print-root,.recipe-print-root *{visibility:visible}.recipe-print-root{color:#000;background:#fff;width:auto;height:auto;max-height:none;position:absolute;inset:0;overflow:visible}.recipe-dialog-bar{display:none}}.recipe-row{align-items:center;gap:.5rem;display:flex}.recipe-row input[type=text]{flex:1;width:auto;margin-top:0}.recipe-preview-sheet{background:var(--colour-navy);color:var(--colour-text);border-radius:var(--radius);padding:1rem}.recipe-editor-blocks>h3:not(:first-child){margin-top:2.5rem}.recipe-editor-blocks>button{margin-top:.75rem}.recipe-card-icon{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:2.5rem;height:2.5rem}.recipe-thumb-field{align-items:center;gap:.75rem;margin:1rem 0;display:flex}.recipe-thumb-preview{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:4rem;height:4rem}.symbol-picker{background:var(--colour-paper);color:var(--colour-navy);border-radius:var(--radius);border:none;width:min(28rem,100vw - 2rem);max-height:70vh;padding:1.25rem;overflow-y:auto}.symbol-picker::backdrop{background:#0009}.symbol-picker-grid{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem;margin-top:.75rem;display:grid}.symbol-picker-grid button{white-space:normal;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem;display:flex}.symbol-picker-grid img{width:2.5rem;height:2.5rem}.cal-toggle{background:var(--colour-surface);border-radius:var(--radius-pill);width:fit-content;margin:0 auto .75rem;padding:3px;display:flex}.content-section .cal-toggle button,.content-section .cal-toggle button:hover,.cal-toggle button{color:var(--colour-text);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:none;padding:.35rem 1.1rem;font-size:1rem}.content-section .cal-toggle button.cal-toggle-on,.content-section .cal-toggle button.cal-toggle-on:hover,.cal-toggle button.cal-toggle-on{background:var(--colour-blue);color:var(--colour-navy);font-weight:500}.cal-nav{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.content-section .cal-nav button,.content-section .cal-nav button:hover,.cal-nav button{background:var(--colour-surface);width:2.25rem;height:2.25rem;color:var(--colour-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;display:inline-flex}.cal-nav button:disabled{opacity:.35;cursor:default}.cal-range{font-size:1rem}.content-section .cal-today,.content-section .cal-today:hover,.cal-today{border-radius:var(--radius-pill);color:inherit;opacity:.75;cursor:pointer;background:0 0;border:1.5px solid;margin:0 auto .75rem;padding:.25rem .9rem;font-size:1rem;display:block}.cal-agenda{flex-direction:column;gap:.6rem;display:flex}.cal-agenda-label{text-transform:uppercase;letter-spacing:.06em;opacity:.65;margin:.75rem 0 0;font-size:1rem}.cal-day-card{background:var(--colour-surface);border-radius:var(--radius);color:var(--colour-text);padding:.7rem .9rem}.cal-day-card h3{margin:0 0 .35rem;font-size:1rem;font-weight:500}.cal-chip{border-radius:var(--radius);width:fit-content;margin-top:.35rem;padding:.3rem .7rem;font-size:1rem;display:block}.cal-chip-term{background:var(--colour-blue);color:var(--colour-navy)}.cal-chip-event{background:var(--colour-pink);color:var(--colour-plum)}.cal-chip-closed{border:1.5px solid var(--colour-text-muted);color:var(--colour-text)}.cal-empty{background:var(--colour-surface);border-radius:var(--radius);color:var(--colour-text-muted);text-align:center;padding:.9rem}.cal-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.cal-grid-head{opacity:.65;padding:.25rem 0;font-size:1rem}.cal-cell{border-radius:var(--radius);min-height:2.6rem;color:inherit;background:0 0;border:none;padding:.3rem 0 .7rem;font-size:1rem;position:relative}.content-section button.cal-cell,.content-section button.cal-cell:hover,button.cal-cell{cursor:pointer;background:var(--colour-surface);color:var(--colour-text)}.cal-cell-out{opacity:.3}.cal-cell-today{outline:1.5px solid var(--colour-pink)}.cal-dots{justify-content:center;gap:3px;display:flex;position:absolute;bottom:.3rem;left:0;right:0}.cal-dot{border-radius:50%;width:6px;height:6px}.cal-dot-term{background:var(--colour-blue)}.cal-dot-event{background:var(--colour-pink)}.cal-dot-closed{border:1px solid var(--colour-text-muted)}.cal-admin-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.cal-admin-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-admin-cell{border-radius:var(--radius);background:var(--colour-surface);min-height:3.6rem;color:var(--colour-text);text-align:left;vertical-align:top;border:none;padding:.3rem .4rem;font-size:1rem}button.cal-admin-cell{cursor:pointer}span.cal-admin-cell{background:0 0}.cal-mini{border-radius:var(--radius);white-space:nowrap;text-overflow:ellipsis;margin-top:.25rem;padding:.05rem .35rem;font-size:1rem;display:block;overflow:hidden}.cal-modal{background:var(--colour-navy);color:var(--colour-text);border:1.5px solid var(--colour-line);border-radius:var(--radius);width:calc(100vw - 2rem);max-width:24rem;padding:1rem 1.25rem}.cal-modal::backdrop{background:#0009}.cal-modal h3{margin:0 0 .75rem;font-size:1.05rem;font-weight:500}.cal-modal-entry{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.cal-modal-entry .cal-chip{flex:1;margin-top:0}.cal-modal-add{border-top:1px solid var(--colour-line);margin-top:.75rem;padding-top:.75rem}.cal-modal-add input{width:100%;font-size:1.1rem}.cal-modal-cats{flex-wrap:wrap;gap:.5rem;margin:.6rem 0;display:flex}.cal-cat{border-radius:var(--radius-pill);cursor:pointer;opacity:.55;border:1.5px solid #0000;padding:.3rem .8rem;font-size:1rem}.cal-cat-on{opacity:1;border-color:var(--colour-paper)}.cal-modal-actions{justify-content:space-between;display:flex}.content-section .section-dropdown-trigger,.content-section .section-dropdown-trigger:hover,.section-dropdown-trigger{width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;padding:0;display:flex}.section-chevron{border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.55em;height:.55em;transition:transform .2s;transform:translateY(-.15em)rotate(45deg)}.section-chevron-open{transform:translateY(.15em)rotate(225deg)}
