let chatgpt combine styles into one css file and use it
Build and Push Docker Container / build-and-push (push) Successful in 1m28s
Build and Push Docker Container / build-and-push (push) Successful in 1m28s
This commit is contained in:
@@ -8,195 +8,6 @@
|
||||
<meta name="robots" content="index, follow" />
|
||||
{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
<style>
|
||||
/* ====== Design Tokens (match Files page) ====== */
|
||||
:root{
|
||||
--bg: #0f1221;
|
||||
--panel: #161a2f;
|
||||
--panel-2: #1b2140;
|
||||
--text: #e7eaf6;
|
||||
--muted: #a7b0d1;
|
||||
--accent: #7c9eff;
|
||||
--accent-2: #8ef6ff;
|
||||
--border: rgba(255,255,255,.08);
|
||||
--shadow: 0 10px 30px rgba(0,0,0,.25);
|
||||
--radius: 14px;
|
||||
--danger: #ff7a7a;
|
||||
--success: #63e6b0;
|
||||
}
|
||||
@media (prefers-color-scheme: light){
|
||||
:root{
|
||||
--bg: #f6f7fb;
|
||||
--panel: #ffffff;
|
||||
--panel-2: #f3f6ff;
|
||||
--text: #111321;
|
||||
--muted: #495273;
|
||||
--accent: #385cff;
|
||||
--accent-2: #00bcd4;
|
||||
--border: rgba(17,19,33,.08);
|
||||
--shadow: 0 12px 24px rgba(17,19,33,.08);
|
||||
--danger: #e74c3c;
|
||||
--success: #0aa06e;
|
||||
}
|
||||
}
|
||||
|
||||
*{box-sizing:border-box}
|
||||
html,body{height:100%}
|
||||
body{
|
||||
margin:0;
|
||||
color:var(--text);
|
||||
background:
|
||||
radial-gradient(1200px 600px at 10% -10%, rgba(124,158,255,.18), transparent 60%),
|
||||
radial-gradient(900px 500px at 110% 10%, rgba(142,246,255,.18), transparent 60%),
|
||||
var(--bg);
|
||||
font: 500 system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
|
||||
}
|
||||
|
||||
.file-upload{
|
||||
margin: clamp(16px, 3vw, 32px) auto;
|
||||
}
|
||||
.card{
|
||||
background: linear-gradient(180deg, var(--panel), var(--panel-2));
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
backdrop-filter: saturate(120%) blur(6px);
|
||||
-webkit-backdrop-filter: saturate(120%) blur(6px);
|
||||
padding: clamp(18px, 2.6vw, 28px);
|
||||
}
|
||||
|
||||
.page-title{
|
||||
margin: 0 0 10px;
|
||||
font-weight: 800;
|
||||
letter-spacing:.2px;
|
||||
font-size: clamp(22px, 2.4vw, 32px);
|
||||
background: linear-gradient(90deg, var(--accent), var(--accent-2));
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
.subtle{color:var(--muted); margin:0 0 22px}
|
||||
|
||||
/* ====== Upload Zone ====== */
|
||||
.dropzone{
|
||||
position: relative;
|
||||
border: 2px dashed color-mix(in srgb, var(--accent) 40%, var(--border));
|
||||
border-radius: calc(var(--radius) - 4px);
|
||||
background:
|
||||
linear-gradient(180deg, color-mix(in srgb, var(--panel-2) 60%, transparent), transparent);
|
||||
padding: clamp(22px, 4vw, 40px);
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: border-color .25s ease, background .25s ease, transform .06s ease;
|
||||
outline: none;
|
||||
}
|
||||
.dropzone:hover{
|
||||
border-color: color-mix(in srgb, var(--accent) 65%, var(--border));
|
||||
background: color-mix(in srgb, var(--panel-2) 75%, transparent);
|
||||
}
|
||||
.dropzone:focus-visible{
|
||||
box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);
|
||||
}
|
||||
.dropzone.drag{
|
||||
border-color: var(--accent-2);
|
||||
background: color-mix(in srgb, var(--accent) 12%, var(--panel-2));
|
||||
}
|
||||
|
||||
.dz-icon{
|
||||
font-size: 42px;
|
||||
line-height:1;
|
||||
margin-bottom: 10px;
|
||||
filter: drop-shadow(0 6px 14px rgba(0,0,0,.25));
|
||||
}
|
||||
.dz-title{font-weight: 800; margin: 6px 0 2px}
|
||||
.dz-hint{color:var(--muted); font-size:.95rem; margin:6px 0 0}
|
||||
|
||||
input[type="file"]{display:none}
|
||||
|
||||
/* ====== Fields ====== */
|
||||
.field{margin-top:18px}
|
||||
.label{
|
||||
display:block; margin: 14px 0 8px; font-size:.92rem; color:var(--muted);
|
||||
}
|
||||
.input, .select, .textarea, .datetime{
|
||||
width:100%;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border);
|
||||
background: color-mix(in srgb, var(--panel) 88%, transparent);
|
||||
color: var(--text);
|
||||
padding: 12px 14px;
|
||||
transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
|
||||
}
|
||||
.textarea{ min-height: 120px; resize: vertical; }
|
||||
.input:focus, .select:focus, .textarea:focus, .datetime:focus{
|
||||
outline: none;
|
||||
border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
|
||||
box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);
|
||||
background: color-mix(in srgb, var(--panel-2) 92%, transparent);
|
||||
}
|
||||
.input[disabled], .textarea[disabled]{ opacity:.7; cursor:not-allowed; }
|
||||
|
||||
/* ====== Inline bits ====== */
|
||||
.row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
|
||||
@media (max-width:720px){ .row{grid-template-columns:1fr} }
|
||||
|
||||
.badge{
|
||||
display:inline-block; padding:.35rem .6rem; border-radius:999px; font-size:.8rem;
|
||||
background: color-mix(in srgb, var(--accent) 16%, transparent);
|
||||
border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));
|
||||
color: var(--accent);
|
||||
}
|
||||
.preview{ margin-top: 10px; color:var(--muted) }
|
||||
|
||||
/* ====== Buttons ====== */
|
||||
.actions{display:flex; align-items:center; gap:10px; margin-top:18px}
|
||||
.btn{
|
||||
--btn-br: color-mix(in srgb, var(--accent) 40%, var(--border));
|
||||
display:inline-flex; align-items:center; justify-content:center; gap:.5ch;
|
||||
padding:.8rem 1.1rem; border-radius:12px; border:1px solid var(--btn-br);
|
||||
background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 18%, transparent), transparent);
|
||||
color:var(--text); font-weight:700; cursor:pointer;
|
||||
transition: transform .06s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
|
||||
box-shadow: 0 2px 0 rgba(0,0,0,.08);
|
||||
}
|
||||
.btn:hover{
|
||||
background: color-mix(in srgb, var(--accent) 30%, var(--panel-2));
|
||||
border-color: color-mix(in srgb, var(--accent) 60%, var(--border));
|
||||
box-shadow: 0 6px 18px rgba(0,0,0,.18);
|
||||
}
|
||||
.btn:active{ transform: translateY(1px) scale(.98); }
|
||||
.btn[disabled]{opacity:.55; cursor:not-allowed}
|
||||
.btn-ghost{
|
||||
background: transparent; border-color: var(--border);
|
||||
}
|
||||
|
||||
/* ====== Progress ====== */
|
||||
.progress{
|
||||
height: 10px; border-radius: 999px; background: color-mix(in srgb, var(--panel-2) 70%, transparent);
|
||||
border:1px solid var(--border); overflow:hidden; margin-top:12px;
|
||||
}
|
||||
.bar{
|
||||
height:100%; width:0%;
|
||||
background: linear-gradient(90deg, var(--accent), var(--accent-2));
|
||||
transition: width .2s ease;
|
||||
}
|
||||
|
||||
/* ====== Toast ====== */
|
||||
.toast{
|
||||
position: fixed; right: 16px; bottom: 16px; z-index: 1000;
|
||||
background: linear-gradient(180deg, var(--panel), var(--panel-2));
|
||||
border:1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow);
|
||||
color:var(--text); padding:10px 14px; display:none; align-items:center; gap:.6ch;
|
||||
}
|
||||
.toast.show{ display:flex; animation: pop .18s ease-out }
|
||||
@keyframes pop{ from{ transform: translateY(8px); opacity:0 } to{ transform: translateY(0); opacity:1 } }
|
||||
|
||||
/* ====== Utility ====== */
|
||||
.sr-only{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<main class="file-upload">
|
||||
<section class="card" aria-labelledby="upload-title">
|
||||
|
||||
Reference in New Issue
Block a user