2026-10-22 16:49:25 +08:00
: root { --ink : #263448 ; --muted : #8a99ae ; --blue : #406dce ; --line : #e8edf3 ; --panel : #fff ; --bg : #f2f5f9 ; font-family : Inter , "Segoe UI" , "Microsoft YaHei" , Arial , sans-serif } * { box-sizing : border-box } body { margin : 0 ; color : var ( -- ink ); background : var ( -- bg )} button , input , select , textarea { font : inherit } button { cursor : pointer }. studio { height : 100 vh ; display : flex ; flex-direction : column ; min-height : 650 px }. studio-top { height : 72 px ; min-height : 72 px ; background : #fff ; border-bottom : 1 px solid var ( -- line ); display : flex ; align-items : center ; padding : 0 24 px ; gap : 16 px ; z-index : 2 }. brand { display : flex ; align-items : center ; gap : 9 px }. brand > a { font-size : 29 px ; line-height : 1 ; background : #1e314e ; color : white ; text-decoration : none ; width : 40 px ; height : 40 px ; border-radius : 12 px ; display : grid ; place-items : center }. brand b { display : block ; font-size : 16 px ; letter-spacing : -.45 px }. brand small { font-size : 8 px ; font-weight : 750 ; color : var ( -- muted ); letter-spacing : 1.6 px }. divide { height : 26 px ; border-left : 1 px solid #d9e0ea }. file-name { font-size : 13 px ; white-space : nowrap ; max-width : 280 px ; overflow : hidden ; text-overflow : ellipsis }. file-name small { color : #c0c9d3 }. file-name strong { font-weight : 700 }. top-center { display : flex ; gap : 3 px ; background : #f2f5f9 ; padding : 4 px ; border-radius : 9 px ; margin : auto }. icon-btn { border : 0 ; border-radius : 6 px ; background : transparent ; padding : 6 px 11 px ; font-size : 20 px ; color : #718299 }. icon-btn . on { background : #fff ; color : #355dbb ; box-shadow : 0 2 px 8 px #284667 16 }. save-status { color : #91a0ae ; font-size : 11 px ; white-space : nowrap }. save-status . dirty { color : #be8530 }. ui-btn { border-radius : 8 px ; padding : 11 px 15 px ; font-weight : 650 ; font-size : 12 px ; border : 1 px solid #e5eaf0 ; white-space : nowrap }. ui-btn . ghost { background : #fff ; color : #344764 }. ui-btn . primary { background : #315bba ; color : #fff ; border-color : #315bba }. ui-btn : hover , . small-btn : hover { filter : brightness ( .96 )}. studio-body { display : grid ; grid-template-columns : 278 px minmax ( 0 , 1 fr ) 324 px ; min-height : 0 ; flex : 1 }. left-pane , . right-pane { background : #fff ; overflow-y : auto ; display : flex ; flex-direction : column }. left-pane { border-right : 1 px solid var ( -- line )}. right-pane { border-left : 1 px solid var ( -- line )}. pane-heading { padding : 27 px 24 px 17 px ; display : flex ; justify-content : space-between ; align-items : center }. overline { font-size : 9 px ; font-weight : 800 ; color : #7894c4 ; letter-spacing : 1.4 px }. pane-heading h3 { margin : 4 px 0 0 ; font-size : 19 px ; letter-spacing : -.4 px }. chip { font-size : 10 px ; background : #eff4fb ; color : #6d87ad ; padding : 4 px 8 px ; border-radius : 5 px ; white-space : nowrap }. left-pane . field { margin : 0 19 px 14 px }. field label , . prop label { display : block ; font-size : 11 px ; font-weight : 750 ; color : #758499 ; margin-bottom : 7 px }. field select , . prop input , . prop textarea , . prop select { width : 100 % ; border : 1 px solid #dce5ed ; border-radius : 8 px ; padding : 10 px 12 px ; background : white ; color : #2b3c53 ; outline : 0 ; font-size : 12 px }. field select : focus , . prop input : focus , . prop textarea : focus , . prop select : focus { border-color : #5589d9 ; box-shadow : 0 0 0 3 px #5f90de 12 }. section-label { font-size : 10 px ; font-weight : 800 ; color : #9da9b8 ; letter-spacing : .7 px ; padding : 17 px 22 px 11 px }. block-list { padding : 0 13 px }. block-row { display : flex ; align-items : center ; gap : 9 px ; padding : 11 px 10 px ; margin-bottom : 7 px ; background : #f8fafc ; border : 1 px solid #e6ecf3 ; border-radius : 10 px ; cursor : pointer }. block-row . selected { border-color : #729cf0 ; background : #eff5ff ; box-shadow : 0 0 0 1 px #e9f0ff }. block-row . dragging { opacity : .35 }. drag-handle { font-size : 17 px ; color : #aab9cc ; cursor : grab }. block-icon { display : grid ; place-items : center ; background : white ; width : 30 px ; height : 30 px ; border-radius : 7 px ; color : #5b76b2 ; font-size : 17 px ; border : 1 px solid #e8edf4 }. block-copy { flex : 1 ; min-width : 0 }. block-copy strong { display : block ; font-size : 12 px }. block-copy small { display : block ; font-size : 10 px ; color : #9aa7b8 ; white-space : nowrap ; overflow : hidden ; text-overflow : ellipsis }. row-actions { display : flex ; gap : 2 px }. row-actions button { border : 0 ; background : transparent ; font-size : 12 px ; color : #9aa5b4 ; padding : 4 px }. palette { padding : 0 19 px 20 px ; display : grid ; grid-template-columns : 1 fr 1 fr ; gap : 9 px }. palette button { display : flex ; gap : 7 px ; align-items : center ; border : 1 px dashed #cdd9e6 ; background : #fcfdff ; color : #566b83 ; border-radius : 9 px ; padding : 11 px 9 px ; text-align : left ; font-size : 11 px ; font-weight : 700 }. palette button span { color : #416fcd ; font-siz
@media(max-width:1200px){.studio-body{grid-template-columns:240px minmax(0,1fr) 290px}.preview-note{display:none}.studio-top{gap:8px}.file-name{max-width:180px}}@media(max-width:950px){.studio-body{grid-template-columns:210px minmax(0,1fr)}.right-pane{position:fixed;right:0;top:72px;bottom:0;width:310px;z-index:3;box-shadow:-8px 0 22px #0001}.studio-top .ui-btn.ghost{display:none}}@media(max-width:650px){.studio-body{grid-template-columns:1fr}.left-pane{display:none}.right-pane{display:none}.studio-top{padding:0 12px}.file-name{display:none}.save-status{display:none}}
.layout-editor-col{ border : 1 px solid #dfe5ed ; border-radius : 12 px ; padding : 10 px ; margin : 12 px 0 ; background : #f8fafc }. layout-editor-title { display : flex ; align-items : center ; gap : 7 px ; flex-wrap : wrap ; justify-content : space-between }. layout-editor-title input { width : 56 px }. layout-editor-title button , . layout-child button { border : 0 ; background : none ; color : #54647a ; cursor : pointer }. layout-child { background : white ; border : 1 px solid #e5eaf3 ; border-radius : 9 px ; margin : 8 px 0 ; padding : 9 px }. layout-child label { display : block ; font-size : 11 px ; color : #475569 ; margin : 7 px 0 }. layout-child input , . layout-child select { display : block ; width : 100 % ; margin-top : 3 px ; padding : 7 px ; border : 1 px solid #e1e6ee ; border-radius : 6 px }. layout-child-toolbar { display : flex ; flex-wrap : wrap ; gap : 4 px }. layout-child-toolbar button { background : #e8effa ; border : 0 ; padding : 5 px 7 px ; border-radius : 6 px ; cursor : pointer ; font-size : 11 px }
2026-10-23 12:31:03 +08:00
/* V8.21.1 visual studio usability refresh — no saved blueprint schema changes. */
: root { --studio-accent : #ed742d ; --studio-focus : #e48b42 ; --studio-border : #e6eaf0 ; --studio-shadow : 0 20 px 54 px rgba ( 31 , 48 , 69 , .08 )}
. studio-top { box-shadow : 0 1 px 9 px rgba ( 29 , 47 , 75 , .035 ); padding-inline : 18 px ; gap : 9 px }
. brand > a { background : #252e3c ; border-radius : 10 px ; color : #ff9959 }
. top-center { margin : auto ; background : #edf1f6 }
. icon-btn . on { color : #b95722 }
. ui-btn . primary { background : #dc6b2b ; border-color : #dc6b2b }
. ui-btn : focus-visible , . icon-btn : focus-visible , . block-row : focus-visible , . palette button : focus-visible , . row-actions button : focus-visible , . inspector-nav button : focus-visible { outline : 2 px solid var ( -- studio - focus ); outline-offset : 2 px }
. ui-btn : disabled , . row-actions button : disabled { opacity : .3 ; cursor : not-allowed }
. pane-switcher { display : flex ; gap : 3 px }
. pane-switcher . ui-btn { padding : 8 px 10 px }
. studio-body { grid-template-columns : minmax ( 270 px , 290 px ) minmax ( 0 , 1 fr ) minmax ( 320 px , 350 px )}
. left-pane , . right-pane { background : #fff }
. pane-heading { padding : 22 px 18 px 14 px }
. pane-heading h3 { font-size : 16 px ; letter-spacing : 0 }
. section-label { display : flex ; justify-content : space-between ; align-items : center ; padding : 14 px 19 px 9 px ; color : #56677b ; font-size : 11 px ; letter-spacing : 0 }
. section-caption { font-size : 10 px ; color : #a0abbb ; font-weight : 500 }
. structure-filter { margin : 4 px 13 px 10 px ; display : flex ; align-items : center ; border : 1 px solid #dfe6ee ; background : #f7f9fc ; border-radius : 9 px ; overflow : hidden ; min-height : 38 px }
. structure-filter : focus-within { border-color : var ( -- studio - focus ); box-shadow : 0 0 0 3 px #f39a49 23 }
. structure-filter input { background : transparent ; border : 0 ; outline : 0 ; min-width : 0 ; flex : 1 ; padding : 9 px 12 px ; font-size : 12 px ; color : #25364e }
. structure-filter button { border : 0 ; background : transparent ; font-size : 19 px ; color : #8796a7 ; width : 34 px }
. structure-hint { color : #8190a3 ; font-size : 10 px ; padding : 8 px 19 px 17 px ; line-height : 1.7 }
. block-list { padding : 0 11 px ; min-height : 60 px }
. block-row { background : #fff ; box-shadow : 0 2 px 10 px #334b62 07 ; padding : 9 px 8 px ; margin-bottom : 6 px ; gap : 7 px ; border-color : #e9edf2 ; transition : border-color .15 s , background .15 s }
. block-row : hover { border-color : #c4cedc ; background : #fafbfd }
. block-row . selected { background : #fff7f1 ; border-color : #f19b59 ; box-shadow : 0 0 0 1 px #f8e3d5 }
. block-row . is-hidden { opacity : .55 }
. block-icon { width : 29 px ; height : 29 px ; color : #d67b35 ; background : #fff8f2 ; flex-shrink : 0 }
. block-copy strong { font-size : 12 px ; color : #303e51 }
. block-copy small { font-size : 10 px ; color : #7e90a5 }
. drag-handle { font-size : 14 px }
. row-actions { display : flex ; gap : 0 ; flex-shrink : 0 }
. row-actions button { font-size : 12 px ; min-width : 18 px ; padding : 4 px 2 px ; border-radius : 5 px }
. row-actions button : hover : not ( : disabled ) { background : #fff0e4 ; color : #c96728 }
. block-list . no-selection { padding : 15 px ; margin : 0 2 px 10 px }
. palette { grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr )); padding-inline : 13 px }
. palette button { padding : 10 px 9 px ; border-style : solid }
. palette button : hover { border-color : #e8aa76 ; background : #fff8f3 }
. palette button span { color : #d77936 }
. preview-workspace { background : #eff2f6 }
. preview-head { padding : 0 16 px ; gap : 9 px }
. preview-note { max-width : 260 px ; line-height : 1.3 ; text-align : right }
. live-dot { background : #3aa688 }
. live-dot . loading { background : #db983a ; animation : studio-pulse 1.25 s infinite }
. live-dot . error { background : #cb4e4e }
@ keyframes studio-pulse { 50 % { opacity : .3 ; box-shadow : 0 0 0 7 px #efab46 26 }}
. stage { padding : 22 px 15 px }
. device-frame { border-radius : 8 px ; box-shadow : var ( -- studio - shadow ); overflow : hidden ; min-height : 300 px }
. device-frame . tablet , . device-frame . phone { max-width : calc ( 100 % - 4 px )}
iframe { min-height : 590 px ; height : calc ( 100 vh - 224 px )}
. stage-footer { min-height : 35 px ; display : flex ; align-items : center ; justify-content : space-between ; gap : 8 px ; padding : 6 px 19 px ; font-size : 10 px ; color : #8b9bad ; border-top : 1 px solid #e1e7ee }
. inspector-nav { display : grid ; grid-template-columns : repeat ( 3 , 1 fr ); gap : 5 px ; padding : 4 px ; margin : 0 16 px 17 px ; border-radius : 9 px ; background : #f1f4f8 }
. inspector-nav button { background : none ; border : 0 ; border-radius : 6 px ; padding : 10 px 5 px ; font-size : 12 px ; color : #78869a ; font-weight : 650 }
. inspector-nav button [ aria-selected = true ] { background : white ; box-shadow : 0 1 px 5 px #233d5f 12 ; color : #b95c2b }
. inspector { padding : 0 19 px }
. inspector [ data-inspector-section ][ hidden ] { display : none !important }
. inspector-title { margin : 0 0 16 px }
. inspector-title h3 { font-size : 14 px }
. right-foot { background : #faf8f5 ; border-color : #f0e6d7 ; margin-top : auto }
. studio . section-label , . studio . pane-heading h3 { user-select : none }
. sr-only { position : absolute !important ; width : 1 px !important ; height : 1 px !important ; overflow : hidden !important ; clip : rect ( 0 , 0 , 0 , 0 ) !important ; white-space : nowrap !important }
@ media ( max-width : 1400px ) {. studio-body { grid-template-columns : 255 px minmax ( 0 , 1 fr ) 310 px }. studio-top { gap : 6 px }. studio-top > . ui-btn { padding : 9 px 10 px }}
@ media ( max-width : 1130px ) {. studio-top > . ui-btn . ghost : not ( # studioUndo ) : not ( # studioRedo ) { display : none }. studio-body { grid-template-columns : 245 px minmax ( 0 , 1 fr ) 295 px }. file-name { max-width : 150 px }. pane-switcher { display : flex }}
@ media ( max-width : 950px ) {. studio-body { grid-template-columns : 230 px minmax ( 0 , 1 fr )}. right-pane { transform : translateX ( 105 % ); transition : transform .2 s ; display : flex !important ; z-index : 7 ; top : 72 px ; width : min ( 340 px , 92 vw )} body . show-inspector . right-pane { transform : translateX ( 0 )}. preview-note { display : none }. studio-top > . ui-btn . ghost { display : none }}
@ media ( max-width : 650px ) {. studio { min-height : 480 px }. studio-body { grid-template-columns : minmax ( 0 , 1 fr )}. left-pane { display : flex !important ; position : fixed ; z-index : 7 ; top : 72 px ; bottom : 0 ; left : 0 ; width : min ( 315 px , 88 vw ); transform : translateX ( -106 % ); transition : transform .2 s ; box-shadow : 6 px 0 20 px #17283f 12 } body . show-structure . left-pane { transform : translateX ( 0 )}. right-pane { display : flex !important }. studio-top { padding-inline : 8 px }. pane-switcher . ui-btn { padding : 8 px }. studio-top . brand { display : none }. top-center { margin-inline : auto }. studio-top . ui-btn . primary { padding : 9 px 10 px }. preview-head { height : 42 px ; min-height : 42 px ; padding : 0 9 px }. stage { padding : 10 px 6 px }. device-frame . phone , . device-frame . tablet { max-width : 100 % }. stage-footer { padding : 8 px 10 px }. studio-top . save-status { display : none }}
@ media ( max-width : 950px ) {. studio-top > # saveDraftButton . ui-btn . ghost { display : inline-flex !important ; align-items : center ; padding : 9 px 10 px ; color : #c5652d ; background : #fff6ed ; border-color : #eec49e }}
@ media ( max-width : 430px ) {. studio-top # saveDraftButton { font-size : 11 px }. studio-top . ui-btn . primary { font-size : 11 px }. icon-btn { padding : 6 px 7 px }}
. studio-actions { position : relative ; flex-shrink : 0 }. studio-actions summary { display : flex ; gap : 6 px ; align-items : center ; list-style : none ; border : 1 px solid #e5eaf0 ; border-radius : 8 px ; background : #fff ; color : #394a60 ; padding : 10 px 13 px ; font-weight : 650 ; font-size : 12 px ; cursor : pointer ; user-select : none }. studio-actions summary :: -webkit-details-marker { display : none }. studio-actions [ open ] summary { border-color : #dbaa89 ; background : #fff8f1 }. studio-actions-menu { position : absolute ; right : 0 ; top : calc ( 100 % + 8 px ); display : grid ; gap : 5 px ; min-width : 205 px ; z-index : 12 ; padding : 9 px ; border : 1 px solid #e2e7ed ; border-radius : 12 px ; background : #fff ; box-shadow : 0 15 px 42 px #283b53 28 }. studio-actions-menu . ui-btn { width : 100 % ; text-align : left ; border : 0 ; padding : 11 px 12 px ; background : transparent }. studio-actions-menu . ui-btn : hover { background : #f5f7fa }. studio-actions-menu . ui-btn . ghost { display : block !important }@ media ( max-width : 650px ) {. studio-actions summary { font-size : 11 px ; padding : 9 px 7 px }. studio-actions-menu { right : -15 px ; min-width : 185 px }}
/* V8.21.2 Easy Studio — task-first UX; no schema or API changes */
. sf-easy-top { height : 70 px ; min-height : 70 px ; padding : 0 20 px ; gap : 12 px ; z-index : 15 }
. sf-easy-top . brand { min-width : 138 px }. sf-easy-top . brand small { font-size : 10 px ; color : #a1aab7 }. sf-easy-file { display : flex ; flex-direction : column ; gap : 3 px ; min-width : 130 px ; max-width : 210 px }. sf-easy-file small { color : #8b98a9 ; font-size : 10 px ; overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap }. sf-easy-file strong { font-size : 14 px ; overflow : hidden ; text-overflow : ellipsis ; white-space : nowrap }. sf-easy-device { margin-left : auto ; margin-right : auto ; flex : 0 0 auto ; display : flex }. sf-easy-device . icon-btn { font-size : 12 px ; padding : 8 px 12 px ; font-weight : 700 }. sf-easy-save-status { padding : 7 px 10 px ; max-width : 120 px ; overflow : hidden ; text-overflow : ellipsis ; background : #f3f6f9 ; border-radius : 7 px }. sf-easy-save-status . dirty { color : #b96d21 ; background : #fff5e8 }. sf-save-btn { border-color : #e7a36d !important ; color : #b65d23 !important ; background : #fffaf5 !important ; padding-inline : 15 px }. sf-publish-btn { padding-inline : 19 px ; background : #df752f !important }. sf-easy-top . studio-actions { margin : 0 }. sf-easy-top . studio-actions summary { padding : 10 px 11 px }. sf-easy-top . studio-actions-menu { min-width : 195 px ; max-height : 80 vh ; overflow-y : auto }. sf-easy-top . studio-actions-menu . ui-btn { font-size : 12 px }
. sf-steps { display : flex ; align-items : center ; gap : 13 px ; padding : 10 px 22 px ; background : #fffaf6 ; border-bottom : 1 px solid #f2e3d7 ; color : #7d8290 ; min-height : 45 px ; font-size : 12 px }. sf-steps-label { color : #b2683a ; font-weight : 800 ; flex-shrink : 0 }. sf-step { white-space : nowrap ; font-weight : 640 ; border-radius : 8 px ; padding : 5 px 8 px }. sf-step . active { background : #fce7d7 ; color : #b85b23 }. sf-step-separator { color : #d6ad90 }. sf-guide-link { margin-left : auto ; border : 0 ; background : none ; color : #bc6529 ; font-weight : 750 ; font-size : 12 px ; white-space : nowrap ; padding : 5 px 8 px ; text-decoration : underline ; text-underline-offset : 3 px }
. studio-body { min-height : 0 ; grid-template-columns : 270 px minmax ( 0 , 1 fr ) 320 px }. left-pane , . right-pane { min-height : 0 }. left-pane . pane-heading { padding-bottom : 10 px }. left-pane . pane-heading h3 , . right-pane . pane-heading h3 { font-size : 17 px }. sf-page-picker { margin-bottom : 10 px !important }. sf-page-picker label { color : #5f7184 ; font-size : 11 px }. sf-page-picker select { font-size : 12 px }. sf-add-area { padding : 2 px 15 px 15 px }. sf-add-button { display : block ; width : 100 % ; border : 1 px solid #dc732f ; background : #e47b38 ; color : #fff ; border-radius : 10 px ; padding : 14 px 12 px ; font-size : 14 px ; font-weight : 800 ; box-shadow : 0 4 px 11 px #dc732f 25 ; text-align : center ; cursor : pointer }. sf-add-button : hover { background : #ce6427 }. sf-add-area p { margin : 9 px 1 px 0 ; color : #8a97a8 ; font-size : 11 px ; line-height : 1.6 }. sf-library-panel { margin : 0 13 px 12 px ; border : 1 px solid #f2cfb4 ; background : #fffaf6 ; border-radius : 12 px ; padding : 9 px 0 ; box-shadow : 0 7 px 15 px #b55e1f 12 }. sf-library-panel [ hidden ] { display : none !important }. sf-panel-caption { display : flex ; justify-content : space-between ; gap : 5 px ; align-items : center ; padding : 4 px 12 px 10 px ; font-size : 11 px ; font-weight : 700 ; color : #895b3c }. sf-panel-caption button { border : none ; background : transparent ; color : #b86327 ; font-size : 11 px }. sf-library-panel . palette { grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr )); padding : 2 px 9 px 12 px ; gap : 7 px }. sf-library-panel . palette button { min-height : 42 px ; background : #fff ; border-style : solid ; font-size : 11 px }. sf-subsection { margin : 0 9 px 6 px ; padding-top : 8 px ; border-top : 1 px solid #f2ddc7 }. sf-subsection > summary { padding : 7 px 5 px ; cursor : pointer ; color : #85624b ; font-size : 11 px ; font-weight : 750 }. sf-subsection . palette { padding : 8 px 0 ; grid-template-columns : 1 fr }. left-pane . section-label { padding-top : 13 px ; font-size : 11 px ; color : #56677b }. block-list { padding : 0 12 px ; min-height : 75 px }. block-row { min-height : 54 px }. block-copy strong { font-size : 12 px }. row-actions button { min-width : 19 px }. sf-advanced { margin : 6 px 13 px 18 px ; border : 1 px solid #e6eaf0 ; border-radius : 10 px ; background : #fafbfc }. sf-advanced summary { display : flex ; align-items : center ; justify-content : space-between ; gap : 5 px ; padding : 13 px ; cursor : pointer ; font-weight : 750 ; font-size : 12 px ; color : #67758b }. sf-advanced summary :: after { content : '⌄' ; font-size : 15 px ; margin-left : auto ; color : #99a7b9 }. sf-advanced summary span { font-size : 10 px ; font-weight : 400 ; color : #9aa6b5 }. sf-advanced [ open ] { background : #fff }. sf-advanced [ open ] summary { border-bottom : 1 px solid #edf0f4 }. sf-advanced . field { margin : 13 px }. sf-advanced-buttons { display : grid ; gap : 7 px ; padding : 0 13 px 10 px }. sf-advanced-buttons button { white-space : normal ; text-align : left }. sf-advanced-note { font-size : 10 px ; color : #9aa6b5 ; line-height : 1.7 ; margin : 4 px 13 px 13 px }
. structure-hint { padding-bottom : 12 px }. preview-workspace { min-width : 0 }. preview-head { min-height : 48 px ; height : 48 px }. preview-note { font-size : 10 px }. right-pane . pane-heading { padding-bottom : 15 px }. right-pane . overline { letter-spacing : .4 px ; color : #d67832 ; font-size : 10 px }. right-pane . inspector-nav { margin-top : 0 }. sf-advanced-foot { display : block ; padding : 0 ; margin : 22 px 15 px ; border : 1 px solid #eceff2 ; background : #fafbfc }. sf-advanced-foot summary { padding : 13 px 15 px ; cursor : pointer ; font-size : 11 px ; font-weight : 750 ; color : #617084 }. sf-advanced-foot p { margin : 0 15 px 14 px }. right-pane . no-selection b { display : block ; color : #53667d ; font-size : 14 px }. right-pane . no-selection p { font-size : 12 px ; line-height : 1.7 }. right-pane . no-selection . ui-btn { margin-top : 8 px }. right-pane . prop label { font-size : 12 px ; color : #5c6a7f }. right-pane . prop input , . right-pane . prop textarea , . right-pane . prop select { font-size : 13 px ; padding : 11 px 12 px }. sf-help-dialog { border : 1 px solid #dfe4eb ; border-radius : 18 px ; width : min ( 535 px , 94 vw ); padding : 26 px ; box-shadow : 0 25 px 100 px #233248 35 }. sf-help-dialog :: backdrop { background : #1c2c40 5 a }. sf-help-head { display : flex ; align-items : start ; justify-content : space-between ; gap : 12 px }. sf-help-head h2 { margin : 4 px 0 15 px ; font-size : 23 px ; color : #28364a }. sf-help-steps { padding-left : 29 px ; line-height : 1.65 }. sf-help-steps li { margin : 11 px 0 17 px ; padding-left : 5 px ; font-size : 13 px }. sf-help-steps b { font-size : 15 px ; color : #c8682a }. sf-help-steps p { margin : 5 px 0 ; color : #6a7a8b }. sf-guide-note { border-radius : 10 px ; padding : 12 px 15 px ; background : #f6f7f9 ; color : #718091 ; font-size : 12 px ; line-height : 1.6 }. sf-guide-done { width : 100 % ; margin-top : 18 px ; font-size : 14 px }
@ media ( max-width : 1330px ) {. studio-body { grid-template-columns : 245 px minmax ( 0 , 1 fr ) 305 px }. sf-easy-top { gap : 8 px ; padding : 0 12 px }. sf-easy-top . brand { min-width : 100 px }. sf-easy-file { max-width : 148 px }. sf-easy-device . icon-btn { padding : 8 px }}
@ media ( max-width : 1060px ) {. studio-body { grid-template-columns : 230 px minmax ( 0 , 1 fr )}. right-pane { position : fixed ; right : 0 ; top : 115 px ; bottom : 0 ; width : min ( 338 px , 92 vw ); display : flex !important ; transform : translateX ( 106 % ); z-index : 11 ; box-shadow : -10 px 0 25 px #1c2c40 25 } body . show-inspector . right-pane { transform : translateX ( 0 )}. sf-easy-top . brand small , . sf-easy-save-status { display : none }. sf-easy-file { max-width : 120 px }. studio-top . ui-btn . ghost . sf-save-btn { display : inline-flex !important }. sf-steps { font-size : 11 px ; gap : 7 px }}
@ media ( max-width : 720px ) {. sf-steps { min-height : 39 px ; padding : 5 px 10 px ; gap : 5 px }. sf-step-separator , . sf-step , . sf-steps-label { display : none }. sf-steps :: before { content : '① 选内容 → ② 改文字与样式 → ③ 保存发布' ; font-weight : 700 ; font-size : 11 px ; color : #a4653b }. sf-guide-link { font-size : 11 px }. studio-body { grid-template-columns : minmax ( 0 , 1 fr )}. left-pane { position : fixed ; top : 109 px ; bottom : 0 ; left : 0 ; width : min ( 315 px , 92 vw ); z-index : 11 ; display : flex !important ; transform : translateX ( -106 % ); box-shadow : 10 px 0 25 px #1c2c40 20 } body . show-structure . left-pane { transform : translateX ( 0 )}. right-pane { top : 109 px }. sf-easy-top { height : 70 px ; min-height : 70 px ; padding-inline : 8 px }. sf-easy-top . brand , . sf-easy-file { display : none }. sf-easy-device { margin-left : 0 ; margin-right : auto }. sf-easy-device . icon-btn { font-size : 11 px ; padding : 7 px }. sf-save-btn , . sf-publish-btn { font-size : 11 px ; padding : 9 px !important }. sf-easy-top . studio-actions summary { padding : 9 px 8 px ; font-size : 11 px }. sf-easy-top . studio-actions-menu { right : 0 }. pane-switcher { display : none }. stage { padding : 9 px 6 px }. device-frame . phone , . device-frame . tablet { max-width : 100 % }}
@ media ( max-width : 395px ) {. sf-easy-device . icon-btn { padding : 6 px ; font-size : 10 px }. sf-guide-link { font-size : 10 px }. sf-save-btn { padding : 8 px 6 px !important }. sf-publish-btn { padding : 8 px 6 px !important }. sf-steps :: before { content : '选区块 → 修改 → 保存发布' ; font-size : 10 px }}
/* Responsive panel toggle is always available on narrow screens. */
. sf-easy-top . sf-pane-controls { display : none ; gap : 5 px }
@ media ( max-width : 1060px ) {. sf-easy-top . sf-pane-controls { display : flex }. sf-easy-top . sf-pane-controls button { padding : 7 px 9 px ; font-size : 11 px ; border : 1 px solid #e2e6ed ; background : white ; border-radius : 8 px }}
/* Accessible repeated-item forms for galleries, carousels, FAQs and features */
. sf-array-editor { display : grid ; gap : 10 px }. sf-array-hint { font-size : 11 px ; line-height : 1.6 ; color : #8391a3 ; margin : 0 0 4 px }. sf-array-card { border : 1 px solid #e5eaf0 ; background : #fafbfd ; padding : 11 px ; border-radius : 10 px }. sf-array-card-head { display : flex ; align-items : center ; justify-content : space-between ; gap : 7 px ; margin-bottom : 12 px }. sf-array-card-head b { font-size : 12 px ; color : #586a7f }. sf-array-card-head div { display : flex ; gap : 3 px }. sf-array-card-head button { border : 1 px solid #e2e7ed ; border-radius : 5 px ; color : #6c7a8e ; background : white ; padding : 4 px 7 px ; font-size : 11 px }. sf-array-card-head button : last-child { color : #b95d62 }. sf-array-card-head button : disabled { opacity : .3 ; cursor : not-allowed }. sf-array-field { display : block !important ; margin : 10 px 0 !important ; font-size : 11 px !important ; font-weight : 650 !important }. sf-array-field input , . sf-array-field textarea { display : block ; width : 100 % ; margin-top : 5 px ; background : white }. sf-array-field textarea { min-height : 65 px }. sf-array-add { border : 1 px dashed #e5a77c ; border-radius : 9 px ; background : #fff8f2 ; color : #be672a ; padding : 13 px 9 px ; font-size : 12 px ; font-weight : 800 }