.app-header .focus-launch {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;
  min-height:44px;padding:0 13px;border:1px solid #ffffff36;border-radius:12px;
  color:inherit;background:#ffffff0e;font-size:12px;font-weight:600;white-space:nowrap;
}
.focus-launch .icon {width:18px;height:18px}
.app-header .focus-launch:hover {background:#ffffff20}
@media (max-width:1050px) {
  .app-header .focus-launch {width:44px;padding:0}
  .focus-launch span {display:none}
}
@media (max-width:700px) {
  .app-header:has(.focus-launch) .header-brand {grid-column:1}
  .app-header .focus-launch {grid-column:2;grid-row:1;justify-self:center}
}
@media (max-width:380px) {
  .app-header:has(.focus-launch) .brand-owner {display:none}
}
#focus-dialog {
  --focus-ink:#224a43;--focus-line:#bfd2c9;--focus-paper:#f4f8f3;
  color:var(--focus-ink);background:radial-gradient(ellipse at 50% 29%,#e3eee3,transparent 62%),var(--focus-paper);
  width:min(400px,calc(100vw - 24px));max-width:none;max-height:90dvh;
  padding:clamp(17px,4vw,28px);margin:auto;border:1px solid var(--focus-line);border-radius:24px;overflow:auto;
}
#focus-dialog::backdrop {background:#101f20a8;backdrop-filter:blur(5px)}
#focus-dialog header,#focus-dialog footer {display:flex;align-items:center;justify-content:space-between;gap:10px}
#focus-dialog h2 {font:500 23px/1.2 Georgia,serif;margin:0;color:inherit}
#focus-dialog button {cursor:pointer;color:inherit;font-weight:600;font-family:inherit;font-size:13px;min-height:44px;border:1px solid var(--focus-line);border-radius:12px;background:transparent}
#focus-dialog .focus-close {width:44px;font-size:24px;border:0}
#focus-dialog button:focus-visible,#focus-dialog input:focus-visible {outline:2px solid #33806c;outline-offset:2px}
#focus-dialog button:disabled {opacity:.5;cursor:default}
.focus-dial {position:relative;display:grid;place-items:center;width:min(100%,220px,40dvh);aspect-ratio:1;margin:14px auto 22px;isolation:isolate;border-radius:50%;background:radial-gradient(circle,#fafcf8,#e6f0e7 68%,transparent 69%)}
.focus-dial svg {position:absolute;inset:0;width:100%;height:100%;fill:none;z-index:-1}
.focus-track,.focus-arc {stroke-width:4;stroke:var(--focus-line)}
.focus-arc {stroke:#528878;stroke-linecap:round;transition:stroke-dashoffset .3s linear}
.focus-ticks {stroke:#86a799;stroke-width:4}
.focus-dial output {font:500 clamp(24px,9vw,43px)/1 Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.focus-choices {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:0;padding:0;margin:0;gap:5px}
#focus-dialog .focus-choices button {padding:0 4px;font-size:12px}
#focus-dialog .focus-choices [aria-pressed=true] {background:#d8e8dc;border-color:#82a99a}
#focus-dialog label {color:inherit;font-size:12px}
#focus-dialog .focus-custom:not([hidden]),#focus-dialog .focus-volume {display:flex;align-items:center;gap:12px;margin:14px 0}
#focus-dialog [hidden] {display:none}
.focus-custom input {width:90px}
#focus-dialog .focus-volume input {flex:1;width:0;margin:0;height:36px;accent-color:#467668;padding:0}
.focus-volume span {width:4ch;text-align:right}
#focus-dialog footer button {padding:0 20px}
#focus-dialog .focus-primary {flex:1;background:var(--focus-ink);color:#fff;border-color:var(--focus-ink)}
#focus-dialog [role=status] {font-size:12px}
@media (prefers-reduced-motion:reduce) {.focus-arc {transition:none}}

[data-palette=standard] #focus-dialog {
  --focus-ink:var(--text);--focus-line:var(--border);background:var(--surface)
}
[data-palette=standard] .focus-dial {background:var(--surface-soft)}
[data-palette=standard] .focus-arc {stroke:var(--accent)}
[data-palette=standard] .focus-ticks {stroke:var(--muted)}
[data-palette=standard] #focus-dialog .focus-volume input {accent-color:var(--accent)}
[data-palette=standard] #focus-dialog .focus-primary {color:var(--surface)}
[data-palette=standard] #focus-dialog .focus-choices [aria-pressed=true] {background:var(--accent-soft);border-color:var(--muted)}
[data-palette=standard] #focus-dialog :is(input,button):focus-visible {outline-color:var(--accent)}
