
body.fyi-theme{background:var(--fyi-bg);color:var(--fyi-text);font-size:var(--fyi-body-size);}
body.fyi-theme .container-header{position:relative;background:var(--fyi-header);background-image:none;min-height:var(--fyi-header-height);box-shadow:0 2px 12px rgb(0 0 0 / 10%);z-index:1100}
body.fyi-sticky .container-header{position:sticky;top:0}.container-header .container-nav{min-height:var(--fyi-header-height);max-width:var(--fyi-content-width);margin:auto;display:flex;align-items:center;padding-inline:24px}.container-header .navbar-brand img,.container-header .site-logo img{width:var(--fyi-logo-width);height:auto}.container-header .mod-menu,.container-header .metismenu{gap:var(--fyi-nav-gap);margin-left:auto}.container-header .mod-menu>li>a,.container-header .metismenu>li>a{font-size:var(--fyi-nav-size);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--fyi-text);text-decoration:none}.container-header .active>a,.container-header a:hover{color:var(--fyi-accent)!important}
body.fyi-theme .site-grid,body.fyi-theme .grid-child:not(.container-banner):not(.container-header){width:min(calc(100% - 40px),var(--fyi-content-width));max-width:none;margin-inline:auto}body.fyi-theme main{padding-block:var(--fyi-section-space)}
.fyi-theme .card,.fyi-theme .moduletable,.fyi-theme .fyi-card{border-radius:var(--fyi-card-radius);background:var(--fyi-surface)}.fyi-theme .btn-primary{background:var(--fyi-accent);border-color:var(--fyi-accent);border-radius:var(--fyi-button-radius);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.fyi-button-outline .btn-primary{background:transparent;color:var(--fyi-accent)}
.fyi-theme .container-banner img,.fyi-theme .fyi-hero img{width:100%;max-height:var(--fyi-hero-height);object-fit:cover}.fyi-hero-split{display:grid;grid-template-columns:var(--fyi-hero-split) 1fr}.fyi-heading-condensed h1,.fyi-heading-condensed h2,.fyi-heading-condensed h3{font-family:"Arial Narrow",Impact,sans-serif}.fyi-heading-serif h1,.fyi-heading-serif h2,.fyi-heading-serif h3{font-family:Georgia,serif}.fyi-heading-mono h1,.fyi-heading-mono h2,.fyi-heading-mono h3{font-family:"Courier New",monospace}
.fyi-header-tools{position:absolute;right:max(18px,calc((100vw - var(--fyi-content-width))/2));top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px;z-index:6}.fyi-social,.fyi-login-open{width:2em;height:2em;border-radius:50%;display:inline-grid;place-items:center;border:1px solid currentColor;background:transparent;color:var(--fyi-accent);font-size:var(--fyi-social-size);text-decoration:none}.fyi-brand-mark{height:56px;width:auto;object-fit:contain;filter:none}.fyi-login-modal{position:fixed;inset:0;background:rgb(0 0 0 / 72%);z-index:99999;display:grid;place-items:center;padding:20px}.fyi-login-modal[hidden]{display:none}.fyi-login-dialog{position:relative;width:min(420px,100%);background:var(--fyi-surface);color:var(--fyi-text);padding:32px;border:2px solid var(--fyi-accent);box-shadow:0 20px 80px rgb(0 0 0 / 45%)}.fyi-login-dialog label{display:grid;gap:6px;margin-bottom:16px}.fyi-login-dialog input{padding:11px;border:1px solid #888;background:#fff;color:#111}.fyi-login-close{position:absolute;right:10px;top:6px;border:0;background:none;color:inherit;font-size:28px}
footer,.container-footer{background:var(--fyi-footer)!important;color:var(--fyi-footer-text)!important}.fyi-debug *{outline:1px dashed rgb(255 0 0 / 25%)}
@media(max-width:991.98px){.container-header .navbar-brand img,.container-header .site-logo img{width:var(--fyi-mobile-logo-width)}.fyi-header-tools{right:60px}.fyi-header-tools .fyi-social{display:none}.fyi-brand-mark{height:42px}.fyi-hero-split{grid-template-columns:1fr}.container-header .navbar-collapse{background:var(--fyi-header);width:100%}}
@media(max-width:575.98px){body.fyi-theme .site-grid,body.fyi-theme .grid-child:not(.container-banner):not(.container-header){width:calc(100% - (2 * var(--fyi-mobile-pad)))}.fyi-brand-mark{display:none}}

body.fyi-theme-modernrock{background-color:#efe7d8;background-image:linear-gradient(rgb(0 0 0 / calc(var(--fyi-texture-opacity)*.05)),rgb(0 0 0 / calc(var(--fyi-texture-opacity)*.05)))}.fyi-theme-modernrock h1,.fyi-theme-modernrock h2{font-weight:900;text-transform:uppercase}.fyi-theme-modernrock .container-header:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:10px;background:linear-gradient(135deg,transparent 8px,var(--fyi-header) 0) 0 0/18px 10px repeat-x}.fyi-theme-modernrock .card,.fyi-theme-modernrock .moduletable{border-top:4px solid var(--fyi-accent)}

/* FYI Modern Rock composition renderer — v0.2.0 */
.fyi-rock-composition{width:min(calc(100% - 40px),var(--fyi-content-width));margin:28px auto 0;box-shadow:0 18px 50px rgb(0 0 0 / 18%);background:#f5ecdc;overflow:hidden}
.fyi-rock-hero{display:grid;grid-template-columns:var(--fyi-hero-split) 1fr;min-height:min(var(--fyi-hero-height),68vh);background:#080808;color:#fff}
.fyi-rock-hero-image{min-height:440px;background-size:cover;background-repeat:no-repeat;position:relative}
.fyi-rock-hero-image:after{content:"";position:absolute;inset:auto 0 0;height:26px;background:linear-gradient(135deg,transparent 12px,#f5ecdc 13px) 0 0/28px 26px repeat-x}
.fyi-rock-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,6vw,86px);position:relative;background:radial-gradient(circle at 100% 0%,rgb(197 31 36 / 18%),transparent 42%),#080808}
.fyi-rock-eyebrow{font-weight:900;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fyi-text);margin-bottom:8px}.fyi-rock-hero .fyi-rock-eyebrow{color:#fff}
.fyi-rock-hero h1{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(2.7rem,5.5vw,6.3rem);line-height:.9;margin:0 0 24px;letter-spacing:.01em}.fyi-rock-hero h1 span,.fyi-rock-hero h1 strong{display:block}.fyi-rock-hero h1 strong{color:var(--fyi-accent);font-weight:inherit}.fyi-rock-hero-copy p{max-width:42rem;color:#ddd}
.fyi-rock-cta{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:13px 17px;background:var(--fyi-accent);color:#fff!important;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.05em}.fyi-rock-cta:hover{transform:translateY(-2px);filter:brightness(1.08)}
.fyi-rock-album{display:grid;grid-template-columns:minmax(260px,40%) 1fr;gap:clamp(30px,5vw,72px);padding:clamp(34px,6vw,76px);position:relative;background-color:#f5ecdc;background-image:radial-gradient(circle at 95% 8%,rgb(197 31 36 / 16%) 0 2px,transparent 3px),linear-gradient(115deg,transparent 72%,rgb(197 31 36 / 7%));background-size:17px 17px,auto}
.fyi-rock-album-art{aspect-ratio:1;box-shadow:12px 14px 0 #111;transform:rotate(-1.2deg);background:#222;overflow:hidden}.fyi-rock-album-art img{width:100%;height:100%;object-fit:cover}
.fyi-rock-album-info h2{font-family:Impact,"Arial Narrow",sans-serif;color:var(--fyi-accent);font-size:clamp(2.5rem,5vw,5.8rem);line-height:.9;margin:0}.fyi-rock-meta{font-weight:900;margin:12px 0 22px}.fyi-rock-album ol{list-style:none;padding:0;margin:0 0 18px;counter-reset:tracks}.fyi-rock-album li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dotted rgb(0 0 0 / 25%);padding:7px 0}.fyi-rock-album a,.fyi-rock-events a{font-weight:900;color:#111;text-decoration:none;border-bottom:2px solid var(--fyi-accent)}
.fyi-rock-events{background:#090909;color:#fff;padding:30px clamp(28px,5vw,70px) 40px;border-top:8px solid var(--fyi-accent);position:relative}.fyi-rock-events:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgb(197 31 36 / 22%),transparent 24%);pointer-events:none}.fyi-rock-events header{display:flex;justify-content:space-between;align-items:center;position:relative}.fyi-rock-events h2{font-family:Impact,"Arial Narrow",sans-serif;margin:0 0 20px;font-size:clamp(1.8rem,3vw,3.4rem)}.fyi-rock-events a{color:var(--fyi-accent)}.fyi-rock-event{display:grid;grid-template-columns:100px minmax(150px,1fr) minmax(150px,1fr) 100px;gap:18px;padding:13px 0;border-top:1px solid rgb(255 255 255 / 18%);position:relative;align-items:center}.fyi-rock-event time{color:var(--fyi-accent);font-weight:900}.fyi-rock-event strong{font-size:.9rem}.fyi-rock-event span{color:#ddd}.fyi-rock-event em{font-style:normal;color:var(--fyi-accent);font-size:.72rem;text-transform:uppercase;text-align:right}.fyi-rock-media-placeholder{height:100%;min-height:260px;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#151515 0 12px,#1d1d1d 12px 24px);color:#aaa;font-weight:900;letter-spacing:.12em;text-align:center;padding:20px}
body.fyi-theme .fyi-rock-composition+main{padding-top:0}
@media(max-width:900px){.fyi-rock-composition{width:100%;margin-top:0}.fyi-rock-hero,.fyi-rock-album{grid-template-columns:1fr}.fyi-rock-hero-image{min-height:58vw}.fyi-rock-event{grid-template-columns:80px 1fr}.fyi-rock-event span{grid-column:2}.fyi-rock-event em{grid-column:2;text-align:left}.fyi-rock-album-art{width:min(500px,88%);margin:auto}}

/* FYI Presentation Manager v0.2.1 renderer repair */
.container-header .navbar-brand,.container-header .brand-logo,.container-header .site-logo{display:inline-flex!important;align-items:center;gap:var(--fyi-brand-mark-gap)}
.container-header .fyi-brand-mark{height:var(--fyi-brand-mark-height)!important;width:auto!important;max-width:none!important;flex:0 0 auto;transform:translateY(var(--fyi-brand-mark-shift));object-fit:contain}
body.fyi-composition-rendered main[data-fyi-original-main="1"]{display:none!important}
body.fyi-composition-rendered .site-grid{min-height:0!important;padding-top:0!important;padding-bottom:0!important}
body.fyi-composition-rendered .fyi-rock-composition{display:block!important}
body.fyi-theme-modernrock .fyi-rock-composition{position:relative;z-index:1}
@media(max-width:575.98px){.container-header .fyi-brand-mark{display:block;height:min(var(--fyi-brand-mark-height),42px)!important}}

.fyi-diagnostic-panel{position:fixed;z-index:100000;right:12px;bottom:12px;width:min(520px,calc(100vw - 24px));max-height:45vh;overflow:auto;background:#111;color:#fff;border:2px solid #c51f24;padding:14px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:0 8px 30px #0008}.fyi-diagnostic-panel strong,.fyi-diagnostic-panel span{display:block}.fyi-diagnostic-panel strong{color:#ff4b4f;margin-bottom:8px}.fyi-diagnostic-panel span{overflow-wrap:anywhere}

/* FYI Presentation Manager v0.2.3 — modal viewport repair */
html.fyi-modal-open,html.fyi-modal-open body{overflow:hidden!important}
body>.fyi-login-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;margin:0!important;transform:none!important;background:rgb(0 0 0 / 72%)!important;z-index:2147483000!important;display:grid!important;place-items:center!important;padding:20px!important}
body>.fyi-login-modal[hidden]{display:none!important}
body>.fyi-login-modal .fyi-login-dialog{position:relative!important;inset:auto!important;transform:none!important;margin:auto!important;width:min(440px,calc(100vw - 40px))!important;max-height:calc(100vh - 40px)!important;overflow:auto!important}
