/* =====================================================================
   ACCUEIL — façon bureau Quickshell / Hyprland, palette Nord
   Polar Night #2E3440 #3B4252 #434C5E #4C566A · Snow Storm #D8DEE9 #E5E9F0 #ECEFF4
   Frost #8FBCBB #88C0D0 #81A1C1 #5E81AC · Aurora #BF616A #D08770 #EBCB8B #A3BE8C #B48EAD
   Le mode clair / sombre ne change que l'interface, jamais le fond d'écran.
   ===================================================================== */
body.p-home{
  --n0:#2e3440;--n1:#3b4252;--n2:#434c5e;--n3:#4c566a;--s0:#d8dee9;--s1:#e5e9f0;--s2:#eceff4;
  --frost:#88c0d0;--frost2:#81a1c1;--blue:#5e81ac;--teal:#8fbcbb;
  --red:#bf616a;--orange:#d08770;--yellow:#ebcb8b;--green:#a3be8c;--purple:#b48ead;
  --bg:var(--n0);--surface:rgba(46,52,64,.80);--surface2:rgba(67,76,94,.75);--ink:var(--s2);--muted:#aab3c3;
  --line:rgba(216,222,233,.10);--accent:var(--frost);--accent-ink:var(--n0);--card:var(--n1);--bg2:var(--n1);
  font-family:"Rubik",system-ui,sans-serif;font-size:15px;line-height:1.5;color:var(--ink);background:var(--n0);min-height:100vh;
}
html[data-theme="light"] body.p-home{
  --surface:rgba(236,239,244,.84);--surface2:rgba(216,222,233,.85);--ink:var(--n0);--muted:#4c566a;
  --line:rgba(46,52,64,.13);--accent:var(--blue);--accent-ink:var(--s2);--card:var(--s1);--bg2:var(--s1);
}
.ms{font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;
  text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;
  font-variation-settings:"FILL" 0,"wght" 400,"opsz" 24;overflow:hidden;max-width:1.2em;vertical-align:-4px;visibility:hidden;width:1.2em}
html.ms-ok .ms{visibility:visible;width:auto}

/* ---- Fond d'écran (identique en clair et en sombre) ---- */
.wall{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#2e3440}
.wall img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.9);transform-origin:60% 40%;animation:kenburns 70s ease-in-out infinite alternate}
.wall::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(46,52,64,.55),rgba(46,52,64,.22) 40%,rgba(46,52,64,.55))}
@keyframes kenburns{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.14) translate(-2%,1.5%)}}

