526526/* Step list */
527527.eto-panel-steps { flex : 1 ; overflow-y : auto; padding : 2px 0 ; }
528528
529+ /* Trigger button config section */
530+ .eto-panel-trigger-section {
531+ padding : 4px 8px 6px ;
532+ border-bottom : 1px solid var (--eto-border-soft );
533+ flex-shrink : 0 ;
534+ }
535+
529536.eto-panel-step { border-bottom : 1px solid var (--eto-border-soft ); }
530537.eto-panel-step--active { background : color-mix (in srgb, var (--eto-accent ) 5% , transparent); }
531538
10531060 align-items : center;
10541061 justify-content : center;
10551062 pointer-events : none;
1063+ }
1064+
1065+ /* ── TriggerButton (alpha.20) ────────────────────────────────────────
1066+ Tutorial start button with three visual modes. */
1067+
1068+ .eto-trigger {
1069+ all : unset;
1070+ box-sizing : border-box;
1071+ cursor : pointer;
1072+ display : inline-flex;
1073+ align-items : center;
1074+ gap : 6px ;
1075+ font-family : -apple-system, BlinkMacSystemFont, "Segoe UI" , Roboto, sans-serif;
1076+ user-select : none;
1077+ -webkit-tap-highlight-color : transparent;
1078+ }
1079+
1080+ /* ── Subtle mode (default) ── */
1081+
1082+ .eto-trigger--subtle {
1083+ padding : 5px 14px ;
1084+ border-radius : 9999px ;
1085+ font-size : 11px ;
1086+ font-weight : 600 ;
1087+ color : var (--eto-accent );
1088+ border : 1px solid color-mix (in srgb, var (--eto-accent ) 30% , transparent);
1089+ background : color-mix (in srgb, var (--eto-accent ) 6% , transparent);
1090+ box-shadow : 0 0 16px -4px color-mix (in srgb, var (--eto-accent ) 20% , transparent);
1091+ transition : background 150ms , border-color 150ms , box-shadow 150ms ;
1092+ animation : eto-trigger-enter 250ms ease-out;
1093+ }
1094+ .eto-trigger--subtle : hover {
1095+ background : color-mix (in srgb, var (--eto-accent ) 12% , transparent);
1096+ border-color : color-mix (in srgb, var (--eto-accent ) 50% , transparent);
1097+ box-shadow : 0 0 20px -2px color-mix (in srgb, var (--eto-accent ) 30% , transparent);
1098+ }
1099+ .eto-trigger--subtle svg {
1100+ color : var (--eto-accent );
1101+ }
1102+
1103+ /* ── Attention mode (flashy) ── */
1104+
1105+ .eto-trigger--attention {
1106+ padding : 6px 16px ;
1107+ border-radius : 9999px ;
1108+ font-size : 12px ;
1109+ font-weight : 700 ;
1110+ color : # fff ;
1111+ border : 1px solid rgba (255 , 100 , 100 , 0.5 );
1112+ background :
1113+ linear-gradient (90deg ,
1114+ rgba (220 , 38 , 38 , 0.6 ) 0% ,
1115+ rgba (255 , 100 , 100 , 0.85 ) 25% ,
1116+ rgba (220 , 38 , 38 , 0.6 ) 50% ,
1117+ rgba (180 , 20 , 20 , 0.7 ) 100% );
1118+ background-size : 200% 100% ;
1119+ animation :
1120+ eto-trigger-sweep 1.2s linear infinite,
1121+ eto-trigger-glow 1.5s ease-in-out infinite,
1122+ eto-trigger-enter 250ms ease-out;
1123+ }
1124+ .eto-trigger--attention : hover {
1125+ filter : brightness (1.1 );
1126+ }
1127+ .eto-trigger--attention svg {
1128+ color : rgba (255 , 255 , 255 , 0.9 );
1129+ }
1130+
1131+ /* ── Minimal mode (icon-only circle) ── */
1132+
1133+ .eto-trigger--minimal {
1134+ padding : 6px ;
1135+ border-radius : 9999px ;
1136+ color : var (--eto-accent );
1137+ border : 1px solid color-mix (in srgb, var (--eto-accent ) 25% , transparent);
1138+ background : color-mix (in srgb, var (--eto-accent ) 5% , transparent);
1139+ transition : background 150ms , border-color 150ms ;
1140+ animation : eto-trigger-enter 250ms ease-out;
1141+ }
1142+ .eto-trigger--minimal : hover {
1143+ background : color-mix (in srgb, var (--eto-accent ) 12% , transparent);
1144+ border-color : color-mix (in srgb, var (--eto-accent ) 40% , transparent);
1145+ }
1146+
1147+ .eto-trigger-text {
1148+ white-space : nowrap;
1149+ }
1150+
1151+ /* ── Trigger keyframes ── */
1152+
1153+ @keyframes eto-trigger-enter {
1154+ from { opacity : 0 ; transform : scale (0.9 ); }
1155+ to { opacity : 1 ; transform : scale (1 ); }
1156+ }
1157+ @keyframes eto-trigger-sweep {
1158+ from { background-position : 200% 0 ; }
1159+ to { background-position : 0% 0 ; }
1160+ }
1161+ @keyframes eto-trigger-glow {
1162+ 0% , 100% { box-shadow : 0 0 8px rgba (220 , 38 , 38 , 0.3 ); }
1163+ 50% { box-shadow : 0 0 20px rgba (255 , 100 , 100 , 0.6 ), 0 0 40px rgba (220 , 38 , 38 , 0.2 ); }
10561164}
0 commit comments