@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.uppercase{text-transform:uppercase}}:root{--paper:#f7f8f2;--ink:#173e38;--accent:#176957;--muted:#53655f;--line:#b2bfb2;--pale:#e9efdf;--cell-size:60px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6}button,input,summary{font:inherit}button,a,summary,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-underline-offset:4px}:focus-visible{outline-offset:4px;outline:3px solid #246bcd}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}h1{font-family:Georgia,Times New Roman,serif;font-weight:400}.site{flex-direction:column;min-height:100dvh;display:flex}.main-container{flex:1;width:min(1180px,100% - 64px);margin:0 auto;padding:56px 0 72px}.site-header{border-bottom:1px solid var(--line)}.header-inner{flex-wrap:wrap;align-items:center;gap:32px;width:min(1280px,100% - 64px);min-height:100px;margin:auto;padding:18px 0;display:flex}.brand{align-items:center;gap:10px;font-family:Georgia,Times New Roman,serif;font-size:30px;text-decoration:none;display:flex}.brand-mark{grid-template-rows:repeat(2,20px);grid-template-columns:repeat(2,20px);gap:1px;font:16px/20px Arial,sans-serif;display:grid}.brand-mark span{text-align:center;border:1px solid var(--ink);display:block}.brand-mark span:empty{background:var(--ink)}nav{flex:1;align-items:center;gap:24px;display:flex}nav a{border-bottom:2px solid #0000;padding:10px 0;font-size:17px;text-decoration:none}nav a[aria-current=page]{border-color:var(--accent);font-weight:700}.preferences{align-items:center;gap:12px;display:flex}.text-size,.saving-button{background:0 0;border:0;min-height:48px;padding:8px 10px;font-size:15px}.text-size[aria-pressed=true]{background:var(--pale)}.bigger-a{margin-right:4px;font-size:22px}.saving-button{border:1px solid var(--ink);border-radius:7px;padding:8px 14px;font-weight:700}.site-footer{border-top:1px solid var(--line);width:min(1180px,100% - 64px);color:var(--muted);justify-content:space-between;gap:20px;margin:auto;padding:24px 0 32px;font-size:15px;display:flex}.skip-link{z-index:20;background:#fff;padding:12px;position:absolute;top:0;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:none}.intro{justify-content:space-between;align-items:center;gap:50px;margin-bottom:48px;display:flex}.intro h1{letter-spacing:-1.8px;margin-bottom:20px;font-size:clamp(42px,5.5vw,70px)}.intro-description{max-width:620px;color:var(--muted);font-size:21px;line-height:1.65}.level-section h2{margin-bottom:20px;font-size:22px;font-weight:600}.level-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.level-buttons button{text-align:left;border:1px solid var(--line);background:0 0;border-radius:8px;min-height:115px;padding:20px;position:relative}.level-buttons button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.level-buttons button>span:first-child{margin-bottom:6px;padding-right:62px;font-size:24px;font-weight:700;display:block}.level-buttons small{font-size:16px;display:block}.level-indicator{letter-spacing:1px;font-size:11px;position:absolute;top:23px;right:18px}.collection{margin-top:40px}.collection-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;display:flex}.collection-heading h2{font-size:26px;font-weight:600}.collection-heading>span{color:var(--muted);font-size:16px}.puzzle-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.puzzle-card{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.puzzle-card-link{color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.puzzle-card-link:focus-visible{outline-offset:-3px;border-radius:9px}.card-top{justify-content:space-between;align-items:center;min-height:47px;padding:20px 22px 0;display:flex}.solved-badge{color:var(--accent);font-size:14px;font-weight:700}.card-body{flex:1;align-items:center;gap:14px;padding:22px;display:flex}.card-body>div:first-child{flex:1}.card-meta{color:var(--muted);margin-bottom:8px;font-size:14px}.puzzle-card h3{font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.3}.puzzle-preview{opacity:.9;background:#d0d9cd;border:1px solid #d0d9cd;flex-shrink:0;gap:1px;width:62px;display:grid}.puzzle-preview span{background:#fff}.puzzle-preview .preview-block{background:var(--ink)}.card-link{min-height:54px;color:var(--accent);background:#f5f8f0;border-top:1px solid #dce2d7;justify-content:space-between;align-items:center;padding:13px 22px;font-weight:700;text-decoration:none;display:flex}.puzzle-card-link:hover .card-link,.puzzle-card-link:focus-visible .card-link{background:var(--pale)}.gentle-note,.storage-notice{background:var(--pale);border-left:3px solid var(--accent);margin:18px 0;padding:18px;font-size:17px}.storage-notice{width:min(1180px,100% - 32px);margin:20px auto 0}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:10px;padding:50px 20px}.empty-state>span{font-size:36px}.empty-state h3{margin:15px 0;font:30px Georgia,serif}.empty-state p{margin-bottom:20px}.button{border:1px solid var(--accent);border-radius:7px;justify-content:center;align-items:center;min-height:48px;padding:10px 18px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}.primary{background:var(--accent);color:#fff}.secondary{color:var(--ink);border-color:var(--line);background:#fff}.danger{color:#fff;background:#8d2e28;border-color:#8d2e28}.button:not(:disabled):hover{filter:brightness(.94)}.back-link{color:var(--accent);margin-bottom:12px;padding:6px 0;font-size:17px;text-decoration:none;display:inline-block}.solve-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.solve-heading h1{margin-bottom:8px;font-size:42px}.solve-heading p{color:var(--muted);font-size:17px}.solve-progress{color:var(--muted);flex-direction:column;gap:8px;min-width:140px;font-size:16px;display:flex}progress{width:160px;height:6px;accent-color:var(--accent);border:0;border-radius:6px;overflow:hidden}progress::-webkit-progress-bar{background:#dfe6d8}progress::-webkit-progress-value{background:var(--accent)}.solve-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:42px;display:grid}.solve-workspace{flex-direction:column;min-width:0;display:flex}.active-clue{background:var(--pale);border-left:4px solid var(--accent);margin-bottom:24px;padding:20px 22px}.active-clue-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:15px;display:flex}.active-clue-meta>span{font-weight:700}.active-clue-meta button{border:1px solid var(--line);background:0 0;border-radius:5px;min-height:44px;padding:8px;font-size:14px}.active-clue p{margin-top:10px;font-size:22px;line-height:1.5}.grid-scroll{width:100%;margin:-6px 0 18px;padding:6px;overflow:auto}.crossword-grid{border:2px solid var(--ink);background:var(--ink);flex-direction:column;gap:1px;display:inline-flex}.grid-row{gap:1px;display:grid}.grid-block{width:var(--cell-size);height:var(--cell-size)}.grid-cell{width:var(--cell-size);height:var(--cell-size);color:var(--ink);text-align:center;background:#fff;border:0;padding:8px 0 0;font-size:24px;font-weight:700;line-height:1;position:relative}.cell-number{font-size:10px;font-weight:400;position:absolute;top:3px;left:3px}.word-selected{background:#e1edcf}.cell-active{box-shadow:inset 0 0 0 3px var(--ink);background:#badc99}.cell-wrong{color:#8d2e28;box-shadow:inset 0 0 0 2px #8d2e28}.cell-assist{font-size:22px;position:absolute;bottom:-1px;right:4px}.cell-error-symbol{font-size:11px;position:absolute;top:2px;right:3px}.mobile-word-entry{order:1;margin-top:8px}.active-clue{order:-2}.grid-scroll{order:-1}.clue-navigation,.game-actions{flex-wrap:wrap;gap:10px;display:flex}.clue-navigation{order:2;justify-content:space-between;margin:22px 0 16px}.game-actions{order:3}.game-status{min-height:50px;color:var(--muted);order:4;padding:14px 0 6px;font-size:17px}.more-actions{order:5;margin:10px 0}.more-actions>div{flex-wrap:wrap;gap:10px;padding:15px 0;display:flex}summary{cursor:pointer;min-height:48px;padding:12px 30px 12px 0;font-weight:700;list-style:none;position:relative}summary::-webkit-details-marker{display:none}.details-chevron{line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}details[open]>summary .details-chevron{transform:translateY(-50%)rotate(180deg)}.grid-help{color:var(--muted);order:6;margin-top:12px;font-size:15px}.word-entry label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:17px;font-weight:700;display:flex}.word-pattern{letter-spacing:4px;overflow-wrap:anywhere;font-family:monospace;font-size:23px}.input-row{gap:10px;display:flex}.input-row input{width:100%;min-width:0;min-height:54px;color:var(--ink);text-transform:uppercase;background:#fff;border:1px solid #788e80;border-radius:7px;flex:1;padding:10px 14px;font-size:23px}.input-hint{color:var(--muted);margin:8px 0;font-size:15px}.input-error{color:#8d2e28;margin-top:8px;font-size:17px}.clue-lists{border:1px solid var(--line);background:#fff;border-radius:9px;align-self:start;min-width:0}.clue-section{padding:8px 20px 12px}.clue-section+details{border-top:1px solid var(--line)}.clue-section summary{padding-right:35px;font-size:23px}.clue-section ol{margin:4px -10px 0;padding:0;list-style:none}.clue-section button{text-align:left;background:0 0;border:0;border-radius:6px;align-items:start;gap:12px;width:100%;padding:14px 12px;font-size:20px;line-height:1.5;display:flex}.clue-section button:hover{background:#f3f7eb}.clue-section button.selected-clue{background:var(--pale);box-shadow:inset 3px 0 0 var(--accent)}.clue-number{min-width:22px;font-weight:700}.clue-section small{color:var(--muted);white-space:nowrap;font-size:15px}.completion{background:var(--pale);border:1px solid var(--accent);border-radius:8px;gap:20px;margin-bottom:24px;padding:24px;display:flex}.completion>span{font-size:34px}.completion h2{margin-bottom:8px;font-size:25px}.completion a{padding:8px 0;font-weight:700;display:inline-block}.confirmation{border:1px solid var(--line);background:var(--paper);max-width:min(560px,100% - 32px);color:var(--ink);border-radius:12px;margin:auto;padding:30px}.confirmation::backdrop{background:#0c241e80}.confirmation h2{margin-bottom:15px;font:30px Georgia,serif}.confirmation p{margin-bottom:24px}.dialog-actions{flex-wrap:wrap;gap:12px;display:flex}.prose{max-width:740px;margin:auto;font-size:20px}.prose h1{margin:10px 0 24px;font-size:48px}.prose .lead{color:var(--muted);font-size:24px}.prose h2{margin:32px 0 12px;font-size:27px}.prose p{margin-bottom:20px}.large-text .intro-description,.large-text .active-clue p,.large-text .clue-section button,.large-text .prose{font-size:24px}.large-text .button,.large-text .input-hint,.large-text .grid-help,.large-text .game-status{font-size:20px}.large-text nav a,.large-text .card-meta{font-size:19px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1100px){.header-inner{gap:20px}nav{gap:16px}.preferences{gap:6px}.text-size{font-size:14px}.solve-layout{gap:24px}}@media (max-width:959px){:root{--cell-size:40px}.header-inner{gap:14px}.brand{font-size:27px}nav{flex-basis:100%;order:2;justify-content:space-between}.preferences{margin-left:auto}.solve-layout{grid-template-columns:1fr}.solve-workspace,.clue-lists{max-width:700px}.mobile-word-entry{order:-1;margin:0 0 22px}.grid-scroll{order:1}.active-clue{margin-bottom:18px}.puzzle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){:root{--cell-size:36px}.header-inner,.main-container,.site-footer{width:calc(100% - 32px)}.header-inner{padding:14px 0}.main-container{padding:32px 0 44px}.brand{font-size:25px}.preferences{gap:2px}.saving-button{padding:8px;font-size:13px}.text-size{min-width:44px;padding:6px;font-size:0}.text-size>span{font-size:18px}nav{gap:8px}nav a{font-size:15px}.intro{gap:16px;margin-bottom:32px}.intro h1{letter-spacing:-1px;font-size:46px}.intro-description{font-size:19px}.level-buttons{grid-template-columns:1fr;gap:10px}.level-buttons button{min-height:88px;padding:15px 18px}.level-buttons button>span:first-child{font-size:21px}.level-buttons small{font-size:15px}.level-indicator{top:20px}.collection{margin-top:30px}.collection-heading{flex-wrap:wrap;gap:5px}.collection-heading h2{font-size:25px}.puzzle-cards{grid-template-columns:1fr;gap:14px}.card-body{padding:16px 20px}.card-top{padding:15px 20px 0}.site-footer{flex-direction:column;gap:10px}.solve-heading{flex-direction:column;align-items:start;gap:16px}.solve-heading h1{font-size:36px}.solve-progress{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.active-clue{padding:16px}.active-clue p{font-size:21px}.active-clue-meta{font-size:14px}.input-row .button{padding:10px 12px;font-size:16px}.word-pattern{letter-spacing:2px}.clue-navigation .button{padding:10px;font-size:16px}.game-actions{gap:8px}.game-actions .button{padding:10px 12px;font-size:16px}.clue-section{padding:8px 16px}.clue-section button{font-size:20px}.confirmation{padding:22px}.dialog-actions{flex-direction:column}.completion{gap:12px;padding:18px}.completion h2{font-size:23px}.prose h1{font-size:40px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media (forced-colors:active){.brand-mark span:empty,.grid-block,.preview-block{forced-color-adjust:none;background:canvastext}.grid-cell,.grid-block{border:1px solid canvastext}.cell-active{outline-offset:-3px;outline:3px solid highlight}.word-selected{border:2px solid highlight}.cell-wrong{outline-offset:-4px;outline:2px dashed canvastext}.level-buttons button[aria-pressed=true],.selected-clue{outline:2px solid highlight}.button,.saving-button,.clue-lists,.puzzle-card{border:1px solid buttontext}}
