/* Lanaworks : accueil et pages d'accès (home.tmpl, signin, forgot_passwd, reset_passwd), DA du CV.
   Autonome : ne dépend pas du thème choisi, tout est défini sur .lw-page. Version sombre du CV (la version claire est dans _bak-20261025/css/lanaworks-light.css). */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/archivo-v2-latin.woff2") format("woff2")}
@font-face{font-family:"Archivo Narrow";font-style:normal;font-weight:400 700;font-display:swap;src:url("../fonts/archivo-narrow-latin.woff2") format("woff2")}

body:has(.lw-page){background:#18191b;margin:0}
body:has(.lw-page) #navbar{display:none}
body:has(.lw-page) .full.height{min-height:0;padding-bottom:0}

/* pied de page : bande sombre, liens seuls */
body:has(.lw-page) .page-footer{
	background:#0c0c0c;border-top:1px solid #2f3032;color:#85868b;min-height:2.25rem;padding:0 1.25rem;display:flex;align-items:center;margin:0;
	font-family:"Archivo Narrow","Archivo",Arial,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;word-spacing:.15em;
}
body:has(.lw-page) .page-footer a{color:#c3c4c8;text-decoration:none;transition:color .2s}
body:has(.lw-page) .page-footer a:hover{color:#fe5b2a}
body:has(.lw-page) .page-footer{justify-content:space-between}
body:has(.lw-page) .page-footer .right-links{display:flex;gap:1.25rem;margin-left:auto}
body:has(.lw-page) .page-footer .right-links > :not(.lw-legal){display:none}
body:has(.lw-page) .page-footer .right-links > .lw-legal{display:inline}
body:has(.lw-page) .page-footer .left-links{font-size:0}
body:has(.lw-page) .page-footer .left-links a{font-size:.75rem}

.lw-page{
	--lw-bg:#18191b;--lw-ink:#eff0f1;--lw-ink2:#c3c4c8;--lw-mute:#a3a4a8;--lw-line:#2f3032;--lw-field:#222326;--lw-field-line:#47484b;--lw-accent:#fe5b2a;
	--lw-font:"Archivo","Helvetica Neue",Arial,sans-serif;--lw-narrow:"Archivo Narrow","Archivo",Arial,sans-serif;
	--lw-gutter:clamp(1.25rem,3.5vw,3.5rem);
	display:flex;flex-direction:column;box-sizing:border-box;min-height:calc(100vh - 2.25rem);min-height:calc(100svh - 2.25rem);
	background:var(--lw-bg);color:var(--lw-ink2);font-family:var(--lw-font);font-weight:500;line-height:1.35;-webkit-font-smoothing:antialiased;
}
.lw-page *,.lw-page *::before,.lw-page *::after{box-sizing:border-box}
.lw-page h1,.lw-page p,.lw-page ul{margin:0;padding:0}
.lw-page ul{list-style:none}

/* barre de navigation à cellules, comme le CV */
.lw-nav{display:flex;align-items:stretch;height:3.25rem;flex:none;border-bottom:1px solid var(--lw-line);background:var(--lw-bg)}
.lw-nav__cell{display:flex;align-items:center;flex:none;padding:0 1.25rem;border-right:1px solid var(--lw-line);
	font-family:var(--lw-narrow);font-size:.75rem;font-weight:600;letter-spacing:.04em;word-spacing:.15em;text-transform:uppercase;
	color:var(--lw-ink);text-decoration:none;transition:color .2s,background .2s}
a.lw-nav__cell:hover{color:var(--lw-accent)}
.lw-nav__logo img{display:block;height:1.375rem;width:auto}
.lw-nav__spacer{flex:1;border-right:1px solid var(--lw-line);min-width:0}
.lw-nav__cta{border-right:0;background:var(--lw-ink);color:var(--lw-bg)}
a.lw-nav__cta:hover{background:var(--lw-accent);color:#0c0c0c}

.lw-label{font-family:var(--lw-narrow);font-size:.75rem;font-weight:600;letter-spacing:.04em;word-spacing:.15em;line-height:1.2;text-transform:uppercase;color:var(--lw-mute)}

/* corps : colonne de texte + colonne à motif en croix */
.lw-body{flex:1;display:grid;grid-template-columns:1.35fr 1fr}
.lw-main{display:grid;align-content:space-between;gap:2.5rem;padding:clamp(2rem,5vw,4.5rem) var(--lw-gutter) clamp(2rem,4vw,3.5rem);min-width:0}
.lw-top{display:flex;gap:.75rem}
.lw-page h1{font-size:clamp(2.5rem,1.2rem + 5.2vw,5.5rem);font-weight:500;line-height:.86;letter-spacing:-.04em;text-transform:uppercase;color:var(--lw-ink)}
.lw-page h1 em{font-style:normal;color:var(--lw-accent)}
.lw-auth h1{font-size:clamp(2rem,1.1rem + 3.4vw,3.75rem);line-height:.92;letter-spacing:-.035em}
.lw-sub{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}
.lw-lead{font-size:clamp(1.125rem,1rem + .5vw,1.3125rem);line-height:1.2;letter-spacing:-.01em;color:var(--lw-ink2);max-width:30ch}

.lw-btn,.lw-home .lw-cta{display:inline-flex;align-items:center;padding:1rem 1.75rem;background:var(--lw-ink);color:var(--lw-bg);border:0;
	font-family:var(--lw-narrow);font-size:.8125rem;font-weight:600;letter-spacing:.04em;word-spacing:.15em;text-transform:uppercase;text-decoration:none;
	cursor:pointer;transition:background .2s,color .2s}
.lw-btn:hover,.lw-home .lw-cta:hover,.lw-home .lw-cta:focus-visible{background:var(--lw-accent);color:#0c0c0c}

.lw-side{display:flex;flex-direction:column;border-left:1px solid var(--lw-line);min-width:0}
.lw-list li{display:flex;gap:1rem;align-items:baseline;padding:1.25rem var(--lw-gutter);border-bottom:1px solid var(--lw-line)}
.lw-list li:first-child{border-top:0}
.lw-list b{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);font-weight:500;letter-spacing:-.02em;color:var(--lw-ink)}
.lw-pattern{flex:1;min-height:5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12 7.5v9M7.5 12h9' stroke='%2347484b' stroke-width='1' fill='none'/%3E%3C/svg%3E");background-size:24px 24px;background-position:center}

.lw-meta{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lw-line)}
.lw-meta > *{display:grid;gap:.5rem;align-content:start;padding:1.25rem var(--lw-gutter);border-right:1px solid var(--lw-line);color:var(--lw-ink);text-decoration:none}
.lw-meta > *:last-child{border-right:0}
.lw-meta a:hover{color:var(--lw-accent)}

/* ---- Connexion : on garde le formulaire Forgejo (OpenID, WebAuthn, erreurs), on le restyle ---- */
.lw-auth .lw-body{grid-template-rows:1fr}
.lw-formwrap{display:flex;align-items:center;padding:clamp(2rem,5vw,4.5rem) var(--lw-gutter);border-left:1px solid var(--lw-line);min-width:0}
.lw-auth .lw-form{width:100%;max-width:26rem;text-align:left}
.lw-auth .lw-form .ui.container,.lw-auth .lw-form .ui.attached.segment{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.lw-auth .lw-form h4.ui.header,.lw-auth .lw-form h2.ui.top.attached.header,.lw-auth .lw-form .divider:not(.divider-text){display:none}
.lw-auth .lw-form .ui.form{margin:0}
.lw-auth .lw-form p{margin:0 0 1.25rem;color:var(--lw-ink2);font-size:.9375rem;line-height:1.3}
.lw-auth .lw-form .ui.dividing.header{margin:1.75rem 0 .875rem;padding:0 0 .625rem;border-bottom:1px solid var(--lw-line);
	font-family:var(--lw-narrow);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lw-mute)}
.lw-auth .lw-form .inline.field{display:block}
.lw-auth .lw-form .inline.field > label{display:block}
.lw-auth .lw-form .inline.field .ui.primary.button{width:100%}
.lw-auth .lw-form .ui.form .field{margin:0 0 1.25rem}
.lw-auth .lw-form .ui.form .field > label{margin-bottom:.5rem;font-family:var(--lw-narrow);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lw-mute)}
.lw-auth .lw-form .ui.form .field > label::after{color:var(--lw-accent)}
.lw-auth .lw-form .ui.form input[type="text"],.lw-auth .lw-form .ui.form input[type="password"],
.lw-auth .lw-form .ui.form input[type="email"],.lw-auth .lw-form .ui.form input[type="number"]{
	width:100%;padding:.8125rem .875rem;background:var(--lw-field);border:1px solid var(--lw-field-line);border-radius:0;color:var(--lw-ink);font-family:inherit;font-size:1rem;box-shadow:none;transition:border-color .2s}
.lw-auth .lw-form .ui.form input:focus{background:var(--lw-field);border-color:var(--lw-ink);box-shadow:none;outline:0}
.lw-auth .lw-form .ui.form input[disabled]{opacity:.55}
.lw-auth .lw-form .ui.form .field.error input{background:var(--lw-field);border-color:var(--lw-accent)}
.lw-auth .lw-form .ui.checkbox label{color:var(--lw-ink2);font-size:.875rem;letter-spacing:0;text-transform:none}
.lw-auth .lw-form .ui.checkbox input[type="checkbox"]{accent-color:var(--lw-ink)}
.lw-auth .lw-form .ui.button{display:flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;border:1px solid var(--lw-ink);border-radius:0;box-shadow:none;color:var(--lw-ink);
	font-family:var(--lw-narrow);font-size:.8125rem;font-weight:600;letter-spacing:.04em;word-spacing:.15em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s}
.lw-auth .lw-form .ui.primary.button{padding:1rem 1.25rem;background:var(--lw-ink);color:var(--lw-bg)}
.lw-auth .lw-form .ui.primary.button:hover,.lw-auth .lw-form .ui.primary.button:focus-visible{background:var(--lw-accent);color:#0c0c0c}
.lw-auth .lw-form .ui.button:hover,.lw-auth .lw-form .ui.button:focus-visible{background:var(--lw-accent);border-color:var(--lw-accent);color:#0c0c0c}
.lw-auth .lw-form .ui.button svg{display:none}
.lw-auth .lw-form .divider.divider-text{margin:.25rem 0 1.125rem;color:var(--lw-mute);font-family:var(--lw-narrow);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}
.lw-auth .lw-form .divider.divider-text::before,.lw-auth .lw-form .divider.divider-text::after{border-color:var(--lw-line)}
.lw-auth .lw-form #oauth2-login-navigator .ui.button{min-height:2.875rem;padding:.8125rem 1.25rem}
.lw-auth .lw-form .ui.message{margin:0 0 1.25rem;background:var(--lw-field);border:1px solid var(--lw-accent);border-radius:0;box-shadow:none;color:var(--lw-ink2);font-size:.9375rem}
.lw-auth .lw-form .ui.message .header{color:var(--lw-ink)}
.lw-auth .lw-form .ui.header.top.attached.segment{display:flex;justify-content:center;margin-top:1.75rem;background:transparent;text-align:center}
.lw-auth .lw-form .ui.header.top.attached.segment .field{margin:0}
.lw-auth .lw-form .field a,.lw-auth .lw-form .lw-back{color:var(--lw-mute);font-family:var(--lw-narrow);font-size:.75rem;font-weight:600;letter-spacing:.04em;word-spacing:.15em;text-decoration:none;text-transform:uppercase;transition:color .2s}
.lw-auth .lw-form .field a:hover,.lw-auth .lw-form .lw-back:hover{color:var(--lw-accent)}
.lw-auth .lw-form .lw-back{display:block;margin-top:1.75rem}
.lw-auth .lw-form .ui.form input:-webkit-autofill{-webkit-text-fill-color:var(--lw-ink) !important;caret-color:var(--lw-ink);background-color:var(--lw-field) !important;border-color:var(--lw-field-line) !important;box-shadow:0 0 0 40px #222326 inset !important;transition:background-color 9999s}
.lw-auth .lw-form .ui.form input:-webkit-autofill:hover{-webkit-text-fill-color:var(--lw-ink) !important;caret-color:var(--lw-ink);background-color:var(--lw-field) !important;border-color:var(--lw-field-line) !important;box-shadow:0 0 0 40px #222326 inset !important;transition:background-color 9999s}
.lw-auth .lw-form .ui.form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--lw-ink) !important;caret-color:var(--lw-ink);background-color:var(--lw-field) !important;border-color:var(--lw-field-line) !important;box-shadow:0 0 0 40px #222326 inset !important;transition:background-color 9999s}
.lw-auth .lw-form .ui.form input:-webkit-autofill:active{-webkit-text-fill-color:var(--lw-ink) !important;caret-color:var(--lw-ink);background-color:var(--lw-field) !important;border-color:var(--lw-field-line) !important;box-shadow:0 0 0 40px #222326 inset !important;transition:background-color 9999s}
.lw-auth .lw-form .ui.form input:-webkit-autofill:focus{border-color:var(--lw-ink) !important}
.lw-auth .lw-form .ui.form input:autofill{-webkit-text-fill-color:var(--lw-ink) !important;caret-color:var(--lw-ink);background-color:var(--lw-field) !important;border-color:var(--lw-field-line) !important;box-shadow:0 0 0 40px #222326 inset !important}

.lw-page ::selection{background:var(--lw-accent);color:#0c0c0c}
.lw-page :focus-visible{outline:2px solid var(--lw-accent);outline-offset:2px}

@media (max-width:860px){
	.lw-body{grid-template-columns:1fr}
	.lw-side,.lw-formwrap{border-left:0;border-top:1px solid var(--lw-line)}
	.lw-meta{grid-template-columns:1fr}
	.lw-meta > *{border-right:0;border-bottom:1px solid var(--lw-line)}
	.lw-meta > *:last-child{border-bottom:0}
	.lw-nav__cell.lw-nav__site{display:none}
}
@media (prefers-reduced-motion:reduce){.lw-page *{transition:none !important}}
.lw-auth .lw-form p,.lw-auth .lw-form p.center{text-align:left}
.lw-page.page-content{margin:0;padding:0}
.lw-page > .lw-nav{margin:0 !important}
body:has(.lw-page) .page-footer .right-links > a{border-left-color:#47484b}
