:root{--n9-colour-background:#F7F8FA;--n9-colour-surface:#FFFFFF;--n9-colour-text:#172337;--n9-colour-muted:#526071;--n9-colour-primary:#D6A32B;--n9-colour-primary-text:#241C08;--n9-colour-primary-hover:#C18A12;--n9-colour-link:#725009;--n9-colour-border:#7B8796;--n9-colour-focus:#725009;--n9-colour-tint:#F0F2F5}
/* Personal accents share a neutral canvas. Educational semantic colours remain native. */
html[data-n9-palette]:not(:has(>body.student-area)) {
  --ink:var(--n9-colour-text);--muted:var(--n9-colour-muted);--paper:var(--n9-colour-background);--cream:var(--n9-colour-tint);--line:var(--n9-colour-border);
  --gold-soft:var(--n9-colour-tint);--menu-accent:var(--n9-colour-primary);--menu-accent-strong:var(--n9-colour-link);--menu-accent-soft:var(--n9-colour-tint);--menu-accent-ink:var(--n9-colour-primary-text);
  --n9-palette-bg:var(--n9-colour-background);--n9-palette-soft:var(--n9-colour-tint);--n9-palette-accent:var(--n9-colour-link);--n9-palette-alt:var(--n9-colour-border);
}
html[data-n9-palette] body {background:var(--n9-colour-background);color:var(--n9-colour-text)}
html[data-n9-palette] :is(.site-header,.header-preferences-panel,.header-dictionary-panel){background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] .nav>:is(a,details)>summary,html[data-n9-palette] .nav>a{color:var(--n9-colour-text)}
html[data-n9-palette] .nav :is(.header-course-link,.cart-pill,.header-finder-link){background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] .nav>a.active,html[data-n9-palette] .nav>a[aria-current=page]{color:var(--n9-colour-link);border-color:var(--n9-colour-link)}
html[data-n9-palette] body:not(.student-area) :is(.button,button.button):not(.game-stage .button):not(.game-card .button):not(.danger):not(.is-danger):not(.text):not(.secondary):not(.light):not(.correct):not(.incorrect):not(.is-correct):not(.is-incorrect):not(.success):not(.warning):not(.error):not(:disabled):not([aria-disabled="true"]),html[data-n9-palette] .n9-colour-actions [data-n9-save]:not(:disabled){background:var(--n9-colour-primary);color:var(--n9-colour-primary-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] body:not(.student-area) :is(.button,button.button):not(.game-stage .button):not(.game-card .button):not(.danger):not(.is-danger):not(.text):not(.secondary):not(.light):not(.correct):not(.incorrect):not(.is-correct):not(.is-incorrect):not(.success):not(.warning):not(.error):not(:disabled):not([aria-disabled="true"]):hover,html[data-n9-palette] .n9-colour-actions [data-n9-save]:not(:disabled):hover{background:var(--n9-colour-primary-hover);color:var(--n9-colour-primary-text)}
html[data-n9-palette] body:not(.student-area) :is(.button.secondary,.button.light,.button.text):not(.game-stage .button):not(:disabled):not([aria-disabled="true"]){background:var(--n9-colour-surface);color:var(--n9-colour-link);border-color:var(--n9-colour-border)}
html[data-n9-palette] :is(.n9-family-page,.n9-enrolment-page){--n9-palette-bg:var(--n9-colour-background);--n9-palette-soft:var(--n9-colour-tint);--n9-palette-accent:var(--n9-colour-link);--n9-palette-alt:var(--n9-colour-border)}
html[data-n9-palette] :is(.n9-family-page,.n9-enrolment-page) :is(.n9-family-panel,.n9-palette-form,.wizard-card,.n9-wizard-card,.n9-learning,.n9-term-card){background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] .n9-family-page :is(.n9-welcome,.n9-learning-subjects){background:var(--n9-colour-surface);color:var(--n9-colour-text)}
html[data-n9-palette] .n9-family-page .wizard-card:not(.n9-learning)>form>button{background:var(--n9-colour-tint);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] :is(.n9-family-page,.n9-enrolment-page) .guardian-header{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] :is(.n9-family-page,.n9-enrolment-page) .guardian-header :is(a,button,summary){color:var(--n9-colour-link)}
html[data-n9-palette] :is(.n9-family-page,.n9-enrolment-page) .guardian-header button{border-color:var(--n9-colour-border)}
html[data-n9-palette] :is(.n9-family-page,.n9-enrolment-page) .guardian-shell a:not(.button){color:var(--n9-colour-link)}
html[data-n9-palette] .n9-family-name-fields input{border-color:var(--n9-colour-border);color:var(--n9-colour-text);background:var(--n9-colour-surface)}
html[data-n9-palette] .n9-palette-form p{color:var(--n9-colour-muted)}
html[data-n9-palette] .n9-membership-page{--n9-ink:var(--n9-colour-text);--n9-green:var(--n9-colour-link);--n9-muted:var(--n9-colour-muted);--n9-line:var(--n9-colour-border);--n9-paper:var(--n9-colour-surface);background:var(--n9-colour-background)}
html[data-n9-palette] .n9-membership-page :is(.checkout-account-choice,.checkout-account-choice.is-primary,.n9-membership-next,.checkout-account-consent,.checkout-account-gate-close,.password-toggle){background:var(--n9-colour-tint);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] .n9-membership-page .checkout-account-choice :is(.checkout-account-choice-kicker,span:last-child){color:var(--n9-colour-muted)}
html[data-n9-palette] .n9-membership-page :is(input:not([type=checkbox]):not([type=radio]),select){border-color:var(--n9-colour-border);color:var(--n9-colour-text);background:var(--n9-colour-surface)}
/* Double focus ring remains visible on both pale surfaces and coloured buttons. */
html[data-n9-palette] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--n9-colour-focus);outline-offset:4px;box-shadow:0 0 0 3px var(--n9-colour-surface)}
.n9-colour-control{color:var(--n9-colour-text,#172337);min-width:0;width:100%;box-sizing:border-box;text-align:left}
.n9-colour-control fieldset{border:0;padding:0;margin:0;min-width:0;background:none}
.n9-colour-control legend{font:inherit;font-weight:750;margin:0 0 6px;padding:0}
.n9-colour-scope,.n9-colour-status{font-size:13px;line-height:1.45;color:var(--n9-colour-muted,#45536a);margin:6px 0 10px}
.n9-colour-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.n9-colour-control .n9-colour-option{display:flex;align-items:center;gap:6px;min-height:44px;padding:7px;border:1px solid var(--n9-colour-border,#6b7280);border-radius:8px;cursor:pointer;background:var(--n9-colour-surface,#fff);color:var(--n9-colour-text,#172337);font-size:12px;line-height:1.35;margin:0;box-sizing:border-box;overflow-wrap:anywhere}
.n9-colour-option:has(input:checked){outline:2px solid var(--n9-colour-focus);outline-offset:1px;font-weight:750}
.n9-colour-option input,.n9-colour-inherit input,.n9-colour-legacy input{width:16px;height:16px;min-height:0;margin:0;flex:0 0 auto;accent-color:var(--n9-colour-link)}
.n9-colour-dot{width:16px;height:16px;flex:0 0 auto;border-radius:50%;background:var(--n9-colour-primary);border:1px solid var(--n9-colour-border)}
.n9-colour-inherit,.n9-colour-legacy{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px}
.n9-colour-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.n9-colour-actions button{font:inherit;font-size:13px;min-height:44px;border:1px solid var(--n9-colour-border,#6b7280);border-radius:7px;padding:8px 11px;cursor:pointer;background:var(--n9-colour-surface,#fff);color:var(--n9-colour-link,#164f82);box-shadow:none}
.n9-colour-control button:disabled,.n9-colour-control input:disabled{cursor:not-allowed;opacity:.65}
.n9-colour-control [hidden]{display:none!important}
.header-preferences-panel:has(.n9-colour-control){width:min(430px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 120px));overflow:auto;box-sizing:border-box}
.header-preferences-panel .n9-colour-control{border-top:1px solid var(--n9-colour-border,#6b7280);padding-top:12px;margin-top:8px}
.n9-private-preferences{position:relative}
.n9-private-preferences>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650}
.n9-private-preferences .header-preferences-panel{z-index:100;position:absolute;right:0;top:100%;padding:16px;border:1px solid var(--n9-colour-border);border-radius:12px;background:var(--n9-colour-surface);box-shadow:0 12px 36px #17233722}
.n9-private-preferences .n9-colour-control{border:0;margin:0;padding:0}
@media(max-width:650px){.n9-colour-options{grid-template-columns:repeat(2,minmax(0,1fr))}.n9-private-preferences .header-preferences-panel{right:auto;left:0;max-height:60vh}.n9-colour-option{font-size:14px}}
@media(forced-colors:active){.n9-colour-option:has(input:checked){outline:2px solid Highlight}.n9-colour-dot{forced-color-adjust:none}.n9-colour-control :focus-visible{outline-color:Highlight}}
/* Every swatch uses its own published palette, independent of the current page. */
html[data-n9-palette] .n9-family-page .n9-palette-form .n9-palette-choice{background:var(--n9-colour-tint);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] .n9-family-page .n9-palette-form .n9-palette-choice:has(input:checked){outline:2px solid var(--n9-colour-focus);outline-offset:1px;box-shadow:none}
html[data-n9-palette] .n9-family-page .n9-palette-form .n9-palette-swatch{background:var(--n9-colour-primary);border-color:var(--n9-colour-border)}
html[data-n9-palette] .n9-family-page .n9-palette-form input[type=radio]{accent-color:var(--n9-colour-link)}
/* Existing gold tokens also encode contrast on dark/illustrated sections; keep them intact.
   Only explicitly paired interface controls receive personal palette colours. */
html[data-n9-palette] :is(.shop-mode-switch a.active,.shop-mode-switch button.active,.finder-choice.active,.quick-interest-link,.step-number){background:var(--n9-colour-primary);color:var(--n9-colour-primary-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] :is(.shop-mode-switch a.active,.shop-mode-switch button.active,.finder-choice.active,.quick-interest-link):hover{background:var(--n9-colour-primary-hover);color:var(--n9-colour-primary-text)}
html[data-n9-palette] .site-header .nav>a:hover{color:var(--n9-colour-link)}
/* Readable light cards in the public storefront, including its old alternating card variants. */
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-card,.grade-flow-card,.category-card,.search-panel,.contact-topic-card,.contact-form-card,.article-summary,.article-highlight,.article-faq-item){background:var(--n9-colour-surface);border-color:var(--n9-colour-border);color:var(--n9-colour-text)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-card,.grade-flow-card,.category-card) :is(h2,h3,h2 a,h3 a,.price){color:var(--n9-colour-text)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-card,.grade-flow-card,.category-card) :is(p,.product-card-type,.product-card-price-label,.product-card-payment-note){color:var(--n9-colour-muted)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-card,.grade-flow-card,.category-card) :is(.tag,.button.secondary){background:var(--n9-colour-tint);border-color:var(--n9-colour-border);color:var(--n9-colour-link)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-card,.grade-flow-card,.category-card) .button.gold:not(:disabled):not([aria-disabled="true"]){background:var(--n9-colour-primary);color:var(--n9-colour-primary-text);border-color:var(--n9-colour-border);box-shadow:none}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-card,.grade-flow-card,.category-card) .button.gold:not(:disabled):not([aria-disabled="true"]):hover{background:var(--n9-colour-primary-hover);color:var(--n9-colour-primary-text)}
html[data-n9-palette] :is(.n9-family-page,.n9-enrolment-page) .guardian-shell{color:var(--n9-colour-text)}
html[data-n9-palette] .n9-family-page .n9-welcome :is(h1,h2,h3,p){color:var(--n9-colour-text)}
html[data-n9-palette] .n9-family-page .n9-learning-subjects li{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:var(--n9-colour-border)}
html[data-n9-palette] .finder-choice.active span{color:var(--n9-colour-primary-text)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n){background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:#D7DEE6}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n) :is(h2,h3,h2 a,h3 a,.price){color:var(--n9-colour-text)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n) :is(p,.product-card-type,.product-card-price-label,.product-card-payment-note){color:var(--n9-colour-muted)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n) :is(.tag,.button.secondary){background:var(--n9-colour-tint);color:var(--n9-colour-link);border-color:var(--n9-colour-border)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n) .button.gold:not(:disabled):not([aria-disabled="true"]){background:var(--n9-colour-primary);color:var(--n9-colour-primary-text);border-color:var(--n9-colour-border);box-shadow:none}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n) .button.gold:not(:disabled):not([aria-disabled="true"]):hover{background:var(--n9-colour-primary-hover);color:var(--n9-colour-primary-text)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n) :is(.product-content,.grade-flow-body,.category-content){background:var(--n9-colour-surface);color:var(--n9-colour-text)}
html[data-n9-palette] body:not(.auth-page):not(.student-area):not(.admin-area) main :is(.product-grid,.grade-flow-list,.subject-grid)>:is(.product-card,.grade-flow-card,.category-card):nth-child(n) .button.secondary:not(:disabled):not([aria-disabled="true"]):hover{background:var(--n9-colour-tint);color:var(--n9-colour-link);border-color:var(--n9-colour-border)}
html[data-n9-palette] :is(.guardian-shell,.n9-membership-page,.product-card,.grade-flow-card,.category-card,.article-summary) a:not(.button):hover{color:var(--n9-colour-link)}
/* Only the newly inserted colour widget adapts its enclosing student menu. */
html[data-n9-palette] .student-area .student-profile-panel:has(>[data-n9-colour-control]){width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow:auto}
.n9-colour-control .n9-colour-actions button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;border:1px solid var(--n9-colour-border,#81745b);border-radius:7px;padding:8px 11px;min-height:44px;line-height:1.35;font-size:13px}
/* Explicit public main/Home roles. The storefront's artwork and image frame stay native. */
html[data-n9-palette] body:not(.student-area):not(.admin-area):not(.auth-page)>main{background:var(--n9-colour-background);color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront{background:var(--n9-colour-background);color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront :is(h1,h2,h3){color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront :is(.n9sf-opening,.n9sf-eyebrow){color:var(--n9-colour-muted)}
html[data-n9-palette] #n9-public-storefront .n9sf-kicker{background:var(--n9-colour-tint);color:var(--n9-colour-text);border-color:#D7DEE6;box-shadow:none}
html[data-n9-palette] #n9-public-storefront .n9sf-prices p:first-child{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:#D7DEE6;box-shadow:none}
html[data-n9-palette] #n9-public-storefront .n9sf-prices p:first-child strong{color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront .n9sf-prices p+p{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:#D7DEE6}
html[data-n9-palette] #n9-public-storefront .n9sf-prices p+p strong{color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront a:not(.n9sf-button){color:var(--n9-colour-link)}
html[data-n9-palette] #n9-public-storefront .n9sf-button{background:var(--n9-colour-primary);color:var(--n9-colour-primary-text);border-color:var(--n9-colour-border);box-shadow:0 2px 4px rgba(23,35,55,.12)}
html[data-n9-palette] #n9-public-storefront .n9sf-button:hover{background:var(--n9-colour-primary-hover);color:var(--n9-colour-primary-text)}
html[data-n9-palette] #n9-public-storefront .n9sf-join-hint{color:var(--n9-colour-muted)}
html[data-n9-palette] #n9-public-storefront .n9sf-subject-grid article{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:#D7DEE6}
html[data-n9-palette] #n9-public-storefront .n9sf-subject-grid article+article{background:var(--n9-colour-surface)}
html[data-n9-palette] #n9-public-storefront .n9sf-subject-grid li{background:var(--n9-colour-tint);color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront #n9-storefront-children{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:#D7DEE6;box-shadow:0 3px 16px rgba(23,35,55,.06)}
html[data-n9-palette] #n9-public-storefront #n9-storefront-children h2{color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront .n9sf-steps li:nth-child(n){background:var(--n9-colour-tint);color:var(--n9-colour-text)}
html[data-n9-palette] #n9-public-storefront a:focus-visible{outline-color:var(--n9-colour-focus);box-shadow:0 0 0 3px var(--n9-colour-surface)}

/* Quiet decorative edges; strong contrast remains on actual controls and focus. */
html[data-n9-palette] :is(.site-header,.header-preferences-panel){border-color:#D7DEE6}
html[data-n9-palette] body:not(.student-area):not(.admin-area) :is(.product-card,.grade-flow-card,.category-card,.contact-topic-card,.contact-form-card,.article-summary,.article-highlight,.article-faq-item,.n9-family-panel,.n9-term-card){border-color:#D7DEE6}
html[data-n9-palette] body:not(.student-area) :is(.button.secondary,.button.light,.button.text):not(.game-stage .button):not(:disabled):not([aria-disabled="true"]){color:var(--n9-colour-text)}
/* Active navigation and catalogue choices use a quiet fill and clear accent edge. */
html[data-n9-palette] .site-header .nav>a:is(.active,[aria-current="page"]){background:var(--n9-colour-tint);color:var(--n9-colour-link);border-color:var(--n9-colour-link)}
html[data-n9-palette] .games-page[data-selected-mode]{background:var(--n9-colour-background);color:var(--n9-colour-text)}
html[data-n9-palette] .games-page[data-selected-mode] :is(.games-grade-shell,.game-card){background:var(--n9-colour-surface);border-color:#D7DEE6;box-shadow:0 3px 16px rgba(23,35,55,.06)}
html[data-n9-palette] .games-page .games-grade-grid button{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:var(--n9-colour-border);box-shadow:none}
html[data-n9-palette] .games-page .games-grade-grid button:is(.active,:hover){background:var(--n9-colour-tint);color:var(--n9-colour-text);border-color:var(--n9-colour-link);box-shadow:inset 0 -3px 0 var(--n9-colour-link)}
html[data-n9-palette] .games-page[data-selected-mode] .game-card-grade{background:var(--n9-colour-tint);color:var(--n9-colour-text);border-color:#D7DEE6}
html[data-n9-palette] .games-page .game-card .button{background:var(--n9-colour-surface);color:var(--n9-colour-text);border-color:var(--n9-colour-border);box-shadow:none}
html[data-n9-palette] .games-page .game-card:is(:hover,:focus-visible) .button{background:var(--n9-colour-tint);color:var(--n9-colour-text);border-color:var(--n9-colour-link);box-shadow:none}

/* Public language links remain available without an appearance settings toggle. */
.n9-public-header .n9-header-language-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.n9-public-header .n9-header-language-tools .header-preference-group{margin:0}
.n9-public-header .n9-header-language-tools .header-preference-group>p{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.n9-public-header .n9-header-language-tools .language-switch{display:flex;gap:4px;padding:3px;border:1px solid #d9cda7;border-radius:10px}
.n9-public-header .n9-header-language-tools .language-switch a{display:flex;align-items:center;justify-content:center;min-height:38px;min-width:38px;padding:4px 7px;border:0;border-radius:7px;font-size:14px;line-height:1.2;color:#172337;text-decoration:none}
.n9-public-header .n9-header-language-tools .language-switch a.active{background:#f2d17b;color:#111719;font-weight:800}
.n9-public-header .n9-header-language-tools .language-switch a:focus-visible{outline:2px solid #795608;outline-offset:2px}
@media(max-width:1080px){.n9-public-header .n9-header-language-tools{width:100%}.n9-public-header .n9-header-language-tools .language-switch a{min-height:44px;min-width:44px}}
