.abl.abl{--abl-ink:#21363e;--abl-muted:#5c7280;--abl-accent:#146068;--abl-line:#cedddb;--abl-soft:#edf5f2;color:var(--abl-ink);background:#fff;border:1px solid var(--abl-line);border-radius:20px;overflow:hidden;font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:28px 0;width:100%;min-width:0;box-shadow:0 12px 32px #21363e06}.abl.abl *{box-sizing:border-box}.abl.abl [hidden]{display:none!important}.abl.abl h2,.abl.abl h3,.abl.abl p,.abl.abl ol{margin:0}.abl.abl h2{font-size:clamp(24px,4vw,30px);line-height:1.25;font-weight:750;letter-spacing:-.035em}.abl.abl h3{font-size:18px;line-height:1.35;font-weight:750;color:var(--abl-ink)}.abl.abl p{line-height:1.65}.abl.abl button,.abl.abl select,.abl.abl a.abl-open{font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;min-height:44px;max-width:100%;border:1px solid var(--abl-line);border-radius:9px;background:#fff;color:var(--abl-ink);padding:10px 13px;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.abl.abl button:hover,.abl.abl a.abl-open:hover{background:#edf5f2;border-color:#73a5a5;color:#123b41}.abl.abl button:focus-visible,.abl.abl a:focus-visible,.abl.abl select:focus-visible{outline:3px solid #edb75e;outline-offset:3px}.abl.abl select{font-size:16px}.abl.abl button[aria-pressed=true],.abl.abl button[aria-selected=true]{background:var(--abl-soft);border-color:var(--abl-accent);color:var(--abl-accent)}.abl.abl a{color:#126068}.abl.abl code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.abl.abl .abl-head{padding:26px 24px 24px;display:flex;gap:24px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--abl-line);background:linear-gradient(135deg,#fff,#f4f9f6)}.abl.abl .abl-head>div:first-child{min-width:0;flex:1}.abl.abl .abl-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--abl-accent);margin-bottom:14px}.abl.abl .abl-head h2{margin-bottom:12px}.abl.abl .abl-head p{color:var(--abl-muted);font-size:14px}.abl.abl .abl-badge{flex-direction:column;flex:0 0 112px;width:112px;height:112px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--abl-line);border-radius:50%;background:#e6f1ec;color:var(--abl-accent);font-size:12px;font-weight:750;line-height:1.6}.abl.abl .abl-workshop{padding:24px}.abl.abl .abl-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.abl.abl .abl-heading>span{font-size:9px;font-weight:800;color:var(--abl-muted);letter-spacing:.08em;white-space:nowrap}.abl.abl .abl-muted{font-size:13px;color:var(--abl-muted);margin:10px 0 18px}.abl.abl .abl-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.abl.abl .abl-preset{padding:14px;text-align:left;display:flex;align-items:center;gap:12px;min-height:92px}.abl.abl .abl-preset-number{flex:0 0 36px;width:36px;height:36px;border-radius:8px;background:#e6f1ec;color:var(--abl-accent);display:grid;place-items:center;font-weight:800}.abl.abl .abl-preset strong{display:block;font-size:14px;line-height:1.4}.abl.abl .abl-preset small{display:block;font-size:11px;font-weight:400;color:var(--abl-muted);margin-top:4px;line-height:1.5}.abl.abl .abl-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:22px;padding:15px;background:var(--abl-soft);border-radius:12px;border:1px solid var(--abl-line)}.abl.abl .abl-language{display:grid;gap:5px}.abl.abl .abl-language label{font-size:11px;color:var(--abl-muted);font-weight:600}.abl.abl .abl-language select{min-width:145px}.abl.abl a.abl-open{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;font-size:13px;background:#fff}.abl.abl .abl-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:18px 0 12px;border-bottom:1px solid var(--abl-line);margin-bottom:18px}.abl.abl .abl-tabs button{font-size:12px;padding:9px 11px}.abl.abl .abl-preview-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.abl.abl .abl-devices{display:flex;gap:5px;flex-wrap:wrap}.abl.abl .abl-preview-bar button{font-size:11px;padding:9px 10px}.abl.abl .abl-preview-hint{font-size:11px;color:var(--abl-muted);margin:10px 0}.abl.abl .abl-stage{padding:12px;background:#e9efee;border:1px solid var(--abl-line);border-radius:12px;min-width:0}.abl.abl .abl-frame-wrap{margin:auto;border-radius:8px;border:1px solid #c3d6d3;overflow:hidden;background:#fff;min-width:0}.abl.abl .abl-frame{display:block;width:100%;height:680px;border:0;min-width:0}.abl.abl .abl-preview-status{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:var(--abl-muted);margin-top:9px}.abl.abl .abl-stage:fullscreen{padding:16px;width:100vw;height:100vh;overflow:auto;border-radius:0;background:#e9efee}.abl.abl .abl-stage:fullscreen .abl-frame{height:calc(100vh - 92px)}.abl.abl .abl-fullscreen-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.abl.abl .abl-fullscreen-bar strong{font-size:14px}.abl.abl .abl-fullscreen-bar button{font-size:12px}.abl.abl .abl-code-heading{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-bottom:14px}.abl.abl .abl-code-heading>div{min-width:0}.abl.abl .abl-code-heading h3{font-size:16px;overflow-wrap:anywhere}.abl.abl .abl-code-note{font-size:12px;color:var(--abl-muted);margin-top:6px}.abl.abl .abl-copy{flex:0 0 auto;font-size:12px;background:var(--abl-accent);border-color:var(--abl-accent);color:#fff}.abl.abl .abl-copy:hover{background:#104850;border-color:#104850;color:#fff}.abl.abl .abl-code{margin:0;max-width:100%;max-height:580px;overflow:auto;border-radius:12px;background:#172b32;color:#f1f7f4;padding:18px;font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;tab-size:2}.abl.abl .abl-code code{color:inherit;background:none;font:inherit;white-space:inherit;overflow-wrap:normal;padding:0}.abl.abl .abl-copy-status{font-size:12px;margin-top:8px;color:var(--abl-accent);min-height:20px}.abl.abl .abl-help{margin-top:24px;padding-top:22px;border-top:1px solid var(--abl-line)}.abl.abl .abl-help ol{padding-left:20px;font-size:13px;line-height:1.65;margin:12px 0}.abl.abl .abl-help li{padding-left:3px;margin:7px 0}.abl.abl .abl-small{font-size:11px;color:var(--abl-muted)}.abl.abl .abl-help code{font-size:11px;background:var(--abl-soft);padding:1px 3px;border-radius:3px}.abl.abl .abl-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f3f8f5;border-top:1px solid var(--abl-line);padding:22px 24px}.abl.abl .abl-footer>div{min-width:0;flex:1}.abl.abl .abl-footer strong{font-size:14px;line-height:1.4;display:block}.abl.abl .abl-footer p{font-size:11px;color:var(--abl-muted);margin-top:5px}.abl.abl .abl-footer .btn{display:flex;justify-content:center;align-items:center;min-height:44px;padding:11px 14px;background:var(--abl-accent);color:#fff;border:1px solid var(--abl-accent);border-radius:9px;line-height:1.4;text-decoration:none;font-size:12px;font-weight:700;flex:0 0 160px;text-align:center}.abl.abl .abl-footer .btn:hover{background:#104850;color:#fff}.abl.abl .abl-credit{padding:14px 24px 20px;font-size:10px;line-height:1.6;color:var(--abl-muted);border-top:1px solid var(--abl-line);background:#fff;overflow-wrap:anywhere}.abl.abl .abl-credit a{color:var(--abl-accent)}@media(max-width:600px){.abl.abl .abl-workshop{padding:18px}.abl.abl .abl-head{padding:22px 18px;align-items:start;gap:14px}.abl.abl .abl-badge{flex-basis:82px;width:82px;height:82px;font-size:10px}.abl.abl .abl-heading{display:block}.abl.abl .abl-heading>span{display:block;margin-top:7px}.abl.abl .abl-presets{gap:8px}.abl.abl .abl-preset{padding:11px;gap:9px}.abl.abl .abl-preset-number{flex-basis:28px;width:28px;height:28px;font-size:11px}.abl.abl .abl-preset strong{font-size:12px}.abl.abl .abl-preset small{font-size:10px}.abl.abl .abl-toolbar{align-items:stretch}.abl.abl .abl-language{flex:1}.abl.abl a.abl-open{align-self:end;font-size:11px;padding:10px;max-width:46%}.abl.abl .abl-language select{min-width:0;width:100%}.abl.abl .abl-tabs button{font-size:11px}.abl.abl .abl-stage{padding:6px}.abl.abl .abl-frame{height:650px}.abl.abl .abl-footer{padding:20px 18px;display:block}.abl.abl .abl-footer .btn{margin-top:13px;width:100%}.abl.abl .abl-credit{padding:14px 18px 18px}.abl.abl .abl-code-heading{display:block}.abl.abl .abl-copy{margin-top:12px}.abl.abl .abl-code{padding:13px;font-size:11px}}@media(max-width:360px){.abl.abl .abl-head{display:block}.abl.abl .abl-badge{width:auto;height:auto;border-radius:6px;margin-top:14px;display:block;padding:7px}.abl.abl .abl-presets{grid-template-columns:1fr}.abl.abl .abl-preset{min-height:72px}.abl.abl .abl-toolbar{display:block}.abl.abl a.abl-open{max-width:none;margin-top:10px}.abl.abl .abl-devices button{padding:8px;font-size:10px}.abl.abl .abl-workshop{padding:14px}.abl.abl .abl-stage{padding:4px}}@media(prefers-reduced-motion:reduce){.abl.abl button,.abl.abl a{transition:none}}.abl.abl .abl-badge>span{display:block}.abl.abl .abl-badge>span+span{margin-top:3px}.abl.abl .abl-settings{margin-top:22px;padding:16px;border:1px solid var(--abl-line);border-radius:12px;background:var(--abl-soft)}.abl.abl .abl-fields,.abl.abl .abl-text-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.abl.abl .abl-text-fields{margin-top:14px}.abl.abl .abl-settings label{display:grid;gap:5px;min-width:0;font-size:11px;color:var(--abl-muted);font-weight:650}.abl.abl .abl-settings select,.abl.abl .abl-settings input{width:100%;min-width:0;font-size:16px;min-height:44px;padding:10px 12px;border:1px solid var(--abl-line);border-radius:8px;background:#fff;color:var(--abl-ink);font-family:inherit;line-height:1.4}.abl.abl .abl-settings input:focus-visible{outline:3px solid #edb75e;outline-offset:3px}.abl.abl .abl-setting-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:14px}.abl.abl .abl-setting-footer p{font-size:11px;color:var(--abl-muted);min-width:0;flex:1}.abl.abl .abl-setting-footer button{font-size:11px;flex-shrink:0}.abl.abl .abl-frame{height:650px}.abl.abl .abl-preset{min-height:84px}.abl.abl .abl-code{max-height:520px}.abl.abl .abl-code code{display:block}@media(max-width:460px){.abl.abl .abl-settings{padding:12px}.abl.abl .abl-fields,.abl.abl .abl-text-fields{grid-template-columns:1fr}.abl.abl .abl-setting-footer{display:block}.abl.abl .abl-setting-footer button{margin-top:10px}.abl.abl .abl-frame{height:620px}}
