.date-tools{--cd-accent:#f3a01c;--cd-accent-text:#111827;--cd-blue:#3b82f6;--cd-green:#16a34a;--cd-purple:#7c3aed;--cd-card-shadow:0 1px 2px rgba(17,24,39,.04),0 8px 20px rgba(17,24,39,.05);display:flex;flex-direction:column;gap:16px}.date-tools .cd-sub{margin:0;color:var(--tools-muted);font-size:14px;line-height:1.55}.date-tools .cd-tabs{display:flex;gap:4px;margin:8px 0 4px;border-bottom:1px solid var(--tools-border)}.date-tools .cd-tab{position:relative;border:0;background:transparent;color:var(--tools-muted);padding:10px 14px 12px;font-size:14px;font-weight:600;cursor:pointer}.date-tools .cd-tab.is-active{color:var(--cd-blue)}.date-tools .cd-tab.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--cd-blue)}.date-tools .cd-card{background:var(--tools-surface);border:1px solid var(--tools-border);border-radius:12px;box-shadow:var(--cd-card-shadow)}.date-tools .cd-card-pad{padding:18px 16px 16px}.date-tools .cd-card-title{margin:0 0 14px;font-size:15px;font-weight:700}.date-tools .cd-field-row{display:grid;grid-template-columns:1fr;gap:14px}.date-tools .cd-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.date-tools .cd-btn{min-width:88px;height:40px;padding:0 22px;border:0;border-radius:10px;font-size:14px;font-weight:650;cursor:pointer}.date-tools .cd-btn:disabled{opacity:.4;cursor:not-allowed}.date-tools .cd-btn-primary{background:var(--cd-accent);color:var(--cd-accent-text)}.date-tools .cd-btn-ghost{background:var(--tools-surface);color:var(--tools-muted);border:1px solid var(--tools-border)}.date-tools .cd-error{margin:0;color:#b91c1c;font-size:13px;text-align:center}.date-tools .cd-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.date-tools .cd-stat{padding:16px 14px;text-align:center}.date-tools .cd-stat-label{margin:0;color:var(--tools-muted);font-size:12px}.date-tools .cd-stat-value{margin:8px 0 0;font-size:22px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.2}.date-tools .cd-stat-unit{margin-left:4px;color:var(--tools-muted);font-size:13px;font-weight:500}@media (min-width:640px){.date-tools .cd-field-row.is-2,.date-tools .cd-field-row.is-4,.date-tools .cd-field-row.is-5{grid-template-columns:repeat(2,minmax(0,1fr))}.date-tools .cd-field-row.is-compact{max-width:520px}.date-tools .cd-stat-grid.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}.date-tools .cd-stat-grid.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:960px){.date-tools .cd-field-row.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}.date-tools .cd-field-row.is-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:768px){.date-tools .cd-card-pad{padding:22px 20px 18px}}.text-tools .tab-scroll{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.text-tools .tab-scroll .cd-tab{flex:0 0 auto;white-space:nowrap}.text-tools .io-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.text-tools .pane,.text-tools .pane-full{padding:16px}.text-tools .pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.text-tools .pane-title{margin:0;font-size:15px;font-weight:700}.text-tools .pane-actions{display:flex;align-items:center;gap:10px}.text-tools .text-btn{border:0;background:transparent;color:var(--tools-muted);font-size:13px;font-weight:600;cursor:pointer;padding:4px 0}.text-tools .text-btn:hover{color:var(--cd-blue)}.text-tools .copy-btn{border:1px solid var(--tools-border);border-radius:8px;background:var(--tools-surface);color:var(--tools-text);font-size:13px;font-weight:600;padding:6px 12px;cursor:pointer}.text-tools .copy-btn:disabled{opacity:.45;cursor:not-allowed}.text-tools .pane-area{width:100%;box-sizing:border-box;min-height:220px;resize:vertical;border:0;border-radius:10px;background:var(--tools-bg);padding:12px;font-size:14px;line-height:1.6;color:var(--tools-text)}.text-tools .pane-area-tall{min-height:280px}.text-tools .pane-area:focus{outline:2px solid color-mix(in srgb,var(--cd-accent) 45%,transparent)}.text-tools .pane-hint{margin:10px 0 0;color:var(--tools-muted);font-size:12px;line-height:1.5}.text-tools .diff-check{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:13px;color:var(--tools-text)}.text-tools .summary-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;color:var(--tools-muted);font-size:14px}.text-tools .summary-row strong{color:var(--tools-text)}.text-tools .summary-del strong{color:#b91c1c}.text-tools .summary-ins strong{color:#15803d}.text-tools .table-wrap{overflow:auto;max-height:min(70vh,640px);border:1px solid var(--tools-border);border-radius:12px;background:var(--tools-surface);box-shadow:var(--cd-card-shadow)}.text-tools .diff-table{width:100%;border-collapse:collapse;font-size:13px}.text-tools .diff-table th{position:sticky;top:0;background:var(--tools-bg);z-index:1;text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--tools-border)}.text-tools .gutter{width:44px;text-align:right;color:var(--tools-muted);font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid var(--tools-border);background:var(--tools-bg);padding:4px 8px}.text-tools .line-cell{margin:0;padding:4px 10px;white-space:pre-wrap;word-break:break-word;line-height:1.45}.text-tools .rowEq td:not(.gutter){background:var(--tools-bg)}.text-tools .rowDel td:first-child,.text-tools .rowDel td:nth-child(2){background:#fef2f2}.text-tools .rowIns td:last-child,.text-tools .rowIns td:nth-child(3){background:#f0fdf4}.text-tools .stats-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.text-tools .stat-cell{padding:16px}.text-tools .stat-label{display:block;font-size:13px;color:var(--tools-muted);margin-bottom:8px}.text-tools .stat-value{font-size:28px;font-variant-numeric:tabular-nums}.text-tools .options-card{padding:14px 16px}.text-tools .options-title{margin-bottom:12px}.text-tools .options-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;padding:0;font-size:15px;font-weight:700;color:var(--tools-text);cursor:pointer}.text-tools .chevron{color:var(--tools-muted);transition:transform .15s ease}.text-tools .chevron.is-open{transform:rotate(180deg)}.text-tools .options-body{margin-top:14px}.text-tools .opt-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--tools-text)}.text-tools .opt-input,.text-tools .opt-select{height:40px;border:1px solid var(--tools-border);border-radius:8px;background:var(--tools-bg);padding:0 10px;font-size:14px;font-weight:500;color:var(--tools-text)}.text-tools .opt-num{width:96px}.text-tools .opt-grid-2{display:grid;gap:14px;grid-template-columns:1fr}.text-tools .check-row{display:flex;flex-wrap:wrap;gap:14px 20px}.text-tools .options-body.check-row{margin-top:14px}.text-tools .opt-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--tools-text)}.text-tools .slug-options{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px}.text-tools .slug-options .opt-field{min-width:140px}.text-tools .tools-msg{margin:0;color:var(--tools-muted);font-size:13px;text-align:center}.text-tools .tools-error{color:#b91c1c}@media (min-width:720px){.text-tools .opt-grid-2{grid-template-columns:1fr 1fr}}@media (max-width:800px){.text-tools .io-grid{grid-template-columns:1fr}}.regex-tools .regex-pattern-wrap{display:flex;align-items:center;gap:0;border:1px solid var(--tools-border);border-radius:10px;background:var(--tools-bg);padding:0 12px;height:44px}.regex-tools .regex-slash{color:var(--tools-muted);font-size:15px;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.regex-tools .regex-pattern-input{flex:1;min-width:0;border:0;background:transparent;padding:0 6px;font-size:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--tools-text)}.regex-tools .regex-pattern-input:focus{outline:none}.regex-tools .quick-templates{padding:14px 16px}.regex-tools .quick-title{margin:0 0 12px;font-size:14px;font-weight:700}.regex-tools .chip-row{display:flex;flex-wrap:wrap;gap:8px}.regex-tools .template-chip{border:1px solid color-mix(in srgb,var(--cd-accent) 35%,var(--tools-border));border-radius:999px;background:color-mix(in srgb,var(--cd-accent) 12%,var(--tools-surface));color:var(--tools-text);font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer}.regex-tools .template-chip:hover{background:color-mix(in srgb,var(--cd-accent) 22%,var(--tools-surface))}.regex-tools .match-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.regex-tools .match-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;font-size:12px;font-weight:700;padding:4px 10px}.regex-tools .match-badge.is-ok{background:#dcfce7;color:#15803d}.regex-tools .match-badge.is-fail{background:#fee2e2;color:#b91c1c}.regex-tools .match-empty{margin:0;color:var(--tools-muted);font-size:13px;line-height:1.55}.regex-tools .match-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.regex-tools .match-item{border:1px solid var(--tools-border);border-radius:10px;background:var(--tools-bg);padding:12px 14px}.regex-tools .match-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;font-size:12px;color:var(--tools-muted)}.regex-tools .match-index{font-weight:700;color:var(--tools-text)}.regex-tools .match-text{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.5;word-break:break-word;color:var(--cd-purple)}.regex-tools .capture-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.regex-tools .capture-item{font-size:12px;color:var(--tools-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.regex-tools .template-search{width:100%;box-sizing:border-box;height:44px;border:1px solid var(--tools-border);border-radius:10px;background:var(--tools-bg);padding:0 14px;font-size:14px;color:var(--tools-text)}.regex-tools .template-search:focus{outline:2px solid color-mix(in srgb,var(--cd-accent) 45%,transparent)}.regex-tools .category-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.regex-tools .category-chip{border:1px solid var(--tools-border);border-radius:999px;background:var(--tools-surface);color:var(--tools-muted);font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer}.regex-tools .category-chip.is-active{border-color:color-mix(in srgb,var(--cd-accent) 50%,var(--tools-border));background:color-mix(in srgb,var(--cd-accent) 18%,var(--tools-surface));color:var(--tools-text)}.regex-tools .template-grid{display:grid;gap:14px;grid-template-columns:1fr}.regex-tools .template-card{padding:16px;position:relative}.regex-tools .template-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.regex-tools .template-name{margin:0;font-size:15px;font-weight:700}.regex-tools .template-tag{display:inline-block;margin-top:6px;border-radius:6px;background:color-mix(in srgb,var(--cd-accent) 18%,var(--tools-surface));color:var(--tools-text);font-size:11px;font-weight:700;padding:2px 8px}.regex-tools .template-desc{margin:0 0 12px;color:var(--tools-muted);font-size:13px;line-height:1.55}.regex-tools .template-example-label,.regex-tools .template-pattern-label{margin:0 0 4px;font-size:12px;color:var(--tools-muted)}.regex-tools .template-pattern{margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;color:var(--cd-purple);word-break:break-word}.regex-tools .template-example{margin:0;font-size:13px;color:var(--tools-text);word-break:break-word}.regex-tools .template-empty{margin:0;padding:24px 16px;text-align:center;color:var(--tools-muted);font-size:14px}.regex-tools .json-block{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.regex-tools .card-pad{padding:16px}.regex-tools .field-label{display:block;margin-bottom:10px;font-size:14px;font-weight:700}@media (min-width:720px){.regex-tools .template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}