auth: translucent bubble-style login card while the scene runs
Some checks failed
Build pull request / Build pull request (pull_request) Failing after 3m35s
CLA Assistant / CLAssistant (pull_request_target) Failing after 1s

Under html[data-scene] the card is a blurred 85% pane in the sky bubble colour
(--sky-bubble, fallback #0d1a26), message-bubble radius, no visible border, and
shorter padding/gaps so more scene shows on a phone. Tier off is unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Nibu 2026-11-07 18:03:33 +00:00
commit 3f6d27a1f9

View file

@ -11,12 +11,6 @@ export const AuthLayout = style({
position: 'relative',
});
// With the background scene running (see features/scene/BackgroundScene), the signed-out ground is clear.
globalStyle(`:root[data-scene] ${AuthLayout}`, {
backgroundColor: 'transparent',
backgroundImage: 'none',
});
export const AuthCard = style({
marginTop: '1vh',
maxWidth: toRem(460),
@ -57,3 +51,33 @@ export const AuthCardContent = style({
export const AuthFooter = style({
padding: config.space.S200,
});
// While the background scene runs (html[data-scene], set by features/scene/BackgroundScene), the
// signed-out ground is clear and the card is a translucent, blurred pane shaped like a message
// bubble (BubbleContent: radius R500, no border), filled with the sky's bubble colour. The
// --sky-bubble variables come from the sky theme (PR #22); the plain colours are the fallback
// until it lands. 85% fill keeps text >= 4.5:1 over the scene's brightest and darkest backdrops.
// The card is also made shorter so it leaves more of the scene visible on a phone.
const scene = ':root[data-scene]';
globalStyle(`${scene} ${AuthLayout}`, {
backgroundColor: 'transparent',
backgroundImage: 'none',
});
globalStyle(`${scene} ${AuthCard}`, {
backgroundColor: [
'rgba(13, 26, 38, 0.85)',
'color-mix(in srgb, var(--sky-bubble, #0d1a26) 85%, transparent)',
],
color: 'var(--sky-bubble-text, #b7c7d9)',
borderRadius: config.radii.R500,
borderColor: 'transparent',
backdropFilter: 'blur(12px)',
});
globalStyle(`${scene} ${AuthHeader}`, {
backgroundColor: 'transparent',
});
globalStyle(`${scene} ${AuthCardContent}`, {
paddingTop: config.space.S500,
paddingBottom: config.space.S400,
gap: config.space.S500,
});