/* Gamurland public music library: composers, scores and glossary */
.gml-main{padding:34px 0 72px}.gml-container{width:min(1180px,calc(100% - 36px));margin:0 auto}.gml-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:34px;align-items:stretch;margin-bottom:20px}.gml-hero-copy{padding:38px 0}.gml-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(181,108,255,.24);border-radius:999px;background:rgba(134,70,211,.08);color:#cf9bff;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.gml-hero h1,.gml-title{margin:16px 0 12px;color:#fff;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98;letter-spacing:-.045em}.gml-hero h1 span,.gml-title span{background:linear-gradient(90deg,#ff9f1c,#ff6a76 55%,#c75cff);-webkit-background-clip:text;background-clip:text;color:transparent}.gml-lead{max-width:670px;margin:0;color:#c9c3d6;font-size:1rem;line-height:1.65}.gml-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.gml-visual{min-height:330px;border:1px solid rgba(255,255,255,.09);border-radius:24px;overflow:hidden;background:radial-gradient(circle at 74% 28%,rgba(255,145,50,.25),transparent 25rem),linear-gradient(135deg,#151341,#09102d);box-shadow:0 26px 70px rgba(0,0,0,.36);position:relative}.gml-visual img{width:100%;height:100%;object-fit:cover;display:block}.gml-visual-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-size:7rem;color:rgba(255,255,255,.16)}.gml-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,31,.56),transparent 42%);pointer-events:none}.gml-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.gml-meta-card,.gml-panel,.gml-card{border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(24,27,63,.82),rgba(10,14,39,.94));box-shadow:0 16px 44px rgba(0,0,0,.2)}.gml-meta-card{padding:16px 18px;border-radius:16px}.gml-meta-card strong{display:block;color:#fff;margin-bottom:4px}.gml-meta-card span{color:#aaa4b8;font-size:.88rem}.gml-two-col{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:16px;align-items:start}.gml-panel{border-radius:20px;padding:24px}.gml-panel h2,.gml-section h2{margin:0 0 14px;color:#fff;font-family:Georgia,serif;font-size:1.45rem}.gml-panel p{color:#c0bacb;line-height:1.68}.gml-side-list{display:grid;gap:8px}.gml-side-link{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:12px;text-decoration:none;background:rgba(255,255,255,.025)}.gml-side-link:hover{background:rgba(255,255,255,.05)}.gml-side-thumb{width:48px;height:48px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#583291,#17193f);display:grid;place-items:center;color:#e5c8ff;font-family:Georgia,serif;font-weight:800}.gml-side-thumb img{width:100%;height:100%;object-fit:cover}.gml-side-link strong{color:#f6f3fb;font-size:.92rem}.gml-side-link small{display:block;color:#938ca1;margin-top:3px}.gml-arrow{color:#bb93ff}.gml-section{margin-top:18px}.gml-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gml-card{border-radius:16px;overflow:hidden;text-decoration:none;color:inherit}.gml-card:hover{transform:translateY(-1px);border-color:rgba(255,159,28,.28)}.gml-card-art{height:130px;background:linear-gradient(135deg,#321b54,#0d1639);overflow:hidden}.gml-card-art img{width:100%;height:100%;object-fit:cover}.gml-card-body{padding:16px}.gml-card h3{margin:0 0 7px;color:#fff;font-size:1rem}.gml-card p{margin:0;color:#aaa4b8;font-size:.86rem;line-height:1.5}.gml-chip{display:inline-flex;margin-bottom:10px;padding:4px 8px;border-radius:999px;background:rgba(151,84,219,.13);color:#c99aff;font-size:.7rem;font-weight:800}.gml-score-box{position:relative;overflow:hidden;border-radius:16px;background:#fffaf0;min-height:270px}.gml-score-svg{display:block;width:100%;height:auto}.gml-score-empty{min-height:270px;display:grid;place-items:center;padding:30px;text-align:center;color:#61594f;background:#fffaf0}.gml-lock{position:absolute;left:0;right:0;bottom:0;padding:54px 22px 22px;background:linear-gradient(180deg,transparent,rgba(8,11,35,.96) 42%);text-align:center;color:#fff}.gml-lock strong{display:block;font-size:1.05rem;margin-bottom:6px}.gml-lock p{margin:0 auto 14px;max-width:520px;color:#c4bdcf;font-size:.88rem}.gml-points{display:grid;gap:8px;padding:0;margin:0;list-style:none}.gml-points li{position:relative;padding-left:20px;color:#bbb5c7;line-height:1.5}.gml-points li::before{content:"✓";position:absolute;left:0;color:#ffad36}.gml-library-head{text-align:center;max-width:820px;margin:10px auto 28px}.gml-library-head .gml-title{font-size:clamp(2.4rem,4.6vw,4.2rem)}.gml-search{max-width:700px;margin:20px auto 14px;display:flex;gap:8px}.gml-search input{flex:1;border:1px solid rgba(255,255,255,.13);border-radius:13px;padding:13px 15px;background:rgba(8,11,34,.72);color:#fff;font:inherit;outline:none}.gml-search input:focus{border-color:rgba(255,159,28,.42);box-shadow:0 0 0 3px rgba(255,159,28,.08)}.gml-filters{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:10px 0 22px}.gml-filter{padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#c1bacd;text-decoration:none;font-size:.8rem}.gml-filter[aria-current="true"],.gml-filter:hover{border-color:rgba(255,159,28,.35);color:#fff;background:rgba(255,159,28,.08)}.gml-alpha{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:0 0 14px}.gml-alpha a{min-width:28px;text-align:center;padding:5px;color:#aaa4b6;text-decoration:none;border-radius:7px}.gml-alpha a:hover{color:#fff;background:rgba(255,255,255,.05)}.gml-term-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gml-term-card{padding:16px 17px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(18,22,54,.7);text-decoration:none}.gml-term-card strong{display:block;color:#fff;font-family:Georgia,serif;font-size:1.1rem}.gml-term-card span{display:block;margin-top:5px;color:#a9a3b5;font-size:.84rem;line-height:1.45}.gml-term-card:hover{border-color:rgba(175,104,255,.3);background:rgba(26,28,66,.82)}.gml-term-main{padding:28px}.gml-term-main h1{margin:0 0 8px;font-family:Georgia,serif;font-size:3.2rem;color:#fff}.gml-definition{font-size:1.08rem!important;color:#d5cfdd!important}.gml-subblocks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.gml-subblock{padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}.gml-subblock strong{display:block;color:#fff;margin-bottom:6px}.gml-empty{padding:28px;border:1px dashed rgba(255,255,255,.14);border-radius:16px;color:#aaa4b6;text-align:center}.gml-rights{font-size:.78rem;color:#73d89a;margin-top:10px}.gml-footer-links{display:flex;gap:14px;flex-wrap:wrap}.gml-footer-links a{color:#aaa4b6;text-decoration:none}.gml-footer-links a:hover{color:#fff}
@media(max-width:900px){.gml-hero{grid-template-columns:1fr}.gml-hero-copy{padding:15px 0 0}.gml-visual{min-height:280px}.gml-two-col{grid-template-columns:1fr}.gml-grid,.gml-term-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.gml-main{padding-top:20px}.gml-container{width:min(100% - 24px,1180px)}.gml-hero h1,.gml-title{font-size:2.5rem}.gml-meta{grid-template-columns:1fr}.gml-grid,.gml-term-grid,.gml-subblocks{grid-template-columns:1fr}.gml-panel{padding:18px}.gml-search{flex-direction:column}.gml-visual{min-height:220px}}

