# Phase 5.IV.C.1 — the `.mobile` selector inventory

Every CSS rule whose selector uses the `.mobile` body class, the class the head sets from the user-agent sniff. Now that item 23 gives the layout width-based media queries and item 25 always emits the viewport, that sniff-driven class is redundant and C.2 retires it. Each rule is sorted here so the retirement is mechanical.

The sort: a rule that only styles `.mobile X`, whether or not it overrides a desktop `X`, folds into the existing `@media (max-width: 600px)` block with the `.mobile` prefix dropped — the media query already means “narrow screen,” which is what the class stood for. A rule whose selector list also carries a non-mobile sibling that already applies is a remove, since the sibling covers it. None here are genuine content markers to keep.

Totals: fold 243, remove 3, keep 0 — 246 rules across four stylesheets (search.css, mail.css, frise.css, messages.css).

## search.css (199 rules: 196 fold, 3 remove)

### remove (a non-mobile sibling already applies)

~L75 | `.light-content, .mobile .light-content`
~L4251 | `.mobile .media-controls ul.link-dropdown li, .media-controls ul.popup-dropdown li`
~L5785 | `.html-ltr .impersonation-banner .button-box.impersonation-go, .html-rtl .impersonation-banner .button-box.impersonation-go, .mobile .impersonation-banner .button-box.impersonation-go`

### fold into the 600px media query

