:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #050816;--bg-elevated: #0b1020;--bg-card: #0f172a;--border-subtle: #1e293b;--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .12);--accent-strong: rgba(56, 189, 248, .3);--text-main: #e5e7eb;--text-muted: #9ca3af;--radius-lg: 16px}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;background:radial-gradient(circle at top left,#1f2937 0,#020617 45% 100%);color:var(--text-main)}#root{height:100vh;width:100vw}.app-root{display:flex;height:100%;max-width:1200px;margin:0 auto;padding:20px;box-sizing:border-box;gap:16px}.sidebar{width:260px;flex-shrink:0;background:radial-gradient(circle at top left,#020617 0 30%,#020617),linear-gradient(145deg,rgba(56,189,248,.12),transparent 50%);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:18px 14px 14px;box-sizing:border-box;display:flex;flex-direction:column;max-height:100%;overflow-y:auto}.sidebar-header{font-size:18px;font-weight:600;letter-spacing:.04em;padding:6px 10px 12px;border-bottom:1px solid rgba(148,163,184,.45);margin-bottom:8px}.sidebar-nav{display:flex;flex-direction:column;margin-top:4px;gap:8px}.sidebar-group{display:flex;flex-direction:column;gap:4px}.sidebar-group-title{all:unset;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8e6;padding:4px 8px 2px}.sidebar-group-arrow{font-size:10px;opacity:.7;transition:transform .12s ease-out}.sidebar-group-arrow.open{transform:rotate(180deg)}.sidebar-item{all:unset;cursor:pointer;border-radius:10px;padding:10px 10px 9px;border:1px solid transparent;display:flex;flex-direction:column;gap:3px;color:var(--text-main);transition:background .13s ease-out,border-color .13s ease-out,transform .08s ease-out}.sidebar-item:hover{background:#0f172ae6;border-color:#94a3b899;transform:translateY(-.5px)}.sidebar-item--active{background:radial-gradient(circle at top left,var(--accent-soft),transparent 60%);border-color:var(--accent-strong)}.sidebar-item-label{font-size:14px;font-weight:500}.sidebar-item-desc{font-size:11px;color:var(--text-muted)}.app-main{flex:1;min-width:0;background:linear-gradient(145deg,#0f172af5,#0f172afa);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:18px 18px 18px 20px;box-sizing:border-box;display:flex}.tool-layout{display:flex;flex-direction:column;width:100%;gap:14px}.tool-layout-header{border-bottom:1px solid rgba(30,64,175,.65);padding-bottom:10px}.tool-layout-title{margin:0 0 4px;font-size:20px;font-weight:600}.tool-layout-description{margin:0;font-size:13px;color:var(--text-muted)}.tool-layout-body{flex:1;display:flex}.placeholder-tool{margin-top:8px;font-size:14px;color:var(--text-muted)}.tool-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;width:100%}.tool-single-column{display:flex;flex-direction:column;gap:14px;width:100%}.tool-card{background:radial-gradient(circle at top left,#0f172afa,#020617 70%);border-radius:14px;border:1px solid rgba(31,41,55,.9);padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px}.tool-card-title{margin:0 0 6px;font-size:15px;font-weight:500}.field-group{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;color:var(--text-muted)}.field-input,.field-select{border-radius:10px;border:1px solid rgba(55,65,81,.9);background:#0f172ae6;color:var(--text-main);padding:7px 9px;font-size:13px;outline:none;box-sizing:border-box}.field-input--textarea{resize:vertical;min-height:160px}.field-input--small{max-width:80px}.field-input::placeholder{color:#94a3b8b3}.field-input:focus,.field-select:focus{border-color:var(--accent);box-shadow:0 0 0 1px #38bdf84d}.field-inline{display:flex;align-items:center;justify-content:space-between;gap:10px}.field-inline .field-label{margin-right:auto}.field-select{min-width:150px}.result-block{margin-top:4px;border-radius:10px;border:1px solid rgba(31,41,55,.9);background:radial-gradient(circle at top left,#0f172ae6,#020617 80%);padding:6px 8px;display:flex;flex-direction:column;gap:4px;font-size:12px}.result-row{display:flex;align-items:center;gap:8px}.result-label{min-width:80px;color:var(--text-muted)}.result-value{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px}.mono-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ghost-button{border-radius:999px;border:1px solid rgba(55,65,81,.95);padding:3px 10px;background:#0f172af5;color:var(--text-main);font-size:11px;cursor:pointer;white-space:nowrap;transition:background .12s ease-out,border-color .12s ease-out,transform .08s ease-out}.ghost-button:hover{background:#0f172a;border-color:var(--accent);transform:translateY(-.5px)}.primary-button{border-radius:999px;border:1px solid rgba(56,189,248,.9);padding:6px 16px;background:radial-gradient(circle at top left,#38bdf838,#0f172af5);color:var(--text-main);font-size:13px;cursor:pointer;white-space:nowrap;font-weight:500;transition:background .12s ease-out,border-color .12s ease-out,transform .08s ease-out,box-shadow .12s ease-out}.primary-button:hover{background:radial-gradient(circle at top left,#38bdf852,#0f172afa);border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf866;transform:translateY(-.5px)}.primary-button:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.secondary-button{border-radius:999px;border:1px solid rgba(55,65,81,.95);padding:5px 14px;background:#0f172af5;color:var(--text-main);font-size:12px;cursor:pointer;white-space:nowrap;transition:background .12s ease-out,border-color .12s ease-out,transform .08s ease-out}.secondary-button:hover{background:#0f172a;border-color:#94a3b8e6;transform:translateY(-.5px)}.secondary-button:disabled{opacity:.6;cursor:default;transform:none}.button-group{display:flex;gap:8px;align-items:flex-end}.button-grid{display:flex;flex-wrap:wrap;gap:8px}.error-banner,.status-banner{margin-top:8px;padding:6px 9px;border-radius:8px;font-size:12px}.error-banner{background:#ef44441f;border:1px solid rgba(248,113,113,.7);color:#fecaca}.status-banner--ok{background:#22c55e1f;border:1px solid rgba(74,222,128,.7);color:#bbf7d0}.regex-flags{display:flex;gap:6px;flex-wrap:wrap}.chip-button{border-radius:999px;border:1px solid rgba(55,65,81,.95);padding:4px 10px;background:#0f172af5;color:var(--text-muted);font-size:11px;cursor:pointer;white-space:nowrap;transition:background .12s ease-out,border-color .12s ease-out,color .12s ease-out,transform .08s ease-out}.chip-button--active{background:radial-gradient(circle at top left,#38bdf840,#0f172afa);border-color:#38bdf8e6;color:var(--text-main)}.chip-button:hover{transform:translateY(-.5px)}.regex-match-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;padding:4px 6px;border-radius:6px}.regex-match-row:nth-of-type(odd){background:#0f172ab3}.regex-match-index{font-size:11px;color:var(--text-muted)}.regex-match-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.regex-match-meta{grid-column:1 / -1;font-size:11px;color:var(--text-muted)}.mode-toggle{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:900px){.tool-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.app-root{padding:12px;gap:10px}.sidebar{width:220px}}@media(max-width:720px){.app-root{flex-direction:column}.sidebar{width:100%;flex-direction:row;align-items:center;padding:10px 10px 8px}.sidebar-header{border-bottom:none;border-right:1px solid rgba(148,163,184,.5);margin-bottom:0;margin-right:10px;padding:4px 10px 4px 6px;flex-shrink:0}.sidebar-nav{flex-direction:row;overflow-x:auto}.sidebar-item{min-width:140px}.app-main{padding:14px 12px 12px}}
