301 lines
12 KiB
CSS
301 lines
12 KiB
CSS
/* Keep Gaia geometry, icons and media intact; change the surfaces and ink. */
|
|
:root[data-vulpes-theme="dark"] {
|
|
color-scheme: dark;
|
|
--vulpes-surface: #18232e;
|
|
--vulpes-raised: #253442;
|
|
--vulpes-text: #f1f5f9;
|
|
--vulpes-muted: #b8c8d8;
|
|
--vulpes-line: #526272;
|
|
--link-color: #79ceff;
|
|
--header-background: var(--vulpes-raised);
|
|
--header-color: var(--vulpes-text);
|
|
--header-title-color: var(--vulpes-text);
|
|
--header-button-color: var(--vulpes-text);
|
|
--header-icon-color: var(--vulpes-text);
|
|
--header-action-button-color: #79ceff;
|
|
--header-disabled-button-color: var(--vulpes-muted);
|
|
}
|
|
:root[data-vulpes-theme="dark"]:is([data-vulpes-app="settings"],
|
|
[data-vulpes-app="communications"], [data-vulpes-app="sms"],
|
|
[data-vulpes-app="email"], [data-vulpes-app="calendar"],
|
|
[data-vulpes-app="ringtones"]) {
|
|
--background: var(--vulpes-surface);
|
|
--text-color: var(--vulpes-text);
|
|
--title-color: var(--vulpes-text);
|
|
--label-color: var(--vulpes-text);
|
|
background: var(--vulpes-surface) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"] gaia-header {
|
|
--header-background: var(--vulpes-raised) !important;
|
|
--header-title-color: var(--vulpes-text) !important;
|
|
--header-action-button-color: #79ceff !important;
|
|
}
|
|
#display #vulpes-theme-row {
|
|
display: block !important;
|
|
min-height: 10rem;
|
|
height: auto !important;
|
|
padding-bottom: 1rem;
|
|
}
|
|
#vulpes-theme-row > p {
|
|
height: auto;
|
|
line-height: 2.4rem;
|
|
padding: 1rem 1.5rem;
|
|
transform: none;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="settings"] h2 {
|
|
background-color: var(--vulpes-surface) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"]:is([data-vulpes-app="settings"],
|
|
[data-vulpes-app="communications"], [data-vulpes-app="sms"],
|
|
[data-vulpes-app="email"], [data-vulpes-app="calendar"],
|
|
[data-vulpes-app="ringtones"]) :is(body, section, [role="region"],
|
|
[data-type="list"], .view, .card, #main, #messages-container, #thread-list,
|
|
#contacts-list, #view-contacts-list, #no-contacts, #call-log-container, #messages-compose-form) {
|
|
background-color: var(--vulpes-surface) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"] :is(input:not([type="range"]):not([type="checkbox"]):not([type="radio"]), textarea, select, [contenteditable="true"]) {
|
|
background-color: var(--vulpes-raised) !important;
|
|
color: var(--vulpes-text) !important;
|
|
border-color: var(--vulpes-line) !important;
|
|
caret-color: #79ceff;
|
|
}
|
|
:root[data-vulpes-theme="dark"] :is(input, textarea)::placeholder { color: var(--vulpes-muted) !important; }
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="settings"] :is(li, li > a, li > a > span, li > p, li > small, label, .explanation, h1, h2) {
|
|
color: var(--vulpes-text) !important;
|
|
border-color: var(--vulpes-line) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="settings"] :is(ul, header, .button, button:not(.danger)) {
|
|
background-color: var(--vulpes-raised) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="communications"] :is(.contact-item, .contact-item a, .contact-item p, #call-log-container li, #call-log-container a, #call-log-container p, .phone-number, #keypad-phone-number, .keypad-key) {
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="communications"] #phone-number-view-container {
|
|
background-color: var(--vulpes-raised) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="communications"] :is(.keypad-subicon, [role="tab"]) {
|
|
color: #79ceff !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="communications"] [role="tab"][aria-selected="true"] {
|
|
background-color: var(--vulpes-raised) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="communications"] #no-contacts :is(p, .info) {
|
|
color: var(--vulpes-muted) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="communications"] #no-contacts {
|
|
background-blend-mode: soft-light;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="sms"] :is(.threadlist-item, .threadlist-item a, .threadlist-item p, .time, .name, .body-text) {
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="sms"] .bubble {
|
|
background-color: var(--vulpes-raised) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"] :is([data-type="confirm"], [data-type="action"]) :is(section, menu, header, p) {
|
|
background-color: var(--vulpes-raised) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="system"] :is(#utility-tray, #notifications-container) {
|
|
background-color: var(--vulpes-surface) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
|
|
/* Keep the message and its surface paired, including lazily loaded Gaia dialogs. */
|
|
:root #vulpes-gaia-notice,
|
|
:root #vulpes-gaia-notice > section,
|
|
:root #vulpes-gaia-notice > section > p {
|
|
background-color: #f4f4f4 !important;
|
|
color: #202b33 !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"] #vulpes-gaia-notice,
|
|
:root[data-vulpes-theme="dark"] #vulpes-gaia-notice > section,
|
|
:root[data-vulpes-theme="dark"] #vulpes-gaia-notice > section > p {
|
|
background-color: var(--vulpes-surface) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
:root[data-vulpes-app="settings"] p[data-vulpes-unavailable] {
|
|
background-color: #f4f4f4 !important;
|
|
color: #202b33 !important;
|
|
}
|
|
:root[data-vulpes-theme="dark"][data-vulpes-app="settings"] p[data-vulpes-unavailable] {
|
|
background-color: var(--vulpes-surface) !important;
|
|
color: var(--vulpes-text) !important;
|
|
}
|
|
|
|
|
|
/* Shared compact home: three columns, original icons, reversible wallpaper veil. */
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] {
|
|
--compact-cell: round(down, calc((100vw - 12px) / 3), 1px);
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] body {
|
|
background-color: rgba(5, 15, 31, .72);
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] #apps .icon-container {
|
|
width: var(--compact-cell);
|
|
height: 74px;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] #apps gaia-app-icon {
|
|
width: 52px;
|
|
left: round(down, calc((var(--compact-cell) - 52px) / 2), 1px);
|
|
border: 2px solid transparent;
|
|
--vulpes-label-width: calc(var(--compact-cell) - 4px);
|
|
--vulpes-label-offset: round(down, calc((48px - var(--vulpes-label-width)) / 2), 1px);
|
|
--vulpes-icon-display: block;
|
|
--vulpes-icon-title-position: absolute;
|
|
--vulpes-icon-title-clip: inset(50%);
|
|
font-size: 12px;
|
|
line-height: 16px;
|
|
transform: none;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] #apps-panel > .scrollable {
|
|
padding-top: 2px;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
/* A single applications panel; saved pinned pages remain available in classic mode. */
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] :is(#page-indicator-header, #pages-panel, #shadow) {
|
|
display: none;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] #panels {
|
|
height: calc(100vh - 52px);
|
|
overflow-x: hidden;
|
|
scroll-snap-type: none;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="system"] #homescreen {
|
|
--rocketbar-urlbar-height: 0px;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="system"] #homescreen > .chrome {
|
|
display: none;
|
|
}
|
|
/* Gaia finishes opening/closing on animationend: retain that event, skip the effect. */
|
|
html[data-vulpes-motion="reduced"][data-vulpes-app="system"] .appWindow,
|
|
html[data-vulpes-motion="reduced"][data-vulpes-app="homescreen"] :is(gaia-app-icon, .gaia-container-child, .icon-container, .scrollable, #panels) {
|
|
animation-duration: .001s !important;
|
|
animation-delay: 0s !important;
|
|
transition-duration: .001s !important;
|
|
transition-delay: 0s !important;
|
|
scroll-behavior: auto !important;
|
|
}
|
|
|
|
/* Enabled by the Nokia adapter, independent of the shared compact layout.
|
|
* Keep a nonzero duration so Gaia's transitionend navigation still completes. */
|
|
html[data-vulpes-motion="reduced"],
|
|
html[data-vulpes-motion="reduced"] *,
|
|
html[data-vulpes-motion="reduced"] *::before,
|
|
html[data-vulpes-motion="reduced"] *::after {
|
|
transition-duration: .001s !important;
|
|
transition-delay: 0s !important;
|
|
scroll-behavior: auto !important;
|
|
}
|
|
|
|
html[data-vulpes-motion="reduced"][data-vulpes-layout="compact"][data-vulpes-app="system"]
|
|
#screen:has(#homescreen.active):not(.rocketbar-focused):not(.utility-tray):not(.locked) #statusbar {
|
|
background: rgba(5, 15, 31, .72) !important;
|
|
}
|
|
|
|
|
|
#vulpes-compact-app-name {
|
|
display: none;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] #vulpes-compact-app-name {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-sizing: border-box;
|
|
height: 52px;
|
|
padding: 2px 10px;
|
|
color: white;
|
|
font: 500 20px/24px FiraSans, sans-serif;
|
|
text-align: center;
|
|
overflow-wrap: anywhere;
|
|
overflow: hidden;
|
|
text-shadow: 0 1px 2px #000;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="homescreen"] gaia-app-icon[data-vulpes-compact-selected] {
|
|
outline: 2px solid #00aaff !important;
|
|
outline-offset: -2px !important;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
/* Keep Gaia's dial pad and controls inside a feature-phone viewport. */
|
|
@media (max-width: 320px) and (max-height: 400px) {
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] #phone-number-view-container {
|
|
height: 48px;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] #phone-number-view-container .phone-number-view-wrapper-input {
|
|
margin-bottom: 0;
|
|
padding: 0 8px;
|
|
min-width: 0;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] #phone-number-view {
|
|
font-size: 24px !important;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] #keypad-delete {
|
|
margin-bottom: 0;
|
|
padding: 0 8px 0 0;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] #keyboard-container {
|
|
height: calc(100% - 48px);
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0 6px;
|
|
box-sizing: border-box;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] #keypad {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
grid-template-rows: repeat(4, minmax(0, 1fr));
|
|
flex: 1;
|
|
min-height: 0;
|
|
height: auto;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] .keypad-row { display: contents; }
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] .keypad-key {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
padding: 0;
|
|
height: auto;
|
|
font-size: 30px;
|
|
line-height: 1;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] .keypad-key :is(span,em) {
|
|
width: auto;
|
|
margin: 0;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] .keypad-key em { font-size: 10px; }
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] .keypad-key .sharp { font-size: 30px; line-height: 1; }
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] #keypad-callbar {
|
|
flex: 0 0 40px;
|
|
height: 40px;
|
|
}
|
|
html[data-vulpes-layout="compact"][data-vulpes-app="communications"] :is(.keypad-callbar-button,#keypad-callbar-call-action) {
|
|
height: 32px;
|
|
background-size: 32px;
|
|
}
|
|
}
|
|
#keypad-callbar-call-action[aria-busy="true"] { opacity: .5; }
|
|
|
|
#vulpes-cover-settings {
|
|
display: block !important; height: auto !important; padding: 0 0 1rem;
|
|
}
|
|
#vulpes-cover-settings h2 { margin: 1rem 0; height: auto; overflow: visible; }
|
|
#vulpes-cover-settings label {
|
|
display: block; height: auto !important; padding: .4rem 0; overflow: visible;
|
|
}
|
|
#vulpes-cover-settings label > span {
|
|
display: block; margin: 0; width: auto; line-height: 1.5;
|
|
white-space: normal; font-size: 1.6rem; overflow: visible;
|
|
}
|
|
#vulpes-cover-settings :is(input,select) {
|
|
position: static; width: 100%; box-sizing: border-box; margin: 0;
|
|
}
|
|
#vulpes-cover-settings .vulpes-cover-preview {
|
|
background: #04060b; padding: 1rem; text-align: center; overflow-wrap: anywhere;
|
|
height: auto; font-size: 1.4rem; line-height: 1.5;
|
|
}
|