/* Shared WATA drawer geometry. Host tokens preserve app colors and preferences.
   Only annotated drawers consume this file; no content-screen selectors. */
.wata-drawer {
  --wd-line:var(--polish-line,var(--line,#30465b));
  --wd-surface:var(--polish-surface,var(--panel,#152333));
  --wd-muted:var(--text-mute,var(--muted,#8296aa));
  --wd-accent:var(--polish-focus,var(--accent,#19bde7));
  --wd-danger:#b83727;
  width:min(390px,100vw);max-width:100vw;
  font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overscroll-behavior:contain;
}
.wata-drawer :is(.drawer-head,.menu-head) {gap:12px;align-items:center;min-height:64px;}
.wata-drawer :is(.drawer-head,.menu-head) .avatar {width:44px;height:44px;flex:0 0 44px;border-radius:50%;object-fit:cover;}
.wata-drawer :is(.drawer-close,.close-button,.menu-close,#close-menu,[data-action="close-drawer"]) {width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--wd-line);border-radius:50%;background:transparent;color:inherit;flex:none;}
.wata-drawer :is(.menu-section-label,.drawer-group-label,.drawer-label,.menu-group>h2) {font-size:10px;font-weight:750;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;color:var(--wd-muted);}
.wata-drawer :is(.menu-group:not(section),.drawer-card,.drawer-group:not(.drawer-group:has(.drawer-card))) {border:1px solid var(--wd-line);border-radius:18px;overflow:hidden;}
.wata-drawer :is(.drawer-row,.menu-action,.menu-group>button,.menu-group>a,.drawer-group>button,.drawer-group>a,.field-settings summary,.wata-companion-row) {
  display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 14px;
  font-family:inherit;font-size:14px;line-height:1.35;font-weight:600;text-align:left;text-decoration:none;
  border-radius:0;box-shadow:none;
}
.wata-drawer :is(.drawer-row,.menu-action,.menu-group>button,.menu-group>a,.drawer-group>button,.drawer-group>a,.field-settings summary,.wata-companion-row)>:is(svg,img) {width:20px;height:20px;min-width:20px;max-width:20px;flex:0 0 20px;}
.wata-drawer :is(.menu-row-copy,.row-label,.main,.wm-copy) {min-width:0;flex:1;background:transparent;}
.wata-drawer :is(.menu-row-copy,.row-label,.main,.wm-copy) strong {font-size:14px;line-height:1.35;font-weight:650;}
.wata-drawer :is(.drawer-row,.menu-action,.menu-group>button,.menu-group>a,.drawer-group>button,.drawer-group>a) strong {font-size:14px;line-height:1.35;font-weight:650;}
.wata-drawer :is(.drawer-row,.menu-action,.menu-group>button,.menu-group>a,.drawer-group>button,.drawer-group>a)>span:not([data-icon]):not([aria-hidden]):not(.disclosure):not(.theme-icon) {min-width:0;flex:1;}
.wata-drawer #drawerBody {display:flex;flex-direction:column;}
.wata-drawer .drawer-group:has(#drawerSearch) {order:2;}
.wata-drawer .drawer-group:has(.drawer-signout) {order:3;}
@media(min-width:761px){.wata-drawer .drawer-group:has(#drawerSearch){display:none;}}
.wata-drawer :is(.drawer-row,.menu-action,.menu-group>button,.menu-group>a,.drawer-group>button,.drawer-group>a,.field-settings summary,.wata-companion-row) :is(small,.desc) {display:block;margin-top:3px;color:var(--wd-muted);font-size:12px;font-weight:400;line-height:1.4;white-space:normal;overflow-wrap:break-word;}
.wata-drawer :is(.drawer-signout:not(.drawer-row),.signout,.menu-signout) {width:100%;margin-top:20px;border:1px solid var(--wd-line);border-radius:18px;overflow:hidden;}
.wata-drawer .drawer-signout:not(.drawer-row) {display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 14px;text-align:left;background:transparent;}
.wata-drawer :is(.drawer-signout,.signout) svg {width:20px;height:20px;flex:none;}
.wata-drawer :is(.drawer-signout,.signout) :is(small,.desc) {color:var(--wd-muted)!important;opacity:1!important;}
.wata-drawer :is(.drawer-signout,.signout) strong {font-size:14px;line-height:1.35;font-weight:650;color:var(--wd-danger);}
.wata-drawer :is(.drawer-signout,.signout) :is(small,.desc) {display:block;margin-top:3px;font-size:12px;line-height:1.4;font-weight:400;}
:is(html,body):is([data-theme="dark"],[data-appearance="dark"]) .wata-drawer {--wd-danger:#ff967d;}
.wata-drawer#drawer .signout {display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin-top:20px;padding:12px 14px;border:1px solid var(--wd-line);border-radius:18px;color:var(--wd-danger);background:transparent;font-size:14px;font-weight:650;text-align:left;}
.wata-drawer .drawer-row:not(:last-child) {border-bottom:1px solid var(--wd-line);}
.wata-drawer .menu-head>div {color:inherit;}
.wata-drawer :is(.theme-choice,.theme-opts,.theme-grid,.field-appearance-options,.theme-choices,.drawer-theme-grid) {gap:8px;}
.wata-drawer :is(.theme-choice button,.theme-opts button,.theme-grid button,.field-appearance-options button,.theme-choices button,.drawer-theme-option) {min-width:0;min-height:76px;height:auto;padding:10px 6px;border:1px solid var(--wd-line);border-radius:11px;font-size:12px;line-height:1.3;}
.wata-drawer :is(.theme-choice button,.theme-opts button,.theme-grid button,.field-appearance-options button,.theme-choices button,.drawer-theme-option):is([aria-pressed="true"],.active) {outline:2px solid var(--wd-accent);outline-offset:-2px;}
.wata-drawer :is(.appearance-preview,.theme-swatch,.appearance-sample,.theme-preview) {display:block;width:100%;max-width:68px;height:20px;margin:0 auto 8px;border-radius:5px;}
.wata-drawer .appearance-preview.light {background:linear-gradient(90deg,#f5f8fb 0 72%,var(--wd-accent) 72%);border:1px solid var(--wd-line);}
.wata-drawer .appearance-preview.dark {background:linear-gradient(90deg,#102030 0 72%,var(--wd-accent) 72%);border:1px solid var(--wd-line);}
.wata-drawer #drawerAppearancePanel .theme-choice {display:flex;gap:8px;}
.wata-drawer #drawerAppearancePanel .theme-choice button {flex:1;color:inherit;background:transparent;}
.wata-drawer .theme-grid em {font:inherit;}
.wata-drawer :is(.drawer-language-panel,.drawer-languages,.drawer-language-submenu,.field-language-options,#drawer-languages) button {min-height:44px;font-size:14px;line-height:1.4;}
.wata-drawer :is(.drawer-submenu,.drawer-settings-panel,.drawer-language-submenu,.field-appearance-options) {padding:12px 14px;}
.wata-drawer .wata-companion-row {background:transparent;color:inherit;border:0;border-bottom:1px solid var(--wd-line);}
.wata-drawer .wata-companion-row svg {fill:none;stroke:var(--wd-accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.wata-drawer .wata-companion-row .wm-copy {display:grid;gap:2px;}
.wata-drawer .wata-companion-row .wm-chevron {width:16px;min-width:16px;flex:0 0 16px;margin-left:auto;}
.wata-drawer :is(button,a,summary):focus-visible {outline:3px solid var(--wd-accent);outline-offset:-3px;}
/* Native Field disclosures use the same grouped settings surface. */
.wata-drawer .field-settings .field-settings-card {border:1px solid var(--wd-line);border-radius:18px;overflow:hidden;background:var(--card);}
.wata-drawer .field-language-options {border:0;border-radius:0;padding:8px 14px;background:transparent;}
.wata-drawer .field-settings details>summary {border-radius:0!important;}
.wata-drawer .field-settings summary>span:nth-child(2) {flex:1;min-width:0;}
.wata-drawer .field-settings details[open]>summary>span:last-child {transform:rotate(90deg);}
.wata-drawer .field-settings-card>.wata-companion-row {border-radius:0;}
/* Nonduplicate utilities remain an optional secondary section. */
.wata-drawer .wata-more-tools {margin-top:24px;}
.wata-drawer .wata-more-tools>summary {min-height:44px;padding:12px 4px;cursor:pointer;font-size:12px;font-weight:650;color:var(--wd-muted);}
@media(prefers-reduced-motion:reduce){.wata-drawer,.wata-drawer *{scroll-behavior:auto;transition:none!important;}}

/* Theme-safe drawer contrast: colors decorate; labels retain readable contrast. */
.wata-drawer {
  --wd-text:var(--text,var(--ink,#17313e));
  --wd-muted:color-mix(in srgb,var(--wd-text) 80%,transparent);
  --wd-focus:var(--wd-text);
}
.wata-drawer :is(.drawer-head,.menu-head) small,
.wata-drawer :is(.drawer-head,.menu-head) .identity span,
.wata-drawer :is(.drawer-foot,.menu-version),
.wata-drawer .menu-version strong {color:var(--wd-muted);}
.wata-drawer :is(.drawer-signout .main,.menu-signout button,.signout) {color:var(--wd-danger)!important;}
body:is([data-applied-theme="default"],[data-applied-theme="dark"]) .wata-drawer {--wd-danger:#ff967d;}
.wata-drawer :is(.theme-choice button,.theme-opts button,.theme-grid button,.field-appearance-options button,.theme-choices button,.drawer-theme-option) {color:var(--wd-text);}
.wata-drawer :is(.language-label i,.guide-downloads a,.menu-head .eyebrow) {color:var(--wd-text);}
.wata-drawer :is(.drawer-row,.menu-action,.menu-group>button,.drawer-group>button,.drawer-group>a)[aria-current="page"] {color:var(--wd-text);}
.wata-drawer :is(button,a,summary):focus-visible {outline-color:var(--wd-focus);}
.wata-drawer :is(.theme-choice button,.theme-opts button,.theme-grid button,.field-appearance-options button,.theme-choices button,.drawer-theme-option,.accent-opt,.accent-choice button):is([aria-pressed="true"],.active) {outline:2px solid var(--wd-focus);outline-offset:2px;}
.wata-drawer .wata-companion-row .wm-chevron {stroke:var(--wd-muted);}
/* Maintain a visible boundary around white and black miniature theme previews. */
.wata-drawer :is(.appearance-preview,.theme-swatch,.appearance-sample,.theme-preview) {box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--wd-text) 35%,transparent);}
.wata-drawer .menu-kicker {color:var(--wd-muted);}
.wata-drawer .theme-choices button[data-theme="light"] {color:#101828;}
.wata-drawer .theme-choices button[data-theme="dark"] {color:#f3f7fc;}
.wata-drawer [data-wata-menu-icon] {color:var(--wd-text);}

/* Independent mode and accent controls, shared across drawer adapters. */
.wata-drawer .wata-appearance-controls {grid-column:1/-1;min-width:0;width:100%;color:var(--wd-text);}
.wata-drawer .wata-setting-label {margin:2px 0 10px;font-size:11px;font-weight:700;line-height:1.4;color:var(--wd-muted);}
.wata-drawer .wata-setting-label:not(:first-child) {margin-top:20px;}
.wata-drawer .wata-mode-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.wata-drawer .wata-mode-options>button {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:90px;width:100%;padding:10px;border:1px solid var(--wd-line);border-radius:12px;background:transparent;color:var(--wd-text);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;}
.wata-drawer .wata-mode-options>button[aria-pressed="true"] {outline:2px solid var(--wd-focus);outline-offset:1px;background:color-mix(in srgb,var(--wata-choice-accent) 8%,transparent);}
.wata-drawer .wata-mode-options>button>b {position:absolute;right:7px;top:5px;font-size:13px;}
.wata-drawer .wata-mode-preview {display:block;position:relative;width:68px;height:28px;border:1px solid #8293a6;border-radius:6px;overflow:hidden;background:#f7fafc;}
.wata-drawer .wata-mode-preview.dark {background:#102030;}
.wata-drawer .wata-mode-preview>i {position:absolute;right:0;top:0;bottom:0;width:24%;background:var(--wata-choice-accent);}
.wata-drawer .wata-accent-options {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.wata-drawer .wata-accent-options>button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:72px;width:100%;padding:6px 2px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--wd-text);font-family:inherit;font-size:11px;font-weight:600;line-height:1.4;cursor:pointer;}
.wata-drawer .wata-accent-options>button[aria-pressed="true"] {border-color:var(--wd-focus);}
.wata-drawer .wata-accent-dot {display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 17px/1 system-ui;color:white;box-shadow:0 0 0 2px var(--panel,var(--surface,var(--card))),0 0 0 3px var(--wd-line);}
:is(html,body)[data-theme="dark"] .wata-drawer .wata-accent-dot,
html[data-appearance="dark"] .wata-drawer .wata-accent-dot {color:#102030;}
.wata-drawer .wata-appearance-controls button:focus-visible {outline:3px solid var(--wd-focus);outline-offset:2px;}
