/* Le Coudreo · Liquid Glass web material. No native-iOS shader or pixel sampling.
   A readable translucent backing + real backdrop blur reflects content underneath.
   Text links in prose, game pieces, imagery and the journal cover remain content. */
:root{--glass-ink:#183c30;--glass-rgb:247,248,237;--glass-line:rgba(63,91,69,.33);--glass-shadow:rgba(26,54,38,.11);--glass-focus:#8a4b14}
html body .coudreo-glass,
html body :is(a.button,.journal-button,.event-button,.nav-install,.glass-mascot){
 color:var(--glass-ink)!important;
 background:linear-gradient(155deg,rgba(255,255,255,.62),rgba(255,255,255,0) 43%),rgba(var(--glass-rgb),.77)!important;
 border:1px solid var(--glass-line)!important;border-radius:999px!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(255,255,255,.25),0 3px 10px var(--glass-shadow)!important;
 -webkit-backdrop-filter:blur(14px) saturate(145%);backdrop-filter:blur(14px) saturate(145%);
 min-height:44px;min-width:44px;box-sizing:border-box;max-width:100%;
 height:auto;max-height:none;white-space:normal;overflow-wrap:anywhere;text-wrap:pretty;
 text-decoration:none;letter-spacing:normal;line-height:1.4;touch-action:manipulation;
 transition:box-shadow .18s ease,background-color .18s ease,transform .18s ease;
}
html body a.coudreo-glass{display:inline-flex;align-items:center;gap:9px;padding:10px 16px}
html body button.coudreo-glass{padding:10px 16px;cursor:pointer}
/* Text controls grow with their full label, including the mini-site actions.
   Preserve dedicated icon-only toolbar layouts and the installer mascot. */
html body :is(a,button).coudreo-glass> :is(span,strong,b){min-width:0;white-space:normal;overflow-wrap:anywhere}
html body :is(a,button).coudreo-glass> :is(img,svg){flex-shrink:0}
html body summary.coudreo-glass{padding:12px 18px;cursor:pointer}
/* A reserved marker gutter keeps every wrapped line inside the capsule.
   Only content disclosures: music/help/recruitment retain their own icons.
   Native details/summary activation, focus and expanded state are untouched. */
html body main details:not(.recruit-guide-disclosure)>summary.coudreo-glass{
 position:relative;display:block;list-style:none;padding:12px 20px 12px 2.6em;
 text-align:start;border-radius:24px!important;
}
html body main details:not(.recruit-guide-disclosure)>summary.coudreo-glass::-webkit-details-marker{display:none}
html body main details:not(.recruit-guide-disclosure)>summary.coudreo-glass::before{
 content:"";position:absolute;inset-inline-start:1.1em;top:calc(12px + .4em);
 width:.5em;height:.5em;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;
 transform:rotate(-45deg);
}
html body main details[open]:not(.recruit-guide-disclosure)>summary.coudreo-glass::before{transform:rotate(45deg)}
html body .glass-mascot{display:inline-flex;align-items:center;gap:10px;padding:7px 18px 7px 7px!important}
html body .glass-mascot>img,html body .nav-install>img{width:34px;height:34px;flex:0 0 34px;border-radius:50%;object-fit:cover;box-shadow:0 1px 4px #183c3026}
html body .coudreo-glass[data-glass-tone=dark],html body [data-glass-surface=dark]{--glass-ink:#fffdf2;--glass-rgb:22,57,45;--glass-line:rgba(230,241,212,.55);--glass-shadow:rgba(0,16,10,.22);--glass-focus:#ffe3a0}
html body .coudreo-glass[data-glass-tone=dark]{background:linear-gradient(155deg,rgba(255,255,255,.17),transparent 48%),rgba(var(--glass-rgb),.82)!important}
html body .coudreo-glass:is([aria-current],[aria-pressed=true],.glass-primary){font-weight:700;box-shadow:inset 0 1px 0 #ffffffe0,inset 0 0 0 1px var(--glass-line),0 3px 12px var(--glass-shadow)!important}
html body .coudreo-glass[aria-current]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
html body .coudreo-glass:focus-visible{outline:3px solid var(--glass-focus)!important;outline-offset:4px!important}
html body .coudreo-glass:disabled{opacity:.55;cursor:not-allowed;transform:none!important}
html body .coudreo-glass[hidden]{display:none!important}
@media(hover:hover){html body .coudreo-glass:not(:disabled):hover{box-shadow:inset 0 1px 0 white,inset 0 0 0 1px var(--glass-line),0 5px 16px var(--glass-shadow)!important;transform:translateY(-1px)}}
html body .coudreo-glass:not(:disabled):active{transform:translateY(1px)}
/* Navigation keeps a quiet hierarchy, with the same material, not a wall of mascots. */
html body header nav{gap:8px!important;flex-wrap:wrap!important}
html body header nav a.coudreo-glass{padding:9px 13px;font-weight:500}
html body .portal-header nav{flex:1;min-width:0}
html body .portal-header .nav-install.coudreo-glass{padding:5px 12px 5px 5px;font-weight:700}
html body #coudreo-wayfinding{background:rgba(var(--glass-rgb),.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html body #coudreo-wayfinding a.coudreo-glass{padding:6px 12px;min-height:44px}
html body #coudreo-bottom-nav{background:rgba(var(--glass-rgb),.7);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);gap:6px;padding-top:7px;border-top:1px solid var(--glass-line)}
html body #coudreo-bottom-nav a.coudreo-glass{display:flex;flex-direction:column;min-height:56px;gap:4px;padding:6px 5px;border-radius:22px!important;font-size:calc(11px * var(--coudreo-text-scale,1))}
html body #experience-tools .coudreo-glass{padding:8px 11px;min-height:44px}
html body #experience-tools #experience-audio{background:transparent;border-color:transparent}
html body .hublo-poster button>span{margin:10px;border-radius:999px;background:linear-gradient(140deg,#ffffffe0,#e8eee4a6);border:1px solid #9eb6a370;box-shadow:inset 0 1px 0 #fff,0 2px 7px #183c3012}
html body .hublo-poster button:focus-visible{outline:3px solid #8a4b14;outline-offset:4px}
html body .recruit-guide-disclosure>summary.coudreo-glass{border-radius:24px!important}
@media(max-width:960px){html body.editorial-home #portal-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}html body.editorial-home #portal-nav a.coudreo-glass{width:100%;margin:0;min-height:48px;font-size:12px;padding:9px 12px}html body.editorial-home #portal-nav .nav-install{grid-column:1/-1;width:max-content}}
@media(max-width:600px){html body #experience-tools #experience-audio>button.coudreo-glass,html body #experience-tools #experience-audio summary.coudreo-glass{padding:0;min-width:44px}html body .editorial-actions{flex-wrap:wrap;gap:12px}html body .editorial-actions .journal-button{min-width:150px}html body .portal-header nav a.coudreo-glass{white-space:normal}html body.recruitment-page header nav{gap:8px!important}html body.recruitment-page header nav a{font-size:12px;padding:8px 12px}}
/* Native controls keep their own content semantics. Material degrades without blur. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html body .coudreo-glass{background:rgb(var(--glass-rgb))!important}}
@media(prefers-reduced-transparency:reduce){html body .coudreo-glass,html body #coudreo-wayfinding,html body #coudreo-bottom-nav{background:rgb(var(--glass-rgb))!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
html.coudreo-solid-glass body .coudreo-glass,html.coudreo-solid-glass body #coudreo-wayfinding,html.coudreo-solid-glass body #coudreo-bottom-nav{background:rgb(var(--glass-rgb))!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.coudreo-high-contrast body .coudreo-glass{background:#fff!important;color:#111!important;border:2px solid #111!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.coudreo-high-contrast body .coudreo-glass[aria-current],html.coudreo-high-contrast body .coudreo-glass[aria-pressed=true]{background:#111!important;color:#fff!important}
html.coudreo-high-contrast body .coudreo-glass:focus-visible{outline:3px solid #111!important;outline-offset:4px!important}
@media(prefers-contrast:more){html body .coudreo-glass{background:#fff!important;color:#111!important;border:2px solid #111!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}html body .coudreo-glass:focus-visible{outline:3px solid #111!important}}
@media(forced-colors:active){html body .coudreo-glass{background:ButtonFace!important;color:ButtonText!important;border:2px solid ButtonText!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;forced-color-adjust:auto}html body .coudreo-glass:focus-visible{outline:3px solid Highlight!important}}
@media(prefers-reduced-motion:reduce){html body .coudreo-glass{transition:none!important;transform:none!important}}
html.motion-off body .coudreo-glass{transition:none!important;transform:none!important}
@media print{html body .coudreo-glass{box-shadow:none!important;background:white!important;color:black!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
/* V28 mobile menu: the navigation is a full new row, never a flexing side column. */
@media(max-width:960px){
 html body.editorial-home .portal-header #portal-nav{flex:0 0 100%;width:100%;max-width:100%;min-width:0;order:3;box-sizing:border-box}
 html body.editorial-home .portal-header #portal-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
 html body.editorial-home .portal-header #portal-nav a.coudreo-glass{min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere;box-sizing:border-box}
 html body.editorial-home .portal-header #portal-nav .nav-install.coudreo-glass{grid-column:1/-1;width:100%;max-width:100%;justify-content:flex-start}
 html body.editorial-home .portal-header #portal-nav .nav-install>span{min-width:0}
}