/* Music library visual polish */
.gml-page-composers.gml-page-index .gml-card-art{height:220px;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,rgba(127,82,172,.22),transparent 62%),linear-gradient(135deg,#21153d,#0c1331)}
.gml-page-composers.gml-page-index .gml-card-art img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block}
.gml-page-composers.gml-page-detail .gml-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start}
.gml-page-composers.gml-page-detail .gml-hero .gml-visual{height:420px;min-height:0;align-self:start}
.gml-page-composers.gml-page-detail .gml-hero .gml-visual img{object-position:center 18%}
.gml-page-composers.gml-page-detail .gml-hero-copy{padding-top:36px}
.gml-score-card-visual{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#fbf6e9,#e9dfc9);color:#211b18}
.gml-score-card-visual svg{display:block;width:100%;height:100%}
.gml-page-scores.gml-page-index .gml-card-art{height:112px}
.gml-page-scores.gml-page-index .gml-score-card-visual{display:grid;place-items:center;overflow:hidden;padding:0}
.gml-page-scores.gml-page-index .gml-score-card-visual svg{display:block;width:100%;max-width:100%;height:100%;min-height:0;transform:none}
.gml-page-composers .gml-section .gml-card-art{height:180px}
.gml-page-scores.gml-page-detail .gml-visual-fallback{inset:0;padding:22px;font-size:inherit;color:inherit}
.gml-page-scores.gml-page-detail .gml-visual-fallback .gml-score-card-visual{border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(55,42,30,.08)}
.gml-page-scores.gml-page-detail .gml-visual::after{background:linear-gradient(90deg,rgba(7,10,31,.15),transparent 52%)}
.gml-score-box{min-height:0;background:#fffaf0}.gml-score-svg{min-height:300px}.gml-lock{position:relative;left:auto;right:auto;bottom:auto;margin-top:-1px;padding:24px 22px 22px;background:linear-gradient(180deg,#121634,#080b23);border-top:1px solid rgba(255,255,255,.07)}.gml-lock strong{font-size:1.08rem}
.gml-term-visual{position:relative;margin:14px 0 20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(199,92,255,.14),transparent 45%),linear-gradient(135deg,rgba(21,24,61,.96),rgba(11,14,40,.98));box-shadow:inset 0 1px rgba(255,255,255,.025)}.gml-term-visual svg{display:block;width:100%;height:auto;min-height:190px}.gml-term-visual-label{position:absolute;left:14px;bottom:12px;padding:5px 9px;border-radius:999px;background:rgba(8,10,32,.76);border:1px solid rgba(255,255,255,.08);color:#c9c3d6;font-size:.72rem;font-weight:700}
/* Score detail: keep one notation preview only (the full preview below). */
body:has(#score) .gml-hero{grid-template-columns:1fr}body:has(#score) .gml-hero .gml-visual{display:none}
/* Score detail: stable centered layout aligned with the global showcase container. */
html,body{max-width:100%;overflow-x:clip}
main.gml-main:has(#score){padding-left:24px;padding-right:24px}
main.gml-main:has(#score)>.gml-container{width:100%;max-width:1180px;margin-inline:auto;box-sizing:border-box}
body:has(#score) .gml-hero,body:has(#score) .gml-hero-copy,body:has(#score) .gml-meta,body:has(#score) .gml-two-col,body:has(#score) .gml-two-col>*{min-width:0;max-width:100%}
body:has(#score) .gml-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
body:has(#score) .gml-two-col{width:100%;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr)}
body:has(#score) .gml-panel,body:has(#score) .gml-score-box,body:has(#score) .gml-score-card-visual{min-width:0;max-width:100%;box-sizing:border-box}
body:has(#score) .gml-score-box svg,body:has(#score) .gml-score-svg{display:block;width:100%!important;max-width:100%!important;height:auto}
body:has(#score) .gml-side-link{grid-template-columns:48px minmax(0,1fr) auto;min-width:0}body:has(#score) .gml-side-link>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.gml-page-composers.gml-page-detail .gml-hero{grid-template-columns:1fr}.gml-page-composers.gml-page-detail .gml-hero .gml-visual{height:380px}.gml-page-composers.gml-page-index .gml-card-art{height:240px}body:has(#score) .gml-two-col{grid-template-columns:1fr}}
@media(max-width:620px){.gml-page-composers.gml-page-index .gml-card-art{height:260px}.gml-page-composers.gml-page-detail .gml-hero .gml-visual{height:330px}.gml-term-visual svg{min-height:160px}body:has(#score) .gml-meta{grid-template-columns:1fr}main.gml-main:has(#score){padding-left:16px;padding-right:16px}}
