/* Portail Lanceur / Raccourcis. Les douze liens restent utilisables sans JavaScript. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pesev-page);color:var(--pesev-ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
a{color:inherit}button,input{font:inherit}
.shell{max-width:1210px;margin:auto;padding:0 34px 44px}
html[data-pesev-page=home] .pesev-site-header{max-width:1200px;position:sticky;top:0;z-index:50;background:var(--pesev-page);padding:22px 24px;flex-wrap:nowrap}
html[data-pesev-page=home] .pesev-tool-brand:hover{background:transparent;color:var(--pesev-ink)}
.pesev-tool-brand .home-techtext{position:relative;width:max-content;font-size:clamp(32px,3vw,36px);font-weight:600;letter-spacing:-.025em;isolation:isolate;user-select:none}
.home-techtext canvas{position:absolute;left:-20px;top:-20px;width:calc(100% + 40px);height:calc(100% + 40px);pointer-events:none;opacity:0}
.home-techtext[data-tech-ready] canvas{opacity:1}
.home-techtext[data-tech-ready] .home-techtext-fallback{opacity:0}
.home-launcher{position:relative;z-index:3;isolation:isolate;text-align:center;padding:54px 0 30px}
.home-launcher-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--pesev-ink) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pesev-ink) 9%,transparent) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 50% 70% at 50% 35%,#000,transparent)}
.home-launcher-cell{position:absolute;left:var(--cell-x);top:var(--cell-y);width:43px;height:43px;margin:1px 0 0 1px;background:var(--pesev-link);opacity:0;animation:home-launcher-cell var(--cell-duration,6s) ease-in-out var(--cell-delay,0s) infinite;animation-play-state:paused}
.home-launcher-cell:nth-child(3n){background:var(--pesev-muted)}
.home-launcher-backdrop[data-grid-active]>.home-launcher-cell{animation-play-state:running}
@keyframes home-launcher-cell{0%,18%,78%,100%{opacity:0}45%{opacity:.09}}
@media(forced-colors:active){.home-launcher-backdrop{display:none}}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:1.7px}
.point{width:7px;height:7px;border-radius:50%;background:var(--pesev-ink);box-shadow:0 0 0 4px var(--pesev-soft)}
h1{font-size:46px;line-height:1.1;font-weight:780;letter-spacing:-1.8px;margin:20px 0 24px;overflow-wrap:anywhere}
.home-discovery{max-width:680px;position:relative;margin:0 auto 20px;z-index:5}
.home-search{display:flex;align-items:center;gap:14px;min-height:60px;padding:0 12px 0 22px;background:var(--pesev-surface);border:1px solid var(--pesev-link);border-radius:16px;box-shadow:0 0 0 4px var(--pesev-soft),0 18px 40px #20334c0d;text-align:left}
.home-search>svg{width:20px;height:20px;flex:none;color:var(--pesev-muted)}
.home-search input{min-width:0;width:100%;height:58px;border:0!important;outline:none;background:transparent!important;color:var(--pesev-ink);font-size:16px;padding:0;box-shadow:none}
.home-search input::placeholder{color:var(--pesev-muted);opacity:1}
.home-search:focus-within{outline:3px solid var(--pesev-link);outline-offset:3px}
.home-search-hint{flex:none;border:1px solid var(--pesev-line);border-radius:7px;background:var(--pesev-surface-alt);padding:3px 7px;font-size:11px;font-weight:700;color:var(--pesev-muted)}
.home-search-shortcut{display:flex;gap:3px;border:0;background:none;padding:0}.home-search-shortcut kbd{min-width:22px;border:1px solid var(--pesev-line);border-radius:6px;background:var(--pesev-surface-alt);padding:2px 6px;font:inherit;text-align:center}
.home-search:focus-within .home-search-shortcut,.home-search:not(:focus-within) .home-search-enter{display:none}
.home-suggestions{position:absolute;top:calc(100% + 10px);left:0;right:0;max-height:min(440px,55vh);overflow:auto;padding:8px;border:1px solid var(--pesev-line);border-radius:18px;background:var(--pesev-surface);box-shadow:0 18px 55px #0002;text-align:left}
.home-suggestion{display:flex;align-items:center;gap:12px;min-height:56px;padding:9px 10px;border-radius:12px;text-decoration:none}
.home-suggestion[aria-selected=true]{background:var(--pesev-soft)}
.home-suggestion-copy{flex:1;min-width:0}.home-suggestion strong{display:block;font-size:14px;font-weight:750}.home-suggestion small{display:block;font-size:12.5px;line-height:1.45;color:var(--pesev-muted)}
.home-suggestion-open{font-size:12px;font-weight:700;color:var(--pesev-link);visibility:hidden;white-space:nowrap}.home-suggestion[aria-selected=true] .home-suggestion-open{visibility:visible}
.home-suggestion-heading{margin:0;padding:10px 10px 4px;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:1.2px;color:var(--pesev-muted)}.home-suggestion-group+.home-suggestion-group{margin-top:4px;border-top:1px solid var(--pesev-line)}
.home-suggestions[data-mode=proposals] .home-suggestion{min-height:48px;padding-block:5px}
.home-suggestion mark{background:none;color:var(--pesev-link);font-weight:800}
.home-no-results{padding:12px 10px;margin:0;font-size:13px;color:var(--pesev-muted);overflow-wrap:anywhere}
.home-intentions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:760px;margin:auto}
.home-intention{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--pesev-line);border-radius:999px;background:var(--pesev-surface);text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap;transition:opacity 240ms ease-out,background 160ms ease-out,color 160ms ease-out}
.home-intention .pesev-ui-icon{width:16px;height:16px;color:var(--pesev-link)}
.home-intention.is-changing{opacity:0}
@media(hover:hover) and (pointer:fine){.home-intention:hover{background:var(--pesev-soft);color:var(--pesev-link)}}
/* Fixed slots prevent text changes from moving other shortcuts. */
.home-intentions[data-rotating] .home-intention{width:240px;flex:none;padding-inline:10px;overflow:hidden}
.home-rotation-toggle{display:block;margin:10px auto 0;padding:4px 10px;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--pesev-muted);font-size:11px;cursor:pointer}
@media(hover:hover) and (pointer:fine){.home-rotation-toggle:hover{background:var(--pesev-soft);color:var(--pesev-link)}}
.home-pinned{display:flex;align-items:center;gap:22px;padding:12px 14px;margin:0 0 22px;border:1px solid var(--pesev-line);border-radius:20px;background:var(--pesev-surface)}
.home-pinned h2,.section-top h2{font-size:10px;font-weight:750;letter-spacing:1.3px;text-transform:uppercase;color:var(--pesev-muted);margin:0}
.home-pinned nav{display:flex;flex-wrap:wrap;gap:12px;min-width:0}.home-pinned a{display:flex;align-items:center;gap:10px;min-height:48px;padding:5px 16px 5px 5px;border:1px solid var(--pesev-line);border-radius:14px;background:var(--pesev-surface-alt);font-size:14px;font-weight:750;text-decoration:none}
@media(hover:hover) and (pointer:fine){.home-pinned a:hover{border-color:var(--pesev-muted)}}.home-pinned p{margin:0 8px 0 auto;color:var(--pesev-muted);font-size:12px;flex-shrink:0}
html[data-pesev-page=home] :is(.home-pinned,.home-suggestions) .pesev-tool-icon{width:39px;height:39px;border-radius:12px}
html[data-pesev-page=home] :is(.home-pinned,.home-suggestions) .pesev-ui-icon{width:24px;height:24px}
.section-top{display:none}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;grid-template-rows:48px;grid-auto-rows:minmax(62px,auto);align-items:stretch}
[data-category=documents],[data-home-category=documents]{--category-column:1}
[data-category=organisation],[data-home-category=organisation]{--category-column:2}
[data-category=utilities],[data-home-category=utilities]{--category-column:3}
.home-category-panel{grid-column:var(--category-column);grid-row:1 / span 6;border:1px solid var(--pesev-line);border-radius:20px;background:var(--pesev-surface);box-shadow:0 4px 18px #20334c05;pointer-events:none}
.home-category-panel[data-category=organisation]{grid-row:1 / span 5}.home-category-panel[data-category=utilities]{grid-row:1 / span 4}
/* Panels extend below their last row, so its hover surface stays inside without changing shared row heights. */
@media(min-width:761px){.home-category-panel{margin-bottom:-12px}.cards{padding-bottom:12px}}
.home-category-title{grid-column:var(--category-column);grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:12px 24px 0;font-size:16px;font-weight:750;letter-spacing:-.3px;z-index:1}
.home-category-title span{font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--pesev-muted)}
html[data-pesev-page=home] .card{position:relative;grid-column:var(--category-column);grid-row:var(--category-row);display:flex;align-items:center;min-width:0;min-height:62px;padding:9px 10px;margin:0 12px;border:0;border-radius:13px;background:transparent;box-shadow:none;transform:none;transition:background 160ms ease-out}
html[data-pesev-page=home] .card:hover{transform:none;box-shadow:none}@media(hover:hover) and (pointer:fine){html[data-pesev-page=home] .card:hover{background:var(--pesev-surface-alt)}}
.card-content{display:flex;align-items:center;gap:12px;min-width:0;flex:1;padding:0!important}.card-top{display:flex;align-items:center;flex:none}.card-copy{min-width:0;flex:1}
html[data-pesev-page=home] .app-icon.pesev-tool-icon{width:39px;height:39px;border-radius:12px}
html[data-pesev-page=home] .app-icon .pesev-ui-icon{width:24px;height:24px}
.card h3{font-size:14px;line-height:1.3;font-weight:750;letter-spacing:-.2px;margin:0 0 2px}.card .description{font-size:12px;line-height:1.45;margin:0;color:var(--pesev-muted)}
html[data-pesev-page=home] .card a.go{position:absolute;inset:0;z-index:1;border:0;border-radius:inherit;background:transparent;color:inherit;text-decoration:none}
html[data-pesev-page=home] .pesev-favorite{position:relative;z-index:2;width:44px;height:44px;margin-left:2px;padding:11px;border:0;border-radius:11px;background:transparent;color:var(--pesev-muted);transform:none}
html[data-pesev-page=home] .pesev-favorite[aria-pressed=true]{color:var(--pesev-link)}
html[data-pesev-page=home] .pesev-favorite:hover{transform:none}@media(hover:hover) and (pointer:fine){html[data-pesev-page=home] .pesev-favorite:hover{background:var(--pesev-soft)}}
html[data-pesev-page=home] :is(a,button):focus-visible{outline:3px solid var(--pesev-link);outline-offset:3px}
@media(min-width:761px) and (max-width:1050px){.shell{padding-inline:20px}.cards{column-gap:12px}.card-content{gap:8px}.card .description{font-size:11.5px}.home-pinned{flex-wrap:wrap}.home-pinned p{flex-shrink:1}.home-category-title{padding-inline:18px}html[data-pesev-page=home] .card{margin-inline:6px;padding-inline:8px}html[data-pesev-page=home] .app-icon.pesev-tool-icon{width:32px;height:36px}}
@media(max-width:760px){
 .shell{padding:0 18px 30px}
 html[data-pesev-page=home] .pesev-site-header{padding:14px 18px;gap:12px}
 html[data-pesev-page=home] .pesev-tool-brand{gap:12px}
 html[data-pesev-page=home] .home-techtext{font-size:26px;letter-spacing:-.6px}
 html[data-pesev-page=home] .pesev-tool-brand small,html[data-pesev-page=home] .pesev-header-links>.pesev-home-link{display:none}
 html[data-pesev-page=home] .pesev-header-links{width:auto;margin-left:auto;flex:none}
 html[data-pesev-page=home] .pesev-account-link{width:44px;height:44px;min-height:44px;padding:4px;font-size:0;gap:0}
 html[data-pesev-page=home] .pesev-account-link .pesev-avatar{width:34px;height:34px}
 html[data-pesev-page=home] .pesev-account-link .pesev-user-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html[data-pesev-page=home] .pesev-account-link:not(:has(.pesev-avatar)){background-image:var(--pesev-account-icon);background-position:center;background-repeat:no-repeat;background-size:22px}
 html[data-pesev-page=home] .pesev-menu-trigger{display:none}
 /* The account page exposes the same controls on mobile. */
 .home-launcher{padding:22px 0 0;text-align:left}.home-launcher-backdrop,.eyebrow{display:none!important}
 html[data-pesev-page=home] .home-discovery{margin:0 0 14px}.home-search{min-height:52px;gap:10px;padding:0 14px}.home-search input{height:50px}.home-search-hint{display:none!important}
 .home-suggestions{top:calc(100% + 8px);max-height:min(420px,60vh);max-height:min(420px,60dvh);padding:6px;border-radius:16px}.home-suggestion{min-height:52px;padding:8px}.home-suggestion-open{display:none}
 h1{font-size:28px;line-height:1.15;letter-spacing:-1px;margin:0 0 18px}
 .home-intentions{justify-content:flex-start;flex-wrap:nowrap;max-width:none;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:0 18px 2px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .home-intentions::-webkit-scrollbar{display:none}.home-intention{flex:none;padding:8px 13px}.home-intentions[data-rotating] .home-intention{width:240px}
 .home-rotation-toggle{margin:2px 0 0;font-size:10px;min-height:44px;padding-inline:0}
 .home-pinned{display:block;margin:14px 0 20px;padding:14px 12px 10px}.home-pinned nav{margin-top:12px;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.home-pinned a{flex-direction:column;width:72px;flex:none;gap:6px;border:0;background:transparent;padding:0 0 4px;font-size:12px;font-weight:700;text-align:center}
 html[data-pesev-page=home] .home-pinned .pesev-tool-icon{width:53px;height:53px;border-radius:16px}.home-pinned p{display:none}
 .section-top{display:block;padding:24px 4px 10px}.home-pinned:not([hidden])+#applications .section-top{padding-top:0}
 .cards{display:flex;flex-direction:column;gap:10px}.home-category-panel,.home-category-title{display:none}
 html[data-pesev-page=home] .card{order:var(--mobile-order,0);margin:0;padding:12px 6px 12px 14px;border:1px solid var(--pesev-line);border-radius:18px;background:var(--pesev-surface);min-height:70px;gap:4px}
 .card-content{gap:12px}.card h3{font-size:16px;font-weight:780;letter-spacing:-.3px}.card .description{font-size:12.5px}
 html[data-pesev-page=home] .app-icon.pesev-tool-icon{width:44px;height:44px;border-radius:13px}
}
@media(max-width:760px){.home-techtext canvas{display:none}.home-techtext[data-tech-ready] .home-techtext-fallback{opacity:1}}
@media print{.home-discovery,.home-intentions,.home-rotation-toggle,.home-pinned,.home-launcher-backdrop{display:none!important}}
/* Keep the launcher background flat in both themes. */
html[data-pesev-theme][data-pesev-page=home] body{background:var(--pesev-page)}
@media(max-width:760px){html[data-pesev-page=home] .home-techtext{font-size:20px}}
/* Quiet, accessible pause control, without an extra row or moving content. */
.home-rotation-toggle{position:absolute;right:0;bottom:0;width:44px;height:44px;margin:0;font-size:0;padding:0}
.home-rotation-toggle::before{content:"Ⅱ";font-size:13px;font-weight:700}
.home-rotation-toggle[aria-pressed=true]::before{content:"▷"}
@media(max-width:760px){.home-launcher{padding-bottom:12px}.home-rotation-toggle{bottom:-24px;right:0}}
@media(max-width:760px){.home-intentions{margin-right:44px}.home-rotation-toggle{bottom:12px;right:0}}
/* Category surfaces belong to the panels; rows only tint on interaction. */
@media(min-width:761px){html[data-pesev-theme][data-pesev-page=home] .card{background:transparent}}@media(min-width:761px) and (hover:hover) and (pointer:fine){html[data-pesev-theme][data-pesev-page=home] .card:hover{background:var(--pesev-surface-alt)}}

#toolsGrid > article.card[hidden]{display:none!important}
#toolsGrid:has(article.card[data-restricted][hidden][data-home-category=organisation]) .home-category-panel[data-category=organisation]{grid-row:1 / span 4}
