*,*:before,*:after{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;min-width:320px;height:100%;overflow:hidden}#root{height:100%}:root{--primary: #57a1e8;--primary-dark: #4590d9;--primary-light: #7ab5ee;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--highlight-bg: #fef08a;--highlight-border: #eab308;--hc-color: #57a1e8;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Consolas", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--gray-800);color:var(--gray-800);line-height:1.5}.app{height:100%;display:flex;flex-direction:column;overflow:hidden}.app-header{background:linear-gradient(135deg,var(--gray-800) 0%,var(--gray-900) 100%);color:#fff;padding:1rem 2rem;padding-top:calc(1rem + env(safe-area-inset-top));padding-left:calc(2rem + env(safe-area-inset-left));padding-right:calc(2rem + env(safe-area-inset-right));display:flex;align-items:baseline;gap:.75rem}.app-header h1{font-size:1.5rem;font-weight:700}.app-header .subtitle{color:var(--gray-400);font-size:.9rem}.app-main{flex:1 1 0;min-height:0;display:flex;max-width:100%;overflow:hidden;background:var(--gray-200)}.app-main>div{flex:1 1 0;min-height:0;height:100%}.app-main [data-panel]{height:100%;min-height:0;display:flex;flex-direction:column}.app-main [data-panel]>*{flex:1 1 0;min-height:0}.editor-section{height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--gray-200);margin-right:4px}.editor-section>.pattern-section{flex:0 0 auto}.editor-section>.text-section{flex:1 1 0;min-height:0;overflow:hidden}.text-panels{flex:1;min-height:0;background:var(--gray-200)}.text-panels .text-section{height:100%;display:flex;flex-direction:column;margin-right:4px}.text-panels .results-section{height:100%;display:flex;flex-direction:column;margin-left:4px}.text-panels .text-editor{flex:1;display:flex;flex-direction:column;min-height:0}.text-panels .text-input{flex:1;min-height:0;resize:none}.text-panels .highlighted-container{flex:1;min-height:0}.resize-handle,[data-panel-resize-handle-id],[data-separator]{flex:0 0 0!important;width:0!important;min-width:0!important;background:transparent!important;cursor:col-resize;position:relative}.resize-handle:after{content:"";position:absolute;inset:0 -8px;cursor:col-resize}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;min-height:36px}.section-header label{font-weight:600;color:var(--gray-700)}.header-actions{display:flex;gap:.5rem}button{cursor:pointer;border:none;border-radius:6px;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-300)}.pattern-section{padding:1rem;background:var(--gray-50)}.pattern-input-wrapper{width:100%;padding:.75rem 1rem;font-family:var(--font-mono);font-size:1rem;border:1px solid var(--gray-300);background:#fff;transition:border-color .15s ease}.pattern-input-wrapper:focus-within{border-color:var(--primary)}.pattern-input-wrapper.has-error{border-color:var(--warning)}.pattern-input-wrapper .cm-editor{height:100%}.pattern-input-wrapper .cm-editor.cm-focused{outline:none}.pattern-input-wrapper .cm-scroller{overflow:auto}.pattern-input-wrapper .cm-content,.pattern-input-wrapper .cm-line{padding:0}.pattern-input-wrapper .expression-editor{width:100%;min-height:1.5em}.pattern-input-wrapper input,.pattern-input-wrapper textarea,.pattern-input-wrapper [contenteditable],.pattern-input-wrapper pre{outline:none!important;border:none!important;background:transparent!important;font-family:inherit;font-size:inherit;width:100%;margin:0;padding:0!important}.pattern-info{margin-top:.75rem;font-size:.85rem}.info-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.info-label{color:var(--gray-500);min-width:80px}.info-value{font-family:var(--font-mono);background:var(--gray-100);padding:.125rem .5rem;border-radius:4px;color:var(--gray-700)}.info-value.has-matches{background:#dcfce7;color:#166534;font-weight:600}.info-value.no-matches{background:var(--gray-100);color:var(--gray-500)}.error-message{margin-top:.5rem;padding:.5rem .75rem;background:var(--gray-100);color:var(--gray-600);border-radius:6px;font-size:.85rem}.warning-messages{margin-top:.5rem}.warning-message{padding:.5rem .75rem;background:#fffbeb;border:1px solid #f59e0b;color:#92400e;border-radius:6px;font-size:.85rem;margin-bottom:.25rem}.warning-message:last-child{margin-bottom:0}.warning-suggestion{color:#78350f;font-family:var(--font-mono)}.btn-fix{margin-left:.5rem;padding:.15rem .5rem;font-size:.75rem;font-weight:600;background:#f59e0b;color:#fff;border:none;border-radius:4px;cursor:pointer;vertical-align:middle}.btn-fix:hover{background:#d97706}.text-section{padding:1rem;background:var(--gray-50)}.text-section.combined-editor{display:flex;flex-direction:column;padding:1rem;background:var(--gray-50)}.text-section.combined-editor>.section-header{flex:0 0 auto}.text-editor-wrapper{flex:1 1 0;min-height:0;border:1px solid var(--gray-300);background:#fff;overflow:auto}.text-editor-wrapper:focus-within{border-color:var(--primary)}.text-editor-wrapper textarea,.text-editor-wrapper pre{unicode-bidi:plaintext}.text-editor-wrapper.rtl{direction:rtl}.text-editor-wrapper.rtl textarea,.text-editor-wrapper.rtl pre{text-align:right}.text-editor-wrapper>div{flex:1;min-height:100%;height:100%}.text-editor-wrapper .cm-editor{height:100%}.text-editor-wrapper .cm-scroller{overflow:auto}.text-editor-wrapper textarea,.text-editor-wrapper pre{padding:.75rem!important;min-height:100%!important;white-space:pre-wrap!important;word-wrap:break-word!important}.match-count{font-size:.85rem;color:var(--gray-500);padding:.25rem .5rem;background:var(--gray-100);border-radius:4px}.match-count:has(+.btn-toggle.active),.section-header .match-count{margin-right:.5rem}.text-editor{position:relative}.text-input{width:100%;min-height:150px;padding:.75rem;font-family:inherit;font-size:.9rem;border:1px solid var(--gray-300);background:#fff;resize:vertical;line-height:1.6}.text-input:focus{outline:none;border-color:var(--primary)}.results-section{padding:1rem;background:var(--gray-50);flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.highlighted-container{flex:1;overflow:auto;border:1px solid var(--gray-300);background:#fff}.text-content{margin:0;padding:.75rem;font-family:inherit;font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.highlight{background:var(--highlight-bg);border-bottom:2px solid var(--highlight-border);border-radius:2px;color:inherit;pointer-events:none}.highlight.highlight-hover{background:#fde047}.highlight .hc-editor.hc-paragraph:before,.highlight .hc-editor.hc-softreturn:before{background:var(--highlight-bg);top:0;bottom:-2px;box-sizing:border-box;border-bottom:2px solid var(--highlight-border);border-radius:2px}.highlight.highlight-hover .hc-editor.hc-paragraph:before,.highlight.highlight-hover .hc-editor.hc-softreturn:before{background:#fde047}.highlight.has-groups .hc-editor.hc-paragraph:before,.highlight.has-groups .hc-editor.hc-softreturn:before{border-bottom-style:dashed}.highlight.has-groups{border-bottom-style:dashed}.zero-width{color:var(--gray-400);font-size:.75em}.combining-mark{color:inherit}.match-tooltip-fixed{position:fixed;transform:translateY(-1rem);background:var(--gray-800);color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;white-space:normal;word-wrap:break-word;z-index:10000;box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;gap:.25rem;min-width:120px;max-width:280px;pointer-events:none}.match-tooltip-fixed:before{content:"";position:absolute;right:100%;top:1rem;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--gray-800)}.match-tooltip-fixed .tooltip-value{word-break:break-all}.tooltip-header{font-weight:600;color:var(--gray-300);padding-bottom:.25rem;border-bottom:1px solid var(--gray-600);margin-bottom:.25rem}.tooltip-row{display:flex;align-items:center;gap:.5rem}.tooltip-label{font-family:var(--font-mono);font-weight:600;color:#93c5fd;min-width:1.5rem}.tooltip-value{font-family:var(--font-mono);color:#fff}.tooltip-position{color:var(--gray-400);font-size:.7rem;margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--gray-600)}.tooltip-names .tooltip-value{font-family:var(--font-sans);font-size:.7rem;color:var(--gray-400);font-style:italic}.hidden-char{font-family:var(--font-mono);font-size:.85em;-webkit-user-select:none;user-select:none;pointer-events:none}.cm-line.cm-line-hard-return:after{content:"¶";color:var(--hc-color);font-family:var(--font-mono);font-size:.85em;pointer-events:none}.cm-line.cm-line-soft-return:after{content:"↵";color:var(--hc-color);font-family:var(--font-mono);font-size:.85em;pointer-events:none}.cm-line.cm-line-hard-return-empty,.cm-line.cm-line-soft-return-empty{position:relative}.cm-line.cm-line-hard-return-empty:before{content:"¶";position:absolute;left:0;top:0;color:var(--hc-color);font-family:var(--font-mono);font-size:.85em;pointer-events:none}.cm-line.cm-line-soft-return-empty:before{content:"↵";position:absolute;left:0;top:0;color:var(--hc-color);font-family:var(--font-mono);font-size:.85em;pointer-events:none}.hc-empty-line-end{color:var(--hc-color);font-family:var(--font-mono);font-size:.85em;pointer-events:none;-webkit-user-select:none;user-select:none}.hc-editor{position:relative}.hc-editor:before{content:attr(data-symbol);position:absolute;left:0;pointer-events:none;font-family:var(--font-mono);font-size:.85em}.hc-editor.hc-space,.hc-editor.hc-nbsp,.hc-editor.hc-emspace,.hc-editor.hc-enspace,.hc-editor.hc-thinspace,.hc-editor.hc-thirdspace,.hc-editor.hc-quarterspace,.hc-editor.hc-sixthspace,.hc-editor.hc-hairspace,.hc-editor.hc-figurespace,.hc-editor.hc-punctspace,.hc-editor.hc-tab{display:inline-block;color:transparent}.hc-editor.hc-space:before,.hc-editor.hc-nbsp:before,.hc-editor.hc-emspace:before,.hc-editor.hc-enspace:before,.hc-editor.hc-thinspace:before,.hc-editor.hc-thirdspace:before,.hc-editor.hc-quarterspace:before,.hc-editor.hc-sixthspace:before,.hc-editor.hc-hairspace:before,.hc-editor.hc-figurespace:before,.hc-editor.hc-punctspace:before,.hc-editor.hc-tab:before{left:50%;top:50%;transform:translate(-50%,-50%)}.hc-editor.hc-paragraph:before{color:var(--hc-color)}.hc-editor.hc-softreturn:before{color:var(--hc-color)}.hc-editor.hc-tab:before{color:var(--hc-color)}.hc-editor.hc-space:before{color:var(--hc-color)}.hc-editor.hc-nbsp:before{color:var(--hc-color)}.hc-editor.hc-emspace:before{color:var(--hc-color)}.hc-editor.hc-enspace:before{color:var(--hc-color)}.hc-editor.hc-thinspace:before{color:var(--hc-color)}.hc-editor.hc-thirdspace:before{color:var(--hc-color)}.hc-editor.hc-quarterspace:before{color:var(--hc-color)}.hc-editor.hc-sixthspace:before{color:var(--hc-color)}.hc-editor.hc-hairspace:before{color:var(--hc-color)}.hc-editor.hc-figurespace:before{color:var(--hc-color)}.hc-editor.hc-punctspace:before{color:var(--hc-color)}.hc-editor.hc-zwsp:before{color:var(--hc-color);font-size:.7em}.hc-editor.hc-dischyphen:before{color:var(--hc-color)}.hc-editor.hc-break:before{color:var(--hc-color)}.hc-editor.hc-marker:before{color:var(--hc-color)}.hc-editor.hc-anchor:before{color:var(--hc-color)}.hc-paragraph,.hc-softreturn,.hc-tab,.hc-space,.hc-nbsp,.hc-emspace,.hc-enspace,.hc-thinspace,.hc-thirdspace,.hc-quarterspace,.hc-sixthspace,.hc-hairspace,.hc-figurespace,.hc-punctspace{color:var(--hc-color)}.hc-zwsp{color:var(--hc-color);font-size:.7em}.hc-dischyphen,.hc-nbhyphen{color:var(--hc-color)}.hc-emdash,.hc-endash,.hc-bullet,.hc-ellipsis{color:inherit}.hc-break,.hc-marker,.hc-anchor{color:var(--hc-color)}.btn-toggle{background:var(--gray-200);color:var(--gray-600);border:1px solid var(--gray-300)}.btn-toggle:hover{background:var(--gray-300)}.btn-toggle.active{background:var(--primary);color:#fff;border-color:var(--primary-dark)}.btn-toggle.active:hover{background:var(--primary-dark)}.match-list{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}.match-list h4{color:var(--gray-700);margin-bottom:.75rem;font-size:.9rem}.matches-container{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.match-item{background:var(--gray-50);border-radius:6px;font-size:.8rem;border:1px solid var(--gray-200)}.match-item.has-groups{padding:0}.match-item:not(.has-groups){padding:.5rem .75rem}.match-item:not(.has-groups) .match-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.match-item.has-groups .match-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--gray-100);border-radius:5px 5px 0 0;border-bottom:1px solid var(--gray-200);flex-wrap:wrap}.match-item.more{color:var(--gray-500);font-style:italic;padding:.5rem .75rem}.match-index{color:var(--gray-500);font-weight:600;min-width:2.5rem}.match-text{font-family:var(--font-mono);background:var(--highlight-bg);padding:.125rem .5rem;border-radius:3px;font-size:.8rem;border:1px solid var(--highlight-border)}.match-position{color:var(--gray-500);font-size:.75rem;margin-left:auto}.match-groups-detail{padding:.5rem .75rem;display:flex;flex-direction:column;gap:.375rem}.group-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.group-label{font-family:var(--font-mono);font-weight:600;color:var(--primary);background:#dbeafe;padding:.125rem .5rem;border-radius:3px;font-size:.75rem;min-width:2rem;text-align:center}.group-value{font-family:var(--font-mono);font-size:.8rem;color:var(--gray-700);background:#fff;padding:.125rem .5rem;border-radius:3px;border:1px solid var(--gray-200)}.reference-section{height:100%;min-height:0;background:var(--gray-50);display:flex;flex-direction:column;overflow:hidden;margin-left:4px;padding:1rem}.reference-content{flex:1 1 0;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.reference-panel{flex:1 1 0;overflow-y:auto;padding:.5rem;min-height:0}.reference-search{padding:.5rem;border-bottom:1px solid var(--gray-200)}.reference-search input{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-300);font-size:.85rem}.reference-search input:focus{outline:none;border-color:var(--primary)}.reference-panel h3{font-size:.9rem;color:var(--gray-700);padding:.5rem;margin-bottom:.5rem}.hide-indesign-only{display:flex;align-items:center;gap:.5rem;padding:0 .5rem .5rem;font-size:.8rem;color:var(--gray-600);cursor:pointer}.hide-indesign-only input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid var(--gray-400);border-radius:3px;margin:0;cursor:pointer;position:relative}.hide-indesign-only input:checked{background:var(--primary);border-color:var(--primary)}.hide-indesign-only input:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.hide-indesign-only:hover{color:var(--gray-700)}.hide-indesign-only:hover input:not(:checked){border-color:var(--gray-500)}.category{margin-bottom:.25rem}.category-header{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border-radius:4px;font-size:.85rem;font-weight:600;color:var(--gray-700);text-align:left}.category-header:hover{background:var(--gray-50)}.category-header .arrow{font-size:.7rem;color:var(--gray-400);transition:transform .15s ease}.category-header .arrow.expanded{transform:rotate(90deg)}.category-header .count{margin-left:auto;font-size:.75rem;color:var(--gray-400);font-weight:400}.category-items{padding:.25rem 0 .25rem 1rem}.construct-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:4px;cursor:pointer;transition:background .1s ease}.construct-item:hover{background:var(--gray-100)}.construct-code{font-family:var(--font-mono);font-size:.8rem;background:var(--primary);color:#fff;padding:.125rem .375rem;border-radius:3px;min-width:3rem;text-align:center}.construct-desc{font-size:.8rem;color:var(--gray-600);flex:1}.construct-visual{font-size:1rem;color:var(--gray-400);min-width:1.5rem;text-align:center}.construct-item.indesign-only{opacity:.6}.construct-item.indesign-only .construct-code{background:var(--gray-400)}.construct-item.indesign-only:after{content:"ID";font-size:.6rem;font-weight:600;color:var(--gray-500);background:var(--gray-200);padding:.1rem .3rem;border-radius:2px;margin-left:auto}.app-footer{background:var(--gray-800);color:var(--gray-400);padding:.75rem 2rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom));padding-left:calc(2rem + env(safe-area-inset-left));padding-right:calc(2rem + env(safe-area-inset-right));display:flex;justify-content:center;align-items:center;gap:1.5rem;overflow:hidden}.footer-tagline{font-size:.85rem;color:var(--gray-400)}@keyframes slideInBounce{0%{transform:translate(100px);opacity:0}60%{transform:translate(-8px);opacity:1}80%{transform:translate(4px)}to{transform:translate(0)}}.sidekick-ad{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--gray-300);padding:.5rem 1rem;border-radius:8px;transition:background .15s ease,color .15s ease;animation:slideInBounce .6s ease-out .3s both}.sidekick-ad:hover{background:var(--gray-700);color:#fff}.sidekick-ad:hover .sidekick-arrow{transform:translate(4px)}.sidekick-logo{width:32px;height:32px}.sidekick-text{display:flex;flex-direction:column;font-size:.8rem;line-height:1.3}.sidekick-text strong{color:#fff;font-weight:600}.sidekick-text span{color:var(--gray-400);font-size:.75rem}.sidekick-arrow{font-size:1.2rem;color:var(--primary);margin-left:.25rem;transition:transform .15s ease}.pcre2-status{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em}.pcre2-ready{background:var(--success);color:#fff}.pcre2-loading{background:var(--warning);color:var(--gray-900)}.pcre2-fallback{background:var(--gray-600);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.grep-tilde,.grep-escape{color:#3b82f6;font-weight:500}.grep-class{color:#ca8a04}.grep-group{color:#16a34a;font-weight:600}.grep-quantifier{color:#9333ea;font-weight:600}.grep-anchor{color:#dc2626;font-weight:600}.grep-alternation{color:#ea580c;font-weight:600}.grep-escaped{color:#6b7280}.grep-comment{color:#6b7280;font-style:italic}.cookie-consent{position:fixed;bottom:1.5rem;left:1.5rem;max-width:360px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026,0 0 0 1px var(--gray-200);padding:1.25rem;z-index:10001;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.consent-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.25rem;color:var(--gray-400);cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:4px}.consent-close:hover{background:var(--gray-100);color:var(--gray-600)}.consent-content h3{font-size:1rem;font-weight:600;color:var(--gray-800);margin-bottom:.5rem}.consent-content p{font-size:.85rem;color:var(--gray-600);line-height:1.5;margin-bottom:1rem}.consent-buttons{display:flex;gap:.75rem}.consent-buttons button{flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.btn-decline{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-decline:hover{background:var(--gray-200)}.btn-accept{background:var(--primary);color:#fff;border:1px solid var(--primary-dark)}.btn-accept:hover{background:var(--primary-dark)}@media(max-width:480px){.cookie-consent{left:1rem;right:1rem;bottom:1rem;max-width:none}}.mobile-menu-btn,.mobile-sidebar-overlay{display:none}@media(max-width:768px){.app-header{padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top));justify-content:space-between}.header-content{flex:1}.app-header h1{font-size:1.25rem}.app-header .subtitle{display:none}.mobile-menu-btn{display:flex;align-items:center;gap:.5rem;background:var(--primary);color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;border:none;cursor:pointer}.mobile-menu-btn:hover{background:var(--primary-dark)}.menu-icon{font-size:1rem}.app-main [data-panel]:has(.reference-section){display:none!important}.resize-handle,[data-panel-resize-handle-id],[data-separator]{display:none!important}.editor-section{margin-right:0}.app-main{flex-direction:column}.mobile-sidebar-overlay{display:block;position:fixed;inset:0;z-index:10000}.mobile-sidebar-backdrop{position:absolute;inset:0;background:#00000080;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-sidebar{position:absolute;top:0;right:0;bottom:0;width:85%;max-width:360px;background:var(--gray-50);display:flex;flex-direction:column;animation:slideIn .25s ease-out;box-shadow:-4px 0 24px #0003}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--gray-800);color:#fff}.mobile-sidebar-header h3{font-size:1rem;font-weight:600;margin:0}.mobile-sidebar-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:4px}.mobile-sidebar-close:hover{background:var(--gray-700)}.mobile-sidebar .reference-content{flex:1;overflow:hidden}.mobile-sidebar .reference-panel{padding-bottom:2rem}.app-footer{padding:.5rem 1rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));gap:.5rem}.footer-tagline{display:none}.sidekick-ad{padding:.375rem .75rem;animation:none}.sidekick-logo{width:24px;height:24px}.sidekick-text{font-size:.75rem}.sidekick-text span{display:none}.pattern-section,.text-section{padding:.75rem}.section-header{flex-wrap:wrap;gap:.5rem}.header-actions{flex-wrap:wrap}input,textarea,.pattern-input-wrapper,.text-editor-wrapper textarea,.text-editor-wrapper pre{font-size:16px!important}}@media(max-width:480px){.app-header h1{font-size:1.1rem}.mobile-menu-btn .menu-label{display:none}.mobile-menu-btn{padding:.5rem}.menu-icon{font-size:1.2rem}.btn-toggle{font-size:.75rem;padding:.375rem .5rem}.match-count{font-size:.75rem}}