/* ---- Barre ---- */
.qs-bar{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:10px 12px}
.qs-right{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.qs-pill{display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:14px;background:var(--surface);
  backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid var(--line);color:var(--ink);
  box-shadow:0 6px 24px rgba(20,24,32,.25);font:inherit;cursor:default}
button.qs-pill{cursor:pointer}
.qs-logo{justify-self:start;font-weight:600;font-size:15px}
.qs-logo img{border-radius:6px}
a.qs-logo:hover{text-decoration:none;border-color:var(--frost)}
/* Onglets */
.qs-ws{position:relative;padding:0 5px;gap:2px}
.qs-ws a{position:relative;z-index:1;display:flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:10px;color:var(--muted);font:500 14px "Rubik",sans-serif;transition:color .25s}
.qs-ws a i{width:8px;height:8px;border-radius:50%;background:var(--w);flex:none;transition:transform .3s}
.qs-ws a:hover{color:var(--ink);text-decoration:none}
.qs-ws a:hover i{transform:scale(1.35)}
.qs-ws a.on{color:var(--accent-ink)}
.qs-ws a.on i{background:var(--accent-ink)}
.qs-ind{position:absolute;z-index:0;top:5px;height:32px;left:0;width:0;border-radius:10px;background:var(--accent);
  transition:left .35s cubic-bezier(.3,.7,.2,1),width .35s cubic-bezier(.3,.7,.2,1),background .3s}
.qs-ws.hovering .qs-ind{background:var(--surface2)}
.qs-ws.hovering a.on{color:var(--muted)}
.qs-ws.hovering a.on i{background:var(--w)}
.qs-ws.hovering a:hover{color:var(--ink)}
/* Horloge */
.qs-clock{font:600 15px "JetBrains Mono",monospace;gap:10px}
.qs-clock .sec{color:var(--muted);font-weight:400}
.qs-date{font:400 13.5px "Rubik",sans-serif;color:var(--muted)}
#qs-wx{font:500 13px "JetBrains Mono",monospace}
.qs-tray{padding:0 5px;gap:2px}
.qs-tray button{width:34px;height:32px;border:0;border-radius:10px;background:none;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.qs-tray button:hover{background:var(--surface2)}
.w-title .ms,.qs-btn .ms,.w-link,.qs-logo .ms,#qs-wx .ms{color:var(--accent)}

/* ---- Pop-ups (calendrier, météo) ---- */
.qs-pop-wrap{position:relative}
.qs-clock-wrap{justify-self:center}
.qs-pop{position:absolute;top:calc(100% + 10px);z-index:70;min-width:280px;padding:16px;border-radius:18px;background:var(--surface);
  backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border:1px solid var(--line);box-shadow:0 18px 50px rgba(20,24,32,.4);
  opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:opacity .2s,transform .25s cubic-bezier(.3,.7,.2,1)}
.qs-clock-wrap .qs-pop{left:50%;margin-left:-150px;width:300px}
.qs-wx-wrap .qs-pop{right:0;width:330px}
.qs-pop-wrap:hover .qs-pop,.qs-pop-wrap:focus-within .qs-pop,.qs-pop-wrap.open .qs-pop{opacity:1;transform:none;pointer-events:auto}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600;text-transform:none}
.cal-head button{width:28px;height:28px;border-radius:8px;border:0;background:var(--surface2);color:var(--ink);cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;font:13px "JetBrains Mono",monospace}
.cal-grid .dow{color:var(--muted);font:500 11.5px "Rubik",sans-serif;padding-bottom:4px}
.cal-grid span{height:32px;display:grid;place-items:center;border-radius:9px}
.cal-grid .out{color:var(--muted);opacity:.45}
.cal-grid .we{color:var(--frost2)}
.cal-grid .today{background:var(--accent);color:var(--accent-ink);font-weight:700}
.wx-now{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center}
.wx-now .big{font:600 40px/1 "Rubik",sans-serif;grid-row:span 2}
.wx-now .ico{font-size:30px}
.wx-desc{color:var(--muted);font-size:13.5px}
.wx-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:14px 0;font-size:13px}
.wx-facts span{color:var(--muted)}
.wx-days{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid var(--line);padding-top:12px;text-align:center;font-size:13px}
.wx-days b{display:block;font-weight:500}
.wx-days small{color:var(--muted)}
.wx-metar{margin-top:12px;font:11.5px/1.5 "JetBrains Mono",monospace;color:var(--muted);word-break:break-word}
.wx-src{margin-top:8px;font-size:11.5px;color:var(--muted)}

/* ---- Notification (façon swaync / mako) ---- */
.qs-notif{position:fixed;top:66px;right:12px;z-index:80;width:min(360px,calc(100vw - 24px));display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;
  padding:14px 14px 16px;border-radius:16px;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--line);
  box-shadow:0 18px 50px rgba(20,24,32,.4);overflow:hidden;transform:translateX(120%);transition:transform .5s cubic-bezier(.3,.7,.2,1)}
.qs-notif.show{transform:none}
.qs-notif > .ms{color:var(--yellow);font-size:24px}
.qs-notif b{font-weight:600}
.qs-notif p{font-size:13.5px;color:var(--muted);margin-top:2px}
.qs-notif button{border:0;background:none;color:var(--muted);cursor:pointer;width:28px;height:28px;border-radius:8px}
.qs-notif button:hover{background:var(--surface2)}
.qs-notif i{position:absolute;left:0;bottom:0;height:3px;background:var(--accent);width:100%;transform-origin:left}
.qs-notif.show i{animation:notif 8s linear forwards}
.qs-notif:hover i{animation-play-state:paused}
@keyframes notif{to{transform:scaleX(0)}}

/* ---- Bureau : grille de widgets ---- */
.qs-desk{max-width:1320px;margin:0 auto;padding:18px 12px 40px;display:grid;gap:12px;
  grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:
  "pro pro pro pro term term term term term term term term"
  "app app app app term term term term term term term term"
  "med med med med med med ppl ppl ppl ppl ppl ppl"}
.w{background:var(--surface);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);
  border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 40px rgba(20,24,32,.28);min-width:0;
  animation:pop-in .6s cubic-bezier(.3,.7,.2,1) both;animation-delay:calc(var(--d,0) * 80ms)}
