body[data-game="letters"] #main{background:#f5f4eb}
:root{--ink:#192a3b;--paper:#f7f2e7;--gold:#f6dba1;--muted:#718294;--coral:#d97565;--navy:#121c2a;color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--paper);line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #73dfe0;outline-offset:4px}button:disabled{cursor:default}button{touch-action:manipulation}.skip-link{position:fixed;top:-100px;left:16px;z-index:99;background:var(--paper);color:var(--ink);padding:12px 20px}.skip-link:focus{top:12px}.site-header{max-width:1320px;margin:auto;padding:22px 34px;display:flex;align-items:center;gap:38px;border-bottom:1px solid #ffffff19}.brand{text-decoration:none;display:flex;align-items:center;gap:15px}.brand-name{font-size:10px;font-weight:850;letter-spacing:.14em;width:92px;line-height:1.45}.brand-play{font-size:28px;letter-spacing:-.06em;font-weight:850;line-height:1}.brand-spark{color:var(--gold);font-size:23px;padding-left:6px}.site-header nav{display:flex;gap:25px;margin:auto}.site-header nav a{font-size:13px;text-decoration:none;color:#c0cbd4;padding:8px 0;border-bottom:2px solid transparent}.site-header nav a[aria-current=page]{border-color:var(--gold);color:var(--gold)}.sound-toggle{border:1px solid #ffffff36;border-radius:30px;padding:9px 16px;color:var(--paper);background:transparent;font-size:12px;display:flex;gap:9px;align-items:center;min-height:42px}.sound-toggle>span:first-child{font-size:21px;color:var(--gold)}#main{min-height:calc(100vh - 190px);outline:none}.home-wrap{max-width:1252px;margin:0 auto;padding:66px 32px 44px}.home-intro{display:flex;gap:35px;align-items:flex-end;justify-content:space-between;margin-bottom:34px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;margin:0 0 14px;color:var(--gold)}.home-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,5.4vw,70px);font-weight:400;letter-spacing:-.045em;line-height:1.03;margin:0}.home-intro h1 em{font-weight:400;color:var(--gold)}.home-intro>p{max-width:290px;font-size:14px;color:#b3c2ce;line-height:1.7;margin:0 0 3px}.game-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}.game-card{border-radius:18px;overflow:hidden;position:relative;display:flex;flex-direction:column;min-width:0;text-decoration:none;border:1px solid #ffffff23;transition:transform .2s,border-color .2s;background:#20313e}.game-card:hover{transform:translateY(-4px);border-color:#ffffff80}.card-art{height:300px;position:relative;overflow:hidden;background:#324b65}.card-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s}.game-card:hover .card-art img{transform:scale(1.035)}.card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#152636cc,transparent 65%)}.art-label{position:absolute;left:26px;top:24px;z-index:1;font-size:10px;font-weight:800;letter-spacing:.12em;padding:7px 10px;border:1px solid #ffffff66;border-radius:20px;background:#13253477}.card-title{position:absolute;bottom:26px;left:28px;right:20px;z-index:1;font-family:Georgia,serif;font-weight:400;font-size:43px;letter-spacing:-.04em;line-height:1.04;margin:0;text-shadow:0 3px 24px #05132199}.card-title small{display:block;font:500 11px/1.6 ui-sans-serif,system-ui;letter-spacing:.17em;margin-bottom:6px}.arcade-card .card-art{background:radial-gradient(ellipse at 66% 14%,#d43b6144,transparent 54%),#100d29}.arcade-card .card-title{font-family:ui-sans-serif,system-ui;font-weight:850;font-size:45px;letter-spacing:-.055em}.arcade-card .card-art img{opacity:.82}.card-bottom{padding:23px 27px 25px;display:flex;gap:20px;justify-content:space-between;align-items:center}.card-bottom p{margin:0;max-width:295px;font-size:13px;color:#ccd8dc;line-height:1.65}.round-arrow{flex:none;border:1px solid #ffffff66;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:23px}.game-card:hover .round-arrow{background:var(--gold);border-color:var(--gold);color:var(--ink)}.arcade-card .card-bottom{background:#1a1b32}.below-cards{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff20;padding:27px 0 29px;gap:20px;color:#b6c6cd;font-size:12px}.daily-note{display:flex;align-items:center;gap:9px}.daily-note:before{content:"";width:6px;height:6px;border-radius:50%;background:#a8d6ad}.mini-collection{padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:22px}.mini-collection h2{font-family:Georgia,serif;font-weight:400;font-size:22px;margin:0 0 5px}.mini-collection p{font-size:12px;color:#a5b5c3;margin:0}.mini-collection a{font-size:12px;text-decoration:none;border-bottom:1px solid #6c7d89;padding:6px 0;white-space:nowrap}.site-footer{max-width:1252px;margin:auto;padding:25px 32px 32px;display:flex;justify-content:space-between;gap:22px;font-size:11px;color:#8496a7}.site-footer a{text-decoration:none}.site-footer strong{font-weight:500;color:#b3c5d1;display:block;margin-top:3px}.site-footer button{border:0;padding:0;background:none;color:#b3c5d1;font-size:11px}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid #b8c6c9;border-radius:18px;padding:34px;max-width:500px;width:calc(100vw - 32px);max-height:88dvh;overflow:auto;color:var(--ink);background:var(--paper);box-shadow:0 18px 100px #0008}dialog::backdrop{background:#07101baf;backdrop-filter:blur(7px)}dialog h2{font:400 33px/1.1 Georgia,serif;letter-spacing:-.025em;margin:0 0 16px}dialog p{font-size:13px;line-height:1.7}dialog .eyebrow{color:#946831}dialog a{color:#1f6670}.dialog-close{float:right;position:relative;top:-15px;right:-13px;font-size:25px;width:40px;height:40px;border:0;background:transparent;border-radius:50%;color:var(--ink)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;font-size:13px}.settings-row select{max-width:235px;background:white;border:1px solid #aab4b6;padding:9px;border-radius:8px;font-size:12px}.settings-row input[type=checkbox]{height:22px;width:22px;accent-color:#226e75}.settings-row input[type=range]{width:55%;accent-color:#226e75}.listen-section{border-top:1px solid #c6cdcc;margin-top:28px;padding-top:12px}.listen-section h3{font:400 21px Georgia,serif}.listen-section a{display:block;margin:11px 0;font-size:13px}.small-note{font-size:11px!important;color:#687779}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 35px);width:max-content;background:var(--paper);color:var(--ink);box-shadow:0 4px 25px #0005;border-radius:30px;padding:13px 24px;z-index:100;font-size:13px}.fatal{max-width:600px;margin:80px auto;padding:30px}.fatal h1{font:36px Georgia,serif}.fatal a{color:var(--gold)}@media(max-width:720px){.site-header{gap:15px;padding:16px 20px;flex-wrap:wrap}.brand-name{font-size:8px;width:75px}.brand-play{font-size:25px}.site-header nav{order:3;width:100%;justify-content:center;gap:32px;padding-top:5px}.site-header nav a{font-size:12px}.sound-toggle{margin-left:auto;padding:7px 12px}.sound-toggle>span:last-child{font-size:10px}.home-wrap{padding:34px 18px 20px}.home-intro{display:block;margin-bottom:27px}.home-intro>p{max-width:350px;margin-top:19px;font-size:13px}.home-intro h1{font-size:45px}.game-grid{grid-template-columns:1fr;gap:21px}.card-art{height:255px}.card-title{font-size:39px}.arcade-card .card-title{font-size:41px}.card-bottom{padding:19px 23px}.below-cards{display:block;padding:22px 0}.below-cards>span{display:block;margin-top:8px}.mini-collection{align-items:flex-start;flex-direction:column;gap:12px}.site-footer{padding:25px 21px;align-items:flex-end}dialog{padding:27px}.settings-row{gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Keep the target words in view while tracing on a narrow screen. */
@media(max-width:650px){.ll-game-layout{display:flex;flex-direction:column;gap:16px}.ll-scene-column{display:contents}.ll-scene{width:100%;order:0}.ll-progress-block{width:100%;order:1;padding:0}.ll-targets-block{width:100%;order:2;position:sticky;top:0;background:#f5f4eb;z-index:5;padding:9px 0;box-shadow:0 7px 9px #f5f4eb}.ll-play-column{width:100%;order:3}}

/* Optional publication paths after a complete daily walk or arcade run. */
.ll a.ll-publication-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;padding:8px;color:#365c42;font-size:12px;line-height:1.5;text-underline-offset:3px;text-align:center;overflow-wrap:anywhere}.ll a.ll-publication-link:focus-visible{outline:3px solid #cc6a3d;outline-offset:3px}.rb-publication-break{margin:8px 0 0;text-align:center}.rb-publication-break[hidden]{display:none}.rb-publication-break a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;color:#b4a0ff;font-size:12px;line-height:1.5;text-underline-offset:3px;overflow-wrap:anywhere}

/* Offcuts has its own small route; existing game engines are unchanged. */
.offcuts-feature{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;background:#f5f0e5;color:#182f35}.offcuts-feature .card-art{height:auto;aspect-ratio:1200/630;background:#f5f0e5}.offcuts-feature .card-art:after{display:none}.offcuts-feature .card-art img{object-fit:contain}.offcuts-feature .card-bottom{padding:28px}.offcuts-feature .eyebrow{color:#ab462d;font-size:9px}.offcuts-feature h2{font:400 42px/1 Georgia,serif;margin:8px 0 14px;letter-spacing:-.05em}.offcuts-feature .card-bottom p{color:#3a4e50;max-width:35ch}.offcuts-feature .round-arrow{border-color:#9ba99d}.offcuts-feature .card-bottom .eyebrow{color:#ab462d;margin-bottom:12px}@media(max-width:720px){.offcuts-feature{grid-template-columns:1fr}.offcuts-feature .card-bottom{padding:22px}.offcuts-feature h2{font-size:36px}}
