styles.css: no !important left; drop display: contents and text-indent - #471
Merged
Conversation
Every remaining override in the shared stylesheet is rewritten to win on specificity instead: - The re-parented search input (`.s2b-inline-input`) is addressed through the modal, the container and the element, which beats core up to `.is-mobile .prompt-input[type=text]:not(:placeholder-shown)`; the redundant `.s2b-search-input` twin and its JS addClass are gone, and so are the two `text-indent` resets (no core or theme rule sets it). - The mobile touch-target and touch-reveal rules name `body.is-mobile` / `body` plus the same ancestors the component rules use. The component rules they fought (send button, composer icon buttons, message-nav) drop their own `!important` for a `.chat-input-container button.…` / scoped-ancestor selector, and the send button no longer carries inline width/height/background — inline styles were the real reason those needed `!important`, and they were also silently defeating the mobile 2.75rem size. - The phone-sheet header button is shifted by the safe-area inset with `translate` instead of fighting the theme's `!important` `top`. - The chips wrapper is a real flex box instead of `display: contents`. Verified live: default theme desktop (input resets, chips, clear button centred, glow), mobile emulation (input pill stripped, CTA centred, send button 44px/20px, attach 44px, model pill 44px), Cupertino desktop (JS inset 36px still wins, right padding 0).
Contributor
Greptile SummaryThis PR removes stylesheet
Confidence Score: 5/5The PR appears safe to merge, with the previously reported search-input collapse fully addressed and no new actionable issues identified. The input now has a 6em flex basis inside a wrapping flex parent, causing it to wrap onto a usable line instead of collapsing beside the chip group. The previous thread was resolved, and the current implementation fully addresses its reported behavior. Important Files Changed
Reviews (2): Last reviewed commit: "Search input: real flex basis so it wrap..." | Re-trigger Greptile |
With the chips grouped in one flex item, a zero-basis input could shrink to nothing beside a full chip row. A 6em basis makes it wrap to the next line instead and then grow to fill it. Verified with eight chips: the input lands on its own line at full width.
Leo310
added a commit
that referenced
this pull request
Sep 5, 2026
The stylesheet cleanup from the plugin review (#471): no !important left, plus the mobile send-button size it uncovered. No user-facing change intended. minAppVersion unchanged at 1.11.4. Nothing touched PROVIDER_TEMPLATES, src/skills/defaults/, BUILT_IN_TOOL_IDS or CURATED_PLUGIN_INTEGRATIONS, so the site's enumerable facts need no refresh.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Clears the plugin review's remaining CSS findings: 50 ×
!important, 2 ×text-indent, 1 ×display: contents.src/styles.cssnow contains no!importantat all (the word survives only in comments).Every override is rewritten to win on specificity, which meant understanding what each one was actually fighting:
.is-mobile .prompt-input[type=text]:not(:placeholder-shown)(0,4,0); naming the modal, container and element (.prompt.s2b-search-modal .prompt-input-container input.s2b-inline-input, (0,4,1)) beats it. The only theme!importanton this element (Cupertino'spadding-inline-start) was already handled by the inline styleupdateInlineInputSpacingsets, so the CSS never needed to fight it. The.s2b-search-inputtwin rule from Resolve Obsidian plugin-review findings #465 duplicated this block on the same element and is removed along with itsaddClass. Neither core nor Baseline/Cupertino setstext-indent, so both resets go.!importantonly because our own component rules used it (send button, composer icon buttons, message-nav). The component rules now use.chat-input-container button.send-message-button/ scoped-ancestor selectors and no!important; the global rules namebody.is-mobileplus the same ancestors and win on specificity. The send button also had inlinewidth/height/backgroundfromsendButtonStyle— inline styles were the true reason for!importantthere, and they were silently defeating the 2.75rem mobile size (measured 28 px before, 44 px after). Only the custom properties stay inline.topwith!important; instead of out-shouting it, the button is shifted by the safe-area inset withtranslate, on top of whatevertopcore or the theme chose.display: contents.Verified live (slot vault)
app.emulateMobile): input pill stripped, CTA centred, send button 44 × 44 / radius 20, attach 44 × 44, model pill min-height 44.@media (hover: none)reveals (emulation keeps a mouse) and theis-phone-only sheet header offset. Both are pure specificity/property changes; worth a glance on a phone.Test plan
bun run check,format,lint,test(1652),bun run build