/* Vetro di precisione — approved public direction, November 2026.
   Matte reading surfaces; glass is reserved for floating navigation.
   Scoped explicitly so the administrative and Studio shells keep their themes. */
html body.precision-glass.radio-glass {
    --precision-ground: #0d1b23;
    --precision-panel: #172c36;
    --precision-raised: #203641;
    --precision-line: #3a535f;
    --precision-teal: #48d9c7;
    --precision-coral: #ff8175;
    --glass-bg: var(--precision-ground);
    --glass-surface: var(--precision-panel);
    --glass-text: #f4f7f3;
    --glass-muted: #b4cbd0;
    --glass-aqua: var(--precision-teal);
    --glass-coral: var(--precision-coral);
    --glass-edge: var(--precision-line);
    --rg-rim: 0 0 transparent;
    --rg-shadow: 0 12px 30px #02090c40;
    --platform-bg: var(--precision-ground);
    --platform-panel: var(--precision-panel);
    --platform-text: #f4f7f3;
    --platform-muted: #b4cbd0;
    --platform-line: var(--precision-line);
    --platform-aqua: var(--precision-teal);
    --platform-coral: var(--precision-coral);
    --suonaria-red: var(--precision-coral);
    --ui-action: var(--precision-teal);
    --ui-action-text: #0d1b23;
    --form-surface: #13232c;
    --form-text: #f4f7f3;
    --form-muted: #b4cbd0;
    --form-border: #526b76;
    --form-hover: #809ba5;
    --form-radius: 8px;
    color: #f4f7f3;
    background: var(--precision-ground) !important;
    color-scheme: dark;
    font-family: 'DM Sans', sans-serif;
    accent-color: var(--precision-teal);
    scrollbar-color: #526b76 #0d1b23;
}
.precision-glass ::selection { background: #48d9c7; color: #0d1b23; }
.precision-glass a { text-underline-offset: .25em; }
.precision-glass :is(input,textarea) { caret-color: #48d9c7; }
.precision-glass:not(.radio-glass-art) :is(h1,h2,h3) {
    font-family: Manrope, sans-serif;
    letter-spacing: -.03em;
    text-wrap: balance;
}
.precision-glass .film-grain { display: none; }
body.precision-glass .public-main { background: var(--precision-ground); }
body.precision-glass:not(.rg-home):not(.radio-glass-art) .public-main {
    background: var(--precision-ground) !important;
}
/* One quiet edge on fixed chrome, a soft elevation only on an open flyout. */
body.precision-glass .front-nav.glass-nav {
    background: #0c1b23 !important;
    background-image: none !important;
    border: 0;
    border-bottom: 1px solid #304852;
    box-shadow: none !important;
}
body.precision-glass[data-radio-glass=on] .front-nav.glass-nav {
    background: #0c1b23ed !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
html body.precision-glass.radio-glass .radio-glass-rail[data-site-rail] {
    background: #0c1b23 !important;
    border-inline-end: 1px solid #304852;
    box-shadow: none;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
body.precision-glass [data-site-rail] .site-rail-item { font-size: 11px; box-shadow: none; }
body.precision-glass [data-rail-current-section] { font-size: 10px; }
body.precision-glass [data-site-rail] :is(.site-rail-item:hover,details[open]>summary) {
    background: #203641; color: #f4f7f3;
}
body.precision-glass [data-site-rail] :is(.site-rail-item[aria-current],[data-current-group]>summary,.site-rail-links a[aria-current]) {
    background: #48d9c7; color: #0d1b23; box-shadow: none;
}
body.precision-glass [data-site-rail] [data-current-group]>summary::before { background: #48d9c7; }
html body.precision-glass.radio-glass :is(.public-nav-links,[data-site-rail] .site-rail-panel) {
    background: #172c36 !important;
    border: 1px solid #526b76;
    border-radius: 12px;
    box-shadow: 0 12px 30px #02090c40;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
body.precision-glass .public-nav-group[data-current-group]>summary { text-decoration-color: #48d9c7; }
body.precision-glass .glass-nav .public-nav-links a:is(:hover,[aria-current]) { background: #24424e; }
body.precision-glass :is(.glass-button,.charts-button,.acid-button,.music-filter-actions .button) {
    min-height: 44px;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: #48d9c7 !important;
    color: #0d1b23 !important;
    box-shadow: none;
    font: 700 14px/1.4 'DM Sans', sans-serif;
    text-shadow: none;
    transition: background-color 150ms ease, transform 180ms ease;
}
body.precision-glass :is(.glass-button,.charts-button,.acid-button,.music-filter-actions .button):hover {
    background: #7ae6d8 !important;
    box-shadow: none;
}
body.precision-glass .glass-account {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px;
    border: 0;
    border-radius: 999px;
    background: #ff8175;
    color: #0d1b23 !important;
    font: 700 14px/1.4 'DM Sans', sans-serif;
    text-decoration: none;
}
body.precision-glass .glass-account:hover { background: #ffaaa1; }
body.precision-glass :is(.front-menu,.radio-glass-toggle,[data-rail-close],.site-rail-filters) {
    background: #172c36;
    border-color: #526b76;
    box-shadow: none;
    color: #f4f7f3;
}
body.precision-glass .glass-footer {
    background: #0c1b23 !important;
    border-top: 1px solid #304852;
    box-shadow: none;
}
body.precision-glass .glass-footer a:hover { color: #78e2d4; }
/* Personal frontend shares materials, never administrative permissions or layout. */
html body.precision-glass.consumer-area {
    --studio-bg: #0d1b23; --studio-shell: #0c1b23;
    --studio-panel: #172c36; --studio-field: #13232c;
    --studio-muted: #b4cbd0; --studio-line: #3a535f;
    --studio-accent: #48d9c7;
}
body.precision-glass.consumer-area :is(.consumer-context,.consumer-navigation,.consumer-navigation-links) {
    background: #172c36;
    border: 1px solid #3a535f;
    border-radius: 12px;
    box-shadow: none;
}
body.precision-glass.consumer-area .consumer-content { background: #0d1b23; }
body.precision-glass.consumer-area .consumer-navigation a[aria-current] { background: #48d9c7; color: #0d1b23 !important; }
/* The personal shell loads after radio-glass.css and resets margin to zero.
   Reserve the same rail space as the header on every personal account page. */
@media(min-width:801px) {
    body.precision-glass.consumer-area .public-main {
        margin-inline-start: var(--rg-rail-width,86px);
        width: calc(100% - var(--rg-rail-width,86px));
    }
}
/* Authentication stays on its shared native form geometry. */
body.precision-glass.platform-auth { background: #0d1b23 !important; }
body.precision-glass.platform-auth :is(.auth-panel,.auth-art) {
    background: #172c36;
    box-shadow: none;
}
body.precision-glass.platform-auth .auth-panel { border-inline-start: 1px solid #3a535f; }
body.precision-glass.platform-auth .auth-panel { background: #172c36 !important; }
body.precision-glass.platform-auth .auth-art { background: #0d1b23; }
body.precision-glass.platform-auth :is(.auth-message h1,.auth-title) { color: #f4f7f3; }
body.precision-glass.platform-auth :is(.auth-message p,.auth-subtitle,.auth-note) { color: #b4cbd0; }
body.precision-glass.platform-auth .auth-form a { color: #48d9c7 !important; }
body.precision-glass.platform-auth .auth-form a:hover { color: #7ae6d8 !important; }
body.precision-glass.platform-auth :is(.button-accent,.auth-submit,.btn-primary) {
    background: #48d9c7 !important; color: #0d1b23 !important; box-shadow: none; border-radius: 999px;
}
body.precision-glass.platform-auth :is(.button-accent,.auth-submit,.btn-primary):hover { background: #7ae6d8 !important; }
body.precision-glass:is(.site-access,.error-page) { background: #0d1b23 !important; }
body.precision-glass.site-access :is(.update-console,.orbit-core) {
    background: #172c36; border: 1px solid #3a535f; box-shadow: none;
}
body.precision-glass.error-page .error-action--primary {
    background: #48d9c7; color: #0d1b23; border-radius: 999px; box-shadow: none;
}
@media(max-width:1280px) {
    body.precision-glass .glass-nav.nav-ready #public-primary-nav { background: #0c1b23; }
    /* Nested links share the open menu surface rather than adding another layer. */
    html body.precision-glass.radio-glass .glass-nav .public-nav-links {
        background: transparent !important; border: 0; border-radius: 0; box-shadow: none;
    }
}
@media(max-width:800px) {
    body.precision-glass [data-site-rail] .site-rail-item { font-size: 14px; }
    body.precision-glass [data-rail-current-section] { font-size: 12px; }
    body.precision-glass .site-rail-mobile-toggle:not([hidden]) {
        background: #0c1b23; border-color: #304852; color: #f4f7f3;
    }
    html body.precision-glass.radio-glass [data-site-rail] .site-rail-panel {
        background: transparent !important; border: 0; border-inline-start: 1px solid #3a535f;
        border-radius: 0; box-shadow: none;
    }
    body.precision-glass.platform-auth .auth-panel { border: 0; }
}
@media(max-width:640px) {
    body.precision-glass .glass-account { padding-inline: 14px; font-size: 13px; }
    body.precision-glass .glass-nav-actions .glass-button { padding-inline: 14px; }
}
/* Keep the shared header on one row on the narrowest phones. The account,
   wallet and Player retain their existing labels and visibility rules. */
@media(max-width:360px) {
    body.precision-glass .front-nav.glass-nav { padding-inline:8px; gap:6px; }
    body.precision-glass .front-nav.glass-nav.nav-ready { flex-wrap:nowrap; }
    body.precision-glass .front-nav.glass-nav .front-logo {
        display:flex; align-items:center; min-height:44px;
        width:105px!important; flex:0 0 105px!important;
    }
    body.precision-glass .front-nav.glass-nav .front-logo img { width:105px; max-width:100%; height:auto; }
    body.precision-glass .front-nav.glass-nav .glass-nav-actions { gap:4px; min-width:0; flex:0 0 auto; }
    body.precision-glass .front-nav.glass-nav .glass-nav-actions .glass-button {
        min-width:44px; min-height:44px; padding:10px; gap:6px; font-size:13px; white-space:nowrap;
    }
    body.precision-glass .front-nav.glass-nav .public-suong-wallet {
        min-width:44px; min-height:44px; max-width:68px; justify-content:center; gap:4px; padding:4px;
    }
    body.precision-glass .front-nav.glass-nav .public-suong-wallet>span:last-child { min-width:0; }
    body.precision-glass .front-nav.glass-nav .public-suong-wallet strong {
        display:block; max-width:32px; overflow:hidden; text-overflow:ellipsis; font-size:13px;
    }
    body.precision-glass .front-nav.glass-nav .public-suong-wallet small { display:none; }
    body.precision-glass .front-nav.glass-nav .public-suong-wallet .suonaria-token { width:24px; height:24px; flex-shrink:0; }
    body.precision-glass .front-nav.glass-nav .notification-menu>summary,
    body.precision-glass .front-nav.glass-nav .front-menu {
        width:44px; height:44px; min-width:44px; min-height:44px; flex-shrink:0;
    }
}
@media(prefers-reduced-motion:reduce) {
    body.precision-glass :is(a,button) { transition: none; }
}
@media(prefers-reduced-transparency:reduce) {
    body.precision-glass[data-radio-glass] .front-nav.glass-nav {
        background: #0c1b23 !important; backdrop-filter: none; -webkit-backdrop-filter: none;
    }
}
@media(forced-colors:active) {
    html body.precision-glass.radio-glass .radio-glass-rail[data-site-rail],
    html body.precision-glass.radio-glass :is(.public-nav-links,[data-site-rail] .site-rail-panel),
    html body.precision-glass.radio-glass [data-site-rail] .site-rail-panel,
    html body.precision-glass.radio-glass .glass-nav .public-nav-links,
    body.precision-glass .glass-nav.nav-ready #public-primary-nav {
        background: Canvas !important;
    }
    body.precision-glass.platform-auth .auth-form a,
    body.precision-glass.platform-auth .auth-form a:hover { color: LinkText !important; }

    html body.precision-glass.radio-glass,
    body.precision-glass :is(.public-main,.front-nav.glass-nav,.radio-glass-rail,.public-nav-links,.site-rail-panel,.glass-footer,.auth-panel,.auth-art) {
        background: Canvas !important; color: CanvasText !important;
        box-shadow: none !important; backdrop-filter: none !important;
    }
    body.precision-glass :is(.glass-button,.glass-account,.error-action--primary) {
        background: ButtonFace !important; color: ButtonText !important; border: 1px solid ButtonText;
    }
    body.precision-glass [data-site-rail] :is(.site-rail-item[aria-current],[data-current-group]>summary,.site-rail-links a[aria-current]) {
        background: Highlight; color: HighlightText; outline: 2px solid Highlight;
    }
    body.precision-glass.consumer-area .consumer-navigation a[aria-current] {
        background: Highlight !important; color: HighlightText !important;
    }
}