@keyframes pop-in{from{opacity:0;transform:translateY(14px) scale(.985)}}
.w-profile{grid-area:pro;--d:1}.w-launch{grid-area:app;--d:2}.w-term{grid-area:term;--d:3}.w-media{grid-area:med;--d:4}.w-ppl{grid-area:ppl;--d:5}
.w-title{display:flex;align-items:center;gap:8px;font:500 14px "Rubik",sans-serif;color:var(--muted);margin-bottom:14px;letter-spacing:0}
.w-title .ms{font-size:18px}

/* Profil */
.w-profile{display:grid;grid-template-columns:88px 1fr;gap:16px 18px;align-items:center}
.pf-photo{width:88px;height:88px;border-radius:50%;border:3px solid var(--frost)}
.pf-photo img{object-position:center 18%;filter:grayscale(1)}
.w-profile h1{font:600 24px/1.15 "Rubik",sans-serif;letter-spacing:-.01em;color:var(--ink)}
.pf-sub{color:var(--muted);margin-top:4px;font-size:14px}
.pf-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qs-btn{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;background:var(--surface2);border:1px solid var(--line);
  color:var(--ink);font:500 13.5px "Rubik",sans-serif;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden}
.qs-btn .ms{font-size:18px}
.qs-btn:hover{text-decoration:none;border-color:var(--frost)}
.qs-btn.tel{text-decoration:none;font-family:"JetBrains Mono",monospace;font-size:13px}
.qs-btn.tel::after{margin-left:auto}

/* Lanceur */
.apps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.app{position:relative;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px;border-radius:14px;
  background:var(--surface2);border:1px solid var(--line);color:var(--ink);transition:border-color .2s}
