@@ -721,6 +721,8 @@ canvas {
721721
722722.collapse-arrow {
723723 display : inline;
724+ opacity : 1 ;
725+ transition : opacity 0.25s ease;
724726}
725727
726728.datetime-field {
@@ -1005,17 +1007,222 @@ canvas {
10051007.flight-input .collapsed .panel-header {
10061008 background : transparent;
10071009 margin : -6px -24px ;
1008- padding : 12px 24 px 16px ;
1010+ padding : 12px 16 px 16px ;
10091011 height : auto;
1012+ justify-content : center;
1013+ align-items : center;
1014+ gap : 32px ;
1015+ position : static;
10101016 transition : margin-bottom 0.25s ease-in;
10111017}
10121018
10131019.flight-input .collapsed .panel-header h3 {
10141020 margin : 0 ;
10151021 line-height : 1 ;
1016- transition : margin-bottom 0.25s ease-in;
1022+ flex-grow : 0 ;
1023+ flex-shrink : 0 ;
1024+ opacity : 0.7 ;
1025+ transition : margin-bottom 0.25s ease-in, opacity 0.2s ease;
1026+ }
1027+
1028+ .flight-input .collapsed : hover .panel-header h3 {
1029+ opacity : 1 ;
1030+ }
1031+
1032+ .flight-input .collapsed .collapse-button {
1033+ width : auto !important ;
1034+ height : auto !important ;
1035+ padding : 0 !important ;
1036+ margin : 0 !important ;
1037+ }
1038+
1039+ .flight-input .collapsed .collapse-lens {
1040+ opacity : 0.7 ;
1041+ transition : opacity 0.2s ease;
1042+ }
1043+
1044+ .flight-input .collapsed : hover .collapse-lens {
1045+ opacity : 1 ;
10171046}
10181047
1048+ /* ========================================
1049+ 9B. SHARE BUTTON
1050+ ======================================== */
1051+
1052+ .share-actions {
1053+ position : absolute;
1054+ top : 28px ;
1055+ left : calc (50% + 120px );
1056+ z-index : 10 ;
1057+ display : flex;
1058+ flex-direction : row;
1059+ align-items : center;
1060+ gap : 0px ;
1061+ }
1062+
1063+ .share-button {
1064+ display : none;
1065+ align-items : center;
1066+ justify-content : center;
1067+ width : 36px ;
1068+ height : 36px ;
1069+ padding : 0 ;
1070+ border : none;
1071+ border-radius : 50% ;
1072+ background : none;
1073+ cursor : pointer;
1074+ transition : opacity 0.2s ease;
1075+ }
1076+
1077+ .share-button .share-icon {
1078+ opacity : 0.5 ;
1079+ transition : opacity 0.2s ease;
1080+ }
1081+
1082+ @media (hover : hover) {
1083+ .share-button : hover .share-icon {
1084+ opacity : 0.9 ;
1085+ }
1086+ }
1087+
1088+ .share-button : disabled {
1089+ pointer-events : none;
1090+ }
1091+
1092+ .share-button .capturing {
1093+ animation : capture-pulse 300ms ease;
1094+ }
1095+
1096+ @keyframes capture-pulse {
1097+ 0% { opacity : 1 ; }
1098+ 50% { opacity : 0.5 ; }
1099+ 100% { opacity : 1 ; }
1100+ }
1101+
1102+
1103+ .share-icon {
1104+ width : 18px ;
1105+ height : 18px ;
1106+ }
1107+
1108+ /* BW mode */
1109+ .bw-mode .share-button {
1110+ background : none;
1111+ }
1112+
1113+ .bw-mode .share-button .share-icon {
1114+ opacity : 0.6 ;
1115+ }
1116+
1117+ @media (hover : hover) {
1118+ .bw-mode .share-button : hover .share-icon {
1119+ opacity : 1 ;
1120+ }
1121+ }
1122+
1123+ .copy-url-button {
1124+ display : flex;
1125+ align-items : center;
1126+ justify-content : center;
1127+ border : none;
1128+ padding : 8px ;
1129+ background : none;
1130+ cursor : pointer;
1131+ transition : opacity 0.2s ease;
1132+ }
1133+
1134+ .copy-url-icon-wrapper {
1135+ position : relative;
1136+ width : 20px ;
1137+ height : 20px ;
1138+ }
1139+
1140+ .copy-url-button .copy-url-icon {
1141+ position : absolute;
1142+ top : 0 ;
1143+ left : 0 ;
1144+ width : 20px ;
1145+ height : 20px ;
1146+ }
1147+
1148+ /* Copy icon: default state */
1149+ .copy-url-button .copy-url-icon--copy {
1150+ opacity : 0.5 ;
1151+ transition : opacity 0.15s ease;
1152+ }
1153+
1154+ @media (hover : hover) {
1155+ .copy-url-button : hover .copy-url-icon--copy {
1156+ opacity : 0.9 ;
1157+ }
1158+ }
1159+
1160+ /* Tick icon: hidden by default, stroke-dash for draw effect */
1161+ .copy-url-button .copy-url-icon--tick {
1162+ opacity : 0 ;
1163+ }
1164+
1165+ .copy-url-button .copy-url-icon--tick path {
1166+ stroke-dasharray : 28 ;
1167+ stroke-dashoffset : 28 ;
1168+ }
1169+
1170+ /* Phase 1: fade out copy icon */
1171+ .copy-url-button .phase-1 .copy-url-icon--copy {
1172+ opacity : 0 ;
1173+ transition : opacity 0.15s ease;
1174+ }
1175+
1176+ /* Phase 2: draw tick stroke left-to-right */
1177+ .copy-url-button .phase-2 .copy-url-icon--copy {
1178+ opacity : 0 ;
1179+ }
1180+
1181+ .copy-url-button .phase-2 .copy-url-icon--tick {
1182+ opacity : 1 ;
1183+ }
1184+
1185+ .copy-url-button .phase-2 .copy-url-icon--tick path {
1186+ stroke-dashoffset : 0 ;
1187+ transition : stroke-dashoffset 0.35s ease-out;
1188+ }
1189+
1190+ /* Phase 3: fade out tick */
1191+ .copy-url-button .phase-3 .copy-url-icon--copy {
1192+ opacity : 0 ;
1193+ }
1194+
1195+ .copy-url-button .phase-3 .copy-url-icon--tick {
1196+ opacity : 0 ;
1197+ transition : opacity 0.2s ease;
1198+ }
1199+
1200+ .copy-url-button .phase-3 .copy-url-icon--tick path {
1201+ stroke-dashoffset : 0 ;
1202+ }
1203+
1204+ /* Phase 4: fade copy icon back in */
1205+ .copy-url-button .phase-4 .copy-url-icon--copy {
1206+ opacity : 0.5 ;
1207+ transition : opacity 0.2s ease;
1208+ }
1209+
1210+ /* BW mode */
1211+ .bw-mode .copy-url-button .copy-url-icon--copy {
1212+ opacity : 0.6 ;
1213+ }
1214+
1215+ @media (hover : hover) {
1216+ .bw-mode .copy-url-button : hover .copy-url-icon--copy {
1217+ opacity : 1 ;
1218+ }
1219+ }
1220+
1221+ .bw-mode .copy-url-button .phase-1 .copy-url-icon--copy { opacity : 0 ; }
1222+ .bw-mode .copy-url-button .phase-2 .copy-url-icon--copy { opacity : 0 ; }
1223+ .bw-mode .copy-url-button .phase-3 .copy-url-icon--copy { opacity : 0 ; }
1224+ .bw-mode .copy-url-button .phase-4 .copy-url-icon--copy { opacity : 0.6 ; }
1225+
10191226/* ========================================
10201227 10. FLIGHT INPUT PANEL — PANEL HEADER
10211228 ======================================== */
@@ -1032,9 +1239,13 @@ canvas {
10321239 transition : margin-bottom 0.35s ease-out;
10331240}
10341241
1035- /* Collapsed: show lens, hide arrow */
1242+ /* Collapsed: show lens, fade out arrow */
10361243.flight-input .collapsed .collapse-arrow {
1037- display : none;
1244+ opacity : 0 ;
1245+ width : 0 ;
1246+ height : 0 ;
1247+ overflow : hidden;
1248+ pointer-events : none;
10381249}
10391250
10401251.flight-input .collapsed .collapse-lens {
@@ -1044,6 +1255,7 @@ canvas {
10441255/* Expanded: show arrow, hide lens */
10451256.flight-input .collapse-arrow {
10461257 display : block;
1258+ opacity : 1 ;
10471259}
10481260
10491261.flight-input .collapse-lens {
@@ -2584,6 +2796,48 @@ canvas {
25842796 max-width : none;
25852797 }
25862798
2799+ .share-actions {
2800+ top : 72px ;
2801+ left : auto;
2802+ right : 16px ;
2803+ flex-direction : column;
2804+ gap : 2px ;
2805+ }
2806+
2807+ .share-actions .share-button {
2808+ width : 44px ;
2809+ height : 44px ;
2810+ background : none;
2811+ backdrop-filter : none;
2812+ -webkit-backdrop-filter : none;
2813+ }
2814+
2815+ .share-actions .copy-url-button {
2816+ width : 44px ;
2817+ height : 44px ;
2818+ }
2819+
2820+ .share-actions .share-button .share-icon {
2821+ width : 20px ;
2822+ height : 20px ;
2823+ }
2824+
2825+ .share-actions .copy-url-icon-wrapper {
2826+ width : 20px ;
2827+ height : 20px ;
2828+ }
2829+
2830+ .share-actions .copy-url-button .copy-url-icon {
2831+ width : 20px ;
2832+ height : 20px ;
2833+ }
2834+
2835+ .bw-mode .share-button {
2836+ background : none;
2837+ backdrop-filter : none;
2838+ -webkit-backdrop-filter : none;
2839+ }
2840+
25872841 .flight-input {
25882842 width : calc (100vw - 36px );
25892843 max-width : 356px ;
0 commit comments