.flex-tool-wrapper{flex-direction:column;gap:24px;margin:24px 0;display:flex}@media (width>=768px){.flex-tool-wrapper{grid-template-columns:320px 1fr;align-items:start;gap:24px;max-width:960px;margin:32px auto;display:grid}}.flex-controls{order:2}.flex-preview-column{order:1}@media (width>=768px){.flex-controls{order:1}.flex-preview-column{order:2}}.flex-controls{background:var(--swp-surface);border:1px solid var(--swp-border);border-radius:var(--r-lg);flex-direction:column;gap:20px;padding:16px;display:flex}@media (width>=768px){.flex-controls{padding:20px}}.flex-property-group{flex-direction:column;gap:8px;display:flex}.flex-property-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--swp-ink-3);user-select:none;font-size:11px;font-weight:700}.flex-btn-group{flex-wrap:wrap;gap:4px;display:flex}.flex-btn{min-width:44px;min-height:44px;font-family:var(--font-sans);border-radius:var(--r-sm);border:1px solid var(--swp-border);background:var(--swp-surface);color:var(--swp-ink);cursor:pointer;white-space:nowrap;padding:8px 14px;font-size:13px;font-weight:700;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s}.flex-btn:hover:not(.flex-btn--active){background:var(--swp-paper-2);border-color:var(--swp-border)}.flex-btn--active{background:var(--color-primary);color:var(--color-primary-content);border-color:#0000}.flex-gap-control{align-items:center;gap:12px;display:flex}.flex-gap-slider{border-radius:var(--r-pill);height:4px;accent-color:var(--color-primary);cursor:pointer;appearance:none;background:var(--swp-border);flex:1}.flex-gap-slider::-webkit-slider-thumb{appearance:none;background:var(--color-primary);cursor:pointer;border-radius:50%;width:24px;height:24px;transition:transform .15s}.flex-gap-slider::-moz-range-thumb{background:var(--color-primary);cursor:pointer;border:none;border-radius:50%;width:24px;height:24px}.flex-gap-slider::-webkit-slider-runnable-track{border-radius:var(--r-pill);background:var(--swp-border);height:4px}.flex-gap-slider:focus-visible{outline:3px solid var(--swp-teal-700);outline-offset:3px;border-radius:4px}.flex-gap-value{font-family:var(--font-mono);color:var(--swp-ink-2);text-align:right;min-width:40px;font-size:13px}.flex-preview-column{flex-direction:column;gap:16px;display:flex}.flex-preview{background:var(--flex-preview-bg);border:2px dashed var(--flex-preview-border);border-radius:var(--r-md);min-height:200px;padding:32px 12px 12px;position:relative;overflow:hidden}@media (width>=768px){.flex-preview{min-height:280px;padding:36px 16px 16px}}.flex-preview__label{text-transform:uppercase;letter-spacing:.1em;color:var(--swp-ink-3);background:var(--swp-surface);border-radius:var(--r-sm);padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:6px;left:8px}.flex-preview__inner{width:100%;height:100%;min-height:160px}@media (width>=768px){.flex-preview__inner{min-height:240px}}.flex-item{border-radius:var(--r-sm);width:56px;height:56px;font-family:var(--font-sans);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:800;transition:transform .25s;display:flex}@media (width>=768px){.flex-item{width:64px;height:64px}}@media (prefers-reduced-motion:reduce){.flex-item{transition:none}}.flex-item-count{align-items:center;gap:8px;padding:8px 0;display:flex}.flex-item-count__label{font-family:var(--font-sans);color:var(--swp-ink);white-space:nowrap;font-size:14px;font-weight:700}.flex-item-count__btn{border-radius:var(--r-sm);border:1px solid var(--swp-border);background:var(--swp-surface);width:44px;height:44px;color:var(--swp-ink);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:700;line-height:1;transition:background-color .15s;display:flex}.flex-item-count__btn:hover:not(:disabled){background:var(--swp-paper-2)}.flex-item-count__btn:disabled{opacity:.4;cursor:not-allowed}.flex-item-count__num{font-family:var(--font-sans);color:var(--swp-ink);text-align:center;min-width:32px;font-size:16px;font-weight:700}.flex-output{flex-direction:column;gap:12px;display:flex}.flex-output__code{border-radius:var(--r-md);background:#1e1e1e;position:relative;overflow:hidden}.flex-output__code:before{content:"CSS";color:#5eead4;letter-spacing:.05em;pointer-events:none;z-index:1;font-size:.7rem;font-weight:700;font-family:var(--font-mono);position:absolute;top:.4rem;left:.75rem}.flex-output__pre{font-family:var(--font-mono);color:#d4d4d4;background:0 0;margin:0;padding:2rem 1.2rem 1.2rem;font-size:13px;line-height:1.8;overflow-x:auto}.flex-output__pre code{font-family:inherit;font-size:inherit;color:inherit}.flex-output__pre .css-selector,.flex-output__pre .css-prop{color:#9cdcfe}.flex-output__pre .css-value{color:#ce9178}.flex-output__pre .css-punct{color:#d4d4d4}.flex-output__actions{flex-wrap:wrap;gap:8px;display:flex}.flex-output__copy,.flex-output__reset{border-radius:var(--r-pill);min-height:44px;font-family:var(--font-sans);cursor:pointer;align-items:center;gap:6px;padding:8px 20px;font-size:14px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:flex}.flex-output__copy{background:var(--color-primary);color:var(--color-primary-content);border:none}.flex-output__copy:hover{opacity:.9}.flex-output__copy--done{background:var(--color-success);color:#fff}.flex-output__reset{color:var(--swp-ink-2);border:1px solid var(--swp-border);background:0 0}.flex-output__reset:hover{background:var(--swp-paper-2);border-color:var(--swp-ink-3)}.flex-notice{color:var(--swp-ink-3);background:var(--swp-paper-2);border-radius:var(--r-sm);margin-top:4px;padding:6px 10px;font-size:12px}.flex-page-header{max-width:960px;margin:0 auto;padding:24px 16px 0}@media (width>=768px){.flex-page-header{padding:32px 24px 0}}.flex-page-subtitle{color:var(--swp-ink-2);margin-top:8px;margin-bottom:0;font-size:14px}.flex-how-to{max-width:960px;margin:0 auto;padding:0 16px}@media (width>=768px){.flex-how-to{padding:0 24px}}.flex-steps{counter-reset:flex-step;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.flex-steps li{counter-increment:flex-step;color:var(--swp-ink);align-items:flex-start;gap:12px;font-size:15px;line-height:1.7;display:flex}.flex-steps li:before{content:counter(flex-step);background:var(--color-primary);width:28px;height:28px;color:var(--color-primary-content);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:13px;font-weight:800;display:inline-flex}.flex-section{max-width:960px;margin:0 auto;padding:0 16px}@media (width>=768px){.flex-section{padding:0 24px}}.flex-section-title{color:var(--swp-ink);border-left:4px solid var(--color-primary);margin-top:0;margin-bottom:16px;padding-left:12px;font-size:20px;font-weight:800}.flex-lesson-list,.flex-related-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.flex-lesson-link,.flex-related-link{background:var(--swp-surface);border:1px solid var(--swp-border);border-radius:var(--r-md);color:var(--color-primary);align-items:center;gap:10px;padding:14px 16px;font-size:15px;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.flex-lesson-link:hover,.flex-related-link:hover{background:var(--swp-paper-2);border-color:var(--color-primary)}.flex-link-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--swp-teal-50);color:var(--color-primary);border-radius:var(--r-sm);padding:2px 8px;font-size:11px;font-weight:700}.flex-tool-hub{max-width:960px;margin:0 auto;padding:32px 16px}@media (width>=768px){.flex-tool-hub{padding:48px 24px}}.flex-tool-grid{grid-template-columns:1fr;gap:16px;margin-top:20px;display:grid}@media (width>=480px){.flex-tool-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.flex-tool-card{background:var(--swp-surface);border:1px solid var(--swp-border);border-radius:var(--r-lg);padding:20px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.flex-tool-card:hover:not([aria-disabled=true]){border-color:var(--color-primary);box-shadow:0 2px 12px #00000014}.flex-tool-card[aria-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.flex-tool-card__icon{margin-bottom:10px;font-size:28px;display:block}.flex-tool-card__name{color:var(--swp-ink);margin:0 0 6px;font-size:16px;font-weight:800}.flex-tool-card__desc{color:var(--swp-ink-2);margin:0;font-size:13px;line-height:1.6}.flex-tool-card__badge{background:var(--swp-teal-50);color:var(--color-primary);border-radius:var(--r-pill);margin-top:10px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.flex-tool-card--disabled .flex-tool-card__badge{background:var(--swp-paper-2);color:var(--swp-ink-3)}.flex-related-tools{flex-direction:column;gap:12px;display:flex}.flex-related-tool-item{background:var(--swp-surface);border:1px solid var(--swp-border);border-radius:var(--r-md);align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:700;display:flex}.flex-related-tool-item a{color:var(--color-primary);text-decoration:none}.flex-related-tool-item a:hover{text-decoration:underline}.flex-related-tool-item--disabled{opacity:.6}.flex-coming-soon{color:var(--swp-ink-3);border:1px solid var(--swp-border);border-radius:var(--r-sm);margin-left:auto;padding:2px 8px;font-size:11px}