~L139 | `.mobile p`
~L144 | `.mobile pre`
~L241 | `.mobile .indent`
~L245 | `.mobile span.indent1`
~L249 | `.mobile span.indent2`
~L253 | `.mobile span.indent3`
~L257 | `.mobile span.indent4`
~L261 | `.mobile span.indent5`
~L327 | `.mobile .blockquote`
~L376 | `.mobile .small-font`
~L380 | `.mobile .medium-font`
~L384 | `.mobile .big-font`
~L388 | `.mobile .huge-font`
~L658 | `.mobile .very-narrow-field`
~L666 | `.mobile .narrow-field`
~L674 | `.mobile .wide-field`
~L682 | `.mobile .extra-wide-field`
~L702 | `.mobile .tall-text-area`
~L764 | `.mobile .grid-container`
~L811 | `.mobile .grid-resource`
~L828 | `.mobile .grid-resource input`
~L857 | `.mobile #info-item`
~L869 | `.mobile #detail-item`
~L911 | `.mobile .detail-resource`
~L923 | `.mobile .grid-resource img`
~L927 | `.mobile .detail-resource img`
~L968 | `.mobile div[data-badge]::after`
~L972 | `.mobile .badge`
~L1136 | `.mobile .media-detail-description`
~L1167 | `.mobile .medium-text-area`
~L1176 | `.mobile .short-text-area`
~L1224 | `.mobile .top-margin`
~L1228 | `.mobile .top-bottom-margin`
~L1232 | `.mobile .small-top-bottom-margin`
~L1279 | `.mobile .slight-pad`
~L1344 | `body.mobile`
~L1368 | `.mobile .search-body, .mobile .body-container`
~L1415 | `.mobile .top-container`
~L1425 | `.mobile .top-landing-spacer`
~L1442 | `.mobile #message`
~L1527 | `.mobile .bar-item`
~L1534 | `.mobile .wide-bar-item`
~L1541 | `.mobile .group-title-item`
~L1546 | `.mobile .nav-bar`
~L1551 | `.mobile .nav-bar .title-block`
~L1556 | `.mobile .nav-bar h1`
~L1562 | `.mobile .nav-bar .nav-span`
~L1567 | `.mobile .nav-bar img`
~L1622 | `.mobile .menu-options li`
~L1630 | `.mobile .menu-options h2 img`
~L1680 | `.mobile .source-anchor-button`
~L1786 | `:not(.mobile) .resource-more-btn`
~L1805 | `.mobile #clipboard-toggle`
~L1872 | `.mobile .center-container`
~L1920 | `.mobile .small-top`
~L1926 | `.mobile .non-search`
~L1943 | `.mobile .non-search .logo`
~L1949 | `.mobile .test`
~L1967 | `.mobile .request-add, .mobile .group-request-add`
~L2015 | `.mobile .admin-heading`
~L2021 | `.mobile .group-heading`
~L2026 | `.mobile .group-heading span`
~L2038 | `.mobile .landing .logo`
~L2060 | `.mobile .group-comment`
~L2064 | `.mobile .logo img`
~L2072 | `.mobile .admin-heading img`
~L2077 | `.mobile .group-heading img.logo`
~L2089 | `.mobile .landing .logo img`
~L2097 | `.mobile .admin-heading img`
~L2111 | `.mobile .logo span`
~L2126 | `.html-ltr.mobile b.logo-subsearch, .html-rtl.mobile b.logo-subsearch`
~L2138 | `.mobile .logo-subsearch`
~L2149 | `.mobile .admin-heading`
~L2156 | `.mobile .non-search .logo span`
~L2164 | `.mobile .non-search .logo img`
~L2180 | `.mobile .footer-element`
~L2191 | `.mobile .signin-exit`
~L2195 | `.mobile .signin-exit`
~L2209 | `.mobile .signin-exit li`
~L2221 | `.mobile .query-statistics`
~L2308 | `.mobile .login, .mobile .register`
~L2316 | `.mobile .register .table-label`
~L2333 | `.mobile .login button, .mobile .register button`
~L2337 | `.mobile .register select`
~L2351 | `.mobile .user-icon-td`
~L2355 | `.mobile .user-icon`
~L2371 | `.mobile .upload-file`
~L2387 | `.mobile .small-icon`
~L2399 | `.mobile .icon-upload`
~L2417 | `.mobile .statistics`
~L2425 | `.mobile .stats span`
~L2432 | `.mobile .stats img`
~L2472 | `.mobile .search-callout`
~L2491 | `.mobile .news-result img`
~L2529 | `.mobile .news-result, .mobile .result`
~L2633 | `.mobile .page-list-header-footer`
~L2648 | `.mobile .wiki-page-list-result`
~L2708 | `.mobile div.small-group-result, .mobile div.group-result`
~L2713 | `.mobile div.button-group-result`
~L2819 | `.mobile .search-box`
~L2824 | `.mobile .search-box-inner input`
~L2829 | `.mobile .inner-bar .search-box`
~L2833 | `.mobile .inner-bar .search-box-inner`
~L2838 | `.mobile .inner-bar .search-box-inner input`
~L2842 | `.mobile .search-button`
~L2846 | `.mobile .search-reset-button`
~L2856 | `.mobile .button-box img`
~L2868 | `.mobile .search-field`
~L2885 | `.mobile .search-field input[type="search"]`
~L2890 | `.mobile .search-field .button-box`
~L2900 | `.mobile .search-field .button-box img`
~L2911 | `.mobile .small-search-box`
~L2916 | `.mobile .medium-search-box`
~L2921 | `.mobile .large-search-box`
~L2926 | `.mobile .small-search-box .search-input`
~L2931 | `.mobile .medium-search-box .search-input`
~L2936 | `.mobile .large-search-box .search-input`
~L3011 | `.mobile .dropdown`
~L3055 | `.mobile .suggest-list`
~L3196 | `.mobile .video-list, .mobile .image-list`
~L3254 | `.mobile .image-detail`
~L3258 | `.mobile .image-list img`
~L3340 | `.mobile .video-detail`
~L3344 | `.mobile .video-list .video-thumb`
~L3348 | `.mobile .video-play-button`
~L3355 | `.mobile .table-input select`
~L3359 | `.mobile .table-input input`
~L3382 | `.mobile .content`
~L3422 | `.mobile .button-box`
~L3468 | `.mobile .current-activity-header`
~L3473 | `.mobile .wiki`
~L3484 | `.mobile .current-activity-footer`
~L3502 | `.mobile #feedstatus`
~L3513 | `.mobile .current-activity, .mobile .small-margin-current-activity`
~L3526 | `.mobile textarea`
~L3551 | `.mobile .adjacent-button-field`
~L3569 | `.mobile .current-activity select, .mobile .small-margin-current-activity select`
~L3580 | `.mobile .current-activity img, .mobile .small-margin-current-activity img`
~L3636 | `.mobile .media-container .photo`
~L3651 | `.mobile .media-container .photo-container`
~L3748 | `.mobile .admin-form-row`
~L3761 | `.mobile #browse-state, .mobile #browse-state option`
~L3882 | `.mobile .search-sources-table pre`
~L3913 | `.mobile .scrapers-table`
~L3918 | `.mobile .scrapers-table td, .mobile .scrapers-table th`
~L3939 | `.mobile .file-types-table, .mobile .file-types-all td, .mobile .search-page-table, .mobile .search-page-all td`
~L4020 | `.mobile .indexing-plugin-lightbox`
~L4025 | `.mobile .light-content h2`
~L4044 | `.mobile .light-content`
~L4152 | `.mobile .wiki-resources table`
~L4156 | `.mobile .wiki-resources th:first-child`
~L4160 | `.mobile .wiki-resources th:last-child`
~L4198 | `.mobile .ebook-range`
~L4203 | `.mobile .ebook, .mobile .wiki-resource-object`
~L4336 | `.mobile .icon-button-container`
~L4344 | `.mobile .media-buttons-container`
~L4353 | `.mobile .access-result .media-buttons-container`
~L4363 | `.mobile .media-buttons-container a`
~L4392 | `.mobile .media-buttons-container .selected`
~L4412 | `.mobile .search-filter-container, .mobile .filter-container`
~L4419 | `.mobile .search-filter-container input`
~L4423 | `.mobile .filter-container`
~L4434 | `.mobile .search-filter-container input, .mobile .filter-container input`
~L4438 | `.mobile .filter-container input:focus-within`
~L4446 | `.html-ltr.mobile .filter-container input:focus-within, .html-rtl.mobile .filter-container input:focus-within`
~L4473 | `.mobile .media-filter-button`
~L4483 | `.mobile .filter-container input`
~L4521 | `.mobile ul.link-dropdown, .mobile ul.popup-dropdown`
~L4640 | `.mobile .link-dropdown, .mobile .popup-dropdown`
~L4674 | `.mobile .wiki-history-discuss`
~L4689 | `.mobile .upload-box`
~L4705 | `.mobile .media-upload-box`
~L4885 | `.mobile .resource-actions`
~L4889 | `.mobile .list-resource`
~L4899 | `.mobile .list-resource th`
~L4903 | `.mobile .resource-thumb`
~L4911 | `.mobile .view-indicator`
~L4922 | `.mobile .list-resource img`
~L4934 | `.mobile .list-resource img.default-thumb`
~L4938 | `.mobile .list-resource input`
~L5140 | `.mobile .top-adscript`
~L5145 | `.mobile .top-ad-static`
~L5150 | `.mobile .group-ad-static`
~L5155 | `.mobile .top-adscript iframe`
~L5207 | `.mobile .display-ad p`
~L5242 | `.mobile .trending-container`
~L5252 | `.mobile .trending`
~L5273 | `.mobile .trending-float`
~L5285 | `.mobile .trending-table`
~L5322 | `.mobile .trending-footer`
~L5335 | `.mobile .trending-highlight`
~L5371 | `.mobile .feed-highlight`
~L5938 | `.mobile .git-search-field`
~L6130 | `.mobile .git-listing-box`
~L6245 | `.mobile .git-author-col`
~L6263 | `.mobile .wiki-read h1, .mobile .wiki-read h2, .mobile .wiki-read h3, .mobile .wiki-read h4, .mobile .wiki-read h5, .mobile .wiki-read h6`

