:root{--cm:#7c3aed;--cm-dark:#4c1d95;--cm-soft:#f5f3ff;--cm-ink:#271542;--cm-muted:#71657f;--cm-line:#e7def2}body{background:linear-gradient(180deg,#faf7ff,#fff 550px)}[hidden]{display:none!important}.cm-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(244,114,182,.35),transparent 31%),linear-gradient(135deg,#2e1065,#6d28d9 60%,#9333ea);box-shadow:0 24px 55px rgba(91,33,182,.2)}.cm-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#ddd6fe}.cm-hero h1{margin:10px 0 13px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}.cm-hero p{max-width:680px;line-height:1.7;color:#ede9fe}.cm-hero .tool-badges{margin-top:19px}.cm-hero .tool-badge{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24)}.cm-hero pre{padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:17px;background:rgba(25,10,45,.48);color:#e9d5ff;font:500 .8rem/1.8 ui-monospace,monospace}.cm-body{max-width:1160px}.cm-app{margin:28px 0;padding:23px;border:1px solid var(--cm-line);border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(76,29,149,.07)}.cm-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-bottom:17px;border-bottom:1px solid var(--cm-line)}.cm-actions{display:flex;gap:6px}.cm-toolbar button,.cm-pane button{padding:8px 11px;border:1px solid var(--cm-line);border-radius:8px;background:#fff;color:var(--cm-dark);cursor:pointer;font:600 .75rem inherit}.cm-actions button.active{background:var(--cm);border-color:var(--cm);color:#fff}.cm-toolbar label{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:600;color:var(--cm-muted)}.cm-toolbar select{padding:7px;border:1px solid var(--cm-line);border-radius:7px}.cm-toolbar input{accent-color:var(--cm)}.cm-spacer{flex:1}.cm-banner{margin-top:14px;padding:11px 14px;border:1px solid #a7f3d0;border-radius:9px;background:#ecfdf5;color:#047857;font-size:.8rem}.cm-banner.error{border-color:#fecdd3;background:#fff1f2;color:#be123c}.cm-stats{display:flex;gap:24px;flex-wrap:wrap;margin:15px 0;padding:11px 14px;border-radius:9px;background:var(--cm-soft);font-size:.72rem;color:var(--cm-muted)}.cm-stats strong{display:block;margin-top:3px;color:var(--cm-ink)}.cm-layout{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.cm-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(--cm-muted);text-transform:uppercase}.cm-pane>div{display:flex;gap:5px}.cm-pane button:disabled{opacity:.45}.cm-layout textarea{width:100%;min-height:470px;padding:15px;resize:vertical;border:1.5px solid var(--cm-line);border-radius:12px;outline:none;font:500 .79rem/1.65 ui-monospace,monospace;tab-size:4}.cm-layout textarea:focus{border-color:var(--cm)}#output{background:#1c112a;color:#e9d5ff}.cm-info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cm-info article,.cm-guide{padding:22px;border:1px solid var(--cm-line);border-radius:16px;background:#fff}.cm-info span{font-size:.67rem;text-transform:uppercase;color:var(--cm);font-weight:700}.cm-info h2{margin:8px 0;font-size:1rem;color:var(--cm-ink)}.cm-info p,.cm-guide li,.cm-faq p{font-size:.83rem;line-height:1.65;color:var(--cm-muted)}.cm-info code,.cm-guide code,.cm-faq code{padding:2px 4px;background:var(--cm-soft);border-radius:4px}.cm-guide{margin-top:16px}.cm-guide h2{margin-bottom:10px}.cm-guide ol{padding-left:20px}.cm-faq{margin:30px 0 44px}.cm-faq h2{margin-bottom:12px}.cm-faq details{padding:14px 16px;border-bottom:1px solid var(--cm-line)}.cm-faq summary{cursor:pointer;font-weight:700;color:var(--cm-ink)}.cm-faq p{margin-top:8px}@media(max-width:850px){.cm-hero{margin:12px;padding:28px;grid-template-columns:1fr}.cm-hero pre{display:none}.cm-layout,.cm-info{grid-template-columns:1fr}.cm-layout textarea{min-height:350px}}@media(max-width:540px){.cm-hero{padding:23px}.cm-app{padding:16px}.cm-actions{width:100%}.cm-actions button{flex:1}.cm-pane{align-items:flex-start;flex-direction:column}.cm-spacer{display:none}}
