:root{--sf:#0f766e;--sf-dark:#134e4a;--sf-soft:#f0fdfa;--sf-ink:#123c39;--sf-muted:#607974;--sf-line:#d4ebe7}body{background:linear-gradient(180deg,#f1fffc,#fff 550px)}[hidden]{display:none!important}.sf-hero{max-width:1160px;margin:22px auto 0;padding:42px;display:grid;grid-template-columns:1.35fr .65fr;gap:35px;align-items:center;border-radius:28px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(45,212,191,.4),transparent 31%),linear-gradient(135deg,#042f2e,#0f766e 60%,#0d9488);box-shadow:0 24px 55px rgba(15,118,110,.2)}.sf-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#99f6e4}.sf-hero h1{margin:10px 0 13px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.sf-hero p{max-width:680px;line-height:1.7;color:#ccfbf1}.sf-hero .tool-badges{margin-top:19px}.sf-hero .tool-badge{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24)}.sf-hero pre{padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:17px;background:rgba(2,35,34,.55);color:#ccfbf1;font:500 .8rem/1.8 ui-monospace,monospace}.sf-hero pre span{color:#5eead4;font-weight:700}.sf-body{max-width:1160px}.sf-app{margin:28px 0;padding:23px;border:1px solid var(--sf-line);border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(15,118,110,.07)}.sf-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:17px;border-bottom:1px solid var(--sf-line)}.sf-actions{display:flex;gap:6px}.sf-toolbar button,.sf-pane button{padding:8px 11px;border:1px solid var(--sf-line);border-radius:8px;background:#fff;color:var(--sf-dark);cursor:pointer;font:600 .75rem inherit}.sf-actions button.active{background:var(--sf);border-color:var(--sf);color:#fff}.sf-toolbar label{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--sf-muted)}.sf-toolbar select{padding:7px;border:1px solid var(--sf-line);border-radius:7px;max-width:145px}.sf-toolbar input{accent-color:var(--sf)}.sf-spacer{flex:1}.sf-banner{margin-top:14px;padding:11px 14px;border:1px solid #a7f3d0;border-radius:9px;background:#ecfdf5;color:#047857;font-size:.8rem}.sf-banner.error{border-color:#fecdd3;background:#fff1f2;color:#be123c}.sf-stats{display:flex;gap:24px;flex-wrap:wrap;margin:15px 0;padding:11px 14px;border-radius:9px;background:var(--sf-soft);font-size:.72rem;color:var(--sf-muted)}.sf-stats strong{display:block;margin-top:3px;color:var(--sf-ink)}.sf-layout{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.sf-pane{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:32px;margin-bottom:7px;font-size:.73rem;font-weight:700;color:var(--sf-muted);text-transform:uppercase}.sf-pane>div{display:flex;gap:5px}.sf-pane button:disabled{opacity:.45}.sf-layout textarea{width:100%;min-height:480px;padding:15px;resize:vertical;border:1.5px solid var(--sf-line);border-radius:12px;outline:none;font:500 .79rem/1.68 ui-monospace,monospace;tab-size:4}.sf-layout textarea:focus{border-color:var(--sf)}#output{background:#092927;color:#ccfbf1}.sf-info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.sf-info article,.sf-guide{padding:22px;border:1px solid var(--sf-line);border-radius:16px;background:#fff}.sf-info span{font-size:.67rem;text-transform:uppercase;color:var(--sf);font-weight:700}.sf-info h2{margin:8px 0;font-size:1rem;color:var(--sf-ink)}.sf-info p,.sf-guide li,.sf-faq p{font-size:.83rem;line-height:1.65;color:var(--sf-muted)}.sf-guide{margin-top:16px}.sf-guide h2{margin-bottom:10px}.sf-guide ol{padding-left:20px}.sf-faq{margin:30px 0 44px}.sf-faq h2{margin-bottom:12px}.sf-faq details{padding:14px 16px;border-bottom:1px solid var(--sf-line)}.sf-faq summary{cursor:pointer;font-weight:700;color:var(--sf-ink)}.sf-faq p{margin-top:8px}@media(max-width:900px){.sf-hero{margin:12px;padding:28px;grid-template-columns:1fr}.sf-hero pre{display:none}.sf-layout,.sf-info{grid-template-columns:1fr}.sf-layout textarea{min-height:360px}}@media(max-width:560px){.sf-hero{padding:23px}.sf-app{padding:16px}.sf-actions{width:100%}.sf-actions button{flex:1}.sf-pane{align-items:flex-start;flex-direction:column}.sf-spacer{display:none}}
