
:root{--bg:#090d12;--panel:#111821;--line:#273443;--text:#f4f7fb;--muted:#9cacbd;--gold:#f3a72d;--ok:#29b36b;--err:#e35353;--warn:#e9a536}
*{box-sizing:border-box}html,body{margin:0;background:radial-gradient(circle at 80% -10%,#1b2b3d,transparent 36rem),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}
button,a{font:inherit}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(8,12,17,.94);backdrop-filter:blur(14px);border-bottom:1px solid #3a4654}
.brand{display:flex;gap:11px;align-items:center}.hammer{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#293849,#111820);font-size:24px;border:1px solid #40536a}.brand b{display:block;color:#ffd17d;font-size:20px;letter-spacing:.08em}.brand span{display:block;color:#9dabb9;font-size:12px}
.primary,.download{border:1px solid #ffd57f;border-radius:13px;background:linear-gradient(180deg,#ffc458,#e48710);color:#1b1004;font-weight:950;padding:11px 15px;text-decoration:none;cursor:pointer}
main{width:min(1180px,94vw);margin:24px auto 60px}.hero{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:22px;border:1px solid #334357;border-radius:24px;background:linear-gradient(145deg,#111c28,#0b1017);box-shadow:0 20px 50px rgba(0,0,0,.26)}.kicker,.eyebrow{color:#6dbbff;font-size:11px;font-weight:950;letter-spacing:.12em}.hero h1{margin:5px 0 8px;font-size:clamp(28px,5vw,48px);line-height:1}.hero p{margin:0;color:#a8b4c2;line-height:1.55;max-width:760px}
.global-lamp{min-width:210px;padding:16px;border-radius:18px;border:1px solid #435164;background:#0c1219;display:flex;align-items:center;gap:10px}.global-lamp span{width:19px;height:19px;border-radius:50%;background:#718094;box-shadow:0 0 15px currentColor}.global-lamp.ok span{background:var(--ok)}.global-lamp.error span{background:var(--err)}.global-lamp b{font-size:13px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:16px 0}.summary-grid article{padding:15px;border-radius:17px;background:#101720;border:1px solid #293747}.summary-grid span{display:block;color:#9eabba;font-size:12px}.summary-grid b{display:block;margin-top:5px;font-size:28px}
.panel{margin-top:16px;padding:18px;border:1px solid #2b394a;border-radius:21px;background:linear-gradient(145deg,#101721,#0c1118)}.panel-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.panel h2{margin:3px 0 0}.muted{color:var(--muted)}
.apps-list,.links-list{display:grid;gap:9px}.app-card,.link-card{border:1px solid #314054;border-radius:16px;background:#0b121a;padding:13px}.app-top,.link-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.app-name{font-weight:950;font-size:16px}.app-role{color:#91a0b1;font-size:12px;margin-top:2px}.status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:950}.status.ok{background:#113b27;color:#6de3a0;border:1px solid #2d7750}.status.error{background:#45191c;color:#ff9090;border:1px solid #8d373d}.status.warning{background:#3a2b0d;color:#ffd275;border:1px solid #80601d}
.probes{display:grid;gap:6px;margin-top:10px}.probe{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;padding:8px;border-radius:10px;background:#111b25;font-size:11px}.dot{width:9px;height:9px;border-radius:50%}.dot.ok{background:var(--ok)}.dot.error{background:var(--err)}.probe code{color:#8fa6bd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.probe .ms{color:#8ca0b3}.regression{margin:16px 0;padding:15px;border-radius:18px;border:2px solid #a13a3a;background:linear-gradient(145deg,#351415,#1e0e10)}.regression-title{color:#ff9696;font-weight:1000;margin-bottom:7px}.regression-item{padding:8px 0;border-top:1px solid #5c2828}.download-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.download{background:#172331;color:#ffd280;border-color:#805a21}.empty{padding:24px;text-align:center;color:#8493a4}.busy{position:fixed;inset:0;z-index:100;background:rgba(3,6,9,.85);display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center}.spinner{width:48px;height:48px;border-radius:50%;border:5px solid #27384a;border-top-color:#f4a82c;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.hero{grid-template-columns:1fr}.global-lamp{min-width:0}.summary-grid{grid-template-columns:repeat(2,1fr)}.probe{grid-template-columns:auto 1fr auto}.probe .ms{grid-column:2}.top{align-items:flex-start}.brand span{display:none}}

/* Marteau v0.2.0 */
.top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.btn:disabled{opacity:.45;cursor:not-allowed}
.history-list{display:grid;gap:8px;margin-top:12px}
.history-row{display:grid;grid-template-columns:minmax(190px,1fr) 110px minmax(150px,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line,#263849);border-radius:10px;background:rgba(255,255,255,.02)}
.history-row b.ok{color:#4ddc86}
.history-row b.warning{color:#ffc64d}
.history-row b.error{color:#ff6666}
.global-lamp.warning span{background:#ffc64d;box-shadow:0 0 14px #ffc64d}
.status.warning{color:#ffc64d;border-color:#7b5b16;background:rgba(255,198,77,.08)}
@media(max-width:720px){
  .history-row{grid-template-columns:1fr}
  .top-actions{justify-content:stretch}
  .top-actions .btn{flex:1 1 100%}
}
