:root{--ink:#193e3d;--muted:#667d70;--paper:#fcfcf4;--green:#285e50;--gold:#b58b42;font-family:Arial,Helvetica,sans-serif;color:var(--ink);color-scheme:light;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:300px;background:#bbcfbf}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer;border:0;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,#board:focus-visible{outline:3px solid #b78535;outline-offset:4px}button:hover:not(:disabled){filter:brightness(.96)}[hidden]{display:none!important}.landscape,.veil{position:fixed;inset:0;pointer-events:none;z-index:-2}.landscape{background:url('assets/lake.webp') center center/cover no-repeat}.veil{z-index:-1;background:linear-gradient(180deg,#e8efe4f5 0%,#e6eddfc4 20%,#d3e2d21a 54%,#163e3f60 100%)}body[data-scene=coast] .landscape{background-image:url('assets/coast.webp')}body[data-scene=twilight] .landscape{filter:brightness(.65) saturate(.75)}body[data-scene=twilight] .veil{background:linear-gradient(180deg,#dbe5ddf2,#dbe5dd8c 30%,#103d4533 70%)}.skip{position:absolute;top:-80px;left:10px;padding:12px;background:var(--paper);z-index:30}.skip:focus{top:10px}.topbar,main{width:min(1160px,calc(100% - 80px));margin:auto}.topbar{min-height:91px;border-bottom:1px solid #30564a33;display:flex;justify-content:space-between;align-items:center;gap:16px}.wordmark{font:27px Georgia,serif;letter-spacing:-1px;text-decoration:none}.wordmark span{display:block;font:8px Arial,sans-serif;letter-spacing:2.5px;margin-top:7px}.top-actions{display:flex;align-items:center;gap:22px}.save-state{font-size:11px;color:#456456}.save-state:before{content:'';display:inline-block;width:6px;height:6px;background:#6c9471;border-radius:50%;margin-right:8px}.home-link{text-decoration:none;font-size:12px;border-left:1px solid #365c4630;padding-left:22px}.home-link span{margin-left:8px}.icon-button{width:33px;height:33px;background:#fcfcf49c;border:1px solid #ffffff80;border-radius:50%;font:20px Georgia,serif}.intro{display:flex;justify-content:space-between;align-items:center;padding:27px 0 26px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;line-height:1.5;margin:0}.intro h1{font:normal 56px/.95 Georgia,'Times New Roman',serif;letter-spacing:-2.8px;margin:12px 0}.intro h1 em{font-weight:normal;color:#47775d}.title-spark{font:35px Georgia,serif;color:#9b8245;margin-left:16px;vertical-align:top}.tagline{font-size:13px;line-height:1.5;margin:0;color:#49675b}.scene-button{padding:11px 17px;border-radius:30px;background:#f9faedc7;border:1px solid #ffffffa3;display:flex;gap:11px;align-items:center;font-size:11px;box-shadow:0 5px 20px #254c3510}.scene-button>span:first-child{font-size:24px;color:#8d8548}.scene-button>span:last-child{font-size:17px;margin-left:12px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:62px;align-items:start}.puzzle-area{min-width:0;max-width:680px}.puzzle-top{display:flex;justify-content:space-between;align-items:center;margin:0 12px 19px;gap:12px}.mode-switch{display:flex;background:#f5f7e6d9;border:1px solid #ffffff60;padding:4px;border-radius:10px;gap:3px}.mode-switch button{background:transparent;padding:10px 18px;border-radius:7px;font-size:11px;color:#526b5b}.mode-switch button[aria-pressed=true]{background:var(--green);color:#fffdf1;box-shadow:0 3px 8px #254c3520}.timer-wrap{background:#f9fbf1eb;border:1px solid #ffffff90;border-radius:30px;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 16px;box-shadow:0 2px 12px #1843330a;font-size:12px;font-variant-numeric:tabular-nums}#pause{border-radius:50%;width:28px;height:28px;background:#e5eddd;font:14px Georgia,serif}.board-heading{display:flex;justify-content:space-between;align-items:end;margin:0 13px 17px;color:#fffef2;text-shadow:0 1px 5px #153f35}.board-heading h2{font:normal 29px Georgia,serif;letter-spacing:-.6px;margin:6px 0 0}.board-heading .eyebrow{font-size:8px;letter-spacing:1.8px}.board-heading>span{font-size:11px;letter-spacing:1px;background:#173f3ac9;padding:8px 11px;border-radius:30px;text-shadow:none}.board-shell{position:relative;padding:12px;border-radius:14px;background:#f6f5d929;box-shadow:0 14px 38px #193c3d26;border:1px solid #ffffff70;backdrop-filter:blur(3px)}#board{display:grid;grid-template-columns:repeat(var(--size,10),1fr);aspect-ratio:1;gap:2px;touch-action:none;user-select:none;-webkit-user-select:none;outline-offset:7px;position:relative;border-radius:5px}.cell{min-width:0;min-height:0;display:flex;justify-content:center;align-items:center;background:#fcfcf0ed;border:1px solid #faffed85;border-radius:3px;font-size:clamp(16px,2vw,27px);font-weight:500;line-height:1;cursor:crosshair;position:relative}.cell span{position:relative;z-index:2;pointer-events:none}.cell.cursor{box-shadow:inset 0 0 0 2px #9c7835}.cell.anchor{background:#edca80!important}.cell.hint{background:#efd18a;box-shadow:inset 0 0 0 2px #aa8338;animation:hintPulse 1s ease-in-out 4}.cell.found{color:#143a2d}#board[data-level=hard] .cell{font-size:clamp(13px,1.65vw,21px)}#board[data-level=medium] .cell{font-size:clamp(14px,1.85vw,24px)}#lines{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);pointer-events:none;z-index:1;overflow:visible}.board-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 12px 0;padding:9px 13px;background:#163f3bdd;border:1px solid #fff4;border-radius:8px;color:#f6f8e9}.board-bottom p{font-size:11px;line-height:1.6;margin:0}#selection{font-size:12px;letter-spacing:2px;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f1d998}.message{margin:10px 12px 0;color:#fffef1;text-shadow:0 1px 4px #173d35;font-size:11px;min-height:18px;line-height:1.5}aside{display:flex;flex-direction:column;gap:18px}.word-card,.settings-card{background:#fcfcf5f5;border:1px solid #fff9;border-radius:15px;box-shadow:0 12px 32px #203e3817;padding:25px 24px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.card-heading h2{font:normal 25px Georgia,serif;letter-spacing:-.6px;margin:0}.card-heading>span{font-size:12px;color:#83917f;white-space:nowrap}.card-heading b{color:#315b47;font-size:17px;font-weight:500}.progress{height:4px;background:#e5eadc;border-radius:6px;margin:17px 0 12px;overflow:hidden}.progress div{height:100%;background:#6b956d;border-radius:6px;transition:width .3s}.direction-note{font-size:11px;color:#70816b;line-height:1.6;margin:0 0 18px}#word-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:0;margin:0 0 20px}#word-list li{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 0;font-size:12px;letter-spacing:.6px}#word-list li .tick{font:13px Arial;width:15px;height:15px;border:1px solid #ced8c5;border-radius:50%;display:grid;place-items:center;flex:none;color:transparent}#word-list li.solved{color:#72876b;text-decoration:line-through;text-decoration-color:#92aa85}#word-list li.solved .tick{background:#d9e8d0;border-color:#d9e8d0;color:#487345;text-decoration:none}.hint-row{border-top:1px solid #dfe5d7;padding-top:18px;display:flex;align-items:center;gap:11px}.secondary{padding:12px 14px;background:#e8eee0;border:1px solid #dce4d4;border-radius:8px;font-size:11px}.hint-row button{white-space:nowrap}.hint-row button span{font-size:18px;vertical-align:middle;margin-right:4px}.hint-row>span{font-size:9px;line-height:1.6;color:#7b8c73}.settings-card{padding-top:23px}.settings-card .card-heading h2{font-size:23px}.settings-fields{display:grid;gap:15px;margin:21px 0}label{font-size:10px;letter-spacing:.3px;color:#6e806b;display:block}select{display:block;width:100%;margin-top:8px;padding:11px 30px 11px 11px;border:1px solid #d7dfcf;border-radius:7px;background:#fafcf1;font-size:12px;color:#294e3e;cursor:pointer;min-height:42px}.primary{border:1px solid #275345;border-radius:8px;padding:13px 19px;background:var(--green);color:#fffef4;font-size:12px;min-height:44px}.primary span{margin-left:14px}#new-puzzle{width:100%;display:flex;justify-content:space-between;align-items:center}.settings-card>p{font-size:10px;color:#7e8d73;line-height:1.6;margin:14px 0 0;text-align:center}.quiet-note{display:flex;gap:15px;align-items:center;justify-content:center;color:#fffde9;text-shadow:0 1px 4px #193e3b;background:#163f3a88;border:1px solid #ffffff40;border-radius:12px;padding:10px 15px}.quiet-note>span{font:40px Georgia;color:#e2d6a1}.quiet-note p{font:14px/1.6 Georgia,serif;margin:0}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 20px;color:#fffdee;text-shadow:0 1px 4px #173d3f;font-size:10px}footer>span:first-child{font-size:8px;letter-spacing:1.5px}footer button{color:inherit;background:none;font-size:10px;padding:7px 0;text-shadow:inherit}#pause-cover{position:absolute;inset:0;background:#edf2e8fa;border-radius:13px;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}#pause-cover h2{font:32px Georgia,serif;margin:16px 0 25px}dialog{border:1px solid #fff;border-radius:18px;padding:32px;color:var(--ink);background:#fcfcf4;width:min(500px,calc(100% - 30px));max-height:90dvh;box-shadow:0 25px 100px #10393460}dialog::backdrop{background:#163c3d99;backdrop-filter:blur(5px)}dialog h2{font:normal 34px Georgia,serif;letter-spacing:-.9px;margin:13px 0 20px}dialog p,dialog li{font-size:13px;line-height:1.8;color:#5a715d}dialog ul{padding-left:20px}dialog .small{font-size:11px;background:#eaf0e2;border-radius:7px;padding:12px}.close{float:right;width:32px;height:32px;border-radius:50%;font-size:24px;background:#e7eddf;color:#65755e}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.completion{text-align:center;clear:both}.seal{font:66px Georgia;color:#ab8c45}.completion h2{font-size:36px}.completion-stats{display:flex;justify-content:center;gap:35px;margin:25px 0}.completion-stats strong{display:block;font:27px Georgia;color:#386149}.completion-stats span{display:block;font-size:10px;margin-top:8px;color:#7b8b72}.text-button{display:block;margin:18px auto 0;padding:8px;background:none;font-size:11px;color:#708569}.noscript{background:#fff7d8;padding:20px;color:#5b3610;text-align:center}@keyframes hintPulse{50%{background:#f8df9f}}
@media(min-width:1500px){.topbar,main{width:min(1260px,calc(100% - 100px))}.workspace{gap:80px;grid-template-columns:minmax(0,1fr) 370px}.puzzle-area{max-width:680px}.intro{padding:32px 0}.intro h1{font-size:62px}}
@media(max-width:1100px){.workspace{gap:25px;grid-template-columns:minmax(0,1fr) 310px}.topbar,main{width:calc(100% - 48px)}.word-card,.settings-card{padding:22px 20px}.card-heading h2{font-size:23px}.mode-switch button{padding:10px 12px}.puzzle-top{margin-left:0;margin-right:0}#word-list{gap:3px 8px}#word-list li{font-size:11px;letter-spacing:.25px}}
@media(max-width:760px){.topbar,main{width:calc(100% - 32px)}.topbar{min-height:78px}.wordmark{font-size:23px}.wordmark span{font-size:7px;letter-spacing:1.8px}.top-actions{gap:13px}.save-state{display:none}.home-link{font-size:11px;padding-left:12px}.intro{padding:24px 0}.intro h1{font-size:49px}.eyebrow{font-size:7px;letter-spacing:1.5px}.tagline{font-size:12px}.scene-button{padding:8px 12px;font-size:10px}.scene-button>span:last-child{display:none}.workspace{grid-template-columns:1fr;gap:20px}.puzzle-area{max-width:560px;width:100%;margin:auto}.board-heading{margin-top:18px}.board-heading h2{font-size:27px}.puzzle-top{margin:0 6px 10px}.cell{font-size:clamp(18px,4vw,26px)}#board[data-level=medium] .cell{font-size:clamp(15px,3.3vw,23px)}#board[data-level=hard] .cell{font-size:clamp(12px,2.8vw,20px)}aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.word-card{grid-column:1 / -1}.settings-card{grid-column:1 / -1}.settings-fields{grid-template-columns:1fr 1fr}.quiet-note{grid-column:1 / -1}.word-card,.settings-card{padding:23px}#word-list{grid-template-columns:repeat(3,1fr);margin-bottom:13px}#word-list li{font-size:12px}.hint-row{justify-content:space-between}.hint-row>span{font-size:10px}.direction-note{margin-bottom:12px}.progress{margin-top:15px}.settings-card .card-heading h2{font-size:25px}.settings-fields{margin:18px 0}.board-bottom{margin-left:0;margin-right:0;padding:8px 11px}.board-bottom p{font-size:10px}#selection{font-size:10px}.message{margin-left:2px}.quiet-note{display:none}footer{flex-wrap:wrap;font-size:9px;margin-top:22px}footer>span:nth-child(2){display:none}}
@media(max-width:390px){.topbar,main{width:calc(100% - 24px)}.home-link{display:none}.scene-button{width:40px;height:40px;padding:0;justify-content:center}#scene-name{display:none}.intro h1{font-size:46px}.board-shell{padding:8px}#lines{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}#board{gap:1px}.word-card,.settings-card{padding:20px}#word-list{grid-template-columns:1fr 1fr}.settings-fields{gap:10px}.board-bottom{display:block}#selection{display:block;max-width:100%;margin-top:2px}.board-heading h2{font-size:25px}.board-heading .eyebrow{letter-spacing:1.2px}}
@media(min-width:761px) and (max-height:900px){.topbar{min-height:72px}.intro{padding:18px 0}.intro h1{font-size:46px;margin:8px 0}.puzzle-area{max-width:min(680px,max(340px,calc(100dvh - 340px)));justify-self:center;width:100%}.workspace{gap:30px}.puzzle-top{margin:0 0 13px}.mode-switch button{padding:9px 12px}.board-heading{margin-bottom:12px}.board-heading h2{font-size:25px}.board-shell{padding:9px}#lines{inset:9px;width:calc(100% - 18px);height:calc(100% - 18px)}.cell{font-size:22px}#board[data-level=medium] .cell{font-size:18px}#board[data-level=hard] .cell{font-size:15px}.board-bottom{margin:11px 0 0}.message{margin-left:0}.settings-card{padding-top:20px;padding-bottom:20px}.word-card{padding-top:21px;padding-bottom:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
