:root{color-scheme:light;--paper:#f8f6f1;--ink:#243c32;--muted:#737b6e;--red:#b83f3d;--line:#dbddcf;--tile:#e9ecdf;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px var(--sans);-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,#board:focus-visible{outline:2px solid var(--red);outline-offset:4px}a{color:inherit}button[hidden],[hidden]{display:none!important}.shell{max-width:1220px;padding:24px 38px 18px;margin:auto}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.brand{font:33px var(--serif);letter-spacing:-1.2px;display:flex;align-items:center;gap:11px;text-decoration:none}.brand>span{color:var(--red);margin-left:-10px}.brand svg{width:29px;height:33px;stroke:var(--ink);fill:var(--red);stroke-width:1}.brand svg .thread{stroke:var(--red)}.masthead-note{color:#858c7e;font-size:8px;letter-spacing:2px}.help-button{display:flex;align-items:center;gap:8px;font-size:11px;min-height:38px}.help-button>span{border:1px solid #93a08b;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:11px}.layout{display:grid;grid-template-columns:1fr 590px;gap:65px;align-items:start;margin-top:28px}.intro{padding:48px 0 0 12px}.eyebrow{font:500 9px var(--sans);letter-spacing:1.6px;margin:0 0 12px;color:var(--muted)}.intro>.eyebrow{display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:1.4px}.tiny-line{width:22px;height:1px;background:var(--red)}h1{font:64px/1.04 var(--serif);letter-spacing:-2.4px;margin:22px 0}h1 em{font-weight:400;color:var(--red)}.lede{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:38px}.field-notes{border-top:1px solid var(--line);padding-top:24px;max-width:275px}.field-notes ol{list-style:none;padding:0;margin:19px 0}.field-notes li{font-size:12px;margin-bottom:16px;white-space:nowrap}.field-notes li span{font-size:9px;color:var(--red);display:inline-block;width:25px}.field-notes b{color:var(--red);font-weight:500}.field-notes>p:last-child{font-size:11px;color:var(--muted);line-height:1.9}.mini-mesostic{margin:28px 0 20px;font:italic 23px var(--serif);opacity:.8;line-height:1.4}.mini-mesostic>div{display:grid;grid-template-columns:58px 19px 1fr}.mini-mesostic span:first-child{text-align:right}.mini-mesostic b{font:400 22px var(--serif);text-align:center;color:var(--red);border-left:1px solid #b83f3d28;border-right:1px solid #b83f3d28}.inspiration{font-size:10px;line-height:1.9;color:var(--muted)}.inspiration button{padding:2px 0;border-bottom:1px solid #c6ccbd;font-size:10px}.game{padding:19px 19px 0;background:#fcfaf640;border:1px solid var(--line);border-radius:9px}.puzzle-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.puzzle-top .eyebrow{font-size:8px;color:var(--red);margin-bottom:5px}h2{font:28px/1.2 var(--serif);letter-spacing:-.4px;margin:0}.outline-button{border:1px solid #d4d9c9;border-radius:5px;padding:8px 12px;font-size:10px;min-height:35px;display:flex;gap:16px;align-items:center}.outline-button:hover{background:var(--tile)}.meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.meta>span:last-child{display:flex;align-items:center;gap:5px}.red-dot{height:5px;width:5px;border-radius:50%;background:var(--red)}.progress-track{height:2px;background:#e5e7dc;margin:9px 0 23px}#progressBar{height:100%;background:var(--red);transition:width .3s}.board-wrap{position:relative;max-width:526px;margin:0 auto}#board{position:relative;aspect-ratio:1;user-select:none;-webkit-user-select:none;touch-action:none;border:0;border-radius:3px;container-type:inline-size;background:transparent}#cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--grid-size),1fr);grid-template-rows:repeat(var(--grid-size),1fr);overflow:hidden;border-radius:2px}.cell{display:grid;place-items:center}.cell::before{content:"";width:3px;height:3px;border-radius:50%;background:#adb7a2}.strip{position:absolute;height:calc(100% / var(--grid-size));display:flex;padding:0;cursor:grab;border:1px solid #b7c2a7;border-radius:3px;background:#e7ecdb;box-shadow:0 1px 2px #29473e1a;touch-action:none;z-index:2}.strip>span{display:grid;place-items:center;flex:1;min-width:0;border-right:1px solid #c9d2bd;font:400 clamp(11px,4.1cqw,21px)/1 var(--serif);color:#3a5140}.strip>span:last-child{border-right:0}.strip>span.hit{color:var(--red);background:#f5e5db;font-weight:400;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.strip.selected{outline:2px solid var(--ink);outline-offset:1px;z-index:4}.strip.lifted{opacity:.22}.strip.ghost{z-index:5;pointer-events:none;background:#eef0e2;box-shadow:0 4px 10px #29473e26;outline:1px solid #81916e}.strip.ghost.invalid{outline:2px dashed var(--red);opacity:.65}.strip.ghost.invalid>span{background:#f8eeea}#ghost{pointer-events:none}.board-dragging{cursor:grabbing!important}.board-tools{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);padding:7px 0 0}.board-tools button{min-height:32px;font-size:10px;display:flex;align-items:center;gap:5px}.board-tools button span{font-size:15px}#status{min-height:31px;font-size:10px;line-height:1.5;color:var(--muted);text-align:center;display:flex;align-items:center;justify-content:center;padding:3px 0 7px}#status.match{color:var(--red)}.tray-section{border-top:1px solid var(--line);padding-top:11px}.tray-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tray-heading h3{font-size:10px;font-weight:500;margin:0}.tray-heading>span{font-size:9px;color:var(--muted)}#tray{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:7px;min-height:77px;align-content:start}.phrase-card{border:1px solid #c8d0bb;background:#edf0e5;border-radius:4px;padding:10px 10px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.9px;cursor:grab;touch-action:none;box-shadow:0 2px 0 #d5daca;min-height:34px}.phrase-card::before{content:'⠿';font-size:13px;color:#98a18d;letter-spacing:0;margin-right:-6px}.phrase-card small{font-size:8px;letter-spacing:0;color:#8a947d}.phrase-card:hover{background:#e5ead9}.phrase-card.selected{outline:2px solid var(--ink);outline-offset:1px;background:#dfe6d3}.phrase-card.lifted{opacity:.3}.selection-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:4px 0 7px;color:var(--muted);font-size:8px}.selection-tools button{font-size:9px;color:var(--red);padding:7px 0;flex-shrink:0}.selection-tools button span{margin-left:7px}.tray-section.drop-target{background:#eee9df}.primary{background:var(--ink);color:var(--paper);border-radius:5px;padding:11px 16px;font-size:11px;min-height:40px}.primary span{margin-left:15px}.primary:hover{background:#3c5c50}#victory{border-top:1px solid var(--line);padding:18px 0}#victory .eyebrow{color:var(--red);font-size:8px}#victory h2{font-size:25px}#solutionWords{color:var(--red);font:19px var(--serif);letter-spacing:1px}#victory>div{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.complete .strip{cursor:default}.complete .hit{background:#f2d9cf!important}footer{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;margin-top:26px;font-size:8px;color:#838d7a}footer>span:first-child{font:italic 13px var(--serif)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;max-width:440px;width:calc(100% - 32px);padding:32px;box-shadow:0 20px 100px #18392b25}dialog::backdrop{background:#203a3252;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:9px;font-size:24px;padding:5px;line-height:1}.dialog-copy p,.dialog-copy li{font-size:12px;line-height:1.9;color:#677460}.dialog-copy ol{padding-left:18px}.dialog-copy h2{margin-bottom:20px}.dialog-copy b{color:var(--red);font-weight:500}.dialog-copy .primary{margin-top:12px}.dialog-copy .footnote{font-size:10px;border-top:1px solid var(--line);padding-top:15px}.puzzle-option{width:100%;text-align:left;padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.puzzle-option strong{font:21px var(--serif);display:block}.puzzle-option small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.puzzle-option>span:last-child{color:var(--red)}.dialog-actions{display:flex;gap:12px;margin-top:20px;align-items:center}.dialog-actions>button:not(.primary){font-size:11px;padding:12px}.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}
@media(min-width:901px) and (max-height:850px){.shell{padding-top:16px}.masthead{padding-bottom:12px}.layout{margin-top:20px}.intro{padding-top:30px}.board-wrap{max-width:470px}.field-notes{padding-top:20px}.lede{margin-bottom:27px}.mini-mesostic{margin:21px 0 13px}footer{margin-top:18px}}
@media(max-width:1000px){.layout{gap:30px;grid-template-columns:1fr 500px}.shell{padding-left:24px;padding-right:24px}h1{font-size:53px}.intro{padding-left:0}.masthead-note{display:none}}
@media(max-width:900px){.shell{max-width:620px;padding:20px 24px}.layout{display:block;margin-top:20px}.intro{display:none}.game{padding:18px 20px 0}.board-wrap{max-width:526px}.brand{font-size:30px}footer{margin-top:20px}}
@media(max-width:550px){.shell{padding:12px 13px max(12px,env(safe-area-inset-bottom))}.masthead{padding-bottom:10px}.brand{font-size:27px;gap:8px}.brand svg{width:23px;height:29px}.help-button{font-size:10px;gap:6px}.help-button>span{width:15px;height:15px}.layout{margin-top:12px}.game{padding:13px 11px 0;border-radius:7px}.puzzle-top{margin-bottom:11px}.puzzle-top .eyebrow{font-size:7px}h2{font-size:24px}.outline-button{padding:7px 9px;font-size:9px;min-height:32px;gap:9px}.meta{font-size:9px}.progress-track{margin:7px 0 20px}.board-tools{padding-top:4px}.board-tools button{font-size:9px;min-height:28px}.board-tools>span{font-size:8px}#status{font-size:9px;min-height:32px;line-height:1.45}.tray-section{padding-top:9px}.tray-heading{margin-bottom:8px}.phrase-card{font-size:9px;letter-spacing:.6px;padding:9px 8px;gap:9px;min-height:34px}#tray{gap:7px;min-height:76px}.selection-tools{font-size:8px;min-height:31px}.selection-tools button{font-size:8px}footer{font-size:7px;margin-top:16px;padding-top:11px}footer>span:first-child{font-size:11px}footer>span:nth-child(2){display:none}.strip>span.hit{text-underline-offset:3px}dialog{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.complete .strip:disabled{opacity:1}
.header-controls{display:flex;align-items:center;gap:10px}.audio-button{width:30px;height:36px;display:grid;place-items:center;padding:5px;color:var(--ink)}.audio-button>span{font-size:20px;line-height:1}.audio-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.audio-button .sound-slash{display:none}.audio-button.muted .sound-waves{display:none}.audio-button.muted .sound-slash{display:block}.audio-button.muted{color:var(--muted)}.audio-button[aria-pressed=true]:first-child{color:var(--red)}.welcome-dialog{text-align:center;padding:33px 28px 24px;max-width:360px}.welcome-dialog::backdrop{background:#f8f6f1ed;backdrop-filter:blur(5px)}.welcome-dialog>.eyebrow{font-size:8px;letter-spacing:1.5px}.welcome-dialog h2{font-size:35px;line-height:1.1;max-width:270px;margin:17px auto}.welcome-dialog h2 em{font-weight:400;color:var(--red)}.welcome-dialog>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}.welcome-thread{display:flex;flex-direction:column;align-items:center;margin:22px auto 12px;font:17px var(--serif);color:var(--red);width:23px;border-left:1px solid #b83f3d33;border-right:1px solid #b83f3d33;line-height:1.25}.welcome-dialog .primary{display:block;width:100%;margin:24px 0 6px;font-size:13px;min-height:45px}.quiet-start{padding:9px 12px;font-size:11px;min-height:37px}.welcome-dialog>.welcome-small{font-size:9px!important;margin-top:14px}#openingTheme,#closingTheme{display:none}
@media(max-width:550px){.header-controls{gap:2px}.audio-button{width:27px;height:32px;padding:4px}.help-button{font-size:9px;gap:4px}.welcome-dialog{padding:28px 23px 20px}}
@media(max-width:900px) and (max-height:740px){.shell{padding-top:9px;padding-bottom:8px}.masthead{padding-bottom:7px}.layout{margin-top:8px}.game{padding-top:10px}.puzzle-top{margin-bottom:7px}.progress-track{margin-bottom:19px}.board-wrap{max-width:100%}.board-tools{padding-top:2px}#status{min-height:27px}.tray-section{padding-top:8px}.tray-heading{margin-bottom:7px}#tray{min-height:70px}.phrase-card{min-height:31px;padding-top:7px;padding-bottom:7px}.selection-tools{min-height:28px}footer{display:none}}
.puzzle-collection{margin-top:24px}.puzzle-collection h3{font-size:10px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 3px}#dialog{max-height:calc(100svh - 32px);overflow-y:auto}

/* Supplied logo artwork: viewports preserve the original pixels and lettering. */
.brand{gap:10px;flex-shrink:0;line-height:1;min-height:42px}
.brand svg{display:block;stroke:none;fill:none;mix-blend-mode:darken}
.brand .brand-emblem{width:40px;height:auto;aspect-ratio:560/410}
.brand .brand-wordmark{width:160px;height:auto;aspect-ratio:1140/215}
.welcome-dialog{max-width:460px;padding:32px 36px 24px;max-height:calc(100svh - 24px);overflow-y:auto}
.welcome-dialog>.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:0}
.welcome-logo{display:block;width:100%;max-width:360px;aspect-ratio:1176/690;height:auto;margin:22px auto 20px;mix-blend-mode:darken}
.welcome-dialog .sr-only{margin:0}
.welcome-dialog>.welcome-description{font-size:13px;line-height:1.8;margin:0 auto 23px}
.welcome-dialog .primary{max-width:300px;margin:0 auto 5px;min-height:46px}
.welcome-dialog .quiet-start{min-height:40px}
.welcome-dialog>.welcome-small{line-height:1.7;margin:12px 0 0}
@media(max-width:550px){
  .brand{gap:7px;min-height:34px}
  .brand .brand-emblem{width:30px}
  .brand .brand-wordmark{width:126px}
  .welcome-dialog{padding:29px 24px 22px}
  .welcome-logo{margin:20px auto 18px}
  .welcome-dialog>.welcome-description{font-size:12px;margin-bottom:20px}
}
@media(max-height:560px){
  .welcome-dialog{padding-top:19px;padding-bottom:18px}
  .welcome-logo{max-width:270px;margin:12px auto}
  .welcome-dialog>.welcome-description{margin-bottom:13px}
  .welcome-dialog>.welcome-small{margin-top:8px}
}

/* Standard HTML images keep the supplied artwork independent of SVG loading. */
.logo-frame{position:relative;display:block;overflow:hidden;flex-shrink:0;mix-blend-mode:normal}
.logo-frame::before{content:"";display:block}
.logo-frame>img{position:absolute;display:block;max-width:none;height:auto;pointer-events:none}
.brand>.logo-frame{margin:0;color:inherit;height:auto;aspect-ratio:auto}
.brand-emblem::before{padding-top:73.214286%}
.brand-emblem>img{width:274.285714%;left:-87.5%;top:-46.341463%}
.brand-wordmark::before{padding-top:18.859649%}
.brand-wordmark>img{width:134.736842%;left:-17.54386%;top:-290.697674%}
.welcome-logo{height:auto;aspect-ratio:auto;max-width:270px;margin:10px auto 14px;mix-blend-mode:normal}
.welcome-logo::before{padding-top:58.673469%}
.welcome-logo>img{width:130.612245%;left:-15.306122%;top:-24.637681%}
.welcome-dialog{padding-top:12px;padding-bottom:20px;max-height:calc(100vh - 24px);max-height:calc(100svh - 24px)}
.welcome-guide{text-align:left;max-width:330px;margin:0 auto 20px}
.welcome-guide h3{font:400 20px var(--serif);margin:0 0 9px}
.quick-start{margin:0;padding-left:19px;font-size:12px;line-height:1.65;color:var(--muted)}
.quick-start li{padding-left:4px;margin-bottom:9px}
.quick-start li::marker{color:var(--red);font-size:10px}
.quick-start strong{color:var(--ink);font-weight:500}
.welcome-dialog>.welcome-small{margin-top:9px;font-size:10px!important}
.phone-guide{display:none}
.guide-note{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 5px}
@media(max-width:900px){
  .masthead{position:sticky;top:0;z-index:20;background:var(--paper);padding-top:7px}
  .phone-guide{display:block;border-bottom:1px solid var(--line);padding:0 6px 3px;margin:4px 0 12px}
  .phone-guide summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px;font-weight:500}
  .phone-guide summary::marker{color:var(--red)}
  .phone-guide summary span{float:right;font-size:10px;color:var(--muted);font-weight:400}
  .phone-guide .quick-start{font-size:11px;line-height:1.6}
  .phone-guide .quick-start li{margin-bottom:7px}
  .board-wrap{scroll-margin-top:66px}
}
@media(max-width:550px){
  .masthead{padding-bottom:7px;gap:6px}
  .audio-button{width:30px;height:42px}
  .help-button{min-height:42px}
  .phrase-card{min-height:44px;padding-top:10px;padding-bottom:10px}
  .welcome-dialog{padding:10px 24px 18px}
  .welcome-logo{max-width:240px;margin:8px auto 12px}
  .welcome-guide{margin-bottom:17px}
  .welcome-guide .quick-start{font-size:11px;line-height:1.6}
}
@media(max-width:350px){
  .brand{gap:6px}
  .brand .brand-emblem{width:26px}
  .brand .brand-wordmark{width:110px}
  .header-controls{gap:1px}
}
@media(max-height:650px){
  .welcome-dialog{padding-top:6px;padding-bottom:12px}
  .welcome-dialog>.eyebrow{display:none}
  .welcome-logo{max-width:185px;margin:2px auto 10px}
  .welcome-guide{margin-bottom:12px}
  .welcome-guide h3{font-size:18px;margin-bottom:7px}
  .welcome-guide .quick-start{font-size:11px;line-height:1.5}
  .welcome-guide .quick-start li{margin-bottom:7px}
  .welcome-dialog .primary{min-height:44px}
  .welcome-dialog .quiet-start{min-height:36px}
  .welcome-dialog>.welcome-small{margin-top:6px;font-size:9px!important}
}

/* Seven days, three levels, with independent progress for every puzzle. */
.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:20px 0 8px}
.day-picker button{min-height:44px;padding:6px 2px;border:1px solid var(--line);border-radius:5px;font-size:11px}
.day-picker button:hover{background:var(--tile)}
.day-picker button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.puzzle-option{gap:12px}
.puzzle-option>span:first-child{min-width:0}
.puzzle-option>span:last-child{flex-shrink:0;font-size:11px}
.puzzle-option .level-label{display:block;color:var(--red);font-size:9px;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:5px}
@media(max-width:480px){.day-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}

.daily-notice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;font-size:10px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding:8px 0 10px;margin-top:4px}
.text-button{font-size:11px;color:var(--red);padding:5px 0;text-decoration:underline;text-underline-offset:3px;min-height:36px}
.date-picker{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:10px;margin:22px 0 4px}
.date-picker>button{min-height:46px;border:1px solid var(--line);border-radius:5px;font-size:18px}
.date-picker>button:hover:not(:disabled){background:var(--tile)}
.date-picker label{display:block;font-size:11px;color:var(--muted);min-width:0}
.date-picker input{display:block;width:100%;min-width:0;max-width:100%;height:46px;margin-top:5px;padding:8px;border:1px solid var(--line);border-radius:5px;background:var(--paper);font:16px var(--sans);color:var(--ink);box-sizing:border-box}
.date-picker-note{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}
.date-picker-note+.puzzle-collection{margin-top:16px}
#feedbackPuzzle{font:12px/1.7 var(--sans);color:var(--muted);margin:0 0 12px}
@media(max-width:550px){.daily-notice{font-size:10px}.date-picker{gap:7px}.text-button{min-height:44px}}

/* Keep the supplied symbol above its wordmark, as on the other games. */
.welcome-countdown{border-top:1px solid var(--line);padding:17px 0 19px;margin:0 auto;max-width:330px}
.welcome-countdown h3{font:400 19px/1.25 var(--serif);margin:0 0 12px}
.welcome-countdown p{color:var(--muted);font-size:11px;line-height:1.6;margin:3px 0}
.welcome-countdown time{display:block;font:400 39px/1.3 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:2px;color:var(--red);margin:5px 0}
.welcome-dialog.waiting .welcome-guide{display:none}
.welcome-dialog.waiting .welcome-logo{max-width:235px}
@media(max-height:650px){.welcome-countdown{padding:10px 0 13px}.welcome-countdown time{font-size:33px}.welcome-dialog.waiting .welcome-logo{max-width:185px}}
.brand{flex-direction:column;gap:7px;align-items:center;justify-content:center}
.brand .brand-emblem{width:49px}
.brand .brand-wordmark{width:160px}
@media(max-width:550px){
  .brand{gap:5px}
  .brand .brand-emblem{width:38px}
  .brand .brand-wordmark{width:128px}
  .masthead{align-items:center}
  .board-wrap{scroll-margin-top:100px}
}
