.grid-tool-wrapper{display:flex;flex-direction:column;gap:24px;margin:24px 0}@media(min-width:768px){.grid-tool-wrapper{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start;max-width:960px;margin:32px auto}}.grid-controls{order:2}.grid-preview-column{order:1}@media(min-width:768px){.grid-controls{order:1}.grid-preview-column{order:2}}.grid-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){.grid-controls{padding:20px}}.grid-property-group{display:flex;flex-direction:column;gap:8px}.grid-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}.grid-btn-group{display:flex;flex-wrap:wrap;gap:4px}.grid-btn{min-height:52px;min-width:60px;padding:8px 12px;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;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.3;transition:background-color .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.grid-btn:hover:not(.grid-btn--active){background:var(--swp-paper-2);border-color:var(--swp-border)}.grid-btn--active{background:var(--color-primary);color:var(--color-primary-content);border-color:transparent}.grid-btn__name{font-size:13px;font-weight:700}.grid-btn__value{font-family:var(--font-mono);font-size:10px;font-weight:400;opacity:.7}.grid-btn--active .grid-btn__value{opacity:.8;color:var(--color-primary-content)}.grid-preview-column{display:flex;flex-direction:column;gap:16px}.grid-preview{position:relative;background:var(--grid-preview-bg);border:2px dashed var(--grid-preview-border);border-radius:var(--r-md);min-height:200px;padding:32px 12px 12px;overflow:auto}@media(min-width:768px){.grid-preview{min-height:280px;padding:36px 16px 16px}}.grid-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)}.grid-preview__inner{width:100%;min-height:160px}@media(min-width:768px){.grid-preview__inner{min-height:240px}}.grid-item{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;min-width:0;min-height:0;outline:1px dashed var(--grid-line-color);transition:all .2s ease}@media(prefers-reduced-motion:reduce){.grid-item{transition:none}}.grid-output{display:flex;flex-direction:column;gap:12px}.grid-output__code{position:relative;background:#1e1e1e;border-radius:var(--r-md);overflow:hidden}.grid-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)}.grid-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}.grid-output__pre code{font-family:inherit;font-size:inherit;color:inherit}.grid-output__actions{display:flex;gap:8px;flex-wrap:wrap}.grid-output__copy,.grid-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}.grid-output__copy{background:var(--color-primary);color:var(--color-primary-content);border:none}.grid-output__copy:hover{opacity:.9}.grid-output__copy--done{background:var(--color-success);color:#fff}.grid-output__reset{background:transparent;color:var(--swp-ink-2);border:1px solid var(--swp-border)}.grid-output__reset:hover{background:var(--swp-paper-2);border-color:var(--swp-ink-3)}.grid-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}.grid-page-header{padding:24px 16px 0;max-width:960px;margin:0 auto}@media(min-width:768px){.grid-page-header{padding:32px 24px 0}}.grid-page-subtitle{font-size:14px;color:var(--swp-ink-2);margin-top:8px;margin-bottom:0}.grid-how-to{max-width:960px;margin:0 auto;padding:0 16px}@media(min-width:768px){.grid-how-to{padding:0 24px}}.grid-steps{counter-reset:grid-step;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.grid-steps li{counter-increment:grid-step;display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--swp-ink);line-height:1.7}.grid-steps li:before{content:counter(grid-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}.grid-section{max-width:960px;margin:0 auto;padding:0 16px}@media(min-width:768px){.grid-section{padding:0 24px}}.grid-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}.grid-lesson-list,.grid-related-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.grid-lesson-link,.grid-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}.grid-lesson-link:hover,.grid-related-link:hover{background:var(--swp-paper-2);border-color:var(--color-primary)}.grid-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}.grid-related-tools{display:flex;flex-direction:column;gap:12px}
