.ratio{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-ring: #3b82f6;--color-primary-tint: #eff6ff;--color-amber: #d97706;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-border: #e5e7eb;--color-border-input: #d1d5db;--color-text-heading: #111827;--color-text-body: #374151;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--gradient-hero: linear-gradient(to right, #eef2ff, #ffffff, #fdf2f8);--radius-input: .5rem;--radius-card: 1rem;--shadow-card: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-raised: 0 10px 15px -3px rgb(0 0 0 / .1);color:var(--color-text-body);background:#fcfcfd;line-height:1.5;-webkit-font-smoothing:antialiased}.ratio *{box-sizing:border-box}.ratio-container{max-width:60rem;margin-inline:auto;padding-inline:1rem;padding-bottom:1rem}@media (min-width: 640px){.ratio-container{padding-inline:1.5rem}}@media (min-width: 1024px){.ratio-container{padding-inline:2rem}}.ratio .card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem}.ratio .card--raised{box-shadow:var(--shadow-raised)}.ratio .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--color-primary);color:#fff;font-weight:600;padding:.625rem 1.5rem;border-radius:var(--radius-input);border:0;cursor:pointer;text-decoration:none;transition:.15s;font-size:1rem}.ratio .btn:hover{background:var(--color-primary-hover)}.ratio .btn:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.ratio .btn:disabled{opacity:.55;cursor:not-allowed}.ratio .btn--sm{padding:.4rem .85rem;font-size:.85rem}.ratio .btn--ghost{background:var(--color-surface);color:var(--color-text-body);border:1px solid var(--color-border-input)}.ratio .btn--ghost:hover:not(:disabled){background:var(--color-surface-muted)}.ratio label.field{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-body);margin-bottom:.35rem}.ratio .input,.ratio select.input{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-heading);font-size:1rem;font-family:inherit}.ratio .input:focus,.ratio select.input:focus{outline:2px solid var(--color-primary-ring);outline-offset:1px;border-color:var(--color-primary-ring)}.ratio .input.num{text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.ratio h2.section{font-size:1.5rem;font-weight:700;color:var(--color-text-heading);letter-spacing:-.01em;margin:0}.ratio .panel-title{font-size:1.2rem;font-weight:700;color:var(--color-text-heading);margin:0 0 .25rem}.ratio .panel-hint{margin:0 0 1.25rem;font-size:.9rem;color:var(--color-text-muted)}.ratio .muted{color:var(--color-text-muted)}.ratio .tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;margin-bottom:1.25rem;justify-content:center}.ratio .tab{font-size:.92rem;font-weight:600;padding:.55rem 1.1rem;border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border-input);cursor:pointer;transition:.15s}.ratio .tab:hover{background:var(--color-surface-muted)}.ratio .tab:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.ratio .tab.is-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ratio .ratio-row{display:flex;align-items:center;gap:.75rem;max-width:26rem}.ratio .ratio-row .input.num{flex:1 1 0;min-width:0}.ratio .colon{font-size:1.5rem;font-weight:700;color:var(--color-text-muted);flex:0 0 auto}.ratio .equals{font-size:1.4rem;font-weight:700;color:var(--color-text-muted);flex:0 0 auto}.ratio .prop-grid{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.ratio .prop-pair{display:flex;align-items:center;gap:.6rem}.ratio .prop-pair .input.num{width:5.5rem}@media (max-width: 520px){.ratio .prop-grid{flex-direction:column;align-items:stretch}.ratio .prop-pair{justify-content:center}.ratio .prop-pair .input.num{flex:1 1 0;width:auto}.ratio .equals{text-align:center}}.ratio .scale-controls{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem;max-width:26rem}.ratio .field-group{margin:0}@media (max-width: 420px){.ratio .scale-controls{grid-template-columns:1fr}}.ratio .err{margin:1rem 0 0;padding:.65rem .85rem;border-radius:var(--radius-input);font-size:.85rem;line-height:1.45;background:#fffbeb;color:#b45309;border:1px solid #fde68a}.ratio .result{margin-top:1.5rem;padding:1.25rem 1.4rem;border-radius:var(--radius-input);background:var(--color-primary-tint);border:1px solid #bfdbfe}.ratio .result__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ratio .result__label{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-hover)}.ratio .result__value{margin-top:.5rem;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:800;color:var(--color-text-heading);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ratio .result__note{margin:.5rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}.ratio .how{margin-top:3.25rem}.ratio .how h2.section{text-align:center}.ratio .how__lead{text-align:center;color:var(--color-text-secondary);margin:.4rem 0 1.75rem}.ratio .steps{display:grid;grid-template-columns:1fr;gap:1.1rem}@media (min-width: 720px){.ratio .steps{grid-template-columns:repeat(3,1fr)}}.ratio .step{text-align:center;padding:1.75rem 1.25rem}.ratio .step__n{width:2.5rem;height:2.5rem;margin:0 auto .9rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:var(--color-primary);background:var(--color-primary-tint);border:1px solid #bfdbfe}.ratio .step h3{font-size:1.05rem;font-weight:700;color:var(--color-text-heading);margin:0 0 .4rem}.ratio .step p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.ratio .about{margin-top:2rem;max-width:52rem;margin-inline:auto}.ratio .about h3{font-size:1.2rem;font-weight:700;color:var(--color-text-heading);margin:0 0 .75rem}.ratio .about p{margin:0 0 1rem;color:var(--color-text-body);font-size:.98rem;line-height:1.65}.ratio .about p:last-child{margin-bottom:0}.ratio .about strong{color:var(--color-text-heading)}.ratio .privacy-line{margin-top:1.75rem;display:flex;align-items:center;gap:1rem;background:#ecfdf5;border:1px solid #a7f3d0}.ratio .privacy-line__icon{font-size:1.5rem;flex:0 0 auto}.ratio .privacy-line strong{color:#065f46}.ratio .privacy-line p{margin:0;color:#047857;font-size:.95rem}.ratio .foot{margin:2.5rem 0 1rem;padding-top:1.25rem;border-top:1px solid var(--color-border);text-align:center}.ratio .foot p{margin:0;font-size:.85rem}
