@pcircle/footprint 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -122,7 +122,7 @@ container holding the app. Specify either width or maxWidth, and either height o
122
122
  </div>
123
123
  </div>
124
124
  `:r.innerHTML="");const n=document.getElementById("evidence-content");n&&(n.textContent=e.content),gs()}Ae.ontoolresult=e=>{console.log("Received tool result:",e);try{if(!e.content?.find(r=>r.type==="text")?.text)throw new Error(J("evidenceDetail.error.noText"));let i;if(e.structuredContent&&typeof e.structuredContent=="object")i=e.structuredContent;else throw new Error(J("evidenceDetail.error.invalidPayload"));console.log("Parsed evidence data:",i),Zw(i)}catch(t){console.error("Failed to parse tool result:",t),Te(J("evidenceDetail.error.load",{message:t instanceof Error?t.message:J("common.unknownError")})),gs()}};window.goBack=()=>{Ae.callServerTool({name:"list-evidences",arguments:{}}).catch(e=>{console.error("Failed to go back to dashboard:",e),Te(J("evidenceDetail.error.goBack"))})};window.exportEvidence=async()=>{if(!Se){Te(J("evidenceDetail.error.noEvidenceLoaded"));return}try{const e=await Ae.callServerTool({name:"export-evidences",arguments:{evidenceIds:[Se.id],includeGitInfo:!0}});await Ae.updateModelContext({content:[{type:"text",text:`User exported evidence ${Se.id} from detail view`}]}),console.log("Export result:",e),vs(J("evidenceDetail.export.success",{id:Se.id.slice(0,8)}))}catch(e){console.error("Export failed:",e),Te(J("evidenceDetail.error.export",{message:e instanceof Error?e.message:J("common.unknownError")}))}};window.verifyEvidence=async()=>{if(!Se){Te(J("evidenceDetail.error.noEvidenceLoaded"));return}try{const e=await Ae.callServerTool({name:"verify-evidence",arguments:{id:Se.id}});await Ae.updateModelContext({content:[{type:"text",text:`User verified evidence ${Se.id} from detail view`}]}),console.log("Verification result:",e),vs(J("evidenceDetail.verify.success"))}catch(e){console.error("Verification failed:",e),Te(J("evidenceDetail.error.verify",{message:e instanceof Error?e.message:J("common.unknownError")}))}};window.copyToClipboard=async()=>{if(!Se){Te(J("evidenceDetail.error.noText"));return}try{await navigator.clipboard.writeText(Se.content);const e=document.querySelector('button[onclick="copyToClipboard()"]');if(e){const t=e.querySelector("span")?.textContent??e.textContent??"";oa(e,J("common.copied")),e.disabled=!0,setTimeout(()=>{oa(e,t),e.disabled=!1},2e3)}await Ae.updateModelContext({content:[{type:"text",text:`User copied content of evidence ${Se.id} to clipboard`}]}),vs(J("evidenceDetail.copy.success"))}catch(e){console.error("Copy failed:",e),Te(J("evidenceDetail.error.copy"))}};console.log("Connecting detail view to MCP host...");Ae.connect().then(()=>{console.log("Detail view connected to MCP host successfully")}).catch(e=>{console.error("Failed to connect to MCP host:",e),Te(J("evidenceDetail.error.connect")),gs()});</script>
125
- <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:light;--ds-gray-100: #FAFAFA;--ds-gray-200: #EAEAEA;--ds-gray-300: #C9C9C9;--ds-gray-400: #999999;--ds-gray-500: #888888;--ds-gray-600: #666666;--ds-gray-700: #444444;--ds-gray-800: #333333;--ds-gray-900: #1A1A1A;--ds-gray-1000: #000000;--ds-background-100: #FFFFFF;--ds-background-200: #FAFAFA;--ds-blue-100: #EBF5FF;--ds-blue-700: #0070F3;--ds-blue-800: #0060D1;--ds-red-100: #FFF0F0;--ds-red-700: #EE0000;--ds-red-800: #CC0000;--ds-green-100: #EFFBF4;--ds-green-700: #0A7B3E;--ds-amber-100: #FFF7E0;--ds-amber-700: #AB6400;--ds-shadow-sm: 0 1px 2px rgba(0,0,0,.04);--ds-shadow-md: 0 2px 8px rgba(0,0,0,.06);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.08);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: var(--ds-background-100);--surface-muted: rgba(255,255,255,.75);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-700);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-blue-700);--brand-strong: var(--ds-blue-800);--brand-soft: var(--ds-blue-100);--brand-glow: rgba(0,112,243,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-100);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-gray-1000);box-shadow:0 0 0 1px var(--ds-gray-1000)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-gray-800);border-color:var(--ds-gray-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#fff}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running,.activity-badge{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--ds-gray-100)}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-blue-100);border-left-color:var(--ds-blue-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-blue-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #0070f333}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#fff;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.tag-chip.active{background:var(--ds-gray-1000);border-color:var(--ds-gray-1000);color:#fff}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#fff3}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#00000080;backdrop-filter:blur(4px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#f59e0b26;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-gray-1000);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-blue-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-blue-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
125
+ <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:dark;--ds-gray-100: #1a1a1a;--ds-gray-200: rgba(255,255,255,.08);--ds-gray-300: rgba(255,255,255,.14);--ds-gray-400: #555555;--ds-gray-500: #888888;--ds-gray-600: #999999;--ds-gray-700: #b0b0b0;--ds-gray-800: #cccccc;--ds-gray-900: #e0e0e0;--ds-gray-1000: #ededed;--ds-background-100: #161616;--ds-background-200: #0a0a0a;--ds-green-100: rgba(62,207,142,.12);--ds-green-700: #3ecf8e;--ds-green-800: #2bb573;--ds-blue-100: rgba(56,189,248,.1);--ds-blue-700: #38bdf8;--ds-blue-800: #0ea5e9;--ds-red-100: rgba(248,113,113,.1);--ds-red-700: #f87171;--ds-red-800: #ef4444;--ds-amber-100: rgba(251,191,36,.1);--ds-amber-700: #fbbf24;--ds-shadow-sm: 0 1px 3px rgba(0,0,0,.3);--ds-shadow-md: 0 4px 12px rgba(0,0,0,.4);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.5);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: #1c1c1c;--surface-muted: rgba(255,255,255,.04);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-800);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-green-700);--brand-strong: var(--ds-green-800);--brand-soft: var(--ds-green-100);--brand-glow: rgba(62,207,142,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-200);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-green-700);box-shadow:0 0 0 1px var(--ds-green-700)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700);font-weight:600}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-green-800);border-color:var(--ds-green-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#0a0a0a}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);box-shadow:0 0 0 3px var(--ds-green-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:#ffffff08}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-green-700);background:#ffffff05}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-green-100);border-left-color:var(--ds-green-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-green-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #3ecf8e40}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#0a0a0a;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-green-700);background:#3ecf8e14}.tag-chip.active{background:var(--ds-green-700);border-color:var(--ds-green-700);color:#0a0a0a}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#0003}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#000000b3;backdrop-filter:blur(8px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#fbbf2426;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-green-700);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-green-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-green-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
126
126
  </head>
127
127
  <body>
128
128
  <div class="container">
@@ -125,7 +125,7 @@ container holding the app. Specify either width or maxWidth, and either height o
125
125
  ${De(X("evidenceExport.preview.more",{count:t.length-5}))}
126
126
  </div>
127
127
  `)}Lw(t),s&&(s.disabled=!1)}function Lw(e){const t=document.getElementById("file-info"),i=document.getElementById("file-name"),r=document.getElementById("file-count"),n=document.getElementById("file-size");if(!t||!i||!r||!n)return;const o=Vp(),s=new Date().toISOString().slice(0,10),a=o==="recent"?`footprint-evidence-recent-${s}.zip`:`footprint-evidence-export-${s}.zip`,u=e.length*2048;i.textContent=a,r.textContent=e.length.toString(),n.textContent=Hp(u),t.setAttribute("aria-label",Cw(e.length)),t.style.display="block"}function Yp(){const e=document.getElementById("file-info");e&&(e.style.display="none")}function Fw(){const e=document.getElementById("preview-loading"),t=document.getElementById("preview-content"),i=document.getElementById("preview-empty"),r=document.getElementById("download-btn");e&&(e.style.display="block"),t&&t.classList.remove("active"),i&&(i.style.display="none"),r&&(r.disabled=!0),Yp()}ft.ontoolresult=e=>{console.log("Received tool result:",e);try{if(e.structuredContent&&"evidences"in e.structuredContent){Pt=e.structuredContent.evidences,Xp(Pt);return}if(e.structuredContent&&"filename"in e.structuredContent){Fe=e.structuredContent,Fe.success?(Rw(X("evidenceExport.success",{count:Fe.evidenceCount,filename:Fe.filename})),ft.updateModelContext({content:[{type:"text",text:`User successfully exported ${Fe.evidenceCount} evidence files. Export saved as: ${Fe.filename} (checksum: ${Fe.checksum})`}]}).catch(console.error)):Ve(X("evidenceExport.error.failed"));return}console.warn("Unexpected tool result format:",e)}catch(t){console.error("Failed to parse tool result:",t),Ve(X("evidenceExport.error.process",{message:t instanceof Error?t.message:X("common.unknownError")}))}};window.goBack=()=>{ft.callServerTool({name:"list-evidences",arguments:{}}).catch(e=>{console.error("Failed to go back to dashboard:",e),Ve(X("evidenceExport.error.goBack"))})};window.refreshPreview=async()=>{try{Bp(),Fw(),await ft.callServerTool({name:"list-evidences",arguments:{limit:1e3}})}catch(e){console.error("Failed to refresh preview:",e),Ve(X("evidenceExport.error.refresh",{message:e instanceof Error?e.message:X("common.unknownError")}))}};window.downloadExport=async()=>{try{Bp();const e=document.getElementById("download-btn");e&&(e.disabled=!0,ra(e,X("evidenceExport.exporting")));const i=Kp(Pt).map(n=>n.id),r=Gp();if(i.length===0){Ve(X("evidenceExport.preview.empty"));return}await ft.callServerTool({name:"export-evidences",arguments:{evidenceIds:i,includeGitInfo:r}})}catch(e){console.error("Export failed:",e),Ve(X("evidenceExport.error.export",{message:e instanceof Error?e.message:X("common.unknownError")}))}finally{const e=document.getElementById("download-btn");e&&(e.disabled=!1,ra(e,X("common.downloadZip")))}};function Mw(){const e=document.querySelectorAll('input[name="selection"]'),t=document.getElementById("include-git");e.forEach(i=>{i.addEventListener("change",()=>{Pt.length>0&&Xp(Pt)})}),t&&t.addEventListener("change",()=>{console.log("Git info toggle:",Gp())})}console.log("Connecting export view to MCP host...");ft.connect().then(()=>{console.log("Export view connected to MCP host successfully"),Mw(),window.refreshPreview()}).catch(e=>{console.error("Failed to connect to MCP host:",e),Ve(X("evidenceExport.error.connect"))});</script>
