*{box-sizing:border-box;margin:0;padding:0}:root{--tile-size:44px;--tile-gap:4px;--tile-font:1.125rem;--tile-border-width:2px;--keyboard-gap:3px;--keyboard-row-gap:6px;--key-height:44px;--key-font:.7rem;--key-radius:4px;--keyboard-max-width:100%}@media (min-width:480px){:root{--tile-size:50px;--tile-gap:5px;--tile-font:1.25rem;--keyboard-gap:4px;--keyboard-row-gap:7px;--key-height:50px;--key-font:.8rem}}@media (min-width:768px){:root{--tile-size:54px;--keyboard-gap:4px;--key-height:54px;--key-font:.85rem;--keyboard-max-width:500px}}@media (min-width:1024px){:root{--tile-size:55px;--tile-font:1.375rem;--keyboard-gap:5px;--keyboard-row-gap:8px;--key-height:58px;--key-font:.875rem;--key-radius:6px;--keyboard-max-width:500px}}@media (max-width:425px){:root{--tile-size:54px;--tile-gap:5px;--tile-font:1.25rem;--keyboard-gap:4px;--keyboard-row-gap:9px;--key-height:56px;--key-font:.8rem;--key-radius:5px}.game-grid{margin-bottom:4px}}body{color:#000;padding-top:max(12px, env(safe-area-inset-top,0px));padding-right:max(12px, env(safe-area-inset-right,0px));padding-bottom:max(12px, env(safe-area-inset-bottom,0px));padding-left:max(12px, env(safe-area-inset-left,0px));background-color:#fff;overflow-x:hidden;padding:0!important}main{flex-direction:column;min-height:100dvh;display:flex}@media (max-width:767px){html{min-height:100dvh}body{flex-direction:column;min-height:100svh;display:flex}main{flex-direction:column;flex:auto;min-height:0;display:flex}.game-shell{flex:auto;width:100%;min-height:0}.game-keyboard{margin-top:auto;padding-top:8px;padding-bottom:0}}.tile{-webkit-user-select:none;user-select:none}@keyframes tileFlip{0%{color:#000;background-color:#fff;border-color:#888;transform:scaleY(1)}49%{color:#000;background-color:#fff;border-color:#888;transform:scaleY(0)}50%{background-color:var(--tile-bg);color:#fff;border-color:var(--tile-border);transform:scaleY(0)}to{background-color:var(--tile-bg);color:#fff;border-color:var(--tile-border);transform:scaleY(1)}}.tile.flipping{animation:.5s forwards tileFlip}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.tile.pop{animation:.1s pop}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:.5s shake}button:not(.game-key):not(.game-key-wide):active,.game-key-wide:active,.game-key:active{transform:scale(.95)}.page-header{--bleed-l:max(12px, env(safe-area-inset-left,0px));--bleed-r:max(12px, env(safe-area-inset-right,0px));margin-left:calc(-1 * var(--bleed-l));margin-right:calc(-1 * var(--bleed-r));width:calc(100% + var(--bleed-l) + var(--bleed-r));background:linear-gradient(#f6f7f8 0%,#fff 48%);max-width:none;box-shadow:inset 0 1px #ffffffe6}.page-title-logo-wrap{max-width:min(100%,20rem);padding:.5rem max(1rem, env(safe-area-inset-left,0px)) .35rem max(1rem, env(safe-area-inset-right,0px));border:none;justify-content:center;align-items:center;margin:0 auto;display:flex}.page-title-logo{object-fit:contain;width:100%;height:auto;max-height:clamp(48px,14vw,88px)}.page-title-accent{background:linear-gradient(90deg,#134e3a 0%,#2d6a4f 40%,#6aaa64 100%);width:100%;height:3px;margin:0}.game-shell{min-height:0;padding-top:10px;padding-bottom:max(8px, env(safe-area-inset-bottom,0px));flex-direction:column;flex:auto;justify-content:flex-start;align-items:center;width:100%;max-width:100%;display:flex;overflow-x:hidden}.game-subtitle{text-align:center;color:#333;margin:0 0 10px;font-size:.95rem}.game-prizes-notice{text-align:center;color:#2d6a4f;max-width:22rem;margin:0 auto 14px;padding:0 12px;font-size:.85rem;font-weight:600;line-height:1.45}.game-keyboard-footnote{width:min(100%,22rem);padding:0 14px max(10px, env(safe-area-inset-bottom,0px));text-align:center;margin:12px auto 0}.game-keyboard-footnote__general{color:#6b7280;margin:0;font-size:.75rem;line-height:1.45}.game-keyboard-footnote__today{color:#374151;margin:8px 0 0;font-size:.78rem;font-weight:600;line-height:1.4}.game-keyboard-footnote__full{color:#111827;font-weight:700}.game-hint-card{text-align:center;background:linear-gradient(#f4faf6 0%,#eef5f0 100%);border:1px solid #c8e0d0;border-radius:10px;width:min(100%,17rem);margin:2px 10px 6px;padding:8px 11px 10px;box-shadow:0 1px 2px #134e3a0d,0 3px 10px #134e3a14}.game-hint-card__label{text-transform:uppercase;letter-spacing:.12em;color:#2d6a4f;margin:0 0 4px;font-size:.62rem;font-weight:700}.game-hint-card__text{color:#14532d;margin:0;font-size:.8rem;font-weight:600;line-height:1.4}.game-hint-card--reveal{background:linear-gradient(#f8f9f8 0%,#eef0ee 100%);border-color:#c5cbc7}.game-hint-card--reveal .game-hint-card__label{color:#6b7280}.game-hint-card--reveal .game-hint-card__text{color:#111827;font-size:.92rem;font-weight:700}.next-puzzle-timer-card{text-align:center;background:linear-gradient(#fafafa 0%,#f3f4f3 100%);border:1px solid #e4e6e4;border-radius:12px;width:min(100%,16rem);margin:0 auto 12px;padding:10px 14px 12px;box-shadow:0 1px 2px #0000000a,0 4px 16px #134e3a14}.next-puzzle-timer-card__label{text-transform:uppercase;letter-spacing:1.2px;color:#6b7280;margin:0 0 4px;font-size:.7rem;font-weight:600}.next-puzzle-timer-card__time{letter-spacing:.16em;color:#111;font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace;font-size:clamp(1.2rem,4.2vw,1.65rem);font-weight:800}.game-validation-layer{z-index:4;pointer-events:none;width:100%;height:0;position:relative;overflow:visible}.game-validation-toast{pointer-events:auto;color:#fff;text-align:center;white-space:normal;background:#111;border-radius:4px;max-width:min(92vw,22rem);margin-top:4px;padding:3px 13px;font-size:.88rem;font-weight:700;line-height:1.25;position:absolute;top:0;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}.game-validation-toast--celebration{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#4ab787 0%,#0c7241 100%);font-size:1rem;font-weight:800;box-shadow:0 4px 14px #2d6a4f59}.game-grid{gap:var(--tile-gap);margin-bottom:4px;display:grid}.game-grid-row{gap:var(--tile-gap);display:flex}.game-tile{width:var(--tile-size);min-width:0;height:var(--tile-size);font-size:var(--tile-font);text-transform:uppercase;border:var(--tile-border-width) solid;box-sizing:border-box;justify-content:center;align-items:center;font-weight:700;display:flex}.game-keyboard{text-align:center;margin-top:0;width:100%;max-width:var(--keyboard-max-width);margin-inline:auto;padding-top:6px;padding-left:4px;padding-right:4px}.game-keyboard-row{--key-letter:calc((100% - 9 * var(--keyboard-gap)) / 10);justify-content:center;align-items:stretch;gap:var(--keyboard-gap);width:100%;margin-bottom:var(--keyboard-row-gap);display:flex}.game-keyboard-row:last-child{margin-bottom:0}.game-key,.game-key-wide{appearance:none;height:var(--key-height);border-radius:var(--key-radius);cursor:pointer;text-transform:uppercase;background:#d3d6da;border:none;justify-content:center;align-items:center;min-height:0;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.game-key{flex:0 0 var(--key-letter);box-sizing:border-box;min-width:0;font-size:var(--key-font);padding:0 1px}.game-key-wide{flex:0 0 calc(var(--key-letter) * 1.5);box-sizing:border-box;min-width:0;max-width:calc(var(--key-letter) * 1.5);white-space:nowrap;font-size:clamp(.5rem, 2.6vw, var(--key-font));letter-spacing:.02em;padding:0 3px}.share-modal-backdrop{z-index:100;padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd9;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.share-modal-card{z-index:101;width:min(440px,92vw);max-width:100%;max-height:min(90dvh, calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px));-webkit-overflow-scrolling:touch;padding:max(36px, calc(20px + env(safe-area-inset-top,0px))) max(32px, env(safe-area-inset-right,0px)) max(28px, calc(16px + env(safe-area-inset-bottom,0px))) max(32px, env(safe-area-inset-left,0px));text-align:center;background:#fff;border-radius:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:.25s slideUp;position:relative;overflow:hidden auto;box-shadow:0 8px 40px #0000002e}.share-modal-prizes-notice{color:#2d6a4f;margin:0 0 20px;font-size:.98rem;font-weight:600;line-height:1.45}.share-modal-close{top:max(16px, env(safe-area-inset-top,0px));right:max(20px, env(safe-area-inset-right,0px));cursor:pointer;color:#888;z-index:1;background:0 0;border:none;font-size:22px;line-height:1;position:absolute}.share-modal-emoji-preview{letter-spacing:2px;white-space:pre;color:#111;background:#f9f9f9;border-radius:10px;margin-bottom:24px;padding:16px;font-size:20px;line-height:22px}@media (max-width:400px){.share-modal-emoji-preview{letter-spacing:1px;padding:12px;font-size:16px;line-height:18px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.legal-page{width:100%;padding:1rem max(16px, env(safe-area-inset-left)) 2.5rem max(16px, env(safe-area-inset-right));background:linear-gradient(#f9faf9 0%,#fff 28%)}.legal-page__inner{background:#fff;border:1px solid #e8ebe8;border-radius:12px;max-width:40rem;margin:0 auto;padding:1.25rem 1.35rem 1.75rem;box-shadow:0 1px 3px #0000000a}.legal-page__back{margin:0 0 1.25rem;font-size:.875rem}.legal-page__back a{color:#3d6b4f;font-weight:600;text-decoration:none}.legal-page__back a:hover{text-underline-offset:3px;text-decoration:underline}.legal-page__header{border-bottom:2px solid #e5efe8;margin-bottom:1.5rem;padding-bottom:1.15rem}.legal-page__title{letter-spacing:.02em;color:#0d0d0d;margin:0 0 .4rem;font-size:clamp(1.45rem,4.2vw,1.85rem);font-weight:800;line-height:1.2}.legal-page__updated{color:#666;margin:0;font-size:.875rem}.legal-page__intro{color:#2a2a2a;margin:0 0 1.65rem;font-size:1rem;line-height:1.65}.legal-page__intro-block{margin:0 0 1.65rem}.legal-page__intro-block p{color:#2a2a2a;margin:0;font-size:1rem;line-height:1.65}.legal-page__intro-block p+p{margin-top:.65rem}.legal-page__intro-block+.legal-page__section{border-top:1px solid #e5efe8;padding-top:1.25rem}.legal-page__section~.legal-page__section{border-top:1px solid #eef2ef;padding-top:1.25rem}.legal-page__section{margin-bottom:1.35rem}.legal-page__section:last-of-type{margin-bottom:0}.legal-page__section h2{color:#14532d;margin:0 0 .5rem;font-size:1rem;font-weight:700;line-height:1.35}.legal-page__section p{color:#3d3d3d;margin:0;font-size:.9375rem;line-height:1.65}.legal-page__section ul{color:#3d3d3d;margin:.45rem 0 0;padding-left:1.2rem;font-size:.9375rem;line-height:1.55}.legal-page__section li+li{margin-top:.35rem}.legal-page__contact a{color:#14532d;word-break:break-all;font-weight:600;text-decoration:none}.legal-page__contact a:hover{text-underline-offset:3px;text-decoration:underline}.legal-page__contact-hero{background:linear-gradient(#f4faf6 0%,#f0f7f2 100%);border:1px solid #e0ebe4;border-radius:10px;padding:1.2rem 1.15rem 1.35rem}.legal-page__contact-hero h2{margin-bottom:.45rem}.legal-page__contact-email{margin:0;font-size:clamp(1.05rem,2.8vw,1.2rem);font-weight:600;line-height:1.4}.legal-page__contact-email a{word-break:break-all}.legal-page__contact-hero+.legal-page__intro-block{border-top:1px solid #e5efe8;padding-top:1.25rem}.legal-page__purposes{background:linear-gradient(#f4faf6 0%,#f0f7f2 100%);border:1px solid #e0ebe4;border-radius:10px;margin:0 0 1.35rem;padding:1.15rem 1.2rem 1.3rem}.legal-page__purposes h2{color:#14532d;margin:0 0 .85rem;font-size:1rem;font-weight:700;line-height:1.35}.legal-page__purposes ul{margin:0;padding:0;list-style:none}.legal-page__purposes li{color:#3d3d3d;padding-left:1.35rem;font-size:.9375rem;line-height:1.55;position:relative}.legal-page__purposes li+li{margin-top:.5rem}.legal-page__purposes li:before{content:"";background:#3d6b4f;border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.legal-page__cookie-note{background:#fafcfb;border-left:3px solid #3d6b4f;border-radius:0 8px 8px 0;margin:0 0 1.35rem;padding:1rem 1.1rem 1.15rem}.legal-page__cookie-note h2{color:#14532d;margin:0 0 .45rem;font-size:.9375rem;font-weight:700;line-height:1.35}.legal-page__cookie-note p{color:#3d3d3d;margin:0;font-size:.9375rem;line-height:1.65}.legal-page__intro-block+.legal-page__purposes,.legal-page__purposes+.legal-page__cookie-note{margin-top:0}.legal-page__cookie-note+.legal-page__section{border-top:1px solid #eef2ef;padding-top:1.25rem}.cookie-banner{z-index:9999;padding:1rem max(16px, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));will-change:transform;background:#fafafa;border-top:1px solid #e0e0e0;transition:transform .38s cubic-bezier(.22,1,.36,1);position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000000f}.cookie-banner--visible{transform:translateY(0)}.cookie-banner--leaving{transform:translateY(100%)}.cookie-banner__inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem 1.5rem;max-width:56rem;margin:0 auto;display:flex}.cookie-banner__text{flex:16rem;min-width:0}.cookie-banner__title{color:#111;margin:0 0 .5rem;font-size:1rem;font-weight:700;line-height:1.3}.cookie-banner__lead{color:#2a2a2a;margin:0 0 .65rem;font-size:.875rem;line-height:1.45}.cookie-banner__body{color:#333;font-size:.875rem;line-height:1.5}.cookie-banner__subhead{color:#111;margin:0 0 .35rem;font-size:.875rem;font-weight:700}.cookie-banner__list{margin:0 0 .5rem;padding-left:1.15rem}.cookie-banner__list li+li{margin-top:.2rem}.cookie-banner__footnote{color:#444;margin:0;font-size:.8125rem}.cookie-banner__footnote a{color:#14532d;font-weight:600;text-decoration:none}.cookie-banner__footnote a:hover{text-underline-offset:2px;text-decoration:underline}.cookie-banner__actions{flex-direction:column;flex:none;align-self:center;gap:.5rem;min-width:10.5rem;display:flex}.cookie-banner__btn{cursor:pointer;border:none;border-radius:4px;margin:0;padding:.55rem 1.15rem;font-family:inherit;font-size:.875rem;font-weight:700;line-height:1.25;transition:opacity .15s,transform .1s}.cookie-banner__btn:active{transform:scale(.98)}.cookie-banner__btn--primary{color:#fff;background:#111}.cookie-banner__btn--primary:hover{opacity:.92}.cookie-banner__btn--primary:focus-visible{outline-offset:2px;outline:2px solid #14532d}@media (max-width:640px){.cookie-banner__inner{flex-direction:column}.cookie-banner__actions{width:100%;min-width:unset;align-self:stretch}.cookie-banner__btn{width:100%}}.site-footer{padding:1.25rem max(12px, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));background:linear-gradient(#fafafa 0%,#fff 100%);border-top:1px solid #e8e8e8;margin-top:2.5rem}.site-footer-nav{max-width:42rem;margin:0 auto}.site-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 0;font-size:.8125rem;line-height:1.5;list-style:none;display:flex}.site-footer-links li{align-items:center;display:inline-flex}.site-footer-links li:not(:last-child):after{content:"·";color:#c4c4c4;-webkit-user-select:none;user-select:none;margin:0 .65rem;font-weight:300}.site-footer-links a{color:#5c5c5c;text-decoration:none;transition:color .15s}.site-footer-links a:hover{color:#111;text-underline-offset:3px;text-decoration:underline}@media (max-width:380px){.site-footer-links{flex-direction:column;gap:.5rem}.site-footer-links li:not(:last-child):after{display:none}}
