/* app.css — ajouts strictement liés à l'entrée dans le produit (landing, dépôt, historique).
   Les tokens et la mise en page des résultats viennent de frozen.css, non modifié. */
.shell{max-width:1120px;margin:0 auto;padding:0 40px 96px}
.mast{padding:56px 0 0}
.mast .brand{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.mast h1.big{font-family:"Source Sans 3",system-ui,sans-serif;font-size:34px;font-weight:600;
  letter-spacing:-.015em;margin:10px 0 0;line-height:1.2}
.mast .sub{margin:14px 0 0;font-size:19px;line-height:1.5;color:var(--ink-2);max-width:34em;
  text-wrap:pretty}
.drop{margin:34px 0 0;padding:40px 28px;border:1.5px dashed var(--rule-2);border-radius:6px;
  background:var(--card);text-align:center;transition:border-color .12s,background .12s}
.drop.over{border-color:var(--accent);background:var(--sunk)}
.drop .cta{font:600 15px "Source Sans 3",system-ui,sans-serif;padding:13px 26px;cursor:pointer;
  border-radius:4px;background:var(--accent);border:1px solid var(--accent);color:var(--paper)}
.drop .hint{margin:14px 0 0;font-size:15px;color:var(--ink-2)}
.drop .hint2{margin:6px 0 0;font-size:13.5px;color:var(--ink-3)}
.privacy{margin:22px 0 0;padding:16px 20px;background:var(--sunk);border-radius:4px;
  font-size:15px;line-height:1.55;color:var(--ink-2);max-width:60ch}
.privacy strong{color:var(--ink);font-weight:600}
.privacy .fine{display:block;margin-top:8px;font-size:13.5px;color:var(--ink-3)}
.fmt{margin:30px 0 0}
.fmt h2{font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px;
  padding-bottom:9px;border-bottom:1px solid var(--rule)}
.fmt ul{margin:0;padding-left:20px;color:var(--ink-2);font-size:15.5px}
.fmt li{margin:5px 0}
.fmt .none{color:var(--ink-3);font-size:14.5px;margin:10px 0 0}
.state{margin:26px 0 0;padding:18px 22px;border:1px solid var(--rule);border-radius:5px;
  background:var(--card)}
.state .h{font:600 12.5px "Source Sans 3",system-ui,sans-serif;margin:0 0 7px}
.state p{margin:0;font-size:16px;line-height:1.5}
.prog{margin:26px 0 0;font-size:15.5px;color:var(--ink-2)}
.prog .bar{height:3px;background:var(--rule);border-radius:2px;overflow:hidden;margin-top:10px}
.prog .bar i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}
.hist{margin:44px 0 0}
.hist table{width:100%;border-collapse:collapse;font-size:14px}
.hist th{text-align:left;font:600 11px "Source Sans 3",system-ui,sans-serif;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-3);padding:0 12px 8px 0;border-bottom:1px solid var(--rule)}
.hist td{padding:9px 12px 9px 0;border-bottom:1px solid var(--rule);color:var(--ink-2);
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:12.5px;
  word-break:break-all}
.hist .scroll{overflow-x:auto}
.foot{margin:52px 0 0;padding-top:20px;border-top:1px solid var(--rule);font-size:13.5px;
  color:var(--ink-3);line-height:1.6}
.foot code{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:12.5px}
@media (max-width:640px){
  .shell{padding:0 20px 72px}
  .mast{padding:34px 0 0}
  .mast h1.big{font-size:27px}
  .mast .sub{font-size:17px}
  .drop{padding:30px 18px}
  .drop .cta{width:100%}
}
