@charset "UTF-8";
:root{--paper:#f6f2e8;--card:#fffcf4;--ink:#292a24;--muted:#706f63;--rule:#dad5c7;--ochre:#916816;--highlight:#eedda9;--green:#39654e;--green-wash:#e4ebdf;--serif:Georgia,'Times New Roman',serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;color-scheme:light;font-family:var(--serif);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button:disabled{cursor:default}button{border:0}button:focus-visible,a:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}button:disabled{opacity:.44}button:disabled:hover{transform:none}p{line-height:1.55}h1,h2,h3,p{margin-top:0}[hidden]{display:none!important}.page-shell{max-width:1160px;margin:auto;padding:28px 42px 20px}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.masthead-top{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:28px}.masthead-kicker{margin:0}.text-link{background:none;padding:6px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px;white-space:normal}.text-link span{padding-left:6px}.brand{display:block;width:fit-content;margin:1px auto 15px;font-weight:bold;font-size:clamp(76px,9.5vw,122px);line-height:1;letter-spacing:-7px;text-decoration:none}.brand-period{color:var(--ochre)}.edition-line{border-top:4px double var(--ink);border-bottom:1px solid var(--rule);padding:12px 0;display:flex;justify-content:space-between;gap:12px;font:10px/1.5 var(--mono);letter-spacing:1px;text-transform:uppercase}.edition-tagline{font:italic 13px/1.5 var(--serif);letter-spacing:0;text-transform:none}.puzzle-intro{text-align:center;padding:28px 0 20px}.puzzle-intro .eyebrow{margin:0 0 8px}.puzzle-intro h1{font-weight:normal;font-size:clamp(32px,4vw,45px);line-height:1.15;letter-spacing:-1.7px;margin:0 0 9px}.puzzle-intro>p:last-child{color:var(--muted);font-size:15px;margin-bottom:0}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 213px;gap:36px}.puzzle-column{min-width:0}.game-status{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 15px;border-bottom:1px solid var(--ink);font:11px var(--mono);color:var(--muted)}.restoration{display:flex;align-items:center;gap:12px}#progress-marks{display:flex;gap:3px}#progress-marks i{width:10px;height:3px;background:var(--rule)}#progress-marks i.restored{background:var(--green)}.word-row{display:grid;grid-template-columns:21px minmax(100px,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--rule);min-height:64px}.row-number{font:10px var(--mono);color:var(--muted)}.row-number.correct{font-size:16px;color:var(--green)}.clue{font-size:17px;line-height:1.35}.word-row.correct .clue{color:var(--green)}.tiles{display:flex;gap:5px;min-width:0}.letter-tile{border:1px solid var(--rule);border-radius:4px;background:var(--card);width:38px;height:43px;display:grid;place-items:center;padding:0;font:500 21px var(--mono);color:var(--ink);transition:background .15s,border-color .15s}.letter-tile:hover:not(:disabled),.key:hover:not(:disabled){border-color:var(--ochre)}.letter-tile.selected,.key.selected,.pair-tile.selected{background:var(--highlight);border-color:var(--ochre)}.letter-tile.correct:not(.selected){color:var(--green);background:var(--green-wash);border-color:#bccbb8}.letter-tile:disabled{opacity:1}.letter-tile.changed{animation:turn-letter .24s ease-out}@keyframes turn-letter{0%{transform:rotateX(75deg)}100%{transform:rotateX(0)}}.controls{padding-top:22px}.swap-tray{display:flex;align-items:center;justify-content:center;gap:24px}.pair{display:flex;align-items:center;gap:13px}.pair-tile{display:grid;place-items:center;width:42px;height:44px;border-radius:4px;border:1px solid var(--rule);font:23px var(--mono);color:var(--muted);background:var(--card)}.pair-tile.selected{color:var(--ink)}.pair-arrow{font-size:23px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:46px;padding:12px 24px;border-radius:5px;font-size:16px;font-weight:bold;text-decoration:none;border:1px solid transparent;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover:not(:disabled){background:#414238}.button-dark:disabled{color:var(--muted);background:var(--rule);opacity:1}.button-outline{border-color:var(--ink);background:transparent;color:var(--ink)}#swap-button{min-width:180px}.selection-message{min-height:20px;text-align:center;font-size:12px;color:var(--muted);margin:10px 0 13px}.keyboard{max-width:520px;margin:auto;display:grid;gap:6px}.key-row{display:flex;gap:6px;justify-content:center}.key{font:17px var(--mono);display:grid;place-items:center;width:calc((100% - 48px)/9);max-width:52px;min-height:43px;border:1px solid var(--rule);border-radius:4px;background:var(--card);color:var(--ink)}.key.absent:not(.selected){color:var(--muted)}.utility-actions{display:flex;gap:18px;justify-content:space-between;max-width:520px;margin:13px auto 0}.utility-button{background:none;min-height:44px;font-size:14px;padding:8px 4px;display:flex;align-items:center;gap:9px}.utility-button span{font-size:22px}.keyboard-note{text-align:center;font-size:10px;color:var(--muted);margin:8px 0 0}.editorial-note{border-left:1px solid var(--rule);padding-left:29px;display:flex;flex-direction:column;align-items:flex-start}.editorial-note .eyebrow{font-size:9px;letter-spacing:1.3px}.editorial-note h2{font-size:31px;font-weight:normal;letter-spacing:-1px;line-height:1.1;margin:17px 0}.editorial-note p{font-size:15px;color:var(--muted);margin-bottom:20px}.note-example{display:flex;gap:14px;align-items:center;margin:0 0 17px;font-size:22px}.note-example .pair-tile{width:35px;height:39px;font-size:20px}.editorial-note .note-small{font-size:13px}.aside-bottom{margin-top:auto;width:100%;padding-bottom:13px}.tiny-rule{display:block;width:32px;height:1px;background:var(--ochre);margin:15px 0}.aside-bottom p{font-size:12px;line-height:1.7;margin-bottom:8px}.aside-bottom .text-link{font-size:12px}.below-game{border-top:1px solid var(--rule);margin-top:22px;padding-top:14px;display:flex;align-items:center;gap:20px;justify-content:space-between;font-size:12px;color:var(--muted)}.below-game .text-link{font-size:12px}.site-footer{border-top:4px double var(--ink);margin-top:42px;padding-top:20px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}.footer-wordmark{font-weight:bold;font-size:20px;letter-spacing:-1px}.footer-wordmark span{font-weight:normal;color:var(--ochre);margin-left:8px}.site-footer p{font-size:11px;color:var(--muted);margin:0}.site-footer nav{display:flex;gap:20px;margin-left:auto}.site-footer a{font-size:11px;color:var(--muted)}.site-footer small{display:block;width:100%;color:var(--muted);font:9px var(--mono);padding-top:5px}.notice{margin:16px 0;padding:13px 17px;border:1px solid var(--ochre);background:var(--highlight);font-size:13px;line-height:1.5}.notice .text-link{margin-left:16px}.preview-note{font:10px var(--mono);text-align:center;padding-top:15px;color:var(--ochre)}.empty-state,.loading{text-align:center;padding:75px 20px 95px}.empty-state h1,.loading h1{font-size:44px;font-weight:normal;letter-spacing:-1.5px;line-height:1.15}.empty-state p,.loading p{color:var(--muted)}.empty-state .button{margin-top:20px}.paper-dialog{border:1px solid var(--rule);border-radius:8px;padding:27px 31px 28px;background:var(--paper);color:var(--ink);max-width:470px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow-y:auto;box-shadow:0 20px 90px #292a2426}.paper-dialog::backdrop{background:#292a2470;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.dialog-head .eyebrow{font-size:9px;letter-spacing:1.5px}.close-button{display:grid;place-items:center;font:26px var(--serif);width:36px;height:36px;border:1px solid var(--rule);border-radius:50%;background:var(--card);flex-shrink:0}.paper-dialog h2{font-size:36px;font-weight:normal;line-height:1.12;letter-spacing:-1.3px;margin:0 0 21px}.paper-dialog p{font-size:15px}.help-steps{padding-left:19px;font-size:14px;line-height:1.55}.help-steps li{padding-left:5px;margin:0 0 12px}.help-steps strong{font-weight:bold}.help-example{display:flex;justify-content:space-between;border-block:1px solid var(--rule);padding:15px 0;margin:20px 0;font-size:16px}.help-example b{color:var(--ochre)}.full-width{width:100%}.dialog-secondary{display:block;margin:12px auto 0;font-size:12px}.muted{color:var(--muted)}.fine-print{font-size:11px!important;color:var(--muted);line-height:1.65}.hint-clue{font-style:italic;font-size:23px!important;margin:25px 0}.hint-pair{display:flex;align-items:center;justify-content:center;gap:20px;font-size:25px;margin:26px 0}.result-dialog{text-align:center;max-width:440px}.result-dialog .dialog-head{text-align:left;margin-bottom:12px}.success-seal{display:grid;place-items:center;font:27px var(--serif);width:54px;height:54px;border-radius:50%;background:var(--green);color:var(--card);margin:10px auto 18px}.success-text{color:var(--green)}.result-dialog h2{font-size:34px;margin-bottom:22px}.result-squares{display:flex;justify-content:center;gap:6px;margin:0 0 16px}.result-squares i{width:15px;height:15px;border-radius:2px;background:var(--green)}.result-summary{font-size:18px!important;margin-bottom:10px}.result-stats{display:flex;justify-content:center;gap:36px;margin:20px 0 27px;font:10px var(--mono);color:var(--muted)}.result-stats>span{display:flex;flex-direction:column;gap:6px}.result-stats strong{font:26px var(--serif);color:var(--ink)}.tomorrow-note{font-size:13px!important;margin:22px 0}.app-invitation{border-top:4px double var(--rule);padding-top:25px}.app-invitation .eyebrow{font-size:8px;letter-spacing:1.5px}.app-invitation h3{font-size:29px;line-height:1.12;letter-spacing:-.8px;font-weight:normal;margin:11px 0}.app-invitation p{font-size:13px;color:var(--muted)}.app-invitation .button{font-size:14px}.app-invitation .fine-print{margin:15px 0 0;font-size:10px!important}.solved-inline{padding:25px 0 5px;display:flex;align-items:center;gap:20px;justify-content:space-between}.solved-inline .eyebrow{color:var(--green)}#share-status:empty{display:none}#share-fallback label{font-size:12px;display:block;text-align:left;margin:12px 0 6px}#share-copy{width:100%;padding:12px;background:var(--card);border:1px solid var(--rule);color:var(--ink);font:11px/1.5 var(--mono);resize:vertical}.skip-link{position:fixed;left:20px;top:-100px;background:var(--ink);color:var(--paper);padding:12px;z-index:20}.skip-link:focus{top:10px}.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}.article{max-width:650px;margin:50px auto 75px}.article h1{font-size:46px;font-weight:normal;letter-spacing:-1.5px}.article h2{font-size:25px;font-weight:normal;margin-top:35px}.article p,.article li{font-size:16px;line-height:1.7;color:var(--muted)}.article ul{padding-left:20px}.article .button{margin-top:20px}.article .eyebrow{font-size:10px}.coming-soon{border:1px solid var(--rule);padding:25px;margin-top:30px}.coming-soon p{margin:5px 0}
@media(min-width:1250px){.page-shell{padding-top:34px}.play-layout{gap:44px}.letter-tile{width:41px;height:45px}.word-row{min-height:67px}}
@media(max-width:900px){.page-shell{padding:24px 28px 20px}.play-layout{grid-template-columns:minmax(0,1fr) 175px;gap:25px}.editorial-note{padding-left:21px}.editorial-note h2{font-size:27px}.word-row{gap:9px;grid-template-columns:18px minmax(90px,1fr) auto}.clue{font-size:15px}.letter-tile{width:32px;height:38px;font-size:18px}.tiles{gap:4px}.brand{font-size:98px}}
@media(max-width:700px){.page-shell{padding:16px 19px 18px}.masthead-top .text-link{font-size:11px;min-height:36px}.masthead-kicker{font-size:8px;letter-spacing:1px}.brand{font-size:76px;letter-spacing:-5px;margin:3px auto 17px}.brand-period{margin-left:2px}.edition-line{font-size:8px;letter-spacing:.4px;padding:10px 0;gap:8px}.edition-tagline{display:none}.puzzle-intro{padding:23px 0 19px}.puzzle-intro .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:8px}.puzzle-intro h1{font-size:31px;letter-spacing:-1px}.puzzle-intro>p:last-child{font-size:12px}.play-layout{display:block}.editorial-note{display:none}.game-status{font-size:10px;padding-bottom:12px}.restoration{gap:9px}#progress-marks i{width:8px}.word-row{grid-template-columns:15px minmax(75px,1fr) auto;gap:7px;min-height:59px;padding:10px 0}.clue{font-size:14px;line-height:1.35}.letter-tile{width:31px;height:37px;font-size:18px}.tiles{gap:4px}.controls{padding-top:18px}.swap-tray{gap:22px}.pair{gap:11px}.pair-tile{width:38px;height:41px;font-size:21px}#swap-button{min-width:155px;min-height:42px;padding:10px 18px;font-size:15px}.selection-message{font-size:11px;margin:10px 0 12px}.keyboard{gap:6px}.key-row{gap:5px}.key{width:calc((100% - 40px)/9);min-height:42px;font-size:16px}.utility-actions{margin-top:9px;gap:10px}.utility-button{font-size:13px;padding:5px 2px}.keyboard-note{display:none}.below-game{margin-top:15px;padding-top:10px;gap:10px;font-size:10px}.below-game .text-link{font-size:10px;min-height:36px}.site-footer{margin-top:28px;padding-top:17px;gap:11px 16px}.footer-wordmark{font-size:19px}.site-footer p{font-size:10px}.site-footer nav{margin-left:0;width:100%;gap:23px}.site-footer a{font-size:11px;min-height:32px;display:flex;align-items:center}.site-footer small{font-size:8px;padding-top:0}.paper-dialog{padding:20px 22px 25px;max-height:calc(100dvh - 26px)}.paper-dialog h2{font-size:31px}.paper-dialog p{font-size:14px}.result-dialog{max-width:400px}.result-dialog h2{font-size:31px}.success-seal{margin-top:5px}.app-invitation h3{font-size:27px}.article{margin:35px auto 50px}.article h1{font-size:36px}.article p,.article li{font-size:15px}.empty-state,.loading{padding:60px 0 75px}.empty-state h1,.loading h1{font-size:36px}.solved-inline{flex-direction:column;gap:14px}}
@media(max-width:700px){.masthead{position:relative}.masthead-top{position:absolute;inset:0 0 auto;min-height:47px}.masthead-kicker{display:none}.masthead-top .text-link{max-width:65px;font-size:10px;line-height:1.4}.masthead-top .text-link span{display:none}.brand{font-size:48px;letter-spacing:-3px;line-height:1.05;margin:0 auto 16px}.edition-line{padding-block:9px}.puzzle-intro{padding:16px 0 14px}.puzzle-intro h1{font-size:28px;margin-bottom:7px}.puzzle-intro>p:last-child{font-size:11px}.word-row{min-height:52px;padding-block:7px}.preview-note{font-size:9px;padding-top:9px}}
@media(max-width:365px){.page-shell{padding-inline:14px}.brand{font-size:43px}.masthead-top .text-link{max-width:54px;font-size:9px}.clue{font-size:13px}.letter-tile{width:28px;height:35px;font-size:17px}.tiles{gap:3px}.word-row{gap:6px}.puzzle-intro h1{font-size:26px}#progress-marks{display:none}.swap-tray{gap:16px}#swap-button{min-width:132px}.key{font-size:15px;min-height:40px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.edition-line>span:only-child{margin-left:auto}

/* An inline choice keeps puzzle controls visible; reporting is opt-in. */
.analytics-choice { border-block: 1px solid #DAD5C7; padding: 16px 0; margin: 20px 0; color: inherit; font: 16px/1.5 Georgia, serif; }
.analytics-choice[hidden] { display: none; }
.analytics-choice p { margin: 0 0 12px; font: inherit; }
.analytics-choice a { color: inherit; }
.analytics-choice > div { display: flex; flex-wrap: wrap; gap: 10px; }
.analytics-choice button { background: transparent; border: 1px solid currentColor; border-radius: 5px; color: inherit; cursor: pointer; font: inherit; padding: 10px 14px; min-height: 44px; }
.analytics-settings { background: none; border: 0; color: inherit; cursor: pointer; font: inherit; padding: 0; text-decoration: underline; text-underline-offset: 5px; }
.analytics-settings:focus-visible, .analytics-choice button:focus-visible { outline: 2px solid #916816; outline-offset: 4px; }

.article .launch-date { color: var(--ochre); font-weight: bold; }

/* Footer links and the analytics control share one type size and baseline. */
.site-footer nav { flex-wrap: wrap; align-items: center; }
.site-footer a, .site-footer .analytics-settings { font: 13px/1.5 var(--serif); color: var(--muted); display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
