:root{--bg: #edf1ed;--surface: #fffdf7;--surface-soft: #f6f2e8;--text: #171814;--muted: #6d7166;--line: #d8d2bf;--line-strong: #948b73;--accent: #3f8f62;--accent-soft: #e2f1df;--accent-ink: #173d28;--correct: #4caa68;--warn: #d8a928;--warn-soft: #fff3c8;--pop: #d94e67;--blocked: #24251f;--focus: #2f80ed;--shadow: 0 12px 28px rgba(36, 37, 31, .1);--font-body: "Sora", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Cascadia Code", monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}body{background:linear-gradient(90deg,rgba(63,143,98,.08) 0 1px,transparent 1px 100%),linear-gradient(180deg,rgba(216,169,40,.08) 0 1px,transparent 1px 100%),var(--bg);background-size:28px 28px;color:var(--text);font-family:var(--font-body)}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-shell{height:100vh;min-height:100vh;display:grid;grid-template-rows:48px minmax(0,1fr)}.site-header,.site-main,.site-footer{width:min(1120px,calc(100vw - 1.25rem));margin:0 auto}.site-header{height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.65rem;border-bottom:2px solid var(--blocked)}.wordmark{grid-column:1;font-size:1rem;font-weight:800;letter-spacing:.08em}.header-date{grid-column:2;min-width:9.5rem;justify-self:center;border:2px solid var(--blocked);border-radius:999px;background:var(--surface);box-shadow:3px 3px 0 var(--blocked);padding:.34rem .7rem;text-align:center;font-family:var(--font-mono);font-size:.78rem;font-weight:800}.top-nav{grid-column:3;justify-self:end}.top-nav form{display:contents}.top-nav,.page-actions,.board-toolbar,.archive-links{display:flex;flex-wrap:wrap;gap:.5rem}.board-toolbar{align-items:center;justify-content:center;flex-wrap:nowrap}.toolbar-divider{width:2px;height:28px;border-radius:99px;background:var(--line-strong)}.header-link,.control-button,.icon-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--blocked);border-radius:6px;background:var(--surface);color:var(--text);font-size:.84rem;font-weight:700;box-shadow:2px 2px 0 var(--blocked);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.header-link:not(.disabled):hover,.control-button:hover:not(:disabled),.icon-button:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--blocked)}.header-link:focus-visible,.control-button:focus-visible,.icon-button:focus-visible,.archive-tile:focus-visible,.board-input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.header-link.disabled{cursor:help;opacity:.52;filter:grayscale(1)}.header-link{gap:.4rem;min-width:0;padding:.45rem .7rem}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-button{padding:.58rem .85rem;cursor:pointer}.icon-button{width:38px;padding:0;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.control-button.primary{background:var(--accent);color:#fff}.control-button.secondary{background:var(--warn-soft)}.control-button:disabled{cursor:not-allowed;opacity:.56}.site-main{min-height:0;height:100%;padding:.65rem 0;overflow:hidden}.site-footer{display:none}.footer-note,.section-copy,.board-note,.small-copy,.message-box,.share-note{color:var(--muted);line-height:1.5}.panel-heading,.board-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.archive-panel{margin-bottom:.75rem}.eyebrow{display:inline-flex;align-items:center;border:2px solid var(--blocked);border-radius:999px;padding:.25rem .45rem;background:var(--warn-soft);color:var(--text);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section-title,.play-title{margin:.2rem 0 0;letter-spacing:0}.section-title{font-size:1rem}.play-title{font-size:clamp(1.25rem,3vw,1.7rem)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:stretch;gap:.65rem;height:100%;min-height:0}.play-board,.clue-panel,.archive-panel,.empty-panel{border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.play-board,.clue-panel,.archive-panel,.empty-panel{padding:.7rem}.play-board{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:.5rem}.play-shell{height:100%;min-height:0}.clue-toggle{display:none}.board-top{margin-bottom:0}.game-progress{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:700}.game-progress span{border:2px solid var(--blocked);border-radius:7px;background:var(--surface);box-shadow:2px 2px 0 var(--blocked);padding:.28rem .55rem}.game-progress span.game-progress-result{background:var(--accent-soft);border-color:#21633c;color:var(--accent-ink)}.meta-pill,.archive-link,.archive-link.static{min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);padding:.55rem .65rem}.meta-pill strong,.archive-link strong{display:block;font-size:.95rem;font-weight:800}.meta-pill span,.archive-link span{display:block;margin-top:.12rem;color:var(--muted);font-size:.7rem}.message-box,.share-note{padding:.46rem .55rem;border:2px solid var(--blocked);border-radius:7px;background:var(--accent-soft);font-size:.84rem;font-weight:700}.message-box{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.board-frame{flex:1 1 auto;container-type:size;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;padding:.1rem 0}.board-grid{display:grid;width:min(100%,560px);width:min(100%,100cqh,560px);max-height:100%;aspect-ratio:1;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));gap:3px}.board-cell{position:relative;min-width:0;min-height:0;overflow:hidden;border:2px solid var(--blocked);border-radius:4px;background:#fff}.board-cell.blocked{border-color:var(--blocked);background:var(--blocked)}.board-cell.filled{background:#fff;border-color:var(--blocked)}.board-cell.correct-cell{background:var(--correct);border-color:#21633c}.board-cell.active-cell{background:#dff0ff;border-color:var(--focus);box-shadow:inset 0 0 0 2px #2f80ed40}.board-cell.correct-cell.active-cell{background:var(--correct);border-color:#163f29;box-shadow:inset 0 0 0 2px #ffffff73}.board-cell.revealed-cell{border-color:var(--accent);background:var(--accent-soft)}.board-number{position:absolute;top:.12rem;left:.16rem;color:var(--muted);font-size:.54rem;font-weight:800;pointer-events:none}.board-input,.board-letter{width:100%;height:100%;display:grid;place-items:center;border:0;background:transparent;color:var(--text);outline:none;text-align:center;text-transform:uppercase;font-size:clamp(.95rem,2vw,1.25rem);font-weight:800}.board-cell.correct-cell .board-input,.board-cell.correct-cell .board-letter{color:#fff}.board-letter.revealed{color:#2f5d32}.game-version{color:var(--muted);font-size:.66rem;text-align:right}.clue-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.65rem;overflow:hidden}.clue-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:2px solid var(--blocked);padding-bottom:.55rem}.drawer-close{display:none}.clue-columns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;min-height:0;overflow:auto;padding-right:.15rem}.clue-section-title{position:sticky;top:0;z-index:1;margin:0 0 .45rem;border:2px solid var(--blocked);border-radius:7px;background:var(--warn-soft);box-shadow:2px 2px 0 var(--blocked);color:var(--text);padding:.32rem .45rem;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.clue-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.clue-item{border:1px solid var(--line);border-radius:8px;background:#fffaf0;padding:.45rem}.clue-entry{display:flex;gap:.5rem;align-items:flex-start}.clue-number{flex:0 0 1.45rem;display:inline-grid;place-items:center;border-radius:5px;background:var(--blocked);color:#fff;font-size:.78rem;font-weight:800}.small-copy{margin:.12rem 0 0;font-size:.8rem;line-height:1.38}.archive-panel{margin-top:.9rem}.archive-screen{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.75rem}.archive-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:2px solid var(--blocked);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);padding:.7rem}.archive-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:.55rem}.archive-tile{border:2px solid var(--blocked);border-radius:10px;background:var(--surface);padding:.8rem;box-shadow:3px 3px 0 var(--blocked);transition:transform .12s ease,box-shadow .12s ease}.archive-tile:nth-child(3n+1){background:var(--accent-soft)}.archive-tile:nth-child(3n+2){background:var(--warn-soft)}.archive-tile:nth-child(3n){background:#ffe6eb}.archive-tile:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--blocked)}.archive-tile strong,.archive-tile span{display:block}.archive-tile span{margin-top:.2rem;color:var(--muted);font-size:.76rem}.calendar-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.65rem}.calendar-toolbar{min-height:0;display:flex;gap:.45rem;overflow-x:auto;padding:.1rem .1rem .35rem}.month-button{flex:0 0 auto;border:2px solid var(--blocked);border-radius:999px;background:var(--surface);box-shadow:2px 2px 0 var(--blocked);color:var(--text);cursor:pointer;font-size:.78rem;font-weight:800;padding:.42rem .72rem}.month-button.active{background:var(--accent);color:#fff}.calendar-card{min-height:0;overflow:auto;border:2px solid var(--blocked);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);padding:.7rem}.calendar-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.calendar-title strong{font-size:1.05rem}.calendar-title span{color:var(--muted);font-family:var(--font-mono);font-size:.78rem;font-weight:800}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-weekdays{margin-bottom:.45rem}.calendar-weekdays span{color:var(--muted);font-size:.7rem;font-weight:800;text-align:center;text-transform:uppercase}.calendar-day{min-height:82px;display:flex;flex-direction:column;justify-content:space-between;border:2px solid var(--blocked);border-radius:8px;background:var(--surface-soft);box-shadow:2px 2px 0 var(--blocked);padding:.5rem}a.calendar-day{transition:transform .12s ease,box-shadow .12s ease}a.calendar-day:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--blocked)}.calendar-day strong{font-family:var(--font-mono);font-size:1rem;font-weight:900}.calendar-day span{color:var(--muted);font-size:.68rem;font-weight:800}.calendar-day.today{background:var(--warn-soft)}.calendar-day.completed{background:var(--accent);color:#fff}.calendar-day.completed span{color:#fff}.calendar-day.started{background:var(--accent-soft)}.calendar-day.locked,.calendar-day.unavailable{opacity:.55;box-shadow:none}.calendar-day.locked{background:#eee8da}.calendar-day.muted-day{opacity:.38}.calendar-day.muted-day.completed,.calendar-day.muted-day.started{opacity:.72}.drawer-scrim{display:none}.share-modal{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem}.share-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#1718147a}.share-card{position:relative;z-index:1;width:min(94vw,460px);max-height:min(92vh,760px);overflow:auto;border:2px solid var(--blocked);border-radius:14px;background:var(--surface);box-shadow:6px 6px 0 var(--blocked);padding:.9rem}.share-card-head,.share-actions{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.share-preview{display:grid;gap:.35rem;margin:.9rem auto;border:2px solid var(--blocked);border-radius:12px;background:#edf1ed;padding:1rem;text-align:center}.share-preview>strong{font-size:1.25rem;font-weight:900;text-transform:uppercase}.share-preview>span{color:var(--muted);font-family:var(--font-mono);font-size:.78rem;font-weight:800}.share-preview-grid{display:grid;width:min(100%,330px);aspect-ratio:1;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));gap:2px;margin:.55rem auto 0}.share-preview-cell{display:grid;place-items:center;border:2px solid var(--blocked);border-radius:4px;background:var(--surface);color:var(--text);font-size:clamp(.64rem,3vw,1rem);font-weight:900}.share-preview-cell.blocked{background:var(--blocked)}.share-preview-cell.correct{background:var(--correct);color:#fff}.share-actions{flex-wrap:wrap}.share-actions .control-button{flex:1 1 10rem}.confetti-burst{position:fixed;z-index:60;top:18%;left:50%;pointer-events:none}.confetti-burst span{position:absolute;width:10px;height:16px;border:2px solid var(--blocked);background:var(--warn);transform:rotate(var(--r));animation:confetti-pop 1.4s cubic-bezier(.16,.84,.32,1) var(--d) forwards}.confetti-burst span:nth-child(3n+1){background:var(--correct)}.confetti-burst span:nth-child(3n+2){background:var(--pop)}@keyframes confetti-pop{0%{opacity:0;transform:translate(-50%) scale(.3) rotate(var(--r))}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)),72vh) scale(1) rotate(calc(var(--r) + 420deg))}}.archive-links{margin-top:.65rem}.archive-link{flex:1 1 130px}.empty-panel{text-align:center}.mono{font-family:var(--font-mono)}@media(max-width:980px){html,body{overflow:auto}.site-shell{min-height:100vh;height:auto;grid-template-rows:auto minmax(0,1fr)}.site-main{min-height:0;height:auto;overflow:visible;padding-bottom:1.5rem}.site-header{height:auto;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;padding:.55rem 0}.wordmark{grid-column:1}.header-date{grid-column:2;justify-self:end;min-width:0;padding:.28rem .55rem;font-size:.7rem;box-shadow:2px 2px 0 var(--blocked)}.top-nav{grid-column:1 / -1;width:100%;justify-content:stretch;flex-wrap:wrap;overflow:visible;padding:0 .1rem .18rem}.header-link{flex:1 1 7.5rem;white-space:nowrap}.play-layout{grid-template-columns:1fr;height:auto}.board-frame{flex:0 0 auto;container-type:normal}.board-grid{width:min(100%,calc(100vw - 2rem),560px);max-height:none}.clue-panel{min-height:0;max-height:none;overflow:visible}.clue-columns{overflow:visible}.board-toolbar,.page-actions{width:100%;justify-content:stretch;flex-wrap:wrap}.board-toolbar .control-button{flex:1 1 9rem}.board-toolbar .icon-button{flex:1 1 2.75rem}.toolbar-divider{display:none}.archive-head{flex-wrap:wrap}.archive-head .control-button{flex:1 1 10rem}.panel-heading{flex-direction:column;align-items:flex-start}}@media(max-width:640px){html,body{overflow:auto}.site-shell{min-height:100vh;height:auto;grid-template-rows:auto minmax(0,1fr)}.site-header,.site-main,.site-footer{width:min(100vw - .7rem,1120px)}.header-date{font-size:.68rem}.site-main{overflow:visible;padding:.5rem 0 5rem}.clue-toggle{display:inline-flex;flex:0 0 38px}.board-top{flex-direction:row;align-items:center;gap:.45rem}.game-progress{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:.12rem;font-size:.7rem}.game-progress span{white-space:nowrap;padding:.24rem .42rem}.play-layout{display:block}.header-link,.control-button,.icon-button{flex:1 1 auto}.play-board,.archive-panel,.empty-panel{padding:.65rem}.clue-panel{position:fixed;z-index:20;left:0;right:0;bottom:0;height:min(78vh,620px);padding:.85rem;border-radius:16px 16px 0 0;border:2px solid var(--blocked);border-bottom:0;transform:translateY(105%);transition:transform .18s ease}.clue-panel.open{transform:translateY(0)}.drawer-close{display:inline-flex;flex:0 0 38px}.nav-label{display:none}.header-link{flex:0 0 42px;padding:0}.clue-columns{grid-template-columns:1fr;overflow:auto}.drawer-scrim{position:fixed;z-index:19;top:0;right:0;bottom:0;left:0;display:block;border:0;background:#12121357}.board-grid{width:min(100%,calc(100vw - 1.6rem),520px);gap:2px}.message-box{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
