/* ═══════════════════ COMPILE · « Le Repo » (application IDE, navigation par fichiers) ═══════════════════ */
html[data-da="compile"] .cm{height:100vh;box-sizing:border-box;padding-top:56px;display:grid;grid-template-columns:280px minmax(0,1fr);font-family:var(--mono);}
html[data-da="compile"] .cm-scrim{display:none;}
/* — Explorateur — */
html[data-da="compile"] .cm-side{background:rgba(var(--bg2-rgb),.94);border-right:1px solid var(--border2);overflow-y:auto;overflow-x:hidden;}
html[data-da="compile"] .cm-side-h{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border2);position:sticky;top:0;background:rgba(var(--bg2-rgb),.98);}
html[data-da="compile"] .cm-repo-name{color:var(--green);letter-spacing:.04em;text-transform:none;}
html[data-da="compile"] .cm-tree{padding:.5rem 0;}
html[data-da="compile"] .cm-tree-dir,html[data-da="compile"] .cm-tree-file{display:flex;align-items:center;gap:.45rem;width:100%;background:none;border:none;color:var(--text);font-family:var(--mono);font-size:.9rem;padding:.45rem 1rem;cursor:pointer;text-align:left;transition:background .15s;}
html[data-da="compile"] .cm-tree-dir{color:var(--green2);font-weight:500;}
html[data-da="compile"] .cm-tree-file{padding-left:1.9rem;color:var(--text);opacity:.82;}
html[data-da="compile"] .cm-tree-file:hover,html[data-da="compile"] .cm-tree-dir:hover,html[data-da="compile"] .cm-tree-file:focus-visible,html[data-da="compile"] .cm-tree-dir:focus-visible{background:rgba(var(--green-rgb),.09);opacity:1;outline:none;}
html[data-da="compile"] .cm-caret{transition:transform .2s;font-size:.6rem;display:inline-block;}
html[data-da="compile"] .cm-folder.open>.cm-tree-dir .cm-caret{transform:rotate(90deg);}
html[data-da="compile"] .cm-folder-body{display:none;}
html[data-da="compile"] .cm-folder.open>.cm-folder-body{display:block;}
html[data-da="compile"] .cm-fi{width:13px;height:13px;flex:none;border-radius:2px;background:var(--muted);opacity:.6;}
html[data-da="compile"] .cm-fi-dir{background:var(--blue);opacity:.5;}
html[data-da="compile"] .cm-fi-md{background:var(--blue);}
html[data-da="compile"] .cm-fi-json{background:var(--amber);}
html[data-da="compile"] .cm-fi-tsx,html[data-da="compile"] .cm-fi-jsx{background:var(--green);}
html[data-da="compile"] .cm-fi-php{background:#a679f0;}
html[data-da="compile"] .cm-fi-html,html[data-da="compile"] .cm-fi-yml,html[data-da="compile"] .cm-fi-js{background:var(--green2);}
/* — Zone principale — */
html[data-da="compile"] .cm-main{display:flex;flex-direction:column;min-width:0;background:rgba(var(--bg-rgb),.8);}
html[data-da="compile"] .cm-tabbar{display:flex;align-items:stretch;border-bottom:1px solid var(--border2);background:rgba(var(--bg2-rgb),.5);min-height:44px;}
html[data-da="compile"] .cm-tabs{display:flex;overflow-x:auto;scrollbar-width:none;}
html[data-da="compile"] .cm-tabs::-webkit-scrollbar{display:none;}
html[data-da="compile"] .cm-tab{display:flex;align-items:center;gap:.55rem;padding:.6rem 1.05rem;border-right:1px solid var(--border2);font-size:.86rem;color:var(--muted);cursor:pointer;white-space:nowrap;background:rgba(var(--bg2-rgb),.35);}
html[data-da="compile"] .cm-tab.on{color:var(--text);background:rgba(var(--bg-rgb),.92);box-shadow:inset 0 -2px 0 var(--green);}
html[data-da="compile"] .cm-tab-x{opacity:.4;font-size:.7rem;padding:0 .1rem;border-radius:3px;}
html[data-da="compile"] .cm-tab-x:hover{opacity:1;background:rgba(var(--text-rgb),.12);}
html[data-da="compile"] .cm-editorwrap{display:grid;grid-template-columns:minmax(0,1fr) 76px;flex:1;min-height:0;}
html[data-da="compile"] .cm-editor{overflow:auto;position:relative;}
html[data-da="compile"] .cm-panel[hidden]{display:none;}
html[data-da="compile"] .cm-panel{padding:2rem 2.4rem 5rem;}
/* code + gouttière */
html[data-da="compile"] .cm-code{display:flex;overflow-x:auto;}
html[data-da="compile"] .cm-gutter{flex:none;text-align:right;padding-right:1rem;user-select:none;color:var(--muted2);}
html[data-da="compile"] .cm-gutter span{display:block;font-size:15px;line-height:1.7;}
html[data-da="compile"] .cm-lines{font-family:var(--mono);font-size:15px;line-height:1.7;white-space:pre;color:var(--text);}
html[data-da="compile"] .tk-c{color:var(--muted);font-style:italic;}
html[data-da="compile"] .tk-k{color:var(--amber);}
html[data-da="compile"] .tk-s{color:var(--green);}
html[data-da="compile"] .tk-key{color:var(--blue);}
html[data-da="compile"] .tk-p{color:var(--muted);}
/* markdown "preview" */
html[data-da="compile"] .cm-md{max-width:840px;font-family:var(--sans);font-size:1.07rem;line-height:1.75;}
html[data-da="compile"] .cm-md h1{font-family:var(--mono);font-size:1.9rem;color:var(--text);margin-bottom:1rem;font-weight:700;}
html[data-da="compile"] .cm-md h2{font-family:var(--mono);font-size:1.15rem;color:var(--green);margin:1.8rem 0 .8rem;}
html[data-da="compile"] .cm-md p{margin-bottom:1rem;color:var(--text);opacity:.9;}
html[data-da="compile"] .cm-md blockquote{border-left:3px solid var(--green);padding:.4rem 0 .4rem 1rem;margin:1rem 0;color:var(--green2);font-style:italic;}
html[data-da="compile"] .cm-md ul{list-style:none;margin:.5rem 0 1rem;}
html[data-da="compile"] .cm-md li{padding:.28rem 0;color:var(--text);opacity:.9;position:relative;padding-left:1.2rem;}
html[data-da="compile"] .cm-md li::before{content:'–';position:absolute;left:0;color:var(--muted);}
html[data-da="compile"] .cm-md a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(var(--green-rgb),.4);}
html[data-da="compile"] .cm-md a:hover{border-color:var(--green);}
html[data-da="compile"] .cm-openlink{background:none;border:none;color:var(--green);font-family:var(--mono);font-size:1rem;cursor:pointer;padding:0;border-bottom:1px solid rgba(var(--green-rgb),.4);}
html[data-da="compile"] .cm-openlink:hover,html[data-da="compile"] .cm-openlink:focus-visible{border-color:var(--green);outline:none;}
html[data-da="compile"] .cm-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem;}
html[data-da="compile"] .cm-badge{display:inline-flex;font-family:var(--mono);font-size:.72rem;border-radius:4px;overflow:hidden;border:1px solid var(--border2);}
html[data-da="compile"] .cm-badge-k{background:rgba(var(--bg3-rgb),.9);color:var(--muted);padding:.22rem .5rem;}
html[data-da="compile"] .cm-badge-v{background:var(--green);color:var(--bg);padding:.22rem .5rem;font-weight:600;}
html[data-da="compile"] .cm-key,html[data-da="compile"] .cm-contact .tk-key,html[data-da="compile"] .cm-chrono b{color:var(--blue);}
html[data-da="compile"] .cm-chrono b{font-family:var(--mono);}
/* visionneuse d'image (assets/portrait.png) */
html[data-da="compile"] .cm-imgview{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;}
html[data-da="compile"] .cm-imgview .photo-img{width:380px;max-width:85%;}
html[data-da="compile"] .cm-imgmeta{font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--muted);}
html[data-da="compile"] .cm-fi-png{background:#d98fd4;}
/* minimap */
html[data-da="compile"] .cm-minimap{background:rgba(var(--bg2-rgb),.4);border-left:1px solid var(--border2);padding:.6rem .5rem;display:flex;flex-direction:column;gap:3px;overflow:hidden;}
html[data-da="compile"] .cm-minimap i{display:block;height:3px;background:rgba(var(--green-rgb),.28);border-radius:1px;}
/* status bar */
html[data-da="compile"] .cm-status{display:flex;align-items:center;gap:1.2rem;height:32px;padding:0 1.1rem;font-size:.74rem;letter-spacing:.04em;color:var(--text);background:rgba(var(--green-rgb),.13);border-top:1px solid var(--border2);}
html[data-da="compile"] .cm-st-branch{color:var(--green);}
html[data-da="compile"] .cm-st-spacer{flex:1;}
html[data-da="compile"] .cm-st-lang,html[data-da="compile"] .cm-st-enc{opacity:.7;}
/* hamburger (mobile) */
html[data-da="compile"] .cm-ham{display:none;flex-direction:column;gap:3px;justify-content:center;padding:0 .8rem;background:none;border:none;border-right:1px solid var(--border2);cursor:pointer;}
html[data-da="compile"] .cm-ham span{width:16px;height:2px;background:var(--text);border-radius:2px;}
@media(min-width:1025px){
  html[data-da="compile"] .cm{padding-top:0;}   /* nav = sidebar : l'éditeur monte jusqu'en haut */
}
@media(max-width:820px){
  html[data-da="compile"] .cm{grid-template-columns:1fr;}
  html[data-da="compile"] .cm-panel{padding:1.3rem 1rem 4rem;}
  html[data-da="compile"] .cm-side{position:fixed;top:56px;bottom:0;left:0;width:75%;max-width:280px;z-index:130;transform:translateX(-100%);transition:transform .28s var(--ease);}
  html[data-da="compile"] .cm-side.open{transform:none;box-shadow:0 0 60px rgba(0,0,0,.5);}
  html[data-da="compile"] .cm-ham{display:flex;}
  html[data-da="compile"] .cm-scrim{display:block;position:fixed;inset:56px 0 0;z-index:125;background:rgba(0,0,0,.5);border:none;opacity:0;pointer-events:none;transition:opacity .28s;}
  html[data-da="compile"] .cm-scrim.on{opacity:1;pointer-events:auto;}
  html[data-da="compile"] .cm-editorwrap{grid-template-columns:1fr;}
  html[data-da="compile"] .cm-minimap{display:none;}
}
