|
111 | 111 | z-index: 100; |
112 | 112 | } |
113 | 113 | .header-left { display: flex; align-items: center; gap: 0.75rem; } |
114 | | - .header-right { display: flex; align-items: center; gap: 0.5rem; } |
| 114 | + .header-right { |
| 115 | + display: flex; align-items: center; gap: 0.5rem; |
| 116 | + justify-content: flex-end; |
| 117 | + overflow-x: auto; overflow-y: hidden; |
| 118 | + scrollbar-width: none; /* Firefox */ |
| 119 | + -webkit-overflow-scrolling: touch; |
| 120 | + flex-shrink: 1; min-width: 0; |
| 121 | + } |
| 122 | + .header-right::-webkit-scrollbar { display: none; } |
| 123 | + .header-right .btn-icon, |
| 124 | + .header-right .control-btn { flex-shrink: 0; } |
115 | 125 | .logo { |
116 | 126 | font-family: var(--font-heading); |
117 | 127 | font-weight: 700; |
|
316 | 326 | box-shadow: 0 0 8px var(--color-glow-primary); |
317 | 327 | } |
318 | 328 | .custom-select-arrow { |
319 | | - font-size: 0.65rem; |
| 329 | + display: flex; align-items: center; |
| 330 | + font-size: 0.75rem; |
320 | 331 | color: var(--color-text-muted); |
321 | 332 | transition: transform 0.2s; |
322 | 333 | } |
|
587 | 598 | #app[data-screen="welcome"] #minimap-container { display: none; } |
588 | 599 | #app[data-screen="welcome"] .domain-selector .custom-select { display: none; } |
589 | 600 | #app[data-screen="welcome"] .control-btn:not([aria-label="Import saved progress"]) { display: none; } |
| 601 | + /* Welcome screen: upload (left) — share + info (right) */ |
| 602 | + #app[data-screen="welcome"] .header-right [aria-label="Import saved progress"] { |
| 603 | + order: -1; |
| 604 | + margin-right: auto; |
| 605 | + } |
590 | 606 |
|
591 | 607 | .sr-only { |
592 | 608 | position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; |
|
690 | 706 | #app[data-screen="map"] .logo { display: none; } |
691 | 707 | .logo span { display: none; } |
692 | 708 | .logo { font-size: 0.95rem; } |
693 | | - .header-left { gap: 0.3rem; flex: 1; min-width: 0; } |
694 | | - .header-right { gap: 0.25rem; flex-shrink: 0; } |
695 | | - /* Trophy and suggest buttons visible on mobile */ |
696 | | - .control-btn[aria-label="Reset all progress"] { display: none !important; } |
697 | | - .btn-icon { min-width: 34px; min-height: 34px; font-size: 0.85rem; } |
| 709 | + .header-left { gap: 0.3rem; flex: 0 0 auto; } |
| 710 | + .header-right { gap: 0.25rem; flex: 1; min-width: 0; } |
| 711 | + .btn-icon, .control-btn { min-width: 34px; min-height: 34px; font-size: 0.85rem; } |
698 | 712 | /* Make dropdown arrow easier to see on mobile */ |
699 | 713 | .custom-select-arrow { font-size: 0.9rem; } |
700 | 714 | /* Hide custom tooltips on touch devices */ |
|
707 | 721 | #quiz-panel { |
708 | 722 | position: absolute; |
709 | 723 | top: auto; bottom: 0; left: 0; right: 0; |
710 | | - width: 100% !important; height: 0; |
| 724 | + width: 100% !important; height: 48px; |
711 | 725 | padding: 0; |
| 726 | + padding-bottom: env(safe-area-inset-bottom, 0px); |
712 | 727 | transform: none; |
713 | 728 | border-radius: 16px 16px 0 0; |
714 | 729 | box-shadow: 0 -4px 20px rgba(0,0,0,0.3); |
|
717 | 732 | flex-shrink: 0; |
718 | 733 | display: flex; |
719 | 734 | flex-direction: column; |
| 735 | + background: var(--color-surface); |
720 | 736 | } |
| 737 | + #quiz-panel:not(.open) .quiz-content { display: none; } |
721 | 738 | #quiz-panel.open { |
722 | 739 | width: 100% !important; height: 55vh; |
723 | 740 | padding: 0.75rem 1rem; |
|
728 | 745 | overflow-y: auto; |
729 | 746 | -webkit-overflow-scrolling: touch; |
730 | 747 | min-height: 0; /* Allow flex child to shrink below content size */ |
731 | | - padding-bottom: 12px; |
| 748 | + padding-bottom: 60px; |
732 | 749 | } |
733 | 750 | /* Compact quiz text on mobile */ |
734 | 751 | #quiz-panel .quiz-question { font-size: 0.9rem; line-height: 1.35; } |
|
739 | 756 | display: flex; |
740 | 757 | align-items: center; |
741 | 758 | justify-content: center; |
742 | | - height: 32px; |
| 759 | + height: 48px; |
743 | 760 | cursor: pointer; |
744 | 761 | flex-shrink: 0; |
745 | 762 | touch-action: none; |
| 763 | + background: var(--color-surface-raised); |
| 764 | + border-bottom: 1px solid var(--color-border); |
746 | 765 | } |
747 | 766 | .drawer-pull-bar { |
748 | | - width: 40px; |
749 | | - height: 4px; |
750 | | - border-radius: 2px; |
751 | | - background: var(--color-text-muted); |
752 | | - opacity: 0.5; |
753 | | - } |
754 | | - |
755 | | - /* ── Collapsed drawer state ── */ |
756 | | - #quiz-panel.open.drawer-collapsed { |
757 | | - height: 32px !important; |
758 | | - padding: 0 !important; |
759 | | - overflow: hidden; |
760 | | - } |
761 | | - #quiz-panel.open.drawer-collapsed .quiz-content { |
762 | | - display: none; |
763 | | - } |
764 | | - /* Move toggle button down when drawer is collapsed */ |
765 | | - #quiz-panel.open.drawer-collapsed .quiz-toggle-btn { |
766 | | - bottom: 32px; |
| 767 | + width: 56px; |
| 768 | + height: 6px; |
| 769 | + border-radius: 3px; |
| 770 | + background: #999; |
767 | 771 | } |
768 | 772 |
|
769 | | - /* ── Quiz toggle: wide bottom pull tab ── */ |
770 | | - .quiz-toggle-btn { |
771 | | - top: auto; |
772 | | - bottom: 0; |
773 | | - right: 50%; |
774 | | - transform: translateX(50%); |
775 | | - width: 80px; |
776 | | - height: 32px; |
777 | | - border-radius: 12px 12px 0 0; |
778 | | - border: 1px solid var(--color-border); |
779 | | - border-bottom: none; |
780 | | - background: var(--color-primary); |
781 | | - color: #fff; |
782 | | - box-shadow: 0 -2px 12px rgba(0,0,0,0.25); |
783 | | - z-index: 22; |
784 | | - } |
785 | | - /* Arrow points UP when closed (pull up to open): chevron-left rotated 90° CW = ^ */ |
786 | | - .quiz-toggle-btn i { transform: rotate(90deg); } |
787 | | - /* Override JS icon swap: force chevron-right to also point up when closed */ |
788 | | - #quiz-panel:not(.open) .quiz-toggle-btn i.fa-chevron-right { transform: rotate(-90deg); } |
789 | | - /* Arrow points DOWN when open (pull down to close) */ |
790 | | - #quiz-panel.open .quiz-toggle-btn { bottom: 55vh; right: 50%; background: var(--color-surface); color: var(--color-text-muted); } |
791 | | - #quiz-panel.open .quiz-toggle-btn i.fa-chevron-right { transform: rotate(90deg); } |
792 | | - #quiz-panel.open .quiz-toggle-btn i.fa-chevron-left { transform: rotate(-90deg); } |
| 773 | + /* ── Quiz toggle: hidden on mobile (drawer pull replaces it) ── */ |
| 774 | + .quiz-toggle-btn { display: none !important; } |
793 | 775 |
|
794 | 776 | /* ── Video panel: bottom sheet on mobile (not hidden) ── */ |
795 | 777 | #video-panel { |
|
843 | 825 | touch-action: manipulation; |
844 | 826 | } |
845 | 827 | } |
| 828 | + |
| 829 | + /* ── Landscape phone: short viewport, wide screen ── */ |
| 830 | + @media (max-height: 500px) and (orientation: landscape) { |
| 831 | + :root { --header-height: 44px; } |
| 832 | + #minimap-container { |
| 833 | + width: 160px; height: 120px; |
| 834 | + bottom: 12px; left: 12px; |
| 835 | + z-index: 10; /* Above quiz/video panel toggles */ |
| 836 | + } |
| 837 | + /* Quiz panel: right-side drawer in landscape */ |
| 838 | + #quiz-panel.open { height: auto; max-height: 100%; } |
| 839 | + /* Video panel: left-side drawer in landscape */ |
| 840 | + #video-panel.open { height: auto; max-height: 100%; } |
| 841 | + } |
846 | 842 | </style> |
847 | 843 | </head> |
848 | 844 | <body> |
|
0 commit comments