:root{color-scheme:light;--forest:#102d25;--pine:#214535;--ink:#203e32;--gold:#c6a66b;--cream:#f5f0e5;--paper:#fffcf3;--muted:#637066;--line:#d5cfbd;--sans:"DM Sans",system-ui,sans-serif;--serif:"Cinzel",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-bottom:280px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.6 var(--sans)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit}button{touch-action:manipulation}button,a{transition:background .18s,transform .18s,box-shadow .18s}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a5792d;outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:12px;top:-80px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:12px}
.site-header{background:#0d261f;color:#f3e9d1;border-bottom:1px solid #c6a66b44}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:48px;height:48px;border:1px solid #c6a66b88;border-radius:50%;color:#d3b77c;display:grid;place-items:center}.brand-mark svg{width:40px;height:40px}.brand strong{display:block;font:600 13px var(--serif);letter-spacing:.08em}.brand small{display:block;font-size:8px;letter-spacing:.21em;text-transform:uppercase;color:#c4b48b;margin-top:6px}.site-link{font-size:11px;text-decoration:none;color:#dbd9c6;border:1px solid #d6c59a45;padding:10px 15px;border-radius:4px}.site-link:hover{background:#234535}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#123228;color:#fff8e7;text-align:center}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url("./streams-valley-cross-bg.avif") center 42%/cover;transform:scale(1.025)}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#051b17b5,#0a231c55,#051b17b5),linear-gradient(0deg,#0b271f 0%,#0b271f28 60%,#0b271f66)}.hero-content{padding:65px 0 72px}.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:700;text-transform:uppercase;color:#78613b;margin:0 0 12px}.hero .eyebrow{color:#e0c995}.hero-rule{display:flex;align-items:center;justify-content:center;gap:20px;color:#d4b779;font-size:18px;margin:20px auto}.hero-rule::before,.hero-rule::after{content:"";height:1px;width:65px;background:#d4b77966}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{line-height:1.15}.hero h1{font-size:clamp(42px,6vw,76px);margin:0 0 22px;letter-spacing:.015em;text-shadow:0 4px 30px #0008}.hero h1 em{font-style:normal;color:#ecd6a4}.hero-subtitle{font:21px/1.5 Georgia,serif;margin:0 0 10px}.hero-note{font-size:12px;color:#d6ded3;margin:0 0 27px}.button{border:1px solid #c8c0a9;background:#f7f3e8;color:var(--ink);border-radius:5px;min-height:44px;padding:10px 18px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:12px;font-weight:700}.button:hover{background:#e9e4d5;border-color:#a28a56}.button.gold{color:#142d23;background:linear-gradient(110deg,#e8d29c,#c5a363);border-color:#d9bd80;box-shadow:0 4px 16px #0002}.button.gold:hover{background:#efdaa5}.hero-details{display:flex;justify-content:center;align-items:center;gap:15px;color:#d9ddcc;font-size:10px;margin-top:25px}.hero-details i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.hero-caption{font:italic 11px Georgia,serif;color:#b6c3ae;position:absolute;bottom:15px;right:32px}
.library-body{padding-top:46px;padding-bottom:20px}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.collection-heading h2{font-size:28px;margin:0}.collection-heading p:not(.eyebrow){font-size:13px;color:var(--muted);margin:9px 0 0}.collection-count{color:#5b685c;font-size:11px;white-space:nowrap;border-bottom:1px solid #c7b98e;padding-bottom:6px}.library-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:28px}.filters{display:flex;flex-wrap:wrap;gap:7px}.filters button{border:1px solid #c9c7b9;background:transparent;color:#536056;border-radius:40px;padding:10px 17px;min-height:42px;font-size:11px}.filters button[aria-pressed=true]{background:var(--forest);color:#f7efd9;border-color:var(--forest)}.filters button:hover{box-shadow:0 2px 6px #193c2316}.search{display:flex;align-items:center;gap:8px;background:#fffaf0;border:1px solid #d0c8b4;border-radius:5px;padding:0 12px}.search span{font-size:24px}.search input{background:transparent;border:0;color:var(--ink);width:160px;min-height:42px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.puzzle-card{position:relative;text-align:left;display:flex;flex-direction:column;min-height:310px;background:linear-gradient(125deg,#fffdf5,#f1ead9);border:1px solid #c8b991;border-left:5px solid var(--pine);border-radius:6px;color:var(--ink);padding:27px;box-shadow:0 4px 10px #1d362208,0 15px 30px #182d2210;overflow:hidden}.puzzle-card::before{content:"";position:absolute;inset:6px;border:1px solid #c6a66b33;pointer-events:none;border-radius:2px}.puzzle-card::after{content:"";position:absolute;width:130px;height:130px;border:1px solid #bda47420;transform:rotate(45deg);right:-85px;top:15px;pointer-events:none}.puzzle-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #182d2222;border-color:#9a895d}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.card-number{font:22px Georgia,serif;color:#766033}.card-category{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#586c59}.card-title{display:block;font:500 21px/1.35 var(--serif);margin:0 0 10px;max-width:260px}.card-description{font-size:12px;color:#53604d;line-height:1.7;margin:0 0 15px}.card-reference{font-size:10px;letter-spacing:.04em;color:#73603b;margin-top:auto;padding-top:6px}.card-meta{font-size:10px;color:#53604d;margin-top:5px}.card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cbbd9b80;padding-top:16px;margin-top:20px;gap:8px;font-size:11px;font-weight:600}.card-status{font-size:10px;color:#535e48;font-weight:400}.mini-progress{height:3px;background:#dcd8c7;position:absolute;left:5px;bottom:0;right:0}.mini-progress span{display:block;background:#7e9770;height:100%}.puzzle-card.complete{border-left-color:#9a8149}.continue-card{width:100%;padding:23px 27px;margin:0 0 36px;border:1px solid #6b7956;border-radius:6px;background:linear-gradient(110deg,#14362a,#294d37);color:#f8eed8;display:flex;text-align:left;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 9px 25px #142c2515}.continue-card small{color:#d7c294;letter-spacing:.13em;text-transform:uppercase;font-size:9px;display:block}.continue-card strong{display:block;font:21px var(--serif);margin:7px 0}.continue-card span{font-size:12px;color:#e2ddca}.continue-card b{font-size:12px;color:#f0d398;white-space:nowrap}.library-note{display:flex;align-items:center;justify-content:center;gap:20px;text-align:left;margin:45px 0 30px;padding-top:22px;border-top:1px solid #d6cdb7}.library-note>span{font-size:34px;color:#8b784e}.library-note p{font:17px/1.7 Georgia,serif}.library-note small{font:11px var(--sans);color:#53604d}.empty{text-align:center;padding:50px 20px}.empty h3{font-size:24px}.empty p{color:var(--muted)}
.play{padding-top:20px;padding-bottom:40px}.play-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.text-button{color:#59684f;background:none;border:0;padding:10px 0;min-height:42px;font-size:12px;text-underline-offset:4px}.text-button:hover{text-decoration:underline}.play-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.play-heading h1{font-size:32px;margin:0 0 10px;outline:0}.play-heading p:not(.eyebrow){margin:0;color:#53604b;font-size:12px}.progress-box{min-width:165px;max-width:220px;text-align:right}.progress-box strong{display:block;font:22px Georgia,serif}.progress-box span{display:block;font-size:10px;color:#53604b;margin:4px 0 9px}progress{appearance:none;width:100%;height:5px;border:0;display:block;background:#dcd8c9;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:#dcd8c9}progress::-webkit-progress-value{background:#788c60}progress::-moz-progress-bar{background:#788c60}.play-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:28px;align-items:start}.game-left{min-width:0}.board-panel{background:linear-gradient(120deg,#264536,#153528);border:1px solid #6a7754;border-radius:8px;padding:20px;box-shadow:0 14px 32px #152d241e}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;color:#d8c79f;font-size:9px;letter-spacing:.12em}.panel-heading span:last-child{font-size:10px;letter-spacing:0;color:#c9d3be}.board-frame{background:linear-gradient(125deg,#ac9061,#e4d5b2,#937e54);padding:8px;border-radius:3px;box-shadow:0 5px 22px #0003,inset 0 0 0 1px #dbcba8}.board-frame #grid{display:grid;gap:1px;background:#345341;border:1px solid #345341;container-type:inline-size}.grid-row{display:contents}.cell,.void{aspect-ratio:1;min-width:0;min-height:0;position:relative}.cell{display:grid;place-items:center;border:0;border-radius:0;padding:0;background:#fffaf0;color:#163b2a;transition:background .1s;overflow:hidden}.void{background:linear-gradient(145deg,#1b3e2e,#224533)}.cell-letter{font:600 clamp(14px,2.9cqw,24px)/1 var(--sans);padding-top:5px}.cell-number{position:absolute;top:1px;left:2px;font:600 clamp(7px,1.45cqw,10px)/1 var(--sans);color:#35492f}.cell.word{background:#dce8d0}.cell.checked{box-shadow:inset 0 -3px #6c9368}.cell.error{box-shadow:inset 0 -3px #a05a45;color:#78402d}.cell.active{background:#e7c77f;box-shadow:inset 0 0 0 2px #8d6c2c;z-index:1}.cell:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #936b1e}.cell.word-finished{animation:word-glow .65s ease}.board-note{text-align:center;font-size:10px;color:#c4d0bd;margin:13px 0}.tools{display:flex;gap:9px}.tools .button{flex:1;border-color:#a9a17d;background:#f6efdb}.tools .button:hover{background:#e7d9b2}.input-dock{margin-top:16px;background:#fffaf0;border:1px solid #c6b88d;border-radius:7px;box-shadow:0 5px 18px #1532280b;overflow:hidden}.current-clue{padding:15px 20px 13px;min-height:116px;border-left:3px solid #b99959}.clue-navigation{display:flex;align-items:center;gap:8px;margin-bottom:5px;color:#756039}.clue-navigation button{background:none;border:0;color:#31583e;min-width:36px;min-height:32px;padding:3px;font-size:24px;line-height:1}.clue-navigation #direction{font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;min-width:85px}.clue-navigation #answer-length{font-size:10px;color:#6d7565;margin-right:auto}.current-clue #current-text{font:17px/1.4 Georgia,serif}.current-clue #current-reference{font-size:10px;color:#645d3c;margin-top:6px}.keyboard{border-top:1px solid #d9ceb0;padding:12px;background:#ebe8db;display:grid;gap:6px}.key-row{display:flex;justify-content:center;gap:5px}.key{min-height:43px;flex:1;min-width:0;max-width:48px;border:1px solid #bfc3b0;border-bottom-width:3px;background:#fffdf4;border-radius:5px;color:#234b35;padding:0;font-size:15px;font-weight:700}.key:hover{background:#d9e3ca}.key.special{flex:1.5;max-width:70px;font-size:11px}.save-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:#53604d;margin-top:7px}.save-row .text-button{font-size:10px}.clues-panel{background:#faf7ed;border:1px solid #cdc3a9;border-radius:7px;box-shadow:0 8px 24px #142c2410;overflow:hidden}.clues-heading{padding:24px 25px 20px;border-bottom:1px solid #ded5be;background:linear-gradient(120deg,#f4efdf,#faf8ef)}.clues-heading h2{font-size:24px;margin:0}.clues-heading p:last-child{font-size:11px;color:#53604d;margin:7px 0 0}.clue-columns{padding:20px 14px;max-height:670px;overflow:auto;scrollbar-width:thin;scrollbar-color:#a9b298 transparent}.clue-columns section+section{margin-top:22px}.clue-columns h3{display:flex;justify-content:space-between;padding:0 12px 9px;margin:0 0 8px;border-bottom:1px solid #d9d0ba;font:600 12px var(--sans);letter-spacing:.07em;text-transform:uppercase}.clue-item{display:grid;grid-template-columns:25px 1fr 13px;gap:8px;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:4px;padding:11px;color:#3c5140;line-height:1.5;font-size:12px}.clue-item:hover{background:#ececde}.clue-item.selected{background:#e1e8d6;border-color:#9ead8a}.clue-item .num{font-weight:700;color:#6a552e}.clue-item small{display:block;font-size:10px;color:#536044;margin-top:4px}.clue-item .done{color:#52733e}.clues-foot{padding:18px 24px;font:italic 12px/1.7 Georgia,serif;color:#53604d;background:#efeddf;border-top:1px solid #dbd1b9}.storage-warning{padding:12px 15px;background:#f4e0bb;border:1px solid #b99454;border-radius:5px;font-size:12px;margin:0 0 18px}
footer{border-top:1px solid #d7cdb5;display:flex;justify-content:space-between;align-items:center;gap:15px;padding-block:25px;font-size:10px;color:#53604d}footer a{text-decoration:none}dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;text-align:center;background:linear-gradient(145deg,#fffaf0,#ede6d3);color:var(--ink);border:1px solid #b79c62;border-radius:10px;padding:32px;box-shadow:0 20px 80px #0005}dialog::backdrop{background:#071b17bf;backdrop-filter:blur(5px)}dialog[open]{animation:arrive .2s ease}.close{position:absolute;right:10px;top:8px;background:none;border:0;font-size:26px;color:#60705d;width:40px;height:40px}.modal-symbol{display:block;color:#aa8a4a;font:44px Georgia,serif;margin:10px 0 20px}dialog h2{font-size:25px;line-height:1.3;margin:10px 0 15px}dialog p{font-size:13px;line-height:1.7}dialog .verse{font:italic 18px/1.6 Georgia,serif;border-block:1px solid #b9a87b66;padding:20px 0;margin:22px 0}dialog .verse small{display:block;font:10px var(--sans);margin-top:10px;letter-spacing:.1em}dialog ul{text-align:left;font-size:12px;line-height:1.8;padding-left:20px}.modal-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:22px}.modal-actions .button{flex:1 1 auto}dialog.success{border-color:#c6a15a;box-shadow:0 0 65px #d6b56c33,0 25px 80px #0005}dialog.success .modal-symbol{animation:glow 2s ease}.toast{position:fixed;z-index:30;left:50%;bottom:22px;transform:translateX(-50%);max-width:min(92vw,500px);width:max-content;background:#173c2c;color:#fff3d6;border:1px solid #a99055;border-radius:6px;box-shadow:0 7px 30px #0003;padding:13px 20px;font-size:12px;text-align:center}
@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{50%{text-shadow:0 0 24px #bb954d;transform:scale(1.08)}}@keyframes word-glow{50%{background:#c8dcb6}}
@media(min-width:1500px){.wrap{width:min(1320px,calc(100% - 96px))}.cards{gap:28px}}
@media(max-width:1000px){.wrap{width:calc(100% - 40px)}.cards{gap:16px}.puzzle-card{padding:22px}.card-title{font-size:18px}.play-layout{gap:18px;grid-template-columns:minmax(0,1fr) minmax(290px,.85fr)}.board-panel{padding:14px}.collection-heading h2{font-size:25px}.library-controls{align-items:stretch;flex-direction:column}.search{align-self:flex-start}.search input{width:220px}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.header-inner{min-height:74px}.brand strong{font-size:10px;letter-spacing:.03em}.brand small{font-size:7px;letter-spacing:.1em}.brand-mark{width:38px;height:38px;flex-shrink:0}.brand-mark svg{width:32px;height:32px}.site-link{font-size:10px;padding:8px;border:0}.site-link span{display:none}.hero-content{padding:47px 0 60px}.hero h1{font-size:52px}.hero-subtitle{font-size:18px}.hero-note{font-size:11px}.hero-caption{right:0;width:100%;font-size:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-count{font-size:10px}.collection-heading{align-items:start}.collection-heading h2{font-size:24px}.collection-heading p:not(.eyebrow){max-width:250px}.play-layout{grid-template-columns:1fr}.game-left{max-width:580px;width:100%;margin:auto}.play-heading h1{font-size:26px}.play{padding-top:8px}.play-nav{margin-bottom:10px}.play-heading{gap:14px;margin-bottom:17px}.progress-box{min-width:105px}.progress-box strong{font-size:18px}.progress-box span{font-size:9px}.play-heading .eyebrow{font-size:8px;margin-bottom:8px}.clues-panel{max-width:580px;width:100%;margin:0 auto}.clue-columns{max-height:none}.clue-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clue-columns section+section{margin-top:0}.input-dock{position:fixed;z-index:10;left:0;right:0;bottom:0;margin:0;border-radius:8px 8px 0 0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 30px #102d2526;border-inline:0}.current-clue{padding:7px 16px 9px;min-height:94px}.clue-navigation{margin-bottom:1px}.clue-navigation button{min-height:34px}.current-clue #current-text{font-size:15px;line-height:1.3}.current-clue #current-reference{margin-top:3px;font-size:9px}.keyboard{padding:7px 5px 8px;gap:5px}.key-row{gap:4px}.key{min-height:42px;max-width:54px;font-size:16px}.key.special{max-width:76px}.is-playing{padding-bottom:var(--dock-height,270px)}.is-playing .toast{bottom:calc(var(--dock-height,270px) + 12px)}.clue-item{font-size:11px;padding:9px 6px;grid-template-columns:19px 1fr 10px;gap:5px}footer{flex-wrap:wrap;justify-content:center;text-align:center;font-size:9px;gap:8px 20px}.board-panel{padding:13px}.board-frame{padding:5px}.panel-heading{font-size:8px}.cell-letter{font-size:clamp(14px,3.7cqw,24px)}.cell-number{font-size:clamp(7px,1.85cqw,10px)}.continue-card{padding:20px;gap:12px}.continue-card strong{font-size:18px}.continue-card b{max-width:90px;white-space:normal}.save-row{margin-bottom:12px}}
@media(max-width:480px){.site-link{max-width:97px;line-height:1.4;text-align:right}.hero h1{font-size:44px}.hero-details{font-size:9px;gap:10px}.hero-note{max-width:250px;margin-inline:auto}.cards{grid-template-columns:1fr;gap:17px}.puzzle-card{min-height:265px;padding:24px}.card-top{margin-bottom:15px}.card-title{font-size:23px;max-width:none}.card-description{font-size:13px;margin-bottom:10px}.card-bottom{margin-top:15px}.card-reference{font-size:11px}.collection-heading{display:block}.collection-count{display:inline-block;margin-top:13px}.filters{gap:6px}.filters button{font-size:10px;padding:9px 12px}.search{width:100%}.search input{width:100%}.library-body{padding-top:30px}.library-controls{margin-bottom:22px}.play-heading h1{font-size:22px}.play-heading p:not(.eyebrow){font-size:10px}.progress-box{min-width:88px}.progress-box strong{font-size:16px}.play-layout{gap:15px}.board-panel{padding:9px}.board-frame{padding:4px}.board-note{font-size:9px;margin:10px 0}.tools{gap:6px}.tools .button{padding:8px 10px;font-size:11px}.clue-columns{grid-template-columns:1fr}.clue-columns section+section{margin-top:16px}.clue-item{font-size:12px}.library-note{gap:12px}.library-note p{font-size:15px}.library-note small{font-size:10px}.wrap{width:calc(100% - 24px)}.clues-heading{padding:20px}.clue-navigation #direction{min-width:80px}.current-clue #current-text{font-size:14px}.brand{gap:8px}dialog{padding:25px 20px}}
@media(max-height:500px) and (max-width:1000px) and (orientation:landscape){.input-dock{position:static;margin-top:14px}.is-playing{padding-bottom:0}.is-playing .toast{bottom:12px}.current-clue{min-height:90px}.key{min-height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
