Update public/styles.css
Browse files- public/styles.css +185 -4
public/styles.css
CHANGED
|
@@ -71,10 +71,16 @@ body {
|
|
| 71 |
background: var(--background);
|
| 72 |
color: var(--foreground);
|
| 73 |
min-height: 100vh;
|
|
|
|
| 74 |
}
|
| 75 |
|
| 76 |
.hidden { display: none !important; }
|
| 77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
/* Sidebar */
|
| 79 |
.sidebar {
|
| 80 |
background: var(--card);
|
|
@@ -86,6 +92,7 @@ body {
|
|
| 86 |
left: 0; top: 0; bottom: 0;
|
| 87 |
overflow-y: auto;
|
| 88 |
z-index: 50;
|
|
|
|
| 89 |
}
|
| 90 |
.sidebar-brand {
|
| 91 |
display: flex; align-items: center; gap: 8px;
|
|
@@ -174,6 +181,12 @@ body {
|
|
| 174 |
display: flex; align-items: center; justify-content: space-between;
|
| 175 |
margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
|
| 176 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 177 |
.page-header h1 {
|
| 178 |
font-size: 22px; font-weight: 700; margin: 0; letter-spacing: -0.3px;
|
| 179 |
}
|
|
@@ -198,10 +211,75 @@ body {
|
|
| 198 |
}
|
| 199 |
|
| 200 |
@media (max-width: 720px) {
|
| 201 |
-
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
.sidebar.open { transform: translateX(0); }
|
| 203 |
-
.main {
|
| 204 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 205 |
}
|
| 206 |
|
| 207 |
/* Card */
|
|
@@ -359,6 +437,7 @@ textarea.search-box { resize: vertical; }
|
|
| 359 |
padding: 12px; gap: 6px;
|
| 360 |
}
|
| 361 |
.card:hover .img-overlay { opacity: 1; }
|
|
|
|
| 362 |
.img-overlay .btn {
|
| 363 |
background: rgba(255, 255, 255, 0.95);
|
| 364 |
border: none;
|
|
@@ -394,7 +473,8 @@ textarea.search-box { resize: vertical; }
|
|
| 394 |
border: 1px solid var(--border);
|
| 395 |
border-radius: 14px;
|
| 396 |
width: 100%; max-width: 560px;
|
| 397 |
-
max-height: 90vh; overflow-y: auto;
|
|
|
|
| 398 |
}
|
| 399 |
.modal-card-large {
|
| 400 |
max-width: min(960px, 90vw);
|
|
@@ -511,3 +591,104 @@ textarea.search-box { resize: vertical; }
|
|
| 511 |
animation: spin 0.7s linear infinite;
|
| 512 |
}
|
| 513 |
@keyframes spin { to { transform: rotate(360deg); } }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
background: var(--background);
|
| 72 |
color: var(--foreground);
|
| 73 |
min-height: 100vh;
|
| 74 |
+
overflow-x: hidden;
|
| 75 |
}
|
| 76 |
|
| 77 |
.hidden { display: none !important; }
|
| 78 |
|
| 79 |
+
.mobile-menu-btn,
|
| 80 |
+
.sidebar-backdrop {
|
| 81 |
+
display: none;
|
| 82 |
+
}
|
| 83 |
+
|
| 84 |
/* Sidebar */
|
| 85 |
.sidebar {
|
| 86 |
background: var(--card);
|
|
|
|
| 92 |
left: 0; top: 0; bottom: 0;
|
| 93 |
overflow-y: auto;
|
| 94 |
z-index: 50;
|
| 95 |
+
-webkit-overflow-scrolling: touch;
|
| 96 |
}
|
| 97 |
.sidebar-brand {
|
| 98 |
display: flex; align-items: center; gap: 8px;
|
|
|
|
| 181 |
display: flex; align-items: center; justify-content: space-between;
|
| 182 |
margin-bottom: 20px; flex-wrap: wrap; gap: 12px;
|
| 183 |
}
|
| 184 |
+
.page-title-row {
|
| 185 |
+
display: flex;
|
| 186 |
+
align-items: center;
|
| 187 |
+
gap: 10px;
|
| 188 |
+
min-width: 0;
|
| 189 |
+
}
|
| 190 |
.page-header h1 {
|
| 191 |
font-size: 22px; font-weight: 700; margin: 0; letter-spacing: -0.3px;
|
| 192 |
}
|
|
|
|
| 211 |
}
|
| 212 |
|
| 213 |
@media (max-width: 720px) {
|
| 214 |
+
.mobile-menu-btn {
|
| 215 |
+
display: inline-flex;
|
| 216 |
+
align-items: center;
|
| 217 |
+
justify-content: center;
|
| 218 |
+
flex: 0 0 38px;
|
| 219 |
+
width: 42px;
|
| 220 |
+
height: 38px;
|
| 221 |
+
border-radius: 10px;
|
| 222 |
+
border: 1px solid var(--border);
|
| 223 |
+
background: var(--card);
|
| 224 |
+
color: var(--foreground);
|
| 225 |
+
font: inherit;
|
| 226 |
+
font-size: 18px;
|
| 227 |
+
}
|
| 228 |
+
.sidebar-backdrop {
|
| 229 |
+
position: fixed;
|
| 230 |
+
inset: 0;
|
| 231 |
+
z-index: 45;
|
| 232 |
+
display: block;
|
| 233 |
+
background: rgba(0, 0, 0, 0.38);
|
| 234 |
+
}
|
| 235 |
+
.sidebar {
|
| 236 |
+
width: min(82vw, 300px);
|
| 237 |
+
padding: calc(68px + env(safe-area-inset-top)) 16px 20px;
|
| 238 |
+
transform: translateX(-100%);
|
| 239 |
+
transition: transform .2s ease;
|
| 240 |
+
box-shadow: 16px 0 36px rgba(0, 0, 0, 0.18);
|
| 241 |
+
}
|
| 242 |
.sidebar.open { transform: translateX(0); }
|
| 243 |
+
.main {
|
| 244 |
+
margin-left: 0;
|
| 245 |
+
padding: calc(18px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom));
|
| 246 |
+
}
|
| 247 |
+
.security-banner { align-items: stretch; flex-direction: column; }
|
| 248 |
+
.security-banner .btn { justify-content: center; }
|
| 249 |
+
.page-header {
|
| 250 |
+
align-items: stretch;
|
| 251 |
+
gap: 14px;
|
| 252 |
+
}
|
| 253 |
+
.page-title-row > div {
|
| 254 |
+
min-width: 0;
|
| 255 |
+
}
|
| 256 |
+
.page-header h1 {
|
| 257 |
+
font-size: 20px;
|
| 258 |
+
line-height: 1.25;
|
| 259 |
+
}
|
| 260 |
+
.page-header p {
|
| 261 |
+
line-height: 1.4;
|
| 262 |
+
}
|
| 263 |
+
.page-header .btn {
|
| 264 |
+
width: 100%;
|
| 265 |
+
justify-content: center;
|
| 266 |
+
min-height: 42px;
|
| 267 |
+
}
|
| 268 |
+
.toolbar {
|
| 269 |
+
margin-bottom: 14px;
|
| 270 |
+
}
|
| 271 |
+
.stats {
|
| 272 |
+
gap: 8px 10px;
|
| 273 |
+
margin-bottom: 14px;
|
| 274 |
+
line-height: 1.5;
|
| 275 |
+
}
|
| 276 |
+
.stats .sep {
|
| 277 |
+
display: none;
|
| 278 |
+
}
|
| 279 |
+
.card-grid {
|
| 280 |
+
grid-template-columns: minmax(0, 1fr);
|
| 281 |
+
gap: 14px;
|
| 282 |
+
}
|
| 283 |
}
|
| 284 |
|
| 285 |
/* Card */
|
|
|
|
| 437 |
padding: 12px; gap: 6px;
|
| 438 |
}
|
| 439 |
.card:hover .img-overlay { opacity: 1; }
|
| 440 |
+
.img-preview:focus-within .img-overlay { opacity: 1; }
|
| 441 |
.img-overlay .btn {
|
| 442 |
background: rgba(255, 255, 255, 0.95);
|
| 443 |
border: none;
|
|
|
|
| 473 |
border: 1px solid var(--border);
|
| 474 |
border-radius: 14px;
|
| 475 |
width: 100%; max-width: 560px;
|
| 476 |
+
max-height: min(90vh, 900px); overflow-y: auto;
|
| 477 |
+
-webkit-overflow-scrolling: touch;
|
| 478 |
}
|
| 479 |
.modal-card-large {
|
| 480 |
max-width: min(960px, 90vw);
|
|
|
|
| 591 |
animation: spin 0.7s linear infinite;
|
| 592 |
}
|
| 593 |
@keyframes spin { to { transform: rotate(360deg); } }
|
| 594 |
+
|
| 595 |
+
@media (hover: none), (pointer: coarse) {
|
| 596 |
+
.btn,
|
| 597 |
+
.nav-item,
|
| 598 |
+
.filter-chip,
|
| 599 |
+
.size-option {
|
| 600 |
+
min-height: 40px;
|
| 601 |
+
}
|
| 602 |
+
.img-overlay {
|
| 603 |
+
opacity: 1;
|
| 604 |
+
background: linear-gradient(to top, rgba(0, 0, 0, 0.48) 0%, transparent 58%);
|
| 605 |
+
}
|
| 606 |
+
}
|
| 607 |
+
|
| 608 |
+
@media (max-width: 520px) {
|
| 609 |
+
.card {
|
| 610 |
+
border-radius: 10px;
|
| 611 |
+
}
|
| 612 |
+
.card-body {
|
| 613 |
+
padding: 13px 14px;
|
| 614 |
+
}
|
| 615 |
+
.card-title-row {
|
| 616 |
+
align-items: center;
|
| 617 |
+
}
|
| 618 |
+
.card-prompt-head {
|
| 619 |
+
flex-wrap: wrap;
|
| 620 |
+
}
|
| 621 |
+
.card-prompt-head .spacer {
|
| 622 |
+
margin-left: auto;
|
| 623 |
+
}
|
| 624 |
+
.card-actions .btn {
|
| 625 |
+
flex: 1 1 auto;
|
| 626 |
+
justify-content: center;
|
| 627 |
+
}
|
| 628 |
+
.card-actions .spacer {
|
| 629 |
+
margin-left: 0;
|
| 630 |
+
flex: 0 0 44px;
|
| 631 |
+
}
|
| 632 |
+
.prompt-text {
|
| 633 |
+
-webkit-line-clamp: 4;
|
| 634 |
+
}
|
| 635 |
+
.search-box {
|
| 636 |
+
font-size: 16px;
|
| 637 |
+
padding: 11px 12px;
|
| 638 |
+
}
|
| 639 |
+
.modal-overlay {
|
| 640 |
+
align-items: flex-end;
|
| 641 |
+
padding: 10px;
|
| 642 |
+
padding-bottom: max(10px, env(safe-area-inset-bottom));
|
| 643 |
+
}
|
| 644 |
+
.modal-card {
|
| 645 |
+
max-height: calc(100vh - 20px - env(safe-area-inset-top));
|
| 646 |
+
border-radius: 14px 14px 10px 10px;
|
| 647 |
+
}
|
| 648 |
+
.modal-card-large {
|
| 649 |
+
max-width: 100%;
|
| 650 |
+
}
|
| 651 |
+
.modal-head {
|
| 652 |
+
padding: 16px 16px 0;
|
| 653 |
+
}
|
| 654 |
+
.modal-body {
|
| 655 |
+
padding: 14px 16px 18px;
|
| 656 |
+
gap: 14px;
|
| 657 |
+
}
|
| 658 |
+
.modal-actions {
|
| 659 |
+
flex-direction: column-reverse;
|
| 660 |
+
}
|
| 661 |
+
.modal-actions .btn {
|
| 662 |
+
width: 100%;
|
| 663 |
+
min-height: 42px;
|
| 664 |
+
justify-content: center;
|
| 665 |
+
}
|
| 666 |
+
.setting-group {
|
| 667 |
+
padding: 14px;
|
| 668 |
+
}
|
| 669 |
+
.size-select {
|
| 670 |
+
display: grid;
|
| 671 |
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
| 672 |
+
}
|
| 673 |
+
.size-option {
|
| 674 |
+
text-align: center;
|
| 675 |
+
padding: 9px 8px;
|
| 676 |
+
}
|
| 677 |
+
.meta-grid {
|
| 678 |
+
grid-template-columns: 1fr;
|
| 679 |
+
}
|
| 680 |
+
.meta-item.span2 {
|
| 681 |
+
grid-column: auto;
|
| 682 |
+
}
|
| 683 |
+
.info-img-wrap.large,
|
| 684 |
+
.info-img-wrap.large img {
|
| 685 |
+
max-height: 46vh;
|
| 686 |
+
}
|
| 687 |
+
.toast {
|
| 688 |
+
top: auto;
|
| 689 |
+
bottom: calc(16px + env(safe-area-inset-bottom));
|
| 690 |
+
width: calc(100vw - 28px);
|
| 691 |
+
max-width: 360px;
|
| 692 |
+
text-align: center;
|
| 693 |
+
}
|
| 694 |
+
}
|