/* Listening perimeter only; shared brand, navigation and icons remain in app/. */
.listening-perimeter .heading{padding:26px 0;gap:24px}
.listening-perimeter .heading h1{font:400 36px/1.15 var(--font-editorial);letter-spacing:-.025em;margin:0 0 8px}
.listening-perimeter .heading .caption{margin:0 0 12px}
.listening-perimeter #subject-icon{display:grid;place-items:center;width:64px;height:64px;padding:0;border-radius:16px;background:var(--soft);color:var(--accent);opacity:1;flex:none}
.listening-perimeter #subject-icon .ui-icon{width:34px;height:34px}
.listening-perimeter .view-nav a{display:inline-flex;gap:7px;align-items:center}
.listening-perimeter .view-nav .ui-icon{width:16px;height:16px}
.listening-perimeter .filters{align-items:center}
.listening-perimeter .filters .frequency-filter{flex:0 1 155px;align-self:center;white-space:nowrap}
.listening-perimeter .frequency-filter select{width:100%;min-width:104px}
.listening-perimeter .advanced-filters{flex:2 1 450px}
.listening-perimeter .material .overline{align-items:center;gap:8px;font-size:11px;min-height:27px}
.listening-perimeter .material .overline .frequency-badge{margin-left:auto}
.listening-perimeter .material .primary,.listening-perimeter #pagination button,.listening-perimeter .home-return,.listening-perimeter .library-home{gap:8px;align-items:center}
.listening-perimeter .material .primary,.listening-perimeter #pagination button,.listening-perimeter .home-return,.listening-perimeter .library-home{display:inline-flex}
.listening-perimeter .material .primary .ui-icon{width:17px;height:17px}
.listening-perimeter .empty{border-style:solid;padding:40px 24px}
.listening-perimeter .section-intro{max-width:750px;margin:28px 0 24px}
.listening-perimeter .section-intro h2{font:400 32px/1.2 var(--font-editorial);letter-spacing:-.02em;margin:10px 0}
.listening-perimeter .summary-grid.profile-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.listening-perimeter .metric{padding:22px}
.listening-perimeter .metric strong{font:400 36px/1.4 var(--font-editorial);margin:10px 0 3px}
.listening-perimeter .metric small{display:block;margin:0}
.listening-perimeter .source-learning-link{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--accent);padding:12px 0;min-height:44px;width:fit-content}
.listening-perimeter .source-learning-link .ui-icon{width:17px;height:17px}
.listening-perimeter .achievement .achievement-icon{margin-bottom:16px}
.listening-perimeter .achievement.unlocked .achievement-icon{color:var(--accent);border-color:var(--accent);background:var(--soft)}
.listening-perimeter .achievement h3{font:500 15px/1.6 var(--font-ui);margin:10px 0}
.listening-perimeter .achievement p{font-size:12px;line-height:1.8}
.listening-perimeter .achievement .badge-subject{font-size:9px;letter-spacing:.12em;color:var(--accent)}
.listening-perimeter .achievement-status{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}
.listening-perimeter .record{gap:18px;padding:22px}
.listening-perimeter .backup-actions{align-items:center}
.listening-perimeter .backup-actions>span{flex-basis:100%;margin:0;max-width:800px;line-height:1.8}
.listening-perimeter .view-nav a,.listening-perimeter .part-nav button,.listening-perimeter .filters :is(button,select),.listening-perimeter #pagination button,.listening-perimeter .cat-actions :is(a,button),.listening-perimeter .cat-record-actions :is(a,button),.listening-perimeter .record-management,.listening-perimeter .dialog-actions button{min-height:44px}
.listening-perimeter .cat-actions a,.listening-perimeter .cat-record-actions a{display:inline-flex;align-items:center;gap:8px}
@media(max-width:1100px){.listening-perimeter .summary-grid.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .listening-perimeter .heading{padding:24px 0;gap:14px}
 .listening-perimeter .heading h1{font-size:31px}
 .listening-perimeter #subject-icon{width:48px;height:48px;border-radius:12px}
 .listening-perimeter #subject-icon .ui-icon{width:27px;height:27px}
 .listening-perimeter .filters .frequency-filter{flex:1 1 100%;display:flex;flex-direction:row;align-items:center;gap:12px}
 .listening-perimeter .frequency-filter select{width:auto;flex:1;max-width:210px}
 .listening-perimeter .summary-grid.profile-metrics{gap:10px}
 .listening-perimeter .metric{padding:16px}
 .listening-perimeter .metric strong{font-size:29px}
 .listening-perimeter .view-nav{gap:3px}
 .listening-perimeter .view-nav a{font-size:11px;padding:10px 8px}
 .listening-perimeter .record{padding:18px;gap:14px}
}
