@font-face{font-family:Aeonik;src:url('/assets/fonts/Aeonik-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:CourtGPTMono;src:url('/assets/fonts/CourtGPTMono.woff2') format('woff2');font-display:swap}

:root{
  color-scheme:light;
  --paper:#ece8df;
  --surface:#f8f6f0;
  --surface-strong:#fffefa;
  --ink:#1b1a17;
  --muted:#6f6b61;
  --line:#d5cdbd;
  --line-strong:#b4aa98;
  --gold:#b78b36;
  --gold-deep:#74551d;
  --gold-wash:#efe3c5;
  --green:#28634e;
  --green-wash:#e4eee8;
  --rose:#93453e;
  --rose-wash:#f2e4e1;
  --blue:#315d7f;
  --blue-wash:#e2eaf0;
  --sidebar:#1f1e1a;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Aeonik,system-ui,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
[hidden]{display:none!important}

.app-shell{margin:auto;max-width:1920px;padding:clamp(1rem,2.4vw,2.75rem)}
.masthead{align-items:end;border-bottom:1px solid var(--line-strong);display:flex;gap:2rem;justify-content:space-between;padding-bottom:1.35rem}
.eyebrow{color:var(--gold-deep);font:10px CourtGPTMono,monospace;letter-spacing:.12em;margin:0;text-transform:uppercase}
.masthead h1{font-size:clamp(2.6rem,5vw,5.8rem);font-weight:400;letter-spacing:-.035em;line-height:.88;margin:.5rem 0 0}
.lede{color:var(--muted);font-size:.86rem;line-height:1.55;margin:0;max-width:58ch}

.metrics{display:flex;flex-wrap:wrap;margin:.65rem 0}
.metric{border-left:1px solid var(--line-strong);min-width:104px;padding:.2rem .85rem}
.metric:first-child{border-left:0;padding-left:0}
.metric strong{display:block;font-size:1rem;font-weight:400;line-height:1}
.metric span,.toolbar label>span,.advanced-filter-grid label>span,.library-controls label>span{color:var(--muted);font:9px CourtGPTMono,monospace;letter-spacing:.08em;text-transform:uppercase}

.control-deck{background:var(--surface);border:1px solid var(--line);position:sticky;top:0;z-index:12}
.toolbar{align-items:end;display:grid;gap:.55rem;grid-template-columns:minmax(320px,1.7fr) repeat(3,minmax(150px,.65fr));padding:.65rem}
.toolbar label,.advanced-filter-grid label,.library-controls label{display:grid;gap:.3rem;min-width:0}
.toolbar input,.toolbar select,.advanced-filter-grid select,.library-controls select,.control-actions button,.sidebar-toggle,.sort-direction,.generated-toggle{background:var(--surface-strong);border:1px solid var(--line-strong);color:var(--ink);min-height:2.35rem;padding:.48rem .62rem}
.toolbar input,.toolbar select,.advanced-filter-grid select{min-width:0;width:100%}
.toolbar input::placeholder{color:#8f897e}
.toolbar select,.advanced-filter-grid select,.library-controls select{font-size:.74rem}
.advanced-filter-grid{background:#f1eee7;border-top:1px solid var(--line);display:grid;gap:.55rem;grid-template-columns:repeat(6,minmax(128px,1fr));padding:.6rem .65rem}
.advanced-filter-grid .generated-toggle{align-self:end;font-size:.7rem;white-space:nowrap}
.control-footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.5rem .65rem}
.filter-summary{color:var(--muted);font:10px CourtGPTMono,monospace;margin:0}
.control-actions{align-items:center;display:flex;gap:.45rem}
.control-actions button{font-size:.7rem;min-height:2.1rem;white-space:nowrap}
.control-actions button:hover,.sidebar-toggle:hover,.sort-direction:hover,.generated-toggle:hover{background:var(--gold-wash);border-color:var(--gold)}
.control-actions button:disabled{cursor:not-allowed;opacity:.45}
.control-actions .toolbar-secondary{background:var(--ink);border-color:var(--ink);color:#fff}
.button-count{background:rgba(183,139,54,.2);color:inherit;font:9px CourtGPTMono,monospace;margin-left:.2rem;padding:.12rem .28rem}
.generated-toggle .toggle-dot{background:var(--gold);border:1px solid var(--gold-deep);display:inline-block;height:.5rem;margin-right:.35rem;width:.5rem}
.generated-toggle[aria-pressed="false"] .toggle-dot{background:transparent;border-color:var(--muted)}

.browser-shell{border:1px solid var(--line);display:grid;grid-template-columns:292px minmax(0,1fr);margin-top:.8rem;min-height:710px}
.browser-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}
.browser-shell.sidebar-collapsed .navigator{display:none}
.navigator{background:var(--sidebar);color:#eee9de;min-width:0}
.navigator-head{align-items:center;border-bottom:1px solid #48443b;color:#cdbf9b;display:flex;font:10px CourtGPTMono,monospace;justify-content:space-between;letter-spacing:.08em;padding:.85rem 1rem;text-transform:uppercase}
.navigator-scopes{border-bottom:1px solid #48443b;padding:.9rem .7rem}
.navigator-scopes>p,.navigator-section-head{color:#938a78;font:9px CourtGPTMono,monospace;letter-spacing:.09em;margin:0 0 .45rem;padding:0 .35rem;text-transform:uppercase}
.scope-button{align-items:center;background:transparent;border:1px solid transparent;color:#d8d2c6;display:flex;font-size:.72rem;gap:.75rem;justify-content:space-between;min-height:2rem;padding:.3rem .42rem;text-align:left;width:100%}
.scope-button span:last-child{color:#938a78;font:9px CourtGPTMono,monospace}
.scope-button:hover,.scope-button.active{background:#302e28;border-color:#5e5544;color:#fff8e8}
.scope-button.active span:first-child{color:#e2c46f}
.navigator-section-head{align-items:center;display:flex;justify-content:space-between;margin:.85rem .45rem .2rem;padding:0 .35rem}
.navigator-tools{border-bottom:1px solid #48443b;display:grid;gap:.45rem;padding:.75rem}
.navigator-tools label{display:grid;gap:.35rem}
.navigator-tools label>span{color:#938a78;font:9px CourtGPTMono,monospace;letter-spacing:.09em;text-transform:uppercase}
.navigator-tools input{background:#292721;border:1px solid #555044;color:#f2ede2;font:11px CourtGPTMono,monospace;min-height:2.2rem;padding:.45rem .55rem;width:100%}
.navigator-tools input::placeholder{color:#a39b8b}
.navigator-tools button{background:transparent;border:1px solid #555044;color:#cfc7b8;font:9px CourtGPTMono,monospace;min-height:1.9rem;padding:.35rem .5rem;text-align:left;text-transform:uppercase}
.navigator-tools button:hover{border-color:#8f7848;color:#fff8e8}
.tree-actions{display:grid;grid-template-columns:1fr 1fr}
.tree-actions button+button{border-left:0}
.navigator-tree{padding:.1rem .45rem 1rem}
.tree-node{margin:.03rem 0}
.tree-row{align-items:center;background:transparent;border:1px solid transparent;color:#d8d2c6;display:flex;min-height:1.9rem;padding:.12rem .2rem;width:100%}
.tree-row:hover,.tree-row.active{background:#302e28;border-color:#5e5544;color:#fff8e8}
.tree-row.active{box-shadow:inset 2px 0 var(--gold)}
.tree-caret{background:transparent;border:0;color:#bda46c;display:grid;flex:0 0 1.5rem;font:9px CourtGPTMono,monospace;height:1.5rem;padding:0;place-items:center;transition:transform 160ms ease}
.tree-caret-empty{color:#746d60}
.tree-node.open>.tree-row .tree-caret:not(.tree-caret-empty){transform:rotate(90deg)}
.tree-label{align-items:center;background:transparent;border:0;color:inherit;display:flex;gap:.5rem;min-height:1.55rem;min-width:0;padding:.12rem .2rem;text-align:left;width:100%}
.tree-name{font-size:.69rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tree-total{color:#938a78;font:9px CourtGPTMono,monospace;margin-left:auto}
.tree-children{border-left:1px solid #48443b;margin-left:.72rem;padding-left:.25rem}
.tree-node:not(.open)>.tree-children{display:none}
.tree-empty{color:#a39b8b;font:10px/1.5 CourtGPTMono,monospace;margin:.75rem;padding:.75rem;text-align:center}

.library{background:var(--surface);min-width:0}
.library-head{align-items:end;border-bottom:1px solid var(--line);display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}
.library-title{min-width:0}
.library h2{font-size:1.55rem;font-weight:400;letter-spacing:-.025em;margin:.22rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.result-count{color:var(--muted);font:9px CourtGPTMono,monospace;margin:.28rem 0 0}
.library-controls{align-items:end;display:flex;gap:.45rem}
.library-controls select{min-width:120px}
.sidebar-toggle{font:9px CourtGPTMono,monospace;white-space:nowrap}
.sort-direction{align-items:center;display:flex;font:9px CourtGPTMono,monospace;gap:.35rem;justify-content:center;min-width:6.6rem;white-space:nowrap}
.sort-direction:disabled{background:#efede7;color:var(--muted);cursor:default}
.active-filters{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .7rem}
.active-filters::before{color:var(--muted);content:'Active';font:8px CourtGPTMono,monospace;letter-spacing:.08em;margin-right:.15rem;text-transform:uppercase}
.active-filter{background:#f2eee5;border:1px solid var(--line-strong);color:#4e4a42;font:8px CourtGPTMono,monospace;min-height:1.7rem;padding:.26rem .38rem;text-transform:none}
.active-filter:hover{background:var(--gold-wash);border-color:var(--gold)}

.asset-list-head,.asset-open{align-items:center;display:grid;gap:.8rem;grid-template-columns:72px minmax(220px,1.4fr) minmax(150px,.8fr) 72px minmax(160px,.8fr) 84px}
.asset-list-head{background:#efebe2;border-bottom:1px solid var(--line);color:var(--muted);font:8px CourtGPTMono,monospace;letter-spacing:.08em;padding:.45rem 1rem;text-transform:uppercase}
.asset-grid{display:block;padding:0}
.asset-card{background:var(--surface-strong);border:0;border-bottom:1px solid var(--line);color:var(--ink);min-width:0;position:relative;transition:background-color 150ms ease,box-shadow 150ms ease}
.asset-card:hover{background:#fbf7ed}
.asset-card.is-selected{background:var(--gold-wash);box-shadow:inset 0 0 0 1px var(--gold)}
.asset-card.archived{opacity:.72}
.asset-open{background:transparent;border:0;color:inherit;min-height:76px;padding:.55rem 1rem;text-align:left;width:100%}
.asset-open:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}

.preview,.drawer-preview{align-items:center;background:linear-gradient(90deg,#f8f5ed 0 50%,#171713 50%);display:flex;justify-content:center;overflow:hidden;position:relative}
.preview::after,.drawer-preview::after{border:1px solid rgba(183,139,54,.3);content:'';inset:.42rem;pointer-events:none;position:absolute}
.preview{height:58px;width:72px}
.preview img,.preview video{height:100%;object-fit:contain;padding:.35rem;width:100%}
.preview-loading img,.preview-loading video{opacity:.3}
.preview-failed{background:#e8e3d9}
.placeholder{color:#766f63;display:grid;font:9px/1.4 CourtGPTMono,monospace;gap:.25rem;padding:1rem;place-items:center;text-align:center;text-transform:uppercase}
.file-glyph{border:1px solid currentColor;font:10px CourtGPTMono,monospace;letter-spacing:.06em;min-width:3.2rem;padding:.35rem .4rem}
.placeholder small{font-size:8px;letter-spacing:0;text-transform:none}
.asset-identity,.asset-usage{display:flex;flex-direction:column;min-width:0}
.asset-name{font-size:.76rem;font-weight:400;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-reference,.asset-usage small,.asset-mobile-meta{color:var(--muted);font:8px CourtGPTMono,monospace;margin-top:.22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-usage{font-size:.72rem;line-height:1.3}
.asset-file,.asset-date{color:var(--muted);font:9px CourtGPTMono,monospace;white-space:nowrap}
.asset-status{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem}
.asset-mobile-meta{display:none}
.chip{border:1px solid var(--line-strong);font:7px CourtGPTMono,monospace;letter-spacing:.04em;padding:.14rem .24rem;text-transform:uppercase}
.chip-installed,.chip-accepted{border-color:#7aa18e;color:var(--green)}
.chip-generated,.chip-extracted{border-color:#b9974d;color:var(--gold-deep)}
.chip-prompted,.chip-planned,.chip-missing{border-color:#c6867f;color:var(--rose)}
.chip-archived{border-color:#8c7a67;color:#6d5c4a}
.chip-selected{background:var(--gold-wash);border-color:var(--gold);color:var(--gold-deep)}
.asset-actions{background:rgba(255,254,250,.72);border-top:1px solid rgba(180,170,152,.55);display:none;justify-content:flex-end;padding:.35rem 1rem}
.asset-card.is-selected .asset-actions,.asset-card:focus-within .asset-actions{display:flex}
.asset-actions button{background:var(--surface-strong);border:1px solid var(--line-strong);color:#4f4b43;font:8px CourtGPTMono,monospace;min-height:1.7rem;padding:.3rem .42rem;text-transform:uppercase}
.asset-actions button+button{border-left:0}
.asset-actions button:hover{background:var(--gold-wash);border-color:var(--gold);color:var(--ink)}
.asset-actions .archive-action{color:#7a2f29}
.asset-actions button:disabled{background:#efede7;color:#8c877d;cursor:not-allowed}
.asset-actions .archive-action:disabled{color:#765d57}
.empty{border:1px dashed var(--line-strong);color:var(--muted);grid-column:1/-1;margin:0;padding:3rem;text-align:center}
.load-more-bar{border-top:1px solid var(--line);display:flex;justify-content:center;padding:.8rem}
.load-more-bar button{background:var(--ink);border:1px solid var(--ink);color:#fff;font-size:.72rem;min-height:2.4rem;padding:.5rem 1rem}

.drawer-backdrop{background:rgba(27,26,23,.48);inset:0;position:fixed;z-index:30}
.drawer{background:var(--surface);box-shadow:-8px 0 24px rgba(35,28,16,.18);height:100vh;max-width:640px;overflow:auto;padding:1.35rem;position:fixed;right:0;top:0;width:min(94vw,640px);z-index:40}
.drawer-head{align-items:start;display:flex;gap:1rem;justify-content:space-between}
.drawer h2{font-size:1.7rem;font-weight:400;letter-spacing:-.03em;margin:.35rem 0}
.icon-button{background:transparent;border:1px solid var(--line-strong);font-size:1.25rem;height:2.35rem;width:2.35rem}
.drawer-preview{border:1px solid var(--line);margin:1rem 0;min-height:300px}
.drawer-preview img,.drawer-preview video{display:block;max-height:460px;max-width:100%;object-fit:contain;padding:1rem;position:relative;z-index:1}
.lineage{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);margin:1rem 0}
.lineage-step{min-width:0;padding:.65rem .5rem}
.lineage-step+.lineage-step{border-left:1px solid var(--line)}
.lineage-step>span{color:var(--muted);display:block;font:8px CourtGPTMono,monospace;text-transform:uppercase}
.lineage-step strong{display:block;font-size:.68rem;font-weight:400;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lineage-step small{color:var(--muted);display:block;font:8px CourtGPTMono,monospace;margin-top:.2rem}
.lineage-step.available small{color:var(--green)}
.details{display:grid;gap:.52rem;grid-template-columns:104px 1fr}
.details dt{color:var(--muted);font:9px CourtGPTMono,monospace;text-transform:uppercase}
.details dd{font-size:.76rem;margin:0;overflow-wrap:anywhere}
.notes{background:var(--gold-wash);color:#554420;font-size:.75rem;line-height:1.5;padding:.75rem}
.drawer-actions{display:flex;gap:.5rem}
.drawer-actions button{background:var(--ink);border:1px solid var(--ink);color:white;min-height:2.55rem;padding:.55rem .7rem}
.drawer-actions .secondary{background:transparent;border-color:var(--line-strong);color:var(--ink)}

.lifecycle-panel{background:#f4efe4;border:1px solid var(--line);margin:1rem 0;padding:1rem}
.lifecycle-panel h3{font-size:1rem;font-weight:400;margin:.25rem 0}
.lifecycle-panel>p{color:var(--muted);font-size:.74rem;line-height:1.5}
.lifecycle-panel label{display:grid;gap:.35rem}
.lifecycle-panel label span{color:var(--muted);font:9px CourtGPTMono,monospace;text-transform:uppercase}
.lifecycle-panel textarea{background:var(--surface-strong);border:1px solid var(--line-strong);color:var(--ink);padding:.65rem;resize:vertical}
.lifecycle-actions{display:flex;gap:.5rem;margin-top:.65rem}
.lifecycle-actions button{background:var(--ink);border:1px solid var(--ink);color:#fff;min-height:2.4rem;padding:.5rem .7rem}
.lifecycle-actions .danger-secondary{background:transparent;border-color:#a56d65;color:#7a2f29}
.lifecycle-actions button:disabled{cursor:not-allowed;opacity:.45}
.lifecycle-history{border-top:1px solid var(--line);color:var(--muted);font:9px/1.45 CourtGPTMono,monospace;margin:.8rem 0 0;padding:.7rem 0 0 1.2rem}
.lifecycle-history:empty{display:none}

@media(max-width:1180px){
  .toolbar{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(128px,.7fr))}
  .advanced-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .browser-shell{grid-template-columns:250px minmax(0,1fr)}
  .asset-list-head,.asset-open{grid-template-columns:64px minmax(190px,1.2fr) minmax(130px,.8fr) 60px minmax(130px,.7fr) 74px;gap:.6rem}
  .preview{height:54px;width:64px}
}

@media(max-width:1040px){
  .browser-shell{display:block}
  .navigator{max-height:410px;overflow:auto}
}

@media(max-width:820px){
  .masthead{align-items:start;flex-direction:column}
  .control-deck{position:static}
  .toolbar{grid-template-columns:1fr 1fr}
  .toolbar .search-field{grid-column:1/-1}
  .advanced-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .control-footer{align-items:stretch;flex-direction:column}
  .control-actions{flex-wrap:wrap}
  .library-head{align-items:start;flex-direction:column}
  .library-controls{width:100%}
  .library-controls label{flex:1}
  .asset-list-head{display:none}
  .asset-open{grid-template-columns:64px minmax(0,1fr) minmax(110px,.65fr) minmax(110px,.7fr);gap:.65rem}
  .asset-file,.asset-date{display:none}
  .asset-mobile-meta{display:block}
}

@media(max-width:560px){
  .toolbar{grid-template-columns:1fr}
  .toolbar .search-field{grid-column:auto}
  .advanced-filter-grid{grid-template-columns:1fr}
  .control-actions{display:grid;grid-template-columns:1fr 1fr}
  .library-controls{align-items:end;flex-wrap:wrap}
  .asset-open{grid-template-columns:56px minmax(0,1fr) auto;grid-template-rows:auto auto;min-height:78px;padding:.55rem .65rem}
  .preview{grid-row:1/3;height:50px;width:56px}
  .asset-identity{grid-column:2;grid-row:1}
  .asset-usage{grid-column:2;grid-row:2}
  .asset-usage small{display:none}
  .asset-status{grid-column:3;grid-row:1/3;justify-content:flex-end}
  .asset-status .chip:not(:first-child){display:none}
  .asset-actions{padding:.35rem .65rem}
  .asset-card:not(.is-selected):not(:focus-within) .asset-actions{display:none}
  .drawer{width:100vw}
  .lineage{grid-template-columns:1fr 1fr}
  .lineage-step:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .lineage-step:nth-child(4){border-top:1px solid var(--line)}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
