@import url('/styles.css');
:root{--ink:#233d35;--chalk:#f8f3df;--board:#164a3e;--board-deep:#103c32;--gold:#b69749;--paper:#fffbed;--line:#c6bea1;--exact:#33734a;--present:#a77e24;--absent:#515b56;--danger:#9d3542;color-scheme:light}
*{box-sizing:border-box}body.daily-site{margin:0;background:#f1eedf;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}a{color:#1d5b47;text-underline-offset:3px}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.match-scroll:focus-visible{outline:3px solid #196bb2;outline-offset:4px}.skip-link{position:fixed;left:1rem;top:-100px;background:white;padding:.7rem;z-index:20}.skip-link:focus{top:1rem}.daily-header{background:var(--paper);border-bottom:1px solid var(--line)}.daily-nav{max-width:1180px;margin:auto;padding:18px 24px;display:flex;align-items:center;gap:24px;justify-content:space-between}.daily-brand{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:800;text-decoration:none;color:var(--board);white-space:nowrap}.logo-tiles{display:flex;gap:2px;transform:rotate(-4deg)}.logo-tiles span{display:grid;place-items:center;width:28px;height:31px;border-radius:3px;background:var(--exact);color:#fff;font-size:18px;box-shadow:0 3px 0 #245437}.logo-tiles span:nth-child(2){background:var(--present);box-shadow:0 3px 0 #725718}.nav-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.nav-actions a{font-size:14px;font-weight:650;text-decoration:none}.language-link{border:1px solid var(--line);border-radius:30px;padding:6px 12px}.daily-main{max-width:1180px;margin:auto;padding:36px 24px 64px}.daily-hero{background:var(--board);color:var(--chalk);border:8px solid #876440;border-radius:7px;box-shadow:0 10px 26px #18372d12;padding:34px 40px;position:relative}.daily-hero:after{content:'';position:absolute;bottom:0;right:35px;width:65px;height:5px;border-radius:4px;background:#e2dcc6}.eyebrow{margin:0 0 8px;color:inherit;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:750;opacity:.85}.daily-hero h1{margin:0 0 12px;font-family:Georgia,serif;font-weight:500;font-size:clamp(30px,4.2vw,48px);line-height:1.15;max-width:800px}.daily-hero p:not(.eyebrow){max-width:670px;margin:0;opacity:.92}.daily-dates{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;font-size:13px}.daily-dates strong{font-variant-numeric:tabular-nums}.home-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:32px 0 16px}.home-section-title h2{margin:0;font-size:22px}.home-section-title p{margin:0;font-size:13px;color:#52675d}.daily-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.daily-card{display:flex;flex-direction:column;gap:8px;position:relative;min-height:210px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);box-shadow:0 4px 0 #cfc7ac44;transition:transform .16s,box-shadow .16s}.daily-card:hover{transform:translateY(-3px);box-shadow:0 7px 0 #cfc7ac44}.card-icon{font-family:Georgia,serif;font-size:24px;letter-spacing:.04em;color:var(--board)}.daily-card h3{margin:3px 0;font-size:20px;line-height:1.25}.daily-card p{margin:0;font-size:14px;color:#52675d}.card-status{margin-top:auto;padding-top:10px;font-size:13px;font-weight:750;color:#28634a}.app-promo{margin-top:38px;padding:28px 32px;border:1px solid #b5bea4;border-radius:8px;background:#e1e8d9}.app-promo h2{margin:0 0 10px;font-size:25px;font-family:Georgia,serif}.app-promo>p{max-width:830px;margin:0 0 18px}.promo-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:24px 0}.promo-features h3{font-size:16px;margin:0 0 5px}.promo-features p{font-size:14px;margin:0}.store-buttons{display:flex;gap:12px;flex-wrap:wrap}.store-button{display:inline-flex;align-items:center;padding:10px 17px;background:var(--board);color:#fff;text-decoration:none;font-weight:650;border-radius:5px}.privacy-note{font-size:13px;color:#52675d;margin:22px 0 0}.daily-footer{border-top:1px solid var(--line);padding:24px;color:#52675d;font-size:13px}.daily-footer>div{max-width:1132px;margin:auto;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.daily-footer nav{display:flex;gap:16px;flex-wrap:wrap}.game-main{max-width:1180px}.game-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px}.back-link{font-size:14px;text-decoration:none;font-weight:650}.game-heading h1{font-family:Georgia,serif;font-size:clamp(28px,4vw,39px);margin:0;font-weight:500}.game-intro{font-size:14px;color:#52675d;max-width:780px;margin:0 0 20px}.play-area{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:24px;min-height:320px;box-shadow:0 5px 0 #cfc7ac44}.round-meta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 0 22px;font-size:13px}.round-meta strong{font-variant-numeric:tabular-nums}.word-board{max-width:390px;margin:auto;display:flex;flex-direction:column;gap:7px}.math-board{max-width:660px}.tile-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.math-board .tile-row{grid-template-columns:repeat(9,minmax(0,1fr))}.tile{aspect-ratio:1.05;display:grid;place-items:center;border:2px solid #d2cebb;background:#f4f0df;color:var(--ink);font-size:clamp(22px,3.5vw,35px);font-family:Georgia,serif;font-weight:650;border-radius:3px}.math-board .tile{font-size:clamp(16px,2.5vw,28px)}.tile.entered{border-color:#8d9a87}.exact{background:var(--exact)!important;color:#fff!important;border-color:#2b6340!important}.present,.near,.mid{background:var(--present)!important;color:#fff!important;border-color:#8a671c!important}.absent{background:var(--absent)!important;color:#fff!important;border-color:#46504a!important}.concealed{background:#d6d5c9}.feedback-summary{text-align:center;font-size:12px;margin:0 0 2px}.game-message{min-height:26px;font-size:14px;text-align:center;margin:16px 0 10px}.game-message.error{color:var(--danger);font-weight:650}.keyboard{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:7px}.key-row{display:flex;justify-content:center;gap:5px}.key{border:1px solid #9aab99;border-bottom:3px solid #8d9b8a;border-radius:4px;background:#e1e8d9;color:var(--ink);padding:0;min-width:0;flex:1;max-width:58px;height:49px;font-weight:750;font-size:16px}.key.wide{flex:1.6;max-width:88px;font-size:12px}.key.used{background:#c5caba;border-style:dashed}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}.primary,.secondary,.danger{border:1px solid transparent;border-radius:5px;padding:10px 16px;font-weight:700;font-size:14px;min-height:44px}.primary{background:var(--board);color:white}.secondary{background:#e8eadc;border-color:#b6c0ab;color:var(--ink)}.danger{background:var(--danger);color:white}.guess-form{max-width:760px;margin:12px auto 0}.guess-form label{display:block;font-size:14px;font-weight:650;margin-bottom:6px}.input-row{display:flex;gap:8px}.input-row input{min-width:0;width:100%;flex:1;border:2px solid #a5b39e;background:#fffef5;border-radius:5px;padding:10px 12px;font-size:18px;color:var(--ink)}.suggestions{max-height:210px;overflow:auto;overscroll-behavior:contain;border-radius:0 0 5px 5px}.suggestions:empty{display:none}.suggestions button{display:block;border:0;border-bottom:1px solid #d3d7c8;background:#e8eadf;text-align:left;width:100%;padding:10px 12px;color:var(--ink);min-height:44px}.suggestions button:hover{background:#d6decb}.match-scroll{overflow-x:auto;max-width:100%;border:1px solid #cbcbb8;border-radius:4px;max-height:560px;overscroll-behavior:contain}.match-table{border-collapse:separate;border-spacing:4px;width:100%;font-size:13px}.match-table th,.match-table td{min-width:110px;padding:10px;text-align:center;background:#eeeada;border:1px solid #c8c4ae;border-radius:3px;overflow-wrap:normal}.match-table thead th{position:sticky;top:0;background:#dfe6d7;z-index:1}.match-table tbody th{font-weight:650;min-width:150px}.match-table td{height:88px}.match-table td>span{display:block;max-width:160px;margin:auto;overflow-wrap:break-word}.comparison-symbol{display:block;font-size:22px;font-family:system-ui;margin-top:4px}.column-help{font-weight:700;border:0;background:transparent;color:var(--ink);padding:0;min-height:36px}.column-help:hover{text-decoration:underline}.match-table .empty-table{height:180px;color:#52675d}.source-letters{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:14px}.source-letter{width:48px;height:53px;border:1px solid #9aab99;border-bottom:3px solid #8d9b8a;border-radius:4px;background:#e1e8d9;font:700 26px Georgia,serif;color:var(--ink)}.source-letter.selected{background:#a77e24;color:white;opacity:.65}.subword-score{text-align:center;font-weight:750}.word-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.word-group{border:1px solid #c7c9b6;border-radius:5px;background:#f3f0e2;min-width:0}.word-group h2{font-size:14px;margin:0;padding:9px 12px;background:#e1e8d9;border-radius:5px 5px 0 0}.word-group-list{list-style:none;padding:8px 12px;margin:0;height:170px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:auto}.word-group-list li{font-size:14px;line-height:28px;overflow-wrap:anywhere}.word-group-list .found{font-weight:650;color:#24603b}.word-group-list .missed{color:#6c6759}.word-group-list .empty-word{font-weight:400;color:#64705d;font-size:12px}.finish-subword{display:block;margin:16px auto 0}.result-panel{margin:22px auto 0;max-width:700px;padding:22px;border:1px solid #c7c9b6;background:#e8eadc;border-radius:6px;text-align:center}.result-panel.won{border-color:#74a27c;background:#e0ecd9}.result-panel h2{margin:0 0 8px;font:500 28px Georgia,serif}.result-panel p{font-size:14px;margin:8px 0 15px}.result-panel .answer{font-size:21px;font-weight:750;overflow-wrap:anywhere}.share-fallback{width:100%;min-height:170px;margin-top:16px}dialog{max-width:min(620px,calc(100vw - 32px));max-height:80vh;overflow:auto;border:2px solid #9fae96;background:var(--paper);border-radius:8px;padding:24px;color:var(--ink)}dialog::backdrop{background:#102a2188}dialog h2{font:500 27px Georgia,serif;margin:0 0 14px}dialog pre{white-space:pre-wrap;font:inherit;font-size:14px;max-height:50vh;overflow:auto}dialog .actions{margin:20px 0 0}.rollover-status{padding:12px 16px;border:1px solid #b69749;background:#fff0bd;border-radius:5px;margin-bottom:15px}.loading-copy{padding:40px;text-align:center;color:#52675d}.policy-copy{max-width:800px}.policy-copy h2{margin-top:30px}.policy-copy p{line-height:1.8}.noscript{display:block;padding:16px;background:#fff0bd;border:1px solid #b69749}
@media(max-width:850px){.daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-nav{gap:15px}.nav-actions{gap:12px}.promo-features{grid-template-columns:1fr;gap:16px}.daily-hero{padding:28px}.daily-main{padding-top:24px}.match-table th,.match-table td{min-width:100px}}
@media(max-width:540px){.daily-nav{padding:13px 16px;align-items:center}.daily-brand{font-size:20px;gap:8px}.logo-tiles span{width:22px;height:27px;font-size:15px}.nav-actions .desktop-nav{display:none}.nav-actions{gap:10px}.nav-actions a{font-size:12px}.daily-main{padding:20px 14px 40px}.daily-hero{padding:23px 20px;border-width:6px}.daily-hero p:not(.eyebrow){font-size:14px}.daily-dates{gap:8px 16px}.daily-grid{gap:12px}.daily-card{padding:16px;min-height:220px}.daily-card h3{font-size:18px}.daily-card p{font-size:13px}.card-icon{font-size:21px}.home-section-title{display:block;margin-top:25px}.home-section-title p{margin-top:5px}.app-promo{padding:23px 20px;margin-top:28px}.game-heading{align-items:center}.game-heading h1{font-size:27px}.game-intro{font-size:13px}.play-area{padding:16px 10px}.round-meta{font-size:12px;gap:8px 12px;margin-bottom:16px}.tile-row{gap:5px}.tile{font-size:27px}.math-board .tile{font-size:18px}.key-row{gap:3px}.key{height:46px;font-size:14px}.key.wide{font-size:10px}.keyboard{gap:6px}.game-message{font-size:13px}.input-row{gap:5px;flex-wrap:wrap}.input-row input{flex-basis:100%;font-size:17px}.input-row>button{flex:1}.word-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.word-group-list{height:140px;padding:8px 10px}.word-group h2{padding:8px 10px;font-size:12px}.source-letters{gap:4px}.source-letter{width:29px;height:40px;font-size:23px}.result-panel{padding:20px 14px}.daily-footer{padding:20px 16px}.daily-footer>div{display:block}.daily-footer nav{margin-top:12px;gap:12px}.store-button{font-size:14px}.privacy-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Dark classroom surfaces; clue colors retain their game meaning. */
:root{color-scheme:dark;--ink:#f4f7f6;--chalk:#f4f7f6;--paper:#1b2825;--line:#465c53;--board:#174b3e;--board-deep:#102f27;--exact:#28613e;--present:#88620e;--absent:#46524d;--danger:#ff9fa9;--muted:#c6d4ce}
body.daily-site{background:#101917;color:var(--ink)}
.daily-site a{color:#b0edcf}.daily-site a:hover{color:#fff}
.daily-header{background:#15211d}.daily-brand{color:#fff!important}
.daily-hero{background:#153e32;box-shadow:0 10px 26px #0003}
.daily-card{min-height:170px;background:#1b2825;box-shadow:0 4px 0 #0003;color:#fff!important}
.daily-card:hover{background:#23362e;box-shadow:0 7px 0 #0003}
.daily-card p,.home-section-title p,.privacy-note,.daily-footer,.game-intro,.loading-copy,.match-table .empty-table{color:var(--muted)}
.sound-toggle{border:1px solid #93a595;border-radius:999px;background:#e8eadc;color:var(--ink);padding:3px 10px;font-size:12px;font-weight:700;line-height:1.5}.sound-toggle[aria-pressed="false"]{background:transparent;color:var(--muted)}
.result-player-name{padding:3px 10px;border:1px solid #789187;border-radius:999px;background:#30453a;color:#fff;font-size:13px;line-height:1.5}
.tile,.match-table td{transform-origin:center;will-change:transform}.tile.reveal-pending{background:#f4f0df!important;color:var(--ink)!important;border-color:#8d9a87!important}.match-table td.match-reveal-pending{background:#eeeada;color:transparent;border-color:#c8c4ae}.match-reveal-pending>*{visibility:hidden}.word-group-list [data-new-found="true"]{border-radius:3px;background:#dcebd6;padding-inline:6px}.game-message.feedback-bump{animation:feedback-shake .28s ease-out}@keyframes feedback-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}55%{transform:translateX(4px)}80%{transform:translateX(-2px)}}
.daily-card h3{margin:0 0 5px}.card-status{color:#b0edcf;font-size:15px}
.app-promo{background:#192e25;border-color:#465c53}.store-button,.primary{background:#245f49;color:#fff!important;border-color:#639e80}
.play-area{box-shadow:0 5px 0 #0003}.tile{background:#27362f;border-color:#697b71;color:#fff}.tile.entered{border-color:#c0d4c9}.concealed{background:#34473e}
.sound-toggle{background:#30453a;border-color:#6f887a;color:#fff}.sound-toggle[aria-pressed="false"]{color:#c6d4ce}.tile.reveal-pending{background:#27362f!important;color:#fff!important;border-color:#c0d4c9!important}.match-table td.match-reveal-pending{background:#28382f;color:transparent;border-color:#566d60}.word-group-list [data-new-found="true"]{background:#304b3b}
.key,.source-letter{background:#30453a;border-color:#718a79;color:#fff}.key.used{background:#4c5a50}
.secondary{background:#30453a;border-color:#718a79;color:#fff}.danger{background:#923a48;color:#fff}
.input-row input,.share-fallback{background:#13211b;color:#fff;border-color:#718a79}
.suggestions button{background:#283c31;border-color:#465c53;color:#fff}.suggestions button:hover{background:#3b5647}
.match-scroll{border-color:var(--line)}.match-table th,.match-table td{background:#28382f;border-color:#566d60}.match-table thead th{background:#304a3b}
.word-group{background:#1a2b22;border-color:#526b5c}.word-group h2{background:#30453a}.word-group-list .found{color:#b3efc9}.word-group-list .missed,.word-group-list .empty-word{color:#c6d4ce}
.result-panel{background:#273b30;border-color:#627e6a}.result-panel.won{background:#203e2c;border-color:#75ae83}
dialog{background:#1b2825;color:#fff;border-color:#718a79}.rollover-status,.noscript{background:#483a18;color:#fff3ce;border-color:#bda05e}
.skip-link{background:#233c30;color:#fff}.daily-site .skip-link:focus{transform:translateY(0)}.daily-site :focus-visible{outline-color:#b3dfff}
@media(max-width:540px){.daily-card{min-height:180px}}

/* Match games use the desktop row layout until a phone-sized viewport. */
/* Small decorative illustrations; titles and descriptions remain real text. */
.daily-card{display:grid;grid-template-columns:minmax(0,1fr) 96px;grid-template-rows:auto 1fr auto;column-gap:14px;row-gap:6px;align-items:start}
.daily-card>.game-card-art{grid-column:2;grid-row:1/4;width:96px;height:96px;max-width:100%;object-fit:contain;align-self:center;border-radius:10px;background:#1b2825;pointer-events:none}
.daily-card>h3,.daily-card>p,.daily-card>.card-status{grid-column:1;min-width:0}
.daily-card>.card-status{align-self:end;margin-top:0}
@media(max-width:540px){.daily-card{display:flex;gap:7px}.daily-card>.game-card-art{width:80px;height:80px;align-self:flex-start;flex:none}.daily-card>.card-status{align-self:flex-start;margin-top:auto}}

.empty-match-value{color:var(--muted);font-size:22px}
@media(max-width:720px){
  .match-scroll{max-height:none;-webkit-overflow-scrolling:touch;scrollbar-width:auto}
  .match-table-mobile{width:max-content;min-width:100%;table-layout:fixed}
  .match-table-mobile th,.match-table-mobile td{min-width:126px;max-width:126px;height:92px;padding:9px 8px}
  .match-table-mobile thead th{white-space:normal;overflow-wrap:anywhere}
  .match-table-mobile th:first-child{position:sticky;left:0;z-index:2;min-width:118px;max-width:118px;background:#304a3b}
  .match-table-mobile thead th:first-child{z-index:3}
  .match-table-mobile .column-help{width:100%;font-size:13px;line-height:1.2;white-space:normal}
  .match-table-mobile td>span{max-width:108px;line-height:1.25}
  .match-keyboard{margin-top:18px;gap:10px;padding:0 0 max(14px,env(safe-area-inset-bottom))}
  .match-keyboard .key-row{gap:5px}
  .match-keyboard .key{height:52px;font-size:15px}
  .match-keyboard .key.wide{font-size:10px}
}
