:root{--paper:#FAF7EF;--ink:#263B34;--muted:#53645A;--line:#D2DBCE;--white:#FFFEFA;--green:#E3EDDF;--orange:#A6402F;--lavender:#DCD7F0;--citrus:#E5EBAD;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}button,input,textarea{font:inherit}button,a,input,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button:disabled{cursor:default;opacity:.5}input[type=checkbox],input[type=range]{accent-color:var(--ink)}input[type=checkbox]{width:17px;height:17px;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}input[type=text],input[type=number]{border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);padding:10px 12px;max-width:100%}.page{max-width:1216px;margin:0 auto;padding:0 40px}.masthead{display:flex;justify-content:space-between;align-items:center;height:98px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:28px;font-weight:720;letter-spacing:-1.4px}.brand-mark{font-size:39px;line-height:1;color:var(--orange);font-weight:400}.brand-dot{color:var(--orange);margin-left:-8px}nav{display:flex;align-items:center;gap:31px}nav a{font-size:13px;text-decoration:none}.prototype{font:10px var(--mono);letter-spacing:1.2px;border:1px solid var(--line);border-radius:40px;padding:7px 12px}.hero{display:flex;justify-content:space-between;align-items:center;padding:57px 0 49px}.eyebrow{font:10px var(--mono);letter-spacing:1.35px;margin:0}.tiny-line{display:inline-block;vertical-align:middle;width:20px;height:1px;background:var(--orange);margin-right:9px}h1{font-family:var(--serif);font-size:76px;line-height:1.04;font-weight:400;letter-spacing:-3px;margin:23px 0 19px}h1 em{font-weight:400;color:var(--orange)}.intro{font-size:16px;line-height:1.6;color:var(--muted);margin:0}.character-art{width:360px;height:264px;position:relative;margin-right:22px}.character-art>span:not(.art-caption){position:absolute;display:grid;place-items:center;border:1px solid var(--ink);width:128px;height:146px;font-family:var(--serif);font-size:100px;line-height:1}.art-a{left:1px;top:23px;transform:rotate(-12deg);background:var(--green);z-index:2}.art-eight{left:111px;top:62px;transform:rotate(8deg);background:var(--white);z-index:3}.character-art .art-star{left:219px;top:0;font-size:89px;background:var(--orange);color:var(--paper);border-color:var(--orange);transform:rotate(17deg)}.art-caption{position:absolute;bottom:0;left:29px;font:9px var(--mono);letter-spacing:1.15px}.workspace{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;scroll-margin-top:24px;align-items:start}.generator-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:28px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.local-indicator{font-size:10px;color:var(--muted);white-space:nowrap}.local-indicator span{display:inline-block;width:6px;height:6px;background:#587349;border-radius:50%;margin-right:5px}.modes{display:grid;grid-template-columns:1fr 1.05fr 1.25fr;background:#efefe8;border-radius:8px;padding:4px;margin:25px 0}.mode{border:0;border-radius:5px;color:var(--muted);padding:10px 5px;background:none;font-size:12px;white-space:nowrap}.mode.active{background:var(--ink);color:var(--white)}label,legend{font-size:13px;font-weight:550}.length-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.length-row input{width:70px;font:18px var(--mono);text-align:center;padding:7px}input[type=range]{width:100%;margin:18px 0 2px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted)}fieldset{border:0;padding:0;margin:25px 0 20px}legend{padding:0;margin-bottom:11px}.character-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.character-option{position:relative;display:flex;align-items:center;justify-content:center;min-height:83px;border:1px solid var(--line);border-radius:8px;background:var(--white);cursor:pointer}.character-option:has(input:checked){background:var(--green);border-color:#b8c2a8}.character-option input{position:absolute;top:7px;right:6px;margin:0;width:12px;height:12px}.character-option span{display:flex;flex-direction:column;text-align:center;margin-top:7px}.character-option b{font:20px var(--mono)}.character-option small{font-size:10px;font-weight:400;margin-top:4px;color:var(--muted)}.check-row{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400;margin:10px 0}.check-row small{font-family:var(--mono);font-size:10px;color:var(--muted);margin-left:5px}#custom-field{margin:25px 0 19px}#custom-field input{display:block;width:100%;margin-top:9px;font-family:var(--mono)}.field-help{font-size:11px;color:var(--muted);font-weight:400;margin:6px 0 0}.advanced-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;padding-top:16px}.advanced-grid input{width:100%;margin-top:7px}.advanced-grid label{font-size:11px}#more-options{border-top:1px solid var(--line);margin-top:23px;padding-top:14px}summary{cursor:pointer}#more-options summary{display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:12px}summary::-webkit-details-marker{display:none}#more-options summary span{font-size:20px;font-weight:300}.generate{display:flex;justify-content:space-between;align-items:center;background:var(--orange);color:white;border:0;border-radius:7px;width:100%;padding:14px 19px;margin-top:24px;font-size:15px;font-weight:550}.generate:hover{background:#c44628}.generate span{font-size:23px;line-height:1}.error{font-size:12px;color:#a32c1e;background:#fff0e9;padding:10px;border-radius:5px;margin-bottom:0}.result-card{background:var(--green);border:1px solid #cdd5c1;border-radius:14px;padding:28px;min-height:308px;display:flex;flex-direction:column}.result-top{display:flex;justify-content:space-between;align-items:center}.result-icon{font-size:31px;color:#69805d;line-height:1}#output{resize:vertical;min-height:100px;max-height:330px;width:100%;border:0;padding:0;margin:35px 0 0;background:transparent;font:27px/1.5 var(--mono);color:var(--ink);overflow-wrap:anywhere;word-break:break-all}#output::placeholder{font:italic 30px/1.3 var(--serif);color:#617056}#result-meta{font:10px/1.6 var(--mono);color:#526344;margin:14px 0 22px;letter-spacing:.2px}.result-actions{display:flex;gap:14px;align-items:center}.result-actions button{border-radius:6px;border:1px solid var(--ink);padding:10px 18px;background:var(--ink);color:var(--white);font-size:12px;min-width:121px;display:flex;justify-content:space-between;align-items:center;gap:15px}.result-actions .clear-button{border:0;color:var(--ink);background:none;min-width:auto;padding:10px}.status{min-height:19px;margin:10px 0 0;font-size:11px;color:#47563c}.privacy-note{display:flex;gap:16px;padding:23px 8px 21px}.privacy-icon{font:30px var(--serif);color:var(--orange);padding-left:3px}.privacy-note h3{font-size:13px;font-weight:600;margin:0 0 6px}.privacy-note p{font-size:12px;color:var(--muted);line-height:1.7;max-width:350px;margin:0}.ad-slot{min-height:100px;border:1px dashed #cbd0c1;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);background:#f0f0e8}.ad-slot>span{font:8px var(--mono);letter-spacing:1.5px}.ad-slot p{margin:6px 0 2px;font-size:12px}.ad-slot small{font-size:10px;opacity:.9}.guide{display:grid;grid-template-columns:1fr 2.35fr;gap:33px;border-top:1px solid var(--line);padding:43px 0 37px;margin-top:52px;scroll-margin-top:25px}.guide-title .eyebrow{font-size:8px}.guide-title h2{font:31px/1.2 var(--serif);letter-spacing:-.8px;margin:15px 0 0}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.guide-number{font:10px var(--mono);color:var(--orange)}.guide-grid h3{font-size:13px;margin:11px 0 8px}.guide-grid p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}.faq{border-top:1px solid var(--line);padding:6px 0 30px}.faq details{border-bottom:1px solid var(--line);padding:15px 0}.faq summary{font-size:13px;font-weight:500;list-style:none;display:flex;justify-content:space-between}.faq summary:after{content:'+';font:17px var(--mono);color:var(--orange)}.faq details[open] summary:after{content:'−'}.faq p{max-width:780px;font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0 0}.faq a{white-space:normal}footer{display:flex;justify-content:space-between;align-items:center;padding:0 0 29px;gap:20px}.footer-brand{font-size:19px;letter-spacing:-.7px}footer p{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:13px}footer>span{font:9px var(--mono);color:var(--muted)}.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{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:10px;z-index:10}.skip:focus{top:10px}.noscript{background:#fff0e9;padding:20px;position:fixed;bottom:0;width:100%;margin:0}[hidden]{display:none!important}
@media(max-width:960px){.page{padding:0 28px}.hero{padding:42px 0}h1{font-size:65px}.character-art{transform:scale(.8);transform-origin:right center;margin-left:-60px;margin-right:0}.workspace{gap:18px;grid-template-columns:1.1fr 1fr}.generator-card,.result-card{padding:22px}.card-heading{align-items:flex-start;flex-direction:column;gap:8px}.mode{font-size:11px}.guide{grid-template-columns:1fr;gap:25px}.guide-title h2 br{display:none}.check-row small{display:block;margin:3px 0 0}}
@media(max-width:700px){.page{padding:0 20px}.masthead{height:78px}.brand{font-size:24px}.brand-mark{font-size:32px}nav{gap:12px}nav a{font-size:11px}.prototype{display:none}.hero{padding:34px 0 30px}.hero .eyebrow{font-size:8px}h1{font-size:57px;letter-spacing:-2.5px;margin-top:17px}.intro{font-size:14px}.character-art{display:none}.workspace{grid-template-columns:1fr;gap:18px}.card-heading{flex-direction:row;align-items:center}.generator-card,.result-card{padding:22px}.local-indicator{font-size:9px}.eyebrow{font-size:9px}.modes{margin-top:21px}.mode{font-size:12px}.check-row small{display:inline;margin-left:5px}.result-card{min-height:290px}#output{font-size:25px}.guide{margin-top:35px;padding-top:30px}.guide-grid{grid-template-columns:1fr;gap:23px}.guide-grid article{position:relative;padding-left:34px}.guide-number{position:absolute;top:3px;left:0}.guide-grid h3{margin-top:0}.guide-title h2{font-size:29px}.guide-grid p{font-size:13px}footer{flex-wrap:wrap;gap:8px}footer p{margin:0}footer>span{width:100%;margin-top:6px}.ad-slot{min-height:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#exact-toggle-row{margin:0 0 20px}#exact-fields{margin:0 0 20px}.exact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.exact-grid label{display:block;font-size:12px}.exact-grid input{width:100%;margin-top:6px}.exact-total{font:13px var(--mono);margin:16px 0 8px}#error:focus{outline:3px solid var(--orange);outline-offset:3px}
/* Let grid children shrink and labels wrap instead of widening a narrow viewport. */
.workspace>*{min-width:0}fieldset{min-width:0}.modes{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1.25fr)}.mode{white-space:normal}.advanced-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.generate{background:#A6402F}.generate:hover{background:#8E3527}
@media(max-width:700px){.card-heading{flex-wrap:wrap}}
main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:26px}.hero{grid-column:1;grid-row:1;padding:26px 0 25px}.hero h1{font-size:62px;margin:14px 0 12px}.hero .intro{font-size:15px}.masthead{height:82px}.workspace,.guide,.faq{grid-column:1/-1}.sponsor-banner{grid-column:2;grid-row:1;align-self:center;justify-self:end;width:min(100%,360px);height:148px}.sponsor-banner iframe{display:block;width:100%;height:148px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.little-jumble{display:flex;gap:8px;margin-top:14px;height:30px}.little-jumble span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--lavender);font:18px var(--mono);color:var(--ink);transform:rotate(-8deg)}.little-jumble span:nth-child(2){background:var(--citrus);transform:rotate(7deg)}.little-jumble span:nth-child(3){background:var(--green);transform:rotate(-3deg)}.privacy-note p{max-width:none}.security-notice{border-top:1px solid var(--line);padding:25px 0 28px;min-height:150px}.security-notice h2{font-size:16px;margin:0 0 12px}.security-notice p{font-size:13px;line-height:1.8;max-width:92ch;margin:0 0 10px;color:var(--muted)}.security-notice a{color:var(--ink)}
@media(max-width:960px){main{grid-template-columns:minmax(0,1fr);column-gap:0}.hero{grid-column:1;grid-row:auto;padding:22px 0}.hero h1{font-size:56px}.sponsor-banner{grid-column:1;grid-row:auto;justify-self:stretch;width:100%;height:148px;margin-top:22px}.sponsor-banner iframe{height:148px}.guide{margin-top:32px}}
@media(max-width:700px){.masthead{height:72px}.hero{padding:23px 0 22px}.hero h1{font-size:49px}.hero .intro{font-size:14px}.little-jumble{margin-top:12px}.sponsor-banner{height:148px}.security-notice p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.little-jumble span:nth-child(n){transform:none}}
.security-notice p{font-size:14px}

/* The generator origin contains no ad/sponsor frame. */
.tool-label{font:10px var(--mono);letter-spacing:1px;color:var(--muted)}main{grid-template-columns:minmax(0,1fr)}.hero{grid-column:1/-1}
@media(max-width:480px){.tool-label{display:none}}
