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