2026-08-03 10:04:41 +08:00
/* App layout - minimal CSS, most styling via Tailwind */
. app-shell {
display : flex ;
flex-direction : column ;
height : 100 % ;
width : 100 % ;
overflow : hidden ;
background : var ( --surface-app ) ;
box-shadow : inset 0 0 0 1px var ( --border-primary ) ;
}
. app-shell : has ( . hololake-home [ data-route = "world" ] [ data-world-open = "true" ] ) . hololake-bar { border-bottom-color : rgba ( 132 , 158 , 214 , .16 ) ; color : #e9efff ; background : #0c1731 ; }
. app-shell : has ( . hololake-home [ data-route = "world" ] [ data-world-open = "true" ] ) . hololake-bar__context { color : #7f8dab ; }
. app-shell : has ( . hololake-home [ data-route = "world" ] [ data-world-open = "true" ] ) [ data-testid = "status-bar" ] { border-top-color : rgba ( 132 , 158 , 214 , .16 ) !important ; color : #7e8dab !important ; background : #091329 !important ; }
. hololake-bar { height : 52 px ; flex : 0 0 52 px ; display : flex ; align-items : center ; gap : 12 px ; padding : 0 16 px ; color : var ( - - text - primary ) ; background : var ( - - surface - panel ) ; border-bottom : 1 px solid var ( - - border - default ) ; letter-spacing : .02 em ; }
. hololake-bar__brand , . hololake-bar__library { border : 0 ; background : transparent ; color : inherit ; cursor : pointer ; }
. hololake-bar__brand { display : inline-flex ; align-items : center ; gap : 8 px ; font-size : 14 px ; font-weight : 650 ; letter-spacing : .02 em ; }
. hololake-bar__brand b { color : var ( - - accent - blue ) ; font-weight : 600 ; }
. hololake-bar__mark { display : block ; width : 24 px ; height : 28 px ; object-fit : contain ; object-position : center ; flex : 0 0 24 px ; }
. hololake-bar__line { width : 1 px ; height : 16 px ; background : var ( - - border - default ) ; }
. hololake-bar__context { color : var ( - - text - secondary ) ; font-size : 12 px ; }
. hololake-bar__library { margin-left : auto ; padding : 5 px 9 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 6 px ; color : var ( - - text - secondary ) ; font-size : 12 px ; }
. hololake-bar__library : hover { background : var ( - - state - hover - subtle ) ; color : var ( - - text - primary ) ; }
. hololake-theme-nav { display : grid ; min-width : 198 px ; grid-template-columns : 10 px minmax ( 0 , 1 fr ) 16 px ; align-items : center ; gap : 10 px ; margin-left : auto ; padding : 7 px 10 px ; border : 1 px solid transparent ; border-radius : 11 px ; background : transparent ; color : var ( - - text - secondary ) ; text-align : left ; cursor : pointer ; transition : border-color .2 s ease , background-color .2 s ease , color .2 s ease , transform .2 s ease ; }
. hololake-theme-nav : hover , . hololake-theme-nav [ data-state = "open" ] { border-color : color-mix ( in srgb , var ( - - accent - blue ) 28 % , var ( - - border - default ) ) ; background : linear-gradient ( 90 deg , color-mix ( in srgb , var ( - - accent - blue ) 15 % , transparent ) , color-mix ( in srgb , var ( - - accent - blue ) 4 % , transparent ) ) ; color : var ( - - text - primary ) ; }
. hololake-theme-nav : active { transform : translateY ( 1 px ) ; }
. hololake-theme-nav > i , . hololake-theme-menu__item > i { width : 8 px ; height : 8 px ; flex : 0 0 8 px ; border-radius : 50 % ; background : var ( - - theme - dot ) ; box-shadow : 0 0 12 px color-mix ( in srgb , var ( - - theme - dot ) 76 % , transparent ) ; }
. hololake-theme-nav > span { display : grid ; min-width : 0 ; gap : 1 px ; } . hololake-theme-nav small { color : var ( - - text - muted ) ; font-size : 9 px ; font-weight : 500 ; letter-spacing : .1 em ; } . hololake-theme-nav strong { overflow : hidden ; color : var ( - - text - primary ) ; font-size : 12 px ; font-weight : 600 ; text-overflow : ellipsis ; white-space : nowrap ; } . hololake-theme-nav > b { color : var ( - - text - muted ) ; font-size : 16 px ; font-weight : 400 ; transition : transform .2 s ease ; } . hololake-theme-nav [ data-state = "open" ] > b { transform : rotate ( 180 deg ) ; }
. hololake-theme-menu { width : 318 px ; max-height : min ( 560 px , calc ( 100 vh - 80 px ) ) ; padding : 8 px ; border-color : color-mix ( in srgb , var ( - - accent - blue ) 26 % , var ( - - border - default ) ) ; border-radius : 15 px ; background : color-mix ( in srgb , var ( - - surface - sidebar ) 96 % , transparent ) ; box-shadow : 0 24 px 70 px color-mix ( in srgb , #000 30 % , transparent ) , inset 0 1 px color-mix ( in srgb , #fff 7 % , transparent ) ; backdrop-filter : blur ( 24 px ) ; }
. hololake-theme-menu > header { display : grid ; gap : 5 px ; padding : 10 px 12 px 13 px ; border-bottom : 1 px solid var ( - - border - default ) ; } . hololake-theme-menu > header span { color : var ( - - accent - blue ) ; font : 9 px / 1.2 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .15 em ; } . hololake-theme-menu > header strong { font-size : 15 px ; font-weight : 650 ; } . hololake-theme-menu > header small { color : var ( - - text - muted ) ; font-size : 10 px ; }
. hololake-theme-menu [ role = "group" ] { display : grid ; gap : 3 px ; padding-top : 7 px ; }
. hololake-theme-menu__item { display : grid ; min-height : 48 px ; grid-template-columns : 10 px 1 fr ; gap : 11 px ; padding : 7 px 11 px 7 px 13 px ; border : 1 px solid transparent ; border-radius : 10 px ; cursor : pointer ; }
. hololake-theme-menu__item > span : not ( [ data-slot ] ) { display : grid ; gap : 2 px ; } . hololake-theme-menu__item strong { font-size : 12 px ; font-weight : 600 ; } . hololake-theme-menu__item small { color : var ( - - text - muted ) ; font-size : 10 px ; }
. hololake-theme-menu__item : focus , . hololake-theme-menu__item [ data-state = "checked" ] { border-color : color-mix ( in srgb , var ( - - accent - blue ) 24 % , var ( - - border - default ) ) ; background : linear-gradient ( 90 deg , color-mix ( in srgb , var ( - - accent - blue ) 14 % , transparent ) , color-mix ( in srgb , var ( - - accent - blue ) 3 % , transparent ) ) ; color : var ( - - text - primary ) ; }
. hololake-theme-menu__item [ data-slot = "dropdown-menu-item-indicator" ] { right : 10 px ; left : auto ; color : var ( - - accent - blue ) ; }
. hololake-theme-nav i [ data-tone = "slate" ] , . hololake-theme-menu i [ data-tone = "slate" ] { --theme-dot : #94a3b8 ; } . hololake-theme-nav i [ data-tone = "sky" ] , . hololake-theme-menu i [ data-tone = "sky" ] { --theme-dot : #7dd3fc ; } . hololake-theme-nav i [ data-tone = "cyan" ] , . hololake-theme-menu i [ data-tone = "cyan" ] { --theme-dot : #4fd1c5 ; } . hololake-theme-nav i [ data-tone = "aurora" ] , . hololake-theme-menu i [ data-tone = "aurora" ] { --theme-dot : #22d3ee ; } . hololake-theme-nav i [ data-tone = "ice" ] , . hololake-theme-menu i [ data-tone = "ice" ] { --theme-dot : #60a5fa ; } . hololake-theme-nav i [ data-tone = "violet" ] , . hololake-theme-menu i [ data-tone = "violet" ] { --theme-dot : #a78bfa ; } . hololake-theme-nav i [ data-tone = "indigo" ] , . hololake-theme-menu i [ data-tone = "indigo" ] { --theme-dot : #818cf8 ; } . hololake-theme-nav i [ data-tone = "gold" ] , . hololake-theme-menu i [ data-tone = "gold" ] { --theme-dot : #fbbf24 ; } . hololake-theme-nav i [ data-tone = "green" ] , . hololake-theme-menu i [ data-tone = "green" ] { --theme-dot : #4ade80 ; } . hololake-theme-nav i [ data-tone = "peach" ] , . hololake-theme-menu i [ data-tone = "peach" ] { --theme-dot : #fb7185 ; }
. hololake-theme-nav i [ data-tone = "native-galaxy" ] , . hololake-theme-menu i [ data-tone = "native-galaxy" ] { --theme-dot : #8fb8d8 ; }
[ data-guanghu-theme = "guanghu-native-galaxy" ] . app-shell {
background :
radial-gradient ( circle at 16 % 4 % , rgba ( 23 , 58 , 94 , . 18 ) , transparent 30 % ) ,
radial-gradient ( circle at 86 % 96 % , rgba ( 62 , 53 , 107 , . 12 ) , transparent 32 % ) ,
var ( --surface-app ) ;
}
[ data-guanghu-theme = "guanghu-native-galaxy" ] . hololake-bar ,
[ data-guanghu-theme = "guanghu-native-galaxy" ] . channel-dock ,
[ data-guanghu-theme = "guanghu-native-galaxy" ] . app__sidebar ,
[ data-guanghu-theme = "guanghu-native-galaxy" ] . app__note-list {
background-color : color-mix ( in srgb , var ( --surface-sidebar ) 92 % , transparent ) ;
backdrop-filter : blur ( 18px ) ;
}
[ data-guanghu-theme = "guanghu-native-galaxy" ] . app__editor {
background :
radial-gradient ( circle at 74 % 14 % , rgba ( 62 , 53 , 107 , . 08 ) , transparent 28 % ) ,
var ( --surface-editor ) ;
}
[ data-guanghu-theme = "guanghu-native-galaxy" ] button : focus-visible {
outline-color : # 8fb8d8 ;
}
. channel-dock { display : flex ; width : 58 px ; flex : 0 0 58 px ; flex-direction : column ; align-items : center ; gap : 8 px ; padding : 10 px 7 px ; border-right : 1 px solid var ( - - border - default ) ; background : color-mix ( in srgb , var ( - - surface - sidebar ) 92 % , var ( - - accent - blue ) ) ; }
. channel-dock button { display : grid ; width : 44 px ; min-height : 48 px ; place-items : center ; gap : 2 px ; padding : 5 px 2 px ; border : 1 px solid transparent ; border-radius : 9 px ; background : transparent ; color : var ( - - text - secondary ) ; cursor : pointer ; } . channel-dock button : hover , . channel-dock button [ data-active = "true" ] { border-color : var ( - - border - default ) ; background : var ( - - state - selected ) ; color : var ( - - text - primary ) ; } . channel-dock button : disabled { opacity : .45 ; cursor : default ; } . channel-dock span { font-family : Georgia , serif ; font-size : 16 px ; } . channel-dock small { font-size : 9 px ; }
/ * Tauri ' s macOS traffic lights are overlaid on the title bar . Keep the
product mark and title in a separate , stable lane so they never collide . * /
body . mac-chrome . hololake-bar { padding-left : 92 px ; }
. team-foundation { --lighthouse-line : rgba ( 255 , 255 , 255 , .09 ) ; --lighthouse-muted : #8590a3 ; display : grid ; grid-template-columns : 270 px minmax ( 0 , 1 fr ) ; min-height : 100 vh ; color : #edf2f8 ; background : #090d13 ; }
. team-foundation button { font : inherit ; }
. team-foundation__sidebar { position : sticky ; top : 0 ; display : flex ; height : 100 vh ; flex-direction : column ; padding : 30 px 18 px 20 px ; border-right : 1 px solid var ( - - lighthouse - line ) ; background : linear-gradient ( 180 deg , #101720 0 % , #0b1017 72 % ) ; }
. team-foundation__brand { display : flex ; align-items : center ; gap : 12 px ; padding : 0 10 px 28 px ; border-bottom : 1 px solid var ( - - lighthouse - line ) ; }
. team-foundation__brand-mark { display : grid ; width : 38 px ; height : 38 px ; place-items : center ; border : 1 px solid rgba ( 102 , 213 , 226 , .5 ) ; border-radius : 12 px ; color : #7ce5ed ; background : rgba ( 64 , 188 , 207 , .1 ) ; box-shadow : 0 0 28 px rgba ( 61 , 201 , 219 , .16 ) ; font-size : 28 px ; }
. team-foundation__brand div { display : grid ; gap : 5 px ; } . team-foundation__brand strong { font-size : 17 px ; letter-spacing : .05 em ; } . team-foundation__brand div span { color : #667386 ; font : 8 px / 1 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .16 em ; }
. team-foundation__nav { display : grid ; gap : 6 px ; margin-top : 28 px ; } . team-foundation__nav > p { margin : 0 10 px 9 px ; color : #5d6878 ; font-size : 10 px ; letter-spacing : .14 em ; }
. team-foundation__nav button { display : flex ; align-items : center ; gap : 11 px ; width : 100 % ; min-height : 58 px ; padding : 9 px 10 px ; border : 1 px solid transparent ; border-radius : 11 px ; color : #8f9bad ; background : transparent ; text-align : left ; cursor : pointer ; transition : background .18 s ease , border-color .18 s ease , color .18 s ease ; }
. team-foundation__nav button : hover { color : #dbe5f1 ; background : rgba ( 255 , 255 , 255 , .035 ) ; } . team-foundation__nav button . is-active { border-color : rgba ( 95 , 200 , 222 , .18 ) ; color : #f3f8fc ; background : linear-gradient ( 90 deg , rgba ( 43 , 152 , 187 , .18 ) , rgba ( 43 , 152 , 187 , .05 ) ) ; }
. team-foundation__domain-dot { width : 8 px ; height : 8 px ; flex : 0 0 8 px ; border-radius : 50 % ; background : #70dce5 ; box-shadow : 0 0 13 px rgba ( 112 , 220 , 229 , .75 ) ; } . team-foundation__nav button [ data-tone = "blue" ] . team-foundation__domain-dot { background : #6ca6ff ; box-shadow : 0 0 13 px rgba ( 108 , 166 , 255 , .7 ) ; } . team-foundation__nav button [ data-tone = "violet" ] . team-foundation__domain-dot { background : #a989ff ; box-shadow : 0 0 13 px rgba ( 169 , 137 , 255 , .7 ) ; } . team-foundation__nav button [ data-tone = "amber" ] . team-foundation__domain-dot { background : #f0bb62 ; box-shadow : 0 0 13 px rgba ( 240 , 187 , 98 , .7 ) ; }
. team-foundation__nav button > span : last-child { display : grid ; gap : 3 px ; } . team-foundation__nav strong { font-size : 13 px ; font-weight : 600 ; } . team-foundation__nav small { color : #667386 ; font-size : 10 px ; }
. team-foundation__gate { display : grid ; grid-template-columns : 30 px 1 fr auto ; align-items : center ; gap : 9 px ; margin-top : 22 px ; padding : 14 px 11 px ; border : 1 px solid var ( - - lighthouse - line ) ; border-radius : 12 px ; background : rgba ( 255 , 255 , 255 , .025 ) ; } . team-foundation__gate-icon { display : grid ; width : 28 px ; height : 28 px ; place-items : center ; border-radius : 8 px ; color : #7d8999 ; background : rgba ( 255 , 255 , 255 , .05 ) ; } . team-foundation__gate div { display : grid ; gap : 3 px ; } . team-foundation__gate strong { color : #aab4c1 ; font-size : 11 px ; } . team-foundation__gate small { color : #596575 ; font-size : 9 px ; } . team-foundation__lock { padding : 3 px 6 px ; border-radius : 999 px ; color : #777f8b ; background : rgba ( 255 , 255 , 255 , .06 ) ; font-size : 8 px ; }
. team-foundation__sidebar-footer { display : grid ; grid-template-columns : auto 1 fr ; align-items : center ; gap : 7 px ; margin-top : auto ; padding : 18 px 9 px 0 ; border-top : 1 px solid var ( - - lighthouse - line ) ; color : #657183 ; font-size : 9 px ; } . team-foundation__sidebar-footer code { grid-column : 1 / -1 ; margin-top : 4 px ; color : #424d5d ; font-size : 8 px ; } . team-foundation__status-dot { width : 6 px ; height : 6 px ; border-radius : 50 % ; background : #65d6a1 ; box-shadow : 0 0 9 px rgba ( 101 , 214 , 161 , .65 ) ; }
. team-foundation__workspace { min-width : 0 ; } . team-foundation__topbar { display : flex ; height : 66 px ; align-items : center ; justify-content : space-between ; padding : 0 34 px ; border-bottom : 1 px solid var ( - - lighthouse - line ) ; background : rgba ( 9 , 13 , 19 , .86 ) ; backdrop-filter : blur ( 16 px ) ; } . team-foundation__topbar > div : first-child { display : flex ; align-items : center ; gap : 12 px ; } . team-foundation__topbar span { color : #768296 ; font-size : 11 px ; } . team-foundation__topbar strong { padding : 4 px 8 px ; border : 1 px solid rgba ( 105 , 214 , 224 , .18 ) ; border-radius : 999 px ; color : #8cdde5 ; background : rgba ( 61 , 178 , 194 , .08 ) ; font-size : 9 px ; font-weight : 500 ; } . team-foundation__topbar-actions { display : flex ; gap : 7 px ; } . team-foundation__topbar-actions button { display : grid ; width : 31 px ; height : 31 px ; place-items : center ; border : 1 px solid var ( - - lighthouse - line ) ; border-radius : 9 px ; color : #8692a4 ; background : rgba ( 255 , 255 , 255 , .025 ) ; cursor : pointer ; }
. team-foundation__content { width : min ( 1180 px , calc ( 100 % - 64 px ) ) ; margin : 0 auto ; padding : 58 px 0 72 px ; }
. team-foundation__hero { position : relative ; display : grid ; min-height : 355 px ; grid-template-columns : minmax ( 0 , 1 fr ) 360 px ; align-items : center ; overflow : hidden ; padding : 52 px 58 px ; border : 1 px solid var ( - - lighthouse - line ) ; border-radius : 24 px ; background : radial-gradient ( circle at 78 % 45 % , rgba ( 40 , 174 , 201 , .17 ) , transparent 29 % ) , linear-gradient ( 135 deg , #111923 , #0c121a 68 % ) ; box-shadow : 0 28 px 80 px rgba ( 0 , 0 , 0 , .22 ) ; }
. team-foundation__hero-copy { position : relative ; z-index : 2 ; } . team-foundation__hero-copy > p : first-child { margin : 0 0 17 px ; color : #59c8d5 ; font : 9 px / 1.3 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .2 em ; } . team-foundation__hero h1 { margin : 0 ; color : #f4f7f9 ; font : 500 clamp ( 44 px , 6 vw , 76 px ) / 1.05 Georgia , "Songti SC" , serif ; letter-spacing : .02 em ; } . team-foundation__hero h2 { margin : 17 px 0 11 px ; color : #c7d3df ; font-size : 17 px ; font-weight : 500 ; } . team-foundation__hero-copy > p : nth-of-type ( 2 ) { max-width : 570 px ; margin : 0 ; color : #8794a6 ; font-size : 13 px ; line-height : 1.8 ; }
. team-foundation__hero-actions { display : flex ; align-items : center ; gap : 17 px ; margin-top : 28 px ; } . team-foundation__hero-actions button { padding : 11 px 17 px ; border : 1 px solid rgba ( 104 , 216 , 228 , .4 ) ; border-radius : 9 px ; color : #0b171b ; background : #71d8e1 ; box-shadow : 0 8 px 28 px rgba ( 64 , 193 , 210 , .16 ) ; font-size : 11 px ; cursor : pointer ; } . team-foundation__hero-actions button span { margin-left : 12 px ; color : inherit ; } . team-foundation__hero-actions > span { color : #536070 ; font : 9 px ui-monospace , SFMono-Regular , Menlo , monospace ; }
. team-foundation__orbit { position : relative ; display : grid ; width : 280 px ; height : 280 px ; place-items : center ; justify-self : end ; } . team-foundation__orbit :: before , . team-foundation__orbit :: after { position : absolute ; content : "" ; border : 1 px solid rgba ( 114 , 220 , 229 , .16 ) ; border-radius : 50 % ; } . team-foundation__orbit :: before { inset : 24 px ; } . team-foundation__orbit :: after { inset : 62 px ; border-style : dashed ; animation : lighthouse-spin 26 s linear infinite ; } . team-foundation__orbit-core { display : grid ; width : 82 px ; height : 82 px ; place-items : center ; border : 1 px solid rgba ( 126 , 228 , 235 , .42 ) ; border-radius : 50 % ; color : #b8f3f5 ; background : radial-gradient ( circle , rgba ( 93 , 214 , 224 , .25 ) , rgba ( 36 , 126 , 147 , .07 ) ) ; box-shadow : 0 0 55 px rgba ( 57 , 193 , 210 , .24 ) , inset 0 0 26 px rgba ( 103 , 221 , 231 , .1 ) ; font : 28 px Georgia , serif ; } . team-foundation__orbit i { position : absolute ; width : 7 px ; height : 7 px ; border-radius : 50 % ; background : #6cd8e2 ; box-shadow : 0 0 12 px #6cd8e2 ; } . team-foundation__orbit i : nth-of-type ( 1 ) { top : 22 px ; left : 136 px ; } . team-foundation__orbit i : nth-of-type ( 2 ) { top : 135 px ; right : 22 px ; background : #81a9ff ; box-shadow : 0 0 12 px #81a9ff ; } . team-foundation__orbit i : nth-of-type ( 3 ) { bottom : 22 px ; left : 136 px ; background : #a98cff ; box-shadow : 0 0 12 px #a98cff ; } . team-foundation__orbit i : nth-of-type ( 4 ) { top : 135 px ; left : 22 px ; background : #eeb963 ; box-shadow : 0 0 12 px #eeb963 ; }
. team-foundation__modules { padding-top : 55 px ; } . team-foundation__section-heading { display : flex ; align-items : end ; justify-content : space-between ; margin-bottom : 20 px ; } . team-foundation__section-heading p { margin : 0 0 7 px ; color : #4c8793 ; font : 8 px ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .18 em ; } . team-foundation__section-heading h2 { margin : 0 ; font-size : 22 px ; font-weight : 520 ; } . team-foundation__section-heading > span { color : #5d6878 ; font-size : 10 px ; }
. team-foundation__module-grid { display : grid ; grid-template-columns : repeat ( 4 , minmax ( 0 , 1 fr ) ) ; gap : 12 px ; } . team-foundation__module { min-height : 218 px ; padding : 19 px ; border : 1 px solid var ( - - lighthouse - line ) ; border-radius : 15 px ; background : linear-gradient ( 150 deg , rgba ( 19 , 27 , 37 , .95 ) , rgba ( 12 , 18 , 26 , .95 ) ) ; } . team-foundation__module-icon { display : grid ; width : 36 px ; height : 36 px ; place-items : center ; margin-bottom : 18 px ; border : 1 px solid rgba ( 104 , 205 , 219 , .16 ) ; border-radius : 10 px ; color : #78d6df ; background : rgba ( 53 , 164 , 182 , .08 ) ; } . team-foundation__badge { display : inline-block ; padding : 3 px 7 px ; border-radius : 999 px ; font-size : 8 px ; } . team-foundation__badge . is-system { color : #8de0e6 ; background : rgba ( 62 , 180 , 194 , .11 ) ; } . team-foundation__badge . is-active { color : #9fb9ff ; background : rgba ( 94 , 132 , 220 , .12 ) ; } . team-foundation__badge . is-muted { color : #7c8796 ; background : rgba ( 255 , 255 , 255 , .05 ) ; } . team-foundation__module h3 { margin : 10 px 0 8 px ; font-size : 14 px ; font-weight : 600 ; } . team-foundation__module p { margin : 0 ; color : #738093 ; font-size : 10 px ; line-height : 1.65 ; } . team-foundation__module footer { display : flex ; align-items : center ; justify-content : space-between ; margin-top : 19 px ; color : #3f4b5a ; } . team-foundation__module footer code { font-size : 8 px ; } . team-foundation__module--add { display : flex ; align-items : center ; justify-content : center ; flex-direction : column ; border-style : dashed ; text-align : center ; background : rgba ( 255 , 255 , 255 , .012 ) ; } . team-foundation__module--add > span { color : #4c596a ; font-size : 26 px ; } . team-foundation__module--add p { max-width : 180 px ; }
. team-foundation__access-row { display : grid ; grid-template-columns : 1.4 fr 1 fr ; gap : 12 px ; padding-top : 48 px ; } . team-foundation__fifth-domain , . team-foundation__boundaries { min-height : 190 px ; padding : 28 px ; border : 1 px solid var ( - - lighthouse - line ) ; border-radius : 17 px ; background : #0d131b ; } . team-foundation__fifth-domain { display : grid ; grid-template-columns : 1 fr auto ; align-items : start ; gap : 16 px ; } . team-foundation__fifth-domain > div span , . team-foundation__boundaries > span { color : #5b6574 ; font : 8 px ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .16 em ; } . team-foundation__fifth-domain h2 , . team-foundation__boundaries h2 { margin : 9 px 0 0 ; font-size : 17 px ; font-weight : 520 ; } . team-foundation__fifth-domain p { grid-column : 1 / -1 ; max-width : 600 px ; margin : 0 ; color : #738093 ; font-size : 11 px ; line-height : 1.7 ; } . team-foundation__fifth-domain button { justify-self : start ; padding : 8 px 11 px ; border : 1 px solid rgba ( 255 , 255 , 255 , .07 ) ; border-radius : 8 px ; color : #5d6775 ; background : rgba ( 255 , 255 , 255 , .03 ) ; font-size : 9 px ; } . team-foundation__boundaries ul { display : grid ; grid-template-columns : 1 fr 1 fr ; gap : 9 px 14 px ; margin : 20 px 0 0 ; padding : 0 ; list-style : none ; } . team-foundation__boundaries li { color : #7a8697 ; font-size : 9 px ; } . team-foundation__boundaries li :: before { margin-right : 7 px ; color : #64cfd9 ; content : "·" ; }
@ keyframes lighthouse-spin { to { transform : rotate ( 360 deg ) ; } }
@ media ( max-width : 980px ) { . team-foundation { grid-template-columns : 220 px minmax ( 0 , 1 fr ) ; } . team-foundation__hero { grid-template-columns : 1 fr ; } . team-foundation__orbit { position : absolute ; right : -70 px ; opacity : .55 ; } . team-foundation__module-grid { grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ; } . team-foundation__access-row { grid-template-columns : 1 fr ; } }
@ media ( max-width : 720px ) { . team-foundation { display : block ; } . team-foundation__sidebar { position : static ; height : auto ; } . team-foundation__nav { grid-template-columns : 1 fr 1 fr ; } . team-foundation__gate , . team-foundation__sidebar-footer { display : none ; } . team-foundation__content { width : min ( 100 % - 28 px , 1180 px ) ; padding-top : 28 px ; } . team-foundation__hero { min-height : 330 px ; padding : 35 px 28 px ; } . team-foundation__topbar { padding : 0 18 px ; } . team-foundation__module-grid { grid-template-columns : 1 fr ; } }
/* Team shell deliberately stays lightweight: shared theme colors, no animated or blurred skin. */
. team-foundation--lightweight { --lighthouse-line : var ( - - border - color ) ; color : var ( - - text - primary ) ; background : var ( - - bg - primary ) ; }
. team-foundation--lightweight . team-foundation__sidebar { padding : 22 px 16 px 16 px ; background : var ( - - bg - secondary ) ; }
. team-foundation--lightweight . team-foundation__brand-mark { border : 0 ; color : var ( - - accent - blue ) ; background : var ( - - accent - blue - subtle ) ; box-shadow : none ; font-size : 16 px ; font-weight : 700 ; }
. team-foundation--lightweight . team-foundation__nav button ,
. team-foundation--lightweight . team-foundation__nav button : hover ,
. team-foundation--lightweight . team-foundation__nav button . is-active { background : transparent ; box-shadow : none ; }
. team-foundation--lightweight . team-foundation__nav button . is-active { border-color : var ( - - accent - blue ) ; color : var ( - - text - primary ) ; background : var ( - - accent - blue - subtle ) ; }
. team-foundation--lightweight . team-foundation__domain-dot { box-shadow : none !important ; }
. team-foundation--lightweight . team-foundation__gate ,
. team-foundation--lightweight . team-foundation__topbar ,
. team-foundation--lightweight . team-foundation__hero ,
. team-foundation--lightweight . team-foundation__module ,
. team-foundation--lightweight . team-foundation__fifth-domain ,
. team-foundation--lightweight . team-foundation__boundaries { background : var ( - - bg - secondary ) ; box-shadow : none ; backdrop-filter : none ; }
. team-foundation--lightweight . team-foundation__topbar { height : 58 px ; }
. team-foundation--lightweight . team-foundation__content { padding-top : 32 px ; }
. team-foundation--lightweight . team-foundation__hero { min-height : 250 px ; grid-template-columns : 1 fr ; padding : 36 px 40 px ; border-radius : 14 px ; }
. team-foundation--lightweight . team-foundation__hero h1 { color : var ( - - text - primary ) ; font : 600 clamp ( 34 px , 5 vw , 56 px ) / 1.1 system-ui , sans-serif ; }
. team-foundation--lightweight . team-foundation__hero h2 { color : var ( - - text - primary ) ; }
. team-foundation--lightweight . team-foundation__hero-copy > p : nth-of-type ( 2 ) ,
. team-foundation--lightweight . team-foundation__module p ,
. team-foundation--lightweight . team-foundation__fifth-domain p { color : var ( - - text - secondary ) ; }
. team-foundation--lightweight . team-foundation__hero-actions > span { color : var ( - - text - secondary ) ; font : 11 px / 1.6 system-ui , sans-serif ; }
. team-foundation--lightweight . team-foundation__module-grid { grid-template-columns : repeat ( 3 , minmax ( 0 , 1 fr ) ) ; }
. team-foundation--lightweight . team-foundation__module { min-height : 190 px ; }
. team-foundation--lightweight . team-foundation__module button { margin-top : 20 px ; padding : 8 px 12 px ; border : 1 px solid var ( - - border - color ) ; border-radius : 7 px ; color : var ( - - text - primary ) ; background : var ( - - bg - primary ) ; cursor : pointer ; }
. team-foundation--lightweight . team-foundation__module button : not ( : disabled ) { border-color : var ( - - accent - blue ) ; color : var ( - - accent - blue ) ; }
. team-foundation--lightweight . team-foundation__module button : disabled { color : var ( - - text - tertiary ) ; cursor : default ; }
. team-foundation__loading { display : grid ; min-height : 100 vh ; place-items : center ; color : var ( - - text - secondary ) ; background : var ( - - bg - primary ) ; }
@ media ( max-width : 980px ) { . team-foundation--lightweight . team-foundation__module-grid { grid-template-columns : 1 fr ; } }
. hololake-bar__brand { min-width : max-content ; white-space : nowrap ; }
. hololake-bar__context { white-space : nowrap ; }
. hololake-home { position : relative ; z-index : 2 ; display : flex ; width : 100 % ; min-width : 0 ; overflow : hidden ; color : var ( - - text - primary ) ; background : var ( - - surface - app ) ; transition : color .28 s ease , background-color .28 s ease ; }
. channel-workspace { position : relative ; min-width : 0 ; flex : 1 ; overflow : auto ; padding : clamp ( 28 px , 5 vw , 64 px ) ; background : var ( - - surface - app ) ; }
. living-system-status {
position : absolute ;
z-index : 24 ;
top : 14px ;
right : 18px ;
display : inline-grid ;
grid-template-columns : 8px auto ;
column-gap : 8px ;
align-items : center ;
min-height : 34px ;
padding : 7px 12px ;
border : 1px solid color-mix ( in srgb , var ( --accent-blue ) 24 % , transparent ) ;
border-radius : 999px ;
background : color-mix ( in srgb , var ( --surface-app ) 72 % , transparent ) ;
box-shadow : 0 12px 34px rgb ( 0 0 0 / 14 % ) ;
color : var ( --text-secondary ) ;
font-size : 11px ;
line-height : 1 . 1 ;
letter-spacing : . 04em ;
backdrop-filter : blur ( 16px ) ;
pointer-events : none ;
}
. living-system-status > i {
grid-row : 1 / span 2 ;
width : 7px ;
height : 7px ;
border-radius : 50 % ;
background : var ( --accent-blue ) ;
box-shadow : 0 0 12px color-mix ( in srgb , var ( --accent-blue ) 76 % , transparent ) ;
}
. living-system-status > span { font-weight : 650 ; }
. living-system-status > small { color : var ( - - text - tertiary ) ; font-size : 9 px ; }
. hololake-home [ data-living-kernel = "planning" ] . living-system-status > i {
animation : living-system-breathe 900ms ease-in-out infinite alternate ;
}
. hololake-home [ data-living-kernel = "server" ] . living-system-status {
border-color : color-mix ( in srgb , var ( --accent-green ) 38 % , transparent ) ;
}
. hololake-home [ data-living-kernel = "server" ] . living-system-status > i {
background : var ( --accent-green ) ;
box-shadow : 0 0 14px color-mix ( in srgb , var ( --accent-green ) 82 % , transparent ) ;
}
@ keyframes living-system-breathe {
from { opacity : .46 ; transform : scale ( .78 ) ; }
to { opacity : 1 ; transform : scale ( 1.18 ) ; }
}
. channel-rail { display : flex ; width : 258 px ; flex : 0 0 258 px ; flex-direction : column ; gap : 24 px ; overflow-y : auto ; padding : 26 px 16 px ; border-right : 1 px solid var ( - - border - default ) ; background : color-mix ( in srgb , var ( - - surface - sidebar ) 94 % , var ( - - accent - blue ) ) ; transition : width .25 s ease , background-color .28 s ease ; }
. channel-rail__heading { display : grid ; gap : 5 px ; padding : 4 px 10 px 14 px ; border-bottom : 1 px solid var ( - - border - default ) ; }
. channel-rail__heading span { color : var ( - - accent - blue ) ; font : 10 px / 1 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .18 em ; }
. channel-rail__heading strong { font-size : 20 px ; } . channel-rail__heading small { color : var ( - - text - muted ) ; font-size : 13 px ; line-height : 1.55 ; }
. channel-rail nav { display : grid ; gap : 4 px ; }
. channel-rail nav button { justify-content : flex-start ; width : 100 % ; height : 44 px ; padding-inline : 12 px ; color : var ( - - text - secondary ) ; font-size : 14 px ; transition : color .18 s ease , background-color .18 s ease , transform .18 s ease ; }
. channel-rail nav button : hover { transform : translateX ( 3 px ) ; }
. channel-rail nav button [ data-active = "true" ] { background : var ( - - state - selected ) ; color : var ( - - text - primary ) ; }
. channel-rail [ data-locked = "true" ] nav button ,
. channel-rail [ data-locked = "true" ] . channel-rail__modules { opacity : .3 ; filter : saturate ( .2 ) ; }
. channel-rail [ data-locked = "true" ] nav button { cursor : not-allowed ; transform : none ; }
. hololake-home [ data-world-open = "false" ] . channel-rail { border-right-color : rgba ( 122 , 151 , 185 , .14 ) ; background : #07111f ; color : #d9e5f2 ; }
. hololake-home [ data-world-open = "false" ] . channel-rail__heading { border-bottom-color : rgba ( 122 , 151 , 185 , .14 ) ; }
. hololake-home [ data-world-open = "false" ] . channel-rail__heading small { color : #6f8196 ; }
. hololake-home [ data-world-open = "false" ] . channel-rail__modules { border-color : rgba ( 122 , 151 , 185 , .14 ) ; background : #0a1728 ; }
. hololake-home [ data-world-open = "false" ] . channel-workspace { padding : 0 ; }
. guanghu-login {
--guanghu-login-space : none ;
position : relative ;
display : grid ;
min-height : 100 % ;
grid-template-rows : auto 1fr auto ;
overflow : hidden ;
color : # dcecff ;
background :
linear-gradient ( 90deg , rgba ( 4 , 10 , 28 , . 94 ) , rgba ( 4 , 10 , 28 , . 58 ) 45 % , rgba ( 4 , 10 , 28 , . 9 ) ) ,
var ( --guanghu-login-space ) center / cover ;
isolation : isolate ;
}
. guanghu-login :: before {
position : absolute ;
z-index : -1 ;
inset : 0 ;
background :
radial-gradient ( circle at 26 % 48 % , rgba ( 44 , 152 , 215 , . 18 ) , transparent 28 % ) ,
radial-gradient ( circle at 72 % 38 % , rgba ( 116 , 83 , 196 , . 16 ) , transparent 34 % ) ;
content : '' ;
}
. guanghu-login__stars {
position : absolute ;
z-index : -1 ;
inset : 0 ;
opacity : . 42 ;
background-image : var ( --guanghu-login-space ) ;
background-position : center ;
background-size : cover ;
mix-blend-mode : screen ;
animation : guanghu-stars-breathe 8s ease-in-out infinite alternate ;
}
. guanghu-login__header ,
. guanghu-login__footer {
position : relative ;
z-index : 3 ;
display : flex ;
align-items : center ;
justify-content : space-between ;
padding : 22px 34px ;
border-color : rgba ( 132 , 178 , 222 , . 16 ) ;
background : rgba ( 3 , 9 , 24 , . 58 ) ;
backdrop-filter : blur ( 18px ) ;
}
. guanghu-login__header { border-bottom : 1 px solid rgba ( 132 , 178 , 222 , .16 ) ; }
. guanghu-login__header > div { display : flex ; align-items : center ; gap : 11 px ; }
. guanghu-login__header > div strong { font : 500 15 px / 1 "Songti SC" , Georgia , serif ; letter-spacing : .08 em ; }
. guanghu-login__header > span { color : #7593b3 ; font-size : 11 px ; letter-spacing : .08 em ; }
. guanghu-login__mark {
display : grid ;
width : 34px ;
height : 34px ;
place-items : center ;
border : 1px solid rgba ( 96 , 208 , 239 , . 52 ) ;
border-radius : 50 % ;
color : # b9f3ff ;
background : rgba ( 24 , 119 , 154 , . 2 ) ;
box-shadow : 0 0 24px rgba ( 62 , 192 , 229 , . 24 ) ;
font : 20px / 1 "Songti SC" , serif ;
}
. guanghu-login__system {
display : grid ;
width : min ( 1180px , calc ( 100 % - 72px ) ) ;
grid-template-columns : minmax ( 360px , 1fr ) minmax ( 390px , . 82fr ) ;
align-items : center ;
gap : clamp ( 42px , 8vw , 118px ) ;
margin : auto ;
padding : 50px 0 ;
}
. guanghu-login__orbit {
position : relative ;
display : grid ;
width : min ( 46vw , 510px ) ;
aspect-ratio : 1 ;
place-items : center ;
justify-self : center ;
}
. guanghu-login__orbit img {
width : 58 % ;
height : 58 % ;
object-fit : contain ;
filter : drop-shadow ( 0 0 34px rgba ( 69 , 177 , 235 , . 42 ) ) ;
animation : guanghu-core-breathe 6s ease-in-out infinite alternate ;
}
. guanghu-login__copy { position : relative ; z-index : 2 ; }
. guanghu-login__copy > p : first-child {
margin : 0 0 18px ;
color : # 79cfee ;
font : 10px / 1 . 2 ui-monospace , SFMono-Regular , Menlo , monospace ;
letter-spacing : . 22em ;
}
. guanghu-login__copy h1 {
max-width : 600px ;
margin : 0 ;
color : # f4f8ff ;
font : 500 clamp ( 42px , 5 . 5vw , 78px ) / 1 . 06 "Songti SC" , "STSong" , Georgia , serif ;
letter-spacing : . 04em ;
text-shadow : 0 0 38px rgba ( 81 , 177 , 232 , . 2 ) ;
}
. guanghu-login__copy > p : nth-of-type ( 2 ) {
max-width : 520px ;
margin : 24px 0 0 ;
color : # 879fb9 ;
font-size : 14px ;
line-height : 1 . 85 ;
}
. guanghu-login__action {
min-width : 278px ;
height : 50px ;
justify-content : center ;
gap : 13px ;
margin-top : 34px ;
border : 1px solid rgba ( 126 , 220 , 246 , . 42 ) ;
color : # 061321 ;
background : linear-gradient ( 105deg , # 80ddf3 , # a6c6ff ) ;
box-shadow : 0 16px 42px rgba ( 53 , 162 , 216 , . 2 ) ;
font-size : 13px ;
}
. guanghu-login__handoff ,
. guanghu-login__error {
display : grid ;
max-width : 560px ;
grid-template-columns : auto 1fr auto ;
align-items : center ;
gap : 14px ;
margin-top : 30px ;
padding : 16px ;
border : 1px solid rgba ( 112 , 206 , 224 , . 24 ) ;
border-radius : 12px ;
background : rgba ( 8 , 24 , 45 , . 72 ) ;
}
. guanghu-login__handoff > svg { color : #7ee0bd ; font-size : 25 px ; }
. guanghu-login__handoff > div { display : grid ; gap : 4 px ; }
. guanghu-login__handoff strong { font-size : 13 px ; }
. guanghu-login__handoff span ,
. guanghu-login__handoff code { color : #7890aa ; font-size : 11 px ; }
. guanghu-login__handoff button ,
. guanghu-login__error button { color : #a9dff0 ; border-color : rgba ( 118 , 207 , 235 , .25 ) ; }
. guanghu-login__error {
grid-template-columns : 1fr auto ;
border-color : rgba ( 236 , 112 , 132 , . 3 ) ;
}
. guanghu-login__error strong ,
. guanghu-login__error span { grid-column : 1 ; }
. guanghu-login__error span { color : #df95a3 ; font-size : 11 px ; overflow-wrap : anywhere ; }
. guanghu-login__error button { grid-column : 2 ; grid-row : 1 / 3 ; }
. guanghu-login__privacy {
display : flex ;
align-items : center ;
gap : 8px ;
max-width : 520px ;
margin-top : 22px ;
color : # 607891 ;
font-size : 11px ;
line-height : 1 . 6 ;
}
. guanghu-login__privacy svg { flex : 0 0 auto ; color : #73aec2 ; font-size : 17 px ; }
. guanghu-login__footer {
border-top : 1px solid rgba ( 132 , 178 , 222 , . 16 ) ;
color : # 617b96 ;
font-size : 10px ;
}
. guanghu-login__footer > span { display : flex ; align-items : center ; gap : 8 px ; }
. guanghu-login__footer i {
width : 7px ;
height : 7px ;
border-radius : 50 % ;
background : # 64d6a4 ;
box-shadow : 0 0 10px rgba ( 100 , 214 , 164 , . 7 ) ;
}
. guanghu-login__footer code { color : #57708a ; letter-spacing : .08 em ; }
@ keyframes guanghu-core-breathe {
from { opacity : .84 ; transform : scale ( .985 ) ; }
to { opacity : 1 ; transform : scale ( 1.025 ) ; }
}
@ keyframes guanghu-stars-breathe {
from { opacity : .28 ; }
to { opacity : .46 ; }
}
@ media ( max-width : 820px ) {
. guanghu-login__system {
width : min ( 100 % - 36px , 620px ) ;
grid-template-columns : 1fr ;
gap : 12px ;
padding : 24px 0 42px ;
}
. guanghu-login__orbit { width : min ( 72 vw , 340 px ) ; }
. guanghu-login__copy { text-align : center ; }
. guanghu-login__copy > p : nth-of-type ( 2 ) ,
. guanghu-login__privacy { margin-inline : auto ; }
. guanghu-login__handoff ,
. guanghu-login__error { text-align : left ; }
}
@ media ( prefers-reduced-motion : reduce ) {
. guanghu-login__stars ,
. guanghu-login__orbit img { animation : none ; }
}
. channel-rail nav i { width : 8 px ; height : 8 px ; border-radius : 999 px ; background : var ( - - tag - color ) ; box-shadow : 0 0 10 px color-mix ( in srgb , var ( - - tag - color ) 55 % , transparent ) ; }
. channel-rail nav i [ data-color = "cyan" ] { --tag-color : #4fd1c5 ; } . channel-rail nav i [ data-color = "blue" ] { --tag-color : #60a5fa ; } . channel-rail nav i [ data-color = "violet" ] { --tag-color : #a78bfa ; } . channel-rail nav i [ data-color = "amber" ] { --tag-color : #fbbf24 ; } . channel-rail nav i [ data-color = "rose" ] { --tag-color : #fb7185 ; } . channel-rail nav i [ data-color = "pink" ] { --tag-color : #f472b6 ; } . channel-rail nav i [ data-color = "green" ] { --tag-color : #4ade80 ; }
. channel-rail__modules { display : grid ; gap : 8 px ; margin-top : auto ; padding : 14 px 10 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 10 px ; background : var ( - - surface - card ) ; }
. channel-rail__modules span { color : var ( - - text - muted ) ; font-size : 11 px ; letter-spacing : .12 em ; } . channel-rail__modules b { font-size : 14 px ; font-weight : 550 ; line-height : 1.55 ; }
. channel-mobile-nav { display : none ; }
. world-session-bar { display : flex ; align-items : center ; justify-content : space-between ; width : min ( 1080 px , 100 % ) ; margin : 0 auto 22 px ; padding-bottom : 16 px ; border-bottom : 1 px solid var ( - - border - default ) ; }
. world-session-bar__actions { display : flex ; align-items : center ; gap : 8 px ; }
. world-session-bar__ai { border : 1 px solid color-mix ( in srgb , var ( - - world - accent -2 ) 42 % , transparent ) ; background : color-mix ( in srgb , var ( - - world - accent -2 ) 9 % , transparent ) ; }
. app : has ( . hololake-home ) [ data-ai-workspace-mode = "side" ] {
border-left-color : color-mix ( in srgb , var ( --world-accent-2 ) 35 % , var ( --sidebar-border ) ) ;
background :
radial-gradient ( circle at 80 % 8 % , color-mix ( in srgb , var ( --world-accent-2 ) 12 % , transparent ) , transparent 34 % ) ,
color-mix ( in srgb , var ( --sidebar ) 94 % , transparent ) ;
box-shadow : -20px 0 56px color-mix ( in srgb , var ( --world-bg ) 68 % , transparent ) ;
backdrop-filter : blur ( 18px ) ;
}
. world-presence { display : flex ; align-items : center ; gap : 10 px ; }
. world-presence > i { width : 8 px ; height : 8 px ; border-radius : 50 % ; background : #77d6ad ; box-shadow : 0 0 14 px color-mix ( in srgb , #77d6ad 66 % , transparent ) ; }
. world-presence > span { display : grid ; gap : 2 px ; }
. world-presence strong { font-size : 13 px ; font-weight : 650 ; }
. world-presence small { color : var ( - - text - muted ) ; font : 10 px / 1.4 ui-monospace , SFMono-Regular , Menlo , monospace ; }
. world-presence--large { min-width : 230 px ; padding : 14 px 18 px ; border-left : 1 px solid color-mix ( in srgb , #77d6ad 40 % , var ( - - border - default ) ) ; }
. world-overview { width : min ( 980 px , 100 % ) ; margin : 0 auto ; padding : 12 px 0 48 px ; animation : channel-stage-in .24 s ease-out ; }
. world-overview__intro { max-width : 620 px ; margin : 10 px auto 46 px ; text-align : center ; }
. world-overview__intro > span { color : #8faed0 ; font : 10 px / 1.4 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .2 em ; }
. hololake-home . world-overview__intro h1 { margin : 14 px 0 0 ; font-family : ui-serif , 'Songti SC' , 'STSong' , serif ; font-size : clamp ( 38 px , 5 vw , 60 px ) ; font-weight : 500 ; letter-spacing : .03 em ; }
. world-overview__intro p { margin : 15 px 0 0 ; color : var ( - - text - secondary ) ; font-size : 14 px ; line-height : 1.8 ; }
. world-overview__map { width : min ( 780 px , 100 % ) ; margin : 0 auto ; }
. world-lighthouse { position : relative ; display : flex ; align-items : center ; gap : 18 px ; min-height : 96 px ; padding : 10 px 8 px 24 px ; }
. world-lighthouse :: after { position : absolute ; bottom : 0 ; left : 35 px ; width : 1 px ; height : 24 px ; background : linear-gradient ( #9ab7d7 , var ( - - border - default ) ) ; content : '' ; }
. world-lighthouse__signal { position : relative ; display : grid ; width : 54 px ; height : 54 px ; flex : 0 0 54 px ; place-items : center ; }
. world-lighthouse__signal span { z-index : 1 ; color : #fff1cc ; font-size : 27 px ; text-shadow : 0 0 16 px rgba ( 255 , 239 , 195 , .5 ) ; }
. world-lighthouse__signal i { position : absolute ; inset : 0 ; border : 1 px solid color-mix ( in srgb , #ffe9b0 32 % , var ( - - border - default ) ) ; border-radius : 50 % ; }
. world-lighthouse > div : last-child { display : grid ; gap : 3 px ; } . world-lighthouse > div : last-child > span { color : var ( - - text - muted ) ; font-size : 11 px ; } . world-lighthouse strong { font-size : 18 px ; font-weight : 620 ; } . world-lighthouse small { color : #81bda5 ; font-size : 11 px ; }
. enterprise-domain-list { position : relative ; display : grid ; margin-left : 35 px ; border-left : 1 px solid var ( - - border - default ) ; }
. enterprise-domain-list > div { position : relative ; display : grid ; grid-template-columns : 42 px 1 fr auto ; align-items : center ; min-height : 70 px ; gap : 14 px ; padding : 10 px 8 px 10 px 26 px ; border-bottom : 1 px solid var ( - - border - default ) ; }
. enterprise-domain-list > div :: before { position : absolute ; top : 50 % ; left : -1 px ; width : 18 px ; height : 1 px ; background : var ( - - border - strong ) ; content : '' ; }
. enterprise-domain-list i { color : var ( - - text - muted ) ; font : normal 10 px / 1 ui-monospace , SFMono-Regular , Menlo , monospace ; } . enterprise-domain-list span { display : grid ; gap : 4 px ; } . enterprise-domain-list strong { font-size : 15 px ; font-weight : 600 ; } . enterprise-domain-list small { color : var ( - - text - muted ) ; font-size : 11 px ; } . enterprise-domain-list b { color : var ( - - text - muted ) ; font-size : 10 px ; font-weight : 500 ; }
. world-route-divider { display : flex ; align-items : center ; gap : 12 px ; margin : 26 px 0 16 px 35 px ; color : var ( - - text - muted ) ; font-size : 10 px ; letter-spacing : .12 em ; } . world-route-divider :: before , . world-route-divider :: after { height : 1 px ; flex : 1 ; background : var ( - - border - default ) ; content : '' ; }
. fifth-domain-entry { display : grid ; grid-template-columns : 46 px 1 fr auto ; align-items : center ; width : calc ( 100 % - 35 px ) ; gap : 16 px ; margin-left : 35 px ; padding : 19 px 20 px ; border : 1 px solid color-mix ( in srgb , #81b7eb 46 % , var ( - - border - default ) ) ; border-radius : 12 px ; background : linear-gradient ( 115 deg , color-mix ( in srgb , var ( - - surface - card ) 94 % , #4e8bc4 ) , var ( - - surface - card ) ) ; color : var ( - - text - primary ) ; text-align : left ; cursor : pointer ; box-shadow : 0 16 px 42 px color-mix ( in srgb , #000 13 % , transparent ) ; transition : border-color .18 s ease , transform .18 s ease , background-color .18 s ease ; }
. fifth-domain-entry : hover { border-color : #89bee9 ; transform : translateY ( -2 px ) ; } . fifth-domain-entry > i { color : #91bde6 ; font : normal 11 px / 1 ui-monospace , SFMono-Regular , Menlo , monospace ; } . fifth-domain-entry > span { display : grid ; gap : 4 px ; } . fifth-domain-entry strong { font-size : 18 px ; font-weight : 640 ; } . fifth-domain-entry small { color : var ( - - text - secondary ) ; font-size : 11 px ; } . fifth-domain-entry > b { color : #9ac9f2 ; font-size : 12 px ; font-weight : 600 ; } . fifth-domain-entry em { margin-left : 8 px ; font-style : normal ; }
/ * Guanghu world is a live topology projection . The SVG positions remain stable
while node state and future registry nodes can update independently . * /
. hololake-home [ data-route = "world" ] [ data-world-open = "true" ] . channel-workspace { overflow : hidden ; padding : 0 ; background : #081226 ; }
. hololake-home [ data-route = "world" ] . world-session-bar { display : none ; }
. hololake-home [ data-route = "world" ] . channel-rail { border-right-color : rgba ( 132 , 158 , 214 , .16 ) ; color : #e7edff ; background : linear-gradient ( 180 deg , #101a37 , #0a142c ) ; }
. hololake-home [ data-route = "world" ] . channel-rail__heading { border-bottom-color : rgba ( 132 , 158 , 214 , .15 ) ; }
. hololake-home [ data-route = "world" ] . channel-rail__heading small { color : #7787a6 ; }
. hololake-home [ data-route = "world" ] . channel-rail nav button { color : #8796b5 ; }
. hololake-home [ data-route = "world" ] . channel-rail nav button : hover { color : #e8eeff ; background : rgba ( 112 , 132 , 206 , .08 ) ; }
. hololake-home [ data-route = "world" ] . channel-rail nav button [ data-active = "true" ] { color : #eef2ff ; background : linear-gradient ( 90 deg , rgba ( 83 , 106 , 193 , .26 ) , rgba ( 83 , 106 , 193 , .08 ) ) ; }
. hololake-home [ data-route = "world" ] . channel-rail__modules { border-color : rgba ( 132 , 158 , 214 , .15 ) ; color : #aab7d0 ; background : rgba ( 10 , 20 , 43 , .56 ) ; }
. world-map-shell {
--world-map-line : rgba ( 132 , 158 , 214 , . 24 ) ;
--world-map-surface : rgba ( 19 , 31 , 62 , . 92 ) ;
display : grid ;
height : 100 % ;
min-height : 580px ;
grid-template-columns : minmax ( 0 , 1fr ) 286px ;
grid-template-rows : minmax ( 0 , 1fr ) 52px ;
overflow : hidden ;
color : # e9efff ;
background : # 081226 ;
}
. world-map-canvas { position : relative ; min-width : 0 ; min-height : 0 ; overflow : hidden ; border-right : 1 px solid rgba ( 130 , 154 , 206 , .16 ) ; isolation : isolate ; }
. world-map-canvas { scrollbar-color : rgba ( 113 , 134 , 192 , .55 ) #081226 ; scrollbar-width : thin ; }
. world-map-canvas :: -webkit-scrollbar { height : 6 px ; } . world-map-canvas :: -webkit-scrollbar-track { background : #081226 ; } . world-map-canvas :: -webkit-scrollbar-thumb { border-radius : 999 px ; background : rgba ( 113 , 134 , 192 , .55 ) ; }
. world-map-canvas :: before { position : absolute ; z-index : -2 ; inset : 0 ; background : radial-gradient ( circle at 42 % 52 % , rgba ( 75 , 90 , 187 , .13 ) , transparent 34 % ) , radial-gradient ( circle at 72 % 40 % , rgba ( 45 , 133 , 173 , .07 ) , transparent 32 % ) , linear-gradient ( 145 deg , #09142a , #071022 72 % ) ; content : '' ; }
. world-map-canvas__grid { position : absolute ; z-index : -1 ; inset : 0 ; opacity : .26 ; background-image : linear-gradient ( rgba ( 113 , 139 , 194 , .19 ) 1 px , transparent 1 px ) , linear-gradient ( 90 deg , rgba ( 113 , 139 , 194 , .19 ) 1 px , transparent 1 px ) ; background-size : 58 px 58 px ; mask-image : linear-gradient ( to bottom , transparent , #000 14 % , #000 88 % , transparent ) ; pointer-events : none ; }
. world-map-heading { position : absolute ; z-index : 3 ; top : 19 px ; right : 24 px ; left : 24 px ; display : flex ; align-items : center ; justify-content : space-between ; pointer-events : none ; }
. world-map-heading > div : first-child { display : grid ; gap : 4 px ; } . hololake-home . world-map-heading h1 { margin : 0 ; font : 650 14 px / 1.25 system-ui , - apple-system , "PingFang SC" , sans-serif ; letter-spacing : .04 em ; } . world-map-heading span { color : #7989a9 ; font-size : 10 px ; }
. world-map-heading__presence { display : flex ; align-items : center ; gap : 7 px ; } . world-map-heading__presence i { width : 6 px ; height : 6 px ; border-radius : 50 % ; background : #75e4b0 ; box-shadow : 0 0 10 px #75e4b0 ; }
. world-graph { width : 100 % ; height : 100 % ; min-height : 520 px ; overflow : visible ; }
. world-graph__viewport { transition : transform .28 s ease ; }
. world-graph-edge { fill : none ; stroke : var ( - - world - map - line ) ; stroke-width : 1.35 ; vector-effect : non-scaling-stroke ; }
. world-graph-edge [ data-status = "pending" ] { stroke-dasharray : 4 6 ; opacity : .7 ; }
. world-graph-edge [ data-status = "restricted" ] { stroke : rgba ( 242 , 115 , 142 , .45 ) ; stroke-dasharray : 3 7 ; }
. world-graph-edge [ data-status = "available" ] { stroke : rgba ( 128 , 160 , 232 , .55 ) ; }
. world-graph-edge [ data-status = "online" ] { stroke : url ( "#world-map-live-gradient" ) ; stroke-width : 2 ; stroke-dasharray : 8 8 ; filter : url ( "#world-map-glow" ) ; animation : world-route-flow 2.8 s linear infinite ; }
. world-graph-node { cursor : pointer ; outline : none ; opacity : 0 ; animation : world-node-arrive .42 s cubic-bezier ( .2 , .75 , .25 , 1 ) forwards ; animation-delay : calc ( var ( - - node - index , 0 ) * 45 ms ) ; }
. world-graph-node : focus-visible . world-graph-node__surface { stroke : #b5c8ff ; stroke-width : 2 ; }
. world-graph-node__surface { fill : var ( - - world - map - surface ) ; stroke : rgba ( 132 , 158 , 214 , .35 ) ; stroke-width : 1 ; transition : fill .2 s ease , stroke .2 s ease , filter .2 s ease , transform .2 s ease ; }
. world-graph-node : not ( . world-graph-node--root ) : hover . world-graph-node__surface ,
. world-graph-node [ data-selected = "true" ] . world-graph-node__surface { fill : rgba ( 29 , 44 , 84 , .98 ) ; stroke : rgba ( 145 , 167 , 255 , .85 ) ; filter : drop-shadow ( 0 0 11 px rgba ( 103 , 119 , 255 , .28 ) ) ; }
. world-graph-node [ data-kind = "library" ] . world-graph-node__surface { fill : rgba ( 48 , 39 , 45 , .94 ) ; stroke : rgba ( 232 , 174 , 86 , .55 ) ; }
. world-graph-node [ data-kind = "library" ] [ data-selected = "true" ] . world-graph-node__surface { stroke : #eab76a ; filter : drop-shadow ( 0 0 11 px rgba ( 234 , 183 , 106 , .24 ) ) ; }
. world-graph-node [ data-status = "restricted" ] . world-graph-node__surface { stroke : rgba ( 241 , 111 , 141 , .52 ) ; }
. world-graph-node__presence { fill : #8393bd ; stroke : #101b38 ; stroke-width : 1.5 ; }
. world-graph-node [ data-status = "online" ] . world-graph-node__presence { fill : #78e5dc ; filter : drop-shadow ( 0 0 5 px #78e5dc ) ; animation : world-presence-pulse 2.6 s ease-in-out infinite ; }
. world-graph-node [ data-status = "restricted" ] . world-graph-node__presence { fill : #f06e8d ; filter : drop-shadow ( 0 0 4 px rgba ( 240 , 110 , 141 , .7 ) ) ; }
. world-graph-node [ data-kind = "library" ] . world-graph-node__presence { fill : #e9b364 ; filter : drop-shadow ( 0 0 4 px rgba ( 233 , 179 , 100 , .65 ) ) ; }
. world-graph-node__symbol { fill : #7384ad ; font : 8 px / 1 system-ui , sans-serif ; }
. world-graph-node__label { fill : #e8eeff ; font : 600 12 px / 1 system-ui , - apple-system , "PingFang SC" , sans-serif ; letter-spacing : .01 em ; }
. world-graph-node__status { fill : #7383a4 ; font : 8 px / 1 system-ui , - apple-system , "PingFang SC" , sans-serif ; }
. world-graph-node [ data-status = "online" ] . world-graph-node__status { fill : #72d7cd ; }
. world-graph-node [ data-kind = "library" ] . world-graph-node__status { fill : #c69355 ; }
. world-graph-node__orbit { fill : none ; stroke : rgba ( 122 , 147 , 211 , .45 ) ; }
. world-graph-node__orbit--outer { stroke-dasharray : 2 5 ; animation : world-orbit-spin 28 s linear infinite ; }
. world-graph-node__orbit--inner { stroke : rgba ( 127 , 150 , 222 , .35 ) ; }
. world-graph-node--root . world-graph-node__surface { fill : radial-gradient ( circle , #243368 , #111c3e ) ; fill : rgba ( 31 , 47 , 94 , .96 ) ; stroke : rgba ( 145 , 166 , 238 , .72 ) ; filter : drop-shadow ( 0 0 22 px rgba ( 91 , 107 , 211 , .25 ) ) ; }
. world-graph-node__root-label { fill : #f0f3ff ; font : 650 18 px / 1 system-ui , - apple-system , "PingFang SC" , sans-serif ; letter-spacing : .04 em ; }
. world-map-zoom { position : absolute ; z-index : 4 ; bottom : 22 px ; left : 20 px ; display : grid ; overflow : hidden ; border : 1 px solid rgba ( 134 , 159 , 211 , .25 ) ; border-radius : 9 px ; background : rgba ( 10 , 20 , 43 , .82 ) ; backdrop-filter : blur ( 12 px ) ; }
. world-map-zoom button , . world-map-zoom span { display : grid ; width : 36 px ; height : 34 px ; place-items : center ; border : 0 ; border-bottom : 1 px solid rgba ( 134 , 159 , 211 , .16 ) ; color : #b9c6e3 ; background : transparent ; font : 12 px / 1 system-ui , sans-serif ; }
. world-map-zoom button { cursor : pointer ; } . world-map-zoom button : hover : not ( : disabled ) { color : #fff ; background : rgba ( 114 , 138 , 211 , .12 ) ; } . world-map-zoom button : disabled { opacity : .32 ; cursor : default ; } . world-map-zoom span { color : #7182a5 ; font-size : 8 px ; }
. world-map-legend { position : absolute ; z-index : 4 ; right : 20 px ; bottom : 22 px ; display : grid ; min-width : 126 px ; gap : 8 px ; padding : 13 px 14 px ; border : 1 px solid rgba ( 134 , 159 , 211 , .24 ) ; border-radius : 10 px ; background : rgba ( 10 , 20 , 43 , .78 ) ; backdrop-filter : blur ( 12 px ) ; }
. world-map-legend strong { margin-bottom : 2 px ; color : #aebbd8 ; font-size : 9 px ; font-weight : 600 ; } . world-map-legend span { display : flex ; align-items : center ; gap : 8 px ; color : #7283a5 ; font-size : 8 px ; } . world-map-legend i { width : 7 px ; height : 7 px ; border-radius : 50 % ; background : #8393bd ; } . world-map-legend span [ data-status = "online" ] i { background : #78e5dc ; box-shadow : 0 0 7 px #78e5dc ; } . world-map-legend span [ data-status = "available" ] i { background : #8ba2e1 ; } . world-map-legend span [ data-status = "restricted" ] i { background : #f06e8d ; }
. world-node-inspector { display : flex ; min-width : 0 ; flex-direction : column ; gap : 20 px ; overflow-y : auto ; padding : 25 px 20 px 18 px ; background : linear-gradient ( 180 deg , rgba ( 15 , 27 , 56 , .98 ) , rgba ( 9 , 18 , 39 , .98 ) ) ; }
. world-node-inspector > header { display : grid ; grid-template-columns : 46 px 1 fr ; align-items : start ; gap : 13 px ; padding-bottom : 20 px ; border-bottom : 1 px solid rgba ( 132 , 158 , 214 , .17 ) ; }
. world-node-inspector__symbol { display : grid ; width : 44 px ; height : 44 px ; place-items : center ; border : 1 px solid rgba ( 135 , 155 , 232 , .52 ) ; border-radius : 50 % ; color : #b7c4ff ; background : rgba ( 95 , 86 , 193 , .12 ) ; box-shadow : inset 0 0 14 px rgba ( 121 , 103 , 241 , .12 ) ; font-size : 11 px ; }
. world-node-inspector__symbol [ data-kind = "library" ] { border-color : rgba ( 232 , 174 , 86 , .55 ) ; color : #eac078 ; background : rgba ( 181 , 121 , 50 , .1 ) ; }
. world-node-inspector h2 { margin : 2 px 0 5 px ; font-size : 19 px ; font-weight : 650 ; } . world-node-inspector header p { margin : 0 ; color : #7e8dad ; font-size : 10 px ; line-height : 1.6 ; }
. world-node-inspector__state { display : flex ; align-items : center ; gap : 8 px ; color : #8393b2 ; font-size : 10 px ; } . world-node-inspector__state i { width : 7 px ; height : 7 px ; border-radius : 50 % ; background : #8393bd ; } . world-node-inspector__state [ data-status = "online" ] { color : #76ddd3 ; } . world-node-inspector__state [ data-status = "online" ] i { background : #78e5dc ; box-shadow : 0 0 8 px #78e5dc ; } . world-node-inspector__state [ data-status = "restricted" ] { color : #ef829b ; } . world-node-inspector__state [ data-status = "restricted" ] i { background : #f06e8d ; }
. world-node-inspector dl { display : grid ; gap : 0 ; margin : 0 ; } . world-node-inspector dl div { display : grid ; grid-template-columns : 70 px minmax ( 0 , 1 fr ) ; gap : 10 px ; padding : 10 px 0 ; border-bottom : 1 px solid rgba ( 132 , 158 , 214 , .12 ) ; font-size : 9 px ; } . world-node-inspector dt { color : #637392 ; } . world-node-inspector dd { min-width : 0 ; margin : 0 ; overflow : hidden ; color : #a9b6d1 ; text-align : right ; text-overflow : ellipsis ; white-space : nowrap ; }
. world-node-inspector__actions { display : grid ; gap : 8 px ; } . world-node-inspector__actions button { width : 100 % ; min-height : 40 px ; justify-content : space-between ; border-color : rgba ( 129 , 150 , 229 , .4 ) ; border-radius : 7 px ; font-size : 10 px ; } . world-node-inspector__actions button : first-child : not ( : disabled ) { color : #fff ; background : linear-gradient ( 90 deg , #587de0 , #695fd8 ) ; box-shadow : 0 8 px 22 px rgba ( 73 , 77 , 177 , .22 ) ; }
. world-node-inspector > footer { margin-top : auto ; padding-top : 15 px ; border-top : 1 px solid rgba ( 132 , 158 , 214 , .14 ) ; color : #61708f ; font-size : 8 px ; } . world-node-inspector > footer span { display : flex ; align-items : center ; gap : 7 px ; } . world-node-inspector > footer i { width : 5 px ; height : 5 px ; border-radius : 50 % ; background : #74d5a8 ; box-shadow : 0 0 7 px #74d5a8 ; }
. world-map-status { grid-column : 1 / -1 ; display : flex ; align-items : center ; gap : clamp ( 22 px , 5 vw , 72 px ) ; padding : 0 24 px ; border-top : 1 px solid rgba ( 132 , 158 , 214 , .18 ) ; color : #657594 ; background : rgba ( 8 , 17 , 37 , .98 ) ; font-size : 9 px ; }
. world-map-status span { display : flex ; align-items : center ; gap : 7 px ; } . world-map-status span : first-child i { width : 6 px ; height : 6 px ; border-radius : 50 % ; background : #78e5dc ; box-shadow : 0 0 8 px #78e5dc ; } . world-map-status b { color : #a3b1cd ; font-weight : 600 ; }
@ keyframes world-route-flow { to { stroke-dashoffset : -32 ; } }
@ keyframes world-node-arrive { from { opacity : 0 ; } to { opacity : 1 ; } }
@ keyframes world-presence-pulse { 0 % , 100 % { opacity : .72 ; } 50 % { opacity : 1 ; } }
@ keyframes world-orbit-spin { to { transform : rotate ( 360 deg ) ; } }
. world-gate { position : absolute ; inset : 0 ; display : grid ; min-height : 560 px ; place-content : center ; justify-items : center ; overflow : hidden ; padding : 48 px ; text-align : center ; isolation : isolate ; }
. world-gate__atmosphere { position : absolute ; z-index : -2 ; inset : -2 % ; background : #06101d url ( './assets/guanghu-world-entry.jpg' ) center / cover no-repeat ; transform : scale ( 1.02 ) ; animation : world-atmosphere-drift 26 s ease-in-out infinite alternate ; will-change : transform ; }
. world-gate :: after { position : absolute ; z-index : -1 ; inset : 0 ; background : linear-gradient ( 180 deg , rgba ( 2 , 9 , 18 , .1 ) , rgba ( 2 , 8 , 17 , .2 ) 52 % , rgba ( 2 , 8 , 17 , .5 ) ) ; content : '' ; pointer-events : none ; }
. world-gate__sigil { position : relative ; display : grid ; width : 92 px ; height : 92 px ; place-items : center ; margin-bottom : 22 px ; }
. world-gate__sigil span { color : #fff6df ; font-size : 46 px ; line-height : 1 ; text-shadow : 0 0 22 px rgba ( 255 , 239 , 195 , .45 ) ; animation : world-sigil-breathe 4.8 s ease-in-out infinite ; }
. world-gate__sigil i { position : absolute ; inset : 4 px ; border : 1 px solid rgba ( 255 , 239 , 195 , .24 ) ; border-radius : 50 % ; }
. world-gate__copy { display : grid ; justify-items : center ; }
. world-gate__copy > span { color : #90a7c2 ; font : 10 px / 1.4 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .18 em ; }
. hololake-home . world-gate__copy h1 { margin : 15 px 0 0 ; color : #edf4ff ; font-family : ui-serif , 'Songti SC' , 'STSong' , serif ; font-size : clamp ( 32 px , 3.4 vw , 46 px ) ; font-weight : 500 ; line-height : 1.15 ; letter-spacing : .02 em ; }
. world-gate__copy p { max-width : 520 px ; margin : 14 px 0 0 ; color : #9cadc1 ; font-size : 14 px ; line-height : 1.8 ; }
. world-gate__enter { min-width : 236 px ; height : 48 px ; gap : 11 px ; margin-top : 30 px ; border : 1 px solid rgba ( 178 , 215 , 255 , .6 ) ; border-radius : 9 px ; background : linear-gradient ( 180 deg , rgba ( 119 , 174 , 229 , .86 ) , rgba ( 67 , 119 , 177 , .9 ) ) ; color : #fff ; box-shadow : 0 12 px 34 px rgba ( 13 , 56 , 101 , .35 ) , inset 0 1 px rgba ( 255 , 255 , 255 , .24 ) ; font-size : 15 px ; }
. world-gate__enter : hover { background : linear-gradient ( 180 deg , rgba ( 137 , 190 , 239 , .94 ) , rgba ( 76 , 132 , 194 , .96 ) ) ; transform : translateY ( -1 px ) ; }
. world-gate__progress { display : flex ; align-items : center ; gap : 10 px ; margin-top : 30 px ; color : #b8c8d9 ; font-size : 13 px ; }
. world-gate__progress i { width : 14 px ; height : 14 px ; border : 1.5 px solid rgba ( 184 , 200 , 217 , .28 ) ; border-top-color : #cbe7ff ; border-radius : 50 % ; animation : spin .8 s linear infinite ; }
. world-gate__error { display : grid ; max-width : 560 px ; gap : 6 px ; margin-top : 18 px ; padding : 12 px 16 px ; border : 1 px solid rgba ( 248 , 113 , 113 , .28 ) ; border-radius : 8 px ; background : rgba ( 47 , 14 , 22 , .58 ) ; color : #fca5a5 ; font-size : 12 px ; text-align : left ; }
. world-gate__error code { overflow-wrap : anywhere ; color : #c7b7bd ; font-size : 10 px ; }
. world-gate__path { display : flex ; align-items : center ; gap : 8 px ; margin-top : 44 px ; color : #8294a9 ; font-size : 11 px ; }
. world-gate__path span { margin-right : 3 px ; color : #64778e ; } . world-gate__path b { color : #a9b7c7 ; font-weight : 550 ; } . world-gate__path code { color : #a4bdd7 ; font-size : 10 px ; }
. node-page__heading { display : flex ; align-items : end ; justify-content : space-between ; gap : 40 px ; margin-bottom : 34 px ; }
. node-page__heading . channel-stage__lead { margin-bottom : 0 ; }
. node-page__content { display : grid ; grid-template-columns : minmax ( 240 px , .7 fr ) minmax ( 0 , 1.3 fr ) ; gap : 28 px ; align-items : start ; }
. node-page__primary { display : grid ; gap : 8 px ; padding : 24 px 0 ; border-top : 1 px solid var ( - - border - strong ) ; }
. node-page__primary > span { color : var ( - - text - muted ) ; font-size : 11 px ; } . node-page__primary > strong { margin-top : 16 px ; font : 500 28 px / 1.2 ui-monospace , SFMono-Regular , Menlo , monospace ; } . node-page__primary > p { margin : 0 0 18 px ; color : var ( - - text - secondary ) ; }
. node-page__primary dl { display : grid ; gap : 0 ; margin : 0 0 18 px ; } . node-page__primary dl div { display : flex ; justify-content : space-between ; padding : 11 px 0 ; border-bottom : 1 px solid var ( - - border - default ) ; font-size : 12 px ; } . node-page__primary dt { color : var ( - - text - muted ) ; } . node-page__primary dd { margin : 0 ; }
. node-page__content > . guanghu-router-console { margin : 0 ; padding : 24 px 0 0 ; border-top : 1 px solid var ( - - border - strong ) ; }
. hololake-home__hero { position : relative ; max-width : 740 px ; padding : 24 px 0 56 px ; overflow : hidden ; }
. hololake-home__halo { position : absolute ; right : -80 px ; top : -140 px ; width : 300 px ; aspect-ratio : 1 ; border : 1 px solid var ( - - border - default ) ; border-radius : 50 % ; opacity : .45 ; }
. hololake-home__eyebrow , . hololake-home__section-head span { color : var ( - - accent - blue ) ; font-size : 12 px ; letter-spacing : .12 em ; text-transform : uppercase ; }
. hololake-home h1 { position : relative ; margin : 18 px 0 0 ; font-family : Georgia , 'Times New Roman' , serif ; font-size : clamp ( 52 px , 7 vw , 92 px ) ; font-weight : 500 ; line-height : .95 ; letter-spacing : -.06 em ; }
. hololake-home h1 em { color : #9cc7ff ; font-style : italic ; font-weight : 400 ; }
. hololake-home__lead { margin : 20 px 0 0 ; font-size : 18 px ; letter-spacing : .16 em ; }
. hololake-home__copy { max-width : 560 px ; margin : 16 px 0 0 ; color : var ( - - text - secondary ) ; font-size : 15 px ; line-height : 1.8 ; }
. hololake-home__actions { display : flex ; align-items : center ; gap : 18 px ; margin-top : 30 px ; }
. hololake-home__primary { padding : 10 px 16 px ; border : 1 px solid var ( - - border - strong ) ; border-radius : 6 px ; background : var ( - - accent - blue ) ; color : var ( - - text - inverse ) ; font-weight : 650 ; cursor : pointer ; }
. hololake-home__primary span , . hololake-module button span { margin-left : 12 px ; }
. hololake-home__status { color : var ( - - text - secondary ) ; font-size : 12 px ; } . hololake-home__status i { display : inline-block ; width : 7 px ; height : 7 px ; margin-right : 7 px ; border-radius : 50 % ; background : var ( - - accent - green ) ; }
. hololake-home__signal-grid { display : grid ; grid-template-columns : repeat ( 3 , minmax ( 0 , 1 fr ) ) ; gap : 12 px ; }
. hololake-home__module-grid { display : grid ; grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ; gap : 12 px ; }
. hololake-home__signal-grid article , . hololake-module { border : 1 px solid var ( - - border - default ) ; border-radius : 8 px ; background : var ( - - surface - card ) ; }
. hololake-home__signal-grid article { padding : 18 px ; } . hololake-home__signal-grid span , . hololake-home__signal-grid small { display : block ; color : var ( - - text - secondary ) ; font-size : 11 px ; } . hololake-home__signal-grid strong { display : block ; margin : 10 px 0 6 px ; font-size : 15 px ; }
. hololake-home__modules { margin-top : 44 px ; } . hololake-home__section-head { display : flex ; align-items : end ; justify-content : space-between ; margin-bottom : 14 px ; } . hololake-home__section-head p { margin : 0 ; color : var ( - - text - secondary ) ; font-size : 13 px ; }
. hololake-module { min-height : 185 px ; padding : 20 px ; display : flex ; flex-direction : column ; } . hololake-module__number { color : var ( - - accent - blue ) ; font-family : monospace ; font-size : 12 px ; } . hololake-module h2 { margin : auto 0 8 px ; font-size : 20 px ; font-weight : 600 ; } . hololake-module p { margin : 0 ; color : var ( - - text - secondary ) ; font-size : 13 px ; line-height : 1.7 ; } . hololake-module button { margin-top : 19 px ; padding : 0 ; border : 0 ; color : var ( - - accent - blue ) ; background : transparent ; text-align : left ; font : inherit ; cursor : pointer ; } . hololake-module__soon { margin-top : 19 px ; color : var ( - - text - muted ) ; font-size : 12 px ; }
. channel-breadcrumb { display : flex ; align-items : center ; min-height : 34 px ; margin-bottom : 34 px ; color : var ( - - text - muted ) ; }
. channel-breadcrumb button { padding-inline : 8 px ; color : var ( - - text - secondary ) ; }
. channel-breadcrumb span { color : var ( - - border - strong ) ; }
. channel-stage { width : min ( 1080 px , 100 % ) ; margin : 0 auto ; animation : channel-stage-in .24 s ease-out ; }
. channel-stage--root { position : relative ; display : flex ; min-height : min ( 680 px , calc ( 100 vh - 180 px ) ) ; flex-direction : column ; justify-content : center ; isolation : isolate ; }
. channel-stage__aurora { position : absolute ; z-index : -1 ; top : 50 % ; left : 36 % ; width : min ( 720 px , 72 vw ) ; height : min ( 720 px , 72 vw ) ; border-radius : 50 % ; background : radial-gradient ( circle at 36 % 42 % , color-mix ( in srgb , var ( - - accent - blue ) 26 % , transparent ) , transparent 34 % ) , radial-gradient ( circle at 68 % 58 % , color-mix ( in srgb , #a78bfa 18 % , transparent ) , transparent 42 % ) ; filter : blur ( 14 px ) ; opacity : .72 ; transform : translate ( -50 % , -50 % ) ; animation : channel-aurora-breathe 8 s ease-in-out infinite alternate ; pointer-events : none ; }
. channel-root-layout { display : grid ; grid-template-columns : minmax ( 0 , 1.15 fr ) minmax ( 330 px , .85 fr ) ; align-items : center ; gap : clamp ( 34 px , 6 vw , 84 px ) ; }
. channel-root-hero { min-width : 0 ; }
. channel-root-actions { display : flex ; flex-wrap : wrap ; gap : 10 px ; }
. channel-root-map { overflow : hidden ; border : 1 px solid color-mix ( in srgb , var ( - - border - strong ) 72 % , var ( - - accent - blue ) ) ; border-radius : 22 px ; background : linear-gradient ( 155 deg , color-mix ( in srgb , var ( - - surface - card ) 92 % , var ( - - accent - blue ) ) , color-mix ( in srgb , var ( - - surface - panel ) 96 % , transparent ) ) ; box-shadow : 0 32 px 90 px color-mix ( in srgb , #000 22 % , transparent ) , inset 0 1 px color-mix ( in srgb , #fff 9 % , transparent ) ; backdrop-filter : blur ( 24 px ) ; transition : border-color .28 s ease , background-color .28 s ease , box-shadow .28 s ease , transform .28 s ease ; }
. channel-root-map : hover { transform : translateY ( -4 px ) ; box-shadow : 0 38 px 105 px color-mix ( in srgb , #000 26 % , transparent ) , inset 0 1 px color-mix ( in srgb , #fff 11 % , transparent ) ; }
. channel-root-map header { display : grid ; gap : 7 px ; padding : 24 px 24 px 19 px ; border-bottom : 1 px solid var ( - - border - default ) ; }
. channel-root-map header span { color : var ( - - accent - blue ) ; font : 10 px / 1 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .16 em ; }
. channel-root-map header b { font-size : 24 px ; letter-spacing : -.02 em ; }
. channel-root-map header small { color : var ( - - text - muted ) ; font-size : 13 px ; line-height : 1.55 ; }
. channel-root-map__route { position : relative ; display : grid ; gap : 3 px ; padding : 14 px ; }
. channel-root-map__route :: before { position : absolute ; top : 38 px ; bottom : 38 px ; left : 36 px ; width : 1 px ; background : linear-gradient ( var ( - - accent - blue ) , #a78bfa , #fb7185 ) ; opacity : .45 ; content : '' ; }
. channel-root-map__route button { position : relative ; display : grid ; grid-template-columns : 16 px 1 fr auto ; align-items : center ; gap : 12 px ; width : 100 % ; padding : 16 px 13 px ; border : 0 ; border-radius : 12 px ; background : transparent ; color : var ( - - text - primary ) ; text-align : left ; cursor : pointer ; transition : background-color .18 s ease , transform .18 s ease ; }
. channel-root-map__route button : hover { background : var ( - - state - hover ) ; transform : translateX ( 5 px ) ; }
. channel-root-map__route button > i { z-index : 1 ; width : 9 px ; height : 9 px ; border : 2 px solid var ( - - surface - card ) ; border-radius : 50 % ; background : var ( - - map - dot ) ; box-shadow : 0 0 13 px var ( - - map - dot ) ; }
. channel-root-map__route i [ data-color = "blue" ] { --map-dot : #60a5fa ; } . channel-root-map__route i [ data-color = "violet" ] { --map-dot : #a78bfa ; } . channel-root-map__route i [ data-color = "rose" ] { --map-dot : #fb7185 ; }
. channel-root-map__route button span { display : flex ; align-items : center ; gap : 9 px ; font-size : 15 px ; font-weight : 650 ; }
. channel-root-map__route button span small { color : var ( - - text - muted ) ; font : 9 px / 1 ui-monospace , SFMono-Regular , Menlo , monospace ; }
. channel-root-map__route button b { color : var ( - - text - muted ) ; font-size : 12 px ; font-weight : 500 ; }
. channel-root-map footer { display : flex ; align-items : center ; justify-content : space-between ; padding : 14 px 24 px ; border-top : 1 px solid var ( - - border - default ) ; color : var ( - - text - muted ) ; font-size : 10 px ; }
. channel-root-map footer span { display : flex ; align-items : center ; gap : 7 px ; } . channel-root-map footer i { width : 6 px ; height : 6 px ; border-radius : 50 % ; background : var ( - - accent - green ) ; box-shadow : 0 0 9 px var ( - - accent - green ) ; } . channel-root-map footer code { color : var ( - - accent - blue ) ; font-size : 9 px ; }
. channel-stage__eyebrow , . channel-card__eyebrow { color : var ( - - accent - blue ) ; font : 11 px / 1.4 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .13 em ; }
. channel-stage h1 { max-width : 820 px ; margin : 12 px 0 0 ; font-family : Georgia , 'Times New Roman' , serif ; font-size : clamp ( 44 px , 6 vw , 78 px ) ; font-weight : 500 ; line-height : 1 ; letter-spacing : -.055 em ; }
. channel-stage__lead { max-width : 720 px ; margin : 24 px 0 36 px ; color : var ( - - text - secondary ) ; font-size : 17 px ; line-height : 1.8 ; }
. channel-stage--root . hololake-home__primary { margin-top : 8 px ; }
. channel-grid { display : grid ; grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ; gap : 14 px ; }
. channel-grid--three { grid-template-columns : repeat ( 3 , minmax ( 0 , 1 fr ) ) ; }
. channel-card { display : flex ; min-height : 240 px ; flex-direction : column ; padding : 26 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 16 px ; background : linear-gradient ( 145 deg , var ( - - surface - card ) , color-mix ( in srgb , var ( - - surface - card ) 92 % , var ( - - accent - blue ) ) ) ; box-shadow : 0 8 px 28 px color-mix ( in srgb , #000 7 % , transparent ) ; transition : transform .22 s ease , border-color .22 s ease , box-shadow .22 s ease ; }
. channel-card : hover { transform : translateY ( -4 px ) ; border-color : color-mix ( in srgb , var ( - - accent - blue ) 55 % , var ( - - border - default ) ) ; box-shadow : 0 18 px 42 px color-mix ( in srgb , #000 14 % , transparent ) ; }
. channel-card h2 { margin : auto 0 10 px ; font-size : 24 px ; font-weight : 650 ; letter-spacing : -.02 em ; }
. channel-card p { min-height : 46 px ; margin : 0 ; color : var ( - - text - secondary ) ; font-size : 15 px ; line-height : 1.75 ; }
. channel-card button { align-self : flex-start ; margin-top : 20 px ; padding : 0 ; color : var ( - - accent - blue ) ; }
. channel-card__status { margin-top : 20 px ; color : var ( - - text - muted ) ; font-size : 12 px ; }
. channel-stage__tools { display : flex ; gap : 10 px ; margin-top : 18 px ; }
. server-grid { display : grid ; grid-template-columns : repeat ( 3 , minmax ( 0 , 1 fr ) ) ; gap : 14 px ; }
. server-card { padding : 20 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 12 px ; background : var ( - - surface - card ) ; }
. server-card__head { display : flex ; align-items : center ; justify-content : space-between ; gap : 12 px ; } . server-card__head code { color : var ( - - accent - blue ) ; font-size : 11 px ; } . server-card__head span { padding : 3 px 7 px ; border-radius : 999 px ; background : var ( - - surface - panel ) ; color : var ( - - text - muted ) ; font-size : 10 px ; } . server-card__head span [ data-tone = "online" ] { background : color-mix ( in srgb , var ( - - accent - green ) 18 % , transparent ) ; color : var ( - - accent - green ) ; }
. server-card h2 { margin : 28 px 0 6 px ; font-size : 18 px ; } . server-card > p { margin : 0 0 22 px ; color : var ( - - text - secondary ) ; font-size : 12 px ; } . server-card dl { display : grid ; gap : 8 px ; margin : 0 0 20 px ; } . server-card dl div { display : flex ; justify-content : space-between ; gap : 12 px ; font-size : 11 px ; } . server-card dt { color : var ( - - text - muted ) ; } . server-card dd { margin : 0 ; color : var ( - - text - secondary ) ; } . server-card button { width : 100 % ; font-size : 11 px ; }
. guanghu-router-console { display : grid ; gap : 12 px ; margin-top : 16 px ; padding-top : 16 px ; border-top : 1 px solid var ( - - border - default ) ; } . guanghu-router-console > p { margin : 0 ; color : var ( - - text - secondary ) ; font-size : 11 px ; line-height : 1.6 ; } . guanghu-router-console__status { display : flex ; align-items : center ; gap : 8 px ; font-size : 12 px ; } . guanghu-router-console__status > span { width : 8 px ; height : 8 px ; padding : 0 ; border-radius : 999 px ; background : var ( - - text - muted ) ; } . guanghu-router-console__status > span [ data-state = "online" ] { background : var ( - - accent - green ) ; box-shadow : 0 0 12 px color-mix ( in srgb , var ( - - accent - green ) 55 % , transparent ) ; } . guanghu-router-console__status > span [ data-state = "connecting" ] { background : var ( - - accent - blue ) ; } . guanghu-router-console__status > span [ data-state = "error" ] { background : var ( - - accent - red ) ; } . guanghu-router-console__error { display : grid ; gap : 6 px ; padding : 10 px ; border : 1 px solid color-mix ( in srgb , var ( - - accent - red ) 35 % , var ( - - border - default ) ) ; border-radius : 8 px ; color : var ( - - accent - red ) ; font-size : 11 px ; } . guanghu-router-console__error code { overflow-wrap : anywhere ; color : var ( - - text - secondary ) ; } . guanghu-router-console__receipt { padding : 10 px ; border-radius : 8 px ; background : var ( - - surface - panel ) ; } . guanghu-router-console__receipt dd { max-width : 65 % ; overflow-wrap : anywhere ; text-align : right ; } . guanghu-router-console__broadcast { display : grid ; gap : 10 px ; padding-top : 4 px ; } . guanghu-router-console__broadcast > header { display : flex ; align-items : center ; justify-content : space-between ; } . guanghu-router-console__broadcast > header span { min-width : 22 px ; padding : 2 px 6 px ; border-radius : 999 px ; background : var ( - - surface - panel ) ; text-align : center ; font-size : 10 px ; } . guanghu-router-console__broadcast > p { margin : 0 ; color : var ( - - text - muted ) ; font-size : 11 px ; } . guanghu-router-console__broadcast article { display : grid ; gap : 10 px ; padding : 12 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 10 px ; background : var ( - - surface - panel ) ; } . guanghu-router-console__broadcast article > div { display : flex ; justify-content : space-between ; gap : 8 px ; } . guanghu-router-console__broadcast article > p { margin : 0 ; color : var ( - - text - secondary ) ; font-size : 11 px ; }
. guanghu-router-console__repositories { display : grid ; gap : 10 px ; padding-top : 4 px ; } . guanghu-router-console__repositories > header { display : grid ; gap : 3 px ; } . guanghu-router-console__repositories > header span { color : var ( - - text - muted ) ; font-size : 10 px ; } . guanghu-router-console__repositories article { display : grid ; gap : 8 px ; padding : 12 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 10 px ; background : var ( - - surface - panel ) ; } . guanghu-router-console__repositories article > code { overflow-wrap : anywhere ; color : var ( - - text - muted ) ; font-size : 9 px ; } . guanghu-router-console__repositories article > p { margin : 0 ; overflow-wrap : anywhere ; color : var ( - - text - secondary ) ; font-size : 10 px ; } . guanghu-router-console__repositories article > div { display : flex ; gap : 8 px ; flex-wrap : wrap ; }
. persona-route-list { display : grid ; gap : 12 px ; max-width : 820 px ; margin : 0 ; padding : 0 ; list-style : none ; }
. persona-route-list li { display : grid ; grid-template-columns : 140 px 1 fr auto ; align-items : center ; gap : 18 px ; padding : 20 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 10 px ; background : var ( - - surface - card ) ; }
. persona-route-list code { color : var ( - - accent - blue ) ; font-size : 11 px ; }
. persona-route-list strong { font-size : 15 px ; }
. persona-route-list span { color : var ( - - text - muted ) ; }
@ keyframes channel-stage-in { from { opacity : 0 ; transform : translateY ( 12 px ) ; } to { opacity : 1 ; transform : translateY ( 0 ) ; } }
@ keyframes channel-aurora-breathe { from { opacity : .56 ; transform : translate ( -52 % , -50 % ) scale ( .96 ) ; } to { opacity : .82 ; transform : translate ( -48 % , -50 % ) scale ( 1.06 ) ; } }
@ keyframes world-atmosphere-drift { from { transform : scale ( 1.02 ) translate3d ( -.35 % , 0 , 0 ) ; } to { transform : scale ( 1.045 ) translate3d ( .35 % , -.25 % , 0 ) ; } }
@ keyframes world-sigil-breathe { 0 % , 100 % { opacity : .78 ; transform : scale ( .96 ) ; } 50 % { opacity : 1 ; transform : scale ( 1.03 ) ; } }
@ media ( prefers-reduced-motion : reduce ) {
. channel-stage ,
. channel-stage__aurora ,
. channel-card ,
. channel-root-map ,
. channel-root-map__route button ,
. channel-rail nav button ,
. world-overview ,
. fifth-domain-entry ,
. world-graph-edge ,
. world-graph-node ,
. world-graph-node__presence ,
. world-graph-node__orbit ,
. world-gate__atmosphere ,
. world-gate__sigil span ,
. world-gate__progress i { animation : none ; transition : none ; }
}
. guanghu-architecture { max-width : min ( 760 px , calc ( 100 vw - 32 px ) ) ; max-height : min ( 760 px , calc ( 100 vh - 32 px ) ) ; overflow : auto ; background : var ( - - surface - card ) ; color : var ( - - text - primary ) ; }
. guanghu-architecture__routes { display : grid ; gap : 10 px ; margin : 8 px 0 0 ; padding : 0 ; list-style : none ; }
. guanghu-architecture__routes li { display : grid ; grid-template-columns : minmax ( 128 px , auto ) 1 fr ; gap : 16 px ; padding : 14 px ; border : 1 px solid var ( - - border - default ) ; border-radius : 8 px ; background : var ( - - surface - app ) ; }
. guanghu-architecture__routes code { align-self : start ; color : var ( - - accent - blue ) ; font-size : 11 px ; }
. guanghu-architecture__routes strong { font-size : 14 px ; } . guanghu-architecture__routes p { margin : 5 px 0 0 ; color : var ( - - text - secondary ) ; font-size : 12 px ; line-height : 1.65 ; }
. guanghu-architecture__route { overflow-x : auto ; margin : 2 px 0 0 ; padding : 12 px ; border-radius : 6 px ; color : var ( - - text - secondary ) ; background : var ( - - surface - app ) ; font : 11 px / 1.6 monospace ; white-space : nowrap ; }
@ media ( max-width : 1000px ) { . server-grid { grid-template-columns : 1 fr ; } . node-page__content { grid-template-columns : 1 fr ; } }
@ media ( max-width : 1100px ) {
. world-map-shell { grid-template-columns : minmax ( 0 , 1 fr ) 244 px ; }
. world-node-inspector { padding-inline : 16 px ; }
. world-node-inspector > header { grid-template-columns : 38 px 1 fr ; gap : 10 px ; }
. world-node-inspector__symbol { width : 36 px ; height : 36 px ; }
}
@ media ( max-width : 1050px ) { . channel-root-layout { grid-template-columns : 1 fr ; } . channel-root-map { width : min ( 580 px , 100 % ) ; } . channel-stage--root { padding-block : 30 px ; } }
@ media ( max-width : 900px ) { . channel-grid--three { grid-template-columns : 1 fr ; } . channel-card { min-height : 190 px ; } . channel-rail { width : 190 px ; flex-basis : 190 px ; } }
@ media ( max-width : 780px ) {
. hololake-bar { height : calc ( 52 px + env ( safe - area - inset - top ) ) ; padding-top : env ( safe - area - inset - top ) ; padding-inline : 16 px 12 px ; }
. hololake-bar__brand { font-size : 15 px ; } . hololake-bar__context { display : none ; } . hololake-theme-nav { min-width : 0 ; width : 138 px ; }
. app { min-height : 0 ; }
. hololake-home__signal-grid , . hololake-home__module-grid , . channel-grid { grid-template-columns : 1 fr ; }
. hololake-home { padding-bottom : calc ( 70 px + env ( safe - area - inset - bottom ) ) ; }
. channel-workspace { padding : 20 px 18 px 32 px ; } . channel-rail { display : none ; } . channel-breadcrumb { margin-bottom : 18 px ; overflow-x : auto ; } . channel-stage h1 { font-size : clamp ( 38 px , 12 vw , 52 px ) ; } . channel-stage__lead { margin : 16 px 0 24 px ; } . channel-stage--root { min-height : calc ( 100 dvh - 190 px ) ; } . channel-root-map__route button { grid-template-columns : 16 px 1 fr ; } . channel-root-map__route button > b { display : none ; } . channel-card { min-height : 180 px ; padding : 20 px ; } . channel-grid--three { grid-template-columns : 1 fr ; } . server-grid { grid-template-columns : 1 fr ; } . world-gate { padding : 28 px 20 px ; } . world-gate__path { flex-wrap : wrap ; justify-content : center ; } . node-page__heading { display : grid ; } . world-session-bar { margin-bottom : 18 px ; } . world-overview__intro { margin-bottom : 28 px ; } . enterprise-domain-list { margin-left : 16 px ; } . fifth-domain-entry { width : calc ( 100 % - 16 px ) ; margin-left : 16 px ; grid-template-columns : 34 px 1 fr ; } . fifth-domain-entry > b { grid-column : 2 ; } . world-route-divider { margin-left : 16 px ; }
. channel-mobile-nav { position : fixed ; z-index : 20 ; right : 0 ; bottom : 0 ; left : 0 ; display : grid ; grid-template-columns : repeat ( 5 , 1 fr ) ; padding : 6 px 8 px calc ( 6 px + env ( safe - area - inset - bottom ) ) ; border-top : 1 px solid var ( - - border - default ) ; background : color-mix ( in srgb , var ( - - surface - sidebar ) 92 % , transparent ) ; backdrop-filter : blur ( 18 px ) ; }
. channel-mobile-nav button { display : grid ; height : 48 px ; min-width : 0 ; place-items : center ; gap : 0 ; padding : 2 px ; color : var ( - - text - muted ) ; } . channel-mobile-nav button [ data-active = "true" ] { color : var ( - - accent - blue ) ; } . channel-mobile-nav span { font-size : 18 px ; line-height : 1 ; } . channel-mobile-nav small { font-size : 9 px ; }
. channel-dock { width : 48 px ; flex-basis : 48 px ; padding-inline : 4 px ; } . channel-dock button { width : 40 px ; }
}
@ media ( max-width : 780px ) {
. hololake-home [ data-route = "world" ] { padding-bottom : 0 ; }
. hololake-home [ data-route = "world" ] . channel-mobile-nav { display : none ; }
. world-map-shell { min-height : 0 ; grid-template-columns : 1 fr ; grid-template-rows : minmax ( 430 px , 1 fr ) auto 44 px ; overflow-y : auto ; }
. world-map-canvas { min-height : 430 px ; overflow-x : auto ; border-right : 0 ; border-bottom : 1 px solid rgba ( 132 , 158 , 214 , .16 ) ; }
. world-map-canvas__grid , . world-map-heading , . world-map-zoom { position : sticky ; left : 0 ; }
. world-map-canvas__grid { position : absolute ; }
. world-graph { min-width : 720 px ; min-height : 430 px ; }
. world-map-heading { right : 14 px ; left : 14 px ; }
. world-map-heading > div : first-child span , . world-map-legend { display : none ; }
. world-node-inspector { max-height : 310 px ; padding : 18 px ; }
. world-node-inspector dl { grid-template-columns : 1 fr ; }
. world-node-inspector > footer { display : none ; }
. world-map-status { position : sticky ; bottom : 0 ; gap : 22 px ; overflow-x : auto ; padding-inline : 16 px ; white-space : nowrap ; }
. world-map-zoom { bottom : 14 px ; left : 12 px ; grid-template-columns : repeat ( 4 , 32 px ) ; }
. world-map-zoom button , . world-map-zoom span { width : 32 px ; height : 32 px ; border-right : 1 px solid rgba ( 134 , 159 , 211 , .16 ) ; border-bottom : 0 ; }
}
@ media ( max-width : 700px ) { body . mac-chrome . hololake-bar { padding-left : 84 px ; } . hololake-bar__line { display : none ; } }
. app {
display : flex ;
flex : 1 ;
min-height : 0 ;
overflow : hidden ;
}
. app__sidebar {
flex : 0 0 auto ;
min-width : 220px ;
display : flex ;
flex-direction : column ;
background : var ( --surface-sidebar ) ;
}
. app__sidebar > * {
flex : 1 ;
}
. app : has ( . app__note-list ) . app__sidebar > * {
border-right-color : transparent ;
}
. app__note-list {
flex : 0 0 auto ;
min-width : 220px ;
display : flex ;
flex-direction : column ;
position : relative ;
z-index : 20 ;
background : var ( --surface-sidebar ) ;
}
. app__note-list > * {
flex : 1 ;
border-left : 1px solid var ( --sidebar-border ) ;
}
. app__editor {
flex : 1 ;
min-width : 480px ;
min-height : 0 ;
overflow : hidden ;
display : flex ;
flex-direction : column ;
container-type : inline-size ;
container-name : editor ;
background : var ( --surface-editor ) ;
}
. app__editor > * {
flex : 1 ;
}
@ keyframes spin {
from { transform : rotate ( 0 deg ) ; }
to { transform : rotate ( 360 deg ) ; }
}
@ keyframes tab-status-pulse {
0 % , 100 % { opacity : 1 ; }
50 % { opacity : 0.3 ; }
}
. tab-status-pulse {
animation : tab-status-pulse 1 . 2s ease-in-out infinite ;
}
/* AI highlight animation — applied by useAiActivity when MCP calls ui_highlight */
@ keyframes ai-highlight-glow {
0 % { box-shadow : inset 0 0 0 2 px color-mix ( in srgb , var ( - - accent - blue ) 80 % , transparent ) ; }
50 % { box-shadow : inset 0 0 8 px 2 px color-mix ( in srgb , var ( - - accent - blue ) 40 % , transparent ) ; }
100 % { box-shadow : inset 0 0 0 2 px color-mix ( in srgb , var ( - - accent - blue ) 0 % , transparent ) ; }
}
. ai-highlight {
animation : ai-highlight-glow 0 . 8s ease-out ;
}
/ * Guanghu world design system v2
The shell , topology canvas , inspector and theme picker share the active
Guanghu semantic palette instead of forcing a separate midnight skin . * /
. hololake-home {
--world-bg : var ( --surface-app ) ;
--world-sidebar : var ( --surface-sidebar ) ;
--world-panel : var ( --surface-panel ) ;
--world-surface : var ( --surface-card ) ;
--world-surface-strong : color-mix ( in srgb , var ( --surface-card ) 86 % , var ( --accent-blue ) ) ;
--world-text : var ( --text-primary ) ;
--world-muted : var ( --text-secondary ) ;
--world-faint : var ( --text-muted ) ;
--world-border : color-mix ( in srgb , var ( --border-default ) 76 % , var ( --accent-blue ) ) ;
--world-border-strong : color-mix ( in srgb , var ( --border-strong ) 58 % , var ( --accent-blue ) ) ;
--world-accent : var ( --accent-blue ) ;
--world-accent-2 : color-mix ( in srgb , var ( --accent-blue ) 56 % , # 9d7cff ) ;
--world-live : var ( --accent-green ) ;
--world-warm : # d89b43 ;
--world-danger : # e86f86 ;
--world-grid : color-mix ( in srgb , var ( --accent-blue ) 12 % , transparent ) ;
color : var ( --world-text ) ;
background : var ( --world-bg ) ;
}
. app-shell : has ( . hololake-home [ data-route = "world" ] [ data-world-open = "true" ] ) . hololake-bar {
border-bottom-color : var ( --world-border ) ;
color : var ( --world-text ) ;
background : var ( --world-panel ) ;
}
. app-shell : has ( . hololake-home [ data-route = "world" ] [ data-world-open = "true" ] ) . hololake-bar__context {
color : var ( --world-muted ) ;
}
. app-shell : has ( . hololake-home [ data-route = "world" ] [ data-world-open = "true" ] ) [ data-testid = "status-bar" ] {
border-top-color : var ( --world-border ) ! important ;
color : var ( --world-muted ) ! important ;
background : var ( --world-panel ) ! important ;
}
/* Compact theme gallery: six coherent worlds, no scrolling white sheet. */
. hololake-theme-nav {
min-width : 158px ;
grid-template-columns : 8px minmax ( 0 , 1fr ) 14px ;
gap : 9px ;
padding : 6px 9px ;
border-color : var ( --border-default ) ;
border-radius : 9px ;
background : color-mix ( in srgb , var ( --surface-card ) 82 % , transparent ) ;
}
. hololake-theme-nav small { font-size : 10 px ; letter-spacing : .04 em ; }
. hololake-theme-nav strong { font-size : 13 px ; }
. hololake-theme-menu {
width : 354px ;
max-height : none ;
padding : 12px ;
border-color : var ( --world-border-strong ) ;
border-radius : 13px ;
color : var ( --text-primary ) ;
background : color-mix ( in srgb , var ( --surface-panel ) 94 % , transparent ) ;
box-shadow : 0 20px 58px color-mix ( in srgb , # 000 26 % , transparent ) ;
backdrop-filter : blur ( 20px ) ;
}
. hololake-theme-menu > header {
display : flex ;
align-items : baseline ;
justify-content : space-between ;
gap : 16px ;
padding : 3px 4px 12px ;
border-bottom : 0 ;
}
. hololake-theme-menu > header strong { font-size : 16 px ; }
. hololake-theme-menu > header small { font-size : 11 px ; }
. hololake-theme-menu [ role = "group" ] {
grid-template-columns : repeat ( 3 , minmax ( 0 , 1fr ) ) ;
gap : 8px ;
padding-top : 0 ;
}
. hololake-theme-menu__item {
display : grid ;
min-height : 88px ;
grid-template-columns : 1fr ;
align-content : end ;
gap : 9px ;
overflow : hidden ;
padding : 7px ;
border-color : var ( --border-default ) ;
border-radius : 9px ;
background : color-mix ( in srgb , var ( --surface-card ) 86 % , transparent ) ;
}
. hololake-theme-menu__item > . hololake-theme-menu__preview {
display : block ;
width : 100 % ;
height : 42px ;
border : 1px solid color-mix ( in srgb , # fff 13 % , transparent ) ;
border-radius : 6px ;
background :
linear-gradient ( var ( --preview-grid ) 1px , transparent 1px ) ,
linear-gradient ( 90deg , var ( --preview-grid ) 1px , transparent 1px ) ,
radial-gradient ( circle at 72 % 28 % , var ( --preview-glow ) , transparent 42 % ) ,
var ( --preview-bg ) ;
background-size : 16px 16px , 16px 16px , auto , auto ;
box-shadow : none ;
}
. hololake-theme-menu__item > span : not ( [ data-slot ] ) { display : block ; }
. hololake-theme-menu__item strong {
display : block ;
overflow : hidden ;
font-size : 12px ;
font-weight : 620 ;
text-overflow : ellipsis ;
white-space : nowrap ;
}
. hololake-theme-menu__item : focus ,
. hololake-theme-menu__item [ data-state = "checked" ] {
border-color : var ( --accent-blue ) ;
background : var ( --state-selected ) ;
box-shadow : 0 0 0 1px color-mix ( in srgb , var ( --accent-blue ) 35 % , transparent ) ;
}
. hololake-theme-menu__item [ data-slot = "dropdown-menu-item-indicator" ] {
top : 10px ;
right : 10px ;
left : auto ;
display : grid ;
width : 18px ;
height : 18px ;
place-items : center ;
border-radius : 50 % ;
color : white ;
background : var ( --accent-blue ) ;
}
. hololake-theme-menu__preview [ data-tone = "sky" ] { --preview-bg : #edf7fc ; --preview-grid : rgba ( 44 , 111 , 166 , .13 ) ; --preview-glow : rgba ( 71 , 164 , 218 , .28 ) ; }
. hololake-theme-menu__preview [ data-tone = "cyan" ] { --preview-bg : #17232b ; --preview-grid : rgba ( 114 , 183 , 214 , .12 ) ; --preview-glow : rgba ( 72 , 197 , 208 , .28 ) ; }
. hololake-theme-menu__preview [ data-tone = "aurora" ] { --preview-bg : #07181f ; --preview-grid : rgba ( 78 , 226 , 208 , .12 ) ; --preview-glow : rgba ( 34 , 211 , 238 , .34 ) ; }
. hololake-theme-menu__preview [ data-tone = "indigo" ] { --preview-bg : #0d1024 ; --preview-grid : rgba ( 145 , 164 , 255 , .13 ) ; --preview-glow : rgba ( 145 , 116 , 255 , .34 ) ; }
. hololake-theme-menu__preview [ data-tone = "gold" ] { --preview-bg : #fff8e9 ; --preview-grid : rgba ( 166 , 106 , 22 , .13 ) ; --preview-glow : rgba ( 237 , 180 , 72 , .3 ) ; }
. hololake-theme-menu__preview [ data-tone = "green" ] { --preview-bg : #f2f7ef ; --preview-grid : rgba ( 79 , 123 , 72 , .13 ) ; --preview-glow : rgba ( 91 , 159 , 82 , .28 ) ; }
/* World entrance: a theme-aware operating-system gate, not a fixed poster. */
. hololake-home [ data-world-open = "false" ] . channel-rail {
border-right-color : var ( --world-border ) ;
color : var ( --world-text ) ;
background : var ( --world-sidebar ) ;
}
. hololake-home [ data-world-open = "false" ] . channel-rail__heading { border-bottom-color : var ( - - world - border ) ; }
. hololake-home [ data-world-open = "false" ] . channel-rail__heading small { color : var ( - - world - faint ) ; }
. hololake-home [ data-world-open = "false" ] . channel-rail__modules {
border-color : var ( --world-border ) ;
color : var ( --world-text ) ;
background : var ( --world-surface ) ;
}
. world-gate { color : var ( - - world - text ) ; background : var ( - - world - bg ) ; }
. world-gate__atmosphere {
inset : 0 ;
background :
radial-gradient ( circle at 54 % 47 % , color-mix ( in srgb , var ( --world-accent ) 20 % , transparent ) , transparent 28 % ) ,
radial-gradient ( circle at 72 % 61 % , color-mix ( in srgb , var ( --world-accent-2 ) 10 % , transparent ) , transparent 34 % ) ,
linear-gradient ( var ( --world-grid ) 1px , transparent 1px ) ,
linear-gradient ( 90deg , var ( --world-grid ) 1px , transparent 1px ) ,
var ( --world-bg ) ;
background-size : auto , auto , 52px 52px , 52px 52px , auto ;
transform : none ;
animation : none ;
}
. world-gate :: before {
position : absolute ;
z-index : -1 ;
width : min ( 740px , 72vw ) ;
height : 1px ;
background : linear-gradient ( 90deg , transparent , var ( --world-border-strong ) , transparent ) ;
box-shadow :
-180px -100px 0 -0 . 25px var ( --world-border ) ,
190px 104px 0 -0 . 25px var ( --world-border ) ;
content : '' ;
transform : rotate ( -13deg ) ;
}
. world-gate :: after { background : radial-gradient ( circle at center , transparent 0 34 % , color-mix ( in srgb , var ( - - world - bg ) 84 % , transparent ) 70 % ) ; }
. world-gate__sigil { width : 74 px ; height : 74 px ; margin-bottom : 18 px ; }
. world-gate__sigil span {
color : var ( --world-accent ) ;
font-size : 34px ;
text-shadow : 0 0 24px color-mix ( in srgb , var ( --world-accent ) 45 % , transparent ) ;
}
. world-gate__sigil i { border-color : color-mix ( in srgb , var ( - - world - accent ) 34 % , transparent ) ; }
. world-gate__copy > span { display : none ; }
. hololake-home . world-gate__copy h1 {
margin : 0 ;
color : var ( --world-text ) ;
font-family : system-ui , -apple-system , "PingFang SC" , sans-serif ;
font-size : clamp ( 34px , 3 . 2vw , 48px ) ;
font-weight : 680 ;
letter-spacing : - . 035em ;
}
. world-gate__copy p { max-width : 560 px ; color : var ( - - world - muted ) ; font-size : 16 px ; line-height : 1.7 ; }
. world-gate__enter {
min-width : 214px ;
height : 48px ;
border-color : color-mix ( in srgb , var ( --world-accent ) 60 % , var ( --world-border ) ) ;
border-radius : 9px ;
color : var ( --text-inverse ) ;
background : var ( --world-accent ) ;
box-shadow : 0 12px 34px color-mix ( in srgb , var ( --world-accent ) 22 % , transparent ) ;
font-size : 15px ;
}
. world-gate__enter : hover { background : var ( - - accent - blue - hover ) ; }
. world-gate__path { margin-top : 30 px ; color : var ( - - world - faint ) ; font-size : 13 px ; }
. world-gate__path span { color : var ( - - world - faint ) ; }
. world-gate__path b { color : var ( - - world - muted ) ; }
/ * Closed world : keep the local HoloLake navigation available while the
receipt-gated Fifth Domain remains closed . * /
. hololake-home [ data-world-open = "false" ] . channel-workspace {
overflow : hidden ;
padding : 0 ;
background : var ( --world-bg ) ;
}
. world-gate {
position : absolute ;
inset : 0 ;
display : block ;
min-height : 560px ;
overflow : hidden ;
padding : 0 ;
color : var ( --world-text ) ;
text-align : left ;
background :
radial-gradient ( circle at 50 % 49 % , color-mix ( in srgb , var ( --world-accent ) 12 % , transparent ) , transparent 31 % ) ,
var ( --world-bg ) ;
isolation : isolate ;
}
. world-gate :: before ,
. world-gate :: after { pointer-events : none ; }
. world-gate :: before {
position : absolute ;
z-index : 1 ;
inset : 0 ;
width : auto ;
height : auto ;
background :
radial-gradient ( circle at 50 % 49 % , transparent 0 14 % , color-mix ( in srgb , var ( --world-bg ) 8 % , transparent ) 32 % , color-mix ( in srgb , var ( --world-bg ) 62 % , transparent ) 78 % ) ,
linear-gradient ( 180deg , color-mix ( in srgb , var ( --world-bg ) 14 % , transparent ) , color-mix ( in srgb , var ( --world-bg ) 36 % , transparent ) ) ;
box-shadow : none ;
content : '' ;
transform : none ;
}
. world-gate :: after {
position : absolute ;
z-index : 2 ;
inset : 0 ;
background :
repeating-radial-gradient ( circle at 50 % 49 % , transparent 0 108px , color-mix ( in srgb , var ( --world-accent ) 8 % , transparent ) 109px , transparent 110px 164px ) ;
content : '' ;
opacity : . 58 ;
}
. world-gate__space {
position : absolute ;
z-index : 0 ;
inset : -4 % ;
width : 108 % ;
height : 108 % ;
object-fit : cover ;
opacity : . 56 ;
filter : saturate ( . 76 ) hue-rotate ( var ( --world-hue-rotate , 0deg ) ) ;
animation : world-gate-space-drift 34s ease-in-out infinite alternate ;
}
. world-gate__stars {
position : absolute ;
z-index : 3 ;
inset : 0 ;
background-image :
radial-gradient ( circle , color-mix ( in srgb , var ( --world-accent ) 68 % , white ) 0 1px , transparent 1 . 7px ) ,
radial-gradient ( circle , color-mix ( in srgb , var ( --world-accent-2 ) 56 % , white ) 0 1px , transparent 1 . 5px ) ;
background-position : 0 0 , 37px 53px ;
background-size : 137px 121px , 181px 163px ;
opacity : . 22 ;
mask-image : radial-gradient ( circle at 50 % 49 % , black , transparent 86 % ) ;
animation : world-gate-stars 8s ease-in-out infinite alternate ;
}
. world-gate__routes {
position : absolute ;
z-index : 5 ;
inset : 0 ;
width : 100 % ;
height : 100 % ;
overflow : visible ;
pointer-events : none ;
}
. world-gate__routes path {
fill : none ;
stroke : color-mix ( in srgb , var ( --world-accent ) 32 % , transparent ) ;
stroke-width : 1 . 35 ;
stroke-dasharray : 3 11 ;
vector-effect : non-scaling-stroke ;
}
. world-gate__routes . world-gate__route-pulse {
stroke : color-mix ( in srgb , var ( --world-accent-2 ) 76 % , white ) ;
stroke-width : 1 . 8 ;
stroke-dasharray : 1 150 ;
stroke-linecap : round ;
filter : drop-shadow ( 0 0 7px var ( --world-accent-2 ) ) ;
animation : world-gate-route-pulse 5 . 5s linear infinite ;
}
. world-gate__constellation {
position : absolute ;
z-index : 6 ;
display : grid ;
justify-items : center ;
color : var ( --world-muted ) ;
pointer-events : none ;
transform : translate ( -50 % , -50 % ) ;
}
. world-gate__constellation img {
width : clamp ( 100px , 10vw , 154px ) ;
height : auto ;
opacity : . 23 ;
filter : grayscale ( . 18 ) saturate ( . 62 ) hue-rotate ( var ( --world-hue-rotate , 0deg ) ) ;
animation : world-gate-dormant-breathe 7s ease-in-out infinite ;
}
. world-gate__constellation span {
margin-top : -14px ;
color : color-mix ( in srgb , var ( --world-text ) 64 % , transparent ) ;
font-size : 14px ;
font-weight : 620 ;
letter-spacing : . 04em ;
}
. world-gate__constellation small {
margin-top : 5px ;
color : var ( --world-faint ) ;
font : 10px / 1 . 4 ui-monospace , SFMono-Regular , Menlo , monospace ;
letter-spacing : . 1em ;
}
. world-gate__constellation--lighthouse { top : 29 % ; left : 15 % ; }
. world-gate__constellation--zero { top : 72 % ; left : 19 % ; }
. world-gate__constellation--zero img { width : clamp ( 88 px , 8 vw , 126 px ) ; animation-delay : -2.4 s ; }
. world-gate__constellation--fifth { top : 45 % ; left : 85 % ; }
. world-gate__constellation--fifth img {
width : clamp ( 190px , 20vw , 310px ) ;
opacity : . 27 ;
animation-delay : -4 . 1s ;
}
. world-gate__constellation--fifth span { margin-top : -34 px ; }
. world-gate__core {
position : absolute ;
z-index : 8 ;
top : 49 % ;
left : 50 % ;
display : grid ;
width : min ( 440px , 56vw ) ;
min-height : 390px ;
place-items : center ;
align-content : center ;
transform : translate ( -50 % , -50 % ) ;
}
. world-gate__core > img {
position : absolute ;
z-index : -1 ;
width : min ( 390px , 48vw ) ;
height : auto ;
opacity : . 58 ;
filter : saturate ( . 9 ) hue-rotate ( var ( --world-hue-rotate , 0deg ) ) drop-shadow ( 0 0 28px color-mix ( in srgb , var ( --world-accent ) 30 % , transparent ) ) ;
animation : world-gate-core-breathe 6s ease-in-out infinite ;
}
. world-gate__copy {
z-index : 1 ;
display : grid ;
justify-items : center ;
text-align : center ;
}
. world-gate__copy > span {
display : block ;
color : color-mix ( in srgb , var ( --world-accent ) 72 % , white ) ;
font : 10px / 1 . 4 ui-monospace , SFMono-Regular , Menlo , monospace ;
letter-spacing : . 18em ;
text-shadow : 0 0 14px color-mix ( in srgb , var ( --world-accent ) 28 % , transparent ) ;
}
. hololake-home . world-gate__copy h1 {
margin : 13px 0 0 ;
color : var ( --world-text ) ;
font-family : system-ui , -apple-system , "PingFang SC" , sans-serif ;
font-size : clamp ( 34px , 3 . 5vw , 52px ) ;
font-weight : 650 ;
line-height : 1 . 08 ;
letter-spacing : . 1em ;
text-indent : . 1em ;
text-shadow : 0 2px 28px color-mix ( in srgb , var ( --world-bg ) 80 % , transparent ) ;
}
. world-gate__copy p {
margin : 13px 0 0 ;
color : var ( --world-muted ) ;
font-size : 13px ;
line-height : 1 . 6 ;
letter-spacing : . 08em ;
}
. world-gate__enter {
z-index : 1 ;
min-width : 196px ;
height : 42px ;
gap : 10px ;
margin-top : 31px ;
border : 1px solid color-mix ( in srgb , var ( --world-accent ) 52 % , transparent ) ;
border-radius : 999px ;
color : var ( --world-text ) ;
background : color-mix ( in srgb , var ( --world-surface ) 70 % , transparent ) ;
box-shadow :
0 0 28px color-mix ( in srgb , var ( --world-accent ) 12 % , transparent ) ,
inset 0 1px color-mix ( in srgb , white 12 % , transparent ) ;
backdrop-filter : blur ( 12px ) ;
font-size : 13px ;
letter-spacing : . 04em ;
}
. world-gate__enter : hover {
border-color : color-mix ( in srgb , var ( --world-accent ) 78 % , white ) ;
color : white ;
background : color-mix ( in srgb , var ( --world-accent ) 30 % , var ( --world-surface ) ) ;
box-shadow : 0 0 34px color-mix ( in srgb , var ( --world-accent ) 24 % , transparent ) ;
transform : translateY ( -1px ) ;
}
. world-gate__progress {
z-index : 1 ;
margin-top : 31px ;
color : var ( --world-muted ) ;
font-size : 12px ;
}
. world-gate__progress i {
border-color : color-mix ( in srgb , var ( --world-accent ) 20 % , transparent ) ;
border-top-color : var ( --world-accent ) ;
}
. world-gate__error {
position : absolute ;
z-index : 10 ;
bottom : 82px ;
left : 24px ;
max-width : min ( 360px , calc ( 100vw - 48px ) ) ;
margin : 0 ;
border-color : color-mix ( in srgb , # fb7185 30 % , var ( --world-border ) ) ;
border-radius : 12px ;
color : # fda4af ;
background : color-mix ( in srgb , var ( --world-surface ) 84 % , transparent ) ;
box-shadow : 0 14px 40px rgba ( 0 , 0 , 0 , . 18 ) ;
backdrop-filter : blur ( 14px ) ;
}
. world-gate__path {
position : absolute ;
z-index : 9 ;
right : 50 % ;
bottom : 25px ;
display : flex ;
align-items : center ;
gap : 22px ;
width : max-content ;
margin : 0 ;
color : var ( --world-faint ) ;
font-size : 10px ;
letter-spacing : . 05em ;
transform : translateX ( 50 % ) ;
}
. world-gate__path span { display : inline-flex ; align-items : center ; gap : 7 px ; color : var ( - - world - muted ) ; }
. world-gate__path span i {
width : 6px ;
height : 6px ;
border : 1px solid var ( --world-faint ) ;
border-radius : 50 % ;
box-shadow : 0 0 8px color-mix ( in srgb , var ( --world-accent ) 26 % , transparent ) ;
}
. world-gate__path span : nth-child ( 2 ) i {
border-color : var ( --world-accent ) ;
background : color-mix ( in srgb , var ( --world-accent ) 70 % , transparent ) ;
}
. world-gate__path b { color : var ( - - world - faint ) ; font-weight : 500 ; }
@ keyframes world-gate-space-drift {
from { transform : scale ( 1.01 ) translate3d ( -.5 % , -.3 % , 0 ) ; }
to { transform : scale ( 1.045 ) translate3d ( .6 % , .35 % , 0 ) ; }
}
@ keyframes world-gate-stars {
from { opacity : .14 ; transform : translateY ( 0 ) ; }
to { opacity : .29 ; transform : translateY ( -3 px ) ; }
}
@ keyframes world-gate-dormant-breathe {
0 % , 100 % { opacity : .19 ; transform : scale ( .985 ) ; }
50 % { opacity : .3 ; transform : scale ( 1.02 ) ; }
}
@ keyframes world-gate-core-breathe {
0 % , 100 % { opacity : .5 ; transform : scale ( .98 ) ; }
50 % { opacity : .68 ; transform : scale ( 1.025 ) ; }
}
@ keyframes world-gate-route-pulse {
to { stroke-dashoffset : -302 ; }
}
/* Theme-responsive topology. */
. hololake-home [ data-route = "world" ] [ data-world-open = "true" ] . channel-workspace {
background : var ( --world-bg ) ;
}
. hololake-home [ data-route = "world" ] . channel-rail {
border-right-color : var ( --world-border ) ;
color : var ( --world-text ) ;
background : var ( --world-sidebar ) ;
}
. hololake-home [ data-route = "world" ] . channel-rail__heading { border-bottom-color : var ( - - world - border ) ; }
. hololake-home [ data-route = "world" ] . channel-rail__heading small { color : var ( - - world - faint ) ; }
. hololake-home [ data-route = "world" ] . channel-rail nav button { color : var ( - - world - muted ) ; }
. hololake-home [ data-route = "world" ] . channel-rail nav button : hover {
color : var ( --world-text ) ;
background : var ( --state-hover ) ;
}
. hololake-home [ data-route = "world" ] . channel-rail nav button [ data-active = "true" ] {
color : var ( --world-text ) ;
background : var ( --state-selected ) ;
}
. hololake-home [ data-route = "world" ] . channel-rail__modules {
border-color : var ( --world-border ) ;
color : var ( --world-muted ) ;
background : var ( --world-surface ) ;
}
. world-map-shell {
--world-map-line : var ( --world-border-strong ) ;
--world-map-surface : var ( --world-surface ) ;
grid-template-columns : minmax ( 0 , 1fr ) 318px ;
grid-template-rows : minmax ( 0 , 1fr ) 48px ;
color : var ( --world-text ) ;
background : var ( --world-bg ) ;
}
. world-map-canvas {
border-right-color : var ( --world-border ) ;
scrollbar-color : var ( --world-border-strong ) var ( --world-bg ) ;
}
. world-map-canvas :: -webkit-scrollbar-track { background : var ( - - world - bg ) ; }
. world-map-canvas :: -webkit-scrollbar-thumb { background : var ( - - world - border - strong ) ; }
. world-map-canvas :: before {
background :
radial-gradient ( circle at 43 % 55 % , color-mix ( in srgb , var ( --world-accent ) 12 % , transparent ) , transparent 34 % ) ,
radial-gradient ( circle at 78 % 38 % , color-mix ( in srgb , var ( --world-accent-2 ) 7 % , transparent ) , transparent 32 % ) ,
var ( --world-bg ) ;
}
. world-map-canvas__grid {
opacity : . 72 ;
background-image :
linear-gradient ( var ( --world-grid ) 1px , transparent 1px ) ,
linear-gradient ( 90deg , var ( --world-grid ) 1px , transparent 1px ) ;
}
. world-map-heading { top : 24 px ; right : 30 px ; left : 30 px ; }
. hololake-home . world-map-heading h1 { color : var ( - - world - text ) ; font-size : 22 px ; font-weight : 680 ; letter-spacing : -.02 em ; }
. world-map-heading span { color : var ( - - world - muted ) ; font-size : 13 px ; }
. world-map-heading__presence i { background : var ( - - world - live ) ; box-shadow : 0 0 10 px var ( - - world - live ) ; }
. world-graph-node__surface { fill : var ( - - world - map - surface ) ; stroke : var ( - - world - border - strong ) ; }
. world-graph-node : not ( . world-graph-node--root ) : hover . world-graph-node__surface ,
. world-graph-node [ data-selected = "true" ] . world-graph-node__surface {
fill : var ( --world-surface-strong ) ;
stroke : var ( --world-accent ) ;
filter : drop-shadow ( 0 0 10px color-mix ( in srgb , var ( --world-accent ) 28 % , transparent ) ) ;
}
. world-graph-node [ data-kind = "library" ] . world-graph-node__surface {
fill : color-mix ( in srgb , var ( --world-surface ) 88 % , var ( --world-warm ) ) ;
stroke : color-mix ( in srgb , var ( --world-warm ) 60 % , var ( --world-border ) ) ;
}
. world-graph-node [ data-status = "restricted" ] . world-graph-node__surface { stroke : var ( - - world - danger ) ; }
. world-graph-node__presence { fill : var ( - - world - faint ) ; stroke : var ( - - world - surface ) ; }
. world-graph-node [ data-status = "online" ] . world-graph-node__presence {
fill : var ( --world-live ) ;
filter : drop-shadow ( 0 0 5px var ( --world-live ) ) ;
}
. world-graph-node [ data-status = "restricted" ] . world-graph-node__presence { fill : var ( - - world - danger ) ; }
. world-graph-node__symbol { fill : var ( - - world - faint ) ; font-size : 10 px ; }
. world-graph-node__label { fill : var ( - - world - text ) ; font-size : 15 px ; font-weight : 650 ; }
. world-graph-node__status { fill : var ( - - world - faint ) ; font-size : 11 px ; }
. world-graph-node [ data-status = "online" ] . world-graph-node__status { fill : var ( - - world - live ) ; }
. world-graph-node__orbit { stroke : var ( - - world - border - strong ) ; }
. world-graph-node__orbit--inner { stroke : var ( - - world - border ) ; }
. world-graph-node--root . world-graph-node__surface {
fill : var ( --world-surface-strong ) ;
stroke : var ( --world-accent ) ;
filter : drop-shadow ( 0 0 20px color-mix ( in srgb , var ( --world-accent ) 22 % , transparent ) ) ;
}
. world-graph-node__root-label { fill : var ( - - world - text ) ; font-size : 20 px ; }
. world-map-zoom ,
. world-map-legend {
border-color : var ( --world-border ) ;
color : var ( --world-text ) ;
background : color-mix ( in srgb , var ( --world-panel ) 88 % , transparent ) ;
}
. world-map-zoom button ,
. world-map-zoom span {
border-bottom-color : var ( --world-border ) ;
color : var ( --world-muted ) ;
}
. world-map-zoom button : hover : not ( : disabled ) { color : var ( - - world - text ) ; background : var ( - - state - hover ) ; }
. world-map-legend { gap : 10 px ; padding : 15 px 16 px ; }
. world-map-legend strong { color : var ( - - world - text ) ; font-size : 12 px ; }
. world-map-legend span { color : var ( - - world - muted ) ; font-size : 11 px ; }
. world-node-inspector {
gap : 22px ;
padding : 28px 24px 20px ;
color : var ( --world-text ) ;
background : var ( --world-panel ) ;
}
. world-node-inspector > header { border-bottom-color : var ( - - world - border ) ; }
. world-node-inspector__symbol {
border-color : var ( --world-border-strong ) ;
color : var ( --world-accent ) ;
background : color-mix ( in srgb , var ( --world-accent ) 10 % , transparent ) ;
}
. world-node-inspector h2 { font-size : 22 px ; }
. world-node-inspector header p { color : var ( - - world - muted ) ; font-size : 13 px ; line-height : 1.65 ; }
. world-node-inspector__state { color : var ( - - world - muted ) ; font-size : 13 px ; }
. world-node-inspector__state [ data-status = "online" ] { color : var ( - - world - live ) ; }
. world-node-inspector__state [ data-status = "online" ] i { background : var ( - - world - live ) ; box-shadow : 0 0 8 px var ( - - world - live ) ; }
. world-node-inspector dl div {
grid-template-columns : 84px minmax ( 0 , 1fr ) ;
padding : 12px 0 ;
border-bottom-color : var ( --world-border ) ;
font-size : 12px ;
}
. world-node-inspector dt { color : var ( - - world - faint ) ; }
. world-node-inspector dd { color : var ( - - world - muted ) ; }
. world-node-inspector__actions button { min-height : 44 px ; border-color : var ( - - world - border - strong ) ; font-size : 13 px ; }
. world-node-inspector__actions button : first-child : not ( : disabled ) {
background : var ( --world-accent ) ;
box-shadow : 0 8px 22px color-mix ( in srgb , var ( --world-accent ) 22 % , transparent ) ;
}
. world-node-inspector > footer { border-top-color : var ( - - world - border ) ; color : var ( - - world - faint ) ; font-size : 11 px ; }
. world-map-status {
border-top-color : var ( --world-border ) ;
color : var ( --world-muted ) ;
background : var ( --world-panel ) ;
font-size : 11px ;
}
. world-map-status b { color : var ( - - world - text ) ; }
/* Fifth Domain is rendered as real connected systems, not placeholder cards. */
. channel-workspace : has ( . fifth-systems ) {
overflow : hidden ;
padding : 0 ;
background : var ( --world-bg ) ;
}
. channel-workspace : has ( . fifth-systems ) . world-session-bar ,
. channel-workspace : has ( . fifth-systems ) . channel-breadcrumb { display : none ; }
. fifth-systems {
display : grid ;
height : 100 % ;
min-height : 620px ;
grid-template-rows : auto minmax ( 0 , 1fr ) auto ;
color : var ( --world-text ) ;
background : var ( --world-bg ) ;
}
. fifth-systems__heading {
display : flex ;
align-items : center ;
justify-content : space-between ;
gap : 30px ;
padding : 24px 30px 20px ;
border-bottom : 1px solid var ( --world-border ) ;
}
. fifth-systems__heading h1 {
margin : 0 ;
font-family : system-ui , -apple-system , "PingFang SC" , sans-serif ;
font-size : 28px ;
font-weight : 700 ;
letter-spacing : - . 035em ;
}
. fifth-systems__heading p { max-width : 740 px ; margin : 7 px 0 0 ; color : var ( - - world - muted ) ; font-size : 15 px ; line-height : 1.65 ; }
. fifth-systems__presence ,
. system-path small ,
. system-node small ,
. fifth-system-inspector header span {
display : flex ;
align-items : center ;
gap : 8px ;
color : var ( --world-live ) ;
font-size : 13px ;
}
. fifth-systems__presence i ,
. system-path small i ,
. system-node small i ,
. fifth-system-inspector header span i {
width : 7px ;
height : 7px ;
border-radius : 50 % ;
background : var ( --world-live ) ;
box-shadow : 0 0 9px var ( --world-live ) ;
}
. fifth-systems__layout { display : grid ; min-height : 0 ; grid-template-columns : minmax ( 0 , 1 fr ) 318 px ; }
. fifth-systems__canvas { position : relative ; min-width : 0 ; overflow : auto ; border-right : 1 px solid var ( - - world - border ) ; isolation : isolate ; }
. fifth-systems__grid {
position : absolute ;
z-index : -1 ;
inset : 0 ;
background-image :
linear-gradient ( var ( --world-grid ) 1px , transparent 1px ) ,
linear-gradient ( 90deg , var ( --world-grid ) 1px , transparent 1px ) ;
background-size : 52px 52px ;
mask-image : linear-gradient ( to bottom , transparent , # 000 12 % , # 000 92 % ) ;
}
. fifth-system-columns {
display : grid ;
min-width : 0 ;
grid-template-columns : minmax ( 0 , 1 . 3fr ) minmax ( 220px , . 7fr ) ;
gap : 22px ;
padding : 58px 26px 36px ;
}
. system-path {
align-self : start ;
padding : 22px ;
border : 1px solid var ( --world-border ) ;
border-radius : 14px ;
background : color-mix ( in srgb , var ( --world-surface ) 78 % , transparent ) ;
transition : border-color . 2s ease , background-color . 2s ease , box-shadow . 2s ease ;
}
. system-path [ data-selected = "true" ] {
border-color : color-mix ( in srgb , var ( --world-live ) 70 % , var ( --world-border ) ) ;
background : color-mix ( in srgb , var ( --world-surface ) 88 % , var ( --world-live ) ) ;
box-shadow : 0 0 0 1px color-mix ( in srgb , var ( --world-live ) 12 % , transparent ) , 0 18px 50px color-mix ( in srgb , # 000 10 % , transparent ) ;
}
. system-path > header button {
display : flex ;
align-items : center ;
gap : 12px ;
width : 100 % ;
padding : 0 ;
border : 0 ;
color : var ( --world-text ) ;
background : transparent ;
text-align : left ;
cursor : pointer ;
}
. system-path__mark {
display : grid ;
width : 46px ;
height : 46px ;
flex : 0 0 46px ;
place-items : center ;
border : 1px solid var ( --world-border-strong ) ;
border-radius : 50 % ;
color : var ( --world-accent ) ;
background : color-mix ( in srgb , var ( --world-accent ) 10 % , transparent ) ;
font-size : 16px ;
}
. system-path header button > span : last-child { display : grid ; gap : 5 px ; }
. system-path header strong { font-size : 18 px ; }
. system-path__route {
display : grid ;
grid-template-columns : minmax ( 0 , 1fr ) 40px minmax ( 0 , 1fr ) ;
align-items : center ;
gap : 0 ;
margin-top : 28px ;
}
. system-path--pufferfish . system-path__route {
grid-template-columns : minmax ( 0 , 1fr ) 28px minmax ( 0 , 1fr ) ;
}
. system-path__route--single { grid-template-columns : 1 fr ; }
. system-path__route > b {
height : 2px ;
background : linear-gradient ( 90deg , var ( --world-accent ) , var ( --world-live ) ) ;
box-shadow : 0 0 8px color-mix ( in srgb , var ( --world-live ) 38 % , transparent ) ;
}
. system-node ,
. system-path__persona {
display : grid ;
gap : 7px ;
min-width : 0 ;
padding : 16px ;
border : 1px solid var ( --world-border ) ;
border-radius : 10px ;
background : var ( --world-panel ) ;
}
. system-node > span ,
. system-path__persona > span { color : var ( - - world - faint ) ; font-size : 12 px ; }
. system-node strong ,
. system-path__persona strong { font-size : 14 px ; }
. system-node code {
overflow : hidden ;
color : var ( --world-muted ) ;
font-size : 12px ;
text-overflow : ellipsis ;
white-space : nowrap ;
}
. system-path__persona { width : 48 % ; margin : 22 px auto 0 ; border-style : dashed ; }
. system-path__persona :: before {
width : 1px ;
height : 22px ;
margin : -39px auto 8px ;
background : var ( --world-live ) ;
content : '' ;
}
. fifth-system-inspector {
display : flex ;
min-width : 0 ;
2026-08-11 11:56:54 +08:00
overflow-y : auto ;
2026-08-03 10:04:41 +08:00
flex-direction : column ;
gap : 22px ;
padding : 28px 24px 20px ;
background : var ( --world-panel ) ;
}
. fifth-system-inspector header { display : grid ; gap : 12 px ; padding-bottom : 20 px ; border-bottom : 1 px solid var ( - - world - border ) ; }
. fifth-system-inspector h2 { margin : 0 ; font-size : 22 px ; }
. fifth-system-inspector dl { display : grid ; margin : 0 ; }
. fifth-system-inspector dl div {
display : grid ;
grid-template-columns : 88px minmax ( 0 , 1fr ) ;
gap : 12px ;
padding : 12px 0 ;
border-bottom : 1px solid var ( --world-border ) ;
font-size : 12px ;
}
. fifth-system-inspector dt { color : var ( - - world - faint ) ; }
. fifth-system-inspector dd {
min-width : 0 ;
margin : 0 ;
overflow : hidden ;
color : var ( --world-muted ) ;
text-align : right ;
text-overflow : ellipsis ;
white-space : nowrap ;
}
. fifth-system-inspector > button {
min-height : 44px ;
margin-top : 4px ;
border-color : var ( --world-accent ) ;
color : var ( --text-inverse ) ;
background : var ( --world-accent ) ;
}
. fifth-system-inspector__expanded {
display : flex ;
align-items : center ;
gap : 8px ;
min-height : 44px ;
padding : 0 13px ;
border : 1px solid var ( --world-border ) ;
border-radius : 8px ;
color : var ( --world-live ) ;
background : color-mix ( in srgb , var ( --world-live ) 8 % , transparent ) ;
font-size : 13px ;
}
. fifth-system-inspector__expanded i {
width : 7px ;
height : 7px ;
border-radius : 50 % ;
background : var ( --world-live ) ;
box-shadow : 0 0 8px var ( --world-live ) ;
}
. fifth-system-inspector__overview { display : grid ; gap : 12 px ; }
. fifth-system-inspector__overview > span { color : var ( - - world - accent ) ; font : 9 px / 1.2 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .18 em ; }
. fifth-system-inspector__overview h2 { margin : 0 ; font : 500 20 px / 1.25 "Songti SC" , "STSong" , serif ; }
. fifth-system-inspector__overview p { margin : 0 ; color : var ( - - world - muted ) ; font-size : 12 px ; line-height : 1.7 ; }
. fifth-system-inspector footer { margin-top : auto ; color : var ( - - world - faint ) ; font-size : 11 px ; line-height : 1.6 ; }
2026-08-11 11:56:54 +08:00
. persona-runtime-projection {
display : grid ;
gap : 14px ;
padding : 16px ;
border : 1px solid var ( --world-border ) ;
border-radius : 12px ;
background : color-mix ( in srgb , var ( --world-surface ) 82 % , transparent ) ;
}
. persona-runtime-projection > header { display : grid ; gap : 9 px ; padding : 0 0 13 px ; }
. persona-runtime-projection > header > div { display : grid ; gap : 5 px ; }
. persona-runtime-projection > header span { color : var ( - - world - accent ) ; font : 9 px / 1.2 ui-monospace , SFMono-Regular , Menlo , monospace ; letter-spacing : .12 em ; }
. persona-runtime-projection > header h3 { margin : 0 ; font-size : 16 px ; }
. persona-runtime-projection > header p { margin : 0 ; color : var ( - - world - muted ) ; font-size : 11 px ; line-height : 1.55 ; }
. persona-runtime-projection > header > small { color : var ( - - world - faint ) ; font-size : 10 px ; }
. persona-runtime-projection__message { display : grid ; gap : 8 px ; color : var ( - - world - muted ) ; font-size : 12 px ; line-height : 1.55 ; }
. persona-runtime-projection__message p { margin : 0 ; }
. persona-runtime-projection__message i { width : 7 px ; height : 7 px ; border-radius : 50 % ; background : var ( - - world - live ) ; box-shadow : 0 0 8 px var ( - - world - live ) ; }
. persona-runtime-projection__message--error { color : var ( - - destructive ) ; }
. persona-runtime-projection__message--error code { overflow : hidden ; color : var ( - - world - faint ) ; font-size : 10 px ; text-overflow : ellipsis ; }
. persona-runtime-session { display : grid ; gap : 12 px ; }
. persona-runtime-session > header { display : flex ; align-items : start ; justify-content : space-between ; gap : 10 px ; }
. persona-runtime-session > header div { display : grid ; gap : 4 px ; }
. persona-runtime-session > header span { color : var ( - - world - live ) ; font-size : 15 px ; font-weight : 650 ; }
. persona-runtime-session > header code ,
. persona-runtime-session > header small { color : var ( - - world - faint ) ; font-size : 9 px ; }
. persona-runtime-session dl div { grid-template-columns : 92 px minmax ( 0 , 1 fr ) ; padding : 8 px 0 ; }
. persona-runtime-session dd code { display : block ; overflow : hidden ; color : var ( - - world - muted ) ; text-overflow : ellipsis ; }
. persona-runtime-session > footer { display : flex ; justify-content : space-between ; gap : 12 px ; margin : 0 ; }
. persona-runtime-session > footer code ,
. persona-runtime-session > footer span { overflow : hidden ; color : var ( - - world - faint ) ; font-size : 9 px ; text-overflow : ellipsis ; white-space : nowrap ; }
2026-08-03 10:04:41 +08:00
. pufferfish-boundaries {
display : grid ;
grid-template-columns : repeat ( 3 , minmax ( 0 , 1fr ) ) ;
gap : 1px ;
border-top : 1px solid var ( --world-border ) ;
background : var ( --world-border ) ;
}
. pufferfish-boundaries section { padding : 18 px 24 px ; background : var ( - - world - panel ) ; }
. pufferfish-boundaries h2 { margin : 0 0 7 px ; font-size : 14 px ; }
. pufferfish-boundaries p { margin : 0 ; color : var ( - - world - muted ) ; font-size : 12 px ; line-height : 1.65 ; }
. world-map-canvas__space {
position : absolute ;
z-index : -2 ;
inset : 0 ;
width : 100 % ;
height : 100 % ;
opacity : . 56 ;
object-fit : cover ;
filter : saturate ( . 82 ) hue-rotate ( var ( --world-art-hue , 0deg ) ) ;
pointer-events : none ;
}
. world-map-canvas__grid { opacity : .09 ; }
. world-graph-node__galaxy {
opacity : . 82 ;
transform-box : fill-box ;
transform-origin : center ;
filter : saturate ( . 88 ) brightness ( . 9 ) ;
transition : opacity . 24s ease , transform . 3s ease , filter . 24s ease ;
}
. world-graph-node : hover . world-graph-node__galaxy ,
. world-graph-node [ data-selected = "true" ] . world-graph-node__galaxy {
opacity : 1 ;
transform : scale ( 1 . 08 ) ;
filter : saturate ( 1 . 08 ) brightness ( 1 . 12 ) drop-shadow ( 0 0 12px var ( --world-accent ) ) ;
}
. world-graph-node__galaxy--root {
opacity : 1 ;
filter : saturate ( 1 . 04 ) brightness ( 1 . 18 ) drop-shadow ( 0 0 18px color-mix ( in srgb , var ( --world-accent ) 55 % , transparent ) ) ;
animation : world-galaxy-breathe 5 . 4s ease-in-out infinite ;
}
. world-graph-node__galaxy--private {
opacity : . 94 ;
filter : saturate ( . 9 ) hue-rotate ( 14deg ) drop-shadow ( 0 0 18px color-mix ( in srgb , var ( --world-accent-2 ) 48 % , transparent ) ) ;
}
. world-graph-node__orbit--node {
opacity : . 66 ;
stroke-dasharray : 2 7 ;
transform-box : fill-box ;
transform-origin : center ;
animation : world-orbit-spin 34s linear infinite ;
}
. world-graph-node__symbol {
font-size : 8px ;
letter-spacing : . 2em ;
}
. world-graph-node__label {
font-size : 13px ;
paint-order : stroke ;
stroke : color-mix ( in srgb , var ( --world-bg ) 92 % , transparent ) ;
stroke-width : 4px ;
}
. world-graph-node__status {
font-size : 10px ;
paint-order : stroke ;
stroke : color-mix ( in srgb , var ( --world-bg ) 90 % , transparent ) ;
stroke-width : 3px ;
}
. world-graph-node__root-label {
font-size : 22px ;
paint-order : stroke ;
stroke : color-mix ( in srgb , var ( --world-bg ) 92 % , transparent ) ;
stroke-width : 5px ;
}
. world-graph-node__root-status {
fill : var ( --world-live ) ;
font-size : 11px ;
paint-order : stroke ;
stroke : color-mix ( in srgb , var ( --world-bg ) 92 % , transparent ) ;
stroke-width : 4px ;
}
. world-graph-node : focus-visible . world-graph-node__orbit {
stroke : var ( --world-accent ) ;
stroke-width : 2px ;
}
@ keyframes world-galaxy-breathe {
0 % , 100 % { transform : scale ( .98 ) ; opacity : .92 ; }
50 % { transform : scale ( 1.04 ) ; opacity : 1 ; }
}
@ media ( max-width : 1050px ) {
. world-map-shell ,
. fifth-systems__layout { grid-template-columns : minmax ( 0 , 1 fr ) 274 px ; }
. world-node-inspector ,
. fifth-system-inspector { padding-inline : 18 px ; }
. fifth-system-columns {
grid-template-columns : 1fr ;
padding : 30px 22px ;
}
}
@ media ( max-width : 760px ) {
. app : has ( . hololake-home ) [ data-ai-workspace-mode = "side" ] {
position : absolute ;
inset : 0 ;
width : 100 % ! important ;
min-width : 0 ! important ;
border-left : 0 ;
}
. hololake-theme-menu { width : min ( 354 px , calc ( 100 vw - 20 px ) ) ; }
. world-map-shell { grid-template-columns : 1 fr ; grid-template-rows : minmax ( 440 px , 1 fr ) auto 48 px ; }
. world-node-inspector { min-height : 280 px ; }
. fifth-systems { height : auto ; min-height : 100 % ; }
. fifth-systems__heading { align-items : start ; flex-direction : column ; padding : 22 px 20 px ; }
. fifth-systems__layout { grid-template-columns : 1 fr ; }
. fifth-systems__canvas { min-height : 520 px ; border-right : 0 ; }
. fifth-system-inspector { min-height : 360 px ; border-top : 1 px solid var ( - - world - border ) ; }
. pufferfish-boundaries { grid-template-columns : 1 fr ; }
. world-gate__constellation--lighthouse { top : 24 % ; left : 14 % ; }
. world-gate__constellation--zero { top : 73 % ; left : 15 % ; }
. world-gate__constellation--fifth { top : 37 % ; left : 89 % ; }
. world-gate__constellation span ,
. world-gate__constellation small { display : none ; }
. world-gate__core { width : min ( 420 px , 86 vw ) ; }
. world-gate__core > img { width : min ( 360 px , 78 vw ) ; }
. world-gate__path { gap : 12 px ; }
. world-gate__path b { display : none ; }
}
@ media ( prefers-reduced-motion : reduce ) {
. world-gate__space ,
. world-gate__stars ,
. world-gate__constellation img ,
. world-gate__core > img ,
. world-gate__routes . world-gate__route-pulse { animation : none ; }
}
/* Keep the application chrome inside the same visual world as the galaxy. */
. app-shell : has ( . hololake-home ) {
--sidebar : # 050b1a ;
--muted-foreground : # 68809a ;
--border : rgba ( 132 , 178 , 222 , . 16 ) ;
}
. app-shell : has ( . hololake-home ) . hololake-bar {
border-bottom-color : rgba ( 132 , 178 , 222 , . 16 ) ! important ;
color : # dcecff ! important ;
background :
radial-gradient ( circle at 50 % 140 % , rgba ( 86 , 161 , 213 , . 08 ) , transparent 46 % ) ,
# 050b1a ! important ;
box-shadow : 0 10px 36px rgba ( 0 , 0 , 0 , . 18 ) ;
backdrop-filter : blur ( 18px ) ;
}
. app-shell : has ( . hololake-home ) . hololake-bar__context { color : #6e86a2 !important ; }
. app-shell : has ( . hololake-home ) . hololake-bar__line {
background : rgba ( 132 , 178 , 222 , . 18 ) ;
}
. app-shell : has ( . hololake-home ) . hololake-theme-nav {
border-color : rgba ( 132 , 178 , 222 , . 18 ) ;
color : # 90a9c5 ;
background : rgba ( 11 , 24 , 47 , . 78 ) ;
box-shadow : inset 0 1px rgba ( 255 , 255 , 255 , . 04 ) ;
}
. app-shell : has ( . hololake-home ) . hololake-theme-nav strong { color : #dcecff ; }
. app-shell : has ( . hololake-home ) . hololake-theme-nav small ,
. app-shell : has ( . hololake-home ) . hololake-theme-nav > b { color : #6e86a2 ; }
body : has ( . hololake-home ) [ data-testid = "status-bar" ] {
border-top-color : rgba ( 132 , 178 , 222 , . 16 ) ! important ;
color : # 68809a ! important ;
background :
linear-gradient ( 90deg , rgba ( 86 , 161 , 213 , . 04 ) , transparent 38 % , rgba ( 86 , 161 , 213 , . 04 ) ) ,
# 050b1a ! important ;
background-color : # 050b1a ! important ;
background-image : linear-gradient ( 90deg , rgba ( 86 , 161 , 213 , . 04 ) , transparent 38 % , rgba ( 86 , 161 , 213 , . 04 ) ) ! important ;
box-shadow : 0 -10px 34px rgba ( 0 , 0 , 0 , . 14 ) ;
backdrop-filter : blur ( 18px ) ;
}
. app-shell : has ( . hololake-home [ data-world-open = "false" ] ) . hololake-bar {
border-bottom-color : rgba ( 132 , 178 , 222 , . 16 ) ! important ;
color : # dcecff ! important ;
background : # 050b1a ! important ;
}
. app-shell : has ( . hololake-home [ data-world-open = "false" ] ) . hololake-bar__context {
color : # 6e86a2 ! important ;
}
. app-shell : has ( . hololake-home [ data-world-open = "false" ] ) . hololake-theme-nav {
border-color : rgba ( 132 , 178 , 222 , . 18 ) ;
color : # 90a9c5 ;
background : rgba ( 11 , 24 , 47 , . 78 ) ;
}
body : has ( . hololake-home [ data-world-open = "false" ] ) [ data-testid = "status-bar" ] {
border-top-color : rgba ( 132 , 178 , 222 , . 16 ) ! important ;
color : # 68809a ! important ;
background : # 050b1a ! important ;
}
/ * Low-load galaxy motion contract : imagery is static , interaction owns most
movement , and only one slow core pulse remains while the world is idle . * /
. world-gate__space ,
. world-gate__stars ,
. world-gate__constellation img ,
. world-graph-node__orbit--node ,
. world-graph-node__galaxy--root ,
. world-graph-edge [ data-status = "online" ] ,
. world-graph-node [ data-status = "online" ] . world-graph-node__presence {
animation : none ;
}
. world-graph-edge [ data-status = "online" ] { filter : none ; }
. world-gate__core > img { animation-duration : 12 s ; }
. world-gate__routes . world-gate__route-pulse { animation : none ; }
. world-gate [ data-state = "connecting" ] . world-gate__routes . world-gate__route-pulse {
animation : world-gate-route-pulse 5 . 5s linear infinite ;
}