:root{--font-heading:"EB Garamond","Playfair Display",Georgia,serif;--font-mono:"JetBrains Mono","IBM Plex Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono",monospace;--canvas:#f9f8f3;--ink:#000;--negative:#fff;--accent:#e11d48;--process:#a1a1aa;--signal-idle:#b24157;--signal-idle-bg:#f4e7ea;--signal-success:#2d6f57;--signal-success-bg:#e4efe9}button.maintenance-disabled{opacity:.45;border-style:dashed}.search-strategy-panel{border:2px dashed var(--ink);padding:.75rem .85rem;display:grid;grid-gap:.55rem;gap:.55rem}.search-strategy-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.search-strategy-help{margin:0;font-size:11px;letter-spacing:.04em;color:var(--process)}.structure-row--disabled{opacity:.45}.structure-row--disabled .structure-row-content{filter:grayscale(.35)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--canvas);color:var(--ink)}body{font-family:var(--font-mono),monospace}a{color:inherit;text-decoration:none}main{width:min(1280px,95vw);margin:1.2rem auto 3rem}.serif,h1,h2,h3{font-family:var(--font-heading),serif;letter-spacing:-.03em;margin:0}.mono{font-family:var(--font-mono),monospace}.process{color:var(--process)}.film-cell{border:4px solid var(--ink);background:var(--canvas);border-radius:0;position:relative;padding:1.6rem 2.6rem 1.6rem 1.5rem}.film-cell--incomplete{border-style:dashed}.frame-no{position:absolute;top:-1.2rem;left:0;font-size:12px;font-family:var(--font-mono),monospace;letter-spacing:.08em}.contact-sheet{display:grid;grid-gap:1.1rem;gap:1.1rem}.auth-header{border:4px solid var(--ink);padding:1.3rem 2.2rem 1rem 1.5rem}.auth-title{font-size:clamp(2rem,5vw,3.5rem)}.auth-subtitle{margin-top:.4rem;font-size:.86rem}.auth-subtitle,label{letter-spacing:.08em;text-transform:uppercase}label{display:block;font-size:.78rem;margin-bottom:.8rem}input,select,textarea{width:100%;border:0;border-bottom:2px solid var(--ink);background:transparent;border-radius:0;padding:.65rem 0;font-family:var(--font-mono),monospace;font-size:14px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--accent)}button{border:2px solid var(--ink);background:var(--ink);color:var(--negative);border-radius:0;padding:.72rem .86rem;font-family:var(--font-mono),monospace;font-size:13px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}button:focus-visible:not(:disabled),button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--negative)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:transparent;color:var(--ink)}button.secondary:focus-visible:not(:disabled),button.secondary:hover:not(:disabled){background:var(--ink);color:var(--negative);border-color:var(--ink)}.error-line{color:var(--accent);font-size:.85rem;margin:.45rem 0}.pulse-error{animation:pulse-red 1.2s ease-in-out infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-green{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb,var(--signal-success) 28%,transparent)}50%{opacity:.88;box-shadow:0 0 0 8px color-mix(in srgb,var(--signal-success) 0,transparent)}}.stack{display:grid;grid-gap:.9rem;gap:.9rem}.split{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell{display:grid;grid-template-columns:72px 1fr;grid-gap:1rem;gap:1rem;align-items:start}.sprocket-rail{border:4px solid var(--ink);padding:.75rem .45rem;position:-webkit-sticky;position:sticky;top:1rem;display:grid;grid-gap:.45rem;gap:.45rem}.sprocket-link{display:grid;justify-items:center;grid-gap:.35rem;gap:.35rem;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.sprocket-hole{width:14px;height:14px;background:var(--ink);display:block}.frames{display:grid;grid-gap:1rem;gap:1rem}.frame-title{font-size:clamp(1.4rem,3vw,2.1rem);margin-bottom:.5rem}.frame-sub{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}.inline-actions{display:flex;flex-wrap:wrap;gap:.55rem}.inline-actions button{width:auto;min-width:170px}.key-reveal{border:2px solid var(--ink);padding:.6rem;word-break:break-all}.key-reveal,.small-note{font-size:12px}.key-list-item{border-top:1px solid var(--ink);padding-top:.5rem;margin-top:.5rem}.caption-stack{display:grid;grid-gap:.55rem;gap:.55rem}.caption-result{border:2px solid var(--ink);padding:.56rem .62rem}.guided-family-stack{display:grid;grid-gap:.75rem;gap:.75rem}.guided-family-row{display:grid;grid-gap:.6rem;gap:.6rem}.guided-family-head{display:grid;grid-gap:.2rem;gap:.2rem}.guided-text-counts{display:flex;flex-wrap:wrap;gap:.65rem;font-size:12px}.guided-json-callout{border:1px solid var(--ink);padding:.65rem .75rem;display:grid;grid-gap:.25rem;gap:.25rem;background:color-mix(in srgb,var(--canvas) 88%,#ece9de 12%)}.guided-json-callout-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.guided-json-callout-body{font-size:12px;line-height:1.5;color:var(--ink)}.guided-json-panel{display:grid;grid-gap:.7rem;gap:.7rem}.guided-json-selection-summary{display:flex;flex-wrap:wrap;gap:.45rem}.guided-json-selection-chip{border:1px solid var(--ink);padding:.22rem .45rem;font-size:11px;background:transparent}.guided-json-tree-shell{display:grid;grid-gap:.65rem;gap:.65rem}.guided-json-tree{border:1px solid var(--ink);padding:.55rem .6rem;max-height:420px;overflow:auto;background:color-mix(in srgb,var(--canvas) 92%,#ece9de 8%)}.json-tree-children,.json-tree-node{display:grid;grid-gap:.28rem;gap:.28rem}.json-tree-children{margin-left:1rem;padding-left:.7rem;border-left:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}.json-tree-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.65rem;gap:.65rem;align-items:center;border:1px solid transparent;padding:.4rem .45rem}.json-tree-row--id{border-color:var(--ink);background:color-mix(in srgb,var(--canvas) 80%,#ece9de 20%)}.json-tree-row--text{box-shadow:inset 0 0 0 2px var(--accent)}.json-tree-main{min-width:0;display:grid;grid-gap:.15rem;gap:.15rem}.json-tree-key{font-size:12px;word-break:break-word}.json-tree-meta{font-size:11px;color:var(--process);word-break:break-word}.json-tree-actions{display:flex;flex-wrap:wrap;gap:.35rem}.json-tree-actions button{min-width:auto;padding:.35rem .5rem;font-size:11px}.guided-json-manual{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.55rem}.guided-family-error,.guided-family-warning{margin-top:.2rem}.caption-title{font-size:13px;font-weight:700;margin-bottom:.25rem}.caption-meta{font-size:12px;color:var(--process)}.score-chip{display:inline-block;border:1px solid var(--ink);padding:.08rem .35rem;margin-top:.32rem;font-size:11px}.agent-handoff-panel{border:2px solid var(--ink);padding:.62rem .68rem;display:grid;grid-gap:.55rem;gap:.55rem;background:color-mix(in srgb,var(--canvas) 88%,#ece9de 12%)}.agent-handoff-code{margin:.28rem 0 0;border:1px solid var(--ink);padding:.55rem;background:transparent;font-size:12px;line-height:1.35;white-space:pre-wrap;overflow:auto}.agent-copy-box{border:2px dashed var(--ink);padding:.58rem;display:grid;grid-gap:.35rem;gap:.35rem}.agent-copy-box--disabled{opacity:.72}.agent-copy-state{margin:0;font-size:12px;color:var(--process)}.accent-chip,.agent-copy-state--error{color:var(--accent)}.accent-chip{border-color:var(--accent)}.sync-controls{display:grid;grid-template-columns:minmax(180px,280px) auto auto;grid-gap:.7rem 1rem;gap:.7rem 1rem;align-items:end}.sync-progress-panel{border:2px solid var(--ink);padding:.55rem .65rem;display:grid;grid-gap:.45rem;gap:.45rem;background:color-mix(in srgb,var(--canvas) 84%,#ece9de 16%)}.sync-progress-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.06em}.sync-progress-bar{width:100%;height:10px;border:1px solid var(--ink);background:transparent;overflow:hidden}.sync-progress-fill{height:100%;background:repeating-linear-gradient(45deg,var(--ink) 0 8px,color-mix(in srgb,var(--ink) 65%,var(--canvas) 35%) 8px 16px);transition:width .42s ease}.upload-progress-panel{margin-top:.45rem;border:2px solid var(--ink);padding:.5rem .6rem;display:grid;grid-gap:.4rem;gap:.4rem;background:color-mix(in srgb,var(--canvas) 82%,#ece9de 18%)}.upload-progress-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:11px;letter-spacing:.05em}.upload-progress-bar{width:100%;height:12px;border:1px solid var(--ink);background:transparent;overflow:hidden}.upload-progress-fill{height:100%;background:linear-gradient(90deg,var(--ink) 0,color-mix(in srgb,var(--ink) 72%,#474747 28%) 55%,var(--accent) 100%);transition:width .26s ease}.sync-completion-flash{border:2px solid var(--signal-success);padding:.4rem .55rem;margin:0;color:var(--signal-success);background:color-mix(in srgb,var(--signal-success-bg) 72%,var(--canvas) 28%);animation:pulse-green 1.1s ease-in-out infinite}.checkbox-line{display:flex;align-items:center;gap:.45rem;margin:0;text-transform:none;letter-spacing:0}.checkbox-line input[type=checkbox]{width:auto;margin:0;accent-color:var(--ink)}.sync-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.preview-list{white-space:pre-wrap;font-size:11px;line-height:1.35;color:var(--process);max-height:140px;overflow:auto}.index-workspace{display:grid;grid-template-columns:minmax(240px,320px) 1fr;grid-gap:.8rem;gap:.8rem;align-items:start}.bucket-manager{border:2px solid var(--ink);padding:.6rem;display:grid;grid-gap:.5rem;gap:.5rem;position:-webkit-sticky;position:sticky;top:.75rem;background:var(--canvas)}.bucket-manager-header{border-bottom:1px solid var(--ink);padding-bottom:.35rem}.bucket-manager-header-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.bucket-manager-header-top button{min-width:auto;padding:.35rem .55rem;font-size:11px}.bucket-list{display:grid;grid-gap:.45rem;gap:.45rem;max-height:820px;overflow:auto}.bucket-row-shell{border:2px solid var(--ink);background:transparent}.bucket-row-shell--active{background:var(--ink)}.bucket-row{width:100%;text-align:left;background:transparent;color:var(--ink);border:0;padding:.55rem .6rem;display:grid;grid-gap:.22rem;gap:.22rem}.bucket-row:focus-visible:not(:disabled),.bucket-row:hover:not(:disabled){background:#ece9de;color:var(--ink);border-color:var(--ink)}.bucket-row--active{background:var(--ink);color:var(--negative)}.bucket-row--active .bucket-provider,.bucket-row--active .bucket-row-meta{color:hsla(0,0%,100%,.85)}.bucket-row-title{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.bucket-provider{border:1px solid;padding:.02rem .24rem;font-size:10px}.bucket-row-meta{font-size:11px;color:var(--process);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bucket-row-actions{display:flex;justify-content:flex-end;padding:0 .55rem .5rem}.bucket-row-delete{padding:.28rem .5rem;font-size:10px;letter-spacing:.06em}.bucket-row-shell--active .bucket-row-delete{border-color:hsla(0,0%,100%,.9);color:var(--negative)}.bucket-row-shell--active .bucket-row-delete:focus-visible:not(:disabled),.bucket-row-shell--active .bucket-row-delete:hover:not(:disabled){border-color:var(--negative);background:var(--negative);color:var(--ink)}.bucket-workspace,.index-stepper-shell{display:grid;grid-gap:.7rem;gap:.7rem}.index-stepper-summary{border:2px solid var(--ink);padding:.6rem;display:grid;grid-template-columns:1fr auto;grid-gap:.8rem;gap:.8rem;align-items:center}.step-jump-row button{min-width:52px}.step-jump--active{background:var(--ink)!important;color:var(--negative)!important}.index-stepper{display:grid;grid-gap:.65rem;gap:.65rem}.index-step{border:2px dashed var(--ink);padding:.75rem;display:grid;grid-gap:.6rem;gap:.6rem}.index-step--locked{opacity:.75}.index-step--active{border-style:solid;box-shadow:inset 0 -2px 0 0 var(--accent)}.index-step--complete{border-style:solid}.index-step-header{display:grid;grid-gap:.25rem;gap:.25rem}.index-step-title-row{display:grid;grid-template-columns:1fr auto;grid-gap:.6rem;gap:.6rem;align-items:start}.index-step-body{display:grid;grid-gap:.65rem;gap:.65rem}.index-step-summary{border-top:1px solid var(--ink);padding-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.index-step-summary button{min-width:auto;padding:.4rem .6rem}.step-signal{border:1px solid var(--ink);padding:.15rem .45rem;min-width:88px;text-align:center;font-size:11px;background:transparent}.step-signal--idle{border-color:var(--signal-idle);color:var(--signal-idle);background:var(--signal-idle-bg)}.step-signal--working{background:#ece9de;color:var(--ink)}.step-signal--success{border-color:var(--signal-success);color:var(--signal-success);background:var(--signal-success-bg)}.step-signal--error{border-color:var(--accent);color:var(--accent)}.step-signal-text--error{color:var(--accent)}.step-inline-panel{border:1px solid var(--ink);padding:.55rem;display:grid;grid-gap:.5rem;gap:.5rem}.sync-preview-compact{display:grid;grid-gap:.45rem;gap:.45rem}.sync-run-details{border:1px solid var(--ink);padding:.45rem}.sync-run-details>summary{cursor:pointer;text-transform:uppercase;font-size:12px;letter-spacing:.06em}.delete-guard-callout{border:2px solid var(--accent);padding:.45rem .55rem}.wizard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-card,.wizard-grid{display:grid;grid-gap:.6rem;gap:.6rem}.wizard-card{align-content:start}.wizard-card--full{grid-column:1/-1}.extension-chip-wrap{display:flex;flex-wrap:wrap;gap:.4rem}.chip-toggle{min-width:auto;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:.24rem .38rem;display:inline-flex;gap:.35rem;align-items:center}.chip-toggle--active{background:var(--ink);color:var(--negative)}.chip-toggle--active .process{color:hsla(0,0%,100%,.75)}.structure-list{border:1px solid var(--ink);max-height:300px;overflow:auto}.structure-row{margin:0;border-top:1px solid var(--ink);padding:.45rem;display:grid;grid-template-columns:auto 1fr;grid-gap:.5rem;gap:.5rem;align-items:start;text-transform:none;letter-spacing:0}.structure-row:first-child{border-top:0}.structure-row input[type=checkbox]{width:auto;margin-top:.15rem;accent-color:var(--ink)}.structure-row-content{min-width:0;display:grid;grid-gap:.2rem;gap:.2rem}.structure-row-top{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem}.mapping-preview-list,.warnings-box{border-top:1px solid var(--ink);padding-top:.4rem;display:grid;grid-gap:.25rem;gap:.25rem}.sample-list{white-space:pre-wrap;max-height:140px;overflow:auto;font-size:11px;color:var(--process)}.sample-list,.sample-preview{border:1px solid var(--ink);padding:.45rem}.sample-preview{display:grid;grid-gap:.3rem;gap:.3rem}.sample-preview-text{margin:0;max-height:220px;overflow:auto;white-space:pre-wrap;font-size:11px;line-height:1.35}.run-history-list{border:1px solid var(--ink);padding:.45rem;display:grid;grid-gap:.35rem;gap:.35rem}.run-history-list--glow{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent);animation:sync-glow 1.2s ease-in-out infinite}.run-history-list--clickable{cursor:pointer}@keyframes sync-glow{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 45%,transparent)}}.run-history-row{border-top:1px solid var(--ink);padding-top:.35rem;display:grid;grid-template-columns:auto auto 1fr;grid-gap:.5rem;gap:.5rem;align-items:center}.run-history-row:first-of-type{border-top:0;padding-top:0}.index-status-board{border:2px solid var(--ink);padding:.55rem .65rem;display:grid;grid-gap:.55rem;gap:.55rem}.index-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.55rem;gap:.55rem}.index-status-card{border:1px solid var(--ink);padding:.5rem;display:grid;grid-gap:.35rem;gap:.35rem;min-width:0}.index-status-card--disabled{opacity:.45}.index-status-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.index-status-card .caption-meta{overflow-wrap:anywhere;word-break:break-word}.overlay-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.2);display:grid;place-items:center;padding:1rem;z-index:50}.film-modal{width:min(720px,96vw);border:4px solid var(--ink);background:var(--canvas);padding:1.4rem 1.4rem 1.1rem;position:relative}.film-modal-actions{display:grid;grid-template-columns:auto auto 1fr;grid-gap:.55rem;gap:.55rem;align-items:center;margin-top:.7rem}.clean-confirm-modal{width:min(680px,94vw)}.clean-confirm-actions{grid-template-columns:auto auto;justify-content:end}.copy-state{font-size:12px;color:var(--process);justify-self:end}.copy-state--error{color:var(--accent)}.status-panel{border:2px solid var(--ink);padding:.45rem .6rem;display:grid;grid-gap:.4rem;gap:.4rem}.status-row{border-top:1px solid var(--ink);padding-top:.35rem;display:grid;grid-gap:.18rem;gap:.18rem}.status-row:first-child{border-top:0;padding-top:0}.status-row-main{display:flex;align-items:center;gap:.45rem;min-width:0}.status-row-detail{display:flex;flex-wrap:wrap;gap:.45rem;align-items:baseline}.status-label{font-size:12px;letter-spacing:.05em;text-transform:uppercase}.status-message{font-size:12px;color:var(--process)}.status-message--error{color:var(--accent)}.status-timestamp{font-size:11px;color:var(--process)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;border:1px solid var(--ink);padding:.06rem .35rem;font-size:11px;text-transform:uppercase;background:transparent}.status-badge--idle{color:var(--signal-idle);border-color:var(--signal-idle);background:var(--signal-idle-bg)}.status-badge--working{color:var(--ink);background:#ece9de}.status-badge--success{color:var(--signal-success);border-color:var(--signal-success);background:var(--signal-success-bg)}.status-badge--error{color:var(--accent);border-color:var(--accent)}.log-box{border:2px solid var(--ink);padding:.75rem;max-height:280px;overflow:auto;white-space:pre-wrap;font-size:12px}@media (max-width:960px){.dashboard-shell,.split{grid-template-columns:1fr}.sprocket-rail{position:static;grid-auto-flow:column;grid-auto-columns:1fr;overflow-x:auto;padding:.6rem}.sprocket-link{min-width:72px}.film-cell{padding:1.2rem 1.2rem 1.1rem}.index-status-grid,.index-workspace,.preview-grid,.sync-controls,.sync-summary-grid{grid-template-columns:1fr}.bucket-manager{position:static}.bucket-list{grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;max-height:none}.index-step-title-row,.index-stepper-summary,.wizard-grid{grid-template-columns:1fr}.index-step-summary{flex-direction:column;align-items:flex-start}.wizard-card--full{grid-column:auto}.run-history-row{grid-template-columns:1fr;align-items:start}.film-modal-actions{grid-template-columns:1fr;justify-items:stretch}.copy-state{justify-self:start}.json-tree-row{grid-template-columns:1fr}.json-tree-actions{justify-content:flex-start}.guided-json-selection-summary{flex-direction:column}}