@import "https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;1,8..60,400&family=Merriweather:ital,wght@0,300;0,400;0,700;1,400&display=swap";:root,[data-theme=nyt]{--theme-name:"New York Times";--page-bg:#fff;--page-text:#121212;--header-bg:#fff;--header-border:#121212;--header-text:#121212;--toolbar-bg:#fff;--toolbar-border:#d4d4d4;--grid-bg:#000;--cell-bg:#fff;--cell-border:#000;--cell-text:#1a1a1a;--cell-number:#1a1a1a;--cell-focus:#ffda00;--cell-highlight:#a7d8ff;--cell-correct:#346eb7;--cell-incorrect:#c0392b;--cell-font:var(--font-sans);--cell-number-font:var(--font-sans);--clue-active-bg:#fff4b8;--clue-filled-text:#b0b0b0;--clue-text:#444;--clue-section-border:#121212;--clue-section-text:#121212;--clue-hover:#f4f4f4;--btn-border:#d4d4d4;--btn-hover-bg:#f4f4f4;--btn-hover-border:#b0b0b0;--btn-primary-bg:#121212;--btn-primary-text:#fff;--btn-toggle-bg:#346eb7;--btn-toggle-text:#fff;--gray-100:#e8e8e8;--gray-200:#d4d4d4;--gray-300:#b0b0b0;--gray-500:#6b6b6b;--gray-700:#444;--divider:#d4d4d4;--accent:#346eb7;--font-serif:"Libre Franklin", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Libre Franklin", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:"Libre Franklin", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width:1100px;--grid-max:520px}[data-theme=times]{--theme-name:"The Times";--page-bg:#faf2e6;--page-text:#000;--header-bg:#faf2e6;--header-border:#000;--header-text:#000;--toolbar-bg:#faf2e6;--toolbar-border:#d9d1c7;--grid-bg:#333;--cell-bg:#fff;--cell-border:#333;--cell-text:#000;--cell-number:#000;--cell-focus:#ffa05b;--cell-highlight:#ffdcb9;--cell-correct:#346eb7;--cell-incorrect:#c0392b;--cell-font:var(--font-serif);--cell-number-font:var(--font-serif);--clue-active-bg:#ffdcb9;--clue-filled-text:#b5a99a;--clue-text:#000;--clue-section-border:#000;--clue-section-text:#000;--clue-hover:#f0ece6;--btn-border:transparent;--btn-hover-bg:#f4cfab;--btn-hover-border:transparent;--btn-primary-bg:#fbdcbd;--btn-primary-text:#000;--btn-toggle-bg:#ffa05b;--btn-toggle-text:#000;--gray-100:#ebe6df;--gray-200:#d9d1c7;--gray-300:#b5a99a;--gray-500:#78706a;--gray-700:#3d3935;--divider:#d9d1c7;--accent:#ffa05b;--font-serif:"Times New Roman", Times, "Source Serif 4", "Merriweather", serif;--font-body:"Libre Franklin", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Libre Franklin", -apple-system, BlinkMacSystemFont, sans-serif}[data-theme=guardian]{--theme-name:"The Guardian";--page-bg:#f6f6f6;--page-text:#121212;--header-bg:#052962;--header-border:#052962;--header-text:#fff;--toolbar-bg:#f6f6f6;--toolbar-border:#dcdcdc;--grid-bg:#121212;--cell-bg:#fff;--cell-border:#121212;--cell-text:#121212;--cell-number:#333;--cell-focus:#ffe500;--cell-highlight:#fea;--cell-correct:#0077b6;--cell-incorrect:#c70000;--cell-font:var(--font-sans);--cell-number-font:var(--font-sans);--clue-active-bg:#fea;--clue-filled-text:#999;--clue-text:#333;--clue-section-border:#052962;--clue-section-text:#052962;--clue-hover:#ededed;--btn-border:#dcdcdc;--btn-hover-bg:#ededed;--btn-hover-border:#999;--btn-primary-bg:#052962;--btn-primary-text:#fff;--btn-toggle-bg:#c70000;--btn-toggle-text:#fff;--gray-100:#ededed;--gray-200:#dcdcdc;--gray-300:#999;--gray-500:#707070;--gray-700:#333;--divider:#dcdcdc;--accent:#c70000;--font-serif:"Playfair Display", "Georgia", serif;--font-body:"Source Serif 4", "Georgia", serif;--font-sans:"Libre Franklin", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-theme=blueprint]{--theme-name:"Blueprint";--page-bg:#091526;--page-text:#64e3ff;--header-bg:#060e1b;--header-border:#132f57;--header-text:#64e3ff;--toolbar-bg:#060e1b;--toolbar-border:#132f57;--grid-bg:#03070d;--cell-bg:#091526;--cell-border:#132f57;--cell-text:#64e3ff;--cell-number:#64e3ff;--cell-focus:#0ff;--cell-highlight:#00ffff26;--cell-correct:#10b981;--cell-incorrect:#ef4444;--cell-font:monospace, Courier, monospace;--cell-number-font:monospace, Courier, monospace;--clue-active-bg:#00ffff1a;--clue-filled-text:#2d4c75;--clue-text:#64e3ff;--clue-section-border:#132f57;--clue-section-text:#64e3ff;--clue-hover:#0d1e36;--btn-border:#132f57;--btn-hover-bg:#0d1e36;--btn-hover-border:#0ff;--btn-primary-bg:#0ff;--btn-primary-text:#091526;--btn-toggle-bg:#0ff;--btn-toggle-text:#091526;--gray-100:#060e1b;--gray-200:#132f57;--gray-300:#214d85;--gray-500:#497ebb;--gray-700:#64e3ff;--divider:#132f57;--accent:#0ff;--font-serif:monospace, Courier, monospace;--font-body:monospace, Courier, monospace;--font-sans:monospace, Courier, monospace;--max-width:1100px;--grid-max:520px}*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;-khtml-user-select:none;-webkit-touch-callout:none;margin:0;padding:0}input,textarea{-webkit-user-select:text;user-select:text;-khtml-user-select:text}a,img{-webkit-user-drag:none}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background-color:var(--page-bg);color:var(--page-text);min-height:100vh;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}:root{--app-top-padding:env(safe-area-inset-top,0px);--vv-offset-top:0px}.forehead{padding-top:calc(16px + var(--app-top-padding))}.archive-page:before,.puzzle-view-wrapper:before,.connexions-view-container:before,.admin-page:before,.setter-page:before{content:"";height:env(safe-area-inset-top,0px);pointer-events:none;will-change:transform;position:fixed;top:0;left:0;right:0}.archive-page:before{background:var(--page-bg);z-index:30}.puzzle-view-wrapper:before{background:var(--header-bg);z-index:1000}.connexions-view-container:before{background:var(--conn-paper);z-index:1000}.admin-page:before,.setter-page:before{background:var(--page-bg);z-index:2000}.puzzle-view-wrapper,.connexions-view-container{z-index:99;will-change:transform;flex-direction:column;width:100%;height:100%;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.puzzle-view-wrapper{background-color:var(--page-bg)}.connexions-view-container{background-color:var(--conn-paper)}.puzzle-underlay{opacity:0}.puzzle-underlay--visible{opacity:1}.puzzle-view-wrapper.is-sliding-down,.connexions-view-container.is-sliding-down{animation:1s cubic-bezier(.4,0,1,1) forwards slideDownContainer!important}@keyframes slideDownContainer{0%{transform:translateY(0)}to{transform:translateY(100%)}}.app-back-btn{top:calc(.75rem + env(safe-area-inset-top,0px));border:1.5px solid var(--btn-border,var(--divider,#d4d4d4));width:38px;height:38px;color:var(--page-text,inherit);cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:1001;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s,transform .15s,opacity .15s;display:inline-flex;position:absolute;left:1.5rem}.app-back-btn svg{width:18px;height:18px;transition:transform .15s}.app-back-btn:hover{background:var(--btn-hover-bg,#0000000d);border-color:var(--btn-hover-border,var(--page-text,#121212))}.app-back-btn:hover svg{transform:translate(-2px)}.app-back-btn:active{transform:scale(.95)}.app-header{view-transition-name:app-header}.toolbar{view-transition-name:toolbar}.grid-wrapper{view-transition-name:puzzle-grid}.clues-panel{view-transition-name:clues-panel}.archive-masthead{view-transition-name:archive-masthead}.stats-banner{view-transition-name:stats-banner}::view-transition-old(*){mix-blend-mode:normal!important;width:100%!important;height:100%!important}::view-transition-new(*){mix-blend-mode:normal!important;width:100%!important;height:100%!important}::view-transition-old(*){animation:1.2s cubic-bezier(.16,1,.3,1) both fade-out}::view-transition-new(*){animation:1.2s cubic-bezier(.16,1,.3,1) both fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-group(*){animation:none!important}}@keyframes slide-up-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fade-out-fast{0%{opacity:1}to{opacity:0}}html.vt-slide-up::view-transition-old(root){animation:.2s ease-out both fade-out-fast}html:active-view-transition-type(slide-up)::view-transition-old(root){animation:.2s ease-out both fade-out-fast}html.vt-slide-up::view-transition-new(root){z-index:10;animation:.32s cubic-bezier(.16,1,.3,1) both slide-up-in}html:active-view-transition-type(slide-up)::view-transition-new(root){z-index:10;animation:.32s cubic-bezier(.16,1,.3,1) both slide-up-in}html.vt-slide-down::view-transition-old(root){z-index:10;animation:.32s cubic-bezier(.16,1,.3,1) both slide-down-out}html:active-view-transition-type(slide-down)::view-transition-old(root){z-index:10;animation:.32s cubic-bezier(.16,1,.3,1) both slide-down-out}html.vt-slide-down::view-transition-new(root){animation:.2s ease-out both fade-in}html:active-view-transition-type(slide-down)::view-transition-new(root){animation:.2s ease-out both fade-in}.setter-page{background:var(--page-bg);height:100vh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);color:var(--page-text);flex-direction:column;display:flex;overflow:hidden}.setter-header{background-color:var(--page-bg);border-bottom:1px solid var(--divider);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.setter-header-left{align-items:center;gap:16px;display:flex}.setter-title-input{font-family:var(--header-font);color:var(--page-text);background:0 0;border:none;width:300px;padding:4px;font-size:1.5rem;font-weight:700}.setter-title-input:focus{outline:2px solid var(--primary-color);border-radius:4px}.setter-header-right{gap:12px;display:flex}.setter-main{flex:1;display:flex;overflow:hidden}.setter-workspace{flex-direction:column;flex:1 0;justify-content:center;align-items:center;width:100%;padding:24px;display:flex;position:relative;overflow:auto}.setter-grid-container{background:var(--grid-bg,#000);border:2px solid var(--grid-bg,#000);touch-action:none;width:100%;max-width:var(--grid-max,520px);flex-direction:column;display:flex}.setter-row{display:flex}.setter-cell{width:calc(100% / var(--grid-cols,15));aspect-ratio:1;background:var(--cell-bg,#fff);border:1px solid var(--cell-border,#000);cursor:pointer;font-family:var(--cell-font,sans-serif);text-transform:uppercase;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex;position:relative}.setter-cell--black{background:var(--grid-bg,#000);color:#0000;border-color:var(--grid-bg,#000)}.setter-cell--black.setter-cell--active{background:var(--grid-bg,#000);outline:3px solid var(--cell-focus,#ffda00);outline-offset:-3px;z-index:1}.setter-cell--impossible{color:var(--cell-incorrect,#c00)!important;background:#ff000026!important}.setter-cell--active{background:var(--cell-focus,#ffda00);z-index:1}.setter-cell--highlight{background:var(--cell-highlight,#a7d8ff)}.setter-cell-number{color:var(--cell-number,#000);font-size:10px;font-weight:400;position:absolute;top:1px;left:2px}.setter-sidebar{background:var(--page-bg);border-left:1px solid var(--divider);flex-direction:column;flex-shrink:0;width:350px;display:flex;overflow:hidden}.setter-tabs{border-bottom:1px solid var(--divider);background:var(--page-bg);z-index:10;display:flex}.setter-tab{font-family:var(--font-sans);cursor:pointer;color:var(--page-text);opacity:.6;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-size:.9rem;font-weight:700}.setter-tab.active{opacity:1;border-bottom-color:var(--primary-color,var(--page-text))}.setter-slide-container{flex:1;width:100%;display:flex;overflow:hidden}.setter-slide-wrapper{flex-shrink:0;width:100%;height:100%;display:flex}.setter-clues-container{background:var(--page-bg);flex:1;padding:16px;overflow-y:auto}.setter-clue-group{margin-bottom:32px}.setter-clue-group h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--clue-section-text);border-bottom:2px solid var(--clue-section-border);margin-top:0;margin-bottom:12px;padding-bottom:8px;font-size:.8rem;font-weight:700}.setter-clue-row{border-bottom:1px solid var(--divider);align-items:baseline;gap:12px;padding:8px 0;display:flex}.setter-clue-num{font-family:var(--font-sans);color:var(--page-text);text-align:right;flex-shrink:0;min-width:24px;font-size:.9rem;font-weight:700}.setter-clue-input-wrapper{flex-direction:column;flex:1;display:flex}.setter-clue-input{width:100%;font-family:var(--font-body);color:var(--clue-text);background:0 0;border:none;outline:none;padding:0;font-size:1rem}.setter-clue-input:focus{border-bottom:2px solid var(--primary-color,var(--accent));margin-bottom:-2px}.setter-mobile-bar,.setter-keyboard{display:none}@media (width<=768px){.setter-slide-wrapper{width:200%;transition:transform .35s cubic-bezier(.4,0,.2,1)}.setter-slide-wrapper.show-clues{transform:translate(-50%)}.setter-sidebar{border-left:none;flex:none;width:50%}.setter-workspace{flex:none;width:50%;padding:16px}.setter-mobile-bar{background:var(--page-bg);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);font-family:var(--font-sans);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.9rem;display:flex;overflow-x:auto}.setter-mobile-suggestions{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.setter-mobile-suggestions::-webkit-scrollbar{display:none}.setter-suggestion-pill{background:var(--cell-bg);border:1px solid var(--divider);color:var(--page-text);white-space:nowrap;cursor:pointer;border-radius:16px;padding:4px 12px;font-size:.85rem;font-weight:600;box-shadow:0 1px 2px #0000000d}.setter-suggestion-warning{color:var(--cell-incorrect,#c00);white-space:nowrap;font-size:.85rem;font-weight:600}.setter-keyboard{background:var(--toolbar-bg);padding:6px;padding-bottom:max(6px, env(safe-area-inset-bottom));flex-direction:column;flex-shrink:0;gap:6px;display:flex;box-shadow:0 -2px 12px #0000001a}.sk-row{justify-content:center;gap:6px;display:flex}.sk-key{background:var(--cell-bg);font-family:var(--font-sans);cursor:pointer;max-width:40px;color:var(--page-text);border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;padding:12px 0;font-size:1.1rem;font-weight:600;display:flex;box-shadow:0 1px 2px #0000001f}.sk-key:active{background:var(--cell-highlight);transform:scale(.95)}.sk-key--fn{background:var(--btn-hover-bg,#e8e8e8);color:var(--gray-500);max-width:none;padding:12px 16px;font-size:.85rem;font-weight:700}.sk-key--fn:active{background:var(--cell-highlight)}.sk-key--toggle{background:var(--btn-primary-bg,#1f2937);color:var(--btn-primary-text,#fff)}.sk-key--toggle:active{opacity:.9;transform:scale(.95)}.setter-header{flex-wrap:wrap;gap:8px;padding:8px 12px}.setter-header-left{justify-content:flex-start;gap:8px;width:100%}.setter-title-input{flex:1;width:auto;min-width:100px;font-size:1.2rem}.setter-header-right{flex-wrap:wrap;justify-content:flex-end;gap:6px;width:100%}.setter-header-right .btn-pill{border-radius:16px;height:32px;padding:0 10px;font-size:.78rem}.setter-header-right .setter-pill-select{border-radius:16px;height:32px;padding:0 20px 0 8px;font-size:.78rem}.setter-header-right .setter-pill-select:after{right:8px}}.setter-date-input{font-family:var(--font-sans);border:1px solid var(--divider);color:var(--page-text);cursor:pointer;background:0 0;border-radius:4px;outline:none;padding:4px 8px;font-size:.85rem;transition:border-color .15s}.setter-date-input:focus{border-color:var(--primary-color,var(--page-text))}.centered-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:3000;background:#12121273;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out centeredModalFadeIn;display:flex;position:fixed;inset:0}@keyframes centeredModalFadeIn{0%{opacity:0}to{opacity:1}}.centered-modal{background:var(--page-bg);color:var(--page-text);border:1px solid var(--divider);border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:440px;max-height:90vh;padding:24px;animation:.25s cubic-bezier(.34,1.56,.64,1) centeredModalScaleIn;display:flex;overflow-y:auto;box-shadow:0 10px 30px #00000026,0 1px 3px #0000001a}@keyframes centeredModalScaleIn{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.centered-modal .form-input:focus,.centered-modal .form-select:focus{border-color:var(--page-text)!important}.btn-pill{font-family:var(--font-sans);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;border-radius:19px;outline:none;justify-content:center;align-items:center;height:38px;padding:0 18px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-pill:active{transform:scale(.96)}.btn-pill-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.btn-pill-primary:hover{filter:brightness(.9);box-shadow:0 4px 12px #00000026}.btn-pill-secondary{background:var(--page-bg);border-color:var(--btn-border,var(--divider));color:var(--page-text)}.btn-pill-secondary:hover{background:var(--btn-hover-bg,var(--gray-100));border-color:var(--btn-hover-border,var(--gray-500))}.btn-pill-danger{background:var(--cell-incorrect,#c70000);color:#fff;border-color:var(--cell-incorrect,#c70000)}.btn-pill-danger:hover{filter:brightness(.9);box-shadow:0 4px 12px #c7000033}.setter-pill-select{border:1.5px solid var(--btn-border,var(--divider));background:var(--page-bg);height:38px;color:var(--page-text);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;border-radius:19px;align-items:center;padding:0 28px 0 14px;font-size:.85rem;transition:all .2s;display:inline-flex;position:relative}.setter-pill-select:hover{border-color:var(--btn-hover-border,var(--gray-500));background:var(--btn-hover-bg,var(--gray-100))}.setter-pill-select span{color:var(--gray-500);white-space:nowrap;margin-right:4px;font-weight:600}.setter-pill-select select{color:var(--page-text);font-family:inherit;font-size:inherit;cursor:pointer;appearance:none;background:0 0;border:none;outline:none;padding-right:4px;font-weight:700}.setter-pill-select:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--page-text);pointer-events:none;opacity:.75;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.admin-login-page{background-color:var(--page-bg);min-height:100vh;color:var(--page-text);font-family:var(--font-sans,sans-serif);justify-content:center;align-items:center;padding:1.5rem;display:flex}.login-card{background-color:var(--page-bg);border:1px solid var(--divider);text-align:center;border-radius:8px;width:100%;max-width:400px;padding:2.5rem 2rem;box-shadow:0 10px 30px #0000000d}.login-logo{justify-content:center;margin-bottom:1.5rem;display:flex}.login-title{font-family:var(--font-serif,Georgia, serif);margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.login-subtitle{color:var(--gray-500,#5c5851);margin-bottom:2rem;font-size:.85rem;line-height:1.4}.login-input{border:1px solid var(--divider);background-color:var(--page-bg);width:100%;color:var(--page-text);font-family:var(--font-sans);box-sizing:border-box;border-radius:4px;outline:none;margin-bottom:.75rem;padding:.65rem 1rem;font-size:.95rem;transition:border-color .15s}.login-input:focus{border-color:var(--page-text)}.login-error{color:#c70000;text-align:left;margin-bottom:1rem;font-size:.78rem}.login-btn{background-color:var(--accent,#243574);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.7rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.login-btn:hover{opacity:.9}.login-back-btn{color:var(--gray-500);cursor:pointer;background:0 0;border:none;margin-top:1.5rem;font-size:.82rem;text-decoration:underline}.login-back-btn:hover{color:var(--page-text)}.admin-page{background-color:var(--page-bg);min-height:100vh;color:var(--page-text);font-family:var(--font-sans,sans-serif)}.admin-header{padding-top:calc(1.25rem + env(safe-area-inset-top,0px));padding-bottom:1.25rem;padding-left:calc(2rem + env(safe-area-inset-left,0px));padding-right:calc(2rem + env(safe-area-inset-right,0px));border-bottom:1px solid var(--divider);background-color:var(--page-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-header-left{align-items:center;gap:1rem;display:flex}.admin-title{font-family:var(--font-serif,Georgia, serif);margin:0;font-size:1.4rem;font-weight:700;line-height:1.2}.admin-subtitle{letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin:.15rem 0 0;font-size:.72rem;font-weight:600}.admin-header-right{align-items:center;gap:.5rem;display:flex}.admin-tabs{padding-top:0;padding-bottom:0;padding-left:calc(2rem + env(safe-area-inset-left,0px));padding-right:calc(2rem + env(safe-area-inset-right,0px));border-bottom:1px solid var(--divider);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.tab-btn{cursor:pointer;color:var(--gray-500);background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:.5rem;margin-bottom:-1px;padding:1rem 1.25rem;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab-badge{background-color:var(--divider);color:var(--page-text);text-align:center;border-radius:10px;min-width:14px;padding:.1rem .4rem;font-size:.65rem;font-weight:700}.tab-btn.active .tab-badge{background-color:var(--accent);color:#fff}.admin-content{padding-top:2rem;padding-bottom:2rem;padding-left:calc(2rem + env(safe-area-inset-left,0px));padding-right:calc(2rem + env(safe-area-inset-right,0px));max-width:var(--max-width,1200px);margin:0 auto}.toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.toolbar-left-group{flex-wrap:wrap;flex:1;align-items:center;gap:1.5rem;display:flex}.toolbar-summary{color:var(--gray-500);font-size:.82rem}.admin-search-input{border:1px solid var(--divider);background-color:var(--page-bg);width:100%;max-width:380px;color:var(--page-text);font-family:var(--font-sans);border-radius:999px;outline:none;padding:.45rem 1.15rem;font-size:.82rem;transition:border-color .15s,box-shadow .15s}.admin-search-input:focus{border-color:var(--page-text);box-shadow:0 0 0 3px var(--clue-active-bg)}.btn{cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-sans);border-radius:4px;justify-content:center;align-items:center;padding:.5rem 1.25rem;transition:all .15s;display:inline-flex}.btn-primary{background-color:var(--accent,#243574);color:#fff;border:1px solid var(--accent)}.btn-primary:hover{opacity:.9}.btn-secondary{background-color:var(--page-bg);color:var(--page-text);border:1px solid var(--divider)}.btn-secondary:hover{background-color:var(--btn-hover-bg,#0000000d)}.btn-logout{color:var(--gray-500);background:0 0;border:1px solid #0000}.btn-logout:hover{color:#c70000;border-color:#c7000033}.btn-delete-danger{color:#fff;background-color:#c70000;border:1px solid #c70000}.btn-delete-danger:hover{opacity:.9}.desktop-table-container{background-color:var(--page-bg);border:1px solid var(--divider);border-radius:6px;overflow:hidden;box-shadow:0 4px 15px #00000005}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.admin-table th{background-color:var(--btn-hover-bg,#00000008);border-bottom:1px solid var(--divider);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);padding:.85rem 1rem;font-size:.72rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--divider);color:var(--page-text);vertical-align:middle;padding:1rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover{background-color:var(--btn-hover-bg,#00000005)}.cell-title{color:var(--page-text);font-weight:600}.cell-date{white-space:nowrap}.cell-category{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.cell-mono{font-family:var(--font-mono,monospace);font-size:.8rem}.level-chips-cell{flex-wrap:wrap;gap:.35rem;display:flex}.actions-cell{align-items:center;gap:.5rem;display:flex}.btn-action-edit{background-color:var(--page-bg);color:var(--page-text);border:1px solid var(--divider);cursor:pointer;border-radius:3px;padding:.3rem .75rem;font-size:.78rem}.btn-action-edit:hover{background-color:var(--btn-hover-bg)}.btn-action-delete{color:var(--gray-500);cursor:pointer;background:0 0;border:none;font-size:.78rem}.btn-action-delete:hover{color:#c70000}.delete-confirm-row{align-items:center;gap:.4rem;display:flex}.delete-confirm-text{color:var(--gray-500);font-size:.75rem;font-weight:600}.btn-confirm-yes{color:#fff;cursor:pointer;background-color:#c70000;border:none;border-radius:2px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.btn-confirm-no{border:1px solid var(--divider);color:var(--page-text);cursor:pointer;background:0 0;border-radius:2px;padding:.2rem .6rem;font-size:.72rem}.diff-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.diff-badge--easy{color:#1e3a1e;background-color:#c4dbc4}.diff-badge--medium{color:#3c3a1e;background-color:#d4d0aa}.diff-badge--hard{color:#3f261c;background-color:#d4b8aa}.diff-badge--expert{color:#2d1838;background-color:#cab0d8}.admin-empty-state{text-align:center;border:1px dashed var(--divider);background-color:var(--btn-hover-bg,#00000003);border-radius:6px;padding:4rem 2rem}.admin-empty-state .empty-title{font-family:var(--font-serif);margin-bottom:.5rem;font-size:1.4rem}.admin-empty-state .empty-text{color:var(--gray-500);font-size:.88rem}.mobile-cards-container{flex-direction:column;gap:1rem;display:none}.mobile-admin-card{background-color:var(--page-bg);border:1px solid var(--divider);border-radius:6px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;box-shadow:0 2px 8px #00000005}.card-card-header{justify-content:space-between;align-items:center;display:flex}.card-card-date{color:var(--gray-500);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:600}.card-card-title{font-family:var(--font-serif);margin:0;font-size:1.15rem;font-weight:700}.card-card-meta{color:var(--gray-500);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);flex-direction:column;gap:.3rem;padding:.6rem 0;font-size:.8rem;display:flex}.card-card-actions{justify-content:flex-end;gap:.5rem;display:flex}.drawer-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;background-color:#09152673;transition:opacity .3s;position:fixed;inset:0}.drawer-overlay.active{opacity:1;pointer-events:auto}.drawer{background-color:var(--page-bg);z-index:201;flex-direction:column;width:680px;max-width:100%;transition:transform .32s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-10px 0 40px #00000026}.drawer.active{transform:translate(0)}.drawer-header{padding-top:calc(1.5rem + env(safe-area-inset-top,0px));padding-bottom:1.5rem;padding-left:calc(1.75rem + env(safe-area-inset-left,0px));padding-right:calc(1.75rem + env(safe-area-inset-right,0px));border-bottom:1px solid var(--divider);justify-content:space-between;align-items:flex-start;display:flex}.drawer-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500);margin-bottom:.25rem;font-size:.65rem;font-weight:700}.drawer-title{font-family:var(--font-serif,Georgia, serif);margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}.drawer-close-btn{color:var(--gray-500);cursor:pointer;background:0 0;border:none;margin-top:-.25rem;padding:0;font-size:2rem;line-height:1}.drawer-close-btn:hover{color:var(--page-text)}.drawer-body{flex-direction:column;flex:1;padding:1.75rem;display:flex;overflow-y:auto}.drawer-footer{padding-top:1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));padding-left:calc(1.75rem + env(safe-area-inset-left,0px));padding-right:calc(1.75rem + env(safe-area-inset-right,0px));border-top:1px solid var(--divider);background-color:var(--btn-hover-bg,#00000003);justify-content:flex-end;gap:.75rem;display:flex}.form-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-bottom:.75rem;font-size:.72rem;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.3rem;margin-bottom:1.25rem;display:flex}.form-span-2{grid-column:span 2}.form-label{letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500);font-size:.65rem;font-weight:700}.label-sub{text-transform:none;letter-spacing:0;opacity:.7;font-weight:400}.form-input,.form-select,.form-textarea{border:1px solid var(--divider);background-color:var(--page-bg);width:100%;color:var(--page-text);font-family:var(--font-sans);box-sizing:border-box;border-radius:4px;outline:none;padding:.55rem .75rem;font-size:.85rem;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--page-text)}.form-input.mono{font-family:var(--font-mono,monospace);font-size:.8rem}.form-divider{background-color:var(--divider);height:1px;margin:.5rem 0 1.5rem}.json-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.clue-count-tag{font-family:var(--font-mono,monospace);color:var(--gray-500);font-size:.75rem}.form-textarea{font-family:var(--font-mono,monospace);resize:vertical;white-space:pre;height:480px;min-height:400px;font-size:.78rem;line-height:1.5}.drawer-error{color:#c70000;background-color:#c700000d;border:1px solid #c7000033;border-radius:4px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.8rem;line-height:1.45}.conn-group-card{border:1px solid var(--divider);background-color:var(--btn-hover-bg,#00000003);border-radius:4px;margin-bottom:1.25rem;padding:1.25rem 1rem}.conn-group-title{letter-spacing:.05em;text-transform:uppercase;color:var(--gray-500);align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.72rem;font-weight:700;display:flex}.conn-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.conn-words-row{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.conn-word-input{text-transform:uppercase;text-align:center;padding:.45rem .25rem;font-size:.78rem;font-weight:600}.drawer-loading-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:300;color:#fff;font-family:var(--font-serif);background-color:#00000073;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.drawer-loading-scrim p{letter-spacing:.02em;font-size:1.1rem;font-style:italic}@media (width<=900px){.admin-header{padding-top:calc(1rem + env(safe-area-inset-top,0px));padding-bottom:1rem;padding-left:calc(1.5rem + env(safe-area-inset-left,0px));padding-right:calc(1.5rem + env(safe-area-inset-right,0px))}.admin-tabs{padding-top:0;padding-bottom:0;padding-left:calc(1.5rem + env(safe-area-inset-left,0px));padding-right:calc(1.5rem + env(safe-area-inset-right,0px))}.admin-content{padding-top:1.5rem;padding-bottom:1.5rem;padding-left:calc(1.5rem + env(safe-area-inset-left,0px));padding-right:calc(1.5rem + env(safe-area-inset-right,0px))}}@media (width<=768px){.desktop-table-container{display:none}.mobile-cards-container{display:flex}.toolbar-row{flex-direction:column;align-items:stretch}.toolbar-left-group{flex-direction:column;align-items:stretch;gap:.75rem}.admin-search-input{max-width:none}.btn-primary,.drawer{width:100%}.conn-words-row{grid-template-columns:repeat(2,1fr)}}.theme-select-dropdown{border:1px solid var(--divider);background-color:var(--page-bg);color:var(--page-text);font-family:var(--font-sans);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:.9em;border-radius:4px;outline:none;padding:.45rem 1.75rem .45rem .75rem;font-size:.8rem;font-weight:500;transition:border-color .15s}.theme-select-dropdown:focus{border-color:var(--page-text)}.type-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:.15rem .45rem;font-size:.7rem;font-weight:700;display:inline-block}.type-badge.type-crossword{color:#3b82f6;background-color:#0989ff26;border:1px solid #0989ff4d}.type-badge.type-connexions{color:#a855f7;background-color:#a855f726;border:1px solid #a855f74d}.preview-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:250;background-color:#09152699;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.preview-modal-content{background-color:var(--page-bg);border:1px solid var(--divider);border-radius:8px;flex-direction:column;width:100%;max-width:540px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) both modalPop;display:flex;box-shadow:0 20px 50px #0000004d}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.preview-modal-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;display:flex}.preview-modal-eyebrow{text-transform:uppercase;color:var(--gray-500);letter-spacing:.08em;font-size:.65rem;font-weight:700}.preview-modal-title{font-family:var(--font-serif);color:var(--page-text);margin:.2rem 0;font-size:1.35rem;font-weight:700}.preview-modal-meta{color:var(--gray-500);font-size:.8rem}.preview-modal-close{color:var(--gray-500);cursor:pointer;background:0 0;border:none;margin-top:-.25rem;padding:0;font-size:2rem;line-height:1}.preview-modal-close:hover{color:var(--page-text)}.preview-modal-body{background-color:var(--gray-100);justify-content:center;align-items:center;padding:1.5rem;display:flex;overflow-y:auto}.preview-modal-visual{justify-content:center;align-items:center;width:100%;display:flex}.preview-grid-wrapper{width:100%;max-width:380px}.preview-connexions-wrapper{width:100%;max-width:420px}.preview-connexions-list{flex-direction:column;gap:.5rem;width:100%;display:flex}.preview-connexions-row{text-align:center;color:#000;border-radius:4px;padding:1rem;box-shadow:0 2px 4px #0000000d}.preview-group-category{letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.preview-group-words{letter-spacing:.02em;margin-top:.25rem;font-size:.95rem;font-weight:600}.preview-modal-footer{border-top:1px solid var(--divider);background-color:var(--btn-hover-bg);justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.rollup-grid-view{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.rollup-card{background-color:var(--page-bg);border:1px solid var(--divider);cursor:pointer;border-radius:6px;flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000005}.rollup-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000000a}.rollup-card-header{border-bottom:1px solid var(--divider);background-color:var(--btn-hover-bg);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.rollup-type{text-transform:uppercase;color:var(--gray-500);letter-spacing:.05em;font-size:.65rem;font-weight:700}.rollup-visualizer-container{background-color:var(--gray-100);justify-content:center;align-items:center;height:160px;padding:1rem;display:flex;overflow:hidden}.rollup-card-footer{border-top:1px solid var(--divider);flex-direction:column;gap:.4rem;padding:1rem;display:flex}.rollup-title{font-family:var(--font-serif);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;overflow:hidden}.rollup-date{color:var(--gray-500);font-size:.72rem}.rollup-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.calendar-container{background-color:var(--page-bg);border:1px solid var(--divider);border-radius:6px;margin-top:1rem;padding:1.5rem;overflow:hidden;box-shadow:0 4px 15px #00000005}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.calendar-month-title{font-family:var(--font-serif);margin:0;font-size:1.4rem;font-weight:700}.calendar-grid{background-color:var(--divider);border:1px solid var(--divider);border-radius:4px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-day-header{background-color:var(--btn-hover-bg);color:var(--gray-500);text-align:center;text-transform:uppercase;letter-spacing:.05em;padding:.5rem;font-size:.72rem;font-weight:700}.calendar-day-cell{background-color:var(--page-bg);flex-direction:column;gap:.25rem;min-height:100px;padding:.5rem;display:flex}.calendar-day-cell.empty{background-color:var(--gray-100)}.calendar-day-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day-number{color:var(--gray-500);align-self:flex-start;font-size:.8rem;font-weight:700}.calendar-day-cell.today .calendar-day-number{color:var(--accent)}.calendar-day-puzzles{flex-direction:column;flex:1;gap:.25rem;display:flex;overflow-y:auto}.cal-badge{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;align-items:center;gap:2px;padding:2px 4px;font-size:.68rem;font-weight:600;display:flex;overflow:hidden}.cal-badge-cross{color:#3b82f6;background-color:#0989ff1a;border:1.5px solid #0989ff40}.cal-badge-conn{color:#a855f7;background-color:#a855f71a;border:1.5px solid #a855f740}.cal-badge-draft{opacity:.6;border-style:dashed!important}.cal-badge-type{font-size:.6rem}.cal-badge-title{text-overflow:ellipsis;overflow:hidden}.app-header{border-bottom:2px solid var(--header-border);padding:.75rem 1.5rem;padding-top:calc(.75rem + env(safe-area-inset-top));background:var(--header-bg);justify-content:center;align-items:center;display:flex;position:relative}.header-content{max-width:var(--max-width);align-items:center;gap:1rem;width:100%;display:flex}.header-logo{flex-direction:row;align-items:center;gap:.85rem;min-width:0;display:flex}.header-logo-text{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.header-divider--inline{height:1.6rem}.header-wordmark{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--header-text);font-size:1.65rem;font-weight:700;line-height:1.1}.header-sub{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--header-text);opacity:.65;margin-top:.1rem;font-size:.7rem;font-weight:500}.header-divider{background:var(--header-text);opacity:.2;width:1px;height:2rem;margin:0 .5rem}.header-right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.header-nav{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--header-text);font-size:.8rem;font-weight:600}.theme-selector{align-items:center;gap:.35rem;display:flex}.theme-btn{cursor:pointer;border:none;border-radius:50%;width:22px;height:22px;padding:0;transition:all .2s;position:relative}.theme-btn:hover{transform:scale(1.15)}.theme-btn.active{box-shadow:0 0 0 2px var(--header-bg), 0 0 0 4px var(--header-text)}.theme-btn--nyt{background:linear-gradient(135deg,#121212 49%,#ffda00 51%)}.theme-btn--times{background:linear-gradient(135deg,#faf2e6 49%,#fbdcbd 51%)}.theme-btn--guardian{background:linear-gradient(135deg,#052962 49%,#c70000 51%)}.toolbar{border-bottom:1px solid var(--toolbar-border);background:var(--toolbar-bg);justify-content:center;align-items:center;padding:.6rem 1.5rem;display:flex}.toolbar-content{max-width:var(--max-width);justify-content:space-between;align-items:center;width:100%;display:flex}.toolbar-left{flex-direction:column;gap:.15rem;display:flex}.puzzle-title{font-family:var(--font-sans);color:var(--page-text);font-size:.95rem;font-weight:700}.puzzle-meta-row{align-items:center;gap:.5rem;display:flex}.puzzle-meta{font-family:var(--font-sans);color:var(--gray-500);font-size:.75rem;font-weight:400}.puzzle-meta-divider{color:var(--gray-300);font-size:.75rem}.puzzle-timer{color:var(--page-text);letter-spacing:.05em;font-family:monospace;font-size:.8rem;font-weight:600}.toolbar-actions{align-items:center;gap:.5rem;display:flex}.toolbar-divider{background:var(--divider);width:1px;height:1.4rem;margin:0 .25rem}.toolbar-btn{border:1.5px solid var(--btn-border);font-family:var(--font-sans);color:var(--page-text);cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:0 0;border-radius:2rem;padding:.35rem 1rem;font-size:.75rem;font-weight:600;transition:all .2s}.toolbar-btn:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.toolbar-btn.primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.toolbar-btn.primary:hover{opacity:.9}.toolbar-btn.active-toggle{background:var(--btn-toggle-bg);color:var(--btn-toggle-text);border-color:var(--btn-toggle-bg)}.toolbar-btn.active-toggle:hover{opacity:.9}.crossword-page{flex:1;justify-content:center;padding:1.5rem;display:flex}.crossword-container{max-width:var(--max-width);grid-template-columns:minmax(280px, var(--grid-max)) 1fr;align-items:start;gap:2rem;width:100%;display:grid}.grid-wrapper{position:sticky;top:1.5rem}.grid-wrapper .clues{display:none!important}.grid-wrapper .crossword{flex-direction:column!important;display:flex!important}.grid-wrapper .crossword .grid{width:100%!important;max-width:var(--grid-max)!important}.grid-wrapper .crossword .grid text[text-anchor=middle]{font-family:var(--cell-font,sans-serif)!important}.grid-wrapper .crossword .grid text[text-anchor=start]{font-family:var(--cell-number-font,sans-serif)!important}.clues-panel{scrollbar-width:thin;scrollbar-color:var(--gray-200) transparent;flex-direction:column;gap:1.75rem;max-height:calc(100vh - 180px);display:flex;overflow-y:auto}.clues-panel::-webkit-scrollbar{width:5px}.clues-panel::-webkit-scrollbar-track{background:0 0}.clues-panel::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:4px}.clues-section{padding:0}.clues-section-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;color:var(--clue-section-text);border-bottom:2px solid var(--clue-section-border);background:var(--page-bg);z-index:1;margin-bottom:0;padding-bottom:.6rem;font-size:.8rem;font-weight:700;position:sticky;top:0}.clue-list{margin:0;padding:0;list-style:none}.clue-item{border-bottom:1px solid var(--gray-100);cursor:pointer;border-radius:3px;gap:.65rem;padding:.55rem .4rem;transition:background-color .15s,color .2s,opacity .2s;display:flex}.clue-item:hover{background-color:var(--clue-hover)}.clue-item.active{background-color:var(--clue-active-bg)}.clue-item.filled{opacity:.5}.clue-item.filled .clue-text{color:var(--clue-filled-text);font-style:italic}.clue-item.filled .clue-number{color:var(--clue-filled-text)}.clue-item.filled.active{opacity:.8}.clue-number{font-family:var(--font-sans);color:var(--page-text);text-align:right;flex-shrink:0;min-width:1.5rem;padding-top:.05rem;font-size:.8rem;font-weight:700}.clue-text{font-family:var(--font-body);color:var(--clue-text);font-size:.92rem;font-weight:400;line-height:1.45}.toolbar-menu-wrapper{position:relative}.toolbar-menu-btn{justify-content:center;align-items:center;min-width:40px;display:flex;padding:.4rem .6rem!important}.toolbar-dropdown-menu{background:var(--page-bg);border:1px solid var(--divider);z-index:200;border-radius:8px;min-width:180px;padding:.35rem 0;animation:.15s fadeIn;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000026}.toolbar-dropdown-item{width:100%;font-family:var(--font-sans);color:var(--page-text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:.82rem;font-weight:500;transition:background .1s;display:flex}.toolbar-dropdown-item:hover,.toolbar-dropdown-item:active{background:var(--btn-hover-bg)}.toolbar-dropdown-item.active{color:var(--accent);font-weight:600}.toolbar-dropdown-divider{background:var(--divider);height:1px;margin:.3rem .75rem}.mobile-input-area{z-index:100;background:var(--toolbar-bg);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000001a}.mobile-clue-bar--inline{border-bottom:1px solid var(--divider);background:var(--page-bg);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.mobile-keyboard{padding:8px 4px;padding-bottom:max(8px, env(safe-area-inset-bottom));background:var(--toolbar-bg);-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;display:flex}.kb-row{justify-content:center;gap:4px;display:flex}.kb-key{background:var(--cell-bg);min-width:0;max-width:38px;height:44px;color:var(--page-text);font-family:var(--font-sans);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;transition:background 80ms;display:flex;box-shadow:0 1px 2px #0000001f}.kb-key:active{background:var(--cell-highlight);transform:scale(.95)}.kb-key--fn{background:var(--btn-hover-bg,#e8e8e8);max-width:52px;color:var(--gray-500);flex:1.4;font-size:.75rem;font-weight:700}.kb-key--fn:active{background:var(--cell-highlight)}.kb-dir-label{font-family:var(--font-sans);letter-spacing:.03em;color:var(--accent);font-size:.72rem;font-weight:700}.crossword-page.has-keyboard{padding-bottom:15rem}.mobile-clue-bar:not(.mobile-clue-bar--inline){display:none}.completion-banner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0000008c;justify-content:center;align-items:center;animation:.4s fadeIn;display:flex;position:fixed;inset:0}.completion-card{background:var(--page-bg);text-align:center;border-radius:12px;max-width:420px;padding:3rem 3.5rem;animation:.5s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 25px 60px #00000040}.completion-emoji{margin-bottom:1rem;font-size:3.5rem;animation:.6s .3s both bounce}.completion-title{font-family:var(--font-serif);color:var(--page-text);margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.completion-subtitle{font-family:var(--font-body);color:var(--gray-500);margin-bottom:1.5rem;font-size:1rem}.completion-close{background:var(--btn-primary-bg);color:var(--btn-primary-text);font-family:var(--font-sans);cursor:pointer;border:none;border-radius:2rem;padding:.65rem 2rem;font-size:.85rem;font-weight:600;transition:background .2s}.completion-close:hover{opacity:.9}.app-footer{border-top:1px solid var(--divider);text-align:center;margin-top:auto;padding:1.25rem 1.5rem}.footer-text{font-family:var(--font-sans);color:var(--gray-300);letter-spacing:.04em;font-size:.72rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=820px){.crossword-container{max-width:var(--grid-max);grid-template-columns:1fr}.grid-wrapper{position:static}.clues-panel{gap:1.25rem;max-height:none}.header-divider,.header-nav{display:none}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.header-content{padding-left:3.2rem}}@media (width<=480px){.app-header{padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top))}.header-content{padding-left:3.2rem}.header-divider--inline{display:none}.header-wordmark{font-size:1.35rem}.toolbar{padding:.5rem 1rem}.crossword-page{padding:1rem 1rem 4rem}.toolbar-actions{gap:.35rem}.toolbar-btn{padding:.3rem .7rem;font-size:.7rem}.clues-panel{display:none}.mobile-clue-bar:not(.mobile-clue-bar--inline){background:var(--page-bg);border-top:2px solid var(--clue-section-border);z-index:100;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000014}}.mobile-clue-direction{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--clue-active-bg);border-radius:3px;flex-shrink:0;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.mobile-clue-number{font-family:var(--font-sans);color:var(--page-text);flex-shrink:0;font-size:.85rem;font-weight:700}.mobile-clue-text{font-family:var(--font-body);color:var(--clue-text);text-overflow:ellipsis;-webkit-line-clamp:4;line-clamp:4;word-break:break-word;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:.85rem;line-height:1.3;display:-webkit-box;overflow:hidden}.mobile-clue-nav{flex-shrink:0;gap:.25rem;display:flex}.mobile-clue-nav-btn{border:1.5px solid var(--btn-border);cursor:pointer;width:28px;height:28px;color:var(--page-text);-webkit-tap-highlight-color:transparent;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;transition:all .15s;display:flex}.mobile-clue-nav-btn:hover{background:var(--btn-hover-bg)}.app-loading{background:var(--page-bg);min-height:100vh;color:var(--page-text);font-family:var(--font-serif,Georgia, serif);flex-direction:column;justify-content:center;align-items:center;display:flex}.spinner{border:3.5px solid var(--divider,#d5cfbf);border-top-color:var(--accent,#243574);border-radius:50%;width:42px;height:42px;margin-bottom:1.25rem;animation:1s linear infinite app-spin}.loading-text{letter-spacing:.02em;opacity:.8;font-size:1.1rem;font-style:italic}.app-error{background:var(--page-bg);min-height:100vh;color:var(--page-text);font-family:var(--font-serif,Georgia, serif);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.error-title{margin-bottom:.75rem;font-size:1.8rem;font-weight:700}.error-text{font-family:var(--font-sans,sans-serif);color:var(--gray-500,#5c5851);max-width:400px;margin-bottom:1.5rem;font-size:.95rem}.error-btn{background:var(--btn-primary-bg,#243574);color:var(--btn-primary-text,#fff);font-family:var(--font-sans,sans-serif);cursor:pointer;border:none;border-radius:2rem;padding:.65rem 1.8rem;font-size:.85rem;font-weight:600;transition:opacity .15s}.error-btn:hover{opacity:.9}@keyframes app-spin{to{transform:rotate(360deg)}}.landing-overlay{z-index:1000;background-color:var(--page-bg);width:100%;height:100%;color:var(--page-text);text-align:center;box-sizing:border-box;will-change:transform, opacity;flex-direction:column;justify-content:center;align-items:center;padding:2rem;animation:.85s cubic-bezier(.16,1,.3,1) slideUpLanding;display:flex;position:fixed;top:0;left:0;transform:translateY(0)}@keyframes slideUpLanding{0%{transform:translateY(100%)}to{transform:translateY(0)}}.landing-overlay.is-sliding-down{animation:.5s cubic-bezier(.4,0,1,1) forwards slideDownLanding!important}@keyframes slideDownLanding{0%{transform:translateY(0)}to{transform:translateY(100%)}}.landing-overlay.is-fading-out{animation:.65s ease-in forwards fadeOutLanding}@keyframes fadeOutLanding{0%{opacity:1}to{opacity:0}}.landing-content{flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:600px;display:flex}.landing-masthead{flex-direction:column;gap:.5rem;display:flex}.landing-eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin:0;font-size:.875rem;font-weight:600}.landing-title{font-family:var(--font-serif);letter-spacing:-.02em;margin:0;font-size:2.5rem;font-weight:700;line-height:1.1}.landing-byline{font-family:var(--font-sans);color:var(--gray-500);margin:0;font-size:.9375rem}.landing-divider{background-color:var(--page-text);opacity:.2;width:60px;height:2px;margin:.5rem auto}.landing-meta-row{font-family:var(--font-sans);color:var(--gray-500);justify-content:center;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.landing-actions{flex-direction:column;gap:1rem;width:100%;max-width:320px;margin-top:1rem;display:flex}.landing-btn-primary{color:var(--page-text);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border:4px double var(--page-text);cursor:pointer;background:0 0;border-radius:9999px;justify-content:center;align-items:center;width:100%;padding:.8rem 1.8rem;font-size:1.1rem;font-weight:700;transition:background-color .2s,transform .1s;display:inline-flex}.landing-btn-primary:hover{background-color:var(--btn-hover-bg)}.landing-btn-primary:active{transform:scale(.98)}.landing-btn-secondary{color:var(--gray-500);font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--divider);cursor:pointer;background:0 0;border-radius:9999px;justify-content:center;align-items:center;width:100%;margin-top:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.landing-btn-secondary:hover{border-color:var(--page-text);color:var(--page-text);background-color:var(--btn-hover-bg)}.landing-progress-bar{background-color:var(--gray-200);border-radius:0;width:100%;height:4px;margin-top:.5rem;overflow:hidden}.landing-progress-fill{background-color:var(--page-text);height:100%;transition:width .3s}:root{--conn-yellow:#f9df6d;--conn-green:#a0c35a;--conn-blue:#b0c4ef;--conn-purple:#ba81c5;--conn-tile-bg:#efefe6;--conn-tile-hover:#e0e0d4;--conn-tile-selected:#5a594e;--conn-tile-selected-text:#fff;--conn-text:#121212;--conn-muted:#6b6b6b;--conn-divider:#d4d4d4;--conn-paper:#fff}.level-yellow{background:var(--conn-yellow)}.level-green{background:var(--conn-green)}.level-blue{background:var(--conn-blue)}.level-purple{background:var(--conn-purple)}.conn-page{background:var(--conn-paper);min-height:100vh;color:var(--conn-text);font-family:var(--font-sans);flex-direction:column;display:flex}.conn-header{border-bottom:1px solid var(--conn-divider);padding-top:env(safe-area-inset-top);background:var(--conn-paper);z-index:20;position:sticky;top:0}.conn-header-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;max-width:720px;margin:0 auto;padding:.75rem 1.25rem;display:grid}.conn-help-btn{border:1px solid var(--conn-divider);color:var(--conn-text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.conn-help-btn:hover{background:#f4f4f4;border-color:#b0b0b0}.conn-header-title{text-align:center;min-width:0}.conn-header-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--conn-muted);margin:0 0 .15rem;font-size:.65rem;font-weight:600}.conn-header-h1{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:700;line-height:1.15}.conn-main{flex-direction:column;flex:1;align-items:center;width:100%;max-width:560px;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex}.conn-instruction{color:var(--conn-text);text-align:center;margin:0 0 1.25rem;font-size:.95rem;font-weight:500}.conn-solved{flex-direction:column;gap:.5rem;width:100%;margin-bottom:.5rem;display:flex}.conn-solved-row{text-align:center;border-radius:6px;padding:.7rem .75rem;animation:.45s connFadeDrop}@keyframes connFadeDrop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.conn-solved-cat{text-transform:uppercase;letter-spacing:.04em;color:#121212;margin:0 0 .15rem;font-size:.85rem;font-weight:800}.conn-solved-members{text-transform:uppercase;letter-spacing:.05em;color:#121212;opacity:.85;margin:0;font-size:.78rem}.conn-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;width:100%;margin:.5rem 0 1.5rem;display:grid}.conn-grid.is-shaking{animation:.6s connShake}@keyframes connShake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}.conn-tile{aspect-ratio:1;background:var(--conn-tile-bg);letter-spacing:.02em;color:var(--conn-text);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;font-family:inherit;font-weight:800;transition:transform .12s,background .12s,color .12s;display:flex}.conn-tile:hover:not(:disabled){background:var(--conn-tile-hover)}.conn-tile.is-selected{background:var(--conn-tile-selected);color:var(--conn-tile-selected-text);transform:scale(.96)}.conn-tile.is-revealing{animation:.5s connBounce}@keyframes connBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.04)}}.conn-tile:disabled{cursor:default}.conn-tile-text{text-transform:uppercase;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;letter-spacing:0;font-size:.92rem;line-height:1.05}.conn-tile-text.len-5{font-size:.85rem}.conn-tile-text.len-6{font-size:.78rem}.conn-tile-text.len-7{font-size:.72rem}.conn-tile-text.len-8{font-size:.66rem}.conn-tile-text.len-9,.conn-tile-text.len-10{font-size:.62rem}.conn-tile-text.len-11,.conn-tile-text.len-12{font-size:.64rem}.conn-tile-text.len-13,.conn-tile-text.len-14{font-size:.6rem}.conn-tile-text.len-15,.conn-tile-text.len-16,.conn-tile-text.len-17{font-size:.56rem}.conn-tile-text.len-18,.conn-tile-text.len-19,.conn-tile-text.len-20,.conn-tile-text.len-21,.conn-tile-text.len-22,.conn-tile-text.len-23,.conn-tile-text.len-24,.conn-tile-text.len-25,.conn-tile-text.len-26,.conn-tile-text.len-27,.conn-tile-text.len-28,.conn-tile-text.len-29,.conn-tile-text.len-30{font-size:.5rem;line-height:1.15}.conn-mistakes{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.conn-mistakes-label{color:var(--conn-text);font-size:.85rem;font-weight:500}.conn-dots{gap:.5rem;display:flex}.conn-dot{background:var(--conn-divider);border-radius:50%;width:.7rem;height:.7rem;transition:background .2s}.conn-dot.is-on{background:var(--conn-tile-selected)}.conn-infinity{color:var(--conn-tile-selected);font-size:1.4rem;font-weight:700;animation:1.6s infinite connPulse}@keyframes connPulse{0%,to{opacity:1}50%{opacity:.55}}.conn-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.conn-btn{border:1px solid var(--conn-text);background:var(--conn-paper);color:var(--conn-text);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;padding:.7rem 1.1rem;font-family:inherit;font-size:.78rem;font-weight:700;transition:background .15s,color .15s,opacity .15s}.conn-btn:hover:not(:disabled):not(.is-disabled){background:#f4f4f4}.conn-btn:disabled,.conn-btn.is-disabled{opacity:.4;cursor:not-allowed}.conn-btn-primary{background:var(--conn-text);color:var(--conn-paper)}.conn-btn-primary:hover:not(:disabled):not(.is-disabled){background:#333}.conn-btn-primary.is-disabled,.conn-btn-primary:disabled{background:var(--conn-paper);color:var(--conn-text)}.conn-won-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.conn-reset{color:var(--conn-muted);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:.3rem .4rem;font-family:inherit;font-size:.7rem;text-decoration:underline}.conn-reset:hover{color:#c0392b}.conn-byline{text-align:center;color:var(--conn-muted);margin-top:1.5rem;font-size:.78rem;line-height:1.5}.conn-byline strong{color:var(--conn-text);font-weight:600}.conn-byline-sep{margin:0 .15rem}.conn-toast{top:calc(env(safe-area-inset-top) + 70px);color:#fff;z-index:100;background:#121212;border-radius:999px;padding:.7rem 1.1rem;font-size:.85rem;font-weight:600;animation:.25s connToastIn;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}@keyframes connToastIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.conn-modal-scrim{z-index:200;background:#1212128c;justify-content:center;align-items:flex-end;padding:1rem;animation:.18s connFadeIn;display:flex;position:fixed;inset:0}@media (width>=640px){.conn-modal-scrim{align-items:center}}@keyframes connFadeIn{0%{opacity:0}to{opacity:1}}.conn-modal{background:var(--conn-paper);border-radius:14px;width:100%;max-width:480px;max-height:80vh;padding:1.5rem;animation:.25s connModalIn;overflow:auto;box-shadow:0 20px 60px #00000040}@keyframes connModalIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.conn-modal-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.conn-modal-head h2{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-size:1.45rem;font-weight:700}.conn-modal-close{color:var(--conn-text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.3rem;display:inline-flex}.conn-modal-close:hover{background:#f4f4f4}.conn-modal-body{font-size:.92rem;line-height:1.55}.conn-modal-body p{margin:0 0 .8rem}.conn-modal-body ul{margin:0 0 1rem;padding-left:1.25rem}.conn-modal-body li{margin-bottom:.4rem}.conn-help-legend{flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:.75rem;font-size:.85rem;display:flex}.conn-legend-row{align-items:center;gap:.4rem;display:inline-flex}.legend-swatch{border-radius:3px;width:.85rem;height:.85rem;display:inline-block}.conn-victory-line{font-size:1rem;font-weight:500}.conn-victory-grid{flex-direction:column;align-items:center;gap:.25rem;margin:1rem 0;display:flex}.conn-victory-row{gap:.25rem;display:flex}.conn-victory-cell{border-radius:3px;width:1.5rem;height:1.5rem}.conn-victory-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}@media (width<=420px){.conn-main{padding:1rem .75rem 2.5rem}.conn-grid{gap:.4rem}.conn-header-h1{font-size:1rem}.conn-tile-text{font-size:.85rem}.conn-btn{padding:.6rem .85rem;font-size:.72rem}}@media (width<=768px){.conn-header-inner{padding-left:1.5rem}}.archive-page{background:var(--page-bg);min-height:100vh;color:var(--page-text);--topbar-height:2.7rem;flex-direction:column;display:flex}.archive-topbar{border-bottom:1px solid var(--divider);background:var(--page-bg);top:var(--vv-offset-top,0px);z-index:25;padding-top:env(safe-area-inset-top,0px);will-change:top;position:sticky}.topbar-inner{max-width:var(--max-width);font-family:var(--font-sans);justify-content:space-between;align-items:center;margin:0 auto;padding:.65rem 1.5rem;display:flex}.topbar-date{letter-spacing:.14em;color:var(--gray-500);font-size:.7rem;font-weight:600}.archive-masthead{text-align:center;background:var(--page-bg);border-bottom:1px solid var(--page-text);padding:2.75rem 1.5rem 2rem;position:relative}.archive-masthead:after{content:"";background:var(--page-text);height:1px;position:absolute;bottom:-4px;left:0;right:0}.masthead-inner{max-width:var(--max-width);margin:0 auto}.masthead-eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gray-500);margin:0 0 .9rem;font-size:.68rem;font-weight:600}.masthead-title{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--page-text);margin:0;font-size:clamp(2.4rem,6.5vw,4.8rem);font-weight:700;line-height:1}.masthead-tagline{font-family:var(--font-serif);color:var(--gray-500);margin:.9rem 0 0;font-size:clamp(.95rem,1.6vw,1.15rem);font-style:italic;font-weight:400}.stats-banner{background:var(--page-bg);border-bottom:1px solid var(--divider)}.stats-inner{max-width:var(--max-width);grid-template-columns:minmax(0,1fr) minmax(280px,22rem);align-items:center;gap:2.25rem;margin:0 auto;padding:1.5rem 1.5rem 1.6rem;display:grid}.stats-figures{grid-template-columns:repeat(5,1fr);gap:1.25rem;display:grid}.stat-block{border-left:1px solid var(--divider);flex-direction:column;gap:.35rem;min-width:0;padding-left:1rem;display:flex}.stat-block:first-child{border-left:none;padding-left:0}.stat-label{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gray-500);font-size:.62rem;font-weight:700}.stat-value{font-family:var(--font-serif);color:var(--page-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.45rem,2.4vw,1.9rem);font-weight:700;line-height:1}.stat-mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:clamp(1.1rem,1.9vw,1.45rem);font-weight:600}.stat-unit{font-family:var(--font-sans);color:var(--gray-500);letter-spacing:0;margin-left:.15rem;font-size:.75rem;font-weight:500}.stats-progress{border-left:1px solid var(--divider);flex-direction:column;gap:.65rem;padding-left:2rem;display:flex}.stats-bar{background:var(--gray-100);border-radius:999px;height:10px;display:flex;overflow:hidden}.stats-bar-segment{transition:width .5s cubic-bezier(.4,0,.2,1) .25s}.seg-completed{background:var(--accent)}.seg-inprogress{background:var(--cell-focus)}.stats-legend{font-family:var(--font-sans);color:var(--gray-500);letter-spacing:.02em;flex-wrap:wrap;gap:1rem;font-size:.7rem;font-weight:500;display:flex}.stats-legend span{align-items:center;gap:.4rem;display:inline-flex}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-completed{background:var(--accent)}.dot-inprogress{background:var(--cell-focus)}.dot-notstarted{background:var(--gray-200)}.controls-bar{top:calc(var(--vv-offset-top,0px) + env(safe-area-inset-top,0px) + var(--topbar-height));z-index:20;background:var(--page-bg);border-bottom:1px solid var(--divider);-webkit-backdrop-filter:blur(10px);will-change:top;position:sticky}.controls-inner{max-width:var(--max-width);align-items:center;gap:.75rem;margin:0 auto;padding:.75rem 1.5rem;display:flex}.control-search{border:1px solid var(--divider);background:var(--page-bg);border-radius:999px;flex:0 360px;align-items:center;gap:.55rem;min-width:0;padding:.45rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.control-search:focus-within{border-color:var(--page-text);box-shadow:0 0 0 3px var(--clue-active-bg)}.search-icon{color:var(--gray-500);flex-shrink:0}.search-input{font-family:var(--font-sans);color:var(--page-text);background:0 0;border:none;outline:none;flex:1;width:100%;min-width:0;font-size:.85rem}.search-input::placeholder{color:var(--gray-300)}.filters-toggle{border:1px solid var(--divider);background:var(--page-bg);font-family:var(--font-sans);color:var(--page-text);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;margin-left:auto;padding:.5rem 1rem;font-size:.78rem;font-weight:600;transition:transform .12s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.filters-toggle:active{transform:scale(.95)}.filters-toggle.is-open{background:var(--page-text);color:var(--page-bg);border-color:var(--page-text)}.filters-badge{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-left:.1rem;display:inline-block}.controls-drawer-wrapper{background:var(--page-bg);visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1),visibility .35s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden}.controls-drawer-wrapper.is-open{visibility:visible;grid-template-rows:1fr}.controls-bar.is-stuck .controls-drawer-wrapper{border-bottom:1px solid var(--divider);z-index:15;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px #0000001f}.controls-drawer-content{border-top:1px solid var(--divider);min-height:0}.controls-extra{max-width:var(--max-width);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1.5rem;margin:0 auto;padding:.75rem 1.5rem;display:flex}.control-group{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.control-label{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gray-500);font-size:.62rem;font-weight:700}.control-select-wrap{align-items:center;display:inline-flex;position:relative}.control-select{appearance:none;font-family:var(--font-sans);color:var(--page-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.4rem 1.4rem .4rem .55rem;font-size:.84rem;font-weight:600}.control-select:hover{background-color:var(--btn-hover-bg)}.control-select:focus{outline:2px solid var(--accent);outline-offset:1px}.control-chevron{color:var(--gray-500);pointer-events:none;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.clear-btn{font-family:var(--font-sans);color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:.4rem .2rem;font-size:.78rem;font-weight:600;text-decoration:underline}.clear-btn:hover{opacity:.8}.archive-main{max-width:var(--max-width);flex-direction:column;flex:1;gap:2.5rem;width:100%;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex}.section-rule{border-bottom:2px solid var(--page-text);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem;padding-bottom:.6rem;display:flex}.section-rule-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--page-text);margin:0;font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:700}.section-rule-count{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);font-size:.7rem;font-weight:700}.empty-state{text-align:center;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);padding:5rem 2rem 6rem}.empty-title{font-family:var(--font-serif);color:var(--page-text);margin:0 0 .5rem;font-size:1.7rem;font-weight:700}.empty-text{font-family:var(--font-serif);color:var(--gray-500);margin:0 0 1.5rem;font-style:italic}.empty-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);font-family:var(--font-sans);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;padding:.6rem 1.6rem;font-size:.82rem;font-weight:600;transition:opacity .15s}.empty-btn:hover{opacity:.9}.featured-link{color:inherit;text-decoration:none;display:block}.featured-card{border:1px solid var(--page-text);background:var(--page-bg);border-radius:4px;transition:transform .2s,box-shadow .2s;overflow:hidden}.featured-link:hover .featured-card{transform:translateY(-3px);box-shadow:0 14px 36px #0000001a}.featured-banner{background:var(--page-text);color:var(--page-bg);font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.75rem;font-size:.68rem;font-weight:700;display:flex}.featured-banner-date{opacity:.85;letter-spacing:.1em;font-weight:500}.featured-body{grid-template-columns:minmax(0,1.5fr) minmax(180px,1fr);align-items:center;gap:2.5rem;padding:2.25rem 2.5rem;display:grid}.featured-content{min-width:0}.featured-eyebrow{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 .7rem;font-size:.7rem;font-weight:700}.featured-title{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--page-text);margin:0 0 .85rem;font-size:clamp(1.8rem,3.6vw,2.85rem);font-weight:700;line-height:1.05}.featured-byline{font-family:var(--font-serif);color:var(--gray-500);margin:0 0 .6rem;font-size:1rem;font-style:italic;line-height:1.4}.byline-name{color:var(--page-text);font-style:normal;font-weight:600}.byline-divider{color:var(--gray-300);font-style:normal}.featured-meta-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.featured-meta{font-family:var(--font-sans);color:var(--gray-500);letter-spacing:.04em;font-size:.78rem;font-weight:500}.featured-meta-divider{color:var(--gray-300)}.featured-cta-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.featured-cta-text{font-family:var(--font-sans);letter-spacing:.04em;color:var(--page-text);align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;display:inline-flex}.featured-arrow{transition:transform .2s;display:inline-block}.featured-link:hover .featured-arrow{transform:translate(4px)}.featured-visual{justify-content:center;align-items:center;display:flex}.mini-grid-svg{border:1px solid var(--page-text);background:var(--grid-bg);width:100%;max-width:240px;height:auto;display:block}.puzzle-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.card-link{color:inherit;text-decoration:none;display:block}.puzzle-card{border:1px solid var(--divider);background:var(--page-bg);border-radius:4px;flex-direction:column;height:100%;padding:1.35rem 1.4rem 1.2rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.card-link:hover .puzzle-card{border-color:var(--page-text);transform:translateY(-2px);box-shadow:0 10px 26px #00000014}.card-top-bar{background:0 0;height:3px;position:absolute;top:0;left:0;right:0}.puzzle-card.status-completed .card-top-bar{background:var(--accent)}.puzzle-card.status-in-progress .card-top-bar{background:var(--cell-focus)}.card-header{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.7rem;display:flex}.card-date{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);font-size:.68rem;font-weight:700}.card-category{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--page-bg);background:var(--page-text);white-space:nowrap;border-radius:2px;padding:.25rem .55rem;font-size:.62rem;font-weight:800;transition:background .15s}.card-link:hover .card-category{background:var(--accent)}.card-type-badge{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;background:var(--page-bg);border:1px solid;border-radius:999px;padding:.25rem .6rem;font-size:.6rem;font-weight:800;transition:background .15s,color .15s}.card-type-badge.type-crossword{color:var(--accent)}.card-type-badge.type-connexions{color:#6f3f8a}.card-link:hover .card-type-badge{background:currentColor}.card-link:hover .card-type-badge.type-crossword{color:var(--page-bg);background:var(--accent)}.card-link:hover .card-type-badge.type-connexions{color:var(--page-bg);background:#6f3f8a}.mini-grid-svg--connexions{background:var(--page-bg);border:1px solid var(--divider);padding:.5rem}.card-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--page-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .4rem;font-size:1.35rem;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.card-byline{font-family:var(--font-serif);color:var(--gray-500);margin:0 0 .85rem;font-size:.88rem;font-style:italic;line-height:1.4}.card-meta-row{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:1rem;display:flex}.card-meta{font-family:var(--font-sans);color:var(--gray-500);letter-spacing:.03em;font-size:.72rem;font-weight:500}.card-meta-divider{color:var(--gray-300)}.card-footer{border-top:1px solid var(--gray-100);flex-direction:column;gap:.55rem;margin-top:auto;padding-top:.85rem;display:flex}.card-status-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-status-label{font-family:var(--font-sans);color:var(--page-text);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:inline-flex}.puzzle-card.status-completed .card-status-label{color:var(--accent)}.puzzle-card.status-in-progress .card-status-label{color:var(--page-text)}.puzzle-card.status-not-started .card-status-label{color:var(--gray-500)}.card-status-pct{font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--gray-500);font-size:.78rem;font-weight:700}.card-progress-track{background:var(--gray-100);border-radius:999px;height:3px;overflow:hidden}.card-progress-fill{background:var(--gray-300);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1) .25s}.card-progress-fill.status-completed{background:var(--accent)}.card-progress-fill.status-in-progress{background:var(--cell-focus)}.status-pill{font-family:var(--font-sans);letter-spacing:.05em;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.74rem;font-weight:700;display:inline-flex}.status-pill--lg{padding:.5rem 1.1rem;font-size:.8rem}.status-pill.status-completed{background:var(--accent);color:#fff}.status-pill.status-in-progress{background:var(--cell-focus);color:var(--page-text)}.status-pill.status-not-started{background:var(--page-text);color:var(--page-bg)}.archive-footer{border-top:1px solid var(--divider);text-align:center;font-family:var(--font-sans);color:var(--gray-300);letter-spacing:.08em;padding:1.5rem;font-size:.7rem}.archive-footer p{margin:0}@media (width<=1024px){.stats-inner{grid-template-columns:1fr;gap:1.5rem}.stats-progress{border-left:none;border-top:1px solid var(--divider);padding-top:1.25rem;padding-left:0}.featured-body{gap:2rem;padding:2rem}}@media (width<=820px){.stats-figures{grid-template-columns:repeat(3,1fr);gap:1rem 1.5rem}.stat-block:nth-child(4),.stat-block:nth-child(5){border-top:1px solid var(--divider);padding-top:1rem}.stat-block:nth-child(4){border-left:none;padding-left:0}}@media (width<=640px){.archive-page{--topbar-height:2.5rem}.topbar-inner{padding:.55rem 1rem}.topbar-date{letter-spacing:.1em;font-size:.62rem}.archive-masthead{padding:1.75rem 1rem 1.4rem}.masthead-eyebrow{letter-spacing:.2em;margin-bottom:.6rem;font-size:.6rem}.masthead-tagline{margin-top:.6rem;font-size:.95rem}.stats-inner{gap:1.25rem;padding:1.25rem 1rem 1.4rem}.stats-figures{grid-template-columns:repeat(2,1fr);gap:.9rem 1.25rem}.stat-block{border-top:none!important;border-left:none!important;padding-top:0!important;padding-left:0!important}.stat-block:nth-child(n+3){border-top:1px solid var(--divider)!important;padding-top:.85rem!important}.stat-value{font-size:1.4rem}.stat-mono{font-size:1.05rem}.controls-inner{flex-wrap:nowrap;gap:.55rem;padding:.6rem 1rem;transition:padding-bottom .55s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.controls-bar.search-active .controls-inner{padding-bottom:3.35rem}.control-search{flex:0 auto;width:calc(100% - 152px);max-width:calc(100% - 152px);transition:width .55s cubic-bezier(.16,1,.3,1),max-width .55s cubic-bezier(.16,1,.3,1),border-color .15s,box-shadow .15s}.controls-bar.search-active .control-search{flex:100%;width:100%;max-width:100%}.search-input{font-size:16px}.filters-toggle{justify-content:center;width:136px;margin-left:0;transition:transform .55s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);position:absolute;top:.6rem;right:1rem;transform:translate(0,0)}.controls-bar.search-active .filters-toggle{transform:translateY(2.75rem)}.controls-extra{flex-direction:column;align-items:stretch;gap:0;padding:.4rem 1rem}.control-group{border-bottom:1px solid var(--gray-100);cursor:default;justify-content:space-between;padding:.65rem .25rem}.control-group:last-child{border-bottom:none}.control-select{background-color:#0000;padding:.3rem 1.4rem .3rem .6rem;font-size:.85rem}.clear-btn{align-self:flex-end;padding:.85rem .25rem}.archive-main{gap:2rem;padding:1.5rem 1rem 3rem}.featured-body{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem 1.25rem}.featured-visual{order:-1}.mini-grid-svg{max-width:170px}.featured-banner{letter-spacing:.14em;flex-direction:row;gap:.5rem;padding:.5rem 1.1rem;font-size:.58rem}.featured-banner-date{letter-spacing:.08em;font-size:.55rem}.featured-title{font-size:1.7rem}.featured-byline{font-size:.92rem}.puzzle-grid{grid-template-columns:1fr;gap:.85rem}.puzzle-card{padding:1.1rem 1.15rem 1rem}.card-title{font-size:1.2rem}.card-header{margin-bottom:.55rem}.section-rule{padding-bottom:.5rem}}@keyframes extraSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.archive-nudge{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.archive-nudge-link{text-align:center;border:1px dashed var(--gray-200);border-radius:6px;padding:1.25rem 1.5rem;text-decoration:none;transition:border-color .2s,background .2s;display:block}.archive-nudge-link:hover{border-color:var(--gray-300);background:var(--btn-hover-bg)}.archive-nudge-text{font-family:var(--font-sans);letter-spacing:.03em;color:var(--gray-500);font-size:.78rem;font-weight:500;transition:color .2s}.archive-nudge-link:hover .archive-nudge-text{color:var(--page-text)}@media (width<=640px){.archive-nudge{padding:0 1rem}.archive-nudge-link{padding:1rem}.archive-nudge-text{font-size:.72rem}}@media (prefers-reduced-motion:reduce){.controls-drawer-wrapper{transition:none!important}}
/*$vite$:1*/