128
- <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:light;--ds-gray-100: #FAFAFA;--ds-gray-200: #EAEAEA;--ds-gray-300: #C9C9C9;--ds-gray-400: #999999;--ds-gray-500: #888888;--ds-gray-600: #666666;--ds-gray-700: #444444;--ds-gray-800: #333333;--ds-gray-900: #1A1A1A;--ds-gray-1000: #000000;--ds-background-100: #FFFFFF;--ds-background-200: #FAFAFA;--ds-blue-100: #EBF5FF;--ds-blue-700: #0070F3;--ds-blue-800: #0060D1;--ds-red-100: #FFF0F0;--ds-red-700: #EE0000;--ds-red-800: #CC0000;--ds-green-100: #EFFBF4;--ds-green-700: #0A7B3E;--ds-amber-100: #FFF7E0;--ds-amber-700: #AB6400;--ds-shadow-sm: 0 1px 2px rgba(0,0,0,.04);--ds-shadow-md: 0 2px 8px rgba(0,0,0,.06);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.08);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: var(--ds-background-100);--surface-muted: rgba(255,255,255,.75);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-700);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-blue-700);--brand-strong: var(--ds-blue-800);--brand-soft: var(--ds-blue-100);--brand-glow: rgba(0,112,243,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-100);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-gray-1000);box-shadow:0 0 0 1px var(--ds-gray-1000)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-gray-800);border-color:var(--ds-gray-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#fff}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running,.activity-badge{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--ds-gray-100)}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-blue-100);border-left-color:var(--ds-blue-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-blue-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #0070f333}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#fff;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.tag-chip.active{background:var(--ds-gray-1000);border-color:var(--ds-gray-1000);color:#fff}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#fff3}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#00000080;backdrop-filter:blur(4px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#f59e0b26;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-gray-1000);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-blue-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-blue-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
128
+ <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:dark;--ds-gray-100: #1a1a1a;--ds-gray-200: rgba(255,255,255,.08);--ds-gray-300: rgba(255,255,255,.14);--ds-gray-400: #555555;--ds-gray-500: #888888;--ds-gray-600: #999999;--ds-gray-700: #b0b0b0;--ds-gray-800: #cccccc;--ds-gray-900: #e0e0e0;--ds-gray-1000: #ededed;--ds-background-100: #161616;--ds-background-200: #0a0a0a;--ds-green-100: rgba(62,207,142,.12);--ds-green-700: #3ecf8e;--ds-green-800: #2bb573;--ds-blue-100: rgba(56,189,248,.1);--ds-blue-700: #38bdf8;--ds-blue-800: #0ea5e9;--ds-red-100: rgba(248,113,113,.1);--ds-red-700: #f87171;--ds-red-800: #ef4444;--ds-amber-100: rgba(251,191,36,.1);--ds-amber-700: #fbbf24;--ds-shadow-sm: 0 1px 3px rgba(0,0,0,.3);--ds-shadow-md: 0 4px 12px rgba(0,0,0,.4);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.5);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: #1c1c1c;--surface-muted: rgba(255,255,255,.04);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-800);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-green-700);--brand-strong: var(--ds-green-800);--brand-soft: var(--ds-green-100);--brand-glow: rgba(62,207,142,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-200);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-green-700);box-shadow:0 0 0 1px var(--ds-green-700)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700);font-weight:600}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-green-800);border-color:var(--ds-green-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#0a0a0a}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);box-shadow:0 0 0 3px var(--ds-green-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:#ffffff08}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-green-700);background:#ffffff05}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-green-100);border-left-color:var(--ds-green-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-green-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #3ecf8e40}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#0a0a0a;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-green-700);background:#3ecf8e14}.tag-chip.active{background:var(--ds-green-700);border-color:var(--ds-green-700);color:#0a0a0a}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#0003}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#000000b3;backdrop-filter:blur(8px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#fbbf2426;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-green-700);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-green-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-green-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
129
129
  </head>
130
130
  <body>
131
131
  <div class="container">
@@ -68,7 +68,7 @@
68
68
  <button data-action="detail" data-session-id="${r}" aria-label="${i(o("session.action.openLatestWorkAria",{label:me(t.label,t.latestSessionLabel)}))}">${i(o("context.openLatestWork"))}</button>
69
69
  </div>