.app .ms{grid-row:1 / span 2;width:36px;height:36px;max-width:none;border-radius:11px;display:grid;place-items:center;background:var(--a);color:#2e3440;font-size:20px;transition:transform .3s cubic-bezier(.3,.7,.2,1.6)}
.app b{font-weight:600;font-size:14.5px}
.app small{color:var(--muted);font-size:12px;line-height:1.3}
.app kbd{position:absolute;top:8px;right:9px;font:11px "JetBrains Mono",monospace;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 5px}
.app:hover{text-decoration:none;border-color:var(--a)}
.app:hover .ms{transform:rotate(-8deg) scale(1.08)}

/* Terminal : thème Nord comme dans kitty, en clair comme en sombre */
.w-term{padding:0;overflow:hidden;display:flex;flex-direction:column}
.w-term .home-term{flex:1;display:flex}
.w-term .term{flex:1;border:0;border-radius:0;box-shadow:none;background:#2e3440;display:flex;flex-direction:column;color:#d8dee9}
.w-term .term-body{flex:1;height:auto;min-height:380px}
.w-term .term-bar{background:#3b4252;border-bottom:1px solid rgba(216,222,233,.08);color:#9aa5b8}
.w-term .term .pr{color:#a3be8c}.w-term .term .pa{color:#81a1c1}.w-term .term .hl{color:#88c0d0}.w-term .term .dim{color:#7b88a1}.w-term .term .err{color:#bf616a}
.w-term .term a{color:#88c0d0}
.w-term .term input{caret-color:#88c0d0}
.w-term .pal i:nth-child(1){color:#bf616a}.w-term .pal i:nth-child(2){color:#d08770}.w-term .pal i:nth-child(3){color:#ebcb8b}.w-term .pal i:nth-child(4){color:#a3be8c}
.w-term .pal i:nth-child(5){color:#8fbcbb}.w-term .pal i:nth-child(6){color:#88c0d0}.w-term .pal i:nth-child(7){color:#81a1c1}.w-term .pal i:nth-child(8){color:#b48ead}
.cmds{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px;border-top:1px solid var(--line);background:var(--surface)}
.cmd{font:500 12.5px "JetBrains Mono",monospace;background:var(--surface2);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:6px 11px;cursor:pointer}
.cmd:hover,.cmd:focus-visible{border-color:var(--frost);color:var(--accent)}

/* Lecteur « vu récemment » */
.media{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center}
.media-art{width:96px;aspect-ratio:2/3;border-radius:12px;overflow:hidden;position:relative;background:linear-gradient(160deg,var(--red),#7d3a43);
  display:flex;align-items:flex-end;padding:8px;color:#fff;font:600 12px/1.2 "Rubik",sans-serif;transition:transform .4s}
.media-art.swap{animation:swap .45s cubic-bezier(.3,.7,.2,1)}
@keyframes swap{from{opacity:0;transform:translateX(16px) rotate(2deg)}}
.media-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.media-info b{font-size:18px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-info > span{color:var(--muted);font-size:13.5px}
.cava{display:flex;align-items:flex-end;gap:3px;height:26px;margin-top:8px}
.cava i{flex:1;max-width:8px;border-radius:2px 2px 0 0;background:linear-gradient(0deg,var(--red),var(--orange));height:20%;animation:cava 1s ease-in-out infinite alternate}
.w-media.paused .cava i{animation-play-state:paused}
@keyframes cava{0%{height:15%}50%{height:var(--h1,70%)}100%{height:var(--h2,35%)}}
.media-bar{height:5px;border-radius:5px;background:var(--surface2);margin:8px 0 6px;overflow:hidden}
.media-bar i{display:block;height:100%;width:100%;background:var(--red);border-radius:5px;transform-origin:left;transform:scaleX(0)}
.media-bar i{transition:none;will-change:transform}
@keyframes mbar{to{transform:scaleX(1)}}
.media-ctl{display:flex;gap:6px}
.media-ctl button,.media-ctl a{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.media-ctl button:hover,.media-ctl a:hover{border-color:var(--red);text-decoration:none}

/* PPL */
.ppl-w{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center}
.ring{width:110px;height:110px;position:relative}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring svg .arc{transition:stroke-dashoffset 1.4s cubic-bezier(.3,.7,.2,1) .4s}
.ring b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font:600 22px/1.1 "JetBrains Mono",monospace}
.ring b small{font:400 11.5px "Rubik",sans-serif;color:var(--muted);margin-top:2px}
.ppl-w > div{display:flex;flex-direction:column;gap:4px}
.ppl-w b#pw-next{font-size:17px;font-weight:600}
#pw-note{color:var(--muted);font-size:13.5px}
.w-link{margin-top:8px;font-weight:500;font-size:14px}

/* Divers */
body.p-home .toast{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(20px)}
body.p-home .site-footer{display:none}
@media (max-width:1180px){
  .qs-bar{grid-template-columns:1fr auto;grid-template-areas:"logo right" "clock clock"}
  .qs-logo{grid-area:logo}.qs-right{grid-area:right}.qs-clock-wrap{grid-area:clock;justify-self:stretch}
  .qs-clock{width:100%;justify-content:center}
  .qs-desk{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"pro app" "term term" "med ppl"}
}
@media (max-width:760px){
  .qs-bar{grid-template-columns:1fr auto;grid-template-areas:"logo tray" "ws ws" "clock clock";padding:8px;gap:8px}
  .qs-right{display:contents}
  .qs-ws{grid-area:ws;justify-content:space-between;overflow-x:auto}
  .qs-ws a{padding:0 9px;font-size:13px}
  .qs-wx-wrap{display:none}
  .qs-tray{grid-area:tray}
  .qs-logo span{font-size:14px}
  .qs-desk{grid-template-columns:1fr;grid-template-areas:"pro" "app" "term" "med" "ppl";padding-top:8px}
  .w-term .term-body{min-height:300px}
  .qs-notif{top:auto;bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  .wall img,.cava i,.w,.qs-notif i{animation:none}
  .qs-ind,.qs-notif,.ring svg .arc{transition:none}
}
body.p-home button.qs-btn.tel{background:var(--surface2);border:1px solid var(--line);padding:0 12px;color:var(--ink);cursor:copy}
body.p-home button.qs-btn.tel:hover{border-color:var(--frost)}
@media (max-width:760px){ .qs-ws{gap:0;padding:0 3px} .qs-ws a{padding:0 7px;gap:5px;font-size:12.5px} .qs-ws a i{width:6px;height:6px} }
@media (max-width:380px){ .qs-ws a i{display:none} }

/* ===== v3 : plus compact (≈ 90 %), présentation du site, tout tient dans l'écran ===== */
body.p-home{font-size:14px}
.qs-bar{padding:8px 12px}
.qs-pill{height:38px;border-radius:13px}
.qs-ws a{height:29px;font-size:13.5px;padding:0 11px}
.qs-ind{top:4px;height:29px}
.qs-clock{font-size:14px}
.qs-desk{gap:10px;padding:10px 12px 14px;max-width:1300px;
  grid-template-areas:
  "pro pro pro pro term term term term term term term term"
  "app app app app term term term term term term term term"
  "abt abt abt abt med med med med ppl ppl ppl ppl"}
.w{padding:15px;border-radius:18px}
.w-title{margin-bottom:10px;font-size:13.5px}
.w-profile{grid-template-columns:72px 1fr;gap:12px 16px}
.pf-photo{width:72px;height:72px}
.w-profile h1{font-size:21px}
.pf-sub{font-size:13px}
.qs-btn{height:34px;font-size:13px}
.app{padding:9px 10px;grid-template-columns:32px 1fr}
.app .ms{width:32px;height:32px;font-size:18px}
.app b{font-size:13.5px}
.media{grid-template-columns:76px 1fr;gap:14px}
.media-art{width:76px}
.media-info b{font-size:16px}
.ppl-w{grid-template-columns:92px 1fr;gap:14px}
.ring{width:92px;height:92px}
.ring b{font-size:19px}
.w-about{grid-area:abt;--d:4}
.w-about p{color:var(--muted);font-size:13.5px;line-height:1.5}
.w-about p + p{margin-top:8px}
.about-cta{margin-top:12px;width:max-content}
.w-media{--d:5}.w-ppl{--d:6}
/* Le terminal défile à l'intérieur de sa fenêtre */
.w-term,.w-term .home-term,.w-term .term{min-height:0}
.w-term .term-body{flex:1 1 0;min-height:0;overflow-y:auto}

/* Ordinateur : la page tient dans la fenêtre, sans défilement */
@media (min-width:1181px) and (min-height:700px){
  body.p-home{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
  .qs-desk{flex:1 1 auto;min-height:0;width:100%;grid-template-rows:auto minmax(0,1fr) auto}
  .w-launch{display:flex;flex-direction:column}
}
@media (max-width:1180px){
  .qs-desk{grid-template-areas:"pro app" "term term" "abt abt" "med ppl"}
  .w-term .term-body{flex:none;height:340px}
}
@media (max-width:760px){
  .qs-desk{grid-template-areas:"pro" "abt" "app" "term" "med" "ppl"}
  .w-term .term-body{height:320px}
}
.w.w-term{padding:0}
.w-launch .apps{flex:1;grid-auto-rows:1fr}
.w-launch .app{align-content:center}

/* ===== v4 : échelle 90 % sur ordinateur (équivaut au zoom navigateur à 90 %) ===== */
@media (min-width:1181px){
  body.p-home{zoom:.9}
}
@media (min-width:1181px) and (min-height:700px){
  body.p-home{height:calc(100vh / .9);height:calc(100dvh / .9)}
}
.qs-desk{grid-template-areas:
  "pro pro pro pro term term term term term term term term"
  "app app app app term term term term term term term term"
  "abt abt abt abt term term term term term term term term"
  "med med med med med med ppl ppl ppl ppl ppl ppl"}
.w-launch .apps{flex:none;grid-auto-rows:auto}
@media (min-width:1181px) and (min-height:700px){
  .qs-desk{grid-template-rows:auto auto minmax(0,1fr) auto}
  .w-about{display:flex;flex-direction:column}
  .w-about .about-cta{margin-top:auto}
}
@media (max-width:1180px){ .qs-desk{grid-template-areas:"pro app" "term term" "abt abt" "med ppl"} }
@media (max-width:760px){ .qs-desk{grid-template-areas:"pro" "abt" "app" "term" "med" "ppl"} }
.w-about{overflow:hidden}
@media (min-width:1181px) and (max-height:860px){ .w-about p + p{display:none} }
@media (min-width:1181px) and (max-height:699px){
  body.p-home{height:auto;overflow:auto}
  .qs-desk{grid-template-rows:auto}
  .w-term .term-body{flex:none;height:360px}
}

/* ===== v5 : plus horizontal et plus aéré (3 colonnes : moi · terminal · à côté) ===== */
@media (min-width:1181px){
  .qs-desk{max-width:1680px;gap:18px;padding:18px 28px 22px;
    grid-template-columns:minmax(300px,1fr) minmax(0,1.75fr) minmax(300px,1fr);
    grid-template-areas:"pro term abt" "app term med" "app term ppl";
    grid-template-rows:auto minmax(0,1fr) auto}
  .w{padding:18px}
  .w-about p + p{display:block}
  .w-launch{display:flex;flex-direction:column}
  .w-launch .apps{flex:1;grid-auto-rows:1fr}
  .w-ppl{align-self:end}
}
@media (min-width:1181px) and (max-height:820px){ .w-about p + p{display:none} .w{padding:14px} .qs-desk{gap:14px;padding-top:12px} }

/* ===== v6 : deux colonnes latérales empilées autour du terminal ===== */
.qs-col{display:contents}
@media (min-width:1181px){
  .qs-desk{grid-template-areas:"l term r";grid-template-rows:minmax(0,1fr);align-items:stretch}
  .qs-col{display:flex;flex-direction:column;gap:18px;min-height:0}
  .col-l{grid-area:l}.col-r{grid-area:r}
  .qs-col > .w{flex:0 0 auto}
  .w-launch{flex:1 1 auto !important;min-height:0}
  .w-launch .apps{grid-template-columns:1fr;grid-auto-rows:1fr;flex:1}
  .w-launch .app{grid-template-columns:40px 1fr;padding:10px 14px}
  .w-launch .app .ms{width:40px;height:40px;font-size:21px}
  .w-ppl{align-self:stretch}
  .w-about{flex:0 0 auto}
  .w-media{flex:1 1 auto !important;display:flex;flex-direction:column;min-height:0}
  .w-media .media{margin:auto 0;grid-template-columns:110px 1fr;gap:18px}
  .w-media .media-art{width:110px}
  .w-media .cava{height:46px}
}
@media (min-width:1181px) and (max-height:820px){
  .w-media .media{grid-template-columns:80px 1fr}.w-media .media-art{width:80px}
  .qs-col{gap:14px}
}
.w-term .term-icon img{width:88px;height:88px}
.w-term .term-icon{font-size:14px}
@media (min-width:1181px) and (min-height:860px){ .w-media .media{grid-template-columns:130px 1fr}.w-media .media-art{width:130px} }

/* ===== v7 : point du logo, icône téléphone, synopsis et notes, actualités Arch ===== */
.qs-dot{font-style:normal;color:var(--frost);font-weight:700;margin:0 1px}
.ic-tel{width:15px;height:15px;flex:none;color:var(--accent);margin-right:2px}
.qs-btn.tel{gap:7px}
.mw-notes{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.mw-notes:empty{display:none}
.mw-notes span{display:inline-flex;align-items:baseline;gap:4px;padding:2px 8px;border-radius:8px;background:var(--surface2);border:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.mw-notes b{color:var(--yellow);font-size:14px}
.mw-notes .mw-moi{color:var(--yellow)}
.mw-notes small{font-size:11px;opacity:.8}
.mw-syn{margin-top:12px;color:var(--muted);font-size:13.5px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.mw-syn.vide{font-style:italic;opacity:.7;font-size:12.5px}
.w-arch{--d:7}
.ic-arch{width:17px;height:17px;color:#1793d1}
.w-more{margin-left:auto;font-size:12.5px;color:var(--frost)}
.arch-news{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.arch-news li{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:6px 8px;border-radius:10px;font-size:13.5px}
.arch-news li:hover{background:var(--surface2)}
.arch-news a{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.arch-news li.new a::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1793d1;margin-right:7px;vertical-align:2px}
.arch-news time{color:var(--muted);font-size:12px;white-space:nowrap}
.arch-news li.off{display:block;color:var(--muted);font-size:12.5px;font-style:italic}
.arch-news code{font-style:normal}
@media (min-width:1181px){
  .w-media .media{margin:0;grid-template-columns:96px 1fr}
  .w-media .media-art{width:96px}
  .w-media .cava{height:30px}
  .w-media .mw-syn{flex:1 1 auto;min-height:0;-webkit-line-clamp:7}
  .w-arch{flex:0 0 auto}
  .w-about p + p{display:none}
}
@media (min-width:1181px) and (max-height:820px){
  .w-media .mw-syn{-webkit-line-clamp:3}
  .arch-news li:nth-child(n+4){display:none}
  .w-media .cava{display:none}
}
@media (max-width:1180px){ .qs-desk{grid-template-areas:"pro app" "term term" "abt abt" "med ppl" "arch arch"} .w-arch{grid-area:arch} }
@media (max-width:760px){ .qs-desk{grid-template-areas:"pro" "abt" "app" "term" "med" "arch" "ppl"} }
@media (min-width:1181px) and (max-width:1440px){ .qs-btn.tel{font-size:12px;padding:0 8px !important;gap:5px} }

/* Synopsis : défilement dans le widget au lieu d'être coupé */
.mw-syn{display:block;-webkit-line-clamp:unset;overflow-y:auto;max-height:9.5em;padding-right:6px;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--surface2) transparent}
.mw-syn::-webkit-scrollbar{width:6px}
.mw-syn::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:3px}
@media (min-width:1181px){ .w-media .mw-syn,.w-media .mw-syn.vide{-webkit-line-clamp:unset;max-height:none;flex:1 1 0;min-height:3em} }
