first commit

This commit is contained in:
Blake Ridgway
2026-04-11 14:01:09 -05:00
commit 6915cab5f3
22 changed files with 1842 additions and 0 deletions

603
static/css/style.css Normal file
View File

@@ -0,0 +1,603 @@
/* paste.ridgwaysystems.org
OpenBSD-inspired: clean, functional, no-nonsense.
-------------------------------------------------- */
/* === Custom Properties === */
:root {
--bg: #f5f3ef;
--bg-alt: #eceae4;
--bg-code: #e5e2dc;
--text: #1e1c1a;
--text-muted: #5a5650;
--accent: #c75000;
--accent-dim: #9e3f00;
--border: #ccc8c0;
--border-dark: #b0aba0;
--font-sans: system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
--font-mono: "SFMono-Regular", "Consolas", "Liberation Mono", Menlo, monospace;
--max-w: 900px;
--radius: 3px;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #1a1918;
--bg-alt: #222120;
--bg-code: #252422;
--text: #d4d1ca;
--text-muted: #888580;
--accent: #e8870a;
--accent-dim: #c06b00;
--border: #333230;
--border-dark: #4a4845;
}
}
/* === Reset & Base === */
*, *::before, *::after { box-sizing: border-box; }
html {
font-size: 16px;
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
background: var(--bg);
color: var(--text);
font-family: var(--font-sans);
font-size: 1rem;
line-height: 1.65;
min-height: 100vh;
display: flex;
flex-direction: column;
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: var(--accent-dim);
}
h1, h2, h3, h4, h5, h6 {
margin: 1.5em 0 0.5em;
line-height: 1.25;
color: var(--text);
font-weight: 600;
}
h1 { font-size: 1.9rem; margin-top: 0; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.5em; margin: 0 0 1em; }
li { margin-bottom: 0.25em; }
hr {
border: none;
border-top: 1px solid var(--border);
margin: 2em 0;
}
code {
font-family: var(--font-mono);
font-size: 0.875em;
background: var(--bg-code);
padding: 0.15em 0.4em;
border-radius: var(--radius);
border: 1px solid var(--border);
}
pre {
background: var(--bg-code);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 1em 1.25em;
overflow-x: auto;
margin: 0 0 1.5em;
font-family: var(--font-mono);
font-size: 0.85rem;
line-height: 1.6;
}
pre code {
background: none;
border: none;
padding: 0;
font-size: inherit;
}
/* === Layout === */
.main-content {
flex: 1;
width: 100%;
max-width: var(--max-w);
margin: 0 auto;
padding: 2rem 1.25rem;
}
/* === Header / Nav === */
.site-header {
background: var(--bg);
border-bottom: 1px solid var(--border);
position: sticky;
top: 0;
z-index: 100;
}
.nav {
max-width: var(--max-w);
margin: 0 auto;
padding: 0.75rem 1.25rem;
display: flex;
align-items: center;
gap: 1.5rem;
}
.nav-brand {
font-family: var(--font-mono);
font-size: 0.9rem;
font-weight: bold;
color: var(--text);
text-decoration: none;
white-space: nowrap;
}
.nav-brand:hover { color: var(--accent); text-decoration: none; }
.nav-links {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
.nav-links a {
color: var(--text-muted);
font-size: 0.9rem;
text-decoration: none;
font-family: var(--font-mono);
}
.nav-links a:hover {
color: var(--accent);
text-decoration: none;
}
.nav-logout-btn {
background: none;
border: none;
color: var(--text-muted);
font-size: 0.9rem;
font-family: var(--font-mono);
cursor: pointer;
padding: 0;
}
.nav-logout-btn:hover { color: var(--accent); }
/* === Footer === */
.site-footer {
border-top: 1px solid var(--border);
padding: 1rem 1.25rem;
text-align: center;
font-size: 0.82rem;
color: var(--text-muted);
font-family: var(--font-mono);
}
.site-footer a { color: var(--text-muted); }
.site-footer a:hover { color: var(--accent); }
/* === Buttons === */
.btn {
display: inline-block;
padding: 0.4em 0.85em;
background: var(--accent);
color: #fff;
border: 1px solid var(--accent);
border-radius: var(--radius);
font-size: 0.85rem;
font-family: var(--font-mono);
cursor: pointer;
text-decoration: none;
transition: background 0.1s, color 0.1s;
line-height: 1.5;
}
.btn:hover { background: var(--accent-dim); border-color: var(--accent-dim); text-decoration: none; color: #fff; }
.btn-outline {
background: transparent;
color: var(--accent);
}
.btn-outline:hover { background: var(--accent); color: #fff; }
.btn-sm {
font-size: 0.78rem;
padding: 0.25em 0.6em;
}
.btn-danger {
background: #b00;
border-color: #b00;
color: #fff;
}
.btn-danger:hover { background: #900; border-color: #900; color: #fff; }
/* === Tags / Badges === */
.tag {
display: inline-block;
font-size: 0.78rem;
font-family: var(--font-mono);
color: var(--text-muted);
background: var(--bg-alt);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 0.1em 0.45em;
text-decoration: none;
line-height: 1.5;
}
.lang-badge {
display: inline-block;
font-family: var(--font-mono);
font-size: 0.75rem;
background: var(--bg-alt);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 0.1em 0.45em;
color: var(--text-muted);
line-height: 1.5;
}
/* === Page Header === */
.page-header {
margin-bottom: 2rem;
padding-bottom: 1rem;
border-bottom: 1px solid var(--border);
}
.page-header h1 { margin-bottom: 0.25em; }
.page-desc {
color: var(--text-muted);
font-size: 0.95rem;
margin: 0;
}
/* === Table (paste list) === */
table {
width: 100%;
border-collapse: collapse;
font-size: 0.9rem;
margin: 0 0 1.5em;
}
th {
text-align: left;
padding: 0.5em 0.75em;
background: var(--bg-alt);
border-bottom: 2px solid var(--border-dark);
font-weight: 600;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.04em;
color: var(--text-muted);
}
td {
padding: 0.5em 0.75em;
border-bottom: 1px solid var(--border);
vertical-align: top;
}
tr:last-child td { border-bottom: none; }
.post-date {
font-family: var(--font-mono);
font-size: 0.8rem;
color: var(--text-muted);
}
/* === Empty State === */
.empty-state {
color: var(--text-muted);
font-size: 0.9rem;
padding: 2rem 0;
}
/* === Paste View === */
.paste-header {
margin-bottom: 1.5rem;
padding-bottom: 1rem;
border-bottom: 1px solid var(--border);
display: flex;
align-items: flex-start;
justify-content: space-between;
flex-wrap: wrap;
gap: 0.75rem;
}
.paste-meta {
font-family: var(--font-mono);
font-size: 0.8rem;
color: var(--text-muted);
display: flex;
flex-wrap: wrap;
gap: 0.4rem 1rem;
margin-top: 0.3rem;
}
.paste-actions {
display: flex;
gap: 0.4rem;
flex-wrap: wrap;
align-items: flex-start;
flex-shrink: 0;
}
/* Chroma-highlighted code block */
.paste-code .chroma {
border: 1px solid var(--border);
border-radius: var(--radius);
overflow-x: auto;
font-size: 0.85rem;
line-height: 1.6;
}
/* Line numbers table layout produced by chroma */
.paste-code .chroma .lntable {
width: 100%;
border-spacing: 0;
}
.paste-code .chroma .lntd:first-child {
user-select: none;
padding: 0.85em 0.75em 0.85em 1em;
text-align: right;
color: var(--text-muted);
border-right: 1px solid var(--border);
background: var(--bg-alt);
min-width: 3em;
}
.paste-code .chroma .lntd:last-child {
padding: 0.85em 1.25em;
width: 100%;
}
.paste-code .chroma pre {
margin: 0;
border: none;
background: transparent;
padding: 0;
overflow: visible;
}
/* === New Paste Form === */
.paste-form {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.paste-form-meta {
display: flex;
flex-wrap: wrap;
gap: 1rem;
align-items: flex-end;
}
.paste-form-meta .form-row {
min-width: 160px;
}
.form-row {
display: flex;
flex-direction: column;
gap: 0.35rem;
}
.form-row label {
font-size: 0.85rem;
font-weight: 600;
color: var(--text-muted);
font-family: var(--font-mono);
}
.form-row input[type="text"] {
max-width: 480px;
padding: 0.4em 0.7em;
background: var(--bg);
border: 1px solid var(--border-dark);
border-radius: var(--radius);
color: var(--text);
font-family: var(--font-mono);
font-size: 0.9rem;
}
.form-row input[type="text"]:focus {
outline: 2px solid var(--accent);
outline-offset: 1px;
border-color: var(--accent);
}
.form-row select {
padding: 0.4em 0.7em;
background: var(--bg);
border: 1px solid var(--border-dark);
border-radius: var(--radius);
color: var(--text);
font-family: var(--font-mono);
font-size: 0.9rem;
appearance: none;
cursor: pointer;
}
.form-row select:focus {
outline: 2px solid var(--accent);
border-color: var(--accent);
}
.form-check {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 0.88rem;
font-family: var(--font-mono);
color: var(--text-muted);
padding-top: 1.5rem; /* align with bottom of adjacent selects */
cursor: pointer;
}
.form-check input[type="checkbox"] {
width: 1rem;
height: 1rem;
cursor: pointer;
accent-color: var(--accent);
}
.paste-textarea {
width: 100%;
min-height: 450px;
background: var(--bg-code);
border: 1px solid var(--border-dark);
border-radius: var(--radius);
color: var(--text);
font-family: var(--font-mono);
font-size: 0.85rem;
line-height: 1.65;
padding: 0.85rem 1rem;
resize: vertical;
tab-size: 4;
}
.paste-textarea:focus {
outline: 2px solid var(--accent);
outline-offset: 1px;
}
.editor-footer {
display: flex;
gap: 0.5rem;
margin-top: 0.25rem;
}
/* === Forms (general) === */
.inline-form { display: inline; }
.form-error {
background: #fee;
border: 1px solid #faa;
border-radius: var(--radius);
padding: 0.6em 0.9em;
color: #c00;
font-size: 0.88rem;
margin-bottom: 1rem;
}
/* === Admin === */
.admin-wrap {
max-width: 100%;
}
.admin-header {
display: flex;
align-items: flex-start;
justify-content: space-between;
flex-wrap: wrap;
gap: 0.75rem;
margin-bottom: 1.5rem;
padding-bottom: 1rem;
border-bottom: 1px solid var(--border);
}
.admin-header h1 { margin: 0; }
.admin-actions {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
align-items: center;
}
.admin-table {
font-size: 0.875rem;
width: 100%;
}
.admin-table th { font-size: 0.8rem; }
.actions-cell {
white-space: nowrap;
display: flex;
gap: 0.4rem;
}
/* === Admin Login === */
.admin-login-wrap {
max-width: 360px;
margin: 3rem auto;
}
.admin-login-wrap h1 {
font-family: var(--font-mono);
margin-bottom: 1.5rem;
}
.login-form {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.login-form label {
font-size: 0.85rem;
font-weight: 600;
color: var(--text-muted);
font-family: var(--font-mono);
}
.login-form input {
width: 100%;
padding: 0.5em 0.75em;
background: var(--bg);
border: 1px solid var(--border-dark);
border-radius: var(--radius);
color: var(--text);
font-size: 0.95rem;
font-family: var(--font-mono);
}
.login-form input:focus {
outline: 2px solid var(--accent);
outline-offset: 1px;
border-color: var(--accent);
}

152
static/css/syntax.css Normal file
View File

@@ -0,0 +1,152 @@
/* Auto-generated by chroma at server startup. Do not edit. */
/* Background */ .bg { background-color: #ffffff; }
/* PreWrapper */ .chroma { background-color: #ffffff; }
/* Error */ .chroma .err { color: #a61717; background-color: #e3d2d2 }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #e5e5e5 }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #000000; font-weight: bold }
/* KeywordConstant */ .chroma .kc { color: #000000; font-weight: bold }
/* KeywordDeclaration */ .chroma .kd { color: #000000; font-weight: bold }
/* KeywordNamespace */ .chroma .kn { color: #000000; font-weight: bold }
/* KeywordPseudo */ .chroma .kp { color: #000000; font-weight: bold }
/* KeywordReserved */ .chroma .kr { color: #000000; font-weight: bold }
/* KeywordType */ .chroma .kt { color: #445588; font-weight: bold }
/* NameAttribute */ .chroma .na { color: #008080 }
/* NameBuiltin */ .chroma .nb { color: #0086b3 }
/* NameBuiltinPseudo */ .chroma .bp { color: #999999 }
/* NameClass */ .chroma .nc { color: #445588; font-weight: bold }
/* NameConstant */ .chroma .no { color: #008080 }
/* NameDecorator */ .chroma .nd { color: #3c5d5d; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #800080 }
/* NameException */ .chroma .ne { color: #990000; font-weight: bold }
/* NameFunction */ .chroma .nf { color: #990000; font-weight: bold }
/* NameLabel */ .chroma .nl { color: #990000; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #555555 }
/* NameTag */ .chroma .nt { color: #000080 }
/* NameVariable */ .chroma .nv { color: #008080 }
/* NameVariableClass */ .chroma .vc { color: #008080 }
/* NameVariableGlobal */ .chroma .vg { color: #008080 }
/* NameVariableInstance */ .chroma .vi { color: #008080 }
/* LiteralString */ .chroma .s { color: #dd1144 }
/* LiteralStringAffix */ .chroma .sa { color: #dd1144 }
/* LiteralStringBacktick */ .chroma .sb { color: #dd1144 }
/* LiteralStringChar */ .chroma .sc { color: #dd1144 }
/* LiteralStringDelimiter */ .chroma .dl { color: #dd1144 }
/* LiteralStringDoc */ .chroma .sd { color: #dd1144 }
/* LiteralStringDouble */ .chroma .s2 { color: #dd1144 }
/* LiteralStringEscape */ .chroma .se { color: #dd1144 }
/* LiteralStringHeredoc */ .chroma .sh { color: #dd1144 }
/* LiteralStringInterpol */ .chroma .si { color: #dd1144 }
/* LiteralStringOther */ .chroma .sx { color: #dd1144 }
/* LiteralStringRegex */ .chroma .sr { color: #009926 }
/* LiteralStringSingle */ .chroma .s1 { color: #dd1144 }
/* LiteralStringSymbol */ .chroma .ss { color: #990073 }
/* LiteralNumber */ .chroma .m { color: #009999 }
/* LiteralNumberBin */ .chroma .mb { color: #009999 }
/* LiteralNumberFloat */ .chroma .mf { color: #009999 }
/* LiteralNumberHex */ .chroma .mh { color: #009999 }
/* LiteralNumberInteger */ .chroma .mi { color: #009999 }
/* LiteralNumberIntegerLong */ .chroma .il { color: #009999 }
/* LiteralNumberOct */ .chroma .mo { color: #009999 }
/* Operator */ .chroma .o { color: #000000; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold }
/* Comment */ .chroma .c { color: #999988; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #999988; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #999988; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #999988; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #999999; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #999999; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #999999; font-weight: bold; font-style: italic }
/* GenericDeleted */ .chroma .gd { color: #000000; background-color: #ffdddd }
/* GenericEmph */ .chroma .ge { color: #000000; font-style: italic }
/* GenericError */ .chroma .gr { color: #aa0000 }
/* GenericHeading */ .chroma .gh { color: #999999 }
/* GenericInserted */ .chroma .gi { color: #000000; background-color: #ddffdd }
/* GenericOutput */ .chroma .go { color: #888888 }
/* GenericPrompt */ .chroma .gp { color: #555555 }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #aaaaaa }
/* GenericTraceback */ .chroma .gt { color: #aa0000 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #bbbbbb }
@media (prefers-color-scheme: dark) {
/* Background */ .bg { color: #e6edf3; background-color: #0d1117; }
/* PreWrapper */ .chroma { color: #e6edf3; background-color: #0d1117; }
/* Error */ .chroma .err { color: #f85149 }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #6e7681 }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #737679 }
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #6e7681 }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #ff7b72 }
/* KeywordConstant */ .chroma .kc { color: #79c0ff }
/* KeywordDeclaration */ .chroma .kd { color: #ff7b72 }
/* KeywordNamespace */ .chroma .kn { color: #ff7b72 }
/* KeywordPseudo */ .chroma .kp { color: #79c0ff }
/* KeywordReserved */ .chroma .kr { color: #ff7b72 }
/* KeywordType */ .chroma .kt { color: #ff7b72 }
/* NameClass */ .chroma .nc { color: #f0883e; font-weight: bold }
/* NameConstant */ .chroma .no { color: #79c0ff; font-weight: bold }
/* NameDecorator */ .chroma .nd { color: #d2a8ff; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #ffa657 }
/* NameException */ .chroma .ne { color: #f0883e; font-weight: bold }
/* NameFunction */ .chroma .nf { color: #d2a8ff; font-weight: bold }
/* NameLabel */ .chroma .nl { color: #79c0ff; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #ff7b72 }
/* NameProperty */ .chroma .py { color: #79c0ff }
/* NameTag */ .chroma .nt { color: #7ee787 }
/* NameVariable */ .chroma .nv { color: #79c0ff }
/* Literal */ .chroma .l { color: #a5d6ff }
/* LiteralDate */ .chroma .ld { color: #79c0ff }
/* LiteralString */ .chroma .s { color: #a5d6ff }
/* LiteralStringAffix */ .chroma .sa { color: #79c0ff }
/* LiteralStringBacktick */ .chroma .sb { color: #a5d6ff }
/* LiteralStringChar */ .chroma .sc { color: #a5d6ff }
/* LiteralStringDelimiter */ .chroma .dl { color: #79c0ff }
/* LiteralStringDoc */ .chroma .sd { color: #a5d6ff }
/* LiteralStringDouble */ .chroma .s2 { color: #a5d6ff }
/* LiteralStringEscape */ .chroma .se { color: #79c0ff }
/* LiteralStringHeredoc */ .chroma .sh { color: #79c0ff }
/* LiteralStringInterpol */ .chroma .si { color: #a5d6ff }
/* LiteralStringOther */ .chroma .sx { color: #a5d6ff }
/* LiteralStringRegex */ .chroma .sr { color: #79c0ff }
/* LiteralStringSingle */ .chroma .s1 { color: #a5d6ff }
/* LiteralStringSymbol */ .chroma .ss { color: #a5d6ff }
/* LiteralNumber */ .chroma .m { color: #a5d6ff }
/* LiteralNumberBin */ .chroma .mb { color: #a5d6ff }
/* LiteralNumberFloat */ .chroma .mf { color: #a5d6ff }
/* LiteralNumberHex */ .chroma .mh { color: #a5d6ff }
/* LiteralNumberInteger */ .chroma .mi { color: #a5d6ff }
/* LiteralNumberIntegerLong */ .chroma .il { color: #a5d6ff }
/* LiteralNumberOct */ .chroma .mo { color: #a5d6ff }
/* Operator */ .chroma .o { color: #ff7b72; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #ff7b72; font-weight: bold }
/* Comment */ .chroma .c { color: #8b949e; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #8b949e; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #8b949e; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #8b949e; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #8b949e; font-weight: bold; font-style: italic }
/* GenericDeleted */ .chroma .gd { color: #ffa198; background-color: #490202 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #ffa198 }
/* GenericHeading */ .chroma .gh { color: #79c0ff; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #56d364; background-color: #0f5323 }
/* GenericOutput */ .chroma .go { color: #8b949e }
/* GenericPrompt */ .chroma .gp { color: #8b949e }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #79c0ff }
/* GenericTraceback */ .chroma .gt { color: #ff7b72 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #6e7681 }
}

14
static/favicon.svg Normal file
View File

@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<rect width="32" height="32" rx="5" fill="#1a1918"/>
<polyline
points="7,10 18,16 7,22"
fill="none"
stroke="#e8870a"
stroke-width="3.5"
stroke-linecap="round"
stroke-linejoin="round"/>
<line x1="20" y1="22" x2="27" y2="22"
stroke="#e8870a"
stroke-width="3.5"
stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 394 B