:root{--bg-canvas: #FDFBF7;--bg-surface: #FFFFFF;--bg-subtle: #F7F4EE;--bg-input: #FFFFFF;--bg-pill: #F2EFE8;--border-hairline: #E8E4DC;--border-hover: #D6D0C5;--border-focus: #1C1917;--text-main: #1C1917;--text-muted: #57534E;--text-subtle: #78716C;--text-placeholder: #A8A29E;--btn-primary-bg: #1C1917;--btn-primary-text: #FFFFFF;--btn-primary-hover: #292524;--btn-primary-active: #0C0A09;--btn-secondary-bg: #F7F4EE;--btn-secondary-text: #1C1917;--btn-secondary-border: #E8E4DC;--btn-secondary-hover: #EFECE4;--toast-bg: #1C1917;--toast-text: #FDFBF7;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-subtle: 0 1px 3px rgba(28, 25, 23, .04), 0 1px 2px rgba(28, 25, 23, .02);--shadow-card: 0 4px 12px -2px rgba(28, 25, 23, .05), 0 2px 4px -1px rgba(28, 25, 23, .03)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-family:var(--font-sans);font-size:16px;line-height:1.5;background-color:var(--bg-canvas);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-canvas);color:var(--text-main)}.app-wrapper{flex:1;display:flex;flex-direction:column;max-width:1200px;width:100%;margin:0 auto;padding:1.25rem 1rem 2rem}.app-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-hairline)}.header-top{display:flex;align-items:center;justify-content:space-between}.brand-badge{display:inline-flex;align-items:center;gap:.5rem}.brand-icon{width:28px;height:28px;background-color:var(--text-main);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff}.brand-name{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--text-main)}.header-meta{display:flex;align-items:center;gap:.5rem}.status-pill{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:9999px;background-color:var(--bg-pill);color:var(--text-muted);border:1px solid var(--border-hairline)}.status-dot{width:6px;height:6px;border-radius:50%;background-color:#10b981}.app-description{font-size:.875rem;color:var(--text-muted);line-height:1.45;max-width:640px}.workspace-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;flex:1}@media(min-width:900px){.workspace-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}.card-pane{display:flex;flex-direction:column;background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);overflow:hidden;transition:border-color .2s ease}.card-pane:focus-within{border-color:var(--border-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.125rem;background-color:var(--bg-surface);border-bottom:1px solid var(--border-hairline)}.card-header-output{flex-wrap:wrap;gap:.625rem}.header-left-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.tab-group{display:inline-flex;padding:2px;background-color:var(--bg-subtle);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);gap:2px}.tab-btn{font-family:var(--font-sans);font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:4px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease;user-select:none}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{background-color:var(--bg-surface);color:var(--text-main);font-weight:600;box-shadow:0 1px 2px #1c19170f}.card-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;letter-spacing:-.01em;color:var(--text-main)}.card-title svg{color:var(--text-muted)}.card-tools{display:flex;align-items:center;gap:.375rem}.pane-body{position:relative;flex:1;display:flex;flex-direction:column}.output-links-scrollable{flex:1;min-height:260px;max-height:480px;overflow-y:auto;padding:.75rem 1rem}.url-links-list{display:flex;flex-direction:column;gap:.375rem}.url-item-row{display:flex;align-items:center;justify-content:space-between;gap:.625rem;padding:.5rem .625rem;border-radius:var(--radius-sm);border:1px solid var(--border-hairline);background-color:var(--bg-surface);transition:background-color .15s ease,border-color .15s ease}.url-item-row:hover{background-color:var(--bg-subtle);border-color:var(--border-hover)}.url-item-index{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-subtle);min-width:1.5rem;text-align:right;user-select:none}.url-link-item{color:#1d4ed8;font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;text-decoration:none;word-break:break-all;flex:1;padding:.25rem 0;outline:none;border-radius:2px}.url-link-item:hover{text-decoration:underline;color:#1e40af}.url-link-item:focus-visible{outline:2px solid #1D4ED8;outline-offset:2px}.btn-copy-single{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:var(--radius-sm);color:var(--text-muted);background-color:transparent;border:1px solid transparent;cursor:pointer;flex-shrink:0;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn-copy-single:hover{color:var(--text-main);background-color:var(--bg-subtle);border-color:var(--border-hairline)}.btn-copy-single.copied{color:#059669;background-color:#ecfdf5;border-color:#a7f3d0}.output-raw-wrapper{flex:1;display:flex;flex-direction:column}.editor-textarea{width:100%;flex:1;min-height:260px;padding:1rem 1.125rem;font-family:var(--font-sans);font-size:.9375rem;line-height:1.6;color:var(--text-main);background-color:transparent;border:none;resize:vertical;outline:none}.editor-textarea::placeholder{color:var(--text-placeholder);font-style:normal}.output-textarea{width:100%;flex:1;min-height:260px;padding:1rem 1.125rem;font-family:var(--font-mono);font-size:.875rem;line-height:1.7;color:var(--text-main);background-color:transparent;border:none;resize:vertical;outline:none;white-space:pre;word-break:break-all}.output-placeholder-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;color:var(--text-placeholder);min-height:260px}.output-placeholder-empty svg{margin-bottom:.75rem;color:var(--text-placeholder);opacity:.7}.output-placeholder-empty p{font-size:.875rem;color:var(--text-subtle);max-width:280px}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.125rem;background-color:var(--bg-subtle);border-top:1px solid var(--border-hairline);font-size:.75rem;color:var(--text-muted)}.counter-text{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.live-indicator{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;color:var(--text-muted)}.live-indicator .status-dot{width:6px;height:6px;border-radius:50%;background-color:#10b981}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;padding:.4375rem .875rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .05s ease;user-select:none}.btn-sm{padding:.3125rem .625rem;font-size:.75rem}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);font-weight:600;box-shadow:0 1px 2px #1c191714}.btn-primary:hover{background-color:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border)}.btn-secondary:hover{background-color:var(--btn-secondary-hover);border-color:var(--border-hover)}.btn-ghost{background-color:transparent;color:var(--text-muted);border-color:transparent;padding:.375rem .625rem}.btn-ghost:hover{background-color:var(--bg-subtle);color:var(--text-main)}.btn-icon-only{padding:.375rem;border-radius:var(--radius-sm);line-height:1}.mobile-action-strip{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}@media(min-width:900px){.mobile-action-strip{display:none}}.btn-large-mobile{width:100%;padding:.875rem 1rem;font-size:.9375rem;border-radius:var(--radius-md)}.kbd{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;padding:.125rem .3125rem;border-radius:4px;background-color:#ffffff2e;color:inherit;margin-left:.375rem;line-height:1}.options-bar{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:.75rem 1.125rem;background-color:var(--bg-surface);border:1px solid var(--border-hairline);border-radius:var(--radius-md);font-size:.8125rem}.checkbox-label{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-main);cursor:pointer;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--text-main);cursor:pointer}.dedupe-status-badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;padding:.2rem .5rem;border-radius:9999px;background-color:#ecfdf5;color:#065f46;border:1px solid #A7F3D0;margin-left:auto;white-space:nowrap}.toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(20px);background-color:var(--toast-bg);color:var(--toast-text);padding:.625rem 1rem;border-radius:9999px;font-size:.8125rem;font-weight:500;display:flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-card);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:100;pointer-events:none}.toast-container.active{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.toast-icon{color:#10b981}.app-footer{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border-hairline);display:flex;flex-direction:column;gap:.75rem;align-items:center;justify-content:space-between;font-size:.8125rem;color:var(--text-subtle)}@media(min-width:640px){.app-footer{flex-direction:row}}.footer-link{color:var(--text-muted);text-decoration:none;transition:color .15s ease}.footer-link:hover{color:var(--text-main);text-decoration:underline}
