|
122 | 122 | border-radius: 8px; |
123 | 123 | padding: 2px; |
124 | 124 | gap: 2px; |
| 125 | + transition: background 0.15s ease; |
125 | 126 | } |
126 | 127 |
|
127 | 128 | .radio-option { |
|
133 | 134 | padding: 6px 10px; |
134 | 135 | border-radius: 6px; |
135 | 136 | border: 1px solid #e5e7eb; |
136 | | - transition: all 0.2s; |
| 137 | + transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease; |
137 | 138 | flex: 1; |
138 | 139 | justify-content: center; |
139 | 140 | } |
140 | 141 |
|
| 142 | +.radio-option:active { |
| 143 | + transform: scale(0.96); |
| 144 | +} |
| 145 | + |
141 | 146 | .segmented-options > label { |
142 | 147 | border: none; |
143 | 148 | background: transparent; |
144 | 149 | border-radius: 6px; |
145 | 150 | color: #6b7280; |
146 | 151 | box-shadow: none; |
147 | | -} |
148 | | - |
149 | | -.radio-option:hover { |
150 | | - border-color: #93c5fd; |
| 152 | + transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease; |
151 | 153 | } |
152 | 154 |
|
153 | 155 | .segmented-options > label:hover { |
154 | 156 | border-color: transparent; |
155 | 157 | color: #374151; |
156 | 158 | } |
157 | 159 |
|
| 160 | +.segmented-options > label:active { |
| 161 | + transform: scale(0.96); |
| 162 | +} |
| 163 | + |
158 | 164 | .radio-option input { |
159 | 165 | display: none; |
160 | 166 | } |
|
185 | 191 | padding: 6px 10px; |
186 | 192 | border-radius: 6px; |
187 | 193 | border: 1px solid #e5e7eb; |
188 | | - transition: all 0.2s; |
| 194 | + transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease; |
189 | 195 | flex: 1; |
190 | 196 | justify-content: center; |
191 | 197 | } |
192 | 198 |
|
| 199 | +.radio-option:hover { |
| 200 | + border-color: #93c5fd; |
| 201 | +} |
| 202 | + |
193 | 203 | .segmented-options > label input { |
194 | 204 | display: none; |
195 | 205 | } |
|
210 | 220 | align-items: center; |
211 | 221 | justify-content: space-between; |
212 | 222 | gap: 8px; |
213 | | - transition: all 0.2s; |
| 223 | + transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease; |
| 224 | +} |
| 225 | + |
| 226 | +.filter-btn:active { |
| 227 | + transform: scale(0.98); |
214 | 228 | } |
215 | 229 |
|
216 | 230 | .filter-btn-label-wrap { |
|
372 | 386 | background: transparent; |
373 | 387 | border-radius: 6px; |
374 | 388 | cursor: pointer; |
375 | | - transition: all 0.2s; |
| 389 | + transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease; |
376 | 390 | } |
377 | 391 |
|
378 | 392 | .radius-opt { |
|
393 | 407 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); |
394 | 408 | } |
395 | 409 |
|
396 | | -.hint { |
397 | | - font-size: var(--control-sidebar-font-micro); |
398 | | - color: #9ca3af; |
399 | | - margin-top: 6px; |
| 410 | +.radius-opt:active, |
| 411 | +.mode-opt:active { |
| 412 | + transform: scale(0.96); |
400 | 413 | } |
401 | 414 |
|
402 | 415 | .mode-toggle { |
|
405 | 418 | background: #f3f4f6; |
406 | 419 | border-radius: 10px; |
407 | 420 | padding: 3px; |
| 421 | + transition: background 0.15s ease; |
408 | 422 | } |
409 | 423 |
|
410 | 424 | .mode-opt { |
|
420 | 434 |
|
421 | 435 | .mode-opt svg { |
422 | 436 | flex-shrink: 0; |
| 437 | + transition: transform 0.15s ease; |
| 438 | +} |
| 439 | + |
| 440 | +.mode-opt.active svg { |
| 441 | + transform: scale(1.05); |
| 442 | +} |
| 443 | + |
| 444 | +.hint { |
| 445 | + font-size: var(--control-sidebar-font-micro); |
| 446 | + color: #9ca3af; |
| 447 | + margin-top: 6px; |
423 | 448 | } |
424 | 449 |
|
425 | 450 | #indicators-section.is-basemap-only .indicator-row--aux { |
|
432 | 457 | gap: 2px; |
433 | 458 | } |
434 | 459 |
|
| 460 | +.indicator-group { |
| 461 | + display: flex; |
| 462 | + flex-direction: column; |
| 463 | + gap: 2px; |
| 464 | +} |
| 465 | + |
| 466 | +.indicator-subs { |
| 467 | + display: grid; |
| 468 | + grid-template-rows: 0fr; |
| 469 | + width: 100%; |
| 470 | + transition: grid-template-rows 0.32s cubic-bezier(0.4, 0, 0.2, 1); |
| 471 | +} |
| 472 | + |
| 473 | +.indicator-subs.is-open { |
| 474 | + grid-template-rows: 1fr; |
| 475 | +} |
| 476 | + |
| 477 | +.indicator-subs-inner { |
| 478 | + display: flex; |
| 479 | + flex-direction: column; |
| 480 | + gap: 2px; |
| 481 | + min-height: 0; |
| 482 | + overflow: hidden; |
| 483 | + padding-top: 0; |
| 484 | + transition: padding-top 0.32s cubic-bezier(0.4, 0, 0.2, 1); |
| 485 | +} |
| 486 | + |
| 487 | +.indicator-subs.is-open .indicator-subs-inner { |
| 488 | + padding-top: 2px; |
| 489 | + padding-bottom: 2px; |
| 490 | +} |
| 491 | + |
435 | 492 | .indicator-row { |
436 | 493 | display: flex; |
437 | 494 | align-items: center; |
|
441 | 498 | border-radius: 8px; |
442 | 499 | background: #fff; |
443 | 500 | border: 1px solid rgba(15, 23, 42, 0.06); |
| 501 | + transition: background 0.15s ease; |
444 | 502 | } |
445 | 503 |
|
446 | 504 | .indicator-row--sub { |
|
455 | 513 |
|
456 | 514 | .indicator-row--category { |
457 | 515 | background: #fcfcfb; |
458 | | - border-left: 3px solid var(--indicator-accent, transparent); |
| 516 | +} |
| 517 | + |
| 518 | +.indicator-row--category:hover { |
| 519 | + background: #f8fafc; |
459 | 520 | } |
460 | 521 |
|
461 | 522 | .indicator-row--category .indicator-label-wrap { |
|
467 | 528 | padding: 4px; |
468 | 529 | background: #f6f8fb; |
469 | 530 | border-style: dashed; |
| 531 | + transition: background 0.15s ease; |
470 | 532 | } |
471 | 533 |
|
472 | 534 | .indicator-row--aux .segmented-options { |
473 | 535 | width: 100%; |
474 | 536 | } |
475 | 537 |
|
| 538 | +.indicator-row--aux .segmented-options > label:hover { |
| 539 | + color: #2563eb; |
| 540 | +} |
| 541 | + |
476 | 542 | .indicator-label-wrap { |
477 | 543 | display: flex; |
478 | 544 | align-items: center; |
|
518 | 584 | color: #6b7280; |
519 | 585 | cursor: pointer; |
520 | 586 | flex-shrink: 0; |
521 | | - transition: transform 0.15s ease, color 0.15s ease; |
| 587 | + transition: transform 0.28s ease, color 0.15s ease, background 0.15s ease; |
522 | 588 | } |
523 | 589 |
|
524 | 590 | .indicator-collapse-btn:hover { |
525 | 591 | color: #2563eb; |
526 | 592 | background: rgba(37, 99, 235, 0.08); |
527 | 593 | } |
528 | 594 |
|
| 595 | +.indicator-collapse-btn:active { |
| 596 | + transform: scale(0.92); |
| 597 | +} |
| 598 | + |
529 | 599 | .indicator-collapse-btn.is-expanded { |
530 | 600 | transform: rotate(90deg); |
531 | 601 | } |
532 | 602 |
|
| 603 | +.indicator-collapse-btn.is-expanded:active { |
| 604 | + transform: rotate(90deg) scale(0.92); |
| 605 | +} |
| 606 | + |
533 | 607 | .indicator-label { |
534 | 608 | flex: 1; |
535 | 609 | min-width: 0; |
536 | 610 | color: #1f2937; |
537 | 611 | line-height: 1.3; |
538 | 612 | } |
539 | 613 |
|
| 614 | +.indicators-weighted-block { |
| 615 | + margin-bottom: 4px; |
| 616 | +} |
| 617 | + |
| 618 | +.indicators-section-head { |
| 619 | + display: flex; |
| 620 | + align-items: center; |
| 621 | + justify-content: space-between; |
| 622 | + gap: 8px; |
| 623 | + padding: 0 8px 6px; |
| 624 | +} |
| 625 | + |
| 626 | +.indicators-section-head .section-title { |
| 627 | + margin-bottom: 0; |
| 628 | +} |
| 629 | + |
540 | 630 | .indicator-actions { |
541 | 631 | display: flex; |
542 | 632 | align-items: center; |
543 | | - gap: 4px; |
544 | 633 | flex-shrink: 0; |
545 | 634 | } |
546 | 635 |
|
| 636 | +.indicator-actions-cols { |
| 637 | + display: grid; |
| 638 | + grid-template-columns: 34px 40px; |
| 639 | + gap: 10px; |
| 640 | + align-items: center; |
| 641 | + justify-items: center; |
| 642 | +} |
| 643 | + |
| 644 | +.indicator-actions-cols--titles { |
| 645 | + flex-shrink: 0; |
| 646 | +} |
| 647 | + |
| 648 | +.indicator-action-title { |
| 649 | + display: inline-flex; |
| 650 | + align-items: center; |
| 651 | + justify-content: center; |
| 652 | + width: 100%; |
| 653 | + font-size: var(--control-sidebar-font-micro); |
| 654 | + font-weight: 700; |
| 655 | + color: #9ca3af; |
| 656 | + text-transform: uppercase; |
| 657 | + letter-spacing: 0.03em; |
| 658 | + line-height: 1; |
| 659 | + white-space: nowrap; |
| 660 | + cursor: default; |
| 661 | +} |
| 662 | + |
| 663 | +#indicators-section.is-neighborhood-scale .indicator-action-title--view, |
| 664 | +#indicators-section.is-neighborhood-scale .indicator-show-btn { |
| 665 | + display: none; |
| 666 | +} |
| 667 | + |
| 668 | +#indicators-section.is-neighborhood-scale .indicator-actions-cols, |
| 669 | +#indicators-section.is-neighborhood-scale .indicator-actions-cols--titles { |
| 670 | + grid-template-columns: 40px; |
| 671 | +} |
| 672 | + |
| 673 | +.indicator-show-btn, |
| 674 | +.indicator-heat-btn { |
| 675 | + width: 100%; |
| 676 | + justify-content: center; |
| 677 | +} |
| 678 | + |
| 679 | +.indicator-btn--icon-only { |
| 680 | + padding: 4px 6px; |
| 681 | + gap: 0; |
| 682 | +} |
| 683 | + |
547 | 684 | .indicator-btn { |
548 | 685 | display: inline-flex; |
549 | 686 | align-items: center; |
|
556 | 693 | font-size: var(--control-sidebar-font-label); |
557 | 694 | font-weight: 600; |
558 | 695 | cursor: pointer; |
559 | | - transition: background 0.15s, border-color 0.15s, color 0.15s; |
| 696 | + transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.12s ease; |
560 | 697 | } |
561 | 698 |
|
562 | 699 | .indicator-btn:hover:not(:disabled) { |
563 | 700 | border-color: #93c5fd; |
564 | 701 | color: #2563eb; |
565 | 702 | } |
566 | 703 |
|
| 704 | +.indicator-btn:active:not(:disabled) { |
| 705 | + transform: scale(0.96); |
| 706 | +} |
| 707 | + |
567 | 708 | .indicator-btn.is-active { |
568 | 709 | border-color: #2563eb; |
569 | 710 | background: #eff6ff; |
|
883 | 1024 | -webkit-tap-highlight-color: transparent; |
884 | 1025 | } |
885 | 1026 | } |
| 1027 | + |
| 1028 | +@media (prefers-reduced-motion: reduce) { |
| 1029 | + .indicator-subs, |
| 1030 | + .indicator-subs-inner, |
| 1031 | + .indicator-collapse-btn, |
| 1032 | + .indicator-btn, |
| 1033 | + .indicator-row, |
| 1034 | + .mode-opt, |
| 1035 | + .mode-opt svg, |
| 1036 | + .radius-opt, |
| 1037 | + .segmented-options > label, |
| 1038 | + .filter-btn, |
| 1039 | + .metric-options.segmented-options, |
| 1040 | + .radius-toggle { |
| 1041 | + transition: none; |
| 1042 | + } |
| 1043 | +} |
0 commit comments