:root{
  --lib-bg:#0a1226;
  --lib-panel:rgba(255,255,255,.04);
  --lib-panel-2:rgba(255,255,255,.065);
  --lib-line:rgba(240,244,248,.1);
  --lib-line-strong:rgba(0,229,190,.24);
  --lib-text:#f0f4f8;
  --lib-muted:rgba(240,244,248,.62);
  --lib-dim:rgba(240,244,248,.4);
  --lib-cyan:#00e5be;
  --lib-green:#009678;
  --lib-gold:#b98e43;
  --lib-radius:22px;
  --lib-grad:linear-gradient(125deg,#00e5be,#009678);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.library-body{
  margin:0;min-height:100vh;overflow-x:hidden;color:var(--lib-text);font-family:Inter,system-ui,sans-serif;line-height:1.55;
  background:
    radial-gradient(900px 520px at 18% -8%,rgba(0,229,190,.13),transparent 62%),
    radial-gradient(760px 540px at 92% 8%,rgba(185,142,67,.08),transparent 60%),
    linear-gradient(135deg,#050811 0%,var(--lib-bg) 48%,#06101e 100%);
}
body.library-body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.28;
  background:
    linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:radial-gradient(circle at 48% 12%,#000 0%,transparent 72%);
}
body.training-theme{--lib-accent:#00e5be;--lib-accent-2:#67e8f9}
body.tactical-theme{--lib-accent:#b98e43;--lib-accent-2:#00e5be}
.lib-wrap{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:22px 0 72px}
.lib-topbar{display:flex;align-items:center;gap:12px;padding:8px 0 28px}
.lib-logo{width:38px;height:38px;object-fit:contain}
.lib-brand{font-family:"Bebas Neue",sans-serif;font-size:24px;letter-spacing:3px;line-height:.9}
.lib-brand small{display:block;font-family:Inter,sans-serif;font-size:10px;letter-spacing:4px;color:var(--lib-muted);font-weight:900;margin-top:4px}
.lib-spacer{flex:1}
.lib-link{display:inline-flex;align-items:center;gap:8px;color:var(--lib-muted);text-decoration:none;font-size:13px;font-weight:900;transition:.2s ease}
.lib-link:hover,.lib-link:focus-visible{color:var(--lib-cyan);outline:none}
.lib-hero{position:relative;overflow:hidden;border:1px solid var(--lib-line-strong);border-radius:30px;padding:58px 46px;margin-bottom:22px;background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.018));box-shadow:0 26px 90px rgba(0,0,0,.34)}
.lib-hero::after{content:"";position:absolute;right:-90px;bottom:-130px;width:520px;height:320px;border:2px solid color-mix(in srgb,var(--lib-accent) 28%,transparent);border-radius:34px;transform:rotate(-13deg)}
.lib-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--lib-accent);font-size:11px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}
.lib-kicker::before{content:"";width:30px;height:3px;border-radius:999px;background:var(--lib-accent)}
.lib-title{font-family:"Bebas Neue",sans-serif;font-size:clamp(52px,9vw,108px);line-height:.86;letter-spacing:2px;text-transform:uppercase;margin:0}
.lib-title span{background:linear-gradient(125deg,var(--lib-accent),var(--lib-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lib-lead{max-width:760px;margin:18px 0 0;color:var(--lib-muted);font-size:clamp(16px,2vw,19px)}
.lib-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 22px;padding:10px;border:1px solid var(--lib-line);border-radius:18px;background:rgba(5,8,17,.5)}
.lib-tab{white-space:nowrap;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--lib-muted);font-size:11px;font-weight:900;letter-spacing:1.4px;text-transform:uppercase;padding:10px 13px;cursor:pointer}
.lib-tab.active,.lib-tab:hover,.lib-tab:focus-visible{border-color:color-mix(in srgb,var(--lib-accent) 38%,transparent);color:var(--lib-accent);background:color-mix(in srgb,var(--lib-accent) 10%,transparent);outline:none}
.lib-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lib-card{position:relative;overflow:hidden;min-height:390px;border:1px solid var(--lib-line);border-radius:24px;background:var(--lib-panel);color:inherit;text-decoration:none;box-shadow:0 18px 54px rgba(0,0,0,.28);transition:transform .22s ease,border-color .22s ease,background .22s ease}
.lib-card:hover,.lib-card:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--lib-accent) 48%,transparent);background:var(--lib-panel-2);outline:none}
.lib-card-media{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,229,190,.12),rgba(5,8,17,.72)),var(--card-bg,none) center/cover no-repeat;opacity:.82}
.tactical-theme .lib-card-media{background:linear-gradient(135deg,rgba(185,142,67,.14),rgba(5,8,17,.78)),var(--card-bg,none) center/cover no-repeat}
.lib-card-badge-only .lib-card-media{display:grid;place-items:center;bottom:auto;height:48%;background:radial-gradient(circle at 50% 42%,rgba(0,229,190,.24),transparent 36%),radial-gradient(circle at 48% 20%,rgba(185,142,67,.14),transparent 42%),linear-gradient(145deg,rgba(6,16,30,.98),rgba(5,8,17,.88));opacity:1}
.lib-card-badge-only .lib-card-media img{position:relative;z-index:2;width:min(46%,190px);height:auto;max-height:178px;object-fit:contain;filter:drop-shadow(0 22px 42px rgba(0,0,0,.55))}
.lib-card-badge-only .lib-card-media::after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle at 50% 45%,#000,transparent 74%)}
.lib-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,17,.02) 0%,rgba(5,8,17,.36) 42%,rgba(5,8,17,.95) 100%)}
.lib-card-body{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:22px}
.lib-card-badge-only .lib-card-body{padding-top:26px;background:linear-gradient(180deg,rgba(5,8,17,0),rgba(5,8,17,.88) 18%,rgba(5,8,17,.98) 100%)}
.lib-card-badge{display:grid;place-items:center;width:62px;height:62px;margin:0 0 12px;padding:10px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(224,235,244,.86));box-shadow:0 18px 42px rgba(0,0,0,.36),0 0 0 1px rgba(0,229,190,.08)}
.lib-card-badge img{display:block;width:100%;height:100%;object-fit:contain}
.lib-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--lib-accent) 32%,transparent);background:color-mix(in srgb,var(--lib-accent) 10%,transparent);color:var(--lib-accent);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.lib-card h2{font-family:"Bebas Neue",sans-serif;font-size:36px;line-height:.95;letter-spacing:.8px;margin:0 0 8px}
.lib-meta{display:flex;flex-wrap:wrap;gap:8px;color:rgba(240,244,248,.76);font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.lib-card p{margin:12px 0 16px;color:var(--lib-muted);font-size:14px}
.lib-cta{display:inline-flex;align-items:center;gap:9px;font-family:"Bebas Neue",sans-serif;font-size:18px;letter-spacing:1px;color:#06101e;background:linear-gradient(125deg,var(--lib-accent),var(--lib-accent-2));border-radius:12px;padding:10px 14px}
.detail-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:20px;align-items:stretch;margin-bottom:20px}
.detail-head{border:1px solid var(--lib-line-strong);border-radius:28px;padding:34px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018))}
.detail-identity{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:12px}
.detail-identity .lib-pill{margin-bottom:0}
.detail-badge{display:grid;place-items:center;width:84px;height:84px;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(225,236,245,.88));box-shadow:0 22px 54px rgba(0,0,0,.38),0 0 0 1px rgba(0,229,190,.08)}
.detail-badge img{display:block;width:100%;height:100%;object-fit:contain}
.detail-title{font-family:"Bebas Neue",sans-serif;font-size:clamp(48px,7vw,86px);line-height:.88;letter-spacing:1.4px;margin:8px 0 12px}
.detail-sub{color:var(--lib-muted);font-size:17px;max-width:760px}
.detail-panel{border:1px solid var(--lib-line);border-radius:28px;padding:24px;background:rgba(255,255,255,.035)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.detail-stat{border:1px solid var(--lib-line);border-radius:15px;padding:13px;background:rgba(5,8,17,.24);min-width:0}
.detail-stat span{display:block;color:var(--lib-dim);font-size:10px;font-weight:900;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:5px}
.detail-stat b{font-size:14px;overflow-wrap:anywhere}
.detail-nav{position:sticky;top:10px;z-index:5;display:flex;gap:8px;overflow-x:auto;margin:0 0 20px;padding:10px;border:1px solid var(--lib-line);border-radius:16px;background:rgba(5,8,17,.76);backdrop-filter:blur(14px)}
.detail-nav a{white-space:nowrap;text-decoration:none;color:var(--lib-muted);font-size:11px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;border:1px solid transparent;border-radius:999px;padding:9px 12px}
.detail-nav a:hover,.detail-nav a:focus-visible{color:var(--lib-accent);border-color:color-mix(in srgb,var(--lib-accent) 32%,transparent);outline:none}
.detail-section{scroll-margin-top:84px;border:1px solid var(--lib-line);border-radius:24px;background:rgba(255,255,255,.03);padding:26px;margin-bottom:16px}
.summary-feature{position:relative;overflow:hidden;min-height:440px;padding:0;background:#050811}
.summary-feature::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,17,.98),rgba(5,8,17,.82) 44%,rgba(5,8,17,.34)),linear-gradient(0deg,rgba(5,8,17,.92),rgba(5,8,17,.14) 58%),var(--summary-bg) center/cover no-repeat;filter:saturate(.9) contrast(1.06)}
.summary-feature::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 24%,color-mix(in srgb,var(--lib-accent) 22%,transparent),transparent 34%),linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,52px 52px,52px 52px;opacity:.9;pointer-events:none}
.summary-feature-content{position:relative;z-index:1;display:flex;min-height:440px;max-width:780px;flex-direction:column;justify-content:center;padding:42px}
.summary-feature .section-title{font-size:clamp(44px,5vw,64px);margin-bottom:20px}
.summary-feature .detail-text{max-width:720px;color:rgba(240,244,248,.84);font-size:clamp(18px,2.2vw,23px);line-height:1.62;text-wrap:pretty}
.section-title{display:flex;align-items:center;gap:12px;font-family:"Bebas Neue",sans-serif;font-size:38px;line-height:1;letter-spacing:1px;margin:0 0 16px;text-transform:uppercase}
.section-title::before{content:"";width:34px;height:3px;border-radius:999px;background:var(--lib-accent)}
.detail-text{color:rgba(240,244,248,.72);font-size:16px;line-height:1.72}
.cards-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mini-card{border:1px solid var(--lib-line);border-radius:18px;padding:18px;background:rgba(5,8,17,.24)}
.mini-card h3{margin:0 0 8px;font-size:18px}.mini-card p{margin:0;color:var(--lib-muted)}
.team-shape-section{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(0,229,190,.035))}
.team-shape-summary{margin:0 0 18px}
.team-shape-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.team-shape-boards .team-bench{grid-column:1/-1;border:1px solid rgba(240,244,248,.1);border-radius:18px}
.team-shape-board{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--lib-accent) 24%,transparent);border-radius:22px;background:rgba(5,8,17,.32);box-shadow:0 24px 70px rgba(0,0,0,.3)}
.team-shape-board-featured{grid-column:1/-1}
.team-shape-head{position:absolute;left:50%;top:12px;z-index:4;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 36px);border:1px solid rgba(240,244,248,.14);border-radius:999px;padding:8px 12px;background:rgba(5,8,17,.72);backdrop-filter:blur(12px);box-shadow:0 10px 28px rgba(0,0,0,.24)}
.team-shape-head span{color:var(--lib-dim);font-size:10px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}
.team-shape-head strong{font-family:"Bebas Neue",sans-serif;font-size:24px;letter-spacing:1px;color:var(--lib-accent);line-height:1}
.team-shape-pitch{position:relative;aspect-ratio:16/10;min-height:360px;background:linear-gradient(180deg,rgba(5,8,17,.03),rgba(5,8,17,.18)),var(--team-shape-bg) center/cover no-repeat}
.team-shape-board-featured .team-shape-pitch{min-height:470px}
.team-shape-pitch::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 54% 52%,color-mix(in srgb,var(--lib-accent) 14%,transparent),transparent 26%),linear-gradient(90deg,rgba(5,8,17,.28),transparent 22%,transparent 78%,rgba(5,8,17,.24))}
.team-piece{position:absolute;z-index:3;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:5px;min-width:78px;color:#f0f4f8;text-align:center}
.team-shape-boards .team-piece{min-width:68px}
.team-shape-board-featured .team-piece{min-width:78px}
.team-piece-role{display:grid;place-items:center;width:46px;height:46px;border:2px solid rgba(240,244,248,.72);border-radius:50%;background:linear-gradient(145deg,rgba(17,25,39,.96),rgba(7,14,28,.9));box-shadow:0 12px 28px rgba(0,0,0,.36);font-family:"Bebas Neue",sans-serif;font-size:17px;letter-spacing:.7px;line-height:1}
.team-shape-boards .team-piece-role{width:40px;height:40px;font-size:15px}
.team-shape-board-featured .team-piece-role{width:46px;height:46px;font-size:17px}
.team-piece-number{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;margin-top:-18px;border:1px solid color-mix(in srgb,var(--lib-accent) 42%,transparent);border-radius:999px;background:rgba(5,8,17,.8);color:var(--lib-accent);font-size:10px;font-weight:900}
.team-shape-boards .team-piece-number{min-width:24px;height:18px;margin-top:-16px;font-size:9px}
.team-shape-board-featured .team-piece-number{min-width:26px;height:20px;margin-top:-18px;font-size:10px}
.team-piece small{max-width:96px;border:1px solid rgba(240,244,248,.12);border-radius:999px;padding:4px 8px;background:rgba(5,8,17,.68);backdrop-filter:blur(10px);color:rgba(240,244,248,.82);font-size:10px;font-weight:900;letter-spacing:.4px;white-space:nowrap}
.team-shape-boards .team-piece small{max-width:84px;font-size:9px;padding:3px 7px}
.team-shape-board-featured .team-piece small{max-width:96px;font-size:10px;padding:4px 8px}
.team-bench{position:relative;z-index:4;border-top:1px solid rgba(240,244,248,.1);background:linear-gradient(135deg,rgba(5,8,17,.88),rgba(5,8,17,.72));padding:14px 16px 16px}
.team-bench-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.team-bench-head span{color:var(--lib-accent);font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.team-bench-head small{color:var(--lib-dim);font-size:11px;font-weight:800}
.team-bench-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.team-bench-player{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;border:1px solid rgba(240,244,248,.1);border-radius:14px;background:rgba(255,255,255,.035);padding:10px}
.team-bench-player span{color:var(--lib-dim);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.team-bench-player b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--lib-accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--lib-accent) 34%,transparent);color:var(--lib-accent);font-size:11px}
.team-bench-player strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(240,244,248,.86);font-size:12px}
.team-shape-source{margin:10px 0 0;color:var(--lib-dim);font-size:11px;font-weight:800;letter-spacing:.3px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.video-group{margin-top:18px}
.video-group:first-child{margin-top:0}
.video-group-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--lib-accent);font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.video-group-title::before{content:"";width:28px;height:2px;border-radius:999px;background:var(--lib-accent)}
.featured-video-section{border-color:color-mix(in srgb,var(--lib-accent) 26%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--lib-accent) 8%,transparent),rgba(255,255,255,.028))}
.featured-video-section .video-grid{grid-template-columns:1fr}
.featured-video-section .video-card{box-shadow:0 18px 48px rgba(0,0,0,.24)}
.video-card{border:1px solid var(--lib-line);border-radius:18px;overflow:hidden;background:rgba(5,8,17,.26)}
.video-frame,.video-thumb{width:100%;aspect-ratio:16/9;border:0;display:block;background:#050811}
.video-info{padding:14px}.video-info h4{margin:0 0 7px}.video-info p{margin:0;color:var(--lib-muted);font-size:13px}
.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid color-mix(in srgb,var(--lib-accent) 28%,transparent);border-radius:999px;padding:8px 10px;color:var(--lib-accent);background:color-mix(in srgb,var(--lib-accent) 9%,transparent);font-size:11px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}
.flow-list{display:grid;gap:10px;counter-reset:flow}.flow-item{position:relative;border:1px solid var(--lib-line);border-radius:16px;padding:15px 16px 15px 52px;background:rgba(5,8,17,.22);color:var(--lib-muted)}
.flow-item::before{counter-increment:flow;content:counter(flow);position:absolute;left:15px;top:14px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(125deg,var(--lib-accent),var(--lib-accent-2));color:#06101e;font-weight:900}
.not-found{text-align:center;padding:90px 20px;border:1px solid var(--lib-line-strong);border-radius:24px;background:var(--lib-panel)}
.not-found h1{font-family:"Bebas Neue",sans-serif;font-size:64px;margin:0}
@media(max-width:980px){.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero{grid-template-columns:1fr}.team-shape-boards{grid-template-columns:1fr}}
@media(max-width:640px){
  .lib-wrap{width:min(100% - 24px,1180px)}.lib-hero{padding:38px 22px;border-radius:22px}.lib-grid,.cards-2,.video-grid,.detail-grid{grid-template-columns:1fr}.lib-card{min-height:360px}.detail-head,.detail-panel,.detail-section{padding:22px 18px}.section-title{font-size:32px}
  .team-shape-pitch{min-height:300px}.team-shape-board-featured .team-shape-pitch{min-height:330px}.team-piece{min-width:58px}.team-piece-role{width:36px;height:36px;font-size:13px}.team-piece small{max-width:70px;font-size:8px;padding:3px 5px}.team-piece-number{min-width:22px;height:17px;margin-top:-15px;font-size:9px}.team-shape-head{top:10px;max-width:calc(100% - 20px);padding:7px 10px}.team-shape-head span{font-size:9px;letter-spacing:1.2px}.team-shape-head strong{font-size:20px}
  .team-bench-list{grid-template-columns:repeat(2,minmax(0,1fr))}.team-bench-player strong{font-size:11px}
  .summary-feature,.summary-feature-content{min-height:360px}.summary-feature-content{padding:24px}.summary-feature::before{background:linear-gradient(0deg,rgba(5,8,17,.96),rgba(5,8,17,.5)),var(--summary-bg) center/cover no-repeat}
  .lib-link span{display:none}
}
