:root {
  color-scheme: dark;
  --accent: #b9d1d8;
  --ice: #e3ecee;
  --glow: rgba(139, 203, 218, .18);
  --panel: rgba(7, 15, 22, .86);
  --muted: #9eafb5;
  --line: rgba(207, 230, 235, .2);
  --name: "GIVRE";
}
html[data-theme="horde"] { --accent:#ee7045; --ice:#f0ded4; --glow:rgba(210,57,29,.25); --panel:rgba(20,12,11,.88); --name:"HORDE"; }
html[data-theme="alliance"] { --accent:#69b7ff; --ice:#e4f0fa; --glow:rgba(30,111,221,.3); --panel:rgba(7,14,23,.88); --name:"ALLIANCE"; }
* { box-sizing:border-box; }
html { min-width:320px; background:#071018; }
body { margin:0; min-height:100vh; color:#e9eff1; background:#071018; font-family:Georgia,"Times New Roman",serif; }
a { color:inherit; text-decoration:none; }
.scene { min-height:100vh; position:relative; isolation:isolate; overflow:hidden; background:#071018 url("/assets/norfendre-throne-bg.png") center 43% / cover fixed no-repeat; }
.scene::before { content:""; position:fixed; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(180deg,rgba(4,10,15,.48),rgba(4,10,15,.28) 20%,rgba(4,10,15,.5) 52%,rgba(4,10,15,.93)),linear-gradient(90deg,rgba(4,9,14,.5),transparent 38%,transparent 65%,rgba(4,9,14,.42)),radial-gradient(ellipse at 51% 37%,var(--glow),transparent 53%),radial-gradient(ellipse at 50% 22%,transparent 0 15%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.5) 100%); }
.scene::after { content:var(--name); position:fixed; z-index:-1; right:4vw; bottom:11vh; pointer-events:none; color:var(--accent); opacity:.09; font:700 clamp(60px,15vw,220px)/.8 Arial,sans-serif; letter-spacing:.12em; text-shadow:0 0 50px var(--glow); }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px clamp(18px,5vw,72px); border-bottom:1px solid rgba(214,236,241,.15); background:rgba(5,12,18,.24); }
.brand { display:flex; gap:12px; align-items:center; flex:0 0 auto; }
.sigil { width:60px; height:56px; display:grid; place-items:center; }
.sigil img { width:60px; height:48px; object-fit:contain; filter:drop-shadow(0 0 3px rgba(120,210,219,.4)); }
.brand-copy { display:flex; flex-direction:column; gap:4px; }
.brand-name { color:#e7e0d0; font:700 23px/.95 Georgia,"Times New Roman",serif; letter-spacing:.105em; text-transform:uppercase; text-shadow:0 2px 12px #000; }
.brand-dot { color:#70cbd0; }
.brand-sub { color:#9db2bb; font:8px/1.2 Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.top-actions { display:flex; align-items:center; gap:clamp(12px,2.5vw,26px); font:11px Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.contact { padding:8px 0; color:#bdc9cd; border-bottom:1px solid #65747b; }
.theme-picker { position:relative; z-index:5; }
.theme-picker summary { list-style:none; cursor:pointer; border:1px solid rgba(211,231,236,.3); padding:11px 14px; color:var(--accent); background:rgba(7,14,19,.75); letter-spacing:.12em; white-space:nowrap; }
.theme-picker summary::-webkit-details-marker { display:none; }
.theme-picker summary::after { content:"⌄"; margin-left:15px; font-size:15px; }
.theme-menu { position:absolute; top:calc(100% + 8px); right:0; width:205px; padding:7px; border:1px solid rgba(211,231,236,.22); background:#101a21; box-shadow:0 18px 40px #0009; }
.theme-menu button { display:flex; align-items:center; gap:10px; width:100%; padding:12px 10px; border:0; text-align:left; color:#dce7ea; background:transparent; cursor:pointer; font:11px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.theme-menu button:hover,.theme-menu button[aria-pressed="true"] { color:var(--accent); background:var(--glow); }
main { width:min(1060px,calc(100% - 40px)); margin:0 auto; padding:clamp(64px,12vh,128px) 0 48px; text-align:center; }
.eyebrow { display:flex; justify-content:center; align-items:center; gap:20px; color:var(--accent); font:800 clamp(18px,2.5vw,28px)/1.25 Arial,sans-serif; letter-spacing:.3em; text-transform:uppercase; text-shadow:0 2px 16px #06111a; }
.eyebrow::before,.eyebrow::after { content:""; width:clamp(24px,5vw,58px); height:1px; background:linear-gradient(90deg,transparent,var(--accent)); box-shadow:0 0 10px var(--glow); }
.eyebrow::after { transform:scaleX(-1); }
.subtitle { display:flex; justify-content:center; align-items:center; gap:14px; margin:13px auto 0; color:#d2e1e5; font:10px/1.8 Arial,sans-serif; letter-spacing:.21em; text-transform:uppercase; text-shadow:0 2px 12px #06111a; }
.subtitle::before,.subtitle::after { content:""; width:62px; height:1px; background:linear-gradient(90deg,transparent,var(--accent)); box-shadow:0 0 9px var(--glow); }
.subtitle::after { transform:scaleX(-1); }
.rule { width:150px; height:1px; margin:18px auto 0; background:linear-gradient(90deg,transparent,var(--accent),transparent); box-shadow:0 0 18px var(--glow); }
.facts { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:15px auto 0; color:#c7d2d5; font:9px Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.facts span { padding:8px 10px; border:1px solid rgba(203,226,232,.2); background:rgba(5,12,17,.65); }
.login { position:relative; width:min(390px,100%); margin:22px auto 0; padding:20px 24px 18px; border:1px solid rgba(190,224,232,.27); background:linear-gradient(135deg,rgba(18,31,39,.94),var(--panel)); box-shadow:0 20px 55px #0009; }
.login-corner { position:absolute; top:5px; width:18px; height:18px; color:var(--accent); filter:drop-shadow(0 0 5px var(--glow)); }
.login-corner.left { left:5px; }
.login-corner.right { right:5px; transform:scaleX(-1); }
.login-corner svg { display:none; width:100%; height:100%; overflow:visible; }
html[data-theme="neutre"] .mark-frost,html[data-theme="horde"] .mark-horde,html[data-theme="alliance"] .mark-alliance { display:block; }
.login h1 { margin:0 0 14px; color:#edf2f2; font-size:14px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; }
.login label { display:block; margin:12px 0 6px; color:#aebdc1; text-align:left; font:10px Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.optional { color:#7f9299; letter-spacing:.06em; }
.login input:not([type="hidden"]) { width:100%; height:43px; padding:0 12px; outline:none; border:1px solid rgba(200,225,232,.24); color:#eef4f5; background:rgba(3,8,11,.72); font:14px Arial,sans-serif; }
.login input:focus-visible { border-color:var(--accent); box-shadow:0 0 0 2px var(--glow); }
.login input::placeholder { color:#71848b; }
.login select { width:100%; height:43px; padding:0 12px; border:1px solid rgba(200,225,232,.24); color:#eef4f5; background:#101a21; font:13px Arial,sans-serif; }
.submit { width:100%; min-height:45px; margin-top:19px; border:0; color:#081116; background:linear-gradient(100deg,var(--accent),#d5ebec); cursor:pointer; font:700 11px Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; }
.submit:hover { filter:brightness(1.08); }
.submit:focus-visible,.theme-picker button:focus-visible,.theme-picker summary:focus-visible,.contact:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.login-note,.member-note { margin:12px 0 0; color:#a2b0b5; font:11px/1.55 Arial,sans-serif; }
.disclaimer { max-width:430px; margin:10px auto 0; color:#c1cdd1; font:10px/1.55 Arial,sans-serif; letter-spacing:.025em; text-shadow:0 2px 10px #000; }
.notice { width:min(390px,100%); margin:15px auto -10px; padding:10px 12px; border:1px solid rgba(240,112,69,.45); color:#f0d9ce; background:rgba(20,10,8,.8); font:12px/1.45 Arial,sans-serif; }
.success { width:min(500px,100%); margin:15px auto -10px; padding:10px 12px; border:1px solid rgba(125,190,160,.45); color:#d8efe2; background:rgba(8,22,17,.85); font:12px/1.45 Arial,sans-serif; }
.admin-main { width:min(760px,calc(100% - 40px)); }
.invite-list { margin:26px auto 0; text-align:left; border-top:1px solid var(--line); }
.invite-list h1 { margin:18px 0 8px; color:#e2eaec; font:13px Arial,sans-serif; letter-spacing:.16em; text-align:center; text-transform:uppercase; }
.invite-list article { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 4px; border-bottom:1px solid rgba(207,230,235,.12); background:rgba(3,8,11,.42); }
.invite-list article div { display:grid; gap:5px; min-width:0; }
.invite-list article strong { overflow-wrap:anywhere; color:#e1e9eb; font:12px Arial,sans-serif; }
.invite-list article span { color:#91a1a7; font:10px Arial,sans-serif; letter-spacing:.05em; }
.revoke { padding:7px 9px; border:1px solid rgba(240,112,69,.4); color:#f0bca7; background:#160e0c; cursor:pointer; font:10px Arial,sans-serif; }
.member-admin-form { display:flex; align-items:center; gap:7px; }
.member-admin-form select { width:auto; min-width:112px; height:34px; padding:0 7px; }
.member-admin-form button { padding:8px 9px; border:1px solid var(--line); color:#dce7ea; background:#111c22; cursor:pointer; font:10px Arial,sans-serif; }
.versions { display:grid; grid-template-columns:repeat(3,1fr); max-width:760px; margin:34px auto 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(2,7,11,.57); }
.version { padding:14px 10px 13px; }
.version+.version { border-left:1px solid rgba(207,230,235,.14); }
.version small,.version span { display:block; color:#a6b4b9; font:9px/1.5 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.version strong { display:block; margin:6px 0 4px; color:var(--accent); font:700 12px/1.35 Arial,sans-serif; letter-spacing:.07em; }
.version-date { margin:9px 0 0; color:#8b9aa0; font:9px/1.5 Arial,sans-serif; letter-spacing:.04em; }
.member-panel { padding-top:26px; }
.member-panel h1 { font:400 18px/1.35 Georgia,"Times New Roman",serif; letter-spacing:.07em; }
.member-role { margin:0; color:var(--accent); font:10px Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.member-link { display:inline-block; margin-top:14px; color:var(--accent); font:11px Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:4px; }
.recovery-link { display:block; margin-top:13px; color:#aab9be; font:10px Arial,sans-serif; letter-spacing:.06em; }
.secondary { color:#dbe7ea; background:rgba(13,25,32,.9); border:1px solid var(--line); }
footer { display:flex; justify-content:space-between; gap:16px; width:min(1060px,calc(100% - 40px)); margin:0 auto; padding:0 0 22px; color:#87979e; font:9px Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
@media (max-width:650px) {
  .scene { background-attachment:scroll; background-position:48% center; }
  .scene::before,.scene::after { position:absolute; }
  .scene::after { right:-2vw; bottom:8vh; font-size:22vw; }
  .topbar { padding:14px 16px; }
  .brand { gap:7px; }
  .sigil,.sigil img { width:46px; }
  .sigil { height:44px; }
  .sigil img { height:40px; }
  .brand-name { font-size:19px; }
  .brand-sub { font-size:7px; }
  .top-actions { gap:10px; }
  .contact { font-size:9px; letter-spacing:.08em; }
  .theme-picker summary { padding:9px 8px; font-size:9px; letter-spacing:.07em; }
  .theme-picker summary::after { margin-left:5px; }
  main { padding-top:61px; }
  .eyebrow { gap:10px; font-size:clamp(14px,4vw,19px); letter-spacing:.2em; }
  .subtitle { gap:8px; font-size:9px; letter-spacing:.13em; }
  .subtitle::before,.subtitle::after { width:34px; }
  .rule { margin-top:14px; }
  .facts { gap:5px; margin-top:12px; }
  .facts span { padding:8px; font-size:8px; }
  .login { margin-top:17px; padding:19px 18px 17px; }
  .invite-list article { align-items:flex-start; }
  .versions { grid-template-columns:1fr; margin-top:24px; }
  .version { padding:10px; }
  .version+.version { border-top:1px solid rgba(207,230,235,.14); border-left:0; }
  footer { flex-direction:column; align-items:center; text-align:center; font-size:8px; }
}
@media (prefers-reduced-motion: no-preference) {
  .scene { animation: arrive .9s ease-out both; }
  @keyframes arrive { from { filter:brightness(.76); } to { filter:brightness(1); } }
}

/* Navigation et tableau de bord réservé aux membres. */
.member-topbar { flex-wrap:wrap; }
.member-nav { display:flex; align-items:center; justify-content:center; gap:clamp(10px,1.8vw,24px); margin-left:auto; color:#c3d0d4; font:10px Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.member-nav a { padding:9px 0; border-bottom:1px solid transparent; }
.member-nav a:hover,.member-nav a[aria-current="page"] { color:var(--accent); border-color:var(--accent); }
.member-actions { gap:12px; }
.account-menu { position:relative; z-index:6; }
.account-menu summary { display:grid; gap:4px; cursor:pointer; padding:8px 11px; border:1px solid rgba(211,231,236,.25); background:rgba(7,14,19,.75); list-style:none; }
.account-menu summary::-webkit-details-marker { display:none; }
.account-name { color:#e1e9eb; font:700 10px Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.account-role { color:var(--accent); font:8px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.account-popover { position:absolute; top:calc(100% + 8px); right:0; display:grid; gap:2px; min-width:230px; padding:8px; border:1px solid rgba(211,231,236,.22); background:#101a21; box-shadow:0 18px 40px #0009; }
.account-popover a,.account-popover .menu-pending { padding:11px 10px; color:#dce7ea; font:10px Arial,sans-serif; letter-spacing:.06em; }
.account-popover a:hover,.account-popover a[aria-current="page"] { color:var(--accent); background:var(--glow); }
.menu-pending { display:grid; gap:5px; color:#82939a!important; }
.menu-pending small { color:#65777f; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.account-popover form { border-top:1px solid var(--line); margin-top:4px; padding-top:4px; }
.quiet { width:100%; border:0; padding:11px 10px; color:#dce7ea; background:transparent; text-align:left; cursor:pointer; font:10px Arial,sans-serif; letter-spacing:.06em; }
.quiet:hover { color:var(--accent); background:var(--glow); }
.member-dashboard { width:min(1060px,calc(100% - 40px)); margin:0 auto; padding:clamp(42px,7vh,76px) 0 28px; text-align:left; }
.dashboard-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.dashboard-heading h1 { margin:8px 0 0; color:#edf2f2; font:400 clamp(24px,3vw,38px)/1.2 Georgia,"Times New Roman",serif; }
.dashboard-heading>p { max-width:370px; margin:0; color:#aebdc1; font:12px/1.6 Arial,sans-serif; }
.dashboard-kicker,.section-heading>span { margin:0; color:var(--accent); font:9px Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.dashboard-section { padding:30px 0 5px; scroll-margin-top:20px; }
.section-heading { display:flex; align-items:baseline; gap:14px; margin-bottom:15px; }
.section-heading h2 { margin:0; color:#e7e0d0; font:400 20px/1.3 Georgia,"Times New Roman",serif; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.service-card { display:flex; align-items:flex-start; gap:13px; min-height:100px; padding:16px; border:1px solid rgba(190,224,232,.18); background:linear-gradient(135deg,rgba(14,26,33,.91),rgba(5,12,17,.84)); }
a.service-card { transition:border-color .18s ease,background .18s ease,transform .18s ease; }
a.service-card:hover { transform:translateY(-2px); border-color:var(--accent); background:linear-gradient(135deg,rgba(24,39,47,.95),rgba(5,12,17,.9)); }
.service-card.pending { border-style:dashed; background:rgba(5,12,17,.55); }
.service-mark { display:grid; flex:0 0 30px; width:30px; height:30px; place-items:center; border:1px solid rgba(190,224,232,.22); color:var(--accent); font:16px Georgia,serif; }
.service-card h3 { margin:0 0 6px; color:#e2e9ea; font:700 10px/1.4 Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.service-card p { margin:0 0 7px; color:#9dabb0; font:11px/1.45 Arial,sans-serif; }
.service-card small { color:var(--accent); font:8px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.service-card.pending small { color:#76878d; }
.member-topbar .theme-picker summary { font-size:9px; padding:9px 10px; }
.account-main { width:min(760px,calc(100% - 40px)); margin:0 auto; padding:clamp(38px,7vh,68px) 0 48px; text-align:left; }
.account-main>h1 { margin:8px 0 22px; color:#edf2f2; font:400 clamp(27px,4vw,38px)/1.2 Georgia,"Times New Roman",serif; }
.account-notice { width:100%; margin:0 0 18px; }
.account-panel { margin:0 0 16px; padding:20px clamp(16px,3vw,26px); border:1px solid rgba(190,224,232,.2); background:linear-gradient(135deg,rgba(13,25,32,.93),rgba(5,12,17,.88)); }
.account-panel-heading { margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid rgba(207,230,235,.13); }
.account-panel-heading>span { color:var(--accent); font:9px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.account-panel-heading h2 { margin:7px 0 0; color:#e7e0d0; font:400 19px/1.3 Georgia,"Times New Roman",serif; }
.account-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.account-facts>div { min-width:0; padding:11px 12px; border:1px solid rgba(190,224,232,.12); background:rgba(3,8,11,.38); }
.account-facts dt { color:#93a5ab; font:9px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.account-facts dd { margin:7px 0 0; color:#e2e9ea; font:12px/1.5 Arial,sans-serif; overflow-wrap:anywhere; }
.account-help,.account-pending>p { margin:14px 0 0; color:#aebdc1; font:11px/1.65 Arial,sans-serif; }
.account-form label { display:block; margin:13px 0 6px; color:#aebdc1; font:10px Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.account-form input:not([type="hidden"]) { width:100%; height:43px; padding:0 12px; border:1px solid rgba(200,225,232,.24); color:#eef4f5; background:rgba(3,8,11,.72); font:14px Arial,sans-serif; }
.account-form input:focus-visible { outline:0; border-color:var(--accent); box-shadow:0 0 0 2px var(--glow); }
.session-close { min-height:38px; padding:0 14px; border:1px solid rgba(207,230,235,.26); color:#dce7ea; background:rgba(7,14,19,.75); cursor:pointer; font:10px Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.session-close:hover { border-color:var(--accent); color:var(--accent); }
.account-form button:focus-visible,.session-close:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.library-main { width:min(1100px,calc(100% - 40px)); margin:0 auto; padding:clamp(38px,7vh,68px) 0 46px; text-align:left; }
.library-main>h1 { margin:8px 0 0; color:#edf2f2; font:400 clamp(28px,4vw,40px)/1.15 Georgia,"Times New Roman",serif; }
.library-intro { max-width:700px; margin:12px 0 22px; color:#aebdc1; font:12px/1.65 Arial,sans-serif; }
.library-nav { display:flex; flex-wrap:wrap; gap:7px; padding:9px; border:1px solid rgba(190,224,232,.17); background:rgba(3,8,11,.58); }
.library-nav a { display:flex; align-items:center; gap:9px; padding:11px 15px; border:1px solid transparent; color:#bdcbd0; font:10px Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.library-nav a span { color:#778a91; font-size:8px; }
.library-nav a:hover,.library-nav a[aria-current="page"] { border-color:var(--line); color:var(--accent); background:var(--glow); }
.library-section { padding:27px 0 6px; }
.library-section-heading { display:flex; align-items:baseline; gap:14px; margin-bottom:15px; }
.library-section-heading>span,.library-kicker { margin:0; color:var(--accent); font:9px Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.library-section-heading h2 { margin:0; color:#e7e0d0; font:400 20px/1.3 Georgia,"Times New Roman",serif; }
.library-filters { margin:0 0 15px; padding:14px; border:1px solid rgba(190,224,232,.17); background:rgba(5,12,17,.72); }
.library-filters>label { display:block; margin-bottom:8px; color:#aebdc1; font:9px Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.library-filter-row { display:grid; grid-template-columns:minmax(180px,1fr) minmax(170px,260px) auto; gap:8px; }
.library-filter-row input,.library-filter-row select { min-width:0; height:40px; padding:0 11px; border:1px solid rgba(200,225,232,.24); color:#eef4f5; background:rgba(3,8,11,.86); font:12px Arial,sans-serif; }
.library-filter-row button { padding:0 15px; border:0; color:#071116; background:linear-gradient(100deg,var(--accent),#d5ebec); cursor:pointer; font:700 9px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.library-filters>p { margin:9px 0 0; color:#8e9fa5; font:10px Arial,sans-serif; }
.addon-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.addon-card { min-width:0; padding:15px; border:1px solid rgba(190,224,232,.16); background:linear-gradient(145deg,rgba(12,23,30,.94),rgba(4,10,15,.88)); }
.addon-category { margin:0 0 8px; color:var(--accent); font:8px Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.addon-card h3 { margin:0 0 8px; color:#e7e0d0; font:400 17px/1.25 Georgia,"Times New Roman",serif; }
.addon-card>p:not(.addon-category) { margin:7px 0; color:#aebdc1; font:10px/1.5 Arial,sans-serif; overflow-wrap:anywhere; }
.addon-meta { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.addon-meta span { padding:5px 7px; border:1px solid rgba(190,224,232,.14); color:#c0cdd1; font:8px Arial,sans-serif; }
.addon-author { color:#87989e!important; }
.addon-detail strong { color:#d9e4e7; }
.addon-note { padding-left:9px; border-left:1px solid var(--accent); color:#98a8ad!important; }
.addon-command code,.pack-limit code,.install-note code { color:var(--accent); }
.addon-status { display:inline-block; margin-top:9px; padding:6px 7px; border:1px dashed rgba(190,224,232,.19); color:#87989e; font:8px/1.4 Arial,sans-serif; letter-spacing:.04em; }
.addon-status.restricted { border-color:rgba(238,112,69,.48); color:#e7ad99; }
.addon-source { display:inline-block; margin-top:10px; color:var(--accent); font:9px Arial,sans-serif; letter-spacing:.07em; }
.addon-source:hover { text-decoration:underline; }
.library-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:17px 0 0; padding:12px 0; border-top:1px solid var(--line); color:#9babb0; font:10px Arial,sans-serif; }
.library-pagination a { color:var(--accent); }
.library-empty,.library-disclaimer { margin:16px 0; color:#aebdc1; font:11px/1.6 Arial,sans-serif; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pack-hero { display:grid; grid-template-columns:minmax(0,1fr) 150px; align-items:center; gap:25px; margin-top:22px; padding:clamp(20px,4vw,34px); border:1px solid rgba(190,224,232,.2); background:linear-gradient(120deg,rgba(11,22,29,.94),rgba(4,10,15,.86)); }
.pack-hero h2 { max-width:700px; margin:9px 0; color:#e7e0d0; font:400 clamp(23px,3vw,32px)/1.2 Georgia,"Times New Roman",serif; }
.pack-hero>div>p:not(.library-kicker):not(.pack-hash) { max-width:700px; color:#aebdc1; font:11px/1.6 Arial,sans-serif; }
.pack-download { display:inline-block; margin-top:7px; padding:13px 16px; color:#071116; background:linear-gradient(100deg,var(--accent),#d5ebec); font:700 9px Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.pack-hash { max-width:700px; margin:10px 0 0; color:#71858d; font:8px/1.5 Arial,sans-serif; overflow-wrap:anywhere; }
.pack-seal { display:grid; justify-items:center; gap:4px; padding:20px 10px; border:1px solid rgba(190,224,232,.18); color:var(--accent); text-align:center; }
.pack-seal span,.pack-seal i { font:8px Arial,sans-serif; letter-spacing:.16em; }
.pack-seal strong { font:400 54px/.95 Georgia,"Times New Roman",serif; }
.pack-seal i { font-style:normal; line-height:1.5; }
.pack-grid { margin-top:12px; }
.pack-limit { padding-left:10px; border-left:1px solid var(--accent); }
.install-note ol { padding-left:20px; color:#aebdc1; font:11px/1.8 Arial,sans-serif; }
.install-note>p { color:#aebdc1; font:10px/1.6 Arial,sans-serif; }
@media (max-width:650px) {
  .member-topbar { justify-content:space-between; }
  .member-nav { order:3; flex:1 0 100%; justify-content:space-between; gap:5px; margin:7px 0 0; font-size:8px; letter-spacing:.03em; }
  .member-nav a { padding:8px 2px; }
  .member-actions { gap:6px; }
  .account-menu summary { padding:7px; }
  .account-name { font-size:8px; }
  .account-role { font-size:7px; }
  .account-popover { right:-42px; min-width:205px; }
  .member-dashboard { width:calc(100% - 30px); padding-top:35px; }
  .dashboard-heading { display:block; }
  .dashboard-heading>p { margin-top:12px; font-size:11px; }
  .section-heading { display:block; }
  .section-heading h2 { margin-top:6px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:80px; padding:13px; }
  .account-main { width:calc(100% - 30px); padding-top:34px; }
  .account-panel { padding:16px 14px; }
  .account-facts { grid-template-columns:1fr; gap:8px; }
  .library-main { width:calc(100% - 30px); padding-top:34px; }
  .library-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; padding:6px; }
  .library-nav a { justify-content:space-between; padding:10px 8px; font-size:8px; letter-spacing:.05em; }
  .library-section-heading { display:block; }
  .library-section-heading h2 { margin-top:6px; }
  .library-filter-row { grid-template-columns:1fr; }
  .library-filter-row button { min-height:39px; }
  .addon-grid { grid-template-columns:1fr; }
  .pack-hero { grid-template-columns:1fr; }
  .pack-seal { display:none; }
}