## mail.css (22 rules: 22 fold, 0 remove)

### fold into the 600px media query

~L221 | `.mobile .mail-inbox-bulk-destination, .mobile .mail-inbox-bulk-destination-account`
~L420 | `.mobile .mail-message-move-destination`
~L585 | `.mobile .mail-message-toggle-raw, .mobile .mail-dkim-badge-wrap`
~L592 | `.mobile .mail-dkim-badge-wrap`
~L640 | `.mobile .mail-dkim-detail`
~L1283 | `.mobile .mail-back-mobile`
~L1312 | `.mobile .mail-inbox-table th, .mobile .mail-inbox-table td`
~L1317 | `.mobile .mail-filter-wrap`
~L1324 | `.mobile .mail-inbox-heading`
~L1328 | `.mobile .mail-inbox-heading-title`
~L1334 | `.mobile .mail-filter-input`
~L1341 | `.mobile .mail-current-activity .media-buttons-container, .mobile .mail-current-activity .float-opposite`
~L1348 | `.mobile .mail-compose-schedule-popover`
~L1359 | `.mobile .mail-compose-input, .mobile .mail-compose-body, .mobile .mail-filter-input`
~L1364 | `.mobile .mail-alias-list`
~L1368 | `.mobile .mail-alias-form .mail-alias-input`
~L1373 | `.mobile .mail-alias-form .mail-alias-domain`
~L1379 | `.mobile .mail-alias-form .mail-alias-add`
~L1383 | `.mobile #mail-col-from`
~L1387 | `.mobile #mail-col-date`
~L1394 | `.mobile .mail-account-form table, .mobile .mail-account-form tbody, .mobile .mail-account-form tr`
~L1400 | `.mobile .mail-account-form th.table-label, .mobile .mail-account-form td`

## frise.css (12 rules: 12 fold, 0 remove)

### fold into the 600px media query

~L99 | `.mobile .small-width`
~L107 | `.mobile .medium-width`
~L115 | `.mobile .large-width`
~L583 | `.mobile #main-bar`
~L604 | `.mobile #main-nav button, .mobile #main-bar button`
~L829 | `.mobile table.save-table`
~L846 | `.mobile table.save-table, .mobile table.save-table tr, .mobile table.save-table th, .mobile table.save-table td`
~L854 | `.mobile table.save-table td.save-name`
~L859 | `.mobile #save-disk, .mobile #load-disk`
~L934 | `.mobile x-speaker`
~L952 | `.mobile x-speaker figure:first-of-type`
~L964 | `.mobile x-speaker figure:first-of-type > img`

## messages.css (13 rules: 13 fold, 0 remove)

### fold into the 600px media query

~L4 | `.mobile .inner-bar h1 span`
~L8 | `.mobile .sub-top-container`
~L23 | `.mobile .messages-container, .mobile .mail-container`
~L45 | `.mobile .user-contacts, .mobile .user-accounts`
~L125 | `.mobile .contact-actions:focus-within button`
~L166 | `.mobile .selected-conversation-header h2`
~L204 | `.mobile #av-call-div`
~L219 | `.mobile #local-av`
~L259 | `.mobile .message-detail-outer`
~L345 | `.mobile #new-message`
~L381 | `.mobile #contact-filter`
~L420 | `.mobile .emoji-picker-container`
~L488 | `.mobile .emoji-group-tab`