
Styling the Native <select> with appearance: base-select
CSS can finally style a real select, picker and all. The opt-in also takes over the phone's own picker, so the job is scoping it to the devices where your design is the better one.

CSS can finally style a real select, picker and all. The opt-in also takes over the phone's own picker, so the job is scoping it to the devices where your design is the better one.

Swap a card's viewport media query for a container query the host establishes, find the breakpoints its content needs, and keep user preferences and product intent in the mechanisms that own them.

Apple put a sale date on its first foldable iPhone, so screens that fold in half are about to get a lot more common. Google's live voice models went generally available, Firefox changed a scrollbar check that may unhide styles you wrote, OpenAI deleted the line about training on the mathematicians' drafts, Safari 27 reached phones, tablets, and laptops, and Tailwind Labs is joining Shopify.

A practical way to evaluate a frontend technology as a long-term commitment, from how much of your app it takes over to what replacing it would cost, with my own decision to build on Lit as the example.

Claude Fable 5.1 took the top of the model table, Gemini 3.8 Flash came in as the fastest model on it, Chrome and Firefox both shipped, OpenAI is cutting Cursor off, and Go, Flutter, and Dart join The Brief.

The two best-known fixes for a slow list solve different problems and cost you different things. Measure which cost you're actually paying, then keep the DOM with content-visibility: auto or drop it with a virtualizer and rebuild the behaviors that disappear with it.

Build an FAQ that stays findable when it's collapsed, learn which hiding technique to pick by who should still reach the content, and let <details name> and hidden="until-found" hand discovery back to the browser.

Build a smart badge whose foreground, border, and tonal dot derive from one accent, and learn which color decisions CSS can own with color-mix(), relative color syntax, light-dark(), and contrast-color(), and which still belong to your design system.

Build one adaptive card and learn to read motion, contrast, forced colors, and pointer input as signals from the user and device, then sort each into requirement, enhancement, or the one signal you can't depend on yet.

Build a reading-progress page, delete the JavaScript that only paints, and learn which scroll work still belongs to JavaScript.