.regex-tester{width:100%}mark[data-match-index]{border-radius:3px;cursor:pointer;font-weight:500;padding:2px 4px;transition:opacity .2s}mark[data-match-index]:hover{opacity:.8}#patternInput{font-family:Monaco,Consolas,Courier New,monospace}.regex-tester .overflow-auto::-webkit-scrollbar{height:8px;width:8px}.regex-tester .overflow-auto::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.dark .regex-tester .overflow-auto::-webkit-scrollbar-track{background:#1f2937}.regex-tester .overflow-auto::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.dark .regex-tester .overflow-auto::-webkit-scrollbar-thumb{background:#4b5563}.regex-tester .overflow-auto::-webkit-scrollbar-thumb:hover{background:#9ca3af}.dark .regex-tester .overflow-auto::-webkit-scrollbar-thumb:hover{background:#6b7280}.flag-check{cursor:pointer}.library-btn:hover{transform:translateY(-2px)}.library-btn:active{transform:translateY(0)}.mode-btn{overflow:hidden;position:relative}.mode-btn:after{background:hsla(0,0%,100%,.3);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s;width:0}.mode-btn:active:after{height:200px;width:200px}#cheatSheetModal{animation:fadeIn .2s ease-out}#cheatSheetModal>div{animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#codeOutput pre{margin:0;white-space:pre-wrap;word-wrap:break-word;line-height:1.6}.regex-tester .bg-gray-50:hover{background-color:rgba(249,250,251,.8)}.dark .regex-tester .bg-gray-900:hover{background-color:rgba(17,24,39,.8)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}#regex-notification{animation:slideInRight .3s ease-out}button{overflow:hidden;position:relative}button:before{background:hsla(0,0%,100%,.5);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}button:active:before{height:300px;width:300px}input:focus,textarea:focus{outline:none}button:disabled{cursor:not-allowed;opacity:.5}.code-lang-btn{transition:all .2s}.code-lang-btn:hover{box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-2px)}.text-gray-500{font-variant-numeric:tabular-nums}.text-sm.text-gray-500{font-family:Monaco,Consolas,Courier New,monospace}@media (max-width:768px){.regex-tester{font-size:14px}.code-lang-btn,.library-btn{font-size:11px;padding:.5rem .75rem}#cheatSheetModal>div{max-height:80vh}mark[data-match-index]{padding:1px 2px}}@media print{#cheatSheetModal,#regex-notification,.regex-tester button{display:none!important}.regex-tester{background:#fff!important;color:#000!important}}.flag-check:focus{outline:2px solid #3b82f6;outline-offset:2px}button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.code-lang-btn:focus,.library-btn:focus,.mode-btn:focus{outline:2px solid #3b82f6;outline-offset:2px}.regex-tester.loading{opacity:.6;pointer-events:none}.border-red-500{animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.bg-green-600{position:relative}.bg-green-600:after{animation:shimmer 2s infinite;background:linear-gradient(45deg,transparent 30%,hsla(0,0%,100%,.1) 50%,transparent 70%);background-size:200% 100%;bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}