70
70
  `}),o("context.noOngoingTopics"))}function qe(e,s=document,t=window){const a=t.atob(e.base64Data),r=new Uint8Array(a.length);for(let h=0;h<a.length;h+=1)r[h]=a.charCodeAt(h);const c=new Blob([r],{type:e.mimeType}),u=t.URL.createObjectURL(c),y=s.createElement("a");y.href=u,y.download=e.filename,y.style.display="none",s.body.append(y),y.click(),y.remove(),t.URL.revokeObjectURL(u)}const Ue=8,je=6,ze=6;function K(e){return!!(e&&typeof e=="object"&&Array.isArray(e.sessions))}function Ze(e){return!!(e&&typeof e=="object"&&typeof e.id=="string"&&typeof e.label=="string"&&typeof e.workspaceKey=="string"&&typeof e.latestSessionId=="string"&&typeof e.latestSessionLabel=="string"&&typeof e.latestStartedAt=="string"&&Array.isArray(e.hosts)&&Array.isArray(e.statuses)&&Array.isArray(e.signals))}function te(e){return!!(e&&typeof e=="object"&&Array.isArray(e.contexts)&&e.contexts.every(Ze)&&typeof e.total=="number")}function _(e){return!!(e&&typeof e=="object"&&Array.isArray(e.results))}function G(e){return!!(e&&typeof e=="object"&&typeof e.summary?.totalTrends=="number"&&Array.isArray(e.trends))}function oe(e){return!!(e&&typeof e=="object"&&typeof e.summary?.headline=="string"&&Array.isArray(e.recentSessions))}function M(e){try{return new Date(e).toLocaleString(Te())}catch{return e}}function f(e,s){return e.getElementById(s)?.value??""}function O(e,s,t){const a=e.getElementById(s);a&&(a.value=t)}function E(e){return{query:f(e,"query-filter").trim(),issueKey:f(e,"issue-key-filter").trim(),host:f(e,"host-filter"),status:f(e,"status-filter"),groupBy:f(e,"group-by-filter")||"issue"}}function P(e,s){s.query!==void 0&&O(e,"query-filter",s.query),s.issueKey!==void 0&&O(e,"issue-key-filter",s.issueKey),s.host!==void 0&&O(e,"host-filter",s.host),s.status!==void 0&&O(e,"status-filter",s.status),s.groupBy!==void 0&&O(e,"group-by-filter",s.groupBy)}function $(e){const s=e.query||void 0,t=e.issueKey||void 0,a=e.host||void 0,r=e.status||void 0;return{sessionFilters:{query:s,issueKey:t,host:a,status:r},trendFilters:{query:s,issueKey:t,host:a,status:r,groupBy:e.groupBy},handoffFilters:{query:s,issueKey:t,host:a,status:r,groupBy:e.groupBy},searchFilters:{query:s,host:a,status:r},exportFilters:{query:s,issueKey:t,host:a,status:r,groupBy:e.groupBy}}}function W(e){return JSON.stringify(e)}function ne(e,s,t,a){const r=e.getElementById(s);r&&(r.disabled=t,r.textContent=a.busy)}function A(e,s){const t=e.getElementById(s.id);if(!t)return;const a=s.loaded<s.total;t.hidden=!a&&!s.loading,t.disabled=s.loading||!a,t.textContent=s.loading?s.busyLabel:s.idleLabel}function Ke(e,s=document,t=window,a=r=>qe(r,s,t)){let r=!1,c=!1,u=!1,y=!1,h=!1,S=0,x=0,L=W(E(s));const b={items:[],page:{limit:Ue,total:0,loaded:0,loading:!1}},m={items:[],page:{limit:ze,total:0,loaded:0,loading:!1}},q={items:[],total:0},g={report:null,page:{limit:je,total:0,loaded:0,loading:!1}};function ge(){b.items=[],b.page.total=0,b.page.loaded=0,b.page.loading=!1,m.items=[],m.page.total=0,m.page.loaded=0,m.page.loading=!1,g.report=null,g.page.total=0,g.page.loaded=0,g.page.loading=!1}function U(n,d="replace"){r=!0;const l=n.total??n.sessions.length;b.items=d==="append"?[...b.items,...n.sessions]:[...n.sessions],b.page.total=l,b.page.loaded=b.items.length,fe(b.items,l)}function X(n){c=!0,q.items=[...n.contexts],q.total=n.total,xe(q.items,q.total)}function j(n,d="replace"){y=!0;const l=n.total??n.results.length;m.items=d==="append"?[...m.items,...n.results]:[...n.results],m.page.total=l,m.page.loaded=m.items.length,De(m.items,l)}function z(n,d="replace"){u=!0;const l=d==="append"&&g.report?[...g.report.trends,...n.trends]:[...n.trends];g.report={...n,trends:l},g.page.total=n.total??n.summary.totalTrends,g.page.loaded=l.length,ye(g.report)}async function C(n){S+=1;try{return await e.callServerTool(n)}finally{S-=1}}function Z(n){const d=s.getElementById("error");d&&(d.innerHTML=Fe(n))}function ve(n){const d=s.getElementById("error");d&&(d.innerHTML=Ie(n))}function fe(n,d){const l=s.getElementById("summary"),p=s.getElementById("rows"),k=s.getElementById("error");!l||!p||(k&&(k.innerHTML=""),l.textContent=d===0?o("session.dashboard.summary.noWork"):o("session.dashboard.summary.showingWork",{visible:n.length,total:d}),p.innerHTML=Be(n,M),A(s,{id:"load-more-sessions",loaded:b.page.loaded,total:b.page.total,loading:b.page.loading,idleLabel:o("sessionDashboard.loadMoreSessions"),busyLabel:o("session.dashboard.loading.work")}))}function De(n,d){const l=s.getElementById("search-summary"),p=s.getElementById("search-results");!l||!p||(l.textContent=d===0?o("session.dashboard.search.noMatches"):o("session.dashboard.search.showingMatches",{visible:n.length,total:d}),p.innerHTML=Me(n,M),A(s,{id:"load-more-search",loaded:m.page.loaded,total:m.page.total,loading:m.page.loading,idleLabel:o("sessionDashboard.loadMoreSearch"),busyLabel:o("session.dashboard.loading.results")}))}function xe(n,d){const l=s.getElementById("context-summary"),p=s.getElementById("context-results");!l||!p||(l.textContent=d===0?o("session.dashboard.context.noTopics"):o("session.dashboard.context.showingTopics",{visible:n.length,total:d}),p.innerHTML=He(n,M))}function de(){const n=s.getElementById("search-summary"),d=s.getElementById("search-results");!n||!d||(n.textContent=o("session.dashboard.search.placeholderSummary"),d.innerHTML=`<li class="muted">${o("sessionDashboard.search.empty")}</li>`,m.page.total=0,m.page.loaded=0,m.page.loading=!1,A(s,{id:"load-more-search",loaded:0,total:0,loading:!1,idleLabel:o("sessionDashboard.loadMoreSearch"),busyLabel:o("session.dashboard.loading.results")}))}function ye(n){const d=s.getElementById("trend-summary"),l=s.getElementById("trend-results");if(!d||!l)return;const p=n.summary.activeBlockers??0,k=n.summary.recoveredTrends??0,v=n.summary.regressedTrends??0,D=n.total??n.summary.totalTrends;d.textContent=D===0?o("session.dashboard.trends.none"):o("session.dashboard.trends.summary",{visible:n.trends.length,total:D,active:p,recovered:k,regressed:v,grouping:n.summary.groupBy==="family"?o("session.dashboard.trends.group.family"):o("session.dashboard.trends.group.issue")}),l.innerHTML=$e(n.trends,M),A(s,{id:"load-more-trends",loaded:g.page.loaded,total:g.page.total,loading:g.page.loading,idleLabel:o("sessionDashboard.loadMoreTrends"),busyLabel:o("session.dashboard.loading.trends")})}function ee(n){h=!0;const d=s.getElementById("handoff-summary"),l=s.getElementById("handoff-results");if(!d||!l)return;const p=n.summary.latestSessionLabel&&n.summary.latestStartedAt?` ${o("session.dashboard.handoff.latest",{label:R(n.summary.latestSessionLabel),startedAt:M(n.summary.latestStartedAt)})}`:n.summary.latestSessionLabel?` ${o("session.dashboard.handoff.latestNoTime",{label:R(n.summary.latestSessionLabel)})}`:"";d.textContent=n.summary.matchingSessions===0?o("context.nothingUrgent"):o("session.dashboard.handoff.summary",{sessions:n.summary.matchingSessions,blockers:n.summary.blockingTrends,latest:p.trim()}),l.innerHTML=Oe({blockers:n.blockers,recoveries:n.recoveries,followUps:n.followUps,recentSessions:n.recentSessions},M)}e.ontoolresult=n=>{if(!(S>0)){if(K(n.structuredContent)){r=!0,P(s,{query:n.structuredContent.filters?.query??f(s,"query-filter"),issueKey:n.structuredContent.filters?.issueKey??f(s,"issue-key-filter"),host:n.structuredContent.filters?.host??f(s,"host-filter"),status:n.structuredContent.filters?.status??f(s,"status-filter")}),L=W(E(s)),U(n.structuredContent,"replace");return}if(te(n.structuredContent)){c=!0,X(n.structuredContent);return}if(G(n.structuredContent)){u=!0,P(s,{query:n.structuredContent.filters?.query??f(s,"query-filter"),issueKey:n.structuredContent.filters?.issueKey??f(s,"issue-key-filter"),host:n.structuredContent.filters?.host??f(s,"host-filter"),status:n.structuredContent.filters?.status??f(s,"status-filter"),groupBy:n.structuredContent.filters?.groupBy??f(s,"group-by-filter")}),L=W(E(s)),z(n.structuredContent,"replace");return}if(oe(n.structuredContent)){h=!0,P(s,{query:n.structuredContent.filters?.query??f(s,"query-filter"),issueKey:n.structuredContent.filters?.issueKey??f(s,"issue-key-filter"),host:n.structuredContent.filters?.host??f(s,"host-filter"),status:n.structuredContent.filters?.status??f(s,"status-filter"),groupBy:n.structuredContent.filters?.groupBy??f(s,"group-by-filter")}),L=W(E(s)),ee(n.structuredContent);return}_(n.structuredContent)&&(y=!0,P(s,{query:n.structuredContent.query??f(s,"query-filter"),host:n.structuredContent.filters?.host??f(s,"host-filter"),status:n.structuredContent.filters?.status??f(s,"status-filter")}),L=W(E(s)),j(n.structuredContent,"replace"))}};async function I(){const n=E(s);L=W(n),x+=1;const d=x;ge();const{sessionFilters:l,trendFilters:p,handoffFilters:k,searchFilters:v}=$(n);ne(s,"load-more-sessions",!0,{idle:o("sessionDashboard.loadMoreSessions"),busy:o("session.dashboard.loading.work")}),ne(s,"load-more-trends",!0,{idle:o("sessionDashboard.loadMoreTrends"),busy:o("session.dashboard.loading.trends")}),b.page.loading=!0,g.page.loading=!0;const D=[C({name:"list-contexts",arguments:{}}).then(T=>{d===x&&te(T.structuredContent)&&X(T.structuredContent)}),C({name:"list-sessions",arguments:{...l,limit:b.page.limit,offset:0}}).then(T=>{d===x&&K(T.structuredContent)&&U(T.structuredContent,"replace")}),C({name:"get-history-trends",arguments:{...p,limit:g.page.limit,offset:0}}).then(T=>{d===x&&G(T.structuredContent)&&z(T.structuredContent,"replace")}),C({name:"get-history-handoff",arguments:k}).then(T=>{d===x&&oe(T.structuredContent)&&ee(T.structuredContent)})];n.query?(ne(s,"load-more-search",!0,{idle:o("sessionDashboard.loadMoreSearch"),busy:o("session.dashboard.loading.results")}),m.page.loading=!0,D.push(C({name:"search-history",arguments:{...v,limit:m.page.limit,offset:0}}).then(T=>{d===x&&_(T.structuredContent)&&j(T.structuredContent,"replace")}))):(y=!1,de());try{await Promise.all(D)}finally{d===x&&(b.page.loading=!1,g.page.loading=!1,m.page.loading=!1,A(s,{id:"load-more-sessions",loaded:b.page.loaded,total:b.page.total,loading:!1,idleLabel:o("sessionDashboard.loadMoreSessions"),busyLabel:o("session.dashboard.loading.work")}),A(s,{id:"load-more-trends",loaded:g.page.loaded,total:g.page.total,loading:!1,idleLabel:o("sessionDashboard.loadMoreTrends"),busyLabel:o("session.dashboard.loading.trends")}),A(s,{id:"load-more-search",loaded:m.page.loaded,total:m.page.total,loading:!1,idleLabel:o("sessionDashboard.loadMoreSearch"),busyLabel:o("session.dashboard.loading.results")}))}}const le=async n=>{const d=n.target?.closest("[data-action]");if(!d)return;const l=d.getAttribute("data-action");if(l)try{if(l==="detail"){const p=d.getAttribute("data-session-id");if(!p)return;await e.callServerTool({name:"get-session",arguments:{id:p}});return}if(l==="ingest"){const p=d.getAttribute("data-session-id");if(!p)return;const k=d.getAttribute("data-session-status")??"";if(!be(k)){Z(o("session.reingest.notReady"));return}await e.callServerTool({name:"reingest-session",arguments:{id:p}}),await I();return}if(l==="set-query"){P(s,{query:d.getAttribute("data-query")??""}),await I();return}if(l==="set-issue-key"){P(s,{issueKey:d.getAttribute("data-issue-key")??""}),await I();return}if(l==="focus-family"){P(s,{query:d.getAttribute("data-query")??"",issueKey:"",groupBy:"family"}),await I();return}if(l==="set-host"){P(s,{host:d.getAttribute("data-host")??""}),await I();return}if(l==="clear-filters"){P(s,{query:"",issueKey:"",host:"",status:"",groupBy:"issue"}),await I();return}if(l==="export-filtered"){const p=E(s),{exportFilters:k}=$(p),D=(await e.callServerTool({name:"export-sessions",arguments:{...k,outputMode:"base64"}})).structuredContent;if(!D?.base64Data||!D.filename)throw new Error(o("session.export.noArchive"));a({filename:D.filename,base64Data:D.base64Data,mimeType:"application/zip"}),ve(o("session.dashboard.export.success",{count:D.sessionCount??0,filename:D.filename??""}));return}if(l==="load-more-sessions"){if(b.page.loading)return;const p=E(s);if(W(p)!==L){await I();return}const k=x;b.page.loading=!0,A(s,{id:"load-more-sessions",loaded:b.page.loaded,total:b.page.total,loading:!0,idleLabel:o("sessionDashboard.loadMoreSessions"),busyLabel:o("session.dashboard.loading.work")});const{sessionFilters:v}=$(p),D=await C({name:"list-sessions",arguments:{...v,limit:b.page.limit,offset:b.page.loaded}});if(k!==x)return;K(D.structuredContent)&&U(D.structuredContent,"append"),b.page.loading=!1,A(s,{id:"load-more-sessions",loaded:b.page.loaded,total:b.page.total,loading:!1,idleLabel:o("sessionDashboard.loadMoreSessions"),busyLabel:o("session.dashboard.loading.work")});return}if(l==="load-more-trends"){if(g.page.loading)return;const p=E(s);if(W(p)!==L){await I();return}const k=x;g.page.loading=!0,A(s,{id:"load-more-trends",loaded:g.page.loaded,total:g.page.total,loading:!0,idleLabel:o("sessionDashboard.loadMoreTrends"),busyLabel:o("session.dashboard.loading.trends")});const{trendFilters:v}=$(p),D=await C({name:"get-history-trends",arguments:{...v,limit:g.page.limit,offset:g.page.loaded}});if(k!==x)return;G(D.structuredContent)&&z(D.structuredContent,"append"),g.page.loading=!1,A(s,{id:"load-more-trends",loaded:g.page.loaded,total:g.page.total,loading:!1,idleLabel:o("sessionDashboard.loadMoreTrends"),busyLabel:o("session.dashboard.loading.trends")});return}if(l==="load-more-search"){if(m.page.loading)return;const p=E(s);if(!p.query)return;if(W(p)!==L){await I();return}const k=x;m.page.loading=!0,A(s,{id:"load-more-search",loaded:m.page.loaded,total:m.page.total,loading:!0,idleLabel:o("sessionDashboard.loadMoreSearch"),busyLabel:o("session.dashboard.loading.results")});const{searchFilters:v}=$(p),D=await C({name:"search-history",arguments:{...v,limit:m.page.limit,offset:m.page.loaded}});if(k!==x)return;_(D.structuredContent)&&j(D.structuredContent,"append"),m.page.loading=!1,A(s,{id:"load-more-search",loaded:m.page.loaded,total:m.page.total,loading:!1,idleLabel:o("sessionDashboard.loadMoreSearch"),busyLabel:o("session.dashboard.loading.results")})}}catch(p){Z(p instanceof Error?p.message:o("session.dashboard.error.action"))}},ce=async n=>{n.preventDefault();try{await I()}catch(d){Z(d instanceof Error?d.message:o("session.dashboard.error.filters"))}};return s.addEventListener("click",le),s.getElementById("filter-form")?.addEventListener("submit",ce),e.connect().then(async()=>{const n=E(s),{sessionFilters:d,trendFilters:l,handoffFilters:p,searchFilters:k}=$(n);if(!c){const v=await C({name:"list-contexts",arguments:{}});te(v.structuredContent)&&X(v.structuredContent)}if(!r){const v=await C({name:"list-sessions",arguments:{...d,limit:b.page.limit,offset:0}});K(v.structuredContent)&&U(v.structuredContent,"replace")}if(!u){const v=await C({name:"get-history-trends",arguments:{...l,limit:g.page.limit,offset:0}});G(v.structuredContent)&&z(v.structuredContent,"replace")}if(!h){const v=await C({name:"get-history-handoff",arguments:p});oe(v.structuredContent)&&ee(v.structuredContent)}if(!y)if(n.query){const v=await C({name:"search-history",arguments:{...k,limit:m.page.limit,offset:0}});_(v.structuredContent)&&j(v.structuredContent,"replace")}else de()}).catch(n=>{Z(n instanceof Error?n.message:o("session.dashboard.error.connect"))}),()=>{s.removeEventListener("click",le),s.getElementById("filter-form")?.removeEventListener("submit",ce)}}function _e(e,s){const t=new URL("./session-detail-live.html",s.location.href);return t.searchParams.set("id",e),t.toString()}async function Ge(e){const s=await e.text();let t=null;if(s.trim())try{t=JSON.parse(s)}catch(a){throw(e.headers.get("content-type")??"").includes("text/html")||s.trimStart().startsWith("<!DOCTYPE")?new Error(o("liveDemo.error.hostRequired")):new Error(a instanceof Error?o("liveDemo.error.invalidJson",{message:a.message}):o("liveDemo.error.invalidJson",{message:o("common.unknownError")}))}if(!e.ok){const a=t&&typeof t=="object"&&typeof t.error=="string"?t.error:e.status===404||e.status===405?o("liveDemo.error.hostRequired"):`${e.status} ${e.statusText}`;throw new Error(a)}return t}async function Ve(e){const s=await fetch("/api/tool",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)});return Ge(s)}function Je(e=window){const s={ontoolresult:null,async connect(){},async callServerTool(t){if(t.name==="get-session"&&typeof t.arguments.id=="string")return e.location.assign(_e(t.arguments.id,e)),{structuredContent:{}};const a=await Ve(t);return s.ontoolresult?.(a),a}};return s}Ae();Ke(Je());</script>
71
- <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:light;--ds-gray-100: #FAFAFA;--ds-gray-200: #EAEAEA;--ds-gray-300: #C9C9C9;--ds-gray-400: #999999;--ds-gray-500: #888888;--ds-gray-600: #666666;--ds-gray-700: #444444;--ds-gray-800: #333333;--ds-gray-900: #1A1A1A;--ds-gray-1000: #000000;--ds-background-100: #FFFFFF;--ds-background-200: #FAFAFA;--ds-blue-100: #EBF5FF;--ds-blue-700: #0070F3;--ds-blue-800: #0060D1;--ds-red-100: #FFF0F0;--ds-red-700: #EE0000;--ds-red-800: #CC0000;--ds-green-100: #EFFBF4;--ds-green-700: #0A7B3E;--ds-amber-100: #FFF7E0;--ds-amber-700: #AB6400;--ds-shadow-sm: 0 1px 2px rgba(0,0,0,.04);--ds-shadow-md: 0 2px 8px rgba(0,0,0,.06);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.08);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: var(--ds-background-100);--surface-muted: rgba(255,255,255,.75);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-700);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-blue-700);--brand-strong: var(--ds-blue-800);--brand-soft: var(--ds-blue-100);--brand-glow: rgba(0,112,243,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-100);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-gray-1000);box-shadow:0 0 0 1px var(--ds-gray-1000)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-gray-800);border-color:var(--ds-gray-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#fff}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running,.activity-badge{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--ds-gray-100)}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-blue-100);border-left-color:var(--ds-blue-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-blue-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #0070f333}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#fff;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.tag-chip.active{background:var(--ds-gray-1000);border-color:var(--ds-gray-1000);color:#fff}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#fff3}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#00000080;backdrop-filter:blur(4px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#f59e0b26;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-gray-1000);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-blue-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-blue-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
71
+ <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:dark;--ds-gray-100: #1a1a1a;--ds-gray-200: rgba(255,255,255,.08);--ds-gray-300: rgba(255,255,255,.14);--ds-gray-400: #555555;--ds-gray-500: #888888;--ds-gray-600: #999999;--ds-gray-700: #b0b0b0;--ds-gray-800: #cccccc;--ds-gray-900: #e0e0e0;--ds-gray-1000: #ededed;--ds-background-100: #161616;--ds-background-200: #0a0a0a;--ds-green-100: rgba(62,207,142,.12);--ds-green-700: #3ecf8e;--ds-green-800: #2bb573;--ds-blue-100: rgba(56,189,248,.1);--ds-blue-700: #38bdf8;--ds-blue-800: #0ea5e9;--ds-red-100: rgba(248,113,113,.1);--ds-red-700: #f87171;--ds-red-800: #ef4444;--ds-amber-100: rgba(251,191,36,.1);--ds-amber-700: #fbbf24;--ds-shadow-sm: 0 1px 3px rgba(0,0,0,.3);--ds-shadow-md: 0 4px 12px rgba(0,0,0,.4);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.5);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: #1c1c1c;--surface-muted: rgba(255,255,255,.04);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-800);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-green-700);--brand-strong: var(--ds-green-800);--brand-soft: var(--ds-green-100);--brand-glow: rgba(62,207,142,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-200);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-green-700);box-shadow:0 0 0 1px var(--ds-green-700)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700);font-weight:600}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-green-800);border-color:var(--ds-green-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#0a0a0a}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);box-shadow:0 0 0 3px var(--ds-green-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:#ffffff08}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-green-700);background:#ffffff05}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-green-100);border-left-color:var(--ds-green-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-green-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #3ecf8e40}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#0a0a0a;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-green-700);background:#3ecf8e14}.tag-chip.active{background:var(--ds-green-700);border-color:var(--ds-green-700);color:#0a0a0a}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#0003}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#000000b3;backdrop-filter:blur(8px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#fbbf2426;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-green-700);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-green-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-green-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
72
72
  </head>
73
73
  <body>
74
74
  <div class="shell">
@@ -166,7 +166,7 @@ container holding the app. Specify either width or maxWidth, and either height o
166
166
  <button data-action="detail" data-session-id="${n}" aria-label="${k(b("session.action.openLatestWorkAria",{label:Ca(i.label,i.latestSessionLabel)}))}">${k(b("context.openLatestWork"))}</button>
167
167
  </div>
168
168
  `}),b("context.noOngoingTopics"))}function TS(e,t=document,i=window){const r=i.atob(e.base64Data),n=new Uint8Array(r.length);for(let l=0;l<r.length;l+=1)n[l]=r.charCodeAt(l);const o=new Blob([n],{type:e.mimeType}),s=i.URL.createObjectURL(o),a=t.createElement("a");a.href=s,a.download=e.filename,a.style.display="none",t.body.append(a),a.click(),a.remove(),i.URL.revokeObjectURL(s)}const OS=8,PS=6,NS=6;function jn(e){return!!(e&&typeof e=="object"&&Array.isArray(e.sessions))}function ES(e){return!!(e&&typeof e=="object"&&typeof e.id=="string"&&typeof e.label=="string"&&typeof e.workspaceKey=="string"&&typeof e.latestSessionId=="string"&&typeof e.latestSessionLabel=="string"&&typeof e.latestStartedAt=="string"&&Array.isArray(e.hosts)&&Array.isArray(e.statuses)&&Array.isArray(e.signals))}function ar(e){return!!(e&&typeof e=="object"&&Array.isArray(e.contexts)&&e.contexts.every(ES)&&typeof e.total=="number")}function An(e){return!!(e&&typeof e=="object"&&Array.isArray(e.results))}function Cn(e){return!!(e&&typeof e=="object"&&typeof e.summary?.totalTrends=="number"&&Array.isArray(e.trends))}function lr(e){return!!(e&&typeof e=="object"&&typeof e.summary?.headline=="string"&&Array.isArray(e.recentSessions))}function gt(e){try{return new Date(e).toLocaleString(pS())}catch{return e}}function oe(e,t){return e.getElementById(t)?.value??""}function Ct(e,t,i){const r=e.getElementById(t);r&&(r.value=i)}function Ae(e){return{query:oe(e,"query-filter").trim(),issueKey:oe(e,"issue-key-filter").trim(),host:oe(e,"host-filter"),status:oe(e,"status-filter"),groupBy:oe(e,"group-by-filter")||"issue"}}function qe(e,t){t.query!==void 0&&Ct(e,"query-filter",t.query),t.issueKey!==void 0&&Ct(e,"issue-key-filter",t.issueKey),t.host!==void 0&&Ct(e,"host-filter",t.host),t.status!==void 0&&Ct(e,"status-filter",t.status),t.groupBy!==void 0&&Ct(e,"group-by-filter",t.groupBy)}function bt(e){const t=e.query||void 0,i=e.issueKey||void 0,r=e.host||void 0,n=e.status||void 0;return{sessionFilters:{query:t,issueKey:i,host:r,status:n},trendFilters:{query:t,issueKey:i,host:r,status:n,groupBy:e.groupBy},handoffFilters:{query:t,issueKey:i,host:r,status:n,groupBy:e.groupBy},searchFilters:{query:t,host:r,status:n},exportFilters:{query:t,issueKey:i,host:r,status:n,groupBy:e.groupBy}}}function Je(e){return JSON.stringify(e)}function ur(e,t,i,r){const n=e.getElementById(t);n&&(n.disabled=i,n.textContent=r.busy)}function xe(e,t){const i=e.getElementById(t.id);if(!i)return;const r=t.loaded<t.total;i.hidden=!r&&!t.loading,i.disabled=t.loading||!r,i.textContent=t.loading?t.busyLabel:t.idleLabel}function ZS(e,t=document,i=window,r=n=>TS(n,t,i)){let n=!1,o=!1,s=!1,a=!1,l=!1,u=0,c=0,m=Je(Ae(t));const p={items:[],page:{limit:OS,total:0,loaded:0,loading:!1}},h={items:[],page:{limit:NS,total:0,loaded:0,loading:!1}},S={items:[],total:0},D={report:null,page:{limit:PS,total:0,loaded:0,loading:!1}};function ze(){p.items=[],p.page.total=0,p.page.loaded=0,p.page.loading=!1,h.items=[],h.page.total=0,h.page.loaded=0,h.page.loading=!1,D.report=null,D.page.total=0,D.page.loaded=0,D.page.loading=!1}function je(y,T="replace"){n=!0;const U=y.total??y.sessions.length;p.items=T==="append"?[...p.items,...y.sessions]:[...y.sessions],p.page.total=U,p.page.loaded=p.items.length,Of(p.items,U)}function F(y){o=!0,S.items=[...y.contexts],S.total=y.total,Nf(S.items,S.total)}function E(y,T="replace"){a=!0;const U=y.total??y.results.length;h.items=T==="append"?[...h.items,...y.results]:[...y.results],h.page.total=U,h.page.loaded=h.items.length,Pf(h.items,U)}function R(y,T="replace"){s=!0;const U=T==="append"&&D.report?[...D.report.trends,...y.trends]:[...y.trends];D.report={...y,trends:U},D.page.total=y.total??y.summary.totalTrends,D.page.loaded=U.length,Ef(D.report)}async function H(y){u+=1;try{return await e.callServerTool(y)}finally{u-=1}}function jt(y){const T=t.getElementById("error");T&&(T.innerHTML=bS(y))}function nr(y){const T=t.getElementById("error");T&&(T.innerHTML=yS(y))}function Of(y,T){const U=t.getElementById("summary"),A=t.getElementById("rows"),ue=t.getElementById("error");!U||!A||(ue&&(ue.innerHTML=""),U.textContent=T===0?b("session.dashboard.summary.noWork"):b("session.dashboard.summary.showingWork",{visible:y.length,total:T}),A.innerHTML=wS(y,gt),xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:p.page.loading,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")}))}function Pf(y,T){const U=t.getElementById("search-summary"),A=t.getElementById("search-results");!U||!A||(U.textContent=T===0?b("session.dashboard.search.noMatches"):b("session.dashboard.search.showingMatches",{visible:y.length,total:T}),A.innerHTML=SS(y,gt),xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:h.page.loading,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")}))}function Nf(y,T){const U=t.getElementById("context-summary"),A=t.getElementById("context-results");!U||!A||(U.textContent=T===0?b("session.dashboard.context.noTopics"):b("session.dashboard.context.showingTopics",{visible:y.length,total:T}),A.innerHTML=zS(y,gt))}function Vs(){const y=t.getElementById("search-summary"),T=t.getElementById("search-results");!y||!T||(y.textContent=b("session.dashboard.search.placeholderSummary"),T.innerHTML=`<li class="muted">${b("sessionDashboard.search.empty")}</li>`,h.page.total=0,h.page.loaded=0,h.page.loading=!1,xe(t,{id:"load-more-search",loaded:0,total:0,loading:!1,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")}))}function Ef(y){const T=t.getElementById("trend-summary"),U=t.getElementById("trend-results");if(!T||!U)return;const A=y.summary.activeBlockers??0,ue=y.summary.recoveredTrends??0,G=y.summary.regressedTrends??0,ae=y.total??y.summary.totalTrends;T.textContent=ae===0?b("session.dashboard.trends.none"):b("session.dashboard.trends.summary",{visible:y.trends.length,total:ae,active:A,recovered:ue,regressed:G,grouping:y.summary.groupBy==="family"?b("session.dashboard.trends.group.family"):b("session.dashboard.trends.group.issue")}),U.innerHTML=IS(y.trends,gt),xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:D.page.loading,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")})}function ir(y){l=!0;const T=t.getElementById("handoff-summary"),U=t.getElementById("handoff-results");if(!T||!U)return;const A=y.summary.latestSessionLabel&&y.summary.latestStartedAt?` ${b("session.dashboard.handoff.latest",{label:Me(y.summary.latestSessionLabel),startedAt:gt(y.summary.latestStartedAt)})}`:y.summary.latestSessionLabel?` ${b("session.dashboard.handoff.latestNoTime",{label:Me(y.summary.latestSessionLabel)})}`:"";T.textContent=y.summary.matchingSessions===0?b("context.nothingUrgent"):b("session.dashboard.handoff.summary",{sessions:y.summary.matchingSessions,blockers:y.summary.blockingTrends,latest:A.trim()}),U.innerHTML=DS({blockers:y.blockers,recoveries:y.recoveries,followUps:y.followUps,recentSessions:y.recentSessions},gt)}e.ontoolresult=y=>{if(!(u>0)){if(jn(y.structuredContent)){n=!0,qe(t,{query:y.structuredContent.filters?.query??oe(t,"query-filter"),issueKey:y.structuredContent.filters?.issueKey??oe(t,"issue-key-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter")}),m=Je(Ae(t)),je(y.structuredContent,"replace");return}if(ar(y.structuredContent)){o=!0,F(y.structuredContent);return}if(Cn(y.structuredContent)){s=!0,qe(t,{query:y.structuredContent.filters?.query??oe(t,"query-filter"),issueKey:y.structuredContent.filters?.issueKey??oe(t,"issue-key-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter"),groupBy:y.structuredContent.filters?.groupBy??oe(t,"group-by-filter")}),m=Je(Ae(t)),R(y.structuredContent,"replace");return}if(lr(y.structuredContent)){l=!0,qe(t,{query:y.structuredContent.filters?.query??oe(t,"query-filter"),issueKey:y.structuredContent.filters?.issueKey??oe(t,"issue-key-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter"),groupBy:y.structuredContent.filters?.groupBy??oe(t,"group-by-filter")}),m=Je(Ae(t)),ir(y.structuredContent);return}An(y.structuredContent)&&(a=!0,qe(t,{query:y.structuredContent.query??oe(t,"query-filter"),host:y.structuredContent.filters?.host??oe(t,"host-filter"),status:y.structuredContent.filters?.status??oe(t,"status-filter")}),m=Je(Ae(t)),E(y.structuredContent,"replace"))}};async function Le(){const y=Ae(t);m=Je(y),c+=1;const T=c;ze();const{sessionFilters:U,trendFilters:A,handoffFilters:ue,searchFilters:G}=bt(y);ur(t,"load-more-sessions",!0,{idle:b("sessionDashboard.loadMoreSessions"),busy:b("session.dashboard.loading.work")}),ur(t,"load-more-trends",!0,{idle:b("sessionDashboard.loadMoreTrends"),busy:b("session.dashboard.loading.trends")}),p.page.loading=!0,D.page.loading=!0;const ae=[H({name:"list-contexts",arguments:{}}).then(ye=>{T===c&&ar(ye.structuredContent)&&F(ye.structuredContent)}),H({name:"list-sessions",arguments:{...U,limit:p.page.limit,offset:0}}).then(ye=>{T===c&&jn(ye.structuredContent)&&je(ye.structuredContent,"replace")}),H({name:"get-history-trends",arguments:{...A,limit:D.page.limit,offset:0}}).then(ye=>{T===c&&Cn(ye.structuredContent)&&R(ye.structuredContent,"replace")}),H({name:"get-history-handoff",arguments:ue}).then(ye=>{T===c&&lr(ye.structuredContent)&&ir(ye.structuredContent)})];y.query?(ur(t,"load-more-search",!0,{idle:b("sessionDashboard.loadMoreSearch"),busy:b("session.dashboard.loading.results")}),h.page.loading=!0,ae.push(H({name:"search-history",arguments:{...G,limit:h.page.limit,offset:0}}).then(ye=>{T===c&&An(ye.structuredContent)&&E(ye.structuredContent,"replace")}))):(a=!1,Vs());try{await Promise.all(ae)}finally{T===c&&(p.page.loading=!1,D.page.loading=!1,h.page.loading=!1,xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")}),xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")}),xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")}))}}const Ks=async y=>{const T=y.target?.closest("[data-action]");if(!T)return;const U=T.getAttribute("data-action");if(U)try{if(U==="detail"){const A=T.getAttribute("data-session-id");if(!A)return;await e.callServerTool({name:"get-session",arguments:{id:A}});return}if(U==="ingest"){const A=T.getAttribute("data-session-id");if(!A)return;const ue=T.getAttribute("data-session-status")??"";if(!Tf(ue)){jt(b("session.reingest.notReady"));return}await e.callServerTool({name:"reingest-session",arguments:{id:A}}),await Le();return}if(U==="set-query"){qe(t,{query:T.getAttribute("data-query")??""}),await Le();return}if(U==="set-issue-key"){qe(t,{issueKey:T.getAttribute("data-issue-key")??""}),await Le();return}if(U==="focus-family"){qe(t,{query:T.getAttribute("data-query")??"",issueKey:"",groupBy:"family"}),await Le();return}if(U==="set-host"){qe(t,{host:T.getAttribute("data-host")??""}),await Le();return}if(U==="clear-filters"){qe(t,{query:"",issueKey:"",host:"",status:"",groupBy:"issue"}),await Le();return}if(U==="export-filtered"){const A=Ae(t),{exportFilters:ue}=bt(A),ae=(await e.callServerTool({name:"export-sessions",arguments:{...ue,outputMode:"base64"}})).structuredContent;if(!ae?.base64Data||!ae.filename)throw new Error(b("session.export.noArchive"));r({filename:ae.filename,base64Data:ae.base64Data,mimeType:"application/zip"}),nr(b("session.dashboard.export.success",{count:ae.sessionCount??0,filename:ae.filename??""}));return}if(U==="load-more-sessions"){if(p.page.loading)return;const A=Ae(t);if(Je(A)!==m){await Le();return}const ue=c;p.page.loading=!0,xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:!0,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")});const{sessionFilters:G}=bt(A),ae=await H({name:"list-sessions",arguments:{...G,limit:p.page.limit,offset:p.page.loaded}});if(ue!==c)return;jn(ae.structuredContent)&&je(ae.structuredContent,"append"),p.page.loading=!1,xe(t,{id:"load-more-sessions",loaded:p.page.loaded,total:p.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSessions"),busyLabel:b("session.dashboard.loading.work")});return}if(U==="load-more-trends"){if(D.page.loading)return;const A=Ae(t);if(Je(A)!==m){await Le();return}const ue=c;D.page.loading=!0,xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:!0,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")});const{trendFilters:G}=bt(A),ae=await H({name:"get-history-trends",arguments:{...G,limit:D.page.limit,offset:D.page.loaded}});if(ue!==c)return;Cn(ae.structuredContent)&&R(ae.structuredContent,"append"),D.page.loading=!1,xe(t,{id:"load-more-trends",loaded:D.page.loaded,total:D.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreTrends"),busyLabel:b("session.dashboard.loading.trends")});return}if(U==="load-more-search"){if(h.page.loading)return;const A=Ae(t);if(!A.query)return;if(Je(A)!==m){await Le();return}const ue=c;h.page.loading=!0,xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:!0,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")});const{searchFilters:G}=bt(A),ae=await H({name:"search-history",arguments:{...G,limit:h.page.limit,offset:h.page.loaded}});if(ue!==c)return;An(ae.structuredContent)&&E(ae.structuredContent,"append"),h.page.loading=!1,xe(t,{id:"load-more-search",loaded:h.page.loaded,total:h.page.total,loading:!1,idleLabel:b("sessionDashboard.loadMoreSearch"),busyLabel:b("session.dashboard.loading.results")})}}catch(A){jt(A instanceof Error?A.message:b("session.dashboard.error.action"))}},Gs=async y=>{y.preventDefault();try{await Le()}catch(T){jt(T instanceof Error?T.message:b("session.dashboard.error.filters"))}};return t.addEventListener("click",Ks),t.getElementById("filter-form")?.addEventListener("submit",Gs),e.connect().then(async()=>{const y=Ae(t),{sessionFilters:T,trendFilters:U,handoffFilters:A,searchFilters:ue}=bt(y);if(!o){const G=await H({name:"list-contexts",arguments:{}});ar(G.structuredContent)&&F(G.structuredContent)}if(!n){const G=await H({name:"list-sessions",arguments:{...T,limit:p.page.limit,offset:0}});jn(G.structuredContent)&&je(G.structuredContent,"replace")}if(!s){const G=await H({name:"get-history-trends",arguments:{...U,limit:D.page.limit,offset:0}});Cn(G.structuredContent)&&R(G.structuredContent,"replace")}if(!l){const G=await H({name:"get-history-handoff",arguments:A});lr(G.structuredContent)&&ir(G.structuredContent)}if(!a)if(y.query){const G=await H({name:"search-history",arguments:{...ue,limit:h.page.limit,offset:0}});An(G.structuredContent)&&E(G.structuredContent,"replace")}else Vs()}).catch(y=>{jt(y instanceof Error?y.message:b("session.dashboard.error.connect"))}),()=>{t.removeEventListener("click",Ks),t.getElementById("filter-form")?.removeEventListener("submit",Gs)}}const US=new uS({name:"Footprint Session Dashboard",version:"1.0.0"});hS();ZS(US);</script>
