/* Shared appearance controls. All content is created by ring29-theme.js. */
.ring29-theme-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:34px;padding:6px 10px;border:1px solid var(--color-line);border-radius:7px;background:var(--color-surface);color:var(--color-fg);font:500 13px/1.4 var(--font-body);white-space:nowrap;cursor:pointer}
.ring29-theme-button[aria-expanded=true]{background:var(--color-accent-soft);border-color:var(--color-accent)}
.ring29-theme-menu{box-sizing:border-box;position:fixed;z-index:100;width:344px;max-height:calc(100dvh - 24px);overflow:auto;padding:16px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-surface);color:var(--color-fg);box-shadow:var(--shadow-float);font:14px/1.5 var(--font-body)}
.ring29-theme-menu[hidden]{display:none!important}
:is(.ring29-theme-menu,.ring29-appearance) *{box-sizing:border-box}
:is(.ring29-theme-menu,.ring29-appearance) button,:is(.ring29-theme-menu,.ring29-appearance) input{font:inherit;color:var(--color-fg)}
:is(.ring29-theme-menu,.ring29-appearance) button{cursor:pointer}
.ring29-theme-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ring29-theme-heading strong{font-weight:600}
.ring29-theme-done,.ring29-theme-custom button{background:var(--color-surface);border:1px solid var(--color-line);border-radius:6px;padding:5px 9px;font-size:12px!important}
.ring29-theme-label{display:block;font-size:12px;color:var(--color-muted);margin-bottom:7px}
.ring29-theme-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;background:var(--color-surface-2);border-radius:7px;margin-bottom:15px}
.ring29-theme-modes button{border:0;background:transparent;border-radius:5px;padding:6px 3px;font-size:12px;color:var(--color-muted)}
.ring29-theme-modes button[aria-pressed=true]{background:var(--color-surface);color:var(--color-fg);box-shadow:0 1px 3px rgb(0 0 0 / .12)}
.ring29-theme-styles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:15px}
.ring29-theme-styles button{display:flex;align-items:center;gap:9px;min-height:46px;padding:7px 8px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:6px;text-align:left;font-size:12px}
.ring29-theme-styles button[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}
.ring29-theme-ring{display:block;width:19px;height:19px;border:3px solid currentColor;border-radius:50%;flex:none}
.ring29-theme-custom{border-top:1px solid var(--color-line);padding-top:13px;margin:0}
.ring29-theme-custom-row{display:flex;align-items:center;gap:8px}
.ring29-theme-custom input{height:34px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:5px}
.ring29-theme-custom [type=color]{width:36px;flex:none;padding:2px}
.ring29-theme-custom [type=text]{min-width:0;width:0;flex:1;padding:7px 8px;font:12px var(--font-mono)}
.ring29-theme-custom [aria-invalid=true]{border-color:var(--color-crit)}
.ring29-theme-error{font-size:12px;margin:8px 0 0;color:var(--color-crit)}
.ring29-theme-menu button:focus-visible,.ring29-theme-menu input:focus-visible,.ring29-theme-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.ring29-mark{position:relative!important;display:inline-block!important;width:22px!important;height:22px!important;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;transform:rotate(-30deg);color:var(--color-accent)}
.ring29-mark:after{content:'';position:absolute;right:-2px;top:1px;width:5px;height:5px;border-radius:50%;background:currentColor}
.auth-brand .ring29-mark{width:24px!important;height:24px!important}
.auth-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:100%;margin-bottom:28px}
.auth-topbar .auth-brand{margin-bottom:0}
/* The public sign-in surface belongs to the site, independently of workspace preferences. */
#auth.auth-screen{color-scheme:light;--color-page:#ffffff;--color-surface:#ffffff;--color-surface-2:#f7f7f7;--color-line:#e5e5e5;--color-fg:#252525;--color-muted:#686868;--color-accent:#333333;--color-on-accent:#ffffff;--color-action:#f5f5f5;--color-on-action:#252525;--color-accent-soft:#f4f4f4;--color-selected:#f4f4f4;--color-good:#7a7a7a;--color-crit:#a12c2c;--r29-bg:#ffffff;--r29-surface:#ffffff;--r29-muted-surface:#f7f7f7;--r29-text:#252525;--r29-muted:#686868;--r29-border:#e5e5e5;--r29-accent:#333333;--r29-accent-text:#ffffff;--r29-accent-wash:#f4f4f4;--r29-error:#a12c2c;--line:#e5e5e5;--muted:#686868;background:#ffffff;color:#252525}
#auth .auth-topbar{margin-bottom:36px}
#auth .auth-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding-top:8px}
#auth .auth-card .primary{background:var(--color-action);color:var(--color-on-action);border:1px solid var(--color-line)}
#auth .auth-card .primary:hover{background:#ededed;filter:none}
#auth .auth-grid h2{font-size:26px;font-weight:500;letter-spacing:-.5px}
#auth .auth-brand small,#auth .eyebrow{color:#777777}
#auth a,#auth .link{color:#555555}
#auth .dot{background:#8a8a8a}
#auth input{background:#ffffff;color:#252525;border-color:#dedede}
#auth :is(button,input,summary,a):focus-visible{outline-color:#555555}
body:has(#auth:not([hidden])) #toast{background:#252525;color:#ffffff;box-shadow:none}
.workspace-header .workspace-actions{display:flex;align-items:center;gap:14px;flex:none}
.docked .focus-header [data-user-settings]{display:none}
.advanced-tools{margin-top:auto;border-top:1px solid var(--color-line);padding-top:10px;font:13px/1.5 var(--font-body);color:var(--color-muted)}
.advanced-tools>summary,.sharing-advanced>summary{cursor:pointer;padding:6px 0}
.advanced-tools .terminal-share-link{border-top:0;padding:10px 0}
.advanced-tools+#preferences{margin-top:0}
.sharing-agent-option{margin-top:20px;padding-top:18px;border-top:1px solid var(--color-line)}
.sharing-agent-option p{margin-top:8px}
.sharing-advanced{margin-top:18px;font-size:13px;color:var(--color-muted)}
.sharing-advanced>a{display:block;padding:8px 0}
.primary,.run-button{background:var(--color-action,var(--color-accent));color:var(--color-on-action,var(--color-on-accent));border-color:var(--color-action,var(--color-accent))}
@media(max-width:760px){.workspace-header{height:auto;min-height:68px;gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.workspace-header .workspace-actions{margin-left:auto;gap:10px}.workspace-header .privacy-label{display:none}.focus-header{gap:10px}.ring29-theme-menu{padding:13px}.ring29-theme-custom [type=text]{font-size:16px}.auth-topbar{gap:10px}.auth-topbar .auth-brand{gap:7px}.auth-brand small{letter-spacing:0;font-size:12px}.ring29-theme-button{padding:7px 9px}.docs-header{flex-wrap:wrap;gap:14px}}
@media(pointer:coarse){.ring29-theme-button,:is(.ring29-theme-menu,.ring29-appearance) button{min-height:44px}}

/* Optional setup stays in the document flow and yields to the user's work. */
.ring29-theme-note{font-size:11px;color:var(--color-muted);margin:12px 0 18px}
.ring29-appearance :is(button,input):focus-visible,.user-settings-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.user-settings-button{font-size:12px;min-height:34px;white-space:nowrap}
.settings-advanced{margin:18px 0;padding:12px 0;border-block:1px solid var(--color-line)}
.settings-advanced>summary{cursor:pointer;font-size:13px;color:var(--color-muted)}
.settings-advanced[open]>summary{margin-bottom:16px}
.settings-advanced>.link{display:block;margin-top:16px}
.setup-hint{display:flex;align-items:center;gap:16px;padding:14px 18px;margin:12px 24px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-surface);color:var(--color-fg);font:12px/1.5 var(--font-body)}
.setup-hint-copy{flex:1;min-width:0}.setup-hint strong{font-weight:500}.setup-hint p{font-size:12px;color:var(--color-muted);margin:2px 0 0}
.setup-hint-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.setup-hint-actions>.link{font-size:12px;white-space:nowrap}
.setup-color{width:22px;height:22px;flex:none;border:4px solid var(--swatch);border-radius:50%;background:var(--color-surface);padding:0;cursor:pointer}
.setup-color:focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}
.setup-hint-dismiss{align-self:flex-start;background:none;border:0;color:var(--color-muted);padding:0 4px;font:18px/1.4 var(--font-body);cursor:pointer}
#setup-hints-focus .setup-hint{margin:0 0 24px}
@media(max-width:760px){.setup-hint{position:relative;align-items:flex-start;flex-direction:column;gap:10px;margin:12px 16px;padding:12px 32px 12px 12px}.setup-hint-dismiss{position:absolute;right:6px;top:6px}.setup-hint-actions{gap:10px}.setup-color{width:25px;height:25px}.setup-hint-actions>.link{font-size:11px}#setup-hints-focus .setup-hint{margin:0 0 18px}.user-settings-button{font-size:11px}}

.workspace:not(.sidebar-collapsed) .workspace-header [data-user-settings]{display:none}
