Files

707 lines
12 KiB
CSS

:root {
color-scheme: dark;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: #0c1017;
color: #f4f7fb;
}
* {
box-sizing: border-box;
}
body {
width: 410px;
margin: 0;
background:
radial-gradient(circle at 100% 0, rgba(255, 69, 103, 0.2), transparent 38%),
linear-gradient(155deg, #121824 0%, #090c12 72%);
}
button,
input {
font: inherit;
}
.shell {
padding: 20px 20px 14px;
}
header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 20px;
}
.header-copy {
min-width: 0;
flex: 1;
}
.settings-button {
display: grid;
width: 42px;
height: 42px;
flex: 0 0 42px;
place-items: center;
border: 1px solid rgba(255, 111, 142, 0.72);
border-radius: 12px;
background: linear-gradient(135deg, rgba(240, 68, 104, 0.34), rgba(191, 37, 76, 0.24));
color: #fff;
box-shadow: 0 7px 22px rgba(240, 68, 104, 0.18);
cursor: pointer;
transition: transform 150ms ease, filter 150ms ease, box-shadow 150ms ease;
}
.settings-button:hover {
filter: brightness(1.18);
transform: translateY(-1px);
box-shadow: 0 9px 26px rgba(240, 68, 104, 0.28);
}
.settings-button[aria-expanded="true"] {
border-color: #ff7895;
background: linear-gradient(135deg, rgba(240, 68, 104, 0.58), rgba(191, 37, 76, 0.42));
box-shadow: 0 9px 26px rgba(240, 68, 104, 0.3);
}
.settings-button:active {
transform: translateY(1px);
}
.settings-button svg {
width: 21px;
height: 21px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
transition: transform 300ms cubic-bezier(.22, 1, .36, 1);
}
.settings-button[aria-expanded="true"] svg {
transform: rotate(45deg);
}
.settings-panel {
margin-bottom: 12px;
padding: 14px;
border: 1px solid rgba(240, 68, 104, 0.42);
border-radius: 13px;
background: rgba(15, 21, 31, 0.96);
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.22);
}
.settings-panel-head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 13px;
}
.settings-panel-head h2 {
margin: 0;
color: #f4f7fb;
font-size: 13px;
line-height: 1.3;
}
.settings-panel-head p {
margin-top: 3px;
color: #748096;
font-size: 10px;
}
.settings-field-label {
display: block;
margin-bottom: 6px;
color: #c7cfdb;
font-size: 11px;
font-weight: 800;
}
.settings-text-input {
width: 100%;
padding: 9px 10px;
border: 1px solid #344157;
border-radius: 9px;
outline: none;
background: #0c1119;
color: #f4f7fb;
font-size: 11px;
}
.settings-text-input:focus {
border-color: #f04468;
box-shadow: 0 0 0 3px rgba(240, 68, 104, 0.13);
}
.settings-help {
margin: 7px 0 12px;
color: #6f7c91;
font-size: 9px;
line-height: 1.45;
}
.settings-help code {
color: #cbd3df;
}
.settings-check-row {
display: flex;
align-items: flex-start;
gap: 9px;
padding: 10px 0;
border-top: 1px solid #232d3d;
cursor: pointer;
}
.settings-check-row input {
width: 16px;
height: 16px;
flex: 0 0 16px;
margin: 1px 0 0;
accent-color: #f04468;
}
.settings-check-row strong,
.settings-check-row small {
display: block;
}
.settings-check-row strong {
color: #e8edf5;
font-size: 11px;
}
.settings-check-row small {
margin-top: 3px;
color: #788499;
font-size: 9px;
line-height: 1.4;
}
.settings-preview {
margin-top: 8px;
padding: 10px;
border: 1px solid #2b374a;
border-radius: 9px;
background: #0c1119;
}
.settings-preview span,
.settings-preview strong {
display: block;
}
.settings-preview span {
margin-bottom: 4px;
color: #748096;
font-size: 8px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.settings-preview strong {
overflow-wrap: anywhere;
color: #cdd5e2;
font-size: 10px;
}
.settings-form-actions {
display: flex;
justify-content: flex-end;
gap: 8px;
margin-top: 12px;
}
.settings-primary,
.settings-secondary {
padding: 8px 11px;
border-radius: 9px;
font-size: 10px;
font-weight: 800;
}
.settings-primary {
background: #f04468;
color: #fff;
}
.settings-primary:hover:not(:disabled) {
background: #ff5477;
}
.settings-secondary {
background: #202a39;
color: #cbd3df;
}
.settings-secondary:hover:not(:disabled) {
background: #293548;
}
.settings-status {
min-height: 0;
margin-top: 8px;
color: #69dda9;
font-size: 9px;
text-align: right;
}
.settings-status:empty {
display: none;
}
.settings-status.error {
color: #ff7895;
}
.alternative-toggle {
display: grid;
grid-template-columns: 30px minmax(0, 1fr) 20px;
align-items: center;
width: 100%;
gap: 9px;
padding: 11px 12px;
border: 1px solid #2c3749;
border-radius: 12px;
background: rgba(20, 27, 39, 0.88);
color: #dce2eb;
cursor: pointer;
text-align: left;
}
.alternative-toggle:hover,
.alternative-toggle[aria-expanded="true"] {
border-color: rgba(240, 68, 104, 0.65);
background: #192230;
}
.alternative-icon {
display: grid;
width: 30px;
height: 30px;
place-items: center;
border-radius: 9px;
background: rgba(240, 68, 104, 0.16);
color: #ff718e;
font-size: 17px;
font-weight: 900;
transition: transform 300ms cubic-bezier(.22, 1, .36, 1), background 200ms ease, color 200ms ease;
}
.alternative-toggle[aria-expanded="true"] .alternative-icon {
transform: rotate(180deg);
background: rgba(240, 68, 104, 0.26);
color: #ff9bb0;
}
.alternative-label {
font-size: 11px;
font-weight: 800;
line-height: 1.35;
}
.alternative-chevron {
color: #7f8a9e;
font-size: 18px;
text-align: center;
transition: transform 300ms cubic-bezier(.22, 1, .36, 1), color 200ms ease;
}
.alternative-toggle[aria-expanded="true"] .alternative-chevron {
transform: rotate(180deg);
color: #ff8da4;
}
.diagnostic-tools {
margin-top: 10px;
}
.diagnostic-button {
display: flex;
width: 100%;
align-items: center;
justify-content: center;
gap: 8px;
padding: 9px 12px;
border: 1px dashed rgba(120, 173, 255, 0.44);
border-radius: 10px;
background: rgba(22, 34, 52, 0.72);
color: #bcd4ff;
font-size: 11px;
font-weight: 800;
}
.diagnostic-button:hover:not(:disabled) {
border-color: rgba(120, 173, 255, 0.8);
background: rgba(31, 49, 75, 0.9);
color: #e4eeff;
}
.diagnostic-button svg {
width: 16px;
height: 16px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.diagnostic-status {
margin: 6px 4px 0;
color: #6f7c91;
font-size: 10px;
line-height: 1.35;
text-align: center;
}
.diagnostic-status:empty {
display: none;
}
.diagnostic-status.success {
color: #69dda9;
}
.diagnostic-status.error {
color: #ff7895;
}
.alternative-panel {
margin-top: 14px;
padding-top: 14px;
border-top: 1px solid #222c3b;
}
.mark {
display: grid;
width: 42px;
height: 42px;
place-items: center;
border-radius: 13px;
background: linear-gradient(135deg, #ff496e, #c92550);
box-shadow: 0 10px 30px rgba(255, 73, 110, 0.26);
font-weight: 900;
letter-spacing: -0.04em;
}
h1,
h2,
p {
margin: 0;
}
h1 {
font-size: 17px;
letter-spacing: -0.02em;
}
header p {
margin-top: 3px;
color: #8f9aae;
font-size: 12px;
}
.field-label {
display: block;
margin-bottom: 7px;
color: #b9c2d0;
font-size: 12px;
font-weight: 700;
}
.input-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 8px;
}
input[type="url"] {
min-width: 0;
padding: 11px 12px;
border: 1px solid #273142;
border-radius: 10px;
outline: none;
background: rgba(10, 14, 21, 0.88);
color: #f6f8fb;
font-size: 12px;
}
input[type="url"]:focus {
border-color: #e23b61;
box-shadow: 0 0 0 3px rgba(226, 59, 97, 0.13);
}
button {
border: 0;
cursor: pointer;
}
button:disabled {
cursor: wait;
opacity: 0.58;
}
.primary {
padding: 0 15px;
border-radius: 10px;
background: #f04468;
color: white;
font-weight: 800;
}
.primary:hover:not(:disabled) {
background: #ff5477;
}
.save-option {
display: flex;
align-items: center;
gap: 7px;
margin: 10px 0 0;
color: #8f9aae;
font-size: 11px;
}
.save-option input {
accent-color: #f04468;
}
.status {
margin-top: 14px;
padding: 10px 11px;
border: 1px solid #232c3b;
border-radius: 10px;
background: rgba(18, 24, 35, 0.72);
color: #9da8ba;
font-size: 12px;
line-height: 1.45;
}
.status.success {
border-color: rgba(42, 190, 126, 0.35);
color: #69dda9;
}
.status.error {
border-color: rgba(255, 73, 110, 0.38);
color: #ff7895;
}
.result {
display: grid;
grid-template-columns: 112px minmax(0, 1fr);
gap: 13px;
margin-top: 14px;
padding: 12px;
border: 1px solid #273142;
border-radius: 13px;
background: rgba(15, 20, 29, 0.92);
}
.result.no-image {
grid-template-columns: 1fr;
}
.thumbnail {
width: 112px;
height: 138px;
border-radius: 9px;
object-fit: cover;
background: #181f2a;
}
.media-copy {
min-width: 0;
}
h2 {
overflow: hidden;
margin: 2px 0 10px;
font-size: 13px;
line-height: 1.35;
text-overflow: ellipsis;
white-space: nowrap;
}
.collection {
margin-top: 14px;
padding: 11px;
border: 1px solid #273142;
border-radius: 13px;
background: rgba(15, 20, 29, 0.92);
}
.collection-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
margin-bottom: 9px;
}
.collection-head h2 {
margin: 0;
}
.collection-head span {
color: #7e899c;
font-size: 10px;
}
.collection-items {
display: grid;
max-height: 320px;
gap: 7px;
overflow-y: auto;
padding-right: 3px;
}
.collection-item {
display: grid;
grid-template-columns: 62px minmax(0, 1fr);
align-items: center;
width: 100%;
min-height: 66px;
overflow: hidden;
padding: 0;
border: 1px solid #303b4e;
border-radius: 9px;
background: #18202d;
color: #e8edf5;
text-align: left;
}
.collection-item.no-image {
grid-template-columns: 1fr;
padding: 10px;
}
.collection-item:hover {
border-color: #f04468;
background: #202a39;
}
.collection-thumb {
width: 62px;
height: 66px;
object-fit: cover;
background: #222b39;
}
.collection-copy {
min-width: 0;
padding: 8px 10px;
}
.collection-copy strong,
.collection-copy small {
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.collection-copy strong {
font-size: 11px;
}
.collection-copy small {
margin-top: 4px;
color: #7f8a9e;
font-size: 9px;
}
.collection-hint {
margin-top: 9px;
color: #667287;
font-size: 9px;
line-height: 1.4;
}
.formats {
display: grid;
gap: 7px;
}
.format-button {
width: 100%;
padding: 9px 10px;
border: 1px solid #344055;
border-radius: 9px;
background: #1a2230;
color: #e8edf5;
font-size: 11px;
font-weight: 750;
text-align: left;
}
.format-button:hover:not(:disabled) {
border-color: #f04468;
background: #222c3c;
}
.progress-card {
margin-top: 12px;
padding: 11px;
border: 1px solid #273142;
border-radius: 11px;
background: rgba(15, 20, 29, 0.92);
}
.progress-head {
display: flex;
justify-content: space-between;
gap: 10px;
margin-bottom: 8px;
color: #b9c2d0;
font-size: 11px;
}
.progress-track {
height: 7px;
overflow: hidden;
border-radius: 99px;
background: #232c3b;
}
.progress-bar {
width: 0;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #f04468, #ff8ca3);
transition: width 180ms ease;
}
footer {
margin-top: 12px;
padding: 0 4px;
color: #667287;
font-size: 10px;
line-height: 1.45;
text-align: center;
}
footer strong {
color: #aeb8c8;
font-weight: 750;
}
.hidden {
display: none !important;
}
@media (prefers-reduced-motion: reduce) {
.settings-button,
.settings-button svg,
.alternative-icon,
.alternative-chevron,
.progress-bar {
transition-duration: 0.01ms !important;
}
}