169
- <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:light;--ds-gray-100: #FAFAFA;--ds-gray-200: #EAEAEA;--ds-gray-300: #C9C9C9;--ds-gray-400: #999999;--ds-gray-500: #888888;--ds-gray-600: #666666;--ds-gray-700: #444444;--ds-gray-800: #333333;--ds-gray-900: #1A1A1A;--ds-gray-1000: #000000;--ds-background-100: #FFFFFF;--ds-background-200: #FAFAFA;--ds-blue-100: #EBF5FF;--ds-blue-700: #0070F3;--ds-blue-800: #0060D1;--ds-red-100: #FFF0F0;--ds-red-700: #EE0000;--ds-red-800: #CC0000;--ds-green-100: #EFFBF4;--ds-green-700: #0A7B3E;--ds-amber-100: #FFF7E0;--ds-amber-700: #AB6400;--ds-shadow-sm: 0 1px 2px rgba(0,0,0,.04);--ds-shadow-md: 0 2px 8px rgba(0,0,0,.06);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.08);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: var(--ds-background-100);--surface-muted: rgba(255,255,255,.75);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-700);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-blue-700);--brand-strong: var(--ds-blue-800);--brand-soft: var(--ds-blue-100);--brand-glow: rgba(0,112,243,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-100);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-gray-1000);box-shadow:0 0 0 1px var(--ds-gray-1000)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-gray-800);border-color:var(--ds-gray-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-1000)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-gray-1000);color:#fff;border-color:var(--ds-gray-1000)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#fff}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running,.activity-badge{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);box-shadow:0 0 0 3px var(--ds-blue-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--ds-gray-100)}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-blue-100);border-left-color:var(--ds-blue-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-blue-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-blue-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #0070f333}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#fff;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-gray-1000);background:var(--ds-gray-100)}.tag-chip.active{background:var(--ds-gray-1000);border-color:var(--ds-gray-1000);color:#fff}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#fff3}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#00000080;backdrop-filter:blur(4px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#f59e0b26;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-gray-1000);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-blue-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-blue-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
169
+ <style rel="stylesheet" crossorigin>@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-sans/style.css";@import"https://cdn.jsdelivr.net/npm/geist@1/dist/fonts/geist-mono/style.css";:root{color-scheme:dark;--ds-gray-100: #1a1a1a;--ds-gray-200: rgba(255,255,255,.08);--ds-gray-300: rgba(255,255,255,.14);--ds-gray-400: #555555;--ds-gray-500: #888888;--ds-gray-600: #999999;--ds-gray-700: #b0b0b0;--ds-gray-800: #cccccc;--ds-gray-900: #e0e0e0;--ds-gray-1000: #ededed;--ds-background-100: #161616;--ds-background-200: #0a0a0a;--ds-green-100: rgba(62,207,142,.12);--ds-green-700: #3ecf8e;--ds-green-800: #2bb573;--ds-blue-100: rgba(56,189,248,.1);--ds-blue-700: #38bdf8;--ds-blue-800: #0ea5e9;--ds-red-100: rgba(248,113,113,.1);--ds-red-700: #f87171;--ds-red-800: #ef4444;--ds-amber-100: rgba(251,191,36,.1);--ds-amber-700: #fbbf24;--ds-shadow-sm: 0 1px 3px rgba(0,0,0,.3);--ds-shadow-md: 0 4px 12px rgba(0,0,0,.4);--ds-shadow-lg: 0 8px 30px rgba(0,0,0,.5);--ds-radius-sm: 6px;--ds-radius-md: 8px;--ds-radius-lg: 12px;--ds-radius-xl: 12px;--ds-radius-round: 999px;--sp-xs: .25rem;--sp-sm: .5rem;--sp-md: 1rem;--sp-lg: 1.25rem;--sp-xl: 2rem;--sp-2xl: 3rem;--sp-3xl: 4rem;--bg: var(--ds-background-200);--bg-soft: var(--ds-gray-100);--surface: var(--ds-background-100);--surface-strong: #1c1c1c;--surface-muted: rgba(255,255,255,.04);--ink: var(--ds-gray-1000);--ink-soft: var(--ds-gray-800);--muted: var(--ds-gray-600);--muted-soft: var(--ds-gray-500);--line: var(--ds-gray-200);--line-strong: var(--ds-gray-300);--brand: var(--ds-green-700);--brand-strong: var(--ds-green-800);--brand-soft: var(--ds-green-100);--brand-glow: rgba(62,207,142,.18);--accent: var(--ds-amber-700);--accent-soft: var(--ds-amber-100);--danger: var(--ds-red-700);--danger-soft: var(--ds-red-100);--success: var(--ds-green-700);--success-soft: var(--ds-green-100);--info: var(--ds-blue-700);--info-soft: var(--ds-blue-100);--shadow: var(--ds-shadow-md);--shadow-soft: var(--ds-shadow-sm);--shadow-lg: var(--ds-shadow-lg);--radius-xl: var(--ds-radius-xl);--radius-lg: var(--ds-radius-lg);--radius-md: var(--ds-radius-md);--radius-sm: var(--ds-radius-sm)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;padding:var(--sp-2xl);font-family:Geist Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans,sans-serif;font-size:.875rem;line-height:1.6;color:var(--ds-gray-900);background:var(--ds-background-200);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}.shell,.container{width:min(100%,1200px);margin:0 auto}.shell,.container{display:grid;gap:var(--sp-xl)}h1,h2,h3{margin:0;font-family:Geist Sans,-apple-system,sans-serif;letter-spacing:-.02em;color:var(--ds-gray-1000)}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}.page-hero,.page-summary,.card,.stat-card,.recent-activity,.timeline-section,.tag-controls,.content-section,.metadata-card,.export-section,.file-info,.git-info,.modal-content{background:var(--ds-background-100);border:1px solid var(--ds-gray-200);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm)}.card:hover,.recent-activity:hover,.timeline-section:hover,.content-section:hover,.export-section:hover{border-color:var(--ds-gray-300)}.page-hero{padding:var(--sp-2xl)}.page-hero-toolbar{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap;margin-bottom:var(--sp-lg)}.page-kicker,.demo-banner{display:inline-flex;align-items:center;gap:.375rem;width:fit-content;padding:.375rem .75rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-600);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.demo-banner{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.locale-switch{display:inline-flex;align-items:center;gap:var(--sp-sm);padding:0;border-radius:0;background:transparent;border:none;margin-left:auto}.locale-switch label{margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--ds-gray-500);white-space:nowrap}.locale-switch select{height:2rem;min-width:120px;padding:0 1.75rem 0 .625rem;font-size:.75rem;border-radius:var(--ds-radius-md)}.page-title{margin:0 0 var(--sp-sm);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ds-gray-1000)}.page-title .icon{color:var(--ds-gray-500)}.page-subtitle,.summary{margin:0;font-size:.9375rem;color:var(--ds-gray-600);line-height:1.6}.page-note{margin:var(--sp-lg) 0 0;padding:var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-100);color:var(--ds-gray-600);line-height:1.65;font-size:.875rem}.page-note strong,.summary strong{color:var(--ds-gray-1000)}.muted,.card-subtitle,.meta-note,.export-info,.search-results-info,.file-stats,.last-updated,.metadata-help{color:var(--ds-gray-600);line-height:1.6}.card-subtitle{margin:.25rem 0 0;font-size:.875rem}.card,.content-section,.export-section,.recent-activity,.timeline-section,.tag-controls{overflow:hidden;min-width:0}.card{padding:0}.meta .card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg);padding:var(--sp-xl) var(--sp-xl) 0}.card-header+table,.card-header+.card-body,.content-header+.content-body,.section-header+.section-body,.activity-header+.activity-list,.timeline-header+.timeline-container{margin-top:var(--sp-md)}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-xl)}.card-body-flush{padding:var(--sp-md) 0 0}.card-section{padding:var(--sp-xl);border-top:1px solid var(--ds-gray-200)}.card-footer,.panel-actions{padding:0 var(--sp-xl) var(--sp-xl)}.dashboard-grid,.split,.stats,.meta,.metadata-grid,.filters,.options-grid{display:grid;gap:var(--sp-xl)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wide-card{grid-column:span 3}.split{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.meta,.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filters>.actions{grid-column:1 / -1}.stat-card,.metadata-card{padding:var(--sp-xl);position:relative;overflow:hidden;transition:border-color .15s ease}.stat-card:hover{border-color:var(--ds-gray-300)}.stat-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;line-height:1.2;color:var(--ds-gray-1000);overflow-wrap:anywhere;letter-spacing:-.02em}.meta-value,.metadata-value{font-family:Geist Sans,-apple-system,sans-serif;font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--ds-gray-1000);overflow-wrap:anywhere}.stat-label,.metadata-label,.meta strong,.field label,.option-label,.tag-filter-label{display:block;margin-bottom:var(--sp-sm);font-size:.6875rem;font-weight:600;color:var(--ds-gray-500);text-transform:uppercase;letter-spacing:.08em}.meta .card strong{display:block}.field{display:grid;gap:var(--sp-sm);min-width:0}.field input,.search-input,input[type=text],select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--ds-gray-300);border-radius:var(--ds-radius-md);background:var(--ds-background-200);color:var(--ds-gray-1000);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;font-size:.75rem;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem;cursor:pointer}.field input::placeholder,.field select::placeholder,.search-input::placeholder,input[type=text]::placeholder{color:var(--ds-gray-400)}.field input:focus,.field select:focus,.search-input:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--ds-green-700);box-shadow:0 0 0 1px var(--ds-green-700)}.option-group{display:grid;gap:var(--sp-md)}.checkbox-group{display:flex;align-items:center;gap:var(--sp-sm)}.actions,.timeline-controls,.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-sm)}.actions{row-gap:var(--sp-sm)}button,.btn,.batch-btn,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn,.modal-close{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 .875rem;border-radius:var(--ds-radius-md);border:1px solid var(--ds-gray-200);background:var(--ds-background-100);color:var(--ds-gray-900);cursor:pointer;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}button:hover,.btn:hover,.batch-btn:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover,.modal-close:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.btn-primary,.batch-btn.export,button[type=submit]{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700);font-weight:600}.btn-primary:hover,.batch-btn.export:hover,button[type=submit]:hover{background:var(--ds-green-800);border-color:var(--ds-green-800)}button.secondary,.btn-secondary,.timeline-btn,.manage-tags-btn,.clear-filters-btn,.filter-mode-btn,.back-btn{border-color:var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-900)}button.secondary:hover,.btn-secondary:hover,.timeline-btn:hover,.manage-tags-btn:hover,.clear-filters-btn:hover,.filter-mode-btn:hover,.back-btn:hover{background:var(--ds-gray-100);border-color:var(--ds-gray-300)}.timeline-btn.active,.filter-mode-btn.active{background:var(--ds-green-700);color:#0a0a0a;border-color:var(--ds-green-700)}.batch-btn.delete{background:var(--ds-red-700);border-color:var(--ds-red-700);color:#0a0a0a}.batch-btn.delete:hover{background:var(--ds-red-800);border-color:var(--ds-red-800)}button:disabled,.btn:disabled,.batch-btn:disabled,.timeline-btn:disabled,.manage-tags-btn:disabled,.clear-filters-btn:disabled,.filter-mode-btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{height:2rem;padding:0 .75rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-700);cursor:pointer;font-size:.75rem;font-weight:500}.btn-sm.danger{border-color:transparent;background:var(--ds-red-100);color:var(--ds-red-700)}.hero-actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;margin-top:var(--sp-sm)}.pill,.tag,.activity-badge,.selection-counter{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:.125rem .5rem;border-radius:var(--ds-radius-round);background:var(--ds-gray-100);color:var(--ds-gray-800);border:1px solid var(--ds-gray-200);font-size:.6875rem;font-weight:500;line-height:1.6}.pill.completed{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.pill.failed,.pill.interrupted{background:var(--ds-red-100);color:var(--ds-red-700);border-color:transparent}.pill.running{background:var(--ds-blue-100);color:var(--ds-blue-700);border-color:transparent}.activity-badge{background:var(--ds-green-100);color:var(--ds-green-700);border-color:transparent}.activity-badge.pulse{animation:pulseBadge 1.4s ease-in-out 2}@keyframes pulseBadge{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);box-shadow:0 0 0 3px var(--ds-green-100)}.status-dot.offline{background:var(--ds-red-700);box-shadow:0 0 0 3px var(--ds-red-100)}table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:680px}th,td{padding:.875rem 1rem;border-bottom:1px solid var(--ds-gray-200);text-align:left;vertical-align:top;overflow-wrap:anywhere}th{color:var(--ds-gray-500);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}td{font-size:.875rem;color:var(--ds-gray-900)}thead tr{background:var(--ds-gray-100)}tbody tr{transition:background .15s ease}tbody tr:hover{background:#ffffff08}.checkbox-cell{width:3rem;text-align:center}.list,.activity-list,.plain-list,.tag-list{list-style:none;margin:0;padding:0}.list,.activity-list{display:grid;gap:var(--sp-lg)}.list{max-height:none;overflow:visible}.list li,.activity-item,.preview-item,.tag-item{padding:var(--sp-xl);border:1px solid var(--ds-gray-200);border-left:3px solid transparent;border-radius:var(--ds-radius-md);background:var(--ds-background-100);line-height:1.7;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.list li:hover,.activity-item:hover,.preview-item:hover{border-left-color:var(--ds-green-700);background:#ffffff05}.list li strong{display:block;margin-bottom:.5rem;font-size:.9375rem}.list li .pill,.list li .activity-badge{margin-bottom:.375rem}.list li .actions,.list li>div:last-child{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--ds-gray-200)}.activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-lg)}.activity-content{min-width:0}.activity-item.new-item{border-color:var(--ds-green-100);border-left-color:var(--ds-green-700)}.activity-title{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.activity-title-text,.section-title,.timeline-title,.modal-title{font-weight:600;color:var(--ds-gray-1000)}.activity-meta,.activity-time,.preview-meta,.export-info,.file-stats{color:var(--ds-gray-500);font-size:.8125rem;margin-top:.125rem}.search-bar{margin:0}.search-input-wrapper{position:relative;width:min(100%,520px)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ds-gray-400);pointer-events:none}.search-input{padding-left:2.5rem;padding-right:2.5rem}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;min-height:auto;padding:0;border-radius:var(--ds-radius-round);background:transparent;color:var(--ds-gray-500);border:none;box-shadow:none}.search-clear:hover{background:var(--ds-gray-100);border-color:transparent}.timeline-container{padding:var(--sp-xl);overflow-x:auto}.timeline{position:relative;min-width:760px;height:210px}.timeline-axis{position:absolute;left:0;right:0;bottom:2.375rem;height:2px;background:var(--ds-gray-200)}.timeline-point{position:absolute;bottom:1.875rem;width:.75rem;height:.75rem;border-radius:var(--ds-radius-round);background:var(--ds-green-700);border:2px solid var(--ds-background-100);box-shadow:0 0 0 2px var(--ds-green-100);transform:translate(-50%);cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.timeline-point:hover{transform:translate(-50%) scale(1.3);box-shadow:0 0 0 4px #3ecf8e40}.timeline-point.multiple{background:var(--ds-amber-700);box-shadow:0 0 0 2px var(--ds-amber-100)}.timeline-label{position:absolute;bottom:0;transform:translate(-50%);color:var(--ds-gray-500);font-size:.75rem;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:3.875rem;transform:translate(-50%);padding:var(--sp-md) var(--sp-lg);border-radius:var(--ds-radius-md);background:var(--ds-gray-1000);color:#0a0a0a;font-size:.75rem;line-height:1.5;display:none;box-shadow:var(--ds-shadow-lg);z-index:12}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ds-gray-1000)}.batch-controls,.tag-controls-header,.tag-filters,.actions-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.batch-controls,.tag-controls{padding:var(--sp-xl)}.tag-filters{justify-content:flex-start}#tag-filter-chips,.tag-list{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.tag-list{flex-direction:column}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--ds-radius-round);border:1px solid var(--ds-gray-300);background:var(--ds-background-100);color:var(--ds-gray-800);font-size:.75rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.tag-chip.clickable{cursor:pointer}.tag-chip.clickable:hover{border-color:var(--ds-green-700);background:#3ecf8e14}.tag-chip.active{background:var(--ds-green-700);border-color:var(--ds-green-700);color:#0a0a0a}.tag-close{display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:var(--ds-radius-round);background:#0003}.filter-mode{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}.tag-item-info,.tag-item-actions{display:inline-flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap}.tag-count{color:var(--ds-gray-500);font-size:.8125rem;font-weight:600}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:var(--sp-xl);background:#000000b3;backdrop-filter:blur(8px);z-index:30}.modal.show{display:flex}.modal-content{width:min(100%,760px);max-height:min(82vh,860px);overflow:auto}.modal-close{width:2.25rem;height:2.25rem;min-height:auto;padding:0}.preview-area{border:2px dashed var(--ds-gray-300);border-radius:var(--ds-radius-lg);background:var(--ds-background-200);padding:var(--sp-xl)}.preview-content{display:none}.preview-content.active{display:block}.file-info{padding:var(--sp-lg) var(--sp-xl);background:var(--ds-background-100)}.file-name,.content-text,.value,.path-text,.preview-item code,code{font-family:Geist Mono,SF Mono,IBM Plex Mono,Consolas,Menlo,monospace}.content-body{max-height:620px;overflow-y:auto}.content-text{white-space:pre-wrap;font-size:.8125rem;line-height:1.7;color:var(--ds-gray-700)}.error,.success,.empty,.loading,.no-tags,.empty-activity{padding:var(--sp-lg);border-radius:var(--ds-radius-md);font-size:.8125rem}.error{background:var(--ds-red-100);color:var(--ds-red-700)}.success{background:var(--ds-green-100);color:var(--ds-green-700)}.empty,.loading,.no-tags,.empty-activity{background:var(--ds-blue-100);color:var(--ds-blue-700)}.highlight{background:#fbbf2426;border-radius:3px;padding:0 2px}.evidence-checkbox,.select-all-checkbox,input[type=checkbox],input[type=radio]{accent-color:var(--ds-green-700);width:1rem;height:1rem;cursor:pointer}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-lg{width:1.2em;height:1.2em}.icon-xl{width:1.45em;height:1.45em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{position:relative;overflow:hidden}.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);animation:shimmer 1.8s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.content-body a,.card-body a:not(.btn),.section-body a:not(.btn){color:var(--ds-green-700);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.content-body a:hover,.card-body a:not(.btn):hover,.section-body a:not(.btn):hover{color:var(--ds-green-800)}@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-card{grid-column:span 2}}@media(max-width:900px){body{padding:var(--sp-lg)}.page-title{font-size:clamp(1.5rem,7vw,2rem)}.timeline{min-width:580px}th,td{padding:.75rem}}@media(max-width:760px){body{padding:var(--sp-md)}.page-hero{padding:var(--sp-xl)}.page-hero-toolbar{flex-direction:column;align-items:flex-start}.locale-switch{width:100%;margin-left:0;justify-content:space-between}.locale-switch select{min-width:0;flex:1}.split,.stats,.meta,.metadata-grid,.filters,.options-grid,.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.card{padding:var(--sp-lg)}.card-header,.content-header,.section-header,.timeline-header,.activity-header,.modal-header{padding:var(--sp-lg) var(--sp-lg) 0}.card-body,.content-body,.section-body,.modal-body{padding:var(--sp-lg)}.card-footer,.panel-actions{padding:0 var(--sp-lg) var(--sp-lg)}.actions,.timeline-controls,.header-actions,.hero-actions{flex-direction:column;align-items:stretch}.actions>button,.actions>.btn,.actions>.field,.timeline-controls>button,.hero-actions>button{width:100%}.table-scroll table{min-width:520px}.stat-card,.metadata-card,.batch-controls,.tag-controls{padding:var(--sp-lg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}</style>
170
170
  </head>
171
171
  <body>
172
172
  <div class="shell">