@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800&family=Frank+Ruhl+Libre:wght@400;500;600;700&display=swap');
:root{--ink:#14263c;--muted:#627187;--line:#dde4ed;--gold:#edcb8c;--blue:#183a54;font-family:'Heebo',Arial,sans-serif;color:var(--ink);background:#f3f6fa;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink);font-size:24px;font-weight:700}.brand-icon{width:48px;height:51px;background:var(--ink);border-radius:14px 14px 4px 14px;color:var(--gold);font:40px 'Frank Ruhl Libre',Georgia,serif;text-align:center}.brand small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:1px}.edition{font-size:14px;color:var(--muted);display:flex;align-items:center;gap:20px}.edition span{border-right:1px solid var(--line);padding-right:20px;color:var(--ink)}main{max-width:1180px;margin:auto;padding:0 32px}.page-title{display:flex;justify-content:space-between;align-items:center;padding:48px 0 34px}.eyebrow{font-size:13px;color:#856426;margin:0 0 8px;font-weight:600}h1{font-family:'Frank Ruhl Libre',Georgia,serif;font-size:48px;line-height:1.25;font-weight:500;margin:0 0 10px}.page-title p:last-child{color:var(--muted);font-size:16px;margin:0}.title-mark{font:70px 'Frank Ruhl Libre',Georgia,serif;color:#b4bfce;line-height:1;text-align:center;padding-left:20px}.title-mark span{display:block;font:14px 'Heebo',sans-serif;color:#75859c;letter-spacing:8px;line-height:2}.workspace{display:grid;grid-template-columns:1.1fr 1fr;gap:26px}.panel{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.editor{display:flex;flex-direction:column}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 26px 16px}h2{font-size:16px;font-weight:600;margin:0;display:flex;gap:10px;align-items:center}.step{font-size:12px;color:#8290a4;font-weight:500;font-variant-numeric:tabular-nums}.text-button{border:0;background:none;color:var(--muted);font:14px inherit;cursor:pointer;padding:6px}.text-button span{font-size:20px;margin-right:5px}textarea{width:100%;resize:vertical;min-height:184px;max-height:500px;flex:1;border:0;padding:24px 28px;background:transparent;font:36px/1.65 'Heebo',Arial,sans-serif;color:var(--ink);outline-offset:-5px}textarea::placeholder{color:#a0abbc;font-size:28px}.editor-meta{display:flex;justify-content:space-between;gap:10px;margin:0 26px 22px;font-size:12px;color:var(--muted)}.editor-meta span:first-child{font-size:14px;color:#41536b}.input-bottom{background:#f9fafc;border-top:1px solid #edf0f5;display:flex;gap:8px;padding:17px 24px;align-items:center;font-size:13px;color:var(--muted);flex-wrap:wrap}.example{font:14px 'Heebo',sans-serif;background:white;border:1px solid var(--line);color:#40536b;border-radius:7px;padding:5px 12px;cursor:pointer}.example:hover{border-color:#879db5;background:#edf3f9}.results-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 16px;gap:12px;min-height:34px}.toggle{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);cursor:pointer}.toggle input{accent-color:var(--ink);width:16px;height:16px}.results{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:314px}.result{border-radius:18px;padding:22px;display:flex;flex-direction:column;position:relative;overflow:hidden;min-width:0}.primary{background:var(--ink);color:white;box-shadow:0 10px 22px #14263c14}.secondary{background:#e6edf5;border:1px solid #d5e0ed;color:var(--ink)}.result-top{display:flex;justify-content:space-between;align-items:center;font-size:13px}.primary .result-top{color:#c2ccdb}.secondary .result-top{color:#60738a}.result-symbol{font:24px 'Frank Ruhl Libre',Georgia,serif;opacity:.6}select{font:14px 'Heebo',Arial,sans-serif;cursor:pointer;max-width:100%;border-radius:7px;border:1px solid var(--line);background:white;color:var(--ink);padding:9px 10px;min-height:42px}.result select{width:100%;margin-top:17px;font-size:16px;font-weight:500;background:transparent;border:0;border-bottom:1px solid #ffffff35;border-radius:0;padding:7px 0 10px;color:inherit}.result select option,.result select optgroup{background:white;color:var(--ink)}.secondary select{border-color:#c3cfdd}.result output{display:block;font:500 clamp(40px,5vw,64px)/1.35 'Heebo',Arial,sans-serif;letter-spacing:-2px;direction:ltr;text-align:right;padding-top:20px;color:var(--gold);overflow-wrap:anywhere}.secondary output{color:var(--blue)}.result p{font-size:13px;line-height:1.85;margin:10px 0 0;color:#c2ccdb}.secondary p{color:#586e85}.breakdown{grid-column:1/-1}.badge{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:5px 11px}.letter-list{display:flex;flex-wrap:wrap;gap:10px;padding:12px 26px 26px;min-height:104px}.letter{min-width:56px;display:flex;flex-direction:column;align-items:center;background:#f7f9fc;border:1px solid #e5eaf2;border-radius:9px;padding:7px 12px}.letter b{font:32px 'Frank Ruhl Libre',Georgia,serif;color:var(--ink)}.letter small{font-size:13px;color:var(--muted);padding-top:5px}.word-gap{width:10px}.breakdown-footer{border-top:1px solid #edf0f5;margin:0 26px;display:flex;justify-content:space-between;align-items:center;padding:15px 0;gap:20px}.breakdown-footer span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.breakdown-footer strong{font-size:23px;font-weight:500}.settings{grid-column:1/-1;background:transparent;border-radius:12px}.settings summary{padding:18px 24px;font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.settings summary::-webkit-details-marker{display:none}.settings[open] summary{border-bottom:1px solid var(--line)}.settings-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:24px}.settings-grid label{font-size:14px;display:flex;flex-direction:column;gap:10px}.settings-grid input[type=color]{width:100%;height:42px;padding:4px;border:1px solid var(--line);border-radius:7px;background:white;cursor:pointer}.settings-grid input[type=range]{accent-color:var(--ink);height:30px;max-width:100%}.results.single{grid-template-columns:1fr}.results.stacked{grid-template-columns:1fr}.results.stacked .result{min-height:240px}footer{display:flex;align-items:center;justify-content:space-between;padding:26px 2px 36px;color:#7b889a;font-size:12px}footer p{margin:0}.footer-brand{font-weight:600;color:#64758b}.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}:focus-visible{outline:3px solid #b8893c;outline-offset:4px}[hidden]{display:none!important}.empty{font-size:15px;color:var(--muted);align-self:center}.notice{font-size:13px;color:var(--muted);line-height:1.8}
@media(min-width:1000px){.editor{min-height:364px}}@media(max-width:850px){.workspace{grid-template-columns:1fr}.page-title{padding-top:32px}.results{min-height:280px}.settings-grid{grid-template-columns:repeat(3,1fr)}.breakdown,.settings{grid-column:1}h1{font-size:42px}.result output{font-size:58px}}@media(max-width:500px){.topbar{height:82px;padding:0 20px}.brand{font-size:21px}.edition{display:none}main{padding:0 18px}.page-title{padding:28px 0}.title-mark{display:none}h1{font-size:38px}.page-title p:last-child{font-size:14px;line-height:1.8}.workspace{gap:22px}.section-head{padding:20px 18px 10px}.editor-meta{margin:0 18px 20px;flex-direction:column;gap:3px}textarea{padding:18px;min-height:156px}.input-bottom{padding:14px 18px}.result{padding:18px 14px}.result output{font-size:44px;letter-spacing:-1px}.results{gap:12px}.result p{font-size:12px}.result select{font-size:14px}.results-heading h2{font-size:15px}.toggle{font-size:12px}.letter-list{padding:14px 18px 22px;gap:8px}.badge{font-size:11px}.settings-grid{grid-template-columns:1fr 1fr;padding:18px;gap:18px}footer{gap:12px;flex-wrap:wrap}footer>span:last-child{display:none}}
@media(prefers-reduced-motion:no-preference){button,select{transition:background .16s,border-color .16s}.result{animation:enter .4s ease-out}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}
