:root{
  --wf-ink:#102b26;
  --wf-evergreen:#17483c;
  --wf-deep:#0b3029;
  --wf-cream:#fff9eb;
  --wf-paper:#fff;
  --wf-mint:#eef6ec;
  --wf-mint-2:#e2f8f1;
  --wf-lime:#b7ef67;
  --wf-lime-dark:#77aa32;
  --wf-gold:#f3b83f;
  --wf-cyan:#5ed9df;
  --wf-coral:#ff7a66;
  --wf-line:#cbd9cb;
  --wf-muted:#5c6f66;
  --wf-shadow:#d6dfd3;
}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

body:not([data-page="home"]){
  --ink:var(--wf-ink);
  --muted:var(--wf-muted);
  --bg:var(--wf-cream);
  --panel:var(--wf-paper);
  --panel2:var(--wf-mint);
  --line:var(--wf-line);
  --lime:var(--wf-lime);
  --gold:var(--wf-gold);
  color:var(--wf-ink);
  background:var(--wf-cream);
  font-family:ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body:not([data-page="home"]) main{background:transparent;color:var(--wf-ink)}
body:not([data-page="home"]) a{color:#176b55}
body:not([data-page="home"]) p,
body:not([data-page="home"]) li{color:var(--wf-muted)}
body:not([data-page="home"]) main h1{font-size:clamp(2.2rem,4.2vw,3.5rem);line-height:1.06;letter-spacing:-.04em}

body:not([data-page="home"]) .site-header{
  background:rgba(255,252,242,.96);
  border-bottom:1px solid #d8e3d8;
  box-shadow:0 4px 18px rgba(37,77,61,.06);
  backdrop-filter:blur(16px);
}
body:not([data-page="home"]) .site-header .nav{max-width:1340px;min-height:76px}
body:not([data-page="home"]) .site-header .brand img{width:150px;height:auto}
body:not([data-page="home"]) .site-header .nav{gap:.75rem}
body:not([data-page="home"]) .site-header .nav-links{gap:.08rem}
body:not([data-page="home"]) .site-header .nav-links a{padding:.62rem .52rem;color:#24483e;font-size:.86rem;white-space:nowrap}
body:not([data-page="home"]) .site-header .nav-links .nav-play{margin-left:.2rem;padding:.66rem .9rem;white-space:nowrap}
body:not([data-page="home"]) .site-header .nav-links a:hover,
body:not([data-page="home"]) .site-header .nav-links a[aria-current="page"]{background:#e8f3e7;color:#236e58}
body:not([data-page="home"]) .site-header .nav-links .button,
body:not([data-page="home"]) .site-header .nav-links a.button{
  background:var(--wf-lime);border-color:#d8ff9e;color:var(--wf-ink);box-shadow:0 4px 0 #5f8f29;
}
body:not([data-page="home"]) .language-picker select{background:#f2f7ee;color:#173b32;border-color:#c8d6c9;border-radius:12px}
body:not([data-page="home"]) .menu-toggle{min-height:46px;background:#f8fbf3;color:#173b32;border-color:#b9cabd}

body:not([data-page="home"]) .hero,
body:not([data-page="home"]) .page-head,
body:not([data-page="home"]) .arcade-head{
  color:var(--wf-ink);
  background:radial-gradient(circle at 84% 8%,rgba(183,239,103,.28),transparent 32%),linear-gradient(135deg,#f1fbf3,#fff9eb);
}
body:not([data-page="home"]) .page-head{border-bottom:1px solid var(--wf-line)}
body:not([data-page="home"]) .page-head h1,
body:not([data-page="home"]) .hero h1,
body:not([data-page="home"]) .arcade-head h1{color:var(--wf-ink);font-size:clamp(2.35rem,5vw,3.5rem);line-height:1.04}
body:not([data-page="home"]) .lead{color:#4d675e}
body:not([data-page="home"]) .eyebrow{color:#2b745e}
body:not([data-page="home"]) .crumbs,
body:not([data-page="home"]) .editorial-breadcrumbs{color:#64776e;background:#fffdf7}

body:not([data-page="home"]) .section.alt{background:var(--wf-mint)}
body:not([data-page="home"]) .card,
body:not([data-page="home"]) .story-panel,
body:not([data-page="home"]) .cta,
body:not([data-page="home"]) .toc,
body:not([data-page="home"]) .wf-site-extension{
  color:var(--wf-ink);background:var(--wf-paper);border:2px solid var(--wf-line);box-shadow:0 6px 0 var(--wf-shadow);
}
body:not([data-page="home"]) .card p,
body:not([data-page="home"]) .section-intro,
body:not([data-page="home"]) .prose p,
body:not([data-page="home"]) .prose li,
body:not([data-page="home"]) .faq details p{color:var(--wf-muted)}
body:not([data-page="home"]) .notice{background:#fff4d8;border-color:var(--wf-gold);color:#594514}
body:not([data-page="home"]) .faq details{border-color:var(--wf-line)}
body:not([data-page="home"]) .faq summary{color:var(--wf-ink)}
body:not([data-page="home"]) main>.wf-site-extension{width:calc(100% - 2.5rem);max-width:var(--max);margin:28px auto}

body:not([data-page="home"]) .button,
body:not([data-page="home"]) .game-button,
body:not([data-page="home"]) .wf-button{
  background:var(--wf-lime);border-color:#d8ff9e;color:var(--wf-ink);box-shadow:0 4px 0 var(--wf-lime-dark);font-weight:900;
}
body:not([data-page="home"]) .button:hover,
body:not([data-page="home"]) .game-button:hover,
body:not([data-page="home"]) .wf-button:hover{background:#c8fa80;color:var(--wf-ink)}
body:not([data-page="home"]) .button.secondary,
body:not([data-page="home"]) .wf-secondary{background:#fff;color:#234a3e;border-color:#9ab2a2;box-shadow:0 4px 0 #cfdbd0}

body:not([data-page="home"]) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body:not([data-page="home"]) textarea,
body:not([data-page="home"]) select{
  background:#fff;color:var(--wf-ink);border-color:#9fb7a8;
}
body:not([data-page="home"]) input::placeholder,
body:not([data-page="home"]) textarea::placeholder{color:#71857b}

/* Learning studio, account and management interfaces */
body:not([data-page="home"]) .wf-suite{color:var(--wf-ink)}
body:not([data-page="home"]) .wf-suite-bar{border-color:var(--wf-line)}
body:not([data-page="home"]) .wf-suite-bar a{color:#236e58}
body:not([data-page="home"]) .wf-heading>p:first-child{color:#2b745e}
body:not([data-page="home"]) .wf-heading>p,
body:not([data-page="home"]) .wf-question-meta,
body:not([data-page="home"]) .wf-language-notice{color:var(--wf-muted)}
body:not([data-page="home"]) .wf-panel,
body:not([data-page="home"]) .wf-skills>div,
body:not([data-page="home"]) .wf-word-grid button,
body:not([data-page="home"]) .wf-question,
body:not([data-page="home"]) .wf-dialog{
  color:var(--wf-ink);background:#fff;border:2px solid var(--wf-line);box-shadow:0 6px 0 var(--wf-shadow);
}
body:not([data-page="home"]) .wf-panel:nth-of-type(even),
body:not([data-page="home"]) .wf-skills>div:nth-child(4n+2),
body:not([data-page="home"]) .wf-word-grid button:nth-child(4n+2){background:#effcfc}
body:not([data-page="home"]) .wf-skills>div:nth-child(4n+3),
body:not([data-page="home"]) .wf-word-grid button:nth-child(4n+3){background:#fff8e7}
body:not([data-page="home"]) .wf-skills>div:nth-child(4n+4),
body:not([data-page="home"]) .wf-word-grid button:nth-child(4n+4){background:#f5fde8}
body:not([data-page="home"]) .wf-word-grid p,
body:not([data-page="home"]) .wf-skills small,
body:not([data-page="home"]) .wf-question p{color:var(--wf-muted)}
body:not([data-page="home"]) .wf-word-grid strong,
body:not([data-page="home"]) .wf-skills strong{color:#17483c}
body:not([data-page="home"]) .wf-suite input:not([type="checkbox"]):not([type="file"]),
body:not([data-page="home"]) .wf-suite textarea,
body:not([data-page="home"]) .wf-suite select,
body:not([data-page="home"]) .wf-select,
body:not([data-page="home"]) .wf-dialog input,
body:not([data-page="home"]) .wf-dialog textarea,
body:not([data-page="home"]) .wf-dialog select{background:#fff;color:var(--wf-ink);border-color:#9fb7a8}
body:not([data-page="home"]) .wf-choices button,
body:not([data-page="home"]) .wf-suite button:not([class]){background:#f7fbf5;color:var(--wf-ink);border-color:#9fb7a8}
body:not([data-page="home"]) .wf-choices button:hover{background:#e8f6e2}
body:not([data-page="home"]) .account-tools,
body:not([data-page="home"]) .admin-live{background:#fff;border:2px solid var(--wf-line);box-shadow:0 8px 0 var(--wf-shadow);color:var(--wf-ink)}
body:not([data-page="home"]) .account-tools form,
body:not([data-page="home"]) .account-tools>[data-account-content]>div,
body:not([data-page="home"]) .moderation-grid article{background:#f5faf3;border-color:var(--wf-line)}
body:not([data-page="home"]) .account-tools [role="status"],
body:not([data-page="home"]) .admin-live [role="status"]{color:#6e5a14}

/* Word bank and dictionary */
body:not([data-page="home"]) .tool-controls input,
body:not([data-page="home"]) .tool-controls select,
body:not([data-page="home"]) .dictionary-search input{background:#fff;color:var(--wf-ink);border-color:#9fb7a8}
body:not([data-page="home"]) .word-entry{background:#fff;border:2px solid var(--wf-line);box-shadow:0 4px 0 var(--wf-shadow)}
body:not([data-page="home"]) .word-entry:nth-child(4n+2){background:#effcfc}
body:not([data-page="home"]) .word-entry:nth-child(4n+3){background:#fff8e7}
body:not([data-page="home"]) .word-entry:nth-child(4n+4){background:#f5fde8}
body:not([data-page="home"]) .word-entry h2,
body:not([data-page="home"]) .word-entry h3{color:#176b55}
body:not([data-page="home"]) .word-entry p,
body:not([data-page="home"]) .word-entry small,
body:not([data-page="home"]) .result-count,
body:not([data-page="home"]) .empty-state{color:var(--wf-muted)}
body:not([data-page="home"]) .alphabet button{background:#fff;color:var(--wf-ink);border-color:#9fb7a8;box-shadow:0 3px 0 #d7dfd3}

/* Game directory and short challenges */
body:not([data-page="home"]) .arcade-shell{max-width:1240px}
body:not([data-page="home"]) .arcade-head{margin:0 -1.25rem 2rem;padding:3.2rem 1.25rem;border-bottom:1px solid var(--wf-line)}
body:not([data-page="home"]) .mode-card{
  color:var(--wf-ink);background:#fff;border:2px solid var(--wf-line);border-radius:20px;box-shadow:0 5px 0 var(--wf-shadow);
}
body:not([data-page="home"]) .mode-card:nth-child(4n+2){background:#effcfc}
body:not([data-page="home"]) .mode-card:nth-child(4n+3){background:#fff5e8}
body:not([data-page="home"]) .mode-card:nth-child(4n+4){background:#f5fde8}
body:not([data-page="home"]) .mode-card p{color:var(--wf-muted)}
body:not([data-page="home"]) .mode-card strong{color:#176b55}
body:not([data-page="home"]) .mode-card:hover{border-color:#79ad70;transform:translateY(-2px);box-shadow:0 7px 0 #cbd9cb}
body:not([data-page="home"]) .mode-switcher a{background:#fff;color:#315c4e;border-color:#9fb7a8;box-shadow:0 3px 0 #d7dfd3}
body:not([data-page="home"]) .mode-switcher a[aria-current="page"]{background:var(--wf-lime);color:var(--wf-ink);border-color:#9dd74c}
body:not([data-page="home"]) .mini-stat{background:#fff;border:2px solid var(--wf-line);box-shadow:0 4px 0 var(--wf-shadow)}
body:not([data-page="home"]) .mini-stat small{color:var(--wf-muted)}
body:not([data-page="home"]) .challenge-card{background:linear-gradient(145deg,#fff,#eef8eb);border:2px solid var(--wf-line);box-shadow:0 7px 0 var(--wf-shadow);color:var(--wf-ink)}
body:not([data-page="home"]) .challenge-label,
body:not([data-page="home"]) .challenge-definition{color:var(--wf-muted)}
body:not([data-page="home"]) .answer-button,
body:not([data-page="home"]) .rush-card{background:#fff;color:var(--wf-ink);border-color:#9fb7a8;box-shadow:0 3px 0 #d7dfd3}
body:not([data-page="home"]) .answer-button.correct{background:#e3f7d0;border-color:#7bab35}
body:not([data-page="home"]) .answer-button.wrong{background:#ffe4df;border-color:#dd6d62}
body:not([data-page="home"]) .word-input{background:#fff;color:var(--wf-ink);border-color:#9fb7a8}
body:not([data-page="home"]) .share-result{background:#eef6ec;color:var(--wf-ink)}

/* Phaser game pages: keep the game canvas intact, brighten its page shell and guide. */
body:not([data-page="home"]) .arcade-game-hero p{color:var(--wf-muted)}
body:not([data-page="home"]) .arcade-guide{background:#fff;border:2px solid var(--wf-line);box-shadow:0 7px 0 var(--wf-shadow);color:var(--wf-ink)}
body:not([data-page="home"]) .arcade-guide-intro>p:not(.eyebrow),
body:not([data-page="home"]) .arcade-guide-section p,
body:not([data-page="home"]) .arcade-guide-section li,
body:not([data-page="home"]) .arcade-guide-meta{color:var(--wf-muted)!important}
body:not([data-page="home"]) .arcade-guide-meta a,
body:not([data-page="home"]) .arcade-guide-section h4{color:#176b55}
body:not([data-page="home"]) .arcade-guide-section h3,
body:not([data-page="home"]) .arcade-faq summary{color:var(--wf-ink)}
body:not([data-page="home"]) .arcade-guide-nav{border-color:var(--wf-line)}
body:not([data-page="home"]) .arcade-guide-nav a,
body:not([data-page="home"]) .arcade-rule-grid>div,
body:not([data-page="home"]) .arcade-faq details{background:#f7fbf5;color:var(--wf-ink);border-color:var(--wf-line)}
body:not([data-page="home"]) .arcade-guide table{background:#fff}
body:not([data-page="home"]) .arcade-table-wrap,
body:not([data-page="home"]) .arcade-guide th,
body:not([data-page="home"]) .arcade-guide td{border-color:var(--wf-line)}
body:not([data-page="home"]) .arcade-guide tbody th{color:#7a5b14}

/* Factory campaign: bring the complete game workspace into the light theme. */
body[data-page="play"] .game-shell{color:var(--wf-ink)}
body[data-page="play"] .game-topbar{
  padding:.85rem 1rem;background:rgba(255,255,255,.78);border:2px solid var(--wf-line);border-radius:16px;box-shadow:0 5px 0 var(--wf-shadow)
}
body[data-page="play"] .resource{
  background:#fff;border:2px solid var(--wf-line);color:var(--wf-ink);box-shadow:0 4px 0 var(--wf-shadow)
}
body[data-page="play"] .resource:nth-child(5n+2){background:#effcfc}
body[data-page="play"] .resource:nth-child(5n+3){background:#fff4dc}
body[data-page="play"] .resource:nth-child(5n+4){background:#f3fde4}
body[data-page="play"] .resource:nth-child(5n+5){background:#fff0e9}
body[data-page="play"] .resource small,
body[data-page="play"] .floor-head p,
body[data-page="play"] .machine p,
body[data-page="play"] .order-label,
body[data-page="play"] .help{color:var(--wf-muted)}
body[data-page="play"] .factory-floor,
body[data-page="play"] .game-panel{
  background:#fff;border:2px solid var(--wf-line);color:var(--wf-ink);box-shadow:0 7px 0 var(--wf-shadow)
}
body[data-page="play"] .factory-floor{
  background-color:#f7fcf5;
  background-image:linear-gradient(rgba(51,108,88,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(51,108,88,.1) 1px,transparent 1px)
}
body[data-page="play"] .machine{
  background:#fff;border:2px solid #cbdacb;color:var(--wf-ink);box-shadow:0 4px 0 #dbe5d8
}
body[data-page="play"] .machine:nth-child(4n+2){background:#edfafa;border-color:#b9dbd8}
body[data-page="play"] .machine:nth-child(4n+3){background:#fff5e2;border-color:#ead7a9}
body[data-page="play"] .machine:nth-child(4n+4){background:#f3fde5;border-color:#cfe3ad}
body[data-page="play"] .game-button.secondary{
  background:#fff;color:#234a3e;border-color:#9ab2a2;box-shadow:0 4px 0 #cfdbd0
}
body[data-page="play"] .game-button.secondary:hover{background:#eef7eb;color:#173b32}
body[data-page="play"] .order{
  background:linear-gradient(145deg,#fff9e9,#eef9e8);border:2px solid #c9d9bb;color:var(--wf-ink);box-shadow:0 4px 0 #dce6d5
}
body[data-page="play"] .letter-slot{
  background:#fff;border:2px solid #9fb7a8;color:var(--wf-ink);box-shadow:inset 0 -3px 0 #eef2e9
}
body[data-page="play"] .letter-slot.ready{background:#effbdc;border-color:#78aa3c;color:#2f741c}
body[data-page="play"] .letter-slot.ready::after{background:#2f741c;color:#fff}
body[data-page="play"] .letter-bin{background:#edf6ec;border:1px solid #cad9cb}
body[data-page="play"] .letter-chip{background:#fff8db;color:#173b32;box-shadow:0 3px 0 #d7c98f}
body[data-page="play"] .upgrade{
  background:#f8fbf5;border:1px solid #c4d5c7;color:var(--wf-ink)
}
body[data-page="play"] .event-log{
  background:#edf5ef;border:1px solid #ccd9cf;color:#546c62
}
body[data-page="play"] .event-log li:first-child{color:#17483c;font-weight:800}
body[data-page="play"] .progress{background:#dce7dc}
body[data-page="play"] .game-loading{
  background:#fff;color:#255e4d;border:2px solid #88ba4d;box-shadow:0 8px 24px rgba(37,77,61,.16)
}
body[data-page="play"] .game-modal{background:rgba(28,58,48,.56);backdrop-filter:blur(5px)}
body[data-page="play"] .modal-card{
  background:#fffdf7;border:2px solid #b9ceb9;color:var(--wf-ink);box-shadow:0 12px 0 rgba(43,82,65,.18),0 28px 70px rgba(23,59,50,.24)
}
body[data-page="play"] .modal-close{color:#214c40}
body[data-page="play"] .map-rule{background:#edf8ea;border-color:#86ba45;color:#3e5c50}
body[data-page="play"] .word-example{color:#62776d}
body[data-page="play"] .quiz-option{
  background:#fff;color:var(--wf-ink);border:2px solid #b8cdbd;box-shadow:0 3px 0 #dbe4d9
}
body[data-page="play"] .quiz-option:hover,
body[data-page="play"] .quiz-option:focus{background:#f4fce9;border-color:#7eae47}
body[data-page="play"] .quiz-option.correct{background:#e7f8d6;border-color:#6f9f38}
body[data-page="play"] .quiz-option.wrong{background:#ffe7df;border-color:#d46f61}
body[data-page="play"] .quiz-feedback{color:#347321}
body[data-page="play"] .journal-row{
  background:#f7fbf5;border:1px solid #c9d8cb;color:var(--wf-ink)
}
body[data-page="play"] .journal-row:nth-child(even){background:#effafa}
body[data-page="play"] .journal-row strong{color:#27705a}
body[data-page="play"] .journal-row small{color:var(--wf-muted)}
body[data-page="play"] .achievement{background:#edf1eb;color:#68796f;border:1px solid #d1dbd2}
body[data-page="play"] .achievement.earned{background:#eefbdc;color:#214e3c;border:2px solid #8ebb54}
body[data-page="play"] .setting-row{border-color:var(--wf-line)}
body[data-page="play"] .setting-row select{background:#fff;color:var(--wf-ink);border-color:#9fb7a8}

body[data-page="play"].high-contrast .factory-floor,
body[data-page="play"].high-contrast .game-panel,
body[data-page="play"].high-contrast .machine,
body[data-page="play"].high-contrast .order{border-color:#111!important}

/* Community */
body:not([data-page="home"]) .community-tools input,
body:not([data-page="home"]) .community-tools select,
body:not([data-page="home"]) .live-community input,
body:not([data-page="home"]) .live-community textarea,
body:not([data-page="home"]) .live-community select{background:#fff;color:var(--wf-ink);border-color:#9fb7a8}
body:not([data-page="home"]) .thread,
body:not([data-page="home"]) .live-thread{background:#fff;color:var(--wf-ink);border:2px solid var(--wf-line);box-shadow:0 4px 0 var(--wf-shadow)}
body:not([data-page="home"]) .thread-body,
body:not([data-page="home"]) .thread-meta,
body:not([data-page="home"]) .reply-meta{color:var(--wf-muted)}
body:not([data-page="home"]) .thread-tag{background:#eef9df;color:#397224;border-color:#96c85c}
body:not([data-page="home"]) .replies{border-color:var(--wf-line)}
body:not([data-page="home"]) .starter-note{background:#fff4d8;color:#665019;border-color:#d8b857}

body:not([data-page="home"]) .site-footer{
  background:linear-gradient(180deg,#edf6ec,#e6f0e8);color:#53695f;border-color:#ccd9cd;
}
body:not([data-page="home"]) .site-footer strong{color:#173b32}
body:not([data-page="home"]) .site-footer a{color:#315f50;text-decoration:none}
body:not([data-page="home"]) .site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
body:not([data-page="home"]) .footer-languages,
body:not([data-page="home"]) .fine,
body:not([data-page="home"]) .legal-links{border-color:#c6d5c8}
body:not([data-page="home"]) .consent-banner{background:#fff;color:var(--wf-ink);border-color:#9fb7a8;box-shadow:0 18px 50px rgba(35,68,54,.2)}

@media(max-width:1240px){
  body:not([data-page="home"]) .nav-links{display:none;top:76px;background:#fffaf0;border-color:#d8e3d8;box-shadow:0 16px 30px rgba(37,77,61,.12)}
  body:not([data-page="home"]) .nav-links.open{display:flex}
  body:not([data-page="home"]) .menu-toggle{display:grid;grid-template-columns:18px auto;align-items:center;column-gap:8px}
  body:not([data-page="home"]) .menu-toggle span{grid-column:1;display:block;width:18px;height:2px;background:currentColor;border-radius:2px}
  body:not([data-page="home"]) .menu-toggle b{grid-column:2;grid-row:1/4;font-size:.84rem}
}
@media(max-width:640px){
  body:not([data-page="home"]) .page-head,
  body:not([data-page="home"]) .arcade-head{padding-top:2.4rem;padding-bottom:2.2rem}
  body:not([data-page="home"]) .page-head h1,
  body:not([data-page="home"]) .hero h1,
  body:not([data-page="home"]) .arcade-head h1,
  body:not([data-page="home"]) main h1{font-size:clamp(2rem,10vw,2.75rem)}
  body:not([data-page="home"]) .mode-card,
  body:not([data-page="home"]) .wf-panel,
  body:not([data-page="home"]) .challenge-card{border-radius:18px}
  body:not([data-page="home"]) main>.wf-site-extension{width:calc(100% - 2rem);margin:20px auto}
}

@media(prefers-reduced-motion:reduce){
  body:not([data-page="home"]) .mode-card{transition:none}
}
