This is the snapshot the production landing site (nibiru-framework.com) is deployed from. Brings together the recent splash + docs migration to the v4 "Cosmos" design system, the new in-framework AI module, and the framework groundwork that backs the framework-reference extraction. What lands: - docs/: Astro + Starlight site with the v4 dark cosmic palette, GalaxyHero canvas constellation, Mission Control chat (wired to /api/oracle → api.neuronetz.ai via providers.mjs Ollama), 5-panel MMVC stage (Model · AI · Module · Controller · View), translated EN/DE/JA/ES/FR content, PWA + sitemap + llms.txt + Umami analytics. - docs/design-system/: canonical mockup bundle (source/index-v2.html for splash, source/docs-system.html + preview/ for docs, SPEC.md, tokens). - docs/scripts/extraction/framework-reference-v2.md: deep framework reference (~1.6k lines, file:line citations, every public factory and idiom — basis for the LoRA training corpus. - application/module/ai/: AI module with chat / embed / RAG / agent plugins, plus pdoQuery / httpGet / fileRead tools and Modelfile + smoke-test in training/. - application/module/users/: user / ACL / form-factory traits used as the reference plugin pattern for the framework docs. - application/settings/config/database/: schema + seed migrations including the AI module tables (200–203). - Form factory + autogenerator changes the framework-reference-v2 covers. Production secrets stay out: docs/.env, settings.production.ini and ai.production.ini are all gitignored (.example files are in tree). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
220 lines
4.4 KiB
CSS
220 lines
4.4 KiB
CSS
.sidr {
|
|
display: none;
|
|
position: absolute;
|
|
position: fixed;
|
|
top: 0;
|
|
height: 100%;
|
|
z-index: 999999;
|
|
width: 260px;
|
|
overflow-x: none;
|
|
overflow-y: auto;
|
|
font-family: "lucida grande", tahoma, verdana, arial, sans-serif;
|
|
font-size: 15px;
|
|
background: #f8f8f8;
|
|
color: #333;
|
|
-webkit-box-shadow: inset 0 0 5px 5px #ebebeb;
|
|
-moz-box-shadow: inset 0 0 5px 5px #ebebeb;
|
|
box-shadow: inset 0 0 5px 5px #ebebeb
|
|
}
|
|
|
|
.sidr .sidr-inner {
|
|
padding: 0 0 15px
|
|
}
|
|
|
|
.sidr .sidr-inner>p {
|
|
margin-left: 15px;
|
|
margin-right: 15px
|
|
}
|
|
|
|
.sidr.right {
|
|
left: auto;
|
|
right: -260px
|
|
}
|
|
|
|
.sidr.left {
|
|
left: -260px;
|
|
right: auto
|
|
}
|
|
|
|
.sidr h1,
|
|
.sidr h2,
|
|
.sidr h3,
|
|
.sidr h4,
|
|
.sidr h5,
|
|
.sidr h6 {
|
|
font-size: 11px;
|
|
font-weight: normal;
|
|
padding: 0 15px;
|
|
margin: 0 0 5px;
|
|
color: #333;
|
|
line-height: 24px;
|
|
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(100%, #dfdfdf));
|
|
background-image: -webkit-linear-gradient(#ffffff, #dfdfdf);
|
|
background-image: -moz-linear-gradient(#ffffff, #dfdfdf);
|
|
background-image: -o-linear-gradient(#ffffff, #dfdfdf);
|
|
background-image: linear-gradient(#ffffff, #dfdfdf);
|
|
-webkit-box-shadow: 0 5px 5px 3px rgba(0, 0, 0, 0.2);
|
|
-moz-box-shadow: 0 5px 5px 3px rgba(0, 0, 0, 0.2);
|
|
box-shadow: 0 5px 5px 3px rgba(0, 0, 0, 0.2)
|
|
}
|
|
|
|
.sidr p {
|
|
font-size: 13px;
|
|
margin: 0 0 12px
|
|
}
|
|
|
|
.sidr p a {
|
|
color: rgba(51, 51, 51, 0.9)
|
|
}
|
|
|
|
.sidr>p {
|
|
margin-left: 15px;
|
|
margin-right: 15px
|
|
}
|
|
|
|
.sidr ul {
|
|
display: block;
|
|
margin: 0 0 15px;
|
|
padding: 0;
|
|
border-top: 1px solid #dfdfdf;
|
|
border-bottom: 1px solid #fff
|
|
}
|
|
|
|
.sidr ul li {
|
|
display: block;
|
|
margin: 0;
|
|
line-height: 48px;
|
|
border-top: 1px solid #fff;
|
|
border-bottom: 1px solid #dfdfdf
|
|
}
|
|
|
|
.sidr ul li:hover,
|
|
.sidr ul li.active,
|
|
.sidr ul li.sidr-class-active {
|
|
border-top: 1px solid #fff;
|
|
line-height: 48px
|
|
}
|
|
|
|
.sidr ul li:hover>a,
|
|
.sidr ul li:hover>span,
|
|
.sidr ul li.active>a,
|
|
.sidr ul li.active>span,
|
|
.sidr ul li.sidr-class-active>a,
|
|
.sidr ul li.sidr-class-active>span {
|
|
-webkit-box-shadow: inset 0 0 15px 3px #ebebeb;
|
|
-moz-box-shadow: inset 0 0 15px 3px #ebebeb;
|
|
box-shadow: inset 0 0 15px 3px #ebebeb
|
|
}
|
|
|
|
.sidr ul li a,
|
|
.sidr ul li span {
|
|
padding: 0 15px;
|
|
display: block;
|
|
text-decoration: none;
|
|
color: #333
|
|
}
|
|
|
|
.sidr ul li ul {
|
|
border-bottom: none;
|
|
margin: 0
|
|
}
|
|
|
|
.sidr ul li ul li {
|
|
line-height: 40px;
|
|
font-size: 13px
|
|
}
|
|
|
|
.sidr ul li ul li:last-child {
|
|
border-bottom: none
|
|
}
|
|
|
|
.sidr ul li ul li:hover,
|
|
.sidr ul li ul li.active,
|
|
.sidr ul li ul li.sidr-class-active {
|
|
border-top: 1px solid #fff;
|
|
line-height: 40px
|
|
}
|
|
|
|
.sidr ul li ul li:hover>a,
|
|
.sidr ul li ul li:hover>span,
|
|
.sidr ul li ul li.active>a,
|
|
.sidr ul li ul li.active>span,
|
|
.sidr ul li ul li.sidr-class-active>a,
|
|
.sidr ul li ul li.sidr-class-active>span {
|
|
-webkit-box-shadow: inset 0 0 15px 3px #ebebeb;
|
|
-moz-box-shadow: inset 0 0 15px 3px #ebebeb;
|
|
box-shadow: inset 0 0 15px 3px #ebebeb
|
|
}
|
|
|
|
.sidr ul li ul li a,
|
|
.sidr ul li ul li span {
|
|
color: rgba(51, 51, 51, 0.8);
|
|
padding-left: 30px
|
|
}
|
|
|
|
.sidr ul li ul li ul li a,
|
|
.sidr ul li ul li ul li span {
|
|
padding-left: 45px
|
|
}
|
|
|
|
.sidr ul li ul li ul li ul li a,
|
|
.sidr ul li ul li ul li ul li span {
|
|
padding-left: 60px
|
|
}
|
|
|
|
.sidr form {
|
|
margin: 0 15px
|
|
}
|
|
|
|
.sidr label {
|
|
font-size: 13px
|
|
}
|
|
|
|
.sidr input[type="text"],
|
|
.sidr input[type="password"],
|
|
.sidr input[type="date"],
|
|
.sidr input[type="datetime"],
|
|
.sidr input[type="email"],
|
|
.sidr input[type="number"],
|
|
.sidr input[type="search"],
|
|
.sidr input[type="tel"],
|
|
.sidr input[type="time"],
|
|
.sidr input[type="url"],
|
|
.sidr textarea,
|
|
.sidr select {
|
|
width: 100%;
|
|
font-size: 13px;
|
|
padding: 5px;
|
|
-webkit-box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
margin: 0 0 10px;
|
|
-webkit-border-radius: 2px;
|
|
-moz-border-radius: 2px;
|
|
-ms-border-radius: 2px;
|
|
-o-border-radius: 2px;
|
|
border-radius: 2px;
|
|
border: none;
|
|
background: rgba(0, 0, 0, 0.1);
|
|
color: rgba(51, 51, 51, 0.6);
|
|
display: block;
|
|
clear: both
|
|
}
|
|
|
|
.sidr input[type=checkbox] {
|
|
width: auto;
|
|
display: inline;
|
|
clear: none
|
|
}
|
|
|
|
.sidr input[type=button],
|
|
.sidr input[type=submit] {
|
|
color: #f8f8f8;
|
|
background: #333
|
|
}
|
|
|
|
.sidr input[type=button]:hover,
|
|
.sidr input[type=submit]:hover {
|
|
background: rgba(51, 51, 51, 0.9)
|
|
}
|