.pattern-definition{margin-bottom:32px}.pattern-definition h1{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 16px}.pattern-definition h2{font-size:20px;margin-top:24px}.pattern-definition p,.pattern-definition li{line-height:1.7}.brackets-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.brackets-inputs input{width:100%;min-width:0}.bracket-row{display:flex;flex-wrap:wrap;gap:6px;min-height:48px;margin:12px 0 20px}.bracket-cell{display:grid;place-items:center;width:36px;height:44px;border:2px solid #b8ceec;border-radius:8px;background:#eaf2ff;color:#101e36;font:700 24px monospace;animation:bracket-in .22s ease-out}.bracket-cell.active{background:#174ea6;color:white;border-color:#174ea6}.empty-stack{font-style:italic;padding:10px;color:#111}.task-example{white-space:pre-wrap;line-height:1.8}.substring-state{white-space:pre-wrap;overflow-wrap:anywhere}@keyframes bracket-in{from{transform:translateY(5px);opacity:.6}to{transform:translateY(0);opacity:1}}@media(max-width:520px){.brackets-inputs{grid-template-columns:1fr}.bracket-cell{width:30px;height:38px}}@media(prefers-reduced-motion:reduce){.bracket-cell{animation:none}}pre[data-code] code{counter-reset:stack-line}pre[data-code] code>span::before{counter-increment:stack-line;content:counter(stack-line);display:inline-block;width:2em;margin-right:.8em;text-align:right;color:#536480;font-size:.8em;user-select:none}
