Spaces:
Running
Running
| /* style.css */ | |
| /* Define colors */ | |
| :root { | |
| --distill-gray: rgb(107, 114, 128); | |
| --distill-gray-light: rgb(185, 185, 185); | |
| --distill-gray-lighter: rgb(228, 228, 228); | |
| --distill-gray-lightest: rgb(245, 245, 245); | |
| --distill-blue: #007BFF; | |
| } | |
| /* Container for the controls */ | |
| [id^="plot-"] { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 15px; /* Adjust the gap between controls as needed */ | |
| } | |
| [id^="plot-"] figure { | |
| margin-bottom: 0px; | |
| margin-top: 0px; | |
| padding: 0px; | |
| } | |
| .plotly_caption { | |
| font-style: italic; | |
| margin-top: 10px; | |
| } | |
| .plotly_controls { | |
| display: flex; | |
| flex-wrap: wrap; | |
| flex-direction: row; | |
| justify-content: center; | |
| align-items: flex-start; | |
| gap: 30px; | |
| } | |
| .plotly_input_container { | |
| display: flex; | |
| align-items: center; | |
| flex-direction: column; | |
| gap: 10px; | |
| } | |
| /* Style for the select dropdown */ | |
| .plotly_input_container > select { | |
| padding: 2px 4px; | |
| /* border: 1px solid #ccc; */ | |
| line-height: 1.5em; | |
| text-align: center; | |
| border-radius: 4px; | |
| font-size: 12px; | |
| background-color: var(--distill-gray-lightest); | |
| outline: none; | |
| } | |
| /* Style for the range input */ | |
| .plotly_slider { | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| } | |
| .plotly_slider > input[type="range"] { | |
| -webkit-appearance: none; | |
| height: 2px; | |
| background: var(--distill-gray-light); | |
| border-radius: 5px; | |
| outline: none; | |
| } | |
| .plotly_slider > span { | |
| font-size: 14px; | |
| line-height: 1.6em; | |
| min-width: 16px; | |
| } | |
| .plotly_slider > input[type="range"]::-webkit-slider-thumb { | |
| -webkit-appearance: none; | |
| appearance: none; | |
| width: 18px; | |
| height: 18px; | |
| border-radius: 50%; | |
| background: var(--distill-blue); | |
| cursor: pointer; | |
| } | |
| .plotly_slider > input[type="range"]::-moz-range-thumb { | |
| width: 18px; | |
| height: 18px; | |
| border-radius: 50%; | |
| background: var(--distill-blue); | |
| cursor: pointer; | |
| } | |
| /* Style for the labels */ | |
| .plotly_input_container > label { | |
| font-size: 14px; | |
| font-weight: bold; | |
| } | |
| .main-plot-container { | |
| margin-top: 21px; | |
| margin-bottom: 35px; | |
| } | |
| .main-plot-container > figure { | |
| display: block ; | |
| /* Let this be handled by graph-container */ | |
| margin-bottom: 0px; | |
| margin-top: 0px; | |
| } | |
| .main-plot-container > div { | |
| display: none ; | |
| } | |
| @media (min-width: 768px) { | |
| .main-plot-container > figure { | |
| display: none ; | |
| } | |
| .main-plot-container > div { | |
| display: flex ; | |
| } | |
| } | |
| d-byline .byline { | |
| grid-template-columns: 1fr; | |
| grid-column: text; | |
| font-size: 0.9rem; | |
| line-height: 1.8em; | |
| } | |
| @media (min-width: 768px) { | |
| d-byline .byline { | |
| grid-template-columns: 5fr 1fr 1fr; | |
| } | |
| } | |
| #title-plot { | |
| margin-top: 0px; | |
| margin-bottom: 0px; | |
| } | |
| d-contents > nav a.active { | |
| text-decoration: underline; | |
| } | |
| @media (max-width: 1199px) { | |
| d-contents { | |
| display: none; | |
| background: white; | |
| justify-self: start; | |
| align-self: start; | |
| padding-bottom: 0.5em; | |
| margin-bottom: 1em; | |
| padding-left: 0.25em; | |
| border-bottom: 1px solid rgba(0, 0, 0, 0.1); | |
| border-bottom-width: 1px; | |
| border-bottom-style: solid; | |
| border-bottom-color: rgba(0, 0, 0, 0.1); | |
| overflow-y: scroll; | |
| height: calc(100vh - 40px); | |
| scrollbar-width: none; | |
| z-index: -100; | |
| } | |
| } | |
| d-contents a:hover { | |
| border-bottom: none; | |
| } | |
| toc-title { | |
| font-weight: bold; | |
| font-size: 1.2em; | |
| color: #333; | |
| } | |
| toggle-icon { | |
| transition: transform 0.3s; | |
| } | |
| toggle-icon.collapsed { | |
| transform: rotate(90deg); | |
| } | |
| .toc-content { | |
| margin-top: 15px; | |
| overflow: hidden; | |
| /* max-height: 1000px; */ | |
| transition: max-height 0.3s ease-out; | |
| } | |
| .toc-content.collapsed { | |
| max-height: 0; | |
| margin-top: 0; | |
| } | |
| @media (min-width: 1200px) { | |
| d-article { | |
| /* Ensure d-article does not prevent sticky positioning */ | |
| overflow: visible; | |
| } | |
| d-contents { | |
| align-self: start; | |
| background: white; | |
| grid-column-start: 1 ; | |
| grid-column-end: 4 ; | |
| grid-row: auto / span 6; | |
| justify-self: end; | |
| margin-top: 0em; | |
| padding-right: 3em; | |
| padding-left: 2em; | |
| /* border-right: 1px solid rgba(0, 0, 0, 0.1); | |
| border-right-width: 1px; | |
| border-right-style: solid; | |
| border-right-color: rgba(0, 0, 0, 0.1); */ | |
| position: -webkit-sticky; /* For Safari */ | |
| position: sticky; | |
| top: 10px; /* Adjust this value if needed */ | |
| overflow-y: auto; | |
| height: calc(100vh - 40px); | |
| scrollbar-width: none; | |
| transition: max-height 0.3s ease-out; | |
| z-index: -100; | |
| } | |
| } | |
| d-contents nav h3 { | |
| margin-top: 0; | |
| margin-bottom: 1em; | |
| } | |
| d-contents nav div div { | |
| color: rgba(0, 0, 0, 0.8); | |
| font-weight: bold; | |
| } | |
| d-contents nav a { | |
| color: rgba(0, 0, 0, 0.8); | |
| border-bottom: none; | |
| text-decoration: none; | |
| } | |
| d-contents li { | |
| list-style-type: none; | |
| } | |
| d-contents ul, d-article d-contents ul { | |
| padding-left: 1em; | |
| } | |
| d-contents nav ul li { | |
| margin-bottom: .25em; | |
| } | |
| d-contents nav a:hover { | |
| text-decoration: underline solid rgba(0, 0, 0, 0.6); | |
| } | |
| d-contents nav ul { | |
| margin-top: 0; | |
| margin-bottom: 6px; | |
| } | |
| d-contents nav > div { | |
| display: block; | |
| outline: none; | |
| margin-bottom: 0.5em; | |
| } | |
| d-contents nav > div > a { | |
| font-size: 13px; | |
| font-weight: 600; | |
| } | |
| d-article aside { | |
| margin-bottom: 1em; | |
| } | |
| d-article img { | |
| max-width: 100%; | |
| } | |
| @media (min-width: 768px) { | |
| d-article aside { | |
| margin-bottom: 0; | |
| } | |
| } | |
| d-contents nav > div > a:hover, | |
| d-contents nav > ul > li > a:hover { | |
| text-decoration: none; | |
| } | |
| .note-box { | |
| background-color: #f6f8fa; | |
| border-left: 4px solid #444444; | |
| padding: 1rem; | |
| margin: 1rem 0; /* Keep this modest margin */ | |
| border-radius: 6px; | |
| /* Add this to ensure the box only takes up needed space */ | |
| display: inline-block; | |
| width: 100%; | |
| } | |
| .note-box-title { | |
| margin: 0; | |
| color: #444444; | |
| font-weight: 600; | |
| font-size: 1em; | |
| } | |
| .note-box-content { | |
| margin-top: 0.5rem; | |
| margin-bottom: 0; /* Ensure no bottom margin */ | |
| color: #24292f; | |
| font-size: 0.9em; | |
| line-height: 1.5em; | |
| } | |
| /* For dark mode support */ | |
| @media (prefers-color-scheme: dark) { | |
| .note-box { | |
| background-color: #1c1c1c; | |
| border-left-color: #888888; | |
| } | |
| .note-box-title { | |
| color: #888888; | |
| } | |
| .note-box-content { | |
| color: #d4d4d4; | |
| } | |
| } | |
| d-article { | |
| font-size: 1.0em; | |
| } | |
| .figure-legend { | |
| font-size: 0.9em; | |
| font-style: italic; | |
| color: var(--distill-gray); | |
| line-height: 1.5em; | |
| } | |
| d-code { | |
| font-size: 12px; | |
| } | |
| .large-image-background { | |
| width: 100vw; | |
| padding-top: 10px; | |
| padding-bottom: 10px; | |
| margin-left: calc(-50vw + 50%); | |
| margin-right: calc(-50vw + 50%); | |
| background: white; | |
| height: fit-content; /* This will make it match the image height */ | |
| display: flex; | |
| justify-content: center; /* This will center your image */ | |
| } | |
| .large-image-background-transparent { | |
| /* width: 100vw; */ | |
| padding-top: 10px; | |
| padding-bottom: 10px; | |
| /* margin-left: calc(-50vw + 50%); */ | |
| margin-left:-100px; | |
| margin-right: -100px; | |
| /* margin-right: calc(-50vw + 50%); */ | |
| /* background: white; */ | |
| height: fit-content; /* This will make it match the image height */ | |
| display: flex; | |
| justify-content: center; /* This will center your image */ | |
| } | |
| .boxed-image { | |
| padding: 0.5rem; | |
| background: white; | |
| border-radius: 12px; | |
| border: 1px solid #e5e7eb; | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | |
| } | |
| d-article li { | |
| margin-bottom: 0.0em; | |
| } | |
| d-article ul ul { | |
| margin-bottom: 0.0em; | |
| } | |
| d-article ol ol { | |
| margin-bottom: 0.0em; | |
| } | |
| d-article hr { | |
| grid-column: text; | |
| } | |
| /* Memory visualization */ | |
| #graph-all { | |
| min-width: 500px; | |
| margin-right: 10px; | |
| margin-bottom: 2rem; | |
| padding: 0.5rem; | |
| background: #f9fafb; | |
| border-radius: 12px; | |
| border: 1px solid #e5e7eb; | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | |
| } | |
| /* Main container styles */ | |
| #controls { | |
| max-width: 1200px; | |
| /* margin: 2rem auto; */ | |
| margin-bottom: 2rem; | |
| margin-left: 10px; | |
| padding: 0.6rem; | |
| background: #f9fafb; | |
| border-radius: 12px; | |
| border: 1px solid #e5e7eb; | |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); | |
| } | |
| /* Grid layout */ | |
| #controls { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| /* gap: 2rem; */ | |
| } | |
| /* Cell styles */ | |
| .cell { | |
| margin-bottom: 0.2rem; | |
| } | |
| /* Label styles */ | |
| label { | |
| display: block; | |
| /* margin-bottom: 0.5rem; */ | |
| font-size: 0.8rem; | |
| font-weight: 500; | |
| color: #374151; | |
| } | |
| /* Input container for range + number combination */ | |
| .input-container { | |
| display: flex; | |
| gap: 1rem; | |
| align-items: center; | |
| } | |
| /* Range input styling */ | |
| input[type="range"] { | |
| flex: 1; | |
| height: 6px; | |
| background: #e5e7eb; | |
| border-radius: 3px; | |
| appearance: none; | |
| outline: none; | |
| } | |
| input[type="range"]::-webkit-slider-thumb { | |
| appearance: none; | |
| width: 16px; | |
| height: 16px; | |
| background: #3b82f6; | |
| border-radius: 50%; | |
| cursor: pointer; | |
| transition: background 0.15s ease; | |
| } | |
| input[type="range"]::-webkit-slider-thumb:hover { | |
| background: #2563eb; | |
| } | |
| /* Number input styling */ | |
| input[type="number"] { | |
| width: 80px; | |
| padding: 0.5rem; | |
| border: 1px solid #e5e7eb; | |
| border-radius: 6px; | |
| font-size: 0.9rem; | |
| color: #374151; | |
| } | |
| /* Select styling */ | |
| select { | |
| width: 100%; | |
| padding: 0.5rem; | |
| border: 1px solid #e5e7eb; | |
| border-radius: 6px; | |
| background: white; | |
| font-size: 0.9rem; | |
| color: #374151; | |
| cursor: pointer; | |
| } | |
| /* Checkbox styling */ | |
| input[type="checkbox"] { | |
| width: 1.2rem; | |
| height: 1.2rem; | |
| margin-right: 0.5rem; | |
| border: 2px solid #e5e7eb; | |
| border-radius: 4px; | |
| cursor: pointer; | |
| } | |
| /* Column specific styles */ | |
| .column-1 { | |
| padding-right: 0.5rem; | |
| } | |
| .column-2 { | |
| padding-left: 0.5rem; | |
| } | |
| /* Checkbox container */ | |
| .checkbox-container { | |
| display: flex; | |
| align-items: center; | |
| margin-bottom: 1rem; | |
| } | |
| /* Memory visualization styles */ | |
| .memory-block { | |
| background: #fff; | |
| border-radius: 8px; | |
| padding: 1rem; | |
| margin-bottom: 1rem; | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); | |
| } | |
| .memory-title { | |
| font-size: 1.1rem; | |
| font-weight: 500; | |
| color: #374151; | |
| margin-bottom: 0.5rem; | |
| } | |
| .memory-value { | |
| font-size: 1.5rem; | |
| font-weight: 600; | |
| color: #3b82f6; | |
| } | |
| /* Responsive adjustments */ | |
| @media (max-width: 768px) { | |
| #controls { | |
| grid-template-columns: 1fr; | |
| padding: 1rem; | |
| } | |
| .column-1, .column-2 { | |
| padding: 0; | |
| } | |
| } | |
| /* Hover states and transitions */ | |
| input:hover, select:hover { | |
| border-color: #3b82f6; | |
| } | |
| input:focus, select:focus { | |
| border-color: #2563eb; | |
| outline: none; | |
| box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1); | |
| } | |
| /* Add smooth transitions */ | |
| input, select, button { | |
| transition: all 0.15s ease; | |
| } | |
| /* Preset dropdown special styling */ | |
| select[name="presets"] { | |
| background-color: #f3f4f6; | |
| font-weight: 500; | |
| } | |
| /* Memory graph enhancements */ | |
| .activation-memory { | |
| background: #dbeafe; | |
| padding: 1rem; | |
| border-radius: 8px; | |
| margin-bottom: 1rem; | |
| } | |
| .gradient-memory { | |
| background: #ede9fe; | |
| padding: 1rem; | |
| border-radius: 8px; | |
| } | |