@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/build/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/build/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/build/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/build/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/build/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/build/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/build/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/build/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-cyrillic-ext-600-normal-Dk-u7o-5.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-ext-600-normal-DjQx9_jq.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-600-normal-It4mZcQk.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-greek-600-normal-BoRV6lzK.woff2) format("woff2"),url(/build/assets/manrope-greek-600-normal-CF2i9ZRY.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-vietnamese-600-normal-C1J5PCl_.woff2) format("woff2"),url(/build/assets/manrope-vietnamese-600-normal-lA7a_7Ok.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-latin-ext-600-normal-_gBojHdJ.woff2) format("woff2"),url(/build/assets/manrope-latin-ext-600-normal-u5Pl7hTU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/build/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-cyrillic-ext-700-normal-cq7F7ESW.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-ext-700-normal-ezu7N0xg.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-greek-700-normal-CHUG9PD8.woff2) format("woff2"),url(/build/assets/manrope-greek-700-normal-DyfsrCpP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-vietnamese-700-normal-CUqMx5-1.woff2) format("woff2"),url(/build/assets/manrope-vietnamese-700-normal-pt65Fn2Z.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-latin-ext-700-normal-DYOwVNan.woff2) format("woff2"),url(/build/assets/manrope-latin-ext-700-normal-eVCcYqtJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/build/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-cyrillic-ext-800-normal-By7E3MqD.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-ext-800-normal-Dlsls8yD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2) format("woff2"),url(/build/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-greek-800-normal-CDvU698_.woff2) format("woff2"),url(/build/assets/manrope-greek-800-normal-Bw-67qu9.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-vietnamese-800-normal-ClPWri-A.woff2) format("woff2"),url(/build/assets/manrope-vietnamese-800-normal-bvg7iBCV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-latin-ext-800-normal-DdFx7KEb.woff2) format("woff2"),url(/build/assets/manrope-latin-ext-800-normal-BQAQsuQc.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/build/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.prose{font-size:16px;line-height:1.8;color:#3f4d3f;overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.15em;line-height:1.8}.prose h2,.prose h3,.prose h4{font-family:Georgia,Times New Roman,serif;font-weight:400;color:#243c2b;letter-spacing:-.4px;line-height:1.25}.prose h2{font-size:30px;margin:1.6em 0 .55em}.prose h3{font-size:23px;margin:1.5em 0 .5em}.prose h4{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:0;margin:1.4em 0 .4em}.prose a{color:#155238;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose ul,.prose ol{padding-left:1.4em;margin:0 0 1.2em}.prose li{margin:.3em 0;line-height:1.75}.prose li::marker{color:#4f8a69}.prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid #9aac84;font-family:Georgia,serif;font-size:19px;color:#3c5040;font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid #dddfd3;margin:2.2em 0}.prose img{max-width:100%;height:auto;border-radius:6px}.prose figure{margin:1.8em 0}.prose figure.image{display:table;margin-left:auto;margin-right:auto}.prose figure img{display:block}.prose figcaption{display:table-caption;caption-side:bottom;font-size:12px;color:#72786d;text-align:center;padding-top:8px;line-height:1.5}.prose code{background:#edf0e3;border-radius:3px;padding:2px 5px;font-size:.9em}.prose pre{background:#243c2b;color:#eef2e6;padding:16px 18px;border-radius:6px;overflow-x:auto;font-size:13px;line-height:1.6}.prose pre code{background:none;padding:0;color:inherit}.prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:14px;background:#fffef9}.prose th,.prose td{border:1px solid #dddfd3;padding:9px 12px;text-align:left;vertical-align:top}.prose th{background:#e9ecdf;font-weight:600}.prose .table-scroll{overflow-x:auto;margin:1.6em 0}.prose .table-scroll table{margin:0}.prose iframe,.prose video{max-width:100%;border:0;border-radius:6px}.prose video{width:100%;height:auto;background:#000}.prose .embed{position:relative;aspect-ratio:16 / 9;margin:1.8em 0}.prose .embed iframe{position:absolute;inset:0;width:100%;height:100%}.prose .file-link{display:inline-flex;align-items:center;gap:8px;background:#edf0e3;border-radius:5px;padding:8px 12px;text-decoration:none;font-weight:600;font-size:14px}.prose .file-link:before{content:attr(data-ext);background:#155238;color:#fff;border-radius:3px;padding:2px 5px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.prose .file-link:not([data-ext]):before{content:"↓"}.prose details{border:1px solid #dddfd3;border-radius:6px;padding:12px 16px;margin:1em 0;background:#fffef9}.prose summary{cursor:pointer;font-weight:600}.prose .alignleft,.prose img[style*="float: left"]{float:left;margin:6px 22px 12px 0}.prose .alignright,.prose img[style*="float: right"]{float:right;margin:6px 0 12px 22px}.prose:after{content:"";display:table;clear:both}@media(max-width:720px){.prose{font-size:15px}.prose h2{font-size:25px}.prose h3{font-size:20px}.prose .alignleft,.prose .alignright,.prose img[style*=float]{float:none;margin:1em 0}}.prose .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:1.8em 0}.prose .gallery a{display:block;aspect-ratio:1;overflow:hidden;border-radius:6px;background:#e8ecde}.prose .gallery img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .3s}.prose .gallery a:hover img,.prose .gallery a:focus-visible img{transform:scale(1.04)}@media(max-width:560px){.prose .gallery{grid-template-columns:repeat(2,1fr);gap:6px}}.phone-device{display:inline-block;margin-top:16px;padding:16px;background:#243c2b;border-radius:22px;box-shadow:inset 0 0 0 3px #355440}.phone-keypad{display:grid;grid-template-columns:repeat(3,84px);gap:10px}.phone-key{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:58px;border-radius:12px;border:0;background:#f2f4e9;color:var(--ink);box-shadow:0 3px #b9c4ab;transition:transform .08s,background .15s,box-shadow .08s}.phone-key b{font-family:var(--display);font-size:21px;line-height:1}.phone-key small{font-size:10px;letter-spacing:.14em;color:#5f6a58;min-height:12px}.phone-key:hover{background:#fffef7}.phone-key:active,.phone-key.is-active{background:#ffd54a;box-shadow:0 1px #b9a24a;transform:translateY(2px)}.phone-key:focus-visible{outline:3px solid #9fd0b0;outline-offset:2px}.phone-key--decor{opacity:.35;box-shadow:none;background:#dfe4d4}.caesar-shift>label{font-weight:600;letter-spacing:.04em}.stepper{display:flex;align-items:stretch;border:1px solid #cad2bd;border-radius:5px;background:var(--card);overflow:hidden;width:160px}.stepper button{border:0;background:#f2f4e9;width:42px;font-size:18px;color:var(--ink)}.stepper button:hover{background:var(--soft)}.tool-widget .stepper input[type=number]{border:0;border-radius:0;text-align:center;font-weight:600;font-size:16px;padding:10px 4px;-moz-appearance:textfield;appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.caesar-wheel-wrap{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:34px;align-items:center;margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}.caesar-wheel{margin:0}.caesar-wheel svg{width:100%;height:auto;display:block;stroke:none;border-radius:50%;cursor:grab}.caesar-wheel svg:focus-visible{outline:3px solid #4f8a69;outline-offset:4px}.caesar-wheel figcaption{text-align:center}.wheel-disc--outer{fill:#e9ecdf;stroke:#9aac84;stroke-width:1.5}.wheel-disc--inner{fill:#fffef9;stroke:#9aac84;stroke-width:1.5;filter:drop-shadow(0 2px 4px #263b2522)}.wheel-sep{stroke:#c4ccb8;stroke-width:1}.wheel-sep--inner{stroke:#e0e4d8}.wheel-letter{fill:var(--ink);font-family:var(--serif);-webkit-user-select:none;user-select:none}.wheel-letter--inner{fill:#3f4d3f}.wheel-dot{fill:transparent}.wheel-letter.is-key{fill:var(--accent);font-weight:700}g:has(>.is-key)>.wheel-dot{fill:#cfe3d3}g:has(>.is-current)>.wheel-dot{fill:#ffd54a}.wheel-letter.is-current{font-weight:700;fill:#1b2a1f}.wheel-inner{transition:transform .45s cubic-bezier(.3,.7,.3,1);transform-box:view-box;transform-origin:0 0}.wheel-pointer{fill:var(--accent)}.wheel-pin{fill:#243c2b}.wheel-pin-dot{fill:#9fc3ab}.caesar-side{min-width:0}.caesar-side h2{font-size:30px;margin:0 0 6px}.caesar-side h2 span{color:var(--accent)}.caesar-strip{margin-top:18px;overflow-x:auto;padding-bottom:6px;width:0;min-width:100%}.caesar-table th,.caesar-table td{width:30px;min-width:30px;height:34px;font-size:16px}.caesar-table tbody th{width:auto;padding:0 8px;font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.caesar-table td.is-current{background:#ffe58a}.crack-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.crack-head .mini-btn{margin:0}.crack-list{list-style:none;margin:14px 0 0;padding:0;max-height:440px;overflow-y:auto;border-top:1px solid var(--line)}.crack-list li{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--line);font-size:14px}.crack-list li .mini-btn{margin:0}.crack-list li.is-best{background:#e3efe5;border-radius:4px}.crack-shift{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em}.crack-text{overflow-wrap:anywhere}.crack-badge{display:inline-block;font-style:normal;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--accent);border-radius:3px;padding:2px 6px;margin-left:6px;vertical-align:middle}.crack-empty{color:var(--muted);display:block!important}.fence-scroll{overflow-x:auto;margin-top:14px;padding-bottom:6px;width:0;min-width:100%}.fence{--cols: 10;--rows: 3;position:relative;display:grid;grid-template-columns:repeat(var(--cols),34px);grid-template-rows:repeat(var(--rows),38px);width:max-content;background:#fff;border:1px solid #dfe3d6;border-radius:6px}.fence-cell{display:flex;align-items:center;justify-content:center;position:relative;z-index:1;border-right:1px dashed #eef0e7}.fence-cell:not(.is-filled):after{content:"";width:3px;height:3px;border-radius:50%;background:#d3d9c9}.fence-cell.is-filled{font-family:var(--serif);font-size:19px}.fence-cell.is-filled{text-shadow:0 0 4px #fff,0 0 4px #fff}.fence-path{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;stroke:none}.fence-path polyline{fill:none;stroke:#9fc3ab;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.fence-rows{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}.fence-rows li{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:baseline;font-size:13px}.fence-rows span{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em}.fence-rows b{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-weight:500;letter-spacing:.12em;overflow-wrap:anywhere}.phonetic-speak{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:10px}.phonetic-speak .mini-btn,.phonetic-speak .hint{margin:0}.phonetic-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 22px;margin-top:12px}.phonetic-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line)}.phonetic-row b{font-family:var(--serif);font-weight:400;font-size:19px}.phonetic-row span{font-size:15px}.caesar-print{display:none}@media(max-width:1000px){.caesar-wheel-wrap{grid-template-columns:1fr;justify-items:center;text-align:left}.caesar-wheel{width:min(100%,380px)}.caesar-side{width:100%}}@media(max-width:720px){.phone-device{display:block;padding:12px;border-radius:18px}.phone-keypad{grid-template-columns:repeat(3,1fr)}.phone-key{height:54px}.caesar-side h2{font-size:24px}.crack-list li{grid-template-columns:1fr auto}.crack-shift{grid-column:1 / -1}.fence{grid-template-columns:repeat(var(--cols),28px);grid-template-rows:repeat(var(--rows),32px)}.fence-cell.is-filled{font-size:16px}}@media print{body.print-caesar-wheel>*:not(.caesar-print){display:none!important}body.print-caesar-wheel{background:#fff}body.print-caesar-wheel .caesar-print{display:block;color:#000;font-family:Georgia,serif}.caesar-print h1{font-size:16pt;font-weight:400;margin:0 0 4pt}.caesar-print p{font-size:9pt;margin:0 0 8pt;line-height:1.4}.caesar-print-discs{display:grid;justify-items:center;gap:6mm}.caesar-print-disc{margin:0;text-align:center;break-inside:avoid}.caesar-print-disc svg{display:block;margin:0 auto}.caesar-print-disc figcaption{font-size:8pt;margin-top:2mm}.caesar-print .print-sep{stroke:#888;stroke-width:.25}}.sema-output{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 6px;min-height:110px;padding:16px;background:#e4ead7;border-radius:5px}.sema-output .frame-placeholder{align-self:center}.sema-cell{margin:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px 6px;border-radius:6px;transition:background .15s}.sema-cell svg{display:block}.sema-cell figcaption{font-family:var(--serif);font-size:15px;line-height:1.2}.sema-cell.is-current{background:#fff6cc;box-shadow:0 0 0 2px #e0a800}.sema-gap{width:26px;align-self:stretch}.sema-gap--small{width:14px}.sema-output--small{min-height:58px;margin-top:14px;background:#f2f4e9;align-items:center}.sema-output--small.is-empty:before{content:"Tu pojawią się wybrane sygnały";color:#6f7a66;font-size:13px}.sema-stage{display:flex;align-items:center;gap:24px;margin:6px 0 14px;padding:14px 20px;background:#fff;border:1px solid #dfe3d6;border-radius:8px}.sema-stage-figure svg{display:block}.sema-stage-letter{font-family:var(--serif);font-size:46px;margin:0;line-height:1.1}.sema-stage .hint{margin-top:6px}.sema-keyboard{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}.sema-quiz{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;margin-top:18px}.sema-quiz-figure{background:#fff;border:1px solid #dfe3d6;border-radius:10px;padding:10px}.sema-quiz-figure svg{display:block}.sema-quiz-panel .option{max-width:280px}.sema-quiz-question{font-family:var(--serif);font-size:22px;margin:18px 0 10px}.sema-answers{display:flex;gap:10px;flex-wrap:wrap}.sema-answer{min-width:64px;padding:12px 18px;font-family:var(--serif);font-size:26px;background:#fff;border:1px solid #c1cab4;border-radius:6px;color:var(--ink)}.sema-answer:hover:not(:disabled){background:#e8efe9;border-color:#9aac84}.sema-answer:disabled{cursor:default}.sema-answer.is-correct{background:#dcefe1;border-color:#3d8a5a;color:#1d5a37}.sema-answer.is-wrong{background:#f6dddd;border-color:#b3261e;color:#8a2a2a}.sema-feedback{min-height:1.6em;margin:12px 0 4px;font-size:14px;font-weight:600}.sema-feedback.is-good{color:#1d5a37}.sema-feedback.is-bad{color:#8a2a2a}.sema-score{font-size:13px;color:var(--muted);margin:0 0 10px}.sema-score b{color:var(--ink)}.sema-table{display:grid;gap:6px;margin-top:10px}.sema-circle h3{margin:16px 0 8px}.sema-circle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.sema-table-cell{margin:0;background:#fff;border:1px solid #dfe3d6;border-radius:6px;padding:6px 4px 8px;text-align:center}.sema-table-cell svg{display:block;margin:0 auto}.sema-table-cell figcaption{display:flex;flex-direction:column;line-height:1.2}.sema-table-cell b{font-family:var(--serif);font-weight:400;font-size:18px}.sema-table-cell small{font-size:10px;color:var(--muted)}.terrain-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.terrain-nav a{border:1px solid #d5d9cd;border-radius:30px;padding:7px 14px;font-size:11px}.terrain-nav a:hover{border-color:#9aac84;background:#f2f4e9}.terrain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.terrain-panel{background:#f7f8f1;border:1px solid #e1e5d7;border-radius:8px;padding:22px 24px;min-width:0;scroll-margin-top:100px}.terrain-panel h2{font-size:24px;margin:0 0 12px}.terrain-panel .subtle{margin:0 0 12px}.terrain-panel--wide{grid-column:1 / -1}.terrain-panel .segmented{margin-bottom:4px}.rose-layout{display:grid;grid-template-columns:minmax(0,250px) 1fr;gap:24px;align-items:center}.rose{width:100%;max-width:250px;height:auto;display:block;cursor:crosshair;touch-action:none;border-radius:50%;font-family:var(--sans);stroke:none}.rose:focus-visible{outline:3px solid #4f8a69;outline-offset:4px}.rose-controls .field{margin-top:0}.terrain-inline{display:flex;align-items:center;gap:8px;max-width:180px}.terrain-unit{font-size:22px;color:var(--muted)}.rose-controls input[type=range]{width:100%;margin:16px 0 4px;accent-color:var(--accent)}.terrain-result{display:block;min-height:0;font-size:15px;line-height:1.7}.terrain-result b{font-size:18px}.terrain-result .hint{font-size:12px}.terrain-result:empty{display:none}.terrain-fields{display:flex;flex-wrap:wrap;align-items:end;gap:12px 14px;margin:12px 0}.terrain-fields .option{min-width:150px;flex:1}.terrain-equals{font-size:20px;color:#6a8a6f;padding-bottom:12px}.terrain-btn{margin-bottom:4px;padding:11px 14px}.terrain-pace{font-size:14px;margin:6px 0 0}.terrain-pace b{font-family:var(--serif);font-weight:400;font-size:20px}.exercise{display:grid;grid-template-columns:1fr minmax(0,340px);gap:28px;align-items:start}.exercise-legs{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:8px}.exercise-legs li{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;background:#fff;border:1px solid #e1e5d7;border-radius:6px;padding:10px 14px;font-size:15px}.exercise-legs .hint{margin:0}.exercise-leg-no{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.exercise-map{margin:0}.exercise-map svg{width:100%;height:auto;display:block;border-radius:8px;border:1px solid #e1e5d7;font-family:var(--sans);stroke:none}.exercise-map figcaption{margin-top:6px}@media(max-width:1000px){.terrain-grid,.exercise{grid-template-columns:1fr}.exercise-map{max-width:360px}}@media(max-width:720px){.sema-quiz{grid-template-columns:1fr;gap:14px}.sema-quiz-figure{justify-self:center}.sema-quiz-figure svg{width:160px!important;height:auto!important}.sema-stage{flex-direction:column;gap:6px;text-align:center}.sema-stage-figure svg{width:150px!important;height:auto!important}.sema-cell svg{width:52px!important;height:auto!important}.sema-circle-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.sema-table-cell svg{width:62px!important;height:auto!important}.terrain-panel{padding:18px 16px}.rose-layout{grid-template-columns:1fr;gap:16px}.rose{margin:0 auto;max-width:280px}.terrain-equals{display:none}}@media print{.sema-stage,.sema-keyboard,.terrain-nav{display:none!important}}@media(prefers-reduced-motion:reduce){.sema-cell{transition:none}}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:34px;align-items:start}.game-subhead{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:-.4px;margin:26px 0 12px}.game-settings{border:0;padding:0;margin:0}.game-settings legend{font-family:var(--serif);font-size:24px;letter-spacing:-.4px;padding:0;margin-bottom:2px}.game-settings .field:first-of-type{margin-top:8px}.tool-widget .game-settings textarea{min-height:70px}.game-settings-row{display:grid;grid-template-columns:1fr 160px;gap:14px;margin:16px 0 6px}.game-settings-row .option{min-width:0}.game-rows{list-style:none;margin:0;padding:0;display:grid;gap:12px}.game-row{border:1px solid #dfe3d5;border-radius:7px;background:#f7f8f1;padding:12px 14px 14px}.game-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.game-row-no{font-family:var(--display);font-weight:700;font-size:13px}.game-row-tools{display:flex;gap:4px}.game-row-tools .mini-btn{margin:0;padding:4px 9px}.game-row-tools .mini-btn:disabled{opacity:.4;cursor:default}.tool-widget .game-row textarea{min-height:54px;padding:9px 11px}.game-row-options{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px}.game-row-options .option{min-width:170px;flex:1}.game-row-cipher-options{display:contents}.tool-widget .game-row select,.tool-widget .game-row input[type=number]{padding:8px 10px}.game-row-error{color:#8a2a2a;font-size:12px;margin:8px 0 0}.game-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.game-actions .btn{padding:11px 16px;gap:8px}.game-actions--files{align-items:center;margin-top:12px}.game-actions--files .mini-btn{margin:0;cursor:pointer}.game-status{font-size:12px;color:var(--accent);min-height:18px;margin:10px 0 0}.game-preview{position:sticky;top:16px}.game-preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.game-preview-head .game-subhead{margin:0}.game-preview-head .btn{padding:11px 16px}.game-paper{margin-top:14px;max-height:calc(100vh - 110px);overflow:auto;background:#ecede5;border-radius:8px;padding:14px;display:grid;gap:14px}.gc-empty{color:var(--muted);font-size:13px;text-align:center;padding:40px 10px}.gc-page{background:#fff;color:#111;font-family:var(--sans);padding:26px 28px;box-shadow:0 1px 4px #0001;border-radius:3px;font-size:13px;line-height:1.5}.gc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:14px}.gc-eyebrow{margin:0;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#555}.gc-header h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:2px 0 0;line-height:1.15}.gc-meta{display:grid;gap:6px;font-size:11px;min-width:170px}.gc-meta span{display:flex;gap:6px;align-items:flex-end}.gc-meta i{flex:1;border-bottom:1px solid #111;height:14px}.gc-meta small{color:#666;font-size:10px}.gc-intro{margin:0 0 14px;font-size:12px;color:#333}.gc-tasks{list-style:none;margin:0;padding:0;display:grid;gap:14px}.gc-task{border:1px solid #bbb;border-radius:4px;padding:12px 14px;break-inside:avoid;page-break-inside:avoid}.gc-task-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:4px}.gc-task-head span{color:#555}.gc-hint{font-size:11px;color:#444;margin:0 0 8px;font-style:italic}.gc-key{margin:0 0 8px}.gc-page svg{width:auto;height:auto;max-width:100%;fill:initial;stroke:none;stroke-width:initial;vertical-align:baseline}.gc-key svg{max-height:110px;color:#111}.gc-cipher{margin:6px 0 10px;overflow-wrap:anywhere}.gc-cipher svg{display:block;max-height:260px}.gc-cipher--semaphore svg{max-height:none}.gc-text{font-size:17px;letter-spacing:.06em;margin:0;font-weight:600}.gc-mono{font-family:Courier New,monospace;font-size:17px;font-weight:700;letter-spacing:.08em;margin:0;word-spacing:.2em}.gc-grid{border-collapse:collapse}.gc-grid td{width:28px;height:28px;border:1px solid #333;text-align:center;font-weight:700;font-size:15px}.gc-glyphs{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:flex-end}.gc-glyphs .gc-gap{width:18px}.gc-answer{display:grid;grid-template-columns:auto 1fr;gap:10px 8px;align-items:end;font-size:11px;color:#444}.gc-answer i{grid-column:2;border-bottom:1px dotted #555;height:20px}.gc-answer i+i{grid-column:2}.gc-key-table{width:100%;border-collapse:collapse;font-size:12px}.gc-key-table th,.gc-key-table td{border:1px solid #bbb;padding:6px 8px;text-align:left;vertical-align:top}.gc-key-table th{background:#f0f0f0}.gc-key-table small{color:#555}@media(max-width:1000px){.game-layout{grid-template-columns:1fr}.game-preview{position:static}.game-paper{max-height:none}}@media(max-width:720px){.game-settings-row{grid-template-columns:1fr}.gc-page{padding:18px 16px}.gc-header{flex-direction:column}.gc-meta{width:100%}}@media print{@page{size:A4;margin:14mm}body.printing-game>*:not(#game-print-root){display:none!important}body.printing-game{background:#fff}#game-print-root{display:block}#game-print-root .gc-page{box-shadow:none;border-radius:0;padding:0;break-after:page;page-break-after:always;font-size:12px;line-height:1.4}#game-print-root .gc-header{margin-bottom:8px;padding-bottom:6px}#game-print-root .gc-header h3{font-size:20px}#game-print-root .gc-intro{margin-bottom:8px;font-size:11px}#game-print-root .gc-tasks{gap:7px}#game-print-root .gc-task{padding:6px 10px}#game-print-root .gc-task-head{margin-bottom:2px}#game-print-root .gc-hint{margin-bottom:4px;font-size:10px}#game-print-root .gc-text{font-size:15px}#game-print-root .gc-mono{font-size:14px;letter-spacing:.02em;word-spacing:0}#game-print-root .gc-key{margin-bottom:4px}#game-print-root .gc-key svg{max-height:60px}#game-print-root .gc-cipher{margin:3px 0 4px}#game-print-root .gc-cipher svg{max-height:100px}#game-print-root .gc-cipher--semaphore svg{max-height:260px}#game-print-root .gc-grid td{width:21px;height:21px;font-size:13px}#game-print-root .gc-answer i{height:16px}#game-print-root .gc-page:last-child{break-after:auto;page-break-after:auto}}@media screen{#game-print-root{display:none}}.field{display:block;margin:18px 0 7px;font-size:12px;font-weight:600}.tool-widget textarea,.tool-widget input[type=number],.tool-widget input[type=text],.tool-widget input[type=time],.tool-widget select{width:100%;background:var(--card);border:1px solid #cad2bd;border-radius:5px;padding:12px;color:var(--ink)}.tool-widget textarea{min-height:120px;resize:vertical;line-height:1.6}.tool-widget select{padding:10px 12px;appearance:auto}.tool-widget textarea:focus-visible,.tool-widget input:focus-visible,.tool-widget select:focus-visible{outline:3px solid #4f8a69;outline-offset:2px}.result{background:#e4ead7;border-radius:5px;margin-top:20px;padding:17px;line-height:1.7;overflow-wrap:anywhere}.result.is-error{background:#f6dddd;color:#7c2323}.check{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}.check input{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.check:has(:checked) span{text-decoration:line-through;color:#8a9481}.reset{background:transparent;border:1px solid #c1cab4;padding:10px 15px;border-radius:4px;margin-top:18px;font-size:11px}.reset:hover{background:var(--soft);border-color:#9aac84}.hint{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.6}.cipher-error{color:#7c2323;background:#f6dddd;border-radius:5px;padding:10px 14px;font-size:13px;margin:0}.tool-page{display:grid;gap:50px}.tool-widget{background:var(--card);border:1px solid #e4e5dc;border-radius:8px;padding:30px;min-width:0}.tool-about{max-width:760px}.cipher-bar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:18px 28px}.segmented{display:inline-flex;border:1px solid #c9d1bd;border-radius:30px;padding:3px;margin:0;background:#f2f4e9}.segmented label{position:relative;cursor:pointer}.segmented input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.segmented span{display:block;padding:9px 20px;border-radius:30px;font-size:12px;font-weight:600;color:#4b5a45}.segmented input:checked+span{background:var(--ink);color:#fff}.segmented input:focus-visible+span{outline:3px solid #4f8a69;outline-offset:2px}.cipher-options{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:end}.option{display:grid;gap:6px;font-size:11px;color:var(--muted);min-width:200px}.option>span{font-weight:600;letter-spacing:.04em}.option--check{display:inline-flex;align-items:center;gap:9px;min-width:0;padding-bottom:10px;font-size:12px;color:var(--ink);cursor:pointer}.option--check input{accent-color:var(--accent);width:17px;height:17px}.option--check>span{font-weight:500;letter-spacing:0}.cipher-io{display:grid;grid-template-columns:1fr auto 1fr;gap:0 16px;align-items:start;margin-top:8px}.cipher-pane{min-width:0}.cipher-pane-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}.cipher-pane-head .field{margin-bottom:7px}.cipher-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.mini-btn{background:transparent;border:1px solid #c1cab4;border-radius:4px;padding:7px 12px;font-size:11px;font-weight:600;margin-bottom:6px;color:var(--ink)}.mini-btn:hover{background:var(--soft);border-color:#9aac84}.swap{align-self:center;margin-top:30px;width:42px;height:42px;border-radius:50%;border:1px solid #c1cab4;background:#f2f4e9;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.swap:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.cipher-result{display:block;margin-top:0;min-height:120px;white-space:pre-wrap;font-size:16px}.cipher-result.is-empty{color:#6f7a66;font-size:14px}.cipher-result--morse:not(.is-empty),.cipher-result--mono:not(.is-empty){font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.08em;font-size:17px}section.cipher-key{padding:0;margin-top:40px}.cipher-key h2{font-size:28px;margin:0 0 6px}.cipher-key h3{font-family:var(--display);font-size:14px;margin:26px 0 10px}.cipher-key--inline{margin:24px 0 8px;padding:18px 20px;background:#f2f4e9;border-radius:6px}section.cipher-key--inline{margin-top:24px;padding:18px 20px}.cipher-key--inline h2{font-size:22px}.pairs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.pair{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #dfe3d6;border-radius:6px;padding:10px 14px;font-size:18px}.pair b{font-family:var(--serif);font-weight:400;font-size:22px;min-width:16px;text-align:center}.pair span{color:#6a8a6f;font-size:14px}.key-table{border-collapse:collapse;margin-top:14px;background:#fff;font-size:15px}.key-table th,.key-table td{border:1px solid #dfe3d6;width:44px;height:40px;text-align:center}.key-table thead th,.key-table tbody th{background:#e9ecdf;font-size:12px;color:#4b5a45}.key-table td{font-family:var(--serif);font-size:19px}.fraction-stack{display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;margin-top:18px;padding:16px 18px;background:#f2f4e9;border-radius:6px}.frac{display:inline-flex;flex-direction:column;align-items:center;font-family:var(--serif);font-size:18px;line-height:1.25;min-width:22px}.frac span:first-child{border-bottom:2px solid currentColor;padding:0 3px}.frac-op{font-size:18px;color:#6a8a6f;padding:0 2px}.frac-gap{width:26px}.frac-text{font-family:var(--serif);font-size:18px}.morse-player{display:flex;flex-wrap:wrap;align-items:end;gap:14px 18px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.morse-player .option{min-width:220px}.morse-lamp{width:34px;height:34px;border-radius:50%;background:#d9ddd0;border:2px solid #c1cab4;margin-bottom:4px;transition:background .05s,box-shadow .05s}.morse-lamp.is-on{background:#ffd54a;border-color:#e0a800;box-shadow:0 0 18px 6px #ffd54a99}.morse-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 24px;margin-top:14px}.morse-table--compact{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.morse-row{display:grid;grid-template-columns:28px auto 1fr;gap:10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line)}.morse-row b{font-family:var(--serif);font-weight:400;font-size:19px}.morse-code{font-size:17px;letter-spacing:.12em;color:var(--accent);white-space:nowrap}.morse-row small{color:var(--muted);font-size:11px;text-align:right}.frame-key{margin-top:12px;overflow-x:auto}.frame-key svg,.frame-key-svg{width:100%;height:auto;max-width:560px;display:block;color:var(--ink);stroke:none}.frame-key-svg text{stroke:none}.frame-output{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;min-height:96px;padding:16px;background:#e4ead7;border-radius:5px;color:var(--ink)}.frame-output .frame-glyph,.glyph-key .frame-glyph{width:44px;height:44px;stroke:none;display:block}.frame-output--small{min-height:58px;margin-top:14px;background:#f2f4e9}.frame-output--small .frame-glyph{width:30px;height:30px}.frame-output--small.is-empty:before{content:"Tu pojawią się wybrane znaki";color:#6f7a66;font-size:13px}.frame-char{display:inline-flex}.frame-text{font-family:var(--serif);font-size:26px;min-width:22px;justify-content:center}.frame-space{width:22px}.frame-placeholder{color:#6f7a66;font-size:14px}.glyph-keyboard{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin-top:16px}.glyph-key{background:#fff;border:1px solid #cfd6c4;border-radius:6px;padding:6px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.glyph-key:hover{background:#e8efe9;border-color:#9aac84}.glyph-key:active{transform:scale(.96)}.glyph-key .frame-glyph{width:38px;height:38px}.keyboard-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.spiral-preview{margin:26px 0 0}.spiral-grid{--n: 4;position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);width:min(100%,calc(var(--n) * 54px));aspect-ratio:1;border:1px solid #cfd6c4;background:#fff;border-radius:4px;overflow:hidden}.spiral-cell{display:flex;align-items:center;justify-content:center;border:1px solid #eef0e7;font-family:var(--serif);font-size:clamp(13px,3.4vw,21px);position:relative;z-index:1}.spiral-cell>span{background:#fff;padding:0 3px;border-radius:3px;line-height:1.1}.spiral-cell.is-filler{color:#a3ab98;background:#f4f5ef99}.spiral-cell.is-start{background:#dce8de99;font-weight:700}.spiral-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;stroke:none}.spiral-path polyline{fill:none;stroke:#4f8a69;stroke-width:2;stroke-opacity:.45;stroke-linejoin:round;stroke-linecap:round}.spiral-path circle{fill:#155238;stroke:none;opacity:.55}.spiral-preview figcaption{margin-top:10px}.pack-intro,.hike-intro{margin:0;color:#5f6a58;font-size:14px}.pack-progress .result{margin-top:18px}.pack-progress .result.is-done{background:#cfe3d3;color:#12452f;font-weight:600}.progress-track{height:6px;background:#e4e8dc;border-radius:3px;margin-top:10px;overflow:hidden}.progress-bar{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}.pack-list{list-style:none;margin:14px 0 0;padding:0;columns:2;column-gap:40px}.pack-list li{break-inside:avoid}.pack-actions{display:flex;gap:10px;flex-wrap:wrap}.hike-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:0 18px}.hike-finish{margin:10px 0 0;font-size:14px;font-weight:600;color:var(--accent)}@media(max-width:1000px){.hike-fields{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.tool-widget{padding:20px 16px;border-radius:6px}.tool-page{gap:36px}.cipher-bar{display:grid;gap:14px}.segmented{justify-self:start}.cipher-options{display:grid;width:100%}.option{min-width:0}.cipher-io{grid-template-columns:1fr}.swap{margin:14px auto 0;transform:rotate(90deg)}.cipher-key h2{font-size:24px}.pack-list{columns:1}.hike-fields,.morse-table{grid-template-columns:1fr}.morse-table--compact{grid-template-columns:repeat(2,1fr)}.frame-output .frame-glyph{width:36px;height:36px}.glyph-keyboard{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}}@media print{.skip-link,.announcement,.header,.footer,.breadcrumbs,.tools-section,.tool-about,.pack-actions,.progress-track,.cipher-bar,.swap,.mini-btn,.morse-player,.keyboard-actions,.glyph-keyboard{display:none!important}body{background:#fff}.page-head{padding:0 0 12px}.page-head h1{font-size:28px}.page-body{padding:12px 0}.tool-widget{border:0;padding:0}.pack-list{columns:2}.check{padding:8px 0}.check input{width:14px;height:14px}.check:has(:checked) span{text-decoration:none;color:inherit}.result{background:none;padding:0}}:root{--paper: #f5f4ed;--ink: #243c2b;--muted: #72786d;--accent: #155238;--line: #dddfd3;--card: #fffef9;--soft: #e9ecdf;--serif: Georgia, "Times New Roman", serif;--sans: "DM Sans", Arial, sans-serif;--display: Manrope, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4f8a69;outline-offset:5px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}img{max-width:100%;height:auto}p{line-height:1.75}[hidden]{display:none!important}.wrap{max-width:1272px;margin:auto;padding:0 44px}.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}.skip-link{position:absolute;left:12px;top:-60px;z-index:20;background:var(--accent);color:#fff;padding:10px 16px;border-radius:4px;font-size:13px}.skip-link:focus{top:12px}.announcement{background:#e6e9dc;color:#58654e;text-align:center;font-size:11px;letter-spacing:.08em;padding:8px 16px;line-height:1.5}.announcement a{text-decoration:underline}.header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}.brand{display:flex;align-items:center;gap:14px}.brand img{width:67px;height:67px;object-fit:contain;mix-blend-mode:multiply}.brand strong{font-family:var(--display);font-size:16px;display:block;line-height:1.5}.brand small{font-size:10px;letter-spacing:.19em;text-transform:uppercase}.nav{display:flex;gap:29px;align-items:center;font-size:13px}.nav a:hover{color:var(--accent)}.nav .active{border-bottom:2px solid var(--ink);padding:12px 0}.join{border:1px solid #a6b19c;padding:12px 18px;border-radius:5px;display:flex;gap:18px;align-items:center;font-weight:600}.join.active{border-bottom:1px solid #a6b19c;padding:12px 18px;background:#e9ecdf}.menu{display:none;background:none;border:0;font-size:20px;padding:8px}.eyebrow{margin-top:16px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;display:flex;gap:10px;align-items:center;color:#768365}.eyebrow:before{content:"";width:21px;height:1px;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:4px;padding:15px 22px;font-weight:600;font-size:12px;background:var(--accent);color:#fff}.btn:hover{background:#0d3d28}.btn-ghost{background:transparent;color:var(--ink);border:1px solid #c1cab4}.btn-ghost:hover{background:#e9ecdf}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:14px}.text-link:hover{color:var(--accent)}.subtle{font-size:12px;color:var(--muted)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:29px}h2,.section-top h2,.h2{font-family:var(--serif);font-size:37px;font-weight:400;letter-spacing:-1px;margin:10px 0 0}.page-head{padding:44px 0 34px;border-bottom:1px solid var(--line)}.page-head h1{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1.08;letter-spacing:-1.5px;margin:14px 0 0;max-width:900px}.page-head .lead{max-width:680px;color:#5f6a58;font-size:17px;margin:18px 0 0}.page-body{padding-block:44px 66px}.breadcrumbs{font-size:11px;color:var(--muted);padding-top:8px}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.breadcrumbs li:not(:last-child):after{content:"/";margin-left:6px;color:#b3baa8}.breadcrumbs a:hover{color:var(--accent);text-decoration:underline}.filters{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}.filter{background:transparent;border:1px solid #d5d9cd;padding:9px 17px;border-radius:30px;font-size:11px}.filter:hover{border-color:#9aac84}.filter.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:var(--card);border:1px solid #e4e5dc;border-radius:7px;overflow:hidden;transition:transform .2s,box-shadow .2s;position:relative}.card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #263b2510}.card-link{display:flex;flex-direction:column;height:100%}.card-image{height:216px;width:100%;object-fit:cover;display:block;background:#e4e9db}.card-image--empty{display:flex;align-items:center;justify-content:center;color:#9aac84}.card-image--empty svg{width:48px;height:48px}.card-body{padding:23px 24px 21px;flex:1;display:flex;flex-direction:column;width:100%}.meta{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.08em;color:#808575;text-transform:uppercase;flex-wrap:wrap}.tag{color:#23573b;background:#e8efe9;border-radius:3px;padding:5px 7px;font-size:9px;font-weight:700}.card h3{font-family:var(--serif);font-size:25px;line-height:1.25;font-weight:400;margin:16px 0 9px;letter-spacing:-.4px}.card p{font-size:12px;color:#777d70;margin:0 0 21px}.card-bottom{margin-top:auto;border-top:1px solid #e5e7dc;padding-top:16px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#6a755e}.card-bottom svg{width:16px}.news-end{margin-top:25px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#87907d}.tools-section{background:var(--soft);border-block:1px solid #dce1d2;padding:54px 0 59px}.tools-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.tools-intro p{max-width:350px;color:#6d7863;font-size:12px;margin:0}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tools--3{grid-template-columns:repeat(3,1fr)}.tool{border:1px solid #cbd4bd;background:#f2f4e9;border-radius:6px;text-align:left;padding:25px;position:relative;display:block}.tool:hover{background:#fffef7;border-color:#9aac84}.tool-icon{width:43px;height:43px;background:#dce8de;color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.tool h3{font-family:var(--display);font-size:14px;margin:0 0 8px;padding-right:22px}.tool p{font-size:11px;color:#76816b;margin:0}.tool>.arrow{position:absolute;top:28px;right:24px;width:18px}.tool-label{display:block;font-size:9px;color:#2f6348;letter-spacing:.12em;text-transform:uppercase;margin-top:22px}.tools-group+.tools-group{margin-top:40px;padding-top:34px;border-top:1px solid var(--line)}.tools-group h2{font-size:28px;margin:0}.tools-group>.subtle{margin:6px 0 18px}.bottom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:66px}.about-content{display:flex;gap:25px;margin-top:25px;align-items:center}.about-content img{width:118px;height:118px;mix-blend-mode:multiply;flex-shrink:0}.about-content p{font-size:13px;color:#747e6c;margin:0 0 15px}.agenda-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.event{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}a.event:hover h3{color:var(--accent)}.date{background:#e8ecde;border-radius:4px;min-width:54px;text-align:center;padding:8px;flex-shrink:0}.date b{display:block;font-family:var(--serif);font-size:24px;font-weight:400}.date span{font-size:8px;letter-spacing:.12em;text-transform:uppercase;display:block}.event h3{font-size:12px;margin:0 0 6px}.event p{font-size:10px;color:#7b8473;margin:0;line-height:1.6}.event>svg{margin-left:auto;width:18px;flex-shrink:0}.event .event-place svg{width:12px;height:12px;margin:-2px 4px 0 0}.event--cancelled h3{text-decoration:line-through}.agenda-more{margin-top:18px}.empty{color:var(--muted);font-size:13px;padding:20px 0}.closing{background:#243f2d;color:#f1f2e7;border-radius:6px;padding:35px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:60px}.closing h2{font-size:30px;margin:0}.closing p{font-size:12px;color:#c0cdb6;margin:10px 0 0}.closing .btn{border:1px solid #7ba18a;flex-shrink:0}.footer{border-top:1px solid var(--line);padding:28px 0}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .brand img{width:43px;height:43px}.footer .brand strong{font-size:12px}.footer .brand small{font-size:8px}.footer-right{display:flex;align-items:center;gap:20px;color:#7b8374;font-size:10px}.footer-right img{width:45px;height:45px;mix-blend-mode:multiply}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:11px;color:#6d7863;margin-top:22px;padding:0;list-style:none}.footer-links a:hover{color:var(--accent);text-decoration:underline}.credit{font-size:9px;color:#8b9284;margin-top:20px;text-align:center;line-height:1.7}.listing-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;flex-wrap:wrap}.listing-head .filters{margin:0}.search-form{display:flex;gap:8px;max-width:520px;width:100%}.search-form input{flex:1;min-width:0;background:var(--card);border:1px solid #cad2bd;border-radius:5px;padding:11px 14px;color:var(--ink)}.search-form .btn{padding:11px 18px;gap:10px}.pagination{display:flex;justify-content:center;gap:6px;margin-top:44px;flex-wrap:wrap;list-style:none;padding:0}.pagination a,.pagination span{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;border:1px solid #d5d9cd;border-radius:4px;font-size:12px;padding:0 12px}.pagination a:hover{border-color:#9aac84;background:#fffef7}.pagination [aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}.pagination .disabled{color:#b3baa8}.entry{max-width:760px;margin:0 auto}.entry-head{padding:40px 0 28px;max-width:760px;margin:0 auto}.entry-head h1{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1.1;letter-spacing:-1.4px;margin:18px 0 16px}.entry-head .lead{font-size:17px;color:#5f6a58;margin:0 0 22px}.entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:11px;color:var(--muted);letter-spacing:.04em}.entry-meta .tag{letter-spacing:.08em;text-transform:uppercase}.entry-cover{max-width:1040px;margin:0 auto 36px}.entry-cover img{width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:8px;display:block}.entry-cover figcaption{font-size:11px;color:var(--muted);margin-top:8px;text-align:center}.entry-foot{max-width:760px;margin:44px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.share{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.share a,.share button{border:1px solid #d5d9cd;background:transparent;border-radius:30px;padding:7px 14px;font-size:11px}.share a:hover,.share button:hover{border-color:#9aac84;background:#fffef7}.draft-notice{background:#fff3cd;color:#6b5205;border:1px solid #f0d98a;padding:10px 16px;border-radius:5px;font-size:12px;margin-top:18px}.attachments{max-width:760px;margin:36px auto 0;padding:0;list-style:none;border-top:1px solid var(--line)}.attachments h2{font-size:24px;margin:26px 0 12px}.attachment{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.attachment-badge{flex-shrink:0;width:46px;height:46px;border-radius:6px;background:#e8ecde;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--accent);text-transform:uppercase}.attachment strong{display:block;font-size:13px;font-weight:600}.attachment small{font-size:11px;color:var(--muted)}.attachment>svg{margin-left:auto;width:18px;flex-shrink:0}.attachment:hover strong{color:var(--accent);text-decoration:underline}.related{background:var(--soft);border-top:1px solid #dce1d2;margin-top:66px;padding:66px 0}.calendar-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;align-items:start}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.month-nav h2{font-size:30px;margin:0;text-transform:capitalize}.month-nav a{border:1px solid #d5d9cd;border-radius:4px;padding:8px 12px;font-size:12px;display:inline-flex;gap:8px;align-items:center}.month-nav a:hover{border-color:#9aac84;background:#fffef7}.month-nav svg{width:16px}.month-nav .prev svg{transform:scaleX(-1)}.calendar{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--card);border:1px solid #e4e5dc;border-radius:7px;overflow:hidden}.calendar th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:10px 4px;border-bottom:1px solid #e4e5dc}.calendar td{vertical-align:top;height:92px;padding:6px;border:1px solid #eef0e7;font-size:11px}.calendar td.other{background:#f7f7f1;color:#b5bbab}.calendar td.today .day-num{background:var(--accent);color:#fff}.day-num{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:600}.cal-event{display:block;margin-top:4px;background:#e8efe9;color:#1d4d33;border-radius:3px;padding:3px 5px;font-size:10px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.cal-event:hover{background:var(--accent);color:#fff}.cal-event.is-cancelled{text-decoration:line-through;opacity:.7}.calendar-side h2{font-size:26px;margin:0 0 6px}.calendar-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0 0 30px;padding:0;list-style:none}.fact{background:var(--card);border:1px solid #e4e5dc;border-radius:6px;padding:16px 18px}.fact dt,.fact .fact-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}.fact dd,.fact .fact-value{margin:6px 0 0;font-size:14px;line-height:1.5}.fact a{text-decoration:underline}.badge-cancelled{display:inline-block;background:#f6dddd;color:#8a2a2a;border-radius:3px;padding:5px 8px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.error-page{text-align:center;padding-block:90px 110px}.error-page h1{font-family:var(--serif);font-weight:400;font-size:64px;margin:12px 0}.error-page .eyebrow{justify-content:center}.error-page p{color:var(--muted);max-width:460px;margin:0 auto 28px}@media(max-width:1000px){.wrap{padding:0 28px}.nav{gap:17px}.nav a{font-size:11px}.brand strong{font-size:13px}.brand img{width:55px;height:55px}.card-image{height:180px}.card-body{padding:19px}.bottom-grid{gap:35px}.about-content{display:block}.about-content img{float:left;margin:0 18px 10px 0;width:90px;height:90px}.tools,.tools--3{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:1fr}.page-head h1,.entry-head h1{font-size:42px}}@media(max-width:860px){.menu{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:5;background:var(--paper);padding:22px;box-shadow:0 12px 16px #0002;flex-direction:column;align-items:stretch;gap:18px}.nav.open{display:flex}.nav a{font-size:14px}.nav .active{border:0;padding:0;color:var(--accent);font-weight:600}.join,.join.active{justify-content:space-between;padding:12px 18px}}@media(max-width:720px){.wrap{padding:0 21px}.announcement{font-size:10px}.header{height:85px}.brand img{width:49px;height:49px}.brand strong{font-size:13px}.brand small{font-size:8px}.related{padding:44px 0}h2,.section-top h2,.h2{font-size:32px}.section-top{align-items:center}.section-top>.text-link{font-size:10px;gap:5px}.section-top>.text-link svg{width:15px}.cards{grid-template-columns:1fr;gap:20px}.card-image{height:230px}.card-body{padding:23px}.news-end{align-items:start;gap:14px;line-height:1.6}.tools-intro{display:block}.tools-intro p{margin-top:16px}.tools,.tools--3{grid-template-columns:1fr}.tool{padding:22px 22px 22px 86px}.tool-icon{position:absolute;left:22px;top:22px}.tool-label{margin-top:15px}.tool>.arrow{width:16px;right:16px}.bottom-grid{grid-template-columns:1fr;gap:40px}.about-content{min-height:125px}.closing{display:block;padding:29px;margin-bottom:40px}.closing .btn{margin-top:22px}.closing h2{font-size:29px}.footer-row{align-items:start}.footer-right{flex-direction:column;align-items:end;gap:8px}.footer-right span{max-width:130px;text-align:right;font-size:9px}.page-head{padding:28px 0 24px}.page-head h1,.entry-head h1{font-size:34px;letter-spacing:-.8px}.page-head .lead,.entry-head .lead{font-size:15px}.entry-head{padding-top:24px}.calendar td{height:64px;padding:3px}.cal-event{font-size:0;padding:0;height:6px;border-radius:3px;background:var(--accent)}.month-nav h2{font-size:22px}.month-nav a span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.subhead{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.5px;margin:40px 0 14px}.subhead--first{margin-top:0}.narrow{max-width:760px}.narrow--spaced{margin-bottom:44px}.search-form--head{margin-top:22px}.calendar-tools--event{margin:0 0 34px}.tool--more{background:var(--ink);border-color:var(--ink);color:#f1f2e7}.tool--more:hover{background:#1b3022;border-color:#1b3022}.tool--more p{color:#c0cdb6}.tool--more .tool-label{color:#9fc3ab}.tool--more .tool-icon{background:#34573f;color:#e4efe6}.home-news{padding-block:22px 60px}.home-bottom{padding-block:60px}@media(max-width:720px){.home-news{padding-block:14px 44px}.home-bottom{padding-block:44px}}.related .date{background:var(--card)}.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#111a14f7;color:#fff}.lightbox::backdrop{background:transparent}.lightbox figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:48px 64px 20px;pointer-events:none}.lightbox img{max-width:100%;max-height:calc(100dvh - 110px);object-fit:contain;border-radius:4px;pointer-events:auto}.lightbox figcaption{font-size:13px;letter-spacing:.08em;color:#c9d3c3}.lightbox button{position:absolute;border:0;background:#ffffff1f;color:#fff;width:46px;height:46px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}.lightbox button:hover,.lightbox button:focus-visible{background:#ffffff42}.lightbox-close{top:14px;right:14px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%)}.lightbox-prev{left:12px}.lightbox-next{right:12px}@media(max-width:640px){.lightbox figure{padding:60px 8px 16px}.lightbox-prev,.lightbox-next{top:auto;bottom:14px;transform:none}}
