/* ?s7 style (Sean, 2026-10-11; the default since 0.14.170): SHITBEARD softened slightly toward System 7. Added by
   theme-selector.js unless the tab chose ?s7=0, and every rule is scoped to html[data-s7], so without it nothing here applies.
   Colours, backgrounds, borders, border-radius and shadows only: no font, size, spacing, layout, control-size or icon rule.
   The recolour is token-level (theme.json block "s7" re-points the finish tokens the SHITBEARD surface rules already use);
   the few rules below add the muted blue/lavender accents. !important appears only where the SHITBEARD rule it overrides
   is itself !important (header face, pressed/selected keys, checked options). */
:root[data-theme][data-s7]{--theme-paper:#f3f3f6;--theme-ink:#20202c;--theme-muted:#4f4f63;--theme-inverse-face:#474b85;--theme-inverse-ink:#fff;--theme-panel-shadow:2px 2px 0 #c4c4d4;--theme-key-shadow:1px 1px 0 #b4b4c8;--theme-dialog-shadow:3px 3px 0 #a9a9bf;--theme-surface-radius:4px;--radius-control:4px;--theme-panel-rule:1px solid #8e8ea6;--theme-list-rule:1px dotted #a8a8bc;--theme-dots:radial-gradient(#cdcddb .6px,transparent .6px);--s7-accent:#474b85;--s7-accent-soft:#e6e6f3;--s7-header:#e9e9f4;--s7-focus:#6c70b8}
/* Header: a faint lavender band; nav glyphs and the current-page rule take the accent. */
html[data-theme][data-s7] body>header.site-header{background:var(--s7-header)!important}
html[data-theme][data-s7] body>header.site-header .site-nav>a[href]{color:var(--s7-accent)}
html[data-theme][data-s7] body>header.site-header .site-nav>a[href][aria-current="page"]{border-bottom-color:var(--s7-accent)}
@media(max-width:760px){html[data-theme][data-s7] body>header.site-header .site-nav{background:var(--s7-header)}}
/* Plain text links in page content. Keys, cards and other classed links keep their own faces. */
html[data-theme][data-s7] main a[href]:not([class]):not([role]){color:var(--s7-accent)}
/* Focus ring: same width and offset as SHITBEARD, in the accent. */
html[data-theme][data-s7] :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:var(--s7-focus)}
/* Selected / pressed keys and checked options: lavender face, accent edge (same border widths as SHITBEARD). */
html[data-theme][data-s7] body.ui-controls :is(button,[role="tab"],.ui-bezel-option,.ui-filter-chip):is([aria-pressed="true"],[aria-selected="true"],:has(input:checked)){border-color:var(--s7-accent)!important;background:var(--s7-accent-soft)!important}
html[data-theme][data-s7] body.ui-controls :is(.tag-options label,.check-option,.side-image-option label):has(input:checked){border-color:var(--s7-accent)!important;background:var(--s7-accent-soft)!important}
html[data-theme][data-s7] input[type=range]{accent-color:var(--s7-accent)}
/* Button roles (0.14.172, Sean: "buttons are different colors across pages, at least one is purple rest are black").
   One face per role on every page. Primary: the accent purple with white ink, for buttons and for primary links alike
   (Rooms' Join is a link), and on Random Records too (its paper-faced primary is a SHITBEARD-only exception, #291).
   Plain, secondary and destructive keys (Stop, End, Discard, Revoke) stay paper with ink; their hover and press take the
   soft lavender with an accent edge instead of the primary purple, so a tapped secondary key never looks like the
   page's primary action. Disabled keys keep the shared paper, muted ink and dotted edge; error keys keep their red. */
html[data-theme][data-s7] body.ui-controls a.primary:not([aria-disabled="true"]):not([data-feedback="error"]):not([data-state="error"]){background:var(--theme-inverse-face)!important;color:var(--theme-inverse-ink)!important}
html[data-theme][data-s7] body.ui-controls.random-page:not(.rdead-page) button.primary:not([data-feedback]):not([data-state]):not(:disabled){background:var(--theme-inverse-face)!important;color:var(--theme-inverse-ink)!important}
html[data-theme][data-s7] body.ui-controls.random-page:not(.rdead-page) button.primary:not([data-feedback]):not([data-state]):disabled{color:var(--theme-muted)!important}
html[data-theme][data-s7] body.ui-controls :is(button,a.secondary,.ui-button,.ui-bezel-option,.ui-filter-chip):not(.primary,.ui-button--primary,.ui-button--auth,.ui-deck-key--primary,.control-gear):is(:hover,:active):not(:disabled):not([aria-disabled="true"]):not([data-feedback="error"]):not([data-state="error"]){background:var(--s7-accent-soft)!important;color:var(--theme-ink)!important;border-color:var(--s7-accent)!important}

/* One corner token for ordinary S7 controls, including header actions and native
   input buttons that do not carry .ui-button. Intentional map/help circles stay shapes. */
html[data-theme][data-s7] body :is(button,input[type=button],input[type=submit],input[type=reset],[role=button],a.primary,a.secondary,.ui-button,.control-signout,.listener-settings-gear):not(.dead-help-button,.dead-map-pin){border-radius:var(--radius-control)!important}
html[data-theme][data-s7] body input[type=checkbox]{border-radius:var(--radius-control)!important}
html[data-theme][data-s7] input[type=file]::file-selector-button{border-radius:var(--radius-control)}
html[data-theme][data-s7] input[type=range]::-webkit-slider-thumb{border-radius:var(--radius-control)!important}
html[data-theme][data-s7] input[type=range]::-moz-range-thumb{border-radius:var(--radius-control)!important}
