Align desktop UI with Nova

This commit is contained in:
Sreeram Sreedhar 2026-06-23 18:41:41 -07:00
parent 5f29b16685
commit 1729cc4407
9 changed files with 261 additions and 130 deletions

View file

@ -1,3 +1,5 @@
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");
/*
* Desktop window chrome supplements the shared @repo/ui theme, which is
* imported first in app/layout.tsx (`@ui/globals.css`) and provides the
@ -17,21 +19,12 @@ body {
isolation: isolate;
background:
radial-gradient(
ellipse 90% 46% at 50% -4%,
rgba(75, 160, 250, 0.22),
transparent 60%
),
radial-gradient(
ellipse 52% 32% at 78% 12%,
rgba(127, 108, 255, 0.14),
ellipse 80% 60% at 50% 0%,
rgba(75, 160, 250, 0.08) 0%,
rgba(34, 97, 202, 0.04) 35%,
transparent 70%
),
radial-gradient(
ellipse 42% 30% at 18% 20%,
rgba(15, 240, 210, 0.08),
transparent 74%
),
linear-gradient(180deg, #05080d 0%, #070b12 44%, #05070a 100%);
#05080d;
color: #fafafa;
}
@ -42,21 +35,15 @@ body {
content: "";
background-image: radial-gradient(
circle,
rgba(255, 255, 255, 0.13) 1px,
rgba(105, 167, 240, 0.18) 1px,
transparent 1px
);
background-size: 18px 18px;
mask-image: linear-gradient(
to bottom,
rgba(255, 255, 255, 0.72),
rgba(255, 255, 255, 0.2) 44%,
transparent 88%
);
-webkit-mask-image: linear-gradient(
to bottom,
rgba(255, 255, 255, 0.72),
rgba(255, 255, 255, 0.2) 44%,
transparent 88%
background-size: 32px 32px;
mask-image: radial-gradient(ellipse at center, black 55%, transparent 100%);
-webkit-mask-image: radial-gradient(
ellipse at center,
black 55%,
transparent 100%
);
pointer-events: none;
}
@ -66,15 +53,7 @@ body {
inset: 0;
z-index: -1;
content: "";
background:
radial-gradient(
ellipse 86% 32% at 50% 100%,
rgba(65, 115, 255, 0.1),
transparent 70%
),
linear-gradient(90deg, transparent, rgba(75, 160, 250, 0.08), transparent)
50% 0 / 60% 1px no-repeat,
linear-gradient(180deg, rgba(5, 8, 13, 0), #05070a 92%);
background: rgb(5 8 13 / 0.55);
pointer-events: none;
}
@ -87,15 +66,33 @@ body {
.desktop-login-page {
display: grid;
height: 100dvh;
min-height: 100dvh;
overflow: hidden;
height: 100dvh;
overflow-x: hidden;
overflow-y: auto;
grid-template-columns: 1fr;
grid-template-rows: auto minmax(0, 1fr);
}
@media (min-width: 1024px) {
.desktop-login-page {
grid-template-columns: minmax(0, 65fr) minmax(360px, 35fr);
height: 100dvh;
overflow: hidden;
grid-template-columns: 65% 35%;
grid-template-rows: minmax(0, 1fr);
}
}
.desktop-login-mobile-bg {
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
}
@media (min-width: 1024px) {
.desktop-login-mobile-bg {
display: none;
}
}
@ -103,6 +100,7 @@ body {
position: relative;
display: none;
min-height: 0;
flex-direction: column;
overflow: hidden;
border-right: 1px solid rgb(255 255 255 / 0.06);
}
@ -113,6 +111,14 @@ body {
}
}
.desktop-login-tools-panel::before {
position: absolute;
inset: 0;
content: "";
background: #030912;
pointer-events: none;
}
.desktop-login-panel-orb {
position: absolute;
inset: 0;
@ -131,26 +137,26 @@ body {
);
}
.desktop-login-panel-glow {
.desktop-login-panel-orb-image {
position: absolute;
inset: -10%;
background:
radial-gradient(
circle at 50% 52%,
rgba(85, 150, 255, 0.24),
transparent 24%
),
radial-gradient(
circle at 48% 52%,
rgba(255, 255, 255, 0.18),
transparent 8%
),
radial-gradient(
ellipse 60% 38% at 52% 42%,
rgba(40, 96, 255, 0.22),
transparent 74%
);
opacity: 0.85;
inset: -10% -15% -5% -15%;
background-image: url("/onboarding/bg-gradient-0.png");
background-size: cover;
background-position: center 35%;
background-repeat: no-repeat;
opacity: 0.22;
pointer-events: none;
}
.desktop-login-panel-orb-image-alt {
position: absolute;
inset: -10% -15% -5% -15%;
background-image: url("/onboarding/bg-gradient-1.png");
background-size: cover;
background-position: center 35%;
background-repeat: no-repeat;
opacity: 0.11;
pointer-events: none;
}
.desktop-login-panel-vignette {
@ -167,8 +173,9 @@ body {
.desktop-login-tools-network {
position: relative;
z-index: 1;
width: 100%;
height: 100%;
min-height: 360px;
min-height: 240px;
}
.desktop-login-panel-caption {
@ -388,8 +395,7 @@ body {
}
.desktop-login-auth-header {
height: 5.375rem;
padding-inline: 1.5rem;
padding: 1.5rem;
}
.desktop-login-memory-api-button {
@ -402,14 +408,15 @@ body {
display: flex;
min-height: 0;
flex: 1;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0.75rem 1.5rem 2.5rem;
padding: 0.25rem 2.5rem 2.5rem;
}
.desktop-login-auth-stack {
width: 100%;
max-width: 24.375rem;
max-width: 36.875rem;
}
.desktop-login-headline {
@ -417,17 +424,20 @@ body {
}
.desktop-login-headline h1 {
font-size: 1.75rem;
font-size: 1.875rem;
letter-spacing: 0;
}
.desktop-login-subtitle {
margin-top: 1rem;
font-family: "DM Sans", sans-serif;
font-size: 0.875rem;
line-height: 1.35;
}
.desktop-login-card {
border-radius: 1.375rem;
padding: 2rem;
padding: 3rem 3.625rem;
}
.desktop-login-card-pending {
@ -436,6 +446,8 @@ body {
.desktop-login-form {
gap: 0.75rem;
width: 29.5rem;
max-width: 100%;
}
.desktop-login-email-form {
@ -448,7 +460,9 @@ body {
}
.desktop-login-terms {
font-size: 0.875rem;
font-family: "DM Sans", sans-serif;
font-size: 0.75rem;
line-height: 1.35;
}
@media (max-width: 1023px) {
@ -467,26 +481,22 @@ body {
}
.desktop-login-auth-stack {
max-width: 25rem;
max-width: 36.875rem;
}
}
@media (max-width: 1900px) and (min-width: 1024px) {
.desktop-login-page {
grid-template-columns: minmax(0, 60fr) minmax(390px, 40fr);
}
.desktop-login-tool-node {
width: 2.5rem;
height: 2.5rem;
border-radius: 0.75rem;
width: 2.875rem;
height: 2.875rem;
border-radius: 0.8125rem;
}
.desktop-login-tool-node-icon {
width: 1.125rem;
height: 1.125rem;
width: 1.375rem;
height: 1.375rem;
font-size: 0.5625rem;
line-height: 1.125rem;
line-height: 1.375rem;
}
.desktop-login-tool-node-label {
@ -495,13 +505,13 @@ body {
}
.desktop-login-memory-chip {
width: 2.375rem;
height: 1.375rem;
width: 2.75rem;
height: 1.625rem;
}
.desktop-login-memory-chip-lines {
width: 1.25rem;
gap: 0.16rem;
width: 1.5rem;
gap: 0.2rem;
}
.desktop-login-nova-orb {
@ -519,12 +529,11 @@ body {
.desktop-login-panel-caption {
bottom: 1.5rem;
font-size: 0.75rem;
font-size: 0.875rem;
}
.desktop-login-auth-header {
height: 4.75rem;
padding-inline: 1.25rem;
padding: 1.5rem;
}
.desktop-login-memory-api-button {
@ -534,45 +543,45 @@ body {
}
.desktop-login-auth-content {
padding: 0.5rem 1.25rem 1.5rem;
padding: 0.25rem 2.5rem 2.5rem;
}
.desktop-login-auth-stack {
max-width: 22.5rem;
max-width: 25rem;
}
.desktop-login-headline {
margin-bottom: 1.25rem;
margin-bottom: 2rem;
}
.desktop-login-headline h1 {
font-size: 1.5rem;
font-size: 1.875rem;
}
.desktop-login-subtitle {
margin-top: 0.75rem;
font-size: 0.8125rem;
margin-top: 1rem;
font-size: 0.875rem;
}
.desktop-login-card {
padding: 1.5rem;
padding: 3rem 3.625rem;
}
.desktop-login-card-pending {
min-height: 27rem;
min-height: 38rem;
}
.desktop-login-email-form {
gap: 1rem;
gap: 1.5rem;
}
.desktop-login-email-input,
.desktop-login-primary-button {
height: 3rem;
height: 3.5rem;
}
.desktop-login-terms {
font-size: 0.75rem;
font-size: 0.875rem;
}
}
@ -651,10 +660,6 @@ body {
}
@media (max-width: 1180px) and (min-width: 1024px) {
.desktop-login-page {
grid-template-columns: minmax(0, 58fr) minmax(360px, 42fr);
}
.desktop-login-panel-caption {
font-size: 0.75rem;
}

View file

@ -127,7 +127,12 @@ export default function LoginPage() {
const isAuthBusy = isBrowserAuthPending || isSubmitting
return (
<main className="desktop-login-page bg-[#030912] text-foreground">
<main className="desktop-login-page relative bg-[#030912] text-foreground">
<div className="desktop-login-mobile-bg" aria-hidden>
<div className="desktop-login-panel-orb h-full" />
<div className="desktop-login-panel-orb-image h-full" />
</div>
<DesktopLoginToolsPanel />
<section className="desktop-login-auth-pane relative z-10 min-w-0">
@ -269,21 +274,28 @@ export default function LoginPage() {
onChange={(event) => setEmail(event.target.value)}
placeholder="your@email.com"
type="email"
required
autoComplete="email"
className="desktop-login-email-input rounded-xl border-[#17202e] bg-[#040a14]/70 px-6 text-base text-foreground placeholder:text-muted-foreground/45"
/>
<Button
type="submit"
className="desktop-login-primary-button rounded-xl bg-linear-to-r from-[#2935ff] to-[#2f78ff] text-lg text-white hover:from-[#3440ff] hover:to-[#3b83ff]"
disabled={!email.trim() || isAuthBusy}
className="desktop-login-primary-button flex w-full items-center justify-center gap-3 rounded-xl p-2 text-lg text-white"
style={{
background:
"linear-gradient(182.37deg, #0ff0d2 -91.53%, #5bd3fb -67.8%, #1e0ff0 95.17%)",
boxShadow:
"1px 1px 2px 0px #1A88FF inset, 0 2px 10px 0 rgba(5, 1, 0, 0.20)",
}}
disabled={isAuthBusy}
>
{isSubmitting ? (
<Loader2 className="size-5 animate-spin" />
) : (
<Logo className="size-5" />
)}
Send login link
Log in with Supermemory
</Button>
</form>
</>
@ -340,7 +352,8 @@ type ToolNode = {
name: string
x: number
y: number
icon: (props: { className?: string }) => ReactNode
icon?: (props: { className?: string }) => ReactNode
iconSrc?: string
}
type ContextConnection = {
@ -368,12 +381,36 @@ const TOOL_NODES: ToolNode[] = [
name: "Claude Code",
x: 20,
y: 36,
icon: CodeMark,
iconSrc: "/images/plugins/claude-code.svg",
},
{
id: "codex",
name: "Codex",
x: 92,
y: 28,
iconSrc: "/images/plugins/codex.png",
},
{
id: "opencode",
name: "OpenCode",
x: 58,
y: 10,
iconSrc: "/images/plugins/opencode.svg",
},
{
id: "hermes",
name: "Hermes",
x: 36,
y: 90,
iconSrc: "/images/plugins/hermes.svg",
},
{
id: "openclaw",
name: "OpenClaw",
x: 68,
y: 68,
iconSrc: "/images/plugins/openclaw.svg",
},
{ id: "codex", name: "Codex", x: 92, y: 28, icon: CodexMark },
{ id: "opencode", name: "OpenCode", x: 58, y: 10, icon: OpenCodeMark },
{ id: "hermes", name: "Hermes", x: 36, y: 90, icon: HermesMark },
{ id: "openclaw", name: "OpenClaw", x: 68, y: 68, icon: OpenClawMark },
]
const CONTEXT_FLOWS: [string, string][] = [
@ -456,7 +493,8 @@ function DesktopLoginToolsPanel() {
return (
<aside className="desktop-login-tools-panel" aria-hidden>
<div className="desktop-login-panel-orb" />
<div className="desktop-login-panel-glow" />
<div className="desktop-login-panel-orb-image" />
<div className="desktop-login-panel-orb-image-alt" />
<div className="desktop-login-panel-vignette" />
<div className="desktop-login-tools-network">
@ -603,7 +641,16 @@ function FloatingToolNode({
title={node.name}
>
<div className={`desktop-login-tool-node ${roleClass}`}>
<Icon className="desktop-login-tool-node-icon" />
{Icon ? (
<Icon className="desktop-login-tool-node-icon" />
) : node.iconSrc ? (
<img
src={node.iconSrc}
alt=""
className="desktop-login-tool-node-icon"
aria-hidden
/>
) : null}
</div>
<span
className={
@ -630,26 +677,6 @@ function MemoryChip() {
)
}
function CodeMark({ className }: { className?: string }) {
return <span className={`${className ?? ""} text-[#ff9a63]`}>CC</span>
}
function CodexMark({ className }: { className?: string }) {
return <span className={`${className ?? ""} text-[#d7e6ff]`}>CX</span>
}
function OpenCodeMark({ className }: { className?: string }) {
return <span className={`${className ?? ""} text-[#b8c4d8]`}>OC</span>
}
function HermesMark({ className }: { className?: string }) {
return <span className={`${className ?? ""} text-[#8ccfff]`}>HM</span>
}
function OpenClawMark({ className }: { className?: string }) {
return <span className={`${className ?? ""} text-[#8af0d8]`}>OP</span>
}
function GoogleIcon() {
return (
<svg

View file

@ -0,0 +1,11 @@
<svg viewBox="0 0 66 52" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="0" y="13" width="6" height="13" fill="#CC785C"/>
<rect x="60" y="13" width="6" height="13" fill="#CC785C"/>
<rect x="6" y="39" width="6" height="13" fill="#CC785C"/>
<rect x="18" y="39" width="6" height="13" fill="#CC785C"/>
<rect x="42" y="39" width="6" height="13" fill="#CC785C"/>
<rect x="54" y="39" width="6" height="13" fill="#CC785C"/>
<rect x="6" width="54" height="39" fill="#CC785C"/>
<rect x="12" y="13" width="6" height="6.5" fill="black"/>
<rect x="48" y="13" width="6" height="6.5" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 440.691 440.691" xml:space="preserve">
<g>
<g>
<path style="fill:#C93F3F;" d="M134.3,294.013L134.3,294.013c-5.092-4.546-5.534-12.36-0.988-17.452l14.418-16.149l33.092,2.725
l-1.014,12.318l-26.958-2.219L134.3,294.013z"/>
<path style="fill:#C93F3F;" d="M134.3,321.382L134.3,321.382c-5.092-4.546-5.534-12.36-0.988-17.452l14.418-16.148l33.092,2.725
l-1.014,12.318l-26.958-2.219L134.3,321.382z"/>
<path style="fill:#C93F3F;" d="M306.391,294.013L306.391,294.013c5.092-4.546,5.534-12.36,0.988-17.452l-14.418-16.149
l-33.092,2.725l1.014,12.318l26.958-2.219L306.391,294.013z"/>
<path style="fill:#C93F3F;" d="M134.3,266.639L134.3,266.639c-5.092-4.546-5.534-12.36-0.988-17.452l14.418-16.149l33.092,2.725
l-1.014,12.318l-26.958-2.219L134.3,266.639z"/>
<path style="fill:#C93F3F;" d="M306.391,266.639L306.391,266.639c5.092-4.546,5.534-12.36,0.988-17.452l-14.418-16.149
l-33.092,2.725l1.014,12.318l26.958-2.219L306.391,266.639z"/>
<path style="fill:#C93F3F;" d="M306.391,321.382L306.391,321.382c5.092-4.546,5.534-12.36,0.988-17.452l-14.418-16.148
l-33.092,2.725l1.014,12.318l26.958-2.219L306.391,321.382z"/>
</g>
<g>
<path style="fill:#C93F3F;" d="M198.187,165.276c0,0,0.011-0.165,0.033-0.484c0.017-0.304,0.043-0.755,0.077-1.344
c0.064-1.228,0.126-3.076,0.156-5.442c0.025-2.368,0.015-5.259-0.087-8.585c-0.104-3.325-0.283-7.084-0.615-11.181
c-0.293-4.102-0.802-8.531-1.398-13.214c-0.662-4.671-1.42-9.6-2.464-14.649c-0.974-5.068-2.273-10.237-3.675-15.477
c-1.503-5.204-3.129-10.479-5.086-15.633l-1.457-3.873c-0.533-1.27-1.066-2.539-1.597-3.806c-1.025-2.556-2.219-5.018-3.378-7.48
l-0.867-1.844l-0.94-1.794c-0.627-1.195-1.251-2.383-1.871-3.565c-1.243-2.365-2.651-4.593-3.941-6.852
c-1.351-2.218-2.797-4.323-4.152-6.433c-1.415-2.065-2.901-4.013-4.296-5.955c-2.934-3.764-5.796-7.281-8.677-10.314
c-0.706-0.773-1.398-1.531-2.074-2.271c-0.716-0.701-1.415-1.386-2.096-2.053c-1.372-1.332-2.674-2.596-3.897-3.784
c-2.592-2.21-4.809-4.21-6.726-5.744c-3.915-2.978-6.152-4.679-6.152-4.679s2.377,1.51,6.538,4.154
c2.049,1.374,4.436,3.186,7.241,5.198c1.334,1.092,2.753,2.255,4.249,3.48c0.747,0.618,1.513,1.251,2.297,1.9
c0.747,0.69,1.511,1.397,2.292,2.118c3.184,2.832,6.392,6.155,9.715,9.749c1.589,1.857,3.28,3.726,4.908,5.719
c1.567,2.036,3.237,4.078,4.817,6.24c1.518,2.2,3.165,4.383,4.65,6.707c0.742,1.164,1.489,2.335,2.24,3.511l1.127,1.774
l1.055,1.825c1.411,2.439,2.864,4.89,4.146,7.439c0.662,1.266,1.324,2.535,1.988,3.806l1.848,3.883
c2.482,5.179,4.633,10.505,6.654,15.791c1.919,5.317,3.726,10.596,5.189,15.787c1.533,5.174,2.761,10.246,3.865,15.074
c1.039,4.839,1.962,9.437,2.634,13.714c0.712,4.272,1.236,8.214,1.643,11.721c0.405,3.508,0.677,6.585,0.865,9.133
c0.183,2.551,0.286,4.569,0.333,5.976c0.02,0.729,0.035,1.288,0.045,1.665c0.006,0.362,0.008,0.548,0.008,0.548L198.187,165.276z"
/>
<path style="fill:#C93F3F;" d="M227.335,165.732c0,0,0.003-0.187,0.008-0.548c0.01-0.377,0.025-0.936,0.045-1.665
c0.047-1.407,0.149-3.425,0.333-5.976c0.188-2.548,0.46-5.625,0.865-9.133c0.407-3.508,0.931-7.45,1.643-11.721
c0.672-4.277,1.596-8.875,2.634-13.714c1.104-4.828,2.331-9.9,3.865-15.074c1.462-5.191,3.27-10.47,5.189-15.787
c2.021-5.286,4.173-10.613,6.654-15.791l1.848-3.883c0.663-1.27,1.326-2.539,1.988-3.806c1.283-2.549,2.735-5,4.146-7.439
l1.055-1.825l1.127-1.774c0.751-1.177,1.497-2.347,2.24-3.511c1.485-2.324,3.132-4.507,4.65-6.707
c1.581-2.161,3.25-4.203,4.817-6.24c1.628-1.993,3.319-3.862,4.908-5.719c3.323-3.595,6.531-6.918,9.715-9.749
c0.78-0.721,1.545-1.428,2.292-2.118c0.784-0.649,1.55-1.282,2.297-1.9c1.496-1.226,2.915-2.388,4.249-3.48
c2.805-2.011,5.192-3.824,7.241-5.198c4.161-2.643,6.538-4.154,6.538-4.154s-2.237,1.701-6.152,4.679
c-1.916,1.534-4.134,3.535-6.726,5.744c-1.223,1.188-2.525,2.452-3.897,3.784c-0.681,0.668-1.38,1.352-2.096,2.053
c-0.676,0.74-1.367,1.497-2.074,2.271c-2.882,3.033-5.743,6.55-8.677,10.314c-1.395,1.943-2.881,3.891-4.296,5.955
c-1.355,2.11-2.801,4.215-4.152,6.433c-1.29,2.259-2.698,4.487-3.941,6.852c-0.62,1.182-1.244,2.37-1.871,3.565l-0.94,1.794
l-0.867,1.844c-1.158,2.462-2.353,4.924-3.378,7.48c-0.532,1.267-1.064,2.536-1.597,3.806l-1.457,3.873
c-1.957,5.154-3.583,10.429-5.086,15.633c-1.403,5.24-2.701,10.409-3.675,15.477c-1.045,5.048-1.803,9.978-2.464,14.649
c-0.597,4.683-1.105,9.112-1.398,13.214c-0.332,4.097-0.511,7.856-0.615,11.181c-0.102,3.325-0.112,6.217-0.087,8.585
c0.03,2.366,0.092,4.214,0.156,5.442c0.034,0.589,0.06,1.04,0.077,1.344c0.022,0.319,0.033,0.484,0.033,0.484L227.335,165.732z"/>
</g>
<path style="fill:#E24747;" d="M266.326,401.138h-91.962c-15.633,0-28.306,12.673-28.306,28.306v0
c0,6.211,5.035,11.246,11.246,11.246h126.082c6.211,0,11.246-5.035,11.246-11.246v0
C294.633,413.811,281.959,401.138,266.326,401.138z"/>
<polygon style="fill:#C93F3F;" points="259.486,358.29 181.205,358.29 188.88,336.865 251.811,336.865 "/>
<polygon style="fill:#C93F3F;" points="259.486,336.865 181.205,336.865 188.88,315.441 251.811,315.441 "/>
<polygon style="fill:#C93F3F;" points="259.486,379.714 181.205,379.714 188.88,358.29 251.811,358.29 "/>
<polygon style="fill:#C93F3F;" points="259.486,401.138 181.205,401.138 188.88,379.714 251.811,379.714 "/>
<path style="fill:#F74B4B;" d="M258.265,315.665c5.709,0,10.337-4.628,10.337-10.337v-76.592c0-35.649-17.225-69.996-48.256-96.226
c-31.032,26.229-48.256,60.576-48.256,96.226v76.592c0,5.709,4.628,10.337,10.337,10.337H258.265z"/>
<g>
<g>
<circle style="fill:#FFFFFF;" cx="239.159" cy="181.127" r="12.173"/>
<circle style="fill:#4D4D4D;" cx="239.159" cy="181.127" r="7.448"/>
</g>
<g>
<circle style="fill:#FFFFFF;" cx="201.532" cy="181.127" r="12.173"/>
<circle style="fill:#4D4D4D;" cx="201.532" cy="181.127" r="7.448"/>
</g>
</g>
<g>
<path style="fill:#F74B4B;" d="M114.844,8.638l-5.329,65.495h0c-7.257-0.59-12.662-6.952-12.071-14.21L102.319,0
C73.984,25.929,59.985,65.914,69.122,106.041c6.042,26.536,21.178,48.638,41.368,63.782
c29.157-25.889,43.682-66.456,34.414-107.159C140.053,41.358,129.33,22.92,114.844,8.638z"/>
<path style="fill:#F74B4B;" d="M198.833,222.122h-69.581c-16.407,0-29.755-13.348-29.755-29.755v-41.871h21.012v41.871
c0,4.821,3.922,8.743,8.743,8.743h69.581V222.122z"/>
<path style="fill:#F74B4B;" d="M325.847,8.638l5.329,65.495h0c7.257-0.59,12.662-6.952,12.071-14.21L338.372,0
c28.336,25.929,42.334,65.914,33.198,106.041c-6.042,26.536-21.178,48.638-41.368,63.782
c-29.157-25.889-43.682-66.456-34.414-107.159C300.638,41.358,311.361,22.92,325.847,8.638z"/>
<path style="fill:#F74B4B;" d="M311.439,222.122h-69.581V201.11h69.581c4.821,0,8.743-3.922,8.743-8.743v-41.871h21.012v41.871
C341.194,208.774,327.846,222.122,311.439,222.122z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7 KiB

View file

@ -0,0 +1 @@
<svg width='240' height='300' viewBox='0 0 240 300' fill='none' xmlns='http://www.w3.org/2000/svg'><g clip-path='url(#clip0_1401_86274)'><mask id='mask0_1401_86274' style='mask-type:luminance' maskUnits='userSpaceOnUse' x='0' y='0' width='240' height='300'><path d='M240 0H0V300H240V0Z' fill='white'/></mask><g mask='url(#mask0_1401_86274)'><path d='M180 240H60V120H180V240Z' fill='#CFCECD'/><path d='M180 60H60V240H180V60ZM240 300H0V0H240V300Z' fill='#211E1E'/></g></g><defs><clipPath id='clip0_1401_86274'><rect width='240' height='300' fill='white'/></clipPath></defs></svg>

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB