.navSectionHeader,.menuSectionHeader{padding:12px 16px;color:var(--faint);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:8px}.navSection,.menuSection{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 16px;color:var(--text);font-size:14px;font-weight:500;background:transparent;border:none;cursor:pointer;border-radius:8px;transition:background .2s,color .2s;text-align:left}.navSection:hover,.menuSection:hover{background:var(--card2)}.navSectionExpanded,.menuSectionExpanded{color:var(--text)}.navChevron,.menuChevron{transition:transform .2s ease;flex-shrink:0}.navChevronExpanded,.menuChevronExpanded{transform:rotate(90deg)}.navChildrenStatic,.menuChildrenStatic,.navGroup,.menuGroup{display:flex;flex-direction:column}.navLink,.menuLink{display:block;padding:12px 16px;color:var(--text);text-decoration:none;border-radius:8px;transition:background .2s;font-weight:500}.navLink:hover,.menuLink:hover{background:var(--card2);text-decoration:none}.navLinkActive,.menuLinkActive{background:var(--card2);color:var(--primary)}.hamburger{width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:var(--card);border:1px solid var(--stroke);cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:all .16s ease}.hamburger:hover{border-color:color-mix(in srgb,var(--blue) 40%,transparent)}.hamburgerLine{width:20px;height:2px;background:var(--heading-color);border-radius:2px;transition:all .3s ease}.hamburgerLine.open:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburgerLine.open:nth-child(2){opacity:0}.hamburgerLine.open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menuContainer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;isolation:isolate}.menuOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1;animation:fadeIn .2s ease}.menuPanel{position:fixed;top:0;left:0;width:min(280px,80vw);height:100vh;background-color:var(--bg0);border-right:1px solid var(--stroke);z-index:2;padding:24px;overflow-y:auto;animation:slideIn .3s ease;box-shadow:4px 0 24px #000c}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sideNav{display:none}.highContrastMessage{text-align:center;padding:.5rem}.highContrastMessage h2{margin:0 0 .75rem;font-size:1.5rem;color:var(--heading-color)}.highContrastMessage p{margin:0 0 1rem;color:var(--muted);line-height:1.5}.highContrastMessage__image{display:block;max-width:100%;max-height:280px;width:auto;height:auto;margin:0 auto 1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;object-fit:contain}.highContrastMessage__comparison{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem}.highContrastMessage__comparisonItem{display:flex;flex-direction:column;align-items:center;gap:.5rem}.highContrastMessage__comparisonImage{width:140px;height:auto;border-radius:4px;box-shadow:0 2px 8px #00000026}.highContrastMessage__comparisonLabel{font-size:.75rem;font-weight:500;color:var(--muted)}.highContrastMessage__buttons{display:flex;gap:.75rem;justify-content:center}.highContrastMessage__button{padding:.625rem 1.5rem;border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.highContrastMessage__button:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.highContrastMessage__button:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.highContrastMessage__button:focus-visible{outline:2px solid rgba(139,109,76,.5);outline-offset:2px}.highContrastMessage__button--secondary{background:#8b6d4c1a}.highContrastMessage__button--secondary:hover{background:#8b6d4c33}[data-theme=high-contrast-light] .highContrastMessage__button,[data-theme=high-contrast-dark] .highContrastMessage__button{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .highContrastMessage__button:hover,[data-theme=high-contrast-dark] .highContrastMessage__button:hover{border-color:var(--green);background:var(--card2);box-shadow:none}[data-theme=high-contrast-light] .highContrastMessage__button--secondary,[data-theme=high-contrast-dark] .highContrastMessage__button--secondary{background:var(--card2)}[data-theme=high-contrast-light] .highContrastMessage__button--secondary:hover,[data-theme=high-contrast-dark] .highContrastMessage__button--secondary:hover{background:var(--bg2)}[data-theme=dark] .highContrastMessage h2{color:#5c4a3a}[data-theme=dark] .highContrastMessage p,[data-theme=dark] .highContrastMessage__comparisonLabel{color:#6b5344}.messageModal{max-width:400px;width:90%;overflow:visible}.messageModal__scrollable{max-height:calc(90vh - 2rem);overflow-y:auto;padding:1.5rem 1.5rem 1rem;position:relative;z-index:1}.messageModal__content{display:flex;flex-direction:column;gap:1rem}.messageModal__pagination{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem;position:relative}.messageModal__dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--stroke);cursor:pointer;padding:0;transition:background .2s}.messageModal__dot:hover{background:var(--muted)}.messageModal__dot--active{background:var(--green)}.messageModal__dot:focus-visible{outline:2px solid var(--green);outline-offset:2px}.messageModal__progress{text-align:center;font-size:.75rem;color:var(--muted)}[data-theme=dark] .messageModal__progress{color:#6b5344}[data-theme=dark] .messageModal__dot{background:#8b6d4c4d}[data-theme=dark] .messageModal__dot:hover{background:#8b6d4c80}[data-theme=dark] .messageModal__dot--active{background:#2d8a5e}.difficultyModalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--gap-lg);animation:fadeIn .2s ease;cursor:pointer}.difficultyModalContent{background-color:var(--content-card-bg);border:1px solid rgba(139,109,76,.4);border-radius:3px;padding:2rem;max-width:500px;width:100%;position:relative;box-shadow:4px 6px 16px #00000080,8px 14px 40px #0006;animation:slideUp .25s ease;cursor:default}.difficultyModalContent:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.difficultyModalHeader{text-align:center;margin-bottom:1.5rem;position:relative;z-index:1}.difficultyModalTitle{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:#3d2a1e;margin:0 0 .5rem;text-transform:capitalize}.difficultyModalSubtitle{font-size:1rem;color:#6b5344;margin:0}.difficultyButtonGrid{display:flex;flex-direction:column;gap:var(--gap-md);margin-bottom:1.5rem;position:relative;z-index:1}.difficultyModalButton{width:100%;min-height:72px;padding:var(--gap-md) var(--gap-lg);border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;cursor:pointer;transition:all .15s ease;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:4px var(--gap-md);align-items:center;text-align:left}.difficultyModalButton:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.difficultyModalButton:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.difficultyModalButton:focus-visible{outline:2px solid #6b5344;outline-offset:2px}.difficultyModalButtonNumber{grid-row:1 / 3;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:3px;background:#8b6d4c26;color:#5c4a3a;font-family:var(--font-heading);font-size:18px;font-weight:400}.difficultyModalButtonLabel{font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:#3d2a1e;text-transform:capitalize}.difficultyModalButtonDesc{grid-column:2;font-size:.875rem;color:#6b5344}.difficultyModalFooter{text-align:center;padding-top:var(--gap-md);border-top:1px solid rgba(139,109,76,.25);position:relative;z-index:1}.difficultyModalActions{display:flex;justify-content:center;gap:var(--gap-md);margin-bottom:var(--gap-md)}.difficultyModalActionButton{padding:var(--gap-sm) var(--gap-lg);border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-heading);font-size:.875rem;font-weight:400;cursor:pointer;transition:all .15s ease;text-decoration:none}.difficultyModalActionButton:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026;text-decoration:none}.difficultyModalActionButton:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.difficultyModalActionButton:focus-visible{outline:2px solid #6b5344;outline-offset:2px}.difficultyModalHint{font-size:.8125rem;color:#6b5344;margin:0;opacity:.8}@media (max-width: 600px){.difficultyModalOverlay{padding:var(--gap-md)}.difficultyModalContent{padding:1.5rem}.difficultyModalTitle{font-size:1.75rem}.difficultyModalButton{min-height:64px;padding:var(--gap-sm) var(--gap-md)}.difficultyModalButtonNumber{width:36px;height:36px;font-size:16px}.difficultyModalButtonLabel{font-size:1.125rem}.difficultyModalButtonDesc{font-size:.8125rem}.difficultyModalHint{display:none}}@media (max-width: 400px){.difficultyModalButton{grid-template-columns:32px 1fr;gap:4px var(--gap-sm);min-height:56px}.difficultyModalButtonNumber{width:32px;height:32px;font-size:14px}.difficultyModalButtonLabel{font-size:1rem}.difficultyModalButtonDesc{font-size:.75rem}}[data-theme=high-contrast-light] .difficultyModalOverlay,[data-theme=high-contrast-dark] .difficultyModalOverlay{background:#000000b3;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=high-contrast-light] .difficultyModalContent,[data-theme=high-contrast-dark] .difficultyModalContent{background-color:var(--content-card-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .difficultyModalContent:before,[data-theme=high-contrast-dark] .difficultyModalContent:before{display:none}[data-theme=high-contrast-light] .difficultyModalTitle,[data-theme=high-contrast-dark] .difficultyModalTitle{color:var(--heading-color)}[data-theme=high-contrast-light] .difficultyModalSubtitle,[data-theme=high-contrast-dark] .difficultyModalSubtitle{color:var(--muted)}[data-theme=high-contrast-light] .difficultyModalButton,[data-theme=high-contrast-dark] .difficultyModalButton{border:2px solid var(--stroke);background:var(--card);box-shadow:none}[data-theme=high-contrast-light] .difficultyModalButton:hover,[data-theme=high-contrast-dark] .difficultyModalButton:hover{border-color:var(--green);background:var(--card2);box-shadow:none;transform:none}[data-theme=high-contrast-light] .difficultyModalButton:focus-visible,[data-theme=high-contrast-dark] .difficultyModalButton:focus-visible{outline:2px solid var(--green);outline-offset:2px}[data-theme=high-contrast-light] .difficultyModalButtonNumber,[data-theme=high-contrast-dark] .difficultyModalButtonNumber{background:var(--bg2);color:var(--text)}[data-theme=high-contrast-light] .difficultyModalButtonLabel,[data-theme=high-contrast-dark] .difficultyModalButtonLabel{color:var(--heading-color)}[data-theme=high-contrast-light] .difficultyModalButtonDesc,[data-theme=high-contrast-dark] .difficultyModalButtonDesc{color:var(--muted)}[data-theme=high-contrast-light] .difficultyModalFooter,[data-theme=high-contrast-dark] .difficultyModalFooter{border-top-color:var(--stroke)}[data-theme=high-contrast-light] .difficultyModalActionButton,[data-theme=high-contrast-dark] .difficultyModalActionButton{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .difficultyModalActionButton:hover,[data-theme=high-contrast-dark] .difficultyModalActionButton:hover{border-color:var(--blue);background:var(--card2);box-shadow:none;transform:none}[data-theme=high-contrast-light] .difficultyModalActionButton:focus-visible,[data-theme=high-contrast-dark] .difficultyModalActionButton:focus-visible{outline:2px solid var(--green);outline-offset:2px}[data-theme=high-contrast-light] .difficultyModalHint,[data-theme=high-contrast-dark] .difficultyModalHint{color:var(--muted)}.sudokuInstructionsOverlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--gap-lg);animation:fadeIn .2s ease;overflow-y:auto}.sudokuInstructionsContent{background-color:var(--content-card-bg);border:1px solid rgba(139,109,76,.4);border-radius:3px;padding:2rem;max-width:700px;width:100%;position:relative;box-shadow:4px 6px 16px #00000080,8px 14px 40px #0006;animation:slideUp .25s ease;margin:var(--gap-lg) 0}.sudokuInstructionsContent:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.sudokuInstructionsHeader{text-align:center;margin-bottom:1.5rem;position:relative;z-index:1}.sudokuInstructionsTitle{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:#3d2a1e;margin:0}.sudokuInstructionsBody{max-height:60vh;overflow-y:auto;margin-bottom:1.5rem;padding-right:var(--gap-sm);position:relative;z-index:1}.sudokuInstructionsFooter{text-align:center;padding-top:var(--gap-md);border-top:1px solid rgba(139,109,76,.25);position:relative;z-index:1}.sudokuInstructionsBackButton{padding:var(--gap-sm) var(--gap-xl);border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-heading);font-size:1rem;font-weight:400;cursor:pointer;transition:all .15s ease;min-width:200px}.sudokuInstructionsBackButton:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.sudokuInstructionsBackButton:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.sudokuInstructionsBackButton:focus-visible{outline:2px solid #6b5344;outline-offset:2px}@media (max-width: 600px){.sudokuInstructionsOverlay{padding:var(--gap-md)}.sudokuInstructionsContent{padding:1.5rem;margin:var(--gap-md) 0}.sudokuInstructionsTitle{font-size:1.75rem}.sudokuInstructionsBody{max-height:55vh}.instructionSection h3{font-size:1.125rem}.instructionSection p,.instructionSection li{font-size:.9375rem}.sudokuInstructionsBackButton{width:100%;min-width:auto}}@media (max-width: 400px){.sudokuInstructionsContent{padding:1rem}.sudokuInstructionsTitle{font-size:1.5rem}.instructionSection h3{font-size:1rem}.instructionSection p,.instructionSection li{font-size:.875rem}}[data-theme=high-contrast-light] .sudokuInstructionsOverlay,[data-theme=high-contrast-dark] .sudokuInstructionsOverlay{background:#000000b3;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=high-contrast-light] .sudokuInstructionsContent,[data-theme=high-contrast-dark] .sudokuInstructionsContent{background-color:var(--content-card-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .sudokuInstructionsContent:before,[data-theme=high-contrast-dark] .sudokuInstructionsContent:before{display:none}[data-theme=high-contrast-light] .sudokuInstructionsTitle,[data-theme=high-contrast-dark] .sudokuInstructionsTitle,[data-theme=high-contrast-light] .instructionSection h3,[data-theme=high-contrast-dark] .instructionSection h3{color:var(--heading-color)}[data-theme=high-contrast-light] .instructionSection p,[data-theme=high-contrast-dark] .instructionSection p,[data-theme=high-contrast-light] .instructionSection li,[data-theme=high-contrast-dark] .instructionSection li{color:var(--text)}[data-theme=high-contrast-light] .instructionSection li strong,[data-theme=high-contrast-dark] .instructionSection li strong{color:var(--heading-color)}[data-theme=high-contrast-light] .sudokuInstructionsFooter,[data-theme=high-contrast-dark] .sudokuInstructionsFooter{border-top-color:var(--stroke)}[data-theme=high-contrast-light] .sudokuInstructionsBackButton,[data-theme=high-contrast-dark] .sudokuInstructionsBackButton{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .sudokuInstructionsBackButton:hover,[data-theme=high-contrast-dark] .sudokuInstructionsBackButton:hover{border-color:var(--green);background:var(--card2);box-shadow:none;transform:none}[data-theme=high-contrast-light] .sudokuInstructionsBackButton:focus-visible,[data-theme=high-contrast-dark] .sudokuInstructionsBackButton:focus-visible{outline:2px solid var(--green);outline-offset:2px}.futoshikiInstructionsOverlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--gap-lg);animation:fadeIn .2s ease;overflow-y:auto}.futoshikiInstructionsContent{background-color:var(--content-card-bg);border:1px solid rgba(139,109,76,.4);border-radius:3px;padding:2rem;max-width:700px;width:100%;position:relative;box-shadow:4px 6px 16px #00000080,8px 14px 40px #0006;animation:slideUp .25s ease;margin:var(--gap-lg) 0}.futoshikiInstructionsContent:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.futoshikiInstructionsHeader{text-align:center;margin-bottom:1.5rem;position:relative;z-index:1}.futoshikiInstructionsTitle{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:#3d2a1e;margin:0}.futoshikiInstructionsBody{max-height:60vh;overflow-y:auto;margin-bottom:1.5rem;padding-right:var(--gap-sm);position:relative;z-index:1}.instructionSection{margin-bottom:1.5rem}.instructionSection:last-child{margin-bottom:0}.instructionSection h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:#3d2a1e;margin:0 0 .75rem}.instructionSection p{font-size:1rem;line-height:1.6;color:#6b5344;margin:0}.instructionSection ul,.instructionSection ol{margin:0;padding-left:1.5rem}.instructionSection li{font-size:1rem;line-height:1.6;color:#6b5344;margin-bottom:.5rem}.instructionSection li:last-child{margin-bottom:0}.instructionSection li strong{color:#3d2a1e}.futoshikiInstructionsFooter{text-align:center;padding-top:var(--gap-md);border-top:1px solid rgba(139,109,76,.25);position:relative;z-index:1}.futoshikiInstructionsBackButton{padding:var(--gap-sm) var(--gap-xl);border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-heading);font-size:1rem;font-weight:400;cursor:pointer;transition:all .15s ease;min-width:200px}.futoshikiInstructionsBackButton:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.futoshikiInstructionsBackButton:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.futoshikiInstructionsBackButton:focus-visible{outline:2px solid #6b5344;outline-offset:2px}@media (max-width: 600px){.futoshikiInstructionsOverlay{padding:var(--gap-md)}.futoshikiInstructionsContent{padding:1.5rem;margin:var(--gap-md) 0}.futoshikiInstructionsTitle{font-size:1.75rem}.futoshikiInstructionsBody{max-height:55vh}.instructionSection h3{font-size:1.125rem}.instructionSection p,.instructionSection li{font-size:.9375rem}.futoshikiInstructionsBackButton{width:100%;min-width:auto}}@media (max-width: 400px){.futoshikiInstructionsContent{padding:1rem}.futoshikiInstructionsTitle{font-size:1.5rem}.instructionSection h3{font-size:1rem}.instructionSection p,.instructionSection li{font-size:.875rem}}[data-theme=high-contrast-light] .futoshikiInstructionsOverlay,[data-theme=high-contrast-dark] .futoshikiInstructionsOverlay{background:#000000b3;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=high-contrast-light] .futoshikiInstructionsContent,[data-theme=high-contrast-dark] .futoshikiInstructionsContent{background-color:var(--content-card-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .futoshikiInstructionsContent:before,[data-theme=high-contrast-dark] .futoshikiInstructionsContent:before{display:none}[data-theme=high-contrast-light] .futoshikiInstructionsTitle,[data-theme=high-contrast-dark] .futoshikiInstructionsTitle,[data-theme=high-contrast-light] .futoshikiInstructionsBody .instructionSection h3,[data-theme=high-contrast-dark] .futoshikiInstructionsBody .instructionSection h3{color:var(--heading-color)}[data-theme=high-contrast-light] .futoshikiInstructionsBody .instructionSection p,[data-theme=high-contrast-dark] .futoshikiInstructionsBody .instructionSection p,[data-theme=high-contrast-light] .futoshikiInstructionsBody .instructionSection li,[data-theme=high-contrast-dark] .futoshikiInstructionsBody .instructionSection li{color:var(--text)}[data-theme=high-contrast-light] .futoshikiInstructionsBody .instructionSection li strong,[data-theme=high-contrast-dark] .futoshikiInstructionsBody .instructionSection li strong{color:var(--heading-color)}[data-theme=high-contrast-light] .futoshikiInstructionsFooter,[data-theme=high-contrast-dark] .futoshikiInstructionsFooter{border-top-color:var(--stroke)}[data-theme=high-contrast-light] .futoshikiInstructionsBackButton,[data-theme=high-contrast-dark] .futoshikiInstructionsBackButton{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .futoshikiInstructionsBackButton:hover,[data-theme=high-contrast-dark] .futoshikiInstructionsBackButton:hover{border-color:var(--green);background:var(--card2);box-shadow:none;transform:none}[data-theme=high-contrast-light] .futoshikiInstructionsBackButton:focus-visible,[data-theme=high-contrast-dark] .futoshikiInstructionsBackButton:focus-visible{outline:2px solid var(--green);outline-offset:2px}.homeHeader{text-align:center;padding:8px 16px 0}.homeSiteTitle{font-family:var(--font-heading);font-size:28px;font-weight:400;color:var(--heading-color);margin:0 0 16px}.homeDivider{display:block;width:100%;max-width:700px;height:24px;margin:0 auto 4px;opacity:var(--divider-opacity);filter:invert(65%) sepia(12%) saturate(400%) hue-rotate(354deg) brightness(103%) contrast(92%)}.homeDividerWide{display:block;width:100%;max-width:950px;height:24px;margin:0 auto 8px;opacity:var(--divider-opacity);transform:scaleY(-1);filter:invert(65%) sepia(12%) saturate(400%) hue-rotate(354deg) brightness(103%) contrast(92%)}.homeSectionTitle{font-family:var(--font-heading);font-size:27px;font-weight:400;color:var(--subheading-color);margin:0 0 4px}.homeSection{display:flex;flex-direction:column;align-items:center;padding:32px 0}.homeGrid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;width:100%;max-width:1064px;margin:0 auto}.homeGrid>.cardWrapper{flex:1 1 0;max-width:520px;min-width:350px}.cardWrapper{background-color:var(--card-wrapper-bg);border-radius:3px;padding:6px;position:relative;box-shadow:3px 4px 12px #00000080,6px 10px 30px #0006}.cardWrapper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.25;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.gameCard{border:1px solid var(--paper-card-border);background-color:var(--paper-card-bg);border-radius:3px;padding:20px 24px;position:relative;height:100%;display:flex;flex-direction:column;box-sizing:border-box;box-shadow:2px 3px 6px #00000040,4px 6px 14px #0000002e}.gameCard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.newStamp{position:absolute;top:-8px;left:-10px;color:#b71c1c;font-family:"Impact","Arial Black",var(--font-heading);font-size:15px;font-weight:400;letter-spacing:2px;padding:3px 8px;transform:rotate(-12deg);z-index:10;text-transform:uppercase;background:transparent;border:2px solid #b71c1c;border-radius:3px;box-shadow:inset 0 0 0 1px #b71c1c;-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 12 -4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 12 -4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.cardBody{display:flex;gap:16px;align-items:flex-start;position:relative;z-index:1;flex:1}.cardContent{flex:1;min-width:0}.gameCard .gameTitle{font-family:var(--font-heading);font-weight:400;font-size:22px;color:#3d2a1e;margin-bottom:8px}.gameDesc{font-size:14px;color:#49392e;line-height:1.6;margin-bottom:12px}.miniGrid{display:grid;grid-template-columns:repeat(3,1fr);width:100px;height:100px;flex-shrink:0;border:1px solid var(--mini-grid-border);background:var(--mini-grid-bg)}.miniCell{display:flex;align-items:center;justify-content:center;border:1px solid var(--mini-cell-border);font-family:var(--font-heading);font-size:18px;color:#3d2a1e}.miniCell.given{background:var(--cell-given-bg);color:var(--cell-given-color)}.miniFutoshikiGrid{display:grid;grid-template-columns:28px 8px 28px 8px 28px;grid-template-rows:28px 8px 28px 8px 28px;width:100px;height:100px;flex-shrink:0;overflow:visible}.miniFutoshikiCell{display:flex;align-items:center;justify-content:center;border:1px solid var(--mini-cell-border);border-radius:2px;background:var(--mini-grid-bg);font-family:var(--font-heading);font-size:13px;color:#3d2a1e;min-width:0;min-height:0}.miniFutoshikiCell.given{background:var(--cell-given-bg);color:var(--cell-given-color)}.miniInequality{display:flex;align-items:center;justify-content:center;color:var(--cell-given-color);overflow:visible}.miniInequality svg{width:10px;height:10px;min-width:10px;min-height:10px;flex-shrink:0}.miniCryptogramGrid{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.miniCryptogramWord{display:flex;gap:2px}.miniCryptogramCell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:23px;padding:3px 1px;border:1px solid var(--mini-cell-border);border-radius:2px;background:var(--mini-grid-bg);gap:1px}.miniCryptogramGuess{font-family:var(--font-heading);font-size:13px;font-weight:500;color:#3d2a1e;line-height:1.2}.miniCryptogramCipher{font-family:var(--font-heading);font-size:8px;font-weight:700;color:#3d2a1e99;line-height:1}.miniCryptogramPunctuation{font-family:var(--font-heading);font-size:13px;font-weight:500;color:#3d2a1e;align-self:flex-start;padding-top:3px}.miniCryptogramSpace{width:8px}.cardFooter{display:flex;justify-content:space-between;align-items:center;padding-top:12px;margin-top:12px;border-top:1px solid rgba(139,109,76,.25);position:relative;z-index:1}.cardFooter .tagText{font-family:var(--font-heading);font-size:14px;color:#6b5344}.cardContent .tagText{display:none}.playLink{font-family:var(--font-heading);font-size:16px;color:#3d2a1e;text-decoration:none!important;font-weight:400;background:none;border:none;padding:0;cursor:pointer}.playLink:hover .playLinkText{text-decoration:underline}@media (max-width: 900px){.homeGrid{max-width:500px}.homeSection{padding:16px 0}}@media (max-width: 640px){.newStamp{top:-6px;left:-8px;font-size:12px;padding:2px 6px;letter-spacing:1px}.homeSectionTitle{font-size:22px}.homeGrid{gap:16px}.gameCard{padding:16px 20px}.gameCard .gameTitle{font-size:20px}.miniGrid{width:80px;height:80px}.miniCell{font-size:14px}.miniFutoshikiGrid{grid-template-columns:22px 7px 22px 7px 22px;grid-template-rows:22px 7px 22px 7px 22px;width:80px;height:80px}.miniFutoshikiCell{font-size:11px}.miniInequality svg{width:8px;height:8px}.miniCryptogramGrid{gap:8px}.miniCryptogramCell{width:18px;padding:2px 1px}.miniCryptogramGuess{font-size:10px}.miniCryptogramCipher{font-size:7px}.miniCryptogramPunctuation{font-size:10px;padding-top:2px}.miniCryptogramSpace{width:5px}}[data-theme=light] .homeDivider,[data-theme=light] .homeDividerWide{filter:invert(30%) sepia(15%) saturate(500%) hue-rotate(354deg) brightness(90%) contrast(95%)}[data-theme=light] .cardWrapper{box-shadow:2px 3px 8px #0000002e,4px 6px 20px #0000001f}[data-theme=light] .gameCard{box-shadow:1px 2px 4px #0000001f,2px 4px 8px #00000014}[data-theme=high-contrast-light] .homeDivider,[data-theme=high-contrast-light] .homeDividerWide{filter:brightness(0);opacity:.7}[data-theme=high-contrast-dark] .homeDivider,[data-theme=high-contrast-dark] .homeDividerWide{filter:brightness(0) invert(1);opacity:.8}[data-theme=high-contrast-light] .cardWrapper,[data-theme=high-contrast-dark] .cardWrapper{box-shadow:none;border:2px solid var(--stroke)}[data-theme=high-contrast-light] .cardWrapper:before,[data-theme=high-contrast-dark] .cardWrapper:before{display:none}[data-theme=high-contrast-light] .gameCard,[data-theme=high-contrast-dark] .gameCard{box-shadow:none;border:2px solid var(--stroke)}[data-theme=high-contrast-light] .gameCard:before,[data-theme=high-contrast-dark] .gameCard:before{display:none}[data-theme=high-contrast-light] .gameCard .gameTitle,[data-theme=high-contrast-dark] .gameCard .gameTitle{color:var(--heading-color)}[data-theme=high-contrast-light] .gameDesc,[data-theme=high-contrast-dark] .gameDesc{color:var(--text)}[data-theme=high-contrast-light] .miniCell,[data-theme=high-contrast-dark] .miniCell,[data-theme=high-contrast-light] .miniFutoshikiCell,[data-theme=high-contrast-dark] .miniFutoshikiCell,[data-theme=high-contrast-light] .miniCryptogramGuess,[data-theme=high-contrast-dark] .miniCryptogramGuess{color:var(--cell-color)}[data-theme=high-contrast-light] .miniCryptogramCipher,[data-theme=high-contrast-dark] .miniCryptogramCipher{color:var(--muted)}[data-theme=high-contrast-light] .miniCryptogramPunctuation,[data-theme=high-contrast-dark] .miniCryptogramPunctuation{color:var(--cell-color)}[data-theme=high-contrast-light] .cardFooter,[data-theme=high-contrast-dark] .cardFooter{border-top-color:var(--stroke)}[data-theme=high-contrast-light] .cardFooter .tagText,[data-theme=high-contrast-dark] .cardFooter .tagText{color:var(--muted)}[data-theme=high-contrast-light] .playLink,[data-theme=high-contrast-dark] .playLink{color:var(--text)}[data-theme=high-contrast-light] .newStamp,[data-theme=high-contrast-dark] .newStamp{color:var(--red);border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);-webkit-mask-image:none;mask-image:none}.aboutSection{display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem;min-height:calc(100vh - 4rem)}.aboutCard{background-color:#e7cfb2;border:1px solid rgba(139,109,76,.4);border-radius:3px;padding:2rem;max-width:800px;width:100%;position:relative;box-shadow:4px 6px 16px #0009,8px 14px 40px #00000080}.aboutCard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.h1{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:#3d2a1e;margin:0 0 1.5rem;position:relative;z-index:1}.aboutCard .h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:#3d2a1e;margin:1.5rem 0 1rem;position:relative;z-index:1}.aboutContent{color:#3d2a1e;position:relative;z-index:1}.aboutP{font-size:1rem;line-height:1.6;color:#6b5344;margin:0 0 1rem}.aboutList{font-size:1rem;line-height:1.8;color:#6b5344;margin:0 0 1rem;padding-left:1.5rem}.aboutList li{margin-bottom:.5rem}.aboutLink{color:#3d2a1e;text-decoration:underline;font-weight:500}.aboutLink:hover{text-decoration:underline}@media (max-width: 768px){.aboutSection{padding:1rem}.aboutCard{padding:1.5rem}.h1{font-size:1.75rem}.aboutCard .h2{font-size:1.25rem}}[data-theme=light] .aboutCard{background-color:var(--content-card-bg);box-shadow:2px 4px 12px #00000026,4px 8px 24px #0000001a}[data-theme=high-contrast-light] .aboutCard,[data-theme=high-contrast-dark] .aboutCard{background-color:var(--card);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .aboutCard:before,[data-theme=high-contrast-dark] .aboutCard:before{display:none}[data-theme=high-contrast-light] .h1,[data-theme=high-contrast-dark] .h1,[data-theme=high-contrast-light] .aboutCard .h2,[data-theme=high-contrast-dark] .aboutCard .h2{color:var(--text)}[data-theme=high-contrast-light] .aboutP,[data-theme=high-contrast-dark] .aboutP,[data-theme=high-contrast-light] .aboutList,[data-theme=high-contrast-dark] .aboutList{color:var(--muted)}[data-theme=high-contrast-light] .aboutLink,[data-theme=high-contrast-dark] .aboutLink{color:var(--green)}.adViewContainer{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--gap-lg);background:var(--background)}.adViewContent{width:100%;max-width:600px;display:flex;flex-direction:column;gap:var(--gap-lg);align-items:center}.adViewHeader{text-align:center}.adViewTitle{font-size:28px;font-weight:900;color:var(--text);margin:0 0 var(--gap-xs) 0;text-transform:capitalize}.adViewSubtitle{font-size:14px;color:var(--text-secondary);margin:0}.adContentWrapper{width:100%;min-height:250px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius-md);padding:var(--gap-md);position:relative}.adContentWrapper:before{content:"Advertisement";position:absolute;top:8px;left:8px;font-size:10px;text-transform:uppercase;color:var(--text-tertiary);letter-spacing:.5px;font-weight:600}.adsbygoogle{display:block;width:100%}.adViewControls{width:100%;display:flex;justify-content:center;margin-top:var(--gap-md)}.skipAdButton{min-width:200px;height:48px;padding:0 var(--gap-lg);border-radius:var(--radius-md);border:none;background:var(--blue);color:#fff;font-weight:800;font-size:15px;cursor:pointer;transition:all .12s ease;box-shadow:0 2px 8px #0000001a}.skipAdButton:hover{background:color-mix(in srgb,var(--blue) 90%,black);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.skipAdButton:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.skipAdTimer{min-width:200px;height:48px;display:flex;align-items:center;justify-content:center;padding:0 var(--gap-lg);border-radius:var(--radius-md);border:1px solid var(--stroke);background:var(--card);color:var(--text-secondary);font-weight:600;font-size:14px}.adViewFooter{width:100%;display:flex;justify-content:center;margin-top:var(--gap-md);padding-top:var(--gap-md);border-top:1px solid var(--stroke)}.continueButton{min-width:200px;height:48px;padding:0 var(--gap-lg);border-radius:var(--radius-md);border:1px solid var(--stroke);background:var(--card);color:var(--text);font-weight:700;font-size:14px;cursor:pointer;transition:all .12s ease}.continueButton:hover{border-color:var(--blue);color:var(--blue)}@media (max-width: 600px){.adViewContainer{padding:var(--gap-md)}.adViewTitle{font-size:24px}.adContentWrapper{min-height:200px;padding:var(--gap-sm)}.skipAdButton,.skipAdTimer,.continueButton{min-width:160px;height:44px;font-size:14px}}.completionModalBody{text-align:center}.completionCelebration{margin-bottom:1.5rem}.completionSubtitle{font-size:1rem;color:#6b5344;margin:0}.completionStats{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.completionStatCard{background:#fff6;border:1px solid rgba(139,109,76,.3);border-radius:3px;padding:.75rem 1rem;min-width:100px;flex:1;max-width:150px}.completionStatIcon{font-size:1.5rem;margin-bottom:.25rem}.completionStatValue{font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:#3d2a1e;margin-bottom:.25rem}.completionStatLabel{font-size:.75rem;color:#6b5344;font-weight:500}.completionActions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(139,109,76,.25)}.completionActionButton{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem 1.5rem;border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-heading);font-size:.875rem;font-weight:400;cursor:pointer;transition:all .15s ease}.completionActionButton svg{flex-shrink:0}.completionActionButton:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.completionActionButton:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.completionActionButton:focus-visible{outline:2px solid #6b5344;outline-offset:2px}.completionShare{margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(139,109,76,.25)}.completionShare:first-child{margin-top:0;padding-top:0;border-top:none}.shareHeading{font-family:var(--font-heading);font-size:1rem;font-weight:400;color:#3d2a1e;margin:0 0 .75rem}.shareButtons{display:flex;gap:.5rem;width:100%}.shareButton{display:flex;align-items:center;justify-content:center;gap:.5rem;flex:1;min-width:0;padding:.625rem .5rem;border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-heading);font-size:.875rem;font-weight:400;cursor:pointer;transition:all .15s ease}.shareButton svg{flex-shrink:0}.shareButton:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.shareButton:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.shareButton:focus-visible{outline:2px solid #6b5344;outline-offset:2px}.shareButtonTwitter svg{color:#000}.shareButtonFacebook svg{color:#1877f2}@media (max-width: 600px){.completionSubtitle{font-size:.875rem}}[data-theme=high-contrast-light] .completionSubtitle,[data-theme=high-contrast-dark] .completionSubtitle{color:var(--muted)}[data-theme=high-contrast-light] .completionStatCard,[data-theme=high-contrast-dark] .completionStatCard{background:var(--card);border:2px solid var(--stroke)}[data-theme=high-contrast-light] .completionStatValue,[data-theme=high-contrast-dark] .completionStatValue{color:var(--heading-color)}[data-theme=high-contrast-light] .completionStatLabel,[data-theme=high-contrast-dark] .completionStatLabel{color:var(--muted)}[data-theme=high-contrast-light] .completionActions,[data-theme=high-contrast-dark] .completionActions{border-top-color:var(--stroke)}[data-theme=high-contrast-light] .completionActionButton,[data-theme=high-contrast-dark] .completionActionButton{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .completionActionButton:hover,[data-theme=high-contrast-dark] .completionActionButton:hover{border-color:var(--green);background:var(--card2);box-shadow:none;transform:none}[data-theme=high-contrast-light] .completionActionButton:focus-visible,[data-theme=high-contrast-dark] .completionActionButton:focus-visible{outline:2px solid var(--green);outline-offset:2px}[data-theme=high-contrast-light] .completionShare,[data-theme=high-contrast-dark] .completionShare{border-top-color:var(--stroke)}[data-theme=high-contrast-light] .shareHeading,[data-theme=high-contrast-dark] .shareHeading{color:var(--heading-color)}[data-theme=high-contrast-light] .shareButton,[data-theme=high-contrast-dark] .shareButton{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .shareButton:hover,[data-theme=high-contrast-dark] .shareButton:hover{border-color:var(--blue);background:var(--card2);box-shadow:none;transform:none}[data-theme=high-contrast-light] .shareButton:focus-visible,[data-theme=high-contrast-dark] .shareButton:focus-visible{outline:2px solid var(--green);outline-offset:2px}.numberPad{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:var(--game-board-max-width, min(520px, 100%));margin-left:auto;margin-right:auto}.numberButton{width:calc((100% - 32px)/5);min-width:50px;height:38px;border-radius:3px;border:1px solid var(--cell-border);background:var(--cell-bg);color:var(--cell-color);font-family:var(--font-heading);font-weight:400;font-size:18px;cursor:pointer;transition:all .12s ease;position:relative;z-index:1;box-shadow:1px 2px 3px #0003,2px 3px 6px #00000026;overflow:hidden}.numberButton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.5;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.numberButton:hover:not(:disabled){background:var(--cell-bg);transform:translateY(-1px);box-shadow:2px 3px 5px #00000040,3px 5px 10px #0003}.numberButton:active:not(:disabled){transform:translateY(0);background:var(--cell-hover);box-shadow:1px 1px 2px #0003,1px 2px 4px #00000026}.numberButton:disabled{opacity:.4;cursor:not-allowed}.numberButton.clearButton{background:var(--cell-conflict-bg);color:var(--cell-conflict-color)}.numberButton.clearButton:hover:not(:disabled){background:var(--cell-conflict-selected-bg)}.notesModeActive .numberButton{font-size:14px;font-style:italic}[data-theme=light] .numberButton{box-shadow:1px 1px 2px #0000001a,1px 2px 4px #00000014}[data-theme=light] .numberButton:hover:not(:disabled){box-shadow:1px 2px 3px #0000001f,2px 3px 6px #0000001a}.undoRedoRow{margin-top:12px;display:flex;justify-content:center;gap:8px;max-width:var(--game-board-max-width, min(520px, 100%));margin-left:auto;margin-right:auto}.undoRedoRow .numberButton{width:auto;min-width:60px;padding:0 16px}@media (max-width: 520px){.numberPad{gap:6px}.numberButton{height:34px;font-size:20px}.notesModeActive .numberButton{font-size:12px}.undoRedoRow{gap:6px}}[data-theme=high-contrast-light] .numberButton,[data-theme=high-contrast-dark] .numberButton{box-shadow:none;border:2px solid var(--stroke)}[data-theme=high-contrast-light] .numberButton:before,[data-theme=high-contrast-dark] .numberButton:before{display:none}[data-theme=high-contrast-light] .numberButton:hover:not(:disabled),[data-theme=high-contrast-dark] .numberButton:hover:not(:disabled){background:var(--cell-hover);box-shadow:none;border-color:var(--green);transform:none}[data-theme=high-contrast-light] .numberButton:active:not(:disabled),[data-theme=high-contrast-dark] .numberButton:active:not(:disabled){background:var(--cell-given-bg);box-shadow:none}[data-theme=high-contrast-light] .numberButton:focus,[data-theme=high-contrast-dark] .numberButton:focus{outline:2px solid var(--green);outline-offset:2px}[data-theme=high-contrast-light] .numberButton.clearButton,[data-theme=high-contrast-dark] .numberButton.clearButton{border-color:var(--red)}[data-theme=high-contrast-light] .numberButton.clearButton:hover:not(:disabled),[data-theme=high-contrast-dark] .numberButton.clearButton:hover:not(:disabled){border-color:var(--red)}.sudokuGridWrap{display:flex;justify-content:center;background-color:var(--card-wrapper-bg);border-radius:3px;padding:6px;position:relative;box-shadow:3px 4px 12px #00000080,6px 10px 30px #0006;width:100%;max-width:532px;margin:0 auto}.sudokuGridWrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.25;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.sudokuGrid{width:100%;max-width:520px;aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(9,1fr);border-radius:3px;overflow:hidden;border:1px solid var(--paper-card-border);background-color:var(--paper-card-bg);position:relative;box-shadow:2px 3px 6px #00000040,4px 6px 14px #0000002e}.sudokuGrid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.6;pointer-events:none;z-index:10;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.cell{display:grid;place-items:center;border:1px solid var(--cell-border);background:var(--cell-bg);color:var(--cell-color);font-family:var(--font-heading);font-weight:400;font-size:clamp(18px,3vw,24px);padding:0;cursor:pointer;aspect-ratio:1 / 1;overflow:hidden;position:relative;z-index:0}.cell:hover{background:var(--cell-hover)}.cell.given{color:var(--cell-given-color);background:var(--cell-given-bg);font-weight:400}.cell.selected{outline:2px solid var(--cell-selected-outline);outline-offset:-2px;background:var(--cell-selected-bg)}.cell.thickRight{border-right:2px solid var(--cell-thick-border)}.cell.thickBottom{border-bottom:2px solid var(--cell-thick-border)}.cell.conflict{background:var(--cell-conflict-bg);color:var(--cell-conflict-color)}.cell.conflict.selected{outline-color:var(--cell-conflict-outline);background:var(--cell-conflict-selected-bg)}.cell.matching{background:var(--cell-matching-bg)}.cell.given.matching{background:var(--cell-given-matching-bg)}[data-theme=light] .sudokuGridWrap{box-shadow:2px 3px 8px #0000002e,4px 6px 20px #0000001f}[data-theme=light] .sudokuGrid{box-shadow:1px 2px 4px #0000001f,2px 4px 8px #00000014}.sudokuFooterRow{margin-top:var(--gap-xl);display:flex;align-items:center;gap:var(--gap-md);flex-wrap:wrap}.sudokuStatus{color:var(--faint);font-size:13px}.sudokuStatus .win{color:var(--green);font-weight:800}.sudokuStatus .statusButton{background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.sudokuStatus .statusButton:hover{text-decoration-style:solid}.sudokuStatus .wrong{color:var(--blue);font-weight:700}[data-theme=high-contrast-light] .sudokuGridWrap,[data-theme=high-contrast-dark] .sudokuGridWrap{box-shadow:none;border:2px solid var(--stroke)}[data-theme=high-contrast-light] .sudokuGridWrap:before,[data-theme=high-contrast-dark] .sudokuGridWrap:before{display:none}[data-theme=high-contrast-light] .sudokuGrid,[data-theme=high-contrast-dark] .sudokuGrid{box-shadow:none;border:2px solid var(--stroke)}[data-theme=high-contrast-light] .sudokuGrid:before,[data-theme=high-contrast-dark] .sudokuGrid:before{display:none}[data-theme=high-contrast-light] .cell.selected,[data-theme=high-contrast-dark] .cell.selected,[data-theme=high-contrast-light] .cell.conflict.selected,[data-theme=high-contrast-dark] .cell.conflict.selected{outline-width:3px}.kakuroCell{position:relative;display:grid;place-items:center;border:1px solid var(--cell-border);font-family:var(--font-heading);font-weight:400;font-size:clamp(16px,2.6vw,20px);padding:0;aspect-ratio:1 / 1;overflow:hidden;z-index:0}.kakuroClue{background:var(--cell-given-bg);cursor:default;pointer-events:none}.clueDiagonal{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom left,transparent 0%,transparent calc(50% - 1px),var(--cell-border) calc(50% - 1px),var(--cell-border) calc(50% + 1px),transparent calc(50% + 1px),transparent 100%)}.clueDown{position:absolute;bottom:4px;left:4px;font-size:clamp(10px,1.6vw,12px);font-weight:700;color:var(--cell-given-color);z-index:1}.clueAcross{position:absolute;top:4px;right:4px;font-size:clamp(10px,1.6vw,12px);font-weight:700;color:var(--cell-given-color);z-index:1}.kakuroEntry{background:var(--cell-bg);color:var(--cell-color);cursor:pointer;transition:all .15s}.kakuroEntry:hover{background:var(--cell-hover)}.kakuroEntry.selected{outline:2px solid var(--cell-selected-outline);outline-offset:-2px;background:var(--cell-selected-bg);z-index:1}.kakuroEntry.conflict{background:var(--cell-conflict-bg);color:var(--cell-conflict-color)}.kakuroEntry.conflict.selected{outline-color:var(--cell-conflict-outline);background:var(--cell-conflict-selected-bg)}.kakuroEntry.matching{background:var(--cell-matching-bg)}.kakuroEntry.completeRun{background:color-mix(in srgb,var(--green) 15%,var(--cell-bg))}.kakuroEntry.completeRun.matching{background:color-mix(in srgb,var(--blue) 15%,color-mix(in srgb,var(--green) 15%,var(--cell-bg)))}.cellValue{display:block;width:100%;height:100%;display:flex;align-items:center;justify-content:center;line-height:1}.kakuroGridWrap{--max-cell-size: 50px;background-color:var(--card-wrapper-bg);border-radius:3px;padding:6px;position:relative;box-shadow:3px 4px 12px #00000080,6px 10px 30px #0006;width:100%;max-width:calc(var(--grid-cols) * var(--max-cell-size) + 1rem + 12px);margin:0 auto}.kakuroGridWrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.25;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.kakuroGrid{display:grid;width:100%;max-width:calc(var(--grid-cols) * var(--max-cell-size) + 1rem);aspect-ratio:var(--grid-cols) / var(--grid-rows);position:relative;padding:.5rem}.kakuroGrid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6;pointer-events:none;z-index:10;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}[data-theme=light] .kakuroGridWrap{box-shadow:2px 3px 8px #0000002e,4px 6px 20px #0000001f}.numberButton.notesModeButton{grid-column:span 2}.numberButton.notesModeButton.active{border-color:color-mix(in srgb,var(--blue) 60%,transparent);background:color-mix(in srgb,var(--blue) 20%,transparent)}.kakuroFooterRow{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.kakuroStatus{font-size:1.125rem;font-weight:500}.kakuroStatus .win{color:var(--green);font-weight:800}.kakuroStatus .statusButton{background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.kakuroStatus .statusButton:hover{text-decoration-style:solid}.kakuroStatus .wrong{color:var(--blue);font-weight:700}@media (max-width: 640px){.kakuroGrid{padding:.375rem}}[data-theme=high-contrast-light] .kakuroGridWrap,[data-theme=high-contrast-dark] .kakuroGridWrap{background-color:var(--card-wrapper-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .kakuroGridWrap:before,[data-theme=high-contrast-dark] .kakuroGridWrap:before{display:none}[data-theme=high-contrast-light] .kakuroGrid:before,[data-theme=high-contrast-dark] .kakuroGrid:before{display:none}[data-theme=high-contrast-light] .numberButton.notesModeButton.active,[data-theme=high-contrast-dark] .numberButton.notesModeButton.active{border-color:var(--blue);background:var(--card2)}.futoshikiCellWrapper{position:relative;display:flex;align-items:center;justify-content:center}.futoshikiCell{width:100%;aspect-ratio:1;border:1px solid var(--cell-border);border-radius:3px;background:var(--cell-bg);color:var(--cell-color);font-family:var(--font-heading);font-size:clamp(18px,4vw,24px);font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,outline-color .15s;padding:0;position:relative;z-index:0;overflow:hidden}.futoshikiCell:before{display:none}.futoshikiCell:hover{background:var(--cell-hover)}.futoshikiCell.selected{outline:2px solid var(--cell-selected-outline);outline-offset:-2px;background:var(--cell-selected-bg);z-index:1}.futoshikiCell.given{background:var(--cell-given-bg);color:var(--cell-given-color);font-weight:400}.futoshikiCell.conflict{background:var(--cell-conflict-bg);color:var(--cell-conflict-color)}.futoshikiCell.conflict.selected{outline-color:var(--cell-conflict-outline);background:var(--cell-conflict-selected-bg)}.futoshikiCell.matching{background:var(--cell-matching-bg)}.futoshikiCell.given.matching{background:var(--cell-given-matching-bg)}.cellValue{font-size:clamp(18px,4vw,24px);font-weight:inherit;line-height:1}.inequality{position:absolute;pointer-events:none;z-index:20;color:var(--cell-given-color)}.inequality svg{width:.875rem;height:.875rem;display:block}.inequalityRight{left:calc(100% + var(--grid-gap) / 2);top:50%;transform:translate(-50%,-50%)}.inequalityDown{top:calc(100% + var(--grid-gap) / 2);left:50%;transform:translate(-50%,-50%)}.futoshikiGridWrap{--grid-gap: .75rem;--max-cell-size: 50px;background-color:var(--card-wrapper-bg);border-radius:3px;padding:6px;position:relative;box-shadow:3px 4px 12px #00000080,6px 10px 30px #0006;width:100%;max-width:calc(var(--grid-size) * var(--max-cell-size) + (var(--grid-size) - 1) * var(--grid-gap) + 1.5rem);margin:0 auto}.futoshikiGridWrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.25;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.futoshikiGrid{display:grid;grid-template-columns:repeat(var(--grid-size),1fr);gap:var(--grid-gap);width:100%;max-width:calc(var(--grid-size) * var(--max-cell-size) + (var(--grid-size) - 1) * var(--grid-gap) + 1.5rem);aspect-ratio:1;position:relative;background:var(--paper-card-bg);border:1px solid var(--paper-card-border);border-radius:3px;padding:.75rem}.futoshikiGrid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}[data-theme=light] .futoshikiGridWrap{box-shadow:2px 3px 8px #0000002e,4px 6px 20px #0000001f}.futoshikiFooterRow{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.futoshikiStatus{font-size:1.125rem;font-weight:500}.futoshikiStatus .win{color:var(--green);font-weight:800}.futoshikiStatus .statusButton{background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.futoshikiStatus .statusButton:hover{text-decoration-style:solid}.futoshikiStatus .wrong{color:var(--blue);font-weight:700}@media (max-width: 640px){.futoshikiTop{flex-direction:column;gap:1rem}.futoshikiTitle{font-size:1.5rem}.futoshikiSub{font-size:.875rem}.futoshikiGridWrap{--grid-gap: .5rem}}[data-theme=high-contrast-light] .futoshikiGridWrap,[data-theme=high-contrast-dark] .futoshikiGridWrap{background-color:var(--card-wrapper-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .futoshikiGridWrap:before,[data-theme=high-contrast-dark] .futoshikiGridWrap:before{display:none}[data-theme=high-contrast-light] .futoshikiGrid,[data-theme=high-contrast-dark] .futoshikiGrid{background:var(--card);border:2px solid var(--stroke)}[data-theme=high-contrast-light] .futoshikiGrid:before,[data-theme=high-contrast-dark] .futoshikiGrid:before{display:none}.settingsSection{margin-bottom:1.5rem}.settingsSection:last-child{margin-bottom:0}.settingsSection h3{font-family:var(--font-heading);font-size:1rem;font-weight:400;margin:0 0 .75rem;color:#5c4a3a;text-transform:uppercase;letter-spacing:.05em}.settingRow{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-radius:3px;border:1px solid rgba(139,109,76,.2);background:#ffffff4d;margin-bottom:.5rem}.settingRow:last-child{margin-bottom:0}.settingLabel{flex:1;margin-right:1rem}.settingLabel .settingTitle{font-family:var(--font-heading);font-weight:400;font-size:.9375rem;color:#3d2a1e;margin-bottom:.125rem}.settingLabel .settingDescription{font-size:.8125rem;color:#6b5344;line-height:1.4}.toggleSwitch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggleSwitch input{opacity:0;width:0;height:0}.toggleSlider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#8b6d4c4d;transition:.2s ease;border-radius:24px;border:1px solid rgba(139,109,76,.2)}.toggleSlider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.2s ease;border-radius:50%;box-shadow:0 1px 3px #0003}.toggleSwitch input:checked+.toggleSlider{background-color:#6b8c5a;border-color:#5a7a4a}.toggleSwitch input:checked+.toggleSlider:before{transform:translate(20px)}.toggleSwitch input:focus-visible+.toggleSlider{outline:2px solid #6b5344;outline-offset:2px}[data-theme=high-contrast-light] .settingsSection h3,[data-theme=high-contrast-dark] .settingsSection h3{color:var(--heading-color)}[data-theme=high-contrast-light] .settingRow,[data-theme=high-contrast-dark] .settingRow{border:2px solid var(--stroke);background:var(--card)}[data-theme=high-contrast-light] .settingLabel .settingTitle,[data-theme=high-contrast-dark] .settingLabel .settingTitle{color:var(--heading-color)}[data-theme=high-contrast-light] .settingLabel .settingDescription,[data-theme=high-contrast-dark] .settingLabel .settingDescription{color:var(--muted)}[data-theme=high-contrast-light] .toggleSlider,[data-theme=high-contrast-dark] .toggleSlider{background-color:var(--card2);border:2px solid var(--stroke)}[data-theme=high-contrast-light] .toggleSlider:before,[data-theme=high-contrast-dark] .toggleSlider:before{background-color:var(--text);box-shadow:none}[data-theme=high-contrast-dark] .toggleSlider:before{background-color:var(--bg0)}[data-theme=high-contrast-light] .toggleSwitch input:checked+.toggleSlider,[data-theme=high-contrast-dark] .toggleSwitch input:checked+.toggleSlider{background-color:var(--green);border-color:var(--green)}[data-theme=high-contrast-light] .toggleSwitch input:focus-visible+.toggleSlider,[data-theme=high-contrast-dark] .toggleSwitch input:focus-visible+.toggleSlider{outline:2px solid var(--text);outline-offset:2px}.cryptogramBoardWrap{display:flex;justify-content:center;align-items:flex-start;background-color:var(--card-wrapper-bg);border-radius:3px;padding:6px;position:relative;box-shadow:3px 4px 12px #00000080,6px 10px 30px #0006;width:100%;max-width:612px;margin:0 auto}.cryptogramBoardWrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.25;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.cryptogramBoardInner{width:100%;background-color:var(--cell-bg);border-radius:3px;border:1px solid var(--cell-border);position:relative;box-shadow:2px 3px 6px #00000040,4px 6px 14px #0000002e}.cryptogramBoardInner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.6;pointer-events:none;z-index:0;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.cryptogramBoardInner .cryptogramBoard{width:100%;position:relative}.cryptogramCategory{text-align:center;margin-bottom:16px;font-size:14px;color:var(--faint)}.cryptogramCategory strong{color:var(--text);font-weight:600}.cryptogramSource{text-align:right;padding:8px 12px 10px;font-size:14px;font-weight:600;font-style:italic;color:var(--cell-color);position:relative;z-index:1}.cryptogramSource a{color:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.cryptogramSource a:hover{text-decoration-style:solid}.solvedMessage{margin-top:20px;display:flex;justify-content:center;align-items:center;min-height:70px}.solvedMessage .win{color:var(--green);font-weight:600;font-size:clamp(1.125rem,4vw,1.5rem)}.solvedMessage .statusButton{background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.solvedMessage .statusButton:hover{text-decoration-style:solid}[data-theme=light] .cryptogramBoardWrap{box-shadow:2px 3px 8px #0000002e,4px 6px 20px #0000001f}[data-theme=light] .cryptogramBoardInner{box-shadow:1px 2px 4px #0000001f,2px 4px 8px #00000014}@media (max-width: 480px){.cryptogramBoardWrap{padding:4px}}.gameActions .iconButton.hintButton{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:40px;padding:0 10px}.hintButton .hintCount{font-size:11px;font-weight:600}[data-theme=high-contrast-light] .cryptogramBoardWrap,[data-theme=high-contrast-dark] .cryptogramBoardWrap{background-color:var(--card-wrapper-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .cryptogramBoardWrap:before,[data-theme=high-contrast-dark] .cryptogramBoardWrap:before{display:none}[data-theme=high-contrast-light] .cryptogramBoardInner,[data-theme=high-contrast-dark] .cryptogramBoardInner{border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .cryptogramBoardInner:before,[data-theme=high-contrast-dark] .cryptogramBoardInner:before{display:none}.cryptogramInstructionsOverlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--gap-lg);animation:fadeIn .2s ease;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cryptogramInstructionsContent{background-color:var(--content-card-bg);border:1px solid rgba(139,109,76,.4);border-radius:3px;padding:2rem;max-width:700px;width:100%;position:relative;box-shadow:4px 6px 16px #00000080,8px 14px 40px #0006;animation:slideUp .25s ease;margin:var(--gap-lg) 0}.cryptogramInstructionsContent:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cryptogramInstructionsHeader{text-align:center;margin-bottom:1.5rem;position:relative;z-index:1}.cryptogramInstructionsTitle{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:#3d2a1e;margin:0}.cryptogramInstructionsBody{max-height:60vh;overflow-y:auto;margin-bottom:1.5rem;padding-right:var(--gap-sm);position:relative;z-index:1}.cryptogramInstructionsBody .instructionSection{margin-bottom:1.5rem}.cryptogramInstructionsBody .instructionSection:last-child{margin-bottom:0}.cryptogramInstructionsBody .instructionSection h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:#3d2a1e;margin:0 0 .75rem}.cryptogramInstructionsBody .instructionSection p{font-size:1rem;line-height:1.6;color:#6b5344;margin:0}.cryptogramInstructionsBody .instructionSection ul,.cryptogramInstructionsBody .instructionSection ol{margin:0;padding-left:1.5rem}.cryptogramInstructionsBody .instructionSection li{font-size:1rem;line-height:1.6;color:#6b5344;margin-bottom:.5rem}.cryptogramInstructionsBody .instructionSection li:last-child{margin-bottom:0}.cryptogramInstructionsBody .instructionSection li strong{color:#3d2a1e}.cryptogramInstructionsFooter{text-align:center;padding-top:var(--gap-md);border-top:1px solid rgba(139,109,76,.25);position:relative;z-index:1}.cryptogramInstructionsBackButton{padding:var(--gap-sm) var(--gap-xl);border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-heading);font-size:1rem;font-weight:400;cursor:pointer;transition:all .15s ease;min-width:200px}.cryptogramInstructionsBackButton:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.cryptogramInstructionsBackButton:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.cryptogramInstructionsBackButton:focus-visible{outline:2px solid #6b5344;outline-offset:2px}@media (max-width: 600px){.cryptogramInstructionsOverlay{padding:var(--gap-md)}.cryptogramInstructionsContent{padding:1.5rem;margin:var(--gap-md) 0}.cryptogramInstructionsTitle{font-size:1.75rem}.cryptogramInstructionsBody{max-height:55vh}.cryptogramInstructionsBody .instructionSection h3{font-size:1.125rem}.cryptogramInstructionsBody .instructionSection p,.cryptogramInstructionsBody .instructionSection li{font-size:.9375rem}.cryptogramInstructionsBackButton{width:100%;min-width:auto}}@media (max-width: 400px){.cryptogramInstructionsContent{padding:1rem}.cryptogramInstructionsTitle{font-size:1.5rem}.cryptogramInstructionsBody .instructionSection h3{font-size:1rem}.cryptogramInstructionsBody .instructionSection p,.cryptogramInstructionsBody .instructionSection li{font-size:.875rem}}[data-theme=high-contrast-light] .cryptogramInstructionsOverlay,[data-theme=high-contrast-dark] .cryptogramInstructionsOverlay{background:#000000b3;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=high-contrast-light] .cryptogramInstructionsContent,[data-theme=high-contrast-dark] .cryptogramInstructionsContent{background-color:var(--content-card-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .cryptogramInstructionsContent:before,[data-theme=high-contrast-dark] .cryptogramInstructionsContent:before{display:none}[data-theme=high-contrast-light] .cryptogramInstructionsTitle,[data-theme=high-contrast-dark] .cryptogramInstructionsTitle,[data-theme=high-contrast-light] .cryptogramInstructionsBody .instructionSection h3,[data-theme=high-contrast-dark] .cryptogramInstructionsBody .instructionSection h3{color:var(--heading-color)}[data-theme=high-contrast-light] .cryptogramInstructionsBody .instructionSection p,[data-theme=high-contrast-dark] .cryptogramInstructionsBody .instructionSection p,[data-theme=high-contrast-light] .cryptogramInstructionsBody .instructionSection li,[data-theme=high-contrast-dark] .cryptogramInstructionsBody .instructionSection li{color:var(--text)}[data-theme=high-contrast-light] .cryptogramInstructionsBody .instructionSection li strong,[data-theme=high-contrast-dark] .cryptogramInstructionsBody .instructionSection li strong{color:var(--heading-color)}[data-theme=high-contrast-light] .cryptogramInstructionsFooter,[data-theme=high-contrast-dark] .cryptogramInstructionsFooter{border-top-color:var(--stroke)}[data-theme=high-contrast-light] .cryptogramInstructionsBackButton,[data-theme=high-contrast-dark] .cryptogramInstructionsBackButton{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .cryptogramInstructionsBackButton:hover,[data-theme=high-contrast-dark] .cryptogramInstructionsBackButton:hover{border-color:var(--green);background:var(--card2);box-shadow:none;transform:none}[data-theme=high-contrast-light] .cryptogramInstructionsBackButton:focus-visible,[data-theme=high-contrast-dark] .cryptogramInstructionsBackButton:focus-visible{outline:2px solid var(--green);outline-offset:2px}.treasureHuntBoardWrap{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:500px;margin:0 auto}.treasureHuntBoard{width:100%;background-color:var(--card-wrapper-bg, #684128);border-radius:3px;padding:6px;position:relative;box-shadow:3px 4px 12px #00000080,6px 10px 30px #0006;touch-action:none;-webkit-user-select:none;user-select:none}.treasureHuntBoard .treasureHuntGrid{background-color:var(--cell-bg, #e7d7bf);border-radius:3px;border:1px solid var(--cell-border);position:relative}.treasureHuntBoard .treasureHuntGrid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.5;pointer-events:none;mix-blend-mode:multiply;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.treasureHuntPalette{width:100%;display:flex;justify-content:center}[data-theme=light] .treasureHuntBoard{box-shadow:2px 3px 8px #0000002e,4px 6px 20px #0000001f}@media (max-width: 480px){.treasureHuntBoard{padding:4px}.treasureHuntPalette{padding:0 8px}}[data-theme=high-contrast-light] .treasureHuntBoard,[data-theme=high-contrast-dark] .treasureHuntBoard{background-color:var(--card-wrapper-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .treasureHuntBoard .treasureHuntGrid,[data-theme=high-contrast-dark] .treasureHuntBoard .treasureHuntGrid{border:2px solid var(--stroke)}[data-theme=high-contrast-light] .treasureHuntBoard .treasureHuntGrid:before,[data-theme=high-contrast-dark] .treasureHuntBoard .treasureHuntGrid:before{display:none}.learnSection{display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem;min-height:calc(100vh - 4rem)}.learnCard{background-color:#e7cfb2;border:1px solid rgba(139,109,76,.4);border-radius:3px;padding:2rem;max-width:800px;width:100%;position:relative;box-shadow:4px 6px 16px #0009,8px 14px 40px #00000080}.learnCard:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.learnBreadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.875rem;margin-bottom:1rem}.learnBreadcrumbLink{color:#6b5344;text-decoration:none;transition:color .2s;position:relative;z-index:1}.learnBreadcrumbLink:hover{color:#3d2a1e;text-decoration:underline}.learnBreadcrumbSeparator{color:#6b5344;margin:0 .25rem;position:relative;z-index:1}.learnBreadcrumbCurrent{color:#3d2a1e;position:relative;z-index:1}.learnTitle{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:#3d2a1e;margin:0 0 1.5rem;position:relative;z-index:1}.learnContent{color:#3d2a1e;position:relative;z-index:1}.learnContent h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:#3d2a1e;margin:2rem 0 1rem}.learnContent h2:first-child{margin-top:0}.learnContent h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:#3d2a1e;margin:1.5rem 0 .75rem}.learnContent p{font-size:1rem;line-height:1.6;color:#6b5344;margin:0 0 1rem}.learnContent ul,.learnContent ol{font-size:1rem;line-height:1.8;color:#6b5344;margin:0 0 1rem;padding-left:1.5rem}.learnContent li{margin-bottom:.5rem}.learnContent strong{font-weight:600}.learnContent a{color:#3d2a1e;text-decoration:underline;font-weight:500}.learnContent a:hover{text-decoration:underline}@media (max-width: 768px){.learnSection{padding:1rem}.learnCard{padding:1.5rem}.learnTitle{font-size:1.75rem}.learnContent h2{font-size:1.25rem}.learnContent h3{font-size:1.125rem}}[data-theme=light] .learnCard{background-color:var(--content-card-bg);box-shadow:2px 4px 12px #00000026,4px 8px 24px #0000001a}[data-theme=high-contrast-light] .learnCard,[data-theme=high-contrast-dark] .learnCard{background-color:var(--content-card-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .learnCard:before,[data-theme=high-contrast-dark] .learnCard:before{display:none}[data-theme=high-contrast-light] .learnBreadcrumbLink,[data-theme=high-contrast-dark] .learnBreadcrumbLink{color:var(--blue)}[data-theme=high-contrast-light] .learnBreadcrumbLink:hover,[data-theme=high-contrast-dark] .learnBreadcrumbLink:hover{color:var(--heading-color)}[data-theme=high-contrast-light] .learnBreadcrumbSeparator,[data-theme=high-contrast-dark] .learnBreadcrumbSeparator{color:var(--muted)}[data-theme=high-contrast-light] .learnBreadcrumbCurrent,[data-theme=high-contrast-dark] .learnBreadcrumbCurrent,[data-theme=high-contrast-light] .learnTitle,[data-theme=high-contrast-dark] .learnTitle{color:var(--heading-color)}[data-theme=high-contrast-light] .learnContent,[data-theme=high-contrast-dark] .learnContent{color:var(--text)}[data-theme=high-contrast-light] .learnContent h2,[data-theme=high-contrast-dark] .learnContent h2,[data-theme=high-contrast-light] .learnContent h3,[data-theme=high-contrast-dark] .learnContent h3{color:var(--heading-color)}[data-theme=high-contrast-light] .learnContent p,[data-theme=high-contrast-dark] .learnContent p,[data-theme=high-contrast-light] .learnContent ul,[data-theme=high-contrast-dark] .learnContent ul,[data-theme=high-contrast-light] .learnContent ol,[data-theme=high-contrast-dark] .learnContent ol{color:var(--text)}[data-theme=high-contrast-light] .learnContent a,[data-theme=high-contrast-dark] .learnContent a{color:var(--blue)}[data-theme=high-contrast-light] .learnContent a:hover,[data-theme=high-contrast-dark] .learnContent a:hover{color:var(--heading-color)}.themeSwitcher{position:relative;margin-left:auto;z-index:1100}.themeSwitcher-button{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--stroke);background:var(--card);color:var(--heading-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .16s ease}.themeSwitcher-button:hover{background:var(--card2);border-color:var(--muted)}.themeSwitcher-button:active{transform:scale(.96)}.themeSwitcher-button:focus{outline:2px solid var(--green);outline-offset:2px}.themeSwitcher-button svg{transition:transform .2s ease}.themeSwitcher-button:hover svg{transform:rotate(15deg)}.themeSwitcher-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:140px;padding:6px;margin:0;list-style:none;background:var(--bg1);border:1px solid var(--stroke);border-radius:var(--radius-md);box-shadow:var(--shadow);z-index:9999}.themeSwitcher-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-family:var(--font-body);font-size:14px;cursor:pointer;transition:background .12s ease}.themeSwitcher-option:hover{background:var(--card2)}.themeSwitcher-option:focus{outline:2px solid var(--green);outline-offset:-2px}.themeSwitcher-option--selected{color:var(--green)}.themeSwitcher-option-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.themeSwitcher-option-icon svg{width:18px;height:18px}.themeSwitcher-option-label{flex:1;text-align:left}.themeSwitcher-option-check{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--green)}.boardCell{display:grid;place-items:center;border:1px solid var(--stroke);background:var(--card);color:var(--text);font-weight:800;font-size:clamp(16px,2.6vw,20px);padding:0;cursor:pointer;aspect-ratio:1 / 1;overflow:hidden}.boardCell:hover{background:var(--card2)}.boardCell.given{color:var(--text);background:var(--bg2);font-weight:900}.boardCell.selected{outline:2px solid color-mix(in srgb,var(--green) 60%,transparent);outline-offset:-2px;background:color-mix(in srgb,var(--green) 10%,transparent);z-index:1}.boardCell:focus-visible{outline:2px solid var(--cell-selected-outline, var(--green));outline-offset:1px;z-index:1}.boardCell.conflict{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.boardCell.conflict.selected{outline-color:color-mix(in srgb,var(--red) 70%,transparent);background:color-mix(in srgb,var(--red) 22%,transparent)}.boardCell.matching{background:color-mix(in srgb,var(--blue) 20%,transparent)}.boardCell.given.matching{background:color-mix(in srgb,var(--blue) 20%,var(--bg2))}.boardCell.highlighted{box-shadow:inset 0 0 0 3px var(--highlight-color, var(--blue))}.boardCell.highlight-primary{--highlight-color: var(--blue)}.boardCell.highlight-success{--highlight-color: var(--green)}.boardCell.highlight-warning{--highlight-color: var(--yellow, orange)}.boardCell.highlight-info{--highlight-color: var(--purple, mediumpurple)}.boardCell.readonly,.boardCell.playback{cursor:default;pointer-events:none}.boardCell.readonly:hover,.boardCell.playback:hover{background:var(--card)}.boardCell.readonly.given:hover,.boardCell.playback.given:hover{background:var(--bg2)}.cellValue{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}.sudokuBoard{width:min(520px,100%);aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(9,1fr);border-radius:var(--radius-xl);overflow:hidden;border:2px solid var(--stroke);background:var(--bg2)}.cellContainer{position:relative;display:contents}.boardCell.thickRight{border-right:3px solid var(--stroke)}.boardCell.thickBottom{border-bottom:3px solid var(--stroke)}.cellNotes{display:grid;width:100%;height:100%;padding:min(2px,2%);gap:0;place-items:center}.cellNotes span{font-size:clamp(5px,2.2vmin,14px);font-weight:600;line-height:1;min-width:0;min-height:0}.noteActive{color:var(--cell-color)}.noteInactive{visibility:hidden}.noteConflict{color:var(--red)}.cellOverlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.cellOverlay.highlight{background:color-mix(in srgb,var(--blue) 30%,transparent);animation:pulseHighlight 1.5s ease-in-out infinite}.cellOverlay.annotation{display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;font-size:.625rem;font-weight:700;color:var(--text);text-shadow:0 0 2px var(--card)}@keyframes pulseHighlight{0%,to{opacity:.5}50%{opacity:1}}.playbackControls{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--bg2);border-radius:var(--radius-md, 8px);max-width:min(520px,100%)}.playbackProgress{display:flex;align-items:center;gap:.75rem}.playbackStep{font-size:.875rem;font-weight:600;color:var(--text);white-space:nowrap;min-width:100px}.playbackProgressBar{flex:1;height:6px;background:var(--stroke);border-radius:3px;overflow:hidden}.playbackProgressFill{height:100%;background:var(--green);transition:width .2s}.playbackButtons{display:flex;justify-content:center;gap:.5rem}.playbackButton{padding:.5rem .75rem;background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius-md, 6px);cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s}.playbackButton:hover:not(:disabled){background:var(--card2);border-color:var(--blue)}.playbackButton:disabled{opacity:.4;cursor:not-allowed}.playbackButtonPrimary{background:var(--green);border-color:var(--green);color:#fff}.playbackButtonPrimary:hover:not(:disabled){background:color-mix(in srgb,var(--green) 85%,black);border-color:color-mix(in srgb,var(--green) 85%,black)}.playbackSpeed{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:var(--text)}.playbackSpeed label{font-weight:600}.playbackSpeed select{padding:.25rem .5rem;border-radius:var(--radius-sm, 4px);border:1px solid var(--stroke);background:var(--card);color:var(--text);font-size:.875rem;cursor:pointer}.playbackSpeed select:hover{border-color:var(--blue)}[data-theme=high-contrast-light] .boardCell,[data-theme=high-contrast-dark] .boardCell{border-width:2px}[data-theme=high-contrast-light] .boardCell.selected,[data-theme=high-contrast-dark] .boardCell.selected{outline-width:3px;outline-color:var(--cell-selected-outline);background:var(--cell-selected-bg)}[data-theme=high-contrast-light] .boardCell:focus-visible,[data-theme=high-contrast-dark] .boardCell:focus-visible{outline-width:3px;outline-offset:2px}[data-theme=high-contrast-light] .boardCell.conflict,[data-theme=high-contrast-dark] .boardCell.conflict{background:var(--cell-conflict-bg);color:var(--cell-conflict-color);border-color:var(--red)}[data-theme=high-contrast-light] .boardCell.matching,[data-theme=high-contrast-dark] .boardCell.matching{background:var(--cell-matching-bg)}.cryptogramBoard{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;max-width:min(600px,100%);margin:0 auto;padding:16px;line-height:1}.cryptogramWord{display:inline-flex;gap:2px;margin-bottom:8px}.wordSpace{width:16px;flex-shrink:0}.cryptogramCell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:32px;min-width:32px;padding:4px 2px;border:1px solid var(--cell-border);border-radius:4px;background:transparent;color:var(--cell-color);cursor:pointer;transition:all .12s ease;gap:2px}.cryptogramCell:hover{background:#0000000d}.guessSlot{font-size:18px;font-weight:500;line-height:1.2;min-height:22px;display:flex;align-items:center;justify-content:center}.cipherLetter{font-size:12px;font-weight:700;color:color-mix(in srgb,var(--cell-color) 70%,transparent);line-height:1}.cryptogramCell.selected{outline:2px solid var(--cell-selected-outline);outline-offset:-1px;background:var(--cell-selected-bg);z-index:1}.cryptogramCell:focus-visible{outline:2px solid var(--cell-selected-outline);outline-offset:1px;z-index:1}.cryptogramCell.matching{background:var(--cell-matching-bg)}.cryptogramCell.filled .guessSlot{color:var(--cell-color)}.cryptogramCell.revealed{background:#0000001a}.cryptogramCell.error{background:color-mix(in srgb,var(--red) 12%,transparent);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.cryptogramCell.error .guessSlot{color:var(--red)}.cryptogramCell.error.selected{outline-color:color-mix(in srgb,var(--red) 70%,transparent);background:color-mix(in srgb,var(--red) 18%,transparent)}.cryptogramCell.readonly,.cryptogramCell.playback{cursor:default;pointer-events:none}.cryptogramCell.readonly:hover,.cryptogramCell.playback:hover{background:transparent}.cryptogramPunctuation{display:flex;align-items:flex-start;padding-top:8px;font-size:18px;font-weight:500;color:var(--cell-color);min-height:48px}@media (max-width: 480px){.cryptogramBoard{gap:3px 8px;padding:12px}.cryptogramCell{width:28px;min-width:28px;padding:3px 1px}.guessSlot{font-size:16px;min-height:20px}.cipherLetter{font-size:10px}.wordSpace{width:12px}.cryptogramPunctuation{font-size:16px;padding-top:6px;min-height:42px}}[data-theme=high-contrast-light] .cryptogramCell,[data-theme=high-contrast-dark] .cryptogramCell{border:2px solid var(--stroke)}[data-theme=high-contrast-light] .cryptogramCell.selected,[data-theme=high-contrast-dark] .cryptogramCell.selected{outline-width:3px}[data-theme=high-contrast-light] .cryptogramCell:focus-visible,[data-theme=high-contrast-dark] .cryptogramCell:focus-visible{outline-width:3px;outline-offset:2px}[data-theme=high-contrast-light] .cipherLetter,[data-theme=high-contrast-dark] .cipherLetter{color:var(--muted)}[data-theme=high-contrast-light] .cryptogramCell.revealed,[data-theme=high-contrast-dark] .cryptogramCell.revealed{background:var(--cell-given-bg)}[data-theme=high-contrast-light] .cryptogramCell.error,[data-theme=high-contrast-dark] .cryptogramCell.error{background:var(--cell-conflict-bg);border-color:var(--red)}[data-theme=high-contrast-light] .cryptogramCell.error .guessSlot,[data-theme=high-contrast-dark] .cryptogramCell.error .guessSlot{color:var(--red)}[data-theme=high-contrast-light] .cryptogramCell.error.selected,[data-theme=high-contrast-dark] .cryptogramCell.error.selected{outline-color:var(--red);background:var(--cell-conflict-selected-bg)}.treasureHuntGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;width:100%;aspect-ratio:1;position:relative;z-index:1;overflow:visible;padding:2px}.treasureHuntCell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:none;border-radius:0;background:transparent;cursor:pointer;position:relative;overflow:visible}.treasureHuntCell:hover{background:#0000000d}.treasureHuntCell.selected{outline:2px solid var(--cell-selected-outline);outline-offset:-1px;background:#6b8c5a40;z-index:1}.treasureHuntCell:focus-visible{outline:2px solid var(--cell-selected-outline);outline-offset:1px;z-index:1}.treasureHuntCell .fogOverlay{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;pointer-events:none;z-index:4;border-radius:2px}.treasureHuntCell .fogOverlay.fogFull{background:#a08c6e40}.treasureHuntCell .fogOverlay.fogPartial{background:transparent}.treasureHuntCell.shroudFull{cursor:default}.treasureHuntCell .cellEdges{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.treasureHuntCell .edge{position:absolute;display:block}.treasureHuntCell .pencilStroke{position:absolute;background-color:var(--cell-color, #3d2a1e);-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.treasureHuntCell .pencilStroke:nth-child(2){opacity:.7;-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='3' stitchTiles='stitch' seed='5'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 15 -5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='3' stitchTiles='stitch' seed='5'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 15 -5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.treasureHuntCell .edgeTop,.treasureHuntCell .edgeBottom{left:-1px;right:-1px;height:6px}.treasureHuntCell .edgeTop{top:-3px}.treasureHuntCell .edgeBottom{bottom:-3px}.treasureHuntCell .edgeTop .pencilStroke,.treasureHuntCell .edgeBottom .pencilStroke{left:0;right:0;height:2px;top:2px}.treasureHuntCell .edgeTop .pencilStroke:nth-child(2),.treasureHuntCell .edgeBottom .pencilStroke:nth-child(2){top:2.5px;transform:translate(.5px)}.treasureHuntCell .edgeLeft,.treasureHuntCell .edgeRight{top:-1px;bottom:-1px;width:6px}.treasureHuntCell .edgeLeft{left:-3px}.treasureHuntCell .edgeRight{right:-3px}.treasureHuntCell .edgeLeft .pencilStroke,.treasureHuntCell .edgeRight .pencilStroke{top:0;bottom:0;width:2px;left:2px}.treasureHuntCell .edgeLeft .pencilStroke:nth-child(2),.treasureHuntCell .edgeRight .pencilStroke:nth-child(2){left:2.5px;transform:translateY(.5px)}.treasureHuntCell .edge.wall .pencilStroke{opacity:.85}.treasureHuntCell .edge.wall .pencilStroke:nth-child(2){opacity:.5}.treasureHuntCell .edgeTop.door .pencilStroke,.treasureHuntCell .edgeBottom.door .pencilStroke{clip-path:polygon(0% 0%,32% 0%,32% 100%,0% 100%,0% 0%,68% 0%,68% 100%,100% 100%,100% 0%,68% 0%)}.treasureHuntCell .edgeLeft.door .pencilStroke,.treasureHuntCell .edgeRight.door .pencilStroke{clip-path:polygon(0% 0%,100% 0%,100% 32%,0% 32%,0% 0%,0% 68%,100% 68%,100% 100%,0% 100%,0% 68%)}.treasureHuntCell .pathConnector{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.5}.treasureHuntCell .pathConnector:before{content:"";position:absolute;left:45%;width:10%;background-color:#5078c8}.treasureHuntCell .pathConnector:after{content:"";position:absolute;top:45%;height:10%;background-color:#5078c8}.treasureHuntCell .pathConnector:before,.treasureHuntCell .pathConnector:after{display:none}.treasureHuntCell .pathConnector.path-up:not(.path-down):before{display:block;top:0;height:55%;border-radius:0 0 5px 5px}.treasureHuntCell .pathConnector.path-down:not(.path-up):before{display:block;top:45%;height:55%;border-radius:5px 5px 0 0}.treasureHuntCell .pathConnector.path-up.path-down:before{display:block;top:0;height:100%;border-radius:0}.treasureHuntCell .pathConnector.path-left:not(.path-right):after{display:block;left:0;width:55%;border-radius:0 5px 5px 0}.treasureHuntCell .pathConnector.path-right:not(.path-left):after{display:block;left:45%;width:55%;border-radius:5px 0 0 5px}.treasureHuntCell .pathConnector.path-left.path-right:after{display:block;left:0;width:100%;border-radius:0}.treasureHuntCell .pathConnector.path-up:not(.path-down).path-left:before,.treasureHuntCell .pathConnector.path-up:not(.path-down).path-right:before,.treasureHuntCell .pathConnector.path-down:not(.path-up).path-left:before,.treasureHuntCell .pathConnector.path-down:not(.path-up).path-right:before{border-radius:0}.treasureHuntCell .pathConnector.path-left:not(.path-right).path-up:after,.treasureHuntCell .pathConnector.path-left:not(.path-right).path-down:after,.treasureHuntCell .pathConnector.path-right:not(.path-left).path-up:after,.treasureHuntCell .pathConnector.path-right:not(.path-left).path-down:after{border-radius:0}.treasureHuntCell.onPath{background:#5078c81a}.treasureHuntGrid .characterOverlay{position:absolute;width:calc(100% / 7 * .4);height:calc(100% / 7 * .4);border-radius:50%;background-color:var(--cell-color, #3d2a1e);z-index:10;pointer-events:none;transform:translate(-50%,-50%);transition:left .15s ease-out,top .15s ease-out}.treasureHuntCell.readonly,.treasureHuntCell.playback{cursor:default;pointer-events:none}.treasureHuntCell.readonly:hover,.treasureHuntCell.playback:hover{background:transparent}.treasureHuntCellNotes.noteSymbol{position:absolute;top:4px;right:5px;z-index:5;font-size:1.6em;font-weight:800;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.25),0 0 1px rgba(255,255,255,.4);-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 15 -5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 15 -5'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.treasureHuntCellNotes.noteSymbol[data-char="*"]{font-size:2.2em;top:1px;right:4px}[data-theme=high-contrast-light] .treasureHuntCell.selected,[data-theme=high-contrast-dark] .treasureHuntCell.selected{outline-width:3px;background:var(--cell-selected-bg)}[data-theme=high-contrast-light] .treasureHuntCell:focus-visible,[data-theme=high-contrast-dark] .treasureHuntCell:focus-visible{outline-width:3px;outline-offset:2px}[data-theme=high-contrast-light] .treasureHuntCell .fogOverlay.fogFull,[data-theme=high-contrast-dark] .treasureHuntCell .fogOverlay.fogFull{background:#8080804d}[data-theme=high-contrast-light] .treasureHuntCell .pencilStroke,[data-theme=high-contrast-dark] .treasureHuntCell .pencilStroke{-webkit-mask-image:none;mask-image:none;opacity:1}[data-theme=high-contrast-light] .treasureHuntCell .pencilStroke:nth-child(2),[data-theme=high-contrast-dark] .treasureHuntCell .pencilStroke:nth-child(2){display:none}[data-theme=high-contrast-light] .treasureHuntCellNotes.noteSymbol,[data-theme=high-contrast-dark] .treasureHuntCellNotes.noteSymbol{-webkit-mask-image:none;mask-image:none;text-shadow:none}.symbolPalette{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:0;width:100%;max-width:400px}.colorDropdownWrap{position:relative}.colorDropdownButton{gap:6px;padding:0 10px;min-width:60px}.colorSwatch{width:16px;height:16px;border-radius:2px;border:1px solid rgba(0,0,0,.2);flex-shrink:0}.dropdownArrow{font-size:10px;opacity:.6}.colorDropdownMenu{position:absolute;bottom:100%;left:0;margin-bottom:4px;background:var(--cell-bg, #e7d7bf);border:1px solid var(--cell-border, rgba(139, 109, 76, .3));border-radius:3px;box-shadow:2px 4px 8px #0003,4px 6px 12px #00000026;z-index:100;min-width:100px;overflow:hidden}.colorDropdownItem{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;cursor:pointer;font-family:var(--font-heading, Georgia, "Times New Roman", serif);font-size:14px;color:var(--cell-color, #3d2a1e);text-align:left;transition:background .1s ease}.colorDropdownItem:hover{background:var(--cell-hover, #dcc9a8)}.colorDropdownItem.selected{background:var(--cell-selected, #d4c4a0);font-weight:600}.colorName{flex:1}.symbolButton{display:flex;align-items:center;justify-content:center;width:40px;height:38px;border-radius:3px;border:1px solid var(--cell-border, rgba(139, 109, 76, .3));background:var(--cell-bg, #e7d7bf);color:var(--cell-color, #3d2a1e);cursor:pointer;font-size:22px;font-weight:800;font-family:var(--font-heading, Georgia, "Times New Roman", serif);transition:all .12s ease;position:relative;z-index:1;box-shadow:1px 2px 3px #0003,2px 3px 6px #00000026;overflow:hidden}.symbolButton:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.5;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.symbolButton:hover:not(:disabled){transform:translateY(-1px);box-shadow:2px 3px 5px #00000040,3px 5px 10px #0003}.symbolButton:active:not(:disabled){transform:translateY(0);background:var(--cell-hover, #dcc9a8);box-shadow:1px 1px 2px #0003,1px 2px 4px #00000026}.symbolButton.active{border-color:currentColor;box-shadow:0 0 0 2px currentColor,1px 2px 3px #0003}.symbolButton:disabled{opacity:.4;cursor:not-allowed}.symbolButton.clearButton{background:var(--cell-conflict-bg, #e8c4c4);color:var(--cell-conflict-color, #8b4444)}.symbolButton.clearButton:hover:not(:disabled){background:var(--cell-conflict-selected-bg, #ddb0b0)}[data-theme=light] .symbolButton{box-shadow:1px 1px 2px #0000001a,1px 2px 4px #00000014}[data-theme=light] .symbolButton:hover:not(:disabled){box-shadow:1px 2px 3px #0000001f,2px 3px 6px #0000001a}[data-theme=high-contrast-light] .symbolButton,[data-theme=high-contrast-dark] .symbolButton{border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .symbolButton:before,[data-theme=high-contrast-dark] .symbolButton:before{display:none}[data-theme=high-contrast-light] .symbolButton:hover:not(:disabled),[data-theme=high-contrast-dark] .symbolButton:hover:not(:disabled){box-shadow:none;transform:none;border-color:var(--green)}[data-theme=high-contrast-light] .symbolButton:active:not(:disabled),[data-theme=high-contrast-dark] .symbolButton:active:not(:disabled){box-shadow:none}[data-theme=high-contrast-light] .symbolButton.active,[data-theme=high-contrast-dark] .symbolButton.active{box-shadow:none;outline:3px solid currentColor;outline-offset:-3px}[data-theme=high-contrast-light] .colorDropdownMenu,[data-theme=high-contrast-dark] .colorDropdownMenu{border:2px solid var(--stroke);box-shadow:none}.qwertyKeyboard{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:20px;max-width:var(--game-board-max-width, min(520px, 100%));margin-left:auto;margin-right:auto}.keyboardRow{display:flex;justify-content:center;gap:4px}.keyboardKey{width:36px;height:38px;border-radius:3px;border:1px solid var(--cell-border);background:var(--cell-bg);color:var(--cell-color);font-family:var(--font-heading);font-weight:500;font-size:16px;cursor:pointer;transition:all .12s ease;position:relative;z-index:1;box-shadow:1px 2px 3px #0003,2px 3px 6px #00000026;overflow:hidden}.keyboardKey:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.5;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.keyboardKey:hover:not(:disabled){background:var(--cell-bg);transform:translateY(-1px);box-shadow:2px 3px 5px #00000040,3px 5px 10px #0003}.keyboardKey:active:not(:disabled){transform:translateY(0);background:var(--cell-hover);box-shadow:1px 1px 2px #0003,1px 2px 4px #00000026}.keyboardKey:disabled{opacity:.4;cursor:not-allowed}.keyboardKey.used{background:color-mix(in srgb,var(--cell-bg) 85%,#000)}.keyboardKey.highlighted{background:color-mix(in srgb,var(--green) 20%,var(--cell-bg));border-color:var(--green);box-shadow:0 0 0 1px var(--green),1px 2px 3px #0003,2px 3px 6px #00000026}.keyboardKey.clearKey{width:48px;background:var(--cell-conflict-bg);color:var(--cell-conflict-color);display:flex;align-items:center;justify-content:center}.keyboardKey.clearKey:hover:not(:disabled){background:var(--cell-conflict-selected-bg)}[data-theme=light] .keyboardKey{box-shadow:1px 1px 2px #0000001a,1px 2px 4px #00000014}[data-theme=light] .keyboardKey:hover:not(:disabled){box-shadow:1px 2px 3px #0000001f,2px 3px 6px #0000001a}@media (max-width: 480px){.qwertyKeyboard{gap:4px}.keyboardRow{gap:3px}.keyboardKey{width:30px;height:34px;font-size:14px}.keyboardKey.clearKey{width:42px}}@media (max-width: 360px){.keyboardKey{width:26px;height:32px;font-size:13px}.keyboardKey.clearKey{width:36px}}[data-theme=high-contrast-light] .keyboardKey,[data-theme=high-contrast-dark] .keyboardKey{border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .keyboardKey:before,[data-theme=high-contrast-dark] .keyboardKey:before{display:none}[data-theme=high-contrast-light] .keyboardKey:hover:not(:disabled),[data-theme=high-contrast-dark] .keyboardKey:hover:not(:disabled){box-shadow:none;transform:none;border-color:var(--green)}[data-theme=high-contrast-light] .keyboardKey:active:not(:disabled),[data-theme=high-contrast-dark] .keyboardKey:active:not(:disabled){box-shadow:none}[data-theme=high-contrast-light] .keyboardKey.used,[data-theme=high-contrast-dark] .keyboardKey.used{background:var(--cell-given-bg)}[data-theme=high-contrast-light] .keyboardKey.highlighted,[data-theme=high-contrast-dark] .keyboardKey.highlighted{background:var(--cell-selected-bg);border-color:var(--green);box-shadow:none}*{scrollbar-width:thin;scrollbar-color:rgba(139,109,76,.5) rgba(139,109,76,.1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#8b6d4c1a;border-radius:4px}::-webkit-scrollbar-thumb{background:#8b6d4c66;border-radius:4px;border:1px solid rgba(139,109,76,.2)}::-webkit-scrollbar-thumb:hover{background:#8b6d4c99}::-webkit-scrollbar-corner{background:#8b6d4c1a}[data-theme=high-contrast-light] *,[data-theme=high-contrast-dark] *{scrollbar-color:var(--stroke) var(--bg2)}[data-theme=high-contrast-light] ::-webkit-scrollbar-track,[data-theme=high-contrast-dark] ::-webkit-scrollbar-track{background:var(--bg2)}[data-theme=high-contrast-light] ::-webkit-scrollbar-thumb,[data-theme=high-contrast-dark] ::-webkit-scrollbar-thumb{background:var(--muted);border:1px solid var(--stroke)}[data-theme=high-contrast-light] ::-webkit-scrollbar-thumb:hover,[data-theme=high-contrast-dark] ::-webkit-scrollbar-thumb:hover{background:var(--stroke)}[data-theme=high-contrast-light] ::-webkit-scrollbar-corner,[data-theme=high-contrast-dark] ::-webkit-scrollbar-corner{background:var(--bg2)}.modalOverlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;cursor:pointer;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modalContent{background-color:var(--content-card-bg);border:1px solid rgba(139,109,76,.4);border-radius:3px;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:4px 6px 16px #00000080,8px 14px 40px #0006;animation:modalSlideUp .25s ease;cursor:default}.modalContent:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}.modalHeader{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 1rem;position:relative;z-index:1}.modalHeader h2{margin:0;font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:#3d2a1e}.modalClose{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#6b5344;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:all .15s ease}.modalClose:hover{background-color:#8b6d4c26;color:#3d2a1e}.modalBody{padding:0 1.5rem 1.5rem;position:relative;z-index:1}.confirmationModalBody{padding:0 1.5rem 1.5rem}.confirmationMessage{margin:0 0 1.5rem;font-size:1rem;line-height:1.5;color:#49392e;text-align:center}.confirmationActions{display:flex;gap:.75rem;justify-content:center}.confirmationActions .button{flex:1;max-width:150px;padding:.625rem 1rem;border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#fff6;color:#3d2a1e;font-family:var(--font-heading);font-size:.875rem;font-weight:400;cursor:pointer;transition:all .15s ease;height:auto;box-shadow:none}.confirmationActions .button:hover{border-color:#8b6d4c80;background:#fff9;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.confirmationActions .button:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}.confirmationActions .buttonGhost{background:#8b6d4c1a}.confirmationActions .buttonGhost:hover{background:#8b6d4c33}.statsModal{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");background-blend-mode:overlay;background-attachment:local}.statsModal:before{display:none}.statsSection{margin-bottom:1.5rem}.statsSection:last-child{margin-bottom:0}.statsSection h3{margin:0 0 .75rem;font-family:var(--font-heading);font-size:1rem;font-weight:400;color:#3d2a1e}.statsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 480px){.statsGrid{grid-template-columns:1fr}}.statCard{background:#fff6;border:1px solid rgba(139,109,76,.3);border-radius:3px;padding:.75rem;text-align:center}.statValue{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:#3d2a1e;margin-bottom:.25rem}.statLabel{font-size:.75rem;color:#6b5344}.statsTable{display:flex;flex-direction:column;gap:.5rem}.statsTableRow{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background:#fff6;border:1px solid rgba(139,109,76,.3);border-radius:3px}.statsTableLabel{font-size:.875rem;color:#3d2a1e;text-transform:capitalize}.statsTableValue{font-family:var(--font-heading);font-size:.875rem;font-weight:400;color:#3d2a1e}.recentCompletionsList{display:flex;flex-direction:column;gap:.5rem}.recentCompletionItem{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;padding:.625rem .875rem;background:#fff6;border:1px solid rgba(139,109,76,.3);border-radius:3px;font-size:.8125rem}.recentCompletionDate{color:#3d2a1e}.recentCompletionDifficulty{color:#6b5344;text-transform:capitalize}.recentCompletionTime{font-family:var(--font-heading);font-weight:400;color:#3d2a1e;text-align:right}.statsResetSection{display:flex;justify-content:center;padding-top:.5rem}.statsResetSection .button{padding:.625rem 1rem;border-radius:3px;border:1px solid rgba(139,109,76,.3);background:#8b6d4c1a;color:#3d2a1e;font-family:var(--font-heading);font-size:.875rem;font-weight:400;cursor:pointer;transition:all .15s ease;height:auto;box-shadow:none}.statsResetSection .button:hover{border-color:#8b6d4c80;background:#8b6d4c33;transform:translateY(-2px);box-shadow:2px 3px 8px #00000026}.statsResetSection .button:active{transform:translateY(0);box-shadow:1px 2px 4px #0000001a}[data-theme=high-contrast-light] .modalOverlay,[data-theme=high-contrast-dark] .modalOverlay{background:#000000b3;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=high-contrast-light] .modalContent,[data-theme=high-contrast-dark] .modalContent{background-color:var(--content-card-bg);border:2px solid var(--stroke);box-shadow:none}[data-theme=high-contrast-light] .modalContent:before,[data-theme=high-contrast-dark] .modalContent:before{display:none}[data-theme=high-contrast-light] .modalHeader h2,[data-theme=high-contrast-dark] .modalHeader h2{color:var(--heading-color)}[data-theme=high-contrast-light] .modalClose,[data-theme=high-contrast-dark] .modalClose{color:var(--text)}[data-theme=high-contrast-light] .modalClose:hover,[data-theme=high-contrast-dark] .modalClose:hover{background-color:var(--card2);color:var(--heading-color)}[data-theme=high-contrast-light] .confirmationMessage,[data-theme=high-contrast-dark] .confirmationMessage{color:var(--text)}[data-theme=high-contrast-light] .confirmationActions .button,[data-theme=high-contrast-dark] .confirmationActions .button{border:2px solid var(--stroke);background:var(--card);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .confirmationActions .button:hover,[data-theme=high-contrast-dark] .confirmationActions .button:hover{border-color:var(--green);background:var(--card2);box-shadow:none}[data-theme=high-contrast-light] .confirmationActions .buttonGhost,[data-theme=high-contrast-dark] .confirmationActions .buttonGhost{background:var(--card2)}[data-theme=high-contrast-light] .confirmationActions .buttonGhost:hover,[data-theme=high-contrast-dark] .confirmationActions .buttonGhost:hover{background:var(--bg2)}[data-theme=high-contrast-light] .statsModal,[data-theme=high-contrast-dark] .statsModal{background-image:none}[data-theme=high-contrast-light] .statsSection h3,[data-theme=high-contrast-dark] .statsSection h3{color:var(--heading-color)}[data-theme=high-contrast-light] .statCard,[data-theme=high-contrast-dark] .statCard{background:var(--card);border:2px solid var(--stroke)}[data-theme=high-contrast-light] .statValue,[data-theme=high-contrast-dark] .statValue{color:var(--heading-color)}[data-theme=high-contrast-light] .statLabel,[data-theme=high-contrast-dark] .statLabel{color:var(--muted)}[data-theme=high-contrast-light] .statsTableRow,[data-theme=high-contrast-dark] .statsTableRow{background:var(--card);border:2px solid var(--stroke)}[data-theme=high-contrast-light] .statsTableLabel,[data-theme=high-contrast-dark] .statsTableLabel{color:var(--text)}[data-theme=high-contrast-light] .statsTableValue,[data-theme=high-contrast-dark] .statsTableValue{color:var(--heading-color)}[data-theme=high-contrast-light] .recentCompletionItem,[data-theme=high-contrast-dark] .recentCompletionItem{background:var(--card);border:2px solid var(--stroke)}[data-theme=high-contrast-light] .recentCompletionDate,[data-theme=high-contrast-dark] .recentCompletionDate{color:var(--text)}[data-theme=high-contrast-light] .recentCompletionDifficulty,[data-theme=high-contrast-dark] .recentCompletionDifficulty{color:var(--muted)}[data-theme=high-contrast-light] .recentCompletionTime,[data-theme=high-contrast-dark] .recentCompletionTime{color:var(--heading-color)}[data-theme=high-contrast-light] .statsResetSection .button,[data-theme=high-contrast-dark] .statsResetSection .button{border:2px solid var(--stroke);background:var(--card2);color:var(--text);box-shadow:none}[data-theme=high-contrast-light] .statsResetSection .button:hover,[data-theme=high-contrast-dark] .statsResetSection .button:hover{border-color:var(--red);background:var(--card);box-shadow:none}@font-face{font-family:Libre Baskerville;src:url(/fonts/Libre-Baskerville.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--gap-xs: 8px;--gap-sm: 10px;--gap-md: 12px;--gap-lg: 14px;--gap-xl: 16px;--gap-2xl: 18px;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 16px;--radius-xl: 18px;--radius-full: 999px;--font-body: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--font-heading: "Libre Baskerville", Georgia, "Times New Roman", serif;--letter-tight: -.04em;--letter-snug: -.02em;--letter-normal: -.01em;--letter-wide: .08em;--green: #88c070;--green2: #9ed482;--blue: #7ba8d4;--red: #d47d7d}:root,[data-theme=dark]{--bg0: #1a1612;--bg1: #221e1a;--bg2: #2a2520;--card: rgba(255, 230, 200, .04);--card2: rgba(255, 230, 200, .06);--stroke: rgba(255, 220, 180, .12);--text: rgba(255, 250, 245, .95);--muted: rgba(255, 245, 235, .7);--faint: rgba(255, 240, 225, .45);--ambient-glow-1: rgba(136, 192, 112, .08);--ambient-glow-2: rgba(123, 168, 212, .08);--shadow: 0 8px 32px rgba(0, 0, 0, .4);--shadow-sm: 0 4px 16px rgba(0, 0, 0, .25);--shadow-card: 0 1px 0 rgba(255, 230, 200, .04), 0 8px 24px rgba(0, 0, 0, .35);--grain-opacity: .06;--grain-blend: soft-light;--page-bg: #1a1612;--page-texture-opacity: 0;--heading-color: #f5ead8;--subheading-color: #ccb499;--footer-color: rgba(255, 240, 225, .45);--paper-card-bg: #bb986d;--paper-card-border: rgba(139, 109, 76, .4);--card-wrapper-bg: #684128;--content-card-bg: #E7CFB2;--mini-grid-bg: #e7d7bf;--mini-grid-border: #8b7355;--mini-cell-border: rgba(139, 109, 76, .3);--divider-opacity: .5;--cell-bg: #e7d7bf;--cell-hover: #dcc9a8;--cell-border: rgba(139, 109, 76, .3);--cell-color: #3d2a1e;--cell-given-bg: #d2c2a5;--cell-given-color: #2a1c14;--cell-thick-border: #8b6d4c;--cell-selected-bg: #c8d9b8;--cell-selected-outline: #6b8c5a;--cell-conflict-bg: #e8c4c4;--cell-conflict-color: #8b4444;--cell-conflict-outline: #a85555;--cell-conflict-selected-bg: #ddb0b0;--cell-matching-bg: #c4d4e8;--cell-given-matching-bg: #c8d8e8;color-scheme:dark}[data-theme=light]{--bg0: #f9f6f1;--bg1: #f4efe7;--bg2: #ede7dd;--card: rgba(120, 90, 60, .03);--card2: rgba(120, 90, 60, .05);--stroke: rgba(100, 80, 60, .2);--text: rgba(30, 24, 20, 1);--muted: rgba(55, 45, 35, .85);--faint: rgba(80, 65, 50, .6);--green: #2d8a5e;--green2: #3d9b6e;--ambient-glow-1: rgba(136, 192, 112, .04);--ambient-glow-2: rgba(123, 168, 212, .04);--shadow: 0 4px 16px rgba(100, 80, 60, .08);--shadow-sm: 0 2px 8px rgba(100, 80, 60, .06);--shadow-card: 0 1px 0 rgba(100, 80, 60, .03), 0 4px 12px rgba(100, 80, 60, .08);--grain-opacity: .025;--grain-blend: multiply;--page-bg: #f5efe5;--page-texture-opacity: .4;--heading-color: #5c4a3a;--subheading-color: #6b5344;--footer-color: rgba(60, 48, 38, .75);--paper-card-bg: #d9cab5;--paper-card-border: rgba(120, 90, 60, .35);--card-wrapper-bg: #8b6b4a;--content-card-bg: #d9cab5;--mini-grid-bg: #efe8dc;--mini-grid-border: #a89070;--mini-cell-border: rgba(120, 90, 60, .25);--divider-opacity: .6;--cell-bg: #e8e1d4;--cell-hover: #e5dccf;--cell-border: rgba(120, 90, 60, .25);--cell-color: #3d2a1e;--cell-given-bg: #d5c9b8;--cell-given-color: #2a1c14;--cell-thick-border: #a89070;--cell-selected-bg: #d0e0c8;--cell-selected-outline: #5a7a4a;--cell-conflict-bg: #f0d4d4;--cell-conflict-color: #7a3333;--cell-conflict-outline: #985050;--cell-conflict-selected-bg: #e8c0c0;--cell-matching-bg: #d0dce8;--cell-given-matching-bg: #d0dce8;color-scheme:light}[data-theme=high-contrast-light]{--bg0: #ffffff;--bg1: #f5f5f5;--bg2: #ebebeb;--card: #ffffff;--card2: #f0f0f0;--stroke: #2d2d2d;--text: #1a1a1a;--muted: #3d3d3d;--faint: #5c5c5c;--green: #006b3f;--green2: #007a47;--blue: #0055b3;--red: #b32400;--ambient-glow-1: transparent;--ambient-glow-2: transparent;--shadow: none;--shadow-sm: none;--shadow-card: none;--grain-opacity: 0;--grain-blend: normal;--page-texture-opacity: 0;--page-bg: #ffffff;--heading-color: #1a1a1a;--subheading-color: #2d2d2d;--footer-color: #3d3d3d;--paper-card-bg: #ffffff;--paper-card-border: #2d2d2d;--card-wrapper-bg: #3d3d3d;--content-card-bg: #ffffff;--mini-grid-bg: #ffffff;--mini-grid-border: #1a1a1a;--mini-cell-border: #5c5c5c;--divider-opacity: 1;--cell-bg: #ffffff;--cell-hover: #e8e8e8;--cell-border: #5c5c5c;--cell-color: #1a1a1a;--cell-given-bg: #d4d4d4;--cell-given-color: #1a1a1a;--cell-thick-border: #1a1a1a;--cell-selected-bg: #c8e6c9;--cell-selected-outline: #006b3f;--cell-conflict-bg: #ffcdd2;--cell-conflict-color: #b32400;--cell-conflict-outline: #b32400;--cell-conflict-selected-bg: #ef9a9a;--cell-matching-bg: #bbdefb;--cell-given-matching-bg: #90caf9;color-scheme:light}[data-theme=high-contrast-dark]{--bg0: #000000;--bg1: #0a0a0a;--bg2: #141414;--card: #0a0a0a;--card2: #1a1a1a;--stroke: #d0d0d0;--text: #ffffff;--muted: #e0e0e0;--faint: #b0b0b0;--green: #4ade80;--green2: #6ee7a0;--blue: #60a5fa;--red: #f87171;--ambient-glow-1: transparent;--ambient-glow-2: transparent;--shadow: none;--shadow-sm: none;--shadow-card: none;--grain-opacity: 0;--grain-blend: normal;--page-texture-opacity: 0;--page-bg: #000000;--heading-color: #ffffff;--subheading-color: #e0e0e0;--footer-color: #b0b0b0;--paper-card-bg: #1a1a1a;--paper-card-border: #d0d0d0;--card-wrapper-bg: #0a0a0a;--content-card-bg: #1a1a1a;--mini-grid-bg: #1a1a1a;--mini-grid-border: #ffffff;--mini-cell-border: #808080;--divider-opacity: 1;--cell-bg: #1a1a1a;--cell-hover: #2a2a2a;--cell-border: #808080;--cell-color: #ffffff;--cell-given-bg: #2d2d2d;--cell-given-color: #ffffff;--cell-thick-border: #ffffff;--cell-selected-bg: #1a3d2a;--cell-selected-outline: #4ade80;--cell-conflict-bg: #3d1a1a;--cell-conflict-color: #f87171;--cell-conflict-outline: #f87171;--cell-conflict-selected-bg: #4d2a2a;--cell-matching-bg: #1a2d4d;--cell-given-matching-bg: #1a3d5d;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}body{margin:0;background:url(/desktop.png) center / cover no-repeat fixed;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.85) 100%);z-index:0}[data-theme=light] body{background:var(--page-bg)}[data-theme=light] body:before{background:none}[data-theme=light] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:var(--page-texture-opacity);z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='5' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23fff' surfaceScale='3'%3E%3CfeDistantLight azimuth='45' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E")}[data-theme=high-contrast-light] body,[data-theme=high-contrast-dark] body{background:var(--page-bg)}[data-theme=high-contrast-light] body:before,[data-theme=high-contrast-dark] body:before,[data-theme=high-contrast-light] body:after,[data-theme=high-contrast-dark] body:after{display:none}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skipLink{position:fixed;top:-100px;left:1rem;z-index:99999;padding:1rem 1.5rem;background:#2a2520;color:#f5f0e8;border:2px solid #f5f0e8;border-radius:var(--radius-md, 8px);text-decoration:none;font-weight:600;box-shadow:0 4px 20px #00000080}.skipLink:focus{top:1rem;outline:3px solid var(--accent-primary, #88c070);outline-offset:2px}[data-theme=light] .skipLink{background:#f5f0e8;color:#2a2520;border-color:#2a2520}[data-theme=high-contrast-light] .skipLink{background:#fff;color:#000;border-color:#000}[data-theme=high-contrast-dark] .skipLink{background:#000;color:#fff;border-color:#fff}.page{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.main,.footerInner{width:min(1080px,calc(100% - 48px));margin:0 auto}.main,.footer{position:relative;z-index:1}.header{position:relative;z-index:100}.header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-xl);padding:22px 24px 0}.siteTitle{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:22px;font-weight:300;color:var(--heading-color);margin:0;flex:1;text-align:center}.siteTitleMain{font-weight:700;letter-spacing:.08em}.siteTitleSub{font-weight:400;letter-spacing:.2em;opacity:.9}.brand{font-weight:700;letter-spacing:var(--letter-snug);display:inline-flex;align-items:center;gap:var(--gap-sm)}.brand:before{content:"";width:10px;height:10px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--green),var(--blue));box-shadow:0 0 0 6px color-mix(in srgb,var(--green) 12%,transparent)}.nav{display:flex;gap:var(--gap-lg);align-items:center}.navLink{opacity:.78;font-size:14px}.navLink:hover{opacity:1}.main{padding:12px 0 64px}.footer{padding:28px 0 36px}.footerInner{display:flex;justify-content:center;gap:var(--gap-sm);align-items:center;color:var(--footer-color);font-size:13px}.footerSep{opacity:.35}.footerLink{opacity:.85}.button{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--stroke);background:linear-gradient(180deg,color-mix(in srgb,var(--green) 18%,transparent),color-mix(in srgb,var(--green) 8%,transparent));box-shadow:var(--shadow);font-weight:600;font-size:14px;text-decoration:none!important;cursor:pointer}.button:hover{border-color:color-mix(in srgb,var(--green) 40%,transparent)}.buttonGhost{background:var(--card);box-shadow:none}.buttonGhost:hover{border-color:color-mix(in srgb,var(--blue) 40%,transparent)}.buttonActive{background:color-mix(in srgb,var(--green) 45%,transparent);border-color:color-mix(in srgb,var(--green) 70%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 50%,transparent)}.buttonActive:hover{border-color:color-mix(in srgb,var(--green) 80%,transparent)}.button:disabled,.buttonGhost:disabled{opacity:.4;cursor:not-allowed}.kicker{margin:0 0 10px;color:var(--muted);letter-spacing:var(--letter-wide);text-transform:uppercase;font-size:12px}.title{margin:0 0 12px;letter-spacing:var(--letter-tight);line-height:1.04;font-size:clamp(34px,5vw,52px)}.subtitle{margin:0 0 18px;color:var(--muted);line-height:1.6;font-size:16px;max-width:62ch}.h2{margin:0;font-size:22px;letter-spacing:var(--letter-snug)}.card{border:1px solid var(--stroke);background:var(--card);border-radius:var(--radius-xl);padding:var(--gap-xl);box-shadow:var(--shadow-sm)}.card:hover{transform:translateY(-2px);transition:transform .16s ease,box-shadow .16s ease;box-shadow:var(--shadow)}.pill{font-size:12px;color:var(--faint);border:1px solid var(--stroke);background:var(--card);padding:6px 10px;border-radius:var(--radius-full)}.tag{font-size:12px;padding:5px 9px;border-radius:var(--radius-full);background:var(--bg2);border:1px solid var(--stroke);color:var(--faint)}.divider{height:1px;background:var(--stroke);margin:var(--gap-xl) 0}.icon{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--bg2);border:1px solid var(--stroke);box-shadow:inset 0 1px 0 var(--card2);font-weight:800}.themeSwitcher{margin-left:auto}[data-theme=high-contrast-light] .button,[data-theme=high-contrast-dark] .button{background:var(--green);color:#fff;border:2px solid var(--green);box-shadow:none}[data-theme=high-contrast-dark] .button{color:#000}[data-theme=high-contrast-light] .button:hover,[data-theme=high-contrast-dark] .button:hover{background:var(--green2);border-color:var(--green2)}[data-theme=high-contrast-light] .button:focus,[data-theme=high-contrast-dark] .button:focus{outline:2px solid var(--text);outline-offset:2px}[data-theme=high-contrast-light] .buttonGhost,[data-theme=high-contrast-dark] .buttonGhost{background:var(--card);color:var(--text);border:2px solid var(--stroke)}[data-theme=high-contrast-light] .buttonGhost:hover,[data-theme=high-contrast-dark] .buttonGhost:hover{border-color:var(--blue);background:var(--card2)}[data-theme=high-contrast-light] .buttonActive,[data-theme=high-contrast-dark] .buttonActive{background:var(--green);border-color:var(--green);color:#fff;box-shadow:inset 0 0 0 2px #fff}[data-theme=high-contrast-dark] .buttonActive{color:#000;box-shadow:inset 0 0 0 2px #000}[data-theme=high-contrast-light] .buttonActive:hover,[data-theme=high-contrast-dark] .buttonActive:hover{border-color:var(--green2)}[data-theme=high-contrast-light] .button:disabled,[data-theme=high-contrast-light] .buttonGhost:disabled,[data-theme=high-contrast-dark] .button:disabled,[data-theme=high-contrast-dark] .buttonGhost:disabled{opacity:.35;border-style:dashed;cursor:not-allowed}[data-theme=high-contrast-light] .card,[data-theme=high-contrast-dark] .card{box-shadow:none;border:2px solid var(--stroke)}[data-theme=high-contrast-light] .card:hover,[data-theme=high-contrast-dark] .card:hover{box-shadow:none;border-color:var(--muted)}[data-theme=high-contrast-light] .themeSwitcher-button:hover,[data-theme=high-contrast-dark] .themeSwitcher-button:hover{border-color:var(--blue);background:var(--card2);transform:none}body:has(.gamePage) .main{padding:16px 0 0}.gameTop{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md);flex-wrap:wrap;margin-bottom:28px;max-width:var(--game-board-max-width, 100%);margin-left:auto;margin-right:auto;container-type:inline-size}.gameInfo{flex:1;min-width:120px}.gameKicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted);margin-bottom:4px}.gameTitle{margin:0 0 4px;font-family:var(--font-heading);font-weight:400;letter-spacing:var(--letter-tight);line-height:1.1;font-size:clamp(24px,3.5vw,32px);color:var(--heading-color)}@container (max-width: 400px){.gameTitle{font-size:clamp(18px,6cqw,24px)}.gameKicker{font-size:9px}}@container (max-width: 320px){.gameTitle{font-size:clamp(16px,5cqw,20px)}}.gameDateRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gameDate{margin:0;color:var(--faint);font-size:13px;line-height:1.4}.difficultyChangeLink{background:none;border:none;padding:2px 6px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;text-transform:lowercase;transition:all .12s ease;border-radius:var(--radius-sm);line-height:1}.difficultyChangeLink:hover{color:var(--text);background:var(--bg2)}.gameActions{display:flex;gap:var(--gap-xs);flex-wrap:nowrap;flex-shrink:0}.iconButton{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center}.difficultyRow{margin-bottom:var(--gap-lg);display:flex;gap:var(--gap-sm);flex-wrap:wrap}.diffButton{height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--stroke);background:var(--card);color:var(--text);font-weight:800;font-size:13px;text-transform:capitalize;cursor:pointer;transition:all .12s ease}.diffButton:hover:not(:disabled){border-color:color-mix(in srgb,var(--blue) 40%,transparent)}.diffButton.active{border-color:color-mix(in srgb,var(--green) 40%,transparent);background:color-mix(in srgb,var(--green) 12%,transparent)}.diffButton:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 640px){body:has(.gamePage) .main{padding:12px 0 0}.gameTop{gap:var(--gap-sm);margin-bottom:20px}.gameKicker{font-size:10px;margin-bottom:2px}.gameTitle{font-size:clamp(20px,5vw,28px);margin-bottom:2px}.gameDate{font-size:12px}.gameActions{gap:6px}.gameActions .button{height:32px;padding:0 12px;font-size:13px}.gameActions .iconButton{width:40px;height:40px}.difficultyRow{margin-bottom:var(--gap-md);gap:6px}.diffButton{height:32px;padding:0 12px;font-size:12px}body:has(.gamePage) .navLink{display:none}}@media (max-width: 900px){.hero{grid-template-columns:1fr}.heroCard{order:-1}.grid{grid-template-columns:1fr}.main,.footerInner{width:min(720px,calc(100% - 48px))}}@media (max-width: 520px){.main,.footerInner{width:min(720px,calc(100% - 28px))}.header{padding-left:14px;padding-right:14px}.nav{gap:var(--gap-sm)}.title{font-size:36px}.numberPad{gap:var(--gap-xs);grid-template-columns:repeat(5,1fr)!important}.numberButton{height:34px;font-size:18px}.numberButton.clearButton{font-size:14px}.cell{font-size:18px}}
