/* Canonical T20 material layer. Geometry and optics belong to glass-renderer.js;
   content remains live DOM. No optical filter is applied to text or controls. */
.t20 {
  --glass-panel-fill: linear-gradient(180deg,#090a0e 0,rgba(9,10,14,.94) 22px,rgba(16,18,26,.36) 72px,rgba(20,22,31,.42));
  --glass-control-fill: linear-gradient(155deg,rgba(236,241,255,.12),rgba(128,138,161,.055) 45%,rgba(211,220,246,.10));
  --glass-card-fill: rgba(9,11,18,.78);
  --glass-ink: #f5f6fa;
  --glass-muted: #b6bac5;
  --glass-border: rgba(233,238,255,.13);
}
.glass-definitions{position:absolute;width:0;height:0;pointer-events:none;overflow:hidden}
/* This owned optical declaration supersedes all historical role selectors.
   Accessibility declarations below intentionally take precedence. */
.t20 [data-glass]{backdrop-filter:var(--glass-optics,blur(6px) saturate(1.12))!important;-webkit-backdrop-filter:var(--glass-optics,blur(6px) saturate(1.12))!important;color:var(--glass-ink)}
.t20 .island.lg[data-glass],.t20 .island.lg[data-glass]:is(:hover,:focus-within){background:linear-gradient(180deg,rgba(10,11,15,.88),rgba(18,20,27,.68));box-shadow:none;filter:drop-shadow(0 8px 18px #0005)}
.t20 .island.lg[data-glass]::after{display:none}
.t20 .mobile-surface[data-glass],.t20 .panel-meeting .mobile-surface[data-glass]{background:var(--glass-panel-fill);box-shadow:none}
.t20 .panel-edge{display:none}
.t20 .glass-rim{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:3}
.t20 .glass-rim path{stroke-width:1.05}
.t20 .mobile-surface>.glass-rim{opacity:.68!important;mask-image:linear-gradient(transparent,#000 22px);-webkit-mask-image:linear-gradient(transparent,#000 22px)}
.t20 .island>.glass-rim{mask-image:linear-gradient(transparent,#000 16px);-webkit-mask-image:linear-gradient(transparent,#000 16px)}
.t20 .primary.lg[data-glass],.t20 .island__cta.lg[data-glass],.t20 .secondary.lg[data-glass],.t20 .scene-switch__thumb[data-glass]{background:var(--glass-control-fill);border:0;box-shadow:0 4px 14px #0004,inset 0 1px 3px #ffffff06}
.t20 .primary.lg[data-glass]:hover,.t20 .island__cta.lg[data-glass]:hover,.t20 .secondary.lg[data-glass]:hover{background-color:#cad6ff0c}
.t20 .secondary.lg[data-glass]{position:relative;min-height:44px;overflow:hidden}
.t20 .scene-switch__thumb[data-glass]{background:linear-gradient(155deg,#ffffff17,#cdd7ff09 48%,#ffffff0d);will-change:auto}
.t20 .scene-switch__thumb[data-glass]::before,.t20 .scene-switch__thumb[data-glass]::after,.t20 .secondary.lg[data-glass]::before,.t20 .secondary.lg[data-glass]::after{display:none}
.t20 .scene-switch.lg{background:#0d0e12;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 1px #ffffff0a,0 8px 24px #0003}
.t20 .scene-switch button[aria-pressed=false]{color:var(--glass-muted)}
.t20 .mobile-surface .notch-card,.t20 .mobile-surface .transcript-card{background:var(--glass-card-fill);border-color:var(--glass-border);box-shadow:0 2px 6px #0001;backdrop-filter:none;-webkit-backdrop-filter:none}
.t20 .panel-meeting .meeting-header,.t20 .panel-meeting .transcript-viewport{background:var(--glass-card-fill);border-color:var(--glass-border)}
.t20 .mobile-surface .notch-bubble{background:rgba(32,35,46,.84);color:#eef0f7;box-shadow:inset 0 1px 0 #ffffff08;backdrop-filter:none;-webkit-backdrop-filter:none}
.t20 :is(.notch-tool,.notch-chip,.glass-control){background:rgba(13,15,23,.68);border-color:var(--glass-border);box-shadow:inset 0 1px 0 #ffffff04;backdrop-filter:none;-webkit-backdrop-filter:none}
.t20 :is(.notch-tool,.glass-control):is(:hover,:focus-visible){background:rgba(64,69,87,.85)}
.t20 .glass-control[aria-pressed=true]{background:#444b60;border-color:#c5d0ee70}
.t20 dialog#access{background:rgba(17,19,26,.94);border:1px solid var(--glass-border);backdrop-filter:blur(8px) saturate(1.12);-webkit-backdrop-filter:blur(8px) saturate(1.12);box-shadow:0 24px 70px #0008;color:var(--glass-ink)}
.t20 dialog#access::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.t20 dialog .dialog-note{color:var(--glass-muted)}
.t20 :is(button,a,[tabindex]):focus-visible{outline:2px solid #e4ebff;outline-offset:3px}
.t20 .island :is(button,a):focus-visible{outline-offset:-3px}
/* The requested wallpaper change is limited to these two product scenes. */
.t20 :is(#meetings,#dictation) .display-environment::before{background-image:url('assets/wallpaper-motion-purple.jpg');background-position:50% 42%}

/* A complete, intentional opaque material tier. Query parameter only provides
   a local test path; real OS preferences use the identical declaration set. */
html[data-glass-mode=solid] .t20 :where([data-glass],.lg,.mobile-surface,.scene-switch__thumb,dialog#access,.notch-card,.notch-bubble,.notch-tool,.notch-chip,.glass-control){background:#171a22!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#f5f6fa;border:1px solid #707989;box-shadow:none}
html[data-glass-mode=solid] .t20 :is(.glass-rim,.cta-orb){display:none!important}
html[data-glass-mode=solid] .t20 .scene-switch__thumb{background:#3e4658!important}
html[data-glass-mode=solid] .t20 dialog#access::backdrop{background:#000d;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
 html[data-glass-mode] .t20 :where([data-glass],.lg,.mobile-surface,.scene-switch__thumb,dialog#access,.notch-card,.notch-bubble,.notch-tool,.notch-chip,.glass-control){background:#171a22!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#f5f6fa;border:1px solid #707989;box-shadow:none}
 .t20 :is(.glass-rim,.cta-orb){display:none!important}
 .t20 .scene-switch__thumb{background:#3e4658!important}
 .t20 dialog#access::backdrop{background:#000d;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(forced-colors:active){
 html[data-glass-mode] .t20 :where([data-glass],.lg,.mobile-surface,.scene-switch__thumb,dialog#access,.notch-card,.notch-bubble,.notch-tool,.notch-chip,.glass-control){background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
 .t20 :is(.glass-rim,.cta-orb){display:none!important}
 html[data-glass-mode] .t20 .scene-switch__thumb{background:Highlight!important}
 .t20 .scene-switch button[aria-pressed=true]{color:HighlightText!important;forced-color-adjust:none}
 .t20 :is(button,a,[tabindex]):focus-visible{outline:2px solid Highlight!important}
 html[data-glass-mode] .t20 dialog#access::backdrop{background:Canvas!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 html[data-glass-mode] .t20 :where([data-glass],.lg,.mobile-surface,.scene-switch__thumb,dialog#access){background:#171a22!important}
}
@media(prefers-reduced-motion:reduce){.t20 .glass-rim{transition:none}.t20 [data-glass]{will-change:auto}}
