:root{--bg:#fff;--panel:#fff;--line:#d3d6da;--line-soft:#e7e9eb;--text:#1a1a1b;--text-2:#565758;--text-3:#818384;--green:#6aaa64;--green-deep:#4e7d49;--green-tint:#e9f2e7;--tile-line:#d3d6da;--tile-fill:#878a8c;--well:#f6f6f3;--shadow:0 1px 3px #1a1a1b14;--serif:"Zilla Slab",Georgia,serif;--sans:"Libre Franklin",-apple-system,"Helvetica Neue",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color-scheme:light}:root[data-theme=dark]{--bg:#121213;--panel:#1a1a1b;--line:#3a3a3c;--line-soft:#2c2c2e;--text:#f5f5f4;--text-2:#a8a8ab;--text-3:#6e6e72;--green:#538d4e;--green-deep:#7fbe78;--green-tint:#538d4e29;--tile-line:#565758;--tile-fill:#3a3a3c;--well:#1b1b1d;--shadow:0 1px 3px #00000080;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}.wrap{max-width:720px;margin:0 auto;padding:0 20px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}header{border-bottom:1px solid var(--line)}.header-in{justify-content:space-between;align-items:center;height:56px;display:flex}.brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.mark{font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--line);color:var(--text-2);border-radius:4px;padding:4px 8px;font-size:13px;font-weight:700}.site-title{font-family:var(--serif);letter-spacing:.01em;font-size:21px;font-weight:700}.theme-toggle{border:1px solid var(--line);font-family:var(--mono);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.theme-toggle:hover{border-color:var(--text-3);color:var(--text)}.theme-toggle .dot{background:var(--green);border-radius:50%;width:8px;height:8px}.hero{text-align:center;padding:44px 0 8px}.hero h1{font-family:var(--serif);letter-spacing:.005em;font-size:clamp(28px,4.6vw,40px);font-weight:700;line-height:1.2}.hero .sub{color:var(--text-2);margin-top:10px;font-size:16px}.board{padding:28px 0 8px}.tabs{border:1px solid var(--line);border-radius:8px;justify-content:center;gap:0;width:max-content;max-width:100%;margin:0 auto 26px;display:flex;overflow:hidden}.tab{color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:9px 18px;font-size:14px;font-weight:600}.tab[aria-selected=true]{background:var(--green);color:#fff}.tab+.tab{border-left:1px solid var(--line)}.field-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:12px;font-size:12px;font-weight:700;display:block}.play{background:var(--well);border:1px solid var(--line-soft);cursor:text;border-radius:14px;padding:26px 24px 22px}.input-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.input-row.main{flex-wrap:nowrap}.input-row.actions{flex-wrap:nowrap;align-items:stretch;margin-top:10px}.input-row.actions .btn-big{flex:1;padding:15px 24px;font-size:18px}.input{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;border:2px solid var(--line);background:var(--bg);color:var(--text);text-align:center;border-radius:10px;flex:1;min-width:0;padding:18px 22px;font-size:21px;font-weight:700}.input:focus{border-color:var(--green);outline:none}select.input{letter-spacing:.02em;text-transform:none;font-family:var(--sans);flex:none;width:auto;padding:12px 14px;font-size:15px;font-weight:600}.phrase-input{letter-spacing:.02em;text-transform:none;width:min(100%,460px);font-family:var(--sans);flex:none;font-weight:400}.btn{cursor:pointer;border:2px solid #0000;border-radius:10px;padding:15px 22px;font-size:16px;font-weight:700}.btn-big{flex:none;padding:18px 40px;font-size:18px}.btn-secondary{background:var(--bg);border-color:var(--tile-line);color:var(--text);box-shadow:var(--shadow);align-items:center;gap:8px;padding:12px 20px;display:inline-flex}.btn-secondary:hover{border-color:var(--text-2)}.input-row.actions .btn-secondary{padding:12px 20px}.btn-secondary svg{flex:none;width:17px;height:17px}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{filter:brightness(.93)}.results{margin-top:30px}.results-head{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;margin-bottom:12px;font-size:12px;font-weight:700;display:flex}.result{text-align:left;background:var(--panel);border:1px solid var(--line-soft);cursor:pointer;width:100%;box-shadow:var(--shadow);border-radius:8px;margin-bottom:10px;padding:16px;transition:border-color .2s;display:block}.result:hover{border-color:var(--green)}.rwords{color:var(--text-2);font-size:17px;font-weight:600;line-height:1.6;display:block}.rwords .wt{white-space:nowrap;align-items:center;gap:6px;margin:2px 10px 2px 0;display:inline-flex}.rtile{background:var(--green);color:#fff;width:26px;height:29px;transform-style:preserve-3d;animation:.45s cubic-bezier(.2,.7,.3,1) both flip;animation-delay:var(--d,0s);border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}@keyframes flip{0%{opacity:.1;transform:rotateX(92deg)}to{opacity:1;transform:rotateX(0)}}.result-foot{border-top:1px dashed var(--line);font-family:var(--mono);color:var(--text-3);justify-content:flex-end;align-items:center;gap:12px;margin-top:10px;padding-top:9px;font-size:12.5px;display:flex}.result.copied .copy-hint{color:var(--green-deep);flex:none;font-weight:700}.copy-hint{flex:none}.switch-row{justify-content:center;align-items:center;gap:10px;margin:14px 0;display:flex}.switch{flex:none;width:40px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch .track{border:1px solid var(--line);background:var(--panel);border-radius:999px;transition:all .2s;position:absolute;inset:0}.switch .knob{background:var(--text-3);border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:4px;left:4px}.switch input:checked~.track{background:var(--green-tint);border-color:var(--green)}.switch input:checked~.knob{background:var(--green-deep);transform:translate(16px)}.switch-label{color:var(--text-2);font-size:14px}.mono-out{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.mono-out .big{font-family:var(--mono);letter-spacing:.24em;color:var(--green-deep);overflow-wrap:anywhere;font-size:34px;font-weight:700}.mini-copy{border:1px solid var(--line);font-family:var(--mono);color:var(--text-2);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:6px 12px;font-size:12px}.mini-copy:hover{border-color:var(--text-3);color:var(--text)}section{border-top:1px solid var(--line-soft);margin-top:44px;padding:52px 0}.sec-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.sec-index{font-family:var(--mono);letter-spacing:.14em;color:var(--green-deep);font-size:12px}h2{font-family:var(--serif);font-size:clamp(22px,3.2vw,28px);font-weight:700}.prose p{color:var(--text-2);max-width:68ch;margin-bottom:16px;font-size:16px;line-height:1.7}.prose p strong{color:var(--text);font-weight:600}.prose p a{color:var(--green-deep)}.preset-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.preset{background:var(--panel);border:1px solid var(--line-soft);cursor:pointer;text-align:left;color:var(--text);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:10px;padding:18px;transition:border-color .2s,transform .15s;display:flex}.preset:hover{border-color:var(--green);transform:translateY(-2px)}.preset .p-tiles{gap:4px;display:flex}.ptile{border:1.5px solid var(--tile-line);width:24px;height:27px;color:var(--text-2);border-radius:3px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.preset .p-title{font-size:15px;font-weight:700}.preset p{color:var(--text-2);font-size:14.5px;line-height:1.6}.preset .use{font-family:var(--mono);letter-spacing:.08em;color:var(--green-deep);margin-top:auto;font-size:11px}.steps{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.step{border:1px solid var(--line-soft);background:var(--panel);border-radius:8px;padding:18px}.step .n{font-family:var(--mono);letter-spacing:.12em;color:var(--green-deep);margin-bottom:10px;font-size:11px;display:block}.step h3{font-size:15px;font-weight:700}.step p{color:var(--text-2);margin-top:6px;font-size:14.5px;line-height:1.6}.glossary{border:1px solid var(--line-soft);background:var(--panel);border-radius:8px}.g-row{grid-template-columns:130px 1fr;gap:16px;padding:16px 18px;display:grid}.g-row+.g-row{border-top:1px solid var(--line-soft)}.g-row dt{font-size:15px;font-weight:700}.g-row dd{color:var(--text-2);font-size:15px;line-height:1.65}.g-row dd .eg{font-family:var(--mono);color:var(--text-3);margin-top:4px;font-size:12.5px;display:block}details{border-bottom:1px solid var(--line-soft)}details:first-of-type{border-top:1px solid var(--line-soft)}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 2px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary h3{font-size:16px;font-weight:600;font-family:var(--sans)}summary:hover h3{color:var(--green-deep)}summary .ind{font-family:var(--mono);color:var(--text-3);flex:none;font-size:16px;transition:transform .25s}details[open] summary .ind{color:var(--green-deep);transform:rotate(45deg)}details .ans{color:var(--text-2);max-width:64ch;padding:0 2px 20px;font-size:16px;line-height:1.7}.page-body{padding:40px 0 8px}.page-body h1{font-family:var(--serif);margin-bottom:18px;font-size:clamp(28px,4.4vw,38px);font-weight:700}.page-body h2{margin:30px 0 12px;font-size:clamp(19px,2.6vw,23px)}.page-body p{color:var(--text-2);max-width:68ch;margin-bottom:14px;font-size:16px;line-height:1.7}.page-body a{color:var(--green-deep)}footer{border-top:1px solid var(--line);margin-top:44px;padding:28px 0 40px}.foot-in{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;font-size:13.5px;display:flex}.foot-in nav{gap:20px;display:flex}.foot-in a{color:var(--text-2);font-family:var(--mono);font-size:12.5px;text-decoration:none}.foot-in a:hover{color:var(--text)}@media (width<=600px){.play{padding:18px 14px 16px}.input-row.main,.input-row.actions{flex-wrap:wrap}.input-row.actions .btn-big{flex:100%;order:-1}.preset-grid,.steps,.grid-2{grid-template-columns:1fr}.input{flex:none;width:100%}.g-row{grid-template-columns:1fr;gap:6px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
