/* PRACTICE02 — shared blue glass, compact discovery, score-first previews. */
:root{--practice-blue:#156086;--practice-glass:rgba(203,229,243,.67);--practice-line:rgba(83,151,187,.24);--practice-round:22px;--practice-shadow:0 16px 42px rgba(30,92,124,.14)}
.nr-header,.nr-header .brand,.nr-header .brand-mark{background:transparent!important;border:0!important;box-shadow:none!important}
.nr-header .brand{padding:0!important;border-radius:0!important}.nr-header .brand-mark img{object-fit:contain}
.nr-header{backdrop-filter:none!important}.nr-header-inner{gap:14px!important}
.nr-site .nr-header .brand{color:#164b68!important}.nr-site .nr-header .brand small{color:#4c748b!important}
body.dark .nr-header .brand{color:#e2f4ff!important}body.dark .nr-header .brand small{color:#b9d7e9!important}
.compact-search{background:rgba(240,248,252,.92)!important;backdrop-filter:blur(14px);border-bottom:1px solid var(--practice-line)}
.practice-header .nr-header{position:fixed;inset:0 0 auto;z-index:80;background:var(--bg,#f2f7fa)!important}
.practice-header .nr-header-inner{height:56px!important;min-height:0!important;max-width:none;padding:5px 12px!important;flex-wrap:nowrap!important}
.practice-header .nr-header .brand{min-width:0!important}.practice-header .nr-search{order:0!important;flex-basis:auto!important}
.practice-header .nr-header .brand{flex:0 0 auto}.practice-header .nr-header .brand-mark{width:34px!important;height:34px!important}
.practice-header .nr-header .brand>span:last-child{font-size:14px!important}.practice-header .brand small{display:none!important}
.practice-header .compact-search{position:static;flex:1;min-width:0;padding:0;background:transparent!important;border:0;box-shadow:none!important;backdrop-filter:none}
.practice-header .nr-search{width:100%;max-width:420px;margin:auto}.practice-header .nr-search .search-box{min-height:38px!important}
.practice-header .nr-search input{font-size:12px!important;min-width:0}.practice-header #homeNav,.practice-header #homeMenu,.practice-header #themeQuick{display:none!important}
.practice-header .nr-header-actions{flex:0 0 auto;gap:4px}.practice-header .nr-header-actions>a{width:38px;height:38px}
.catalog-more{display:block;margin:24px auto 18px;padding:12px 25px;min-height:44px;border:1px solid var(--practice-line);border-radius:999px;background:var(--surface,#fff);color:var(--practice-blue);font-weight:700;box-shadow:0 4px 16px #1560860a}
.catalog-more:hover{background:#e8f5fc}.catalog-more[hidden]{display:none}
.score-glass{position:relative!important;isolation:isolate;overflow:visible;background:rgba(214,234,245,.8)!important;color:#153f5a!important}
.score-glass::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--score-preview);background-size:cover;background-position:center 45%;filter:blur(10px);opacity:.26;border-radius:inherit;pointer-events:none}
.score-glass::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(140deg,rgba(236,247,253,.9),rgba(197,226,242,.78));border-radius:inherit;pointer-events:none}
.score-glass h3,.score-glass .card-artist{color:#164b68!important}.score-glass .card-en,.score-glass .card-primary-role{color:#42647a!important}
.score-glass .card-credits{z-index:4;background:var(--surface,#fff);color:var(--text,#183a52)}
.work-card{perspective:1100px;transform-style:preserve-3d}.work-card:focus-within{outline:2px solid #57aad3;outline-offset:3px}
.work-card .card-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:0}.work-card .card-actions>button{display:flex!important;justify-content:center;align-items:center;gap:4px;font-size:11px;min-width:0;min-height:40px;padding:6px 3px}.work-card .card-actions>button+button{border-inline-start:1px solid var(--practice-line)}
.catalog-like{background:rgba(29,65,88,.88)!important;backdrop-filter:blur(12px);border:1px solid #ffffff66!important;color:#fff!important;box-shadow:0 3px 9px #16324522}
.catalog-like[aria-pressed=true]{background:rgba(107,28,58,.91)!important}.catalog-like[aria-pressed=true] svg{fill:#ff617c;stroke:#ff617c}
.score-preview-open{overflow:hidden}.score-preview-dialog{padding:0;width:min(720px,calc(100vw - 28px));height:min(830px,calc(100dvh - 32px));max-width:720px;max-height:none;border:1px solid #d0e9f6;border-radius:26px;overflow:hidden;background:#f7fcff;box-shadow:0 30px 100px #0b254b66;animation:scoreUnfold .32s cubic-bezier(.2,.7,.2,1)}
.score-preview-dialog::backdrop{background:rgba(12,32,54,.57);backdrop-filter:blur(4px)}
.preview-close{position:absolute;top:12px;left:12px;z-index:3;width:44px;height:44px;padding:0;border-radius:50%;background:#fffdf2e8;color:#15496a;font:30px/1 sans-serif;box-shadow:0 3px 10px #12345622}
.preview-sheet{height:100%;overflow:hidden;position:relative;background:#fff}.preview-sheet>img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center top;mask-image:linear-gradient(#000 30%,#0008 62%,transparent 92%)}
.preview-caption{position:absolute;inset:auto 0 0;padding:80px 28px 24px;background:linear-gradient(transparent,rgba(202,229,245,.91) 28%,#e8f4fcee 90%);color:#103d5b;text-align:right}
.preview-caption h2{font-size:clamp(23px,3vw,34px);line-height:1.45;margin:4px 0}.preview-caption p{font-size:16px;margin:0 0 9px}.preview-caption small{color:#426880}.preview-type,.preview-arrangement{font-size:12px;font-weight:650}.preview-arrangement{margin:12px 0}
.preview-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-main-actions button{min-height:48px;border:1px solid #b1d3e8;border-radius:14px;background:#f3fbff;color:#145578;font-weight:700}.preview-main-actions .primary{background:linear-gradient(120deg,#258cb7,#17638b);color:white;border:0}
.preview-fallback{height:60%;display:grid;place-content:center;text-align:center;color:#2a6c8f;gap:12px}.preview-fallback[hidden]{display:none}.preview-fallback>span{font-size:72px}
.locked-score{position:relative;min-height:600px;overflow:hidden}.locked-score-sample{opacity:.35;filter:blur(14px);pointer-events:none;user-select:none}.locked-score-message{position:absolute;inset:16% 6% auto;text-align:center;padding:26px 18px;background:rgba(221,238,248,.92);border:1px solid #c0dce9;border-radius:20px;color:#164b68}.locked-score-message>span{font-size:38px}.locked-score-message h2{font-size:22px}.locked-score-message p{font-size:12px;margin:10px 0 24px}.locked-score-message .primary{display:inline-block;padding:12px 18px;border-radius:12px;background:#17698f;color:white}.paper.locked-page{width:100%!important;max-width:850px}.paper.locked-page .sheet-heading,.paper.locked-page .sheet-footer{display:none!important}.paper.locked-page::after{display:none!important}
body.dark .compact-search{background:rgba(16,29,43,.94)!important}body.dark .score-glass{background:#173c52!important}body.dark .score-glass::after{background:linear-gradient(140deg,#193b52ed,#122d44e8)}
body.dark .score-glass h3,body.dark .score-glass .card-artist{color:#e0f3ff!important}body.dark .score-glass .card-en,body.dark .score-glass .card-primary-role{color:#b9d6e8!important}body.dark .catalog-more{color:#c4eaff;background:#182d40}
body.dark .score-preview-dialog{background:#142d43;border-color:#426784}body.dark .preview-caption{background:linear-gradient(transparent,#132f49ee 28%,#142a41 90%);color:#e3f4ff}body.dark .preview-caption small{color:#b0d1e7}
@keyframes scoreUnfold{from{transform:perspective(1000px) rotateY(-75deg) scale(.58);opacity:.3}to{transform:perspective(1000px) rotateY(0) scale(1);opacity:1}}
@media(max-width:767px){
 .nr-header-inner{padding:10px 12px!important}.nr-header .brand small{font-size:9px!important}.nr-header .brand>span:last-child{font-size:17px!important}
 #hero{height:270px!important;border-radius:20px!important}.campaign-slide{background-position:65% 40%!important}.campaign-slide::before{background:linear-gradient(90deg,transparent 2%,rgba(7,30,41,.06) 46%,rgba(6,29,42,.6) 100%)!important}
 .campaign-copy{inset:20px 18px auto auto!important;width:54%!important;padding:0!important}.campaign-brand{display:none!important}.campaign-chip{font-size:10px!important;margin-bottom:8px!important;background:rgba(15,45,62,.32)!important;padding:3px 7px!important}
 .campaign-copy h2{font-size:clamp(21px,5.5vw,27px)!important;line-height:1.5!important;margin:0 0 9px!important;font-weight:750!important;text-shadow:0 2px 9px #142a3a55}.campaign-copy p{font-size:11px!important;line-height:1.8!important;max-width:200px;margin:0 0 13px!important}.campaign-action{font-size:11px!important;min-height:38px!important;padding:8px 12px!important;border-radius:10px!important}
 .campaign-demo{display:block!important;left:12px!important;right:auto!important;top:56px!important;bottom:auto!important;width:34%!important;height:155px!important;transform:rotate(-5deg)!important;border-radius:9px!important;padding:8px!important;background:#fffcf6f2!important;box-shadow:0 12px 24px #0002!important;overflow:hidden!important}.demo-title{font-size:8px!important;gap:3px!important}.demo-title strong{max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-title>span{display:none}.demo-notation{margin-top:9px;height:98px!important;overflow:hidden}.demo-notation svg{width:100%!important;height:auto!important}.demo-controls{font-size:7px!important;gap:3px!important;margin-top:3px!important}.demo-controls span{padding:2px!important}
 .campaign-controls{bottom:3px!important;inset-inline:auto!important;left:50%!important;transform:translateX(-50%)!important;width:max-content!important;max-width:94%;height:36px!important;padding:0!important;gap:3px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}.campaign-controls>button{width:28px!important;min-width:28px!important;height:34px!important;padding:0!important;background:transparent!important;border:0!important;color:#fff!important;font-size:14px!important;box-shadow:none!important}#heroDots{gap:4px!important}#heroDots button{min-width:5px!important;width:5px!important;height:3px!important;padding:0!important;background:#cbdde4!important;border:0!important;border-radius:3px!important}#heroDots button[aria-pressed=true]{width:16px!important;background:#fff!important}
 .work-card .score-glass{padding:8px 7px 7px!important;border-radius:0 0 10px 10px!important}.work-card .score-glass h3{font-size:12px!important;line-height:1.6!important}.work-card .card-actions>button{font-size:9px!important;min-height:36px!important;gap:2px!important}.work-card .card-actions>button span{font-size:11px}.work-card .card-artist{font-size:9px!important}.catalog-like{padding:4px 5px!important;min-height:32px!important}.catalog-like svg{width:14px!important;height:14px!important}.catalog-like strong{font-size:9px!important}.catalog-like span{display:none!important}
 .score-preview-dialog{width:calc(100vw - 24px);height:min(690px,calc(100dvh - 24px));border-radius:22px}.preview-caption{padding:68px 18px 20px}.preview-caption h2{font-size:25px}.preview-caption p{font-size:13px}.preview-caption small{font-size:11px}.preview-main-actions{gap:8px}.preview-main-actions button{font-size:12px;min-height:46px}.preview-type,.preview-arrangement{font-size:10px}.locked-score-message{padding:18px 10px;inset:10% 4% auto}.locked-score-message h2{font-size:18px}
 .practice-header .nr-header-inner{padding:5px 9px!important;gap:8px!important}.practice-header .nr-header .brand>span:last-child{font-size:12px!important}.practice-header .nr-header .brand-mark{width:30px!important;height:30px!important}.practice-header .nr-search{width:100%}.practice-header .nr-search input{font-size:10px!important}.practice-header .nr-header-actions>a{width:32px;height:36px}.practice-header .nr-search .search-box{padding:4px 7px!important}
}
@media(prefers-reduced-motion:reduce){.score-preview-dialog{animation:none}.work-card{transition:none}}
/* Keep original actions and credit disclosures clear in the dense three-column catalog. */
body.nr-home #library .work-card .card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;padding:0!important;min-height:38px;background:#eaf7fc70;border-top:1px solid var(--practice-line)}
body.nr-home #library .work-card .card-actions>button{display:flex!important;align-items:center;justify-content:center;gap:3px!important;min-width:0;width:auto!important;min-height:38px;padding:6px 2px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:#245e7c!important;font-size:10px;line-height:1.5}
body.nr-home #library .work-card .card-actions>button+button{border-inline-start:1px solid var(--practice-line)!important}
body.nr-home #library .work-card .nr-credits{position:relative!important;inset:auto!important;align-self:flex-end;height:28px;margin:0 4px 3px!important}
body.nr-home #library .work-card .nr-credits summary{min-height:28px!important;min-width:28px;width:28px;height:28px;line-height:28px;border:0;border-radius:50%;background:none;color:#476c83}
body.nr-home #library .work-card .nr-credits .nr-icon{stroke:currentColor;width:17px;height:17px}
body.dark.nr-home #library .work-card .card-actions>button{color:#c8e8f9!important}
body.dark.nr-home #library .work-card .nr-credits summary{color:#b4d4e8}
@media(max-width:767px){body.nr-home #library .work-card .card-actions>button{font-size:9px!important}body.nr-home #library .work-card .nr-credits[open] .card-credits{position:fixed;inset:auto 12px 88px;transform:none;width:auto;max-width:none;max-height:40dvh;overflow:auto;z-index:100}}
/* Scoped overrides of inherited mobile hero rules; dots retain generous invisible hit areas. */
@media(max-width:767px){
 body.nr-home #library #hero.campaign{height:270px!important;min-height:270px!important}
 body.nr-home #library .campaign-slide::before{background:linear-gradient(90deg,transparent 2%,#071e290a 46%,#061d2a99 100%)!important}
 body.nr-home #library .campaign-copy{top:20px!important;bottom:auto!important;right:18px!important;left:auto!important;width:54%!important;padding:0!important}
 body.nr-home #library .campaign-copy h2{font-size:clamp(21px,5.5vw,27px)!important;line-height:1.5!important}
 body.nr-home #library .campaign-copy p{font-size:11px!important;line-height:1.8!important;max-width:200px!important}
 body.nr-home #library .campaign-controls{top:auto!important;bottom:2px!important;right:auto!important;left:50%!important;transform:translateX(-50%)!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;height:34px!important}
 body.nr-home #library .campaign-controls>button{background:none!important;min-height:32px!important;height:32px!important;width:28px!important;min-width:28px!important;color:white!important}
 body.nr-home #library #heroDots{display:flex!important;gap:4px!important;align-items:center}
 body.nr-home #library #heroDots button{position:relative;background:none!important;border:0!important;padding:0!important;width:12px!important;min-width:12px!important;max-width:12px!important;height:32px!important;min-height:32px!important;max-height:32px!important}
 body.nr-home #library #heroDots button::after{content:"";position:absolute;top:15px;left:4px;width:4px;height:3px;border-radius:3px;background:#cfdfeb}
 body.nr-home #library #heroDots button[aria-pressed=true]{width:18px!important;min-width:18px!important;max-width:18px!important}
 body.nr-home #library #heroDots button[aria-pressed=true]::after{left:0;width:18px;background:white}
}

@media(max-width:767px){body.nr-home #library .campaign-slide::after{background:linear-gradient(90deg,transparent 0%,#061d2a10 40%,#061d2a92 100%)!important}body.nr-home #library .campaign-copy h2{font-size:clamp(20px,5.1vw,25px)!important}body.nr-home #library .campaign-copy h2 br{display:initial!important}}
