/* Legal UI revision 3: use the surrounding app theme and a quiet text control.
   The control and expanded options stay in flow; never add a floating overlay. */
:is(.ss-legal,.ss-legal-entry,.ss-app-menu){position:relative;inset:auto;z-index:auto;display:block;clear:both;box-sizing:border-box;inline-size:max-content;max-inline-size:100%;margin:4px 0;flex-shrink:0;align-self:start;justify-self:start;grid-column:1/-1;font-family:var(--font-ui,inherit);font-size:14px;line-height:1.45;color:var(--ss-legal-text);text-align:left;letter-spacing:normal;text-transform:none;touch-action:manipulation}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu)>summary{display:flex;align-items:center;gap:8px;box-sizing:border-box;inline-size:max-content;max-inline-size:100%;min-block-size:44px;margin:0;padding:8px 4px;cursor:pointer;list-style:none;border:0;border-radius:var(--radius-sm,6px);background:transparent;color:var(--ss-legal-text);font:inherit;font-weight:500;white-space:normal;user-select:none;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ss-legal-accent) 65%,var(--ss-legal-text));text-underline-offset:4px}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu)>summary::after{content:'+';text-decoration:none;font-size:16px;line-height:1}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu)[open]>summary::after{content:'\2212'}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu)>summary::-webkit-details-marker{display:none}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu)>nav{position:static;inset:auto;display:grid;box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:4px;inline-size:min(440px,calc(100vw - 48px));max-inline-size:100%;margin:4px 0 0;padding:8px;border:1px solid var(--ss-legal-border);border-radius:var(--radius-sm,8px);background:linear-gradient(var(--ss-legal-surface),var(--ss-legal-surface)),var(--ss-legal-canvas);box-shadow:none}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu) a{display:flex;align-items:center;box-sizing:border-box;min-block-size:44px;margin:0;padding:10px;border:0;border-radius:4px;background:transparent;color:var(--ss-legal-text);font:inherit;text-align:left;text-decoration:underline;text-decoration-color:var(--ss-legal-accent);text-underline-offset:3px;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu) a:hover,:is(.ss-legal,.ss-legal-entry,.ss-app-menu)>summary:hover{background:color-mix(in srgb,var(--ss-legal-accent) 10%,var(--ss-legal-surface));color:var(--ss-legal-text)}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu) :focus-visible{outline:2px solid var(--ss-legal-text);outline-offset:2px}
@media print{:is(.ss-legal,.ss-legal-entry,.ss-app-menu){display:none!important}}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu){--ss-legal-surface:var(--surface,#1a211e);--ss-legal-text:var(--text,#f5f4ee);--ss-legal-accent:var(--accent,#ff8159);--ss-legal-border:var(--line,#34413b);--ss-legal-canvas:var(--bg,#101513);}


.ss-tutorial-topbar{flex-wrap:wrap;max-height:calc(100dvh - 100px);overflow-y:auto;align-items:flex-start}.ss-tutorial-topbar>:is(.ss-legal,.ss-legal-entry,.ss-app-menu){margin:0 auto}.ss-tutorial-shell{overflow-y:auto}

/* Header help uses the same compact utility space as nearby theme/settings controls. */
header:has(>.ss-legal--header){flex-wrap:wrap}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu).ss-legal--header{inline-size:44px;max-inline-size:100%;margin:0;clear:none;align-self:center;justify-self:end}
:is(.ss-legal,.ss-legal-entry,.ss-app-menu).ss-legal--header[open]{inline-size:100%;flex-basis:100%;grid-column:1/-1}
.ss-legal--header>summary{inline-size:44px;min-block-size:44px;justify-content:center;border:1px solid var(--ss-legal-border);border-radius:50%;background:linear-gradient(var(--ss-legal-surface),var(--ss-legal-surface)),var(--ss-legal-canvas);text-decoration:none;font-weight:650}
.ss-legal--header>summary::after{display:none}
.ss-legal--header>nav{margin-inline-start:auto}

.ss-menupanel>.ss-legal-entry{display:flex;align-items:center;min-height:44px;padding:12px 16px;color:var(--text);background:transparent;font:inherit;text-decoration:underline;text-underline-offset:3px}

/* Terms menu revision 4: clear labels, menu/settings access, no question-mark legal control. */
:is(.ss-legal-entry,.ss-app-menu){--ss-legal-surface:var(--surface,#1a211e);--ss-legal-text:var(--text,#f5f4ee);--ss-legal-accent:var(--accent,#ff8159);--ss-legal-border:var(--line,#34413b);--ss-legal-canvas:var(--bg,#101513);}
.ss-legal-entry{position:static;display:inline-flex;align-items:center;box-sizing:border-box;width:max-content;max-width:100%;min-height:44px;margin:0;padding:8px 4px;border:0;background:transparent;color:var(--ss-legal-text);font-family:var(--font-ui,inherit);font-size:14px;line-height:1.45;letter-spacing:normal;text-transform:none;text-decoration:underline;text-underline-offset:4px;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
.ss-legal-entry:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.ss-app-menu{position:relative;display:block;flex:none;align-self:center;clear:none;width:max-content;max-width:100%;margin:0;padding:0;color:var(--ss-legal-text);font:14px/1.45 var(--font-ui,system-ui,sans-serif)}
.ss-app-menu>summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;width:max-content;margin:0;padding:8px 10px;list-style:none;border:1px solid var(--ss-legal-border);border-radius:var(--radius-sm,8px);background:linear-gradient(var(--ss-legal-surface),var(--ss-legal-surface)),var(--ss-legal-canvas);color:var(--ss-legal-text);cursor:pointer;font:inherit;font-weight:500;text-decoration:none}
.ss-app-menu>summary::after{content:'⌄';margin-left:6px}.ss-app-menu[open]>summary::after{content:'⌃'}.ss-app-menu>summary::-webkit-details-marker{display:none}
.ss-app-menu>nav{position:static;display:block;box-sizing:border-box;width:min(440px,calc(100vw - 48px));max-width:100%;margin:4px 0 0;padding:8px;border:1px solid var(--ss-legal-border);border-radius:var(--radius-sm,8px);background:linear-gradient(var(--ss-legal-surface),var(--ss-legal-surface)),var(--ss-legal-canvas);color:var(--ss-legal-text)}
.ss-app-menu[open]{width:100%;flex-basis:100%;grid-column:1/-1}.ss-app-menu[open]>summary{margin-inline-start:auto}
header:has(>.ss-app-menu){flex-wrap:wrap;height:auto}header>.ss-app-menu{margin-inline-start:auto}
@media print{.ss-legal-entry,.ss-app-menu{display:none!important}}
