/*
! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden] {
  display: none;
}

:root {
  --logo-color: #456ce2;
  --color-back: 10 10 10;
  --color-panel: 23 23 23;
  --color-front: 38 38 38;
  --sidebar-width: 220px;
  --sidebar-speed: 300ms;
  --page-border: 3px;
  --scrollbar-width: 12px;
  --dialog-width: calc(230px + 10vw);
  --navbar-padding: calc(22vw - 100px);
  --block-anim: 4s cubic-bezier(0.5, -0.2, 0.5, 1.2) alternate infinite;
  --view-active: -4rem;
  --view-hidden: -2px;
}

*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

.prose {
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker {
  color: var(--tw-prose-bullets);
}

.prose :where(hr):not(:where([class~="not-prose"] *)) {
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-left-width: 0.25rem;
  border-left-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-left: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure > *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose :where(code):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"] *))::before {
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"] *))::after {
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-right: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-left: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"] *)) {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"] *))::before {
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"] *))::after {
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"] *)) {
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-right: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-left: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"] *)) {
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"] *)) {
  vertical-align: top;
}

.prose {
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(p):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(video):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(li):not(:where([class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(hr + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)) {
  padding-top: 0.5714286em;
  padding-right: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-left: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-sm :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.5714286em;
  margin-bottom: 0.5714286em;
}

.prose-sm :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.1428571em;
}

.prose-sm :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.1428571em;
}

.prose-sm :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-sm :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-base :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose-base :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose-base :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose-base :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose-base :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose-base :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-base :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-lg :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose-lg :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-lg :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-lg :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-lg :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-lg :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}

.prose-xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.2em;
}

.prose-xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.2em;
}

.prose-xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.2em;
}

.prose-xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.2em;
}

.prose-xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose-2xl :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8333333em;
  margin-bottom: 0.8333333em;
}

.prose-2xl :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-2xl :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-2xl :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose-2xl :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose-2xl :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose-2xl :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.right-\[3px\] {
  right: 3px;
}

.block {
  display: block;
}

.table {
  display: table;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

.h-\[26px\] {
  height: 26px;
}

.h-\[6px\] {
  height: 6px;
}

.w-0 {
  width: 0px;
}

.w-\[20px\] {
  width: 20px;
}

.w-full {
  width: 100%;
}

.flex-grow {
  flex-grow: 1;
}

.\!cursor-pointer {
  cursor: pointer !important;
}

.cursor-grab {
  cursor: grab;
}

.cursor-pointer {
  cursor: pointer;
}

.resize {
  resize: both;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.overflow-y-auto {
  overflow-y: auto;
}

.rounded-full {
  border-radius: 9999px;
}

.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity));
}

.bg-indigo-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity));
}

.bg-neutral-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity));
}

.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity));
}

.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity));
}

.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity));
}

.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity));
}

.opacity-0 {
  opacity: 0;
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

@layer base, components;

html {
  scroll-behavior: smooth;
}

* {
  min-width: 0;
  scrollbar-color: rgb(var(--color-front)) rgb(var(--color-panel));
  &::-webkit-scrollbar {
    width: var(--scrollbar-width);
  }
}

body {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(10 10 10 / var(--tw-text-opacity));
}

body:where(.dark, .dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity));
}

aside:not(#sidebar) {
  position: relative;
  display: flex;
  width: 1rem;
  height: 1rem;
  flex-direction: column;
  align-items: center;
  overflow: visible;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  > svg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  > svg {
    --tw-text-opacity: 1;
    color: rgb(64 64 64 / var(--tw-text-opacity));
  }
  > p {
    text-wrap: balance;
  }
  > p {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  > p {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  > p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  > p {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  > p {
    pointer-events: none;
  }
  > p {
    position: absolute;
  }
  > p {
    top: 1rem;
  }
  > p {
    left: 0px;
  }
  > p {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity));
  }
  &:not(:hover) > p {
    opacity: 0;
  }
}

#top-btns,
#bottom-btns {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  height: 32px;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.5rem;
  line-height: 2rem;
  button:active(:not(:disabled)) {
    --tw-brightness: brightness(.75);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
}

#top-btns {
  #close-search {
    pointer-events: none;
  }
  #close-search {
    position: absolute;
  }
  #close-search {
    top: 0px;
  }
  #close-search {
    right: 0px;
  }
  #close-search {
    bottom: 0px;
  }
  #close-search {
    z-index: 10;
  }
  #close-search {
    width: 2rem;
  }
  #close-search {
    cursor: pointer;
  }
  #close-search {
    &:hover ~ #sidebar-btn {
      opacity: 0.8 !important;
    }
  }
  > input#search {
    position: absolute;
  }
  > input#search {
    inset: 0px;
  }
  > input#search {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  > input#search {
    padding-left: 0.75rem;
  }
  > input#search {
    padding-bottom: 2px;
  }
  > input#search {
    padding-right: 2rem;
  }
  > input#search {
    border-radius: 9999px;
  }
  > input#search {
    --tw-bg-opacity: 1;
    background-color: rgb(23 23 23 / var(--tw-bg-opacity));
  }
  > input#search {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  > input#search:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
  > input#search {
    opacity: 0;
  }
  > input#search {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  > input#search:focus {
    opacity: 1;
  }
  > input#search {
    pointer-events: none;
  }
  > input#search:focus {
    pointer-events: auto;
  }
  > input#search {
    &:focus {
      ~ #close-search {
        pointer-events: auto;
      }
      ~ button {
        opacity: 0 !important;
        pointer-events: none !important;
      }
    }
  }
}

#bottom-btns {
  gap: 0.75rem;
  > &:nth-child(2) {
    --tw-scale-x: .9;
    --tw-scale-y: .9;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  > &:nth-child(2) {
    --tw-text-opacity: 1;
    color: rgb(115 115 115 / var(--tw-text-opacity));
  }
}

#alt-sidebar-btn {
  position: relative;
  margin-left: -0.25em;
  margin-right: -0.25em;
  width: 1.5em;
  height: 1.5em;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  svg {
    position: absolute;
  }
  svg {
    inset: 0.25em;
  }
  svg {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  svg {
    &:first-child {
      opacity: 0;
    }
  }
}

#page[data-type="graph"] ~ #sidebar-wrapper button[hx-get="/app/graph"],
#page[data-type="todo"] ~ #sidebar-wrapper button[hx-get="/app/todo"],
#alt-sidebar-btn[aria-expanded="true"] {
  opacity: 0.6;
  &:hover {
    opacity: 0.8;
  }
}

/* on note page with chat tag disabled -> show back link icon */

#page[data-type="note"]:not(:has(#note-view-btn[data-state="chat"]))
  ~ #sidebar-wrapper
  #alt-sidebar-btn
  svg {
  &:first-child {
    opacity: 1 !important;
  }
  &:last-child {
    opacity: 0 !important;
  }
}

#auth-content {
  display: flex;
  height: 100vh;
  width: 100vw;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  img {
    width: 2.5rem;
    height: 2.5rem;
  }
  img {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
}

#auth-content form {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 0.5rem;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(82 82 82 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity));
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  h1 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  h1 {
    font-weight: 800;
  }
  --feedback-width: calc(250px + 5vw);
  fieldset {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  fieldset {
    display: flex;
  }
  fieldset {
    flex-direction: column;
  }
  fieldset {
    gap: 1.25rem;
  }
  fieldset {
    &:has(> textarea) {
      margin-top: 1rem;
    }
    label {
      display: none;
    }
    input {
      max-width: 9rem;
    }
    input {
      border-bottom-width: 2px;
    }
    input {
      --tw-border-opacity: 1;
      border-color: rgb(82 82 82 / var(--tw-border-opacity));
    }
    input {
      background-color: transparent;
    }
    input {
      padding-left: 0.25rem;
      padding-right: 0.25rem;
    }
    input:focus {
      --tw-border-opacity: 1;
      border-color: rgb(163 163 163 / var(--tw-border-opacity));
    }
    input:focus {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
    input {
      &[name="email"] {
        min-width: var(--feedback-width);
      }
    }
    textarea {
      width: var(--feedback-width);
    }
    textarea {
      resize: none;
    }
    textarea {
      overflow-y: scroll;
    }
    textarea {
      border-radius: 0.25rem;
    }
    textarea {
      --tw-bg-opacity: 1;
      background-color: rgb(38 38 38 / var(--tw-bg-opacity));
    }
    textarea {
      padding: 0.75rem;
    }
    textarea {
      --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
      --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    textarea {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
  }
  h2 {
    margin-bottom: 2rem;
  }
  h2 {
    font-weight: 600;
  }
  h2 {
    --tw-text-opacity: 1;
    color: rgb(239 68 68 / var(--tw-text-opacity));
  }
  input[type="submit"] {
    width: calc(80px + 8vw);
  }
  input[type="submit"] {
    cursor: pointer;
  }
  input[type="submit"] {
    border-radius: 0.25rem;
  }
  input[type="submit"] {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  input[type="submit"] {
    text-align: center;
  }
  input[type="submit"] {
    font-weight: 500;
  }
  input[type="submit"] {
    --tw-bg-opacity: 1;
    background-color: rgb(245 245 245 / var(--tw-bg-opacity));
  }
  input[type="submit"] {
    --tw-text-opacity: 1;
    color: rgb(23 23 23 / var(--tw-text-opacity));
  }
  input[type="submit"] {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  input[type="submit"]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(229 229 229 / var(--tw-bg-opacity));
  }
  input[type="submit"]:hover {
    --tw-brightness: brightness(1.05);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  input[type="submit"]:active {
    --tw-brightness: brightness(.9);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  p {
    margin-top: 1.25rem;
  }
  p {
    --tw-text-opacity: 1;
    color: rgb(82 82 82 / var(--tw-text-opacity));
  }
  p {
    a {
      font-weight: 600;
    }
    a {
      --tw-text-opacity: 1;
      color: rgb(59 130 246 / var(--tw-text-opacity));
    }
  }
}

#page:has(#note-view-btn[data-state="chat"]) {
  > section {
    max-width: calc(84vw - 50px);
  }
  @media (min-width: 800px) {
    > section {
      max-width: calc(6vw + 340px);
    }
  }
  > section {
    --tw-translate-x: calc(5vw + 10px);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  @media (min-width: 800px) {
    > section {
      --tw-translate-x: calc(2vw + 30px);
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
  }
  > section {
    &:not([tabindex="0"]),
    &:has(> .tag-row > .tag[data-name="gpt"]:not(.disabled)) {
      --tw-translate-x: calc(-5vw - 20px);
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
  }
  /* > #add-block-btn {
    @apply opacity-0 pointer-events-none;
  } */
  > #chat-input {
    pointer-events: auto;
  }
  > #chat-input {
    opacity: 1;
  }
  > #chat-gradient {
    opacity: 1;
  }
}

body {
  --chat-transitions: opacity ease-in-out 75ms,
    left ease-in-out var(--sidebar-speed);
  #chat-input {
    position: fixed;
  }
  #chat-input {
    bottom: 1.5rem;
  }
  #chat-input {
    left: 50%;
  }
  #chat-input {
    height: -moz-fit-content;
    height: fit-content;
  }
  #chat-input {
    max-height: 200px;
  }
  #chat-input {
    width: calc(300px + 15vw);
  }
  #chat-input {
    max-width: 85vw;
  }
  #chat-input {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  #chat-input {
    padding-right: 2.5rem;
  }
  @media (min-width: 600px) {
    #chat-input {
      bottom: 3rem;
    }
  }
  #chat-input {
    pointer-events: none;
  }
  #chat-input {
    opacity: 0;
  }
  #chat-input {
    transition: var(--chat-transitions);
    > textarea {
      margin-top: -5px;
    }
    > textarea {
      width: 100%;
    }
    > textarea {
      border-radius: 0.25rem;
    }
    > textarea {
      padding: 0.75rem;
    }
    > textarea {
      transition-property: all;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    > textarea {
      resize: none;
    }
    > textarea {
      overflow-y: scroll;
    }
    > textarea {
      --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
      --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    > textarea {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
    > textarea {
      --tw-bg-opacity: 1;
      background-color: rgb(229 229 229 / var(--tw-bg-opacity));
    }
    > textarea {
      --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
      --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
      box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    }
    > textarea {
      --tw-ring-color: transparent;
    }
    > textarea:focus {
      --tw-ring-opacity: 1;
      --tw-ring-color: rgb(212 212 212 / var(--tw-ring-opacity));
    }
    > textarea:where(.dark, .dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(38 38 38 / var(--tw-bg-opacity));
    }
    > textarea:where(.dark, .dark *):focus {
      --tw-ring-opacity: 1;
      --tw-ring-color: rgb(64 64 64 / var(--tw-ring-opacity));
    }
    > button {
      position: absolute;
    }
    > button {
      right: -6px;
    }
    > button {
      bottom: 14px;
    }
    > button {
      padding: 4px;
    }
    > button {
      font-size: 1.5rem;
      line-height: 2rem;
    }
  }
  #chat-gradient {
    pointer-events: none;
  }
  #chat-gradient {
    position: fixed;
  }
  #chat-gradient {
    left: 0px;
  }
  #chat-gradient {
    right: 18px;
  }
  #chat-gradient {
    bottom: 0px;
  }
  #chat-gradient {
    height: 10rem;
  }
  #chat-gradient {
    opacity: 0;
  }
  #chat-gradient {
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
  }
  #chat-gradient {
    --tw-gradient-from: transparent var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  }
  #chat-gradient {
    --tw-gradient-to: rgb(245 245 245 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #f5f5f5 var(--tw-gradient-via-position), var(--tw-gradient-to);
  }
  #chat-gradient {
    --tw-gradient-via-position: 40%;
  }
  #chat-gradient {
    --tw-gradient-to: #f5f5f5 var(--tw-gradient-to-position);
  }
  #chat-gradient:where(.dark, .dark *) {
    --tw-gradient-to: rgb(23 23 23 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #171717 var(--tw-gradient-via-position), var(--tw-gradient-to);
  }
  #chat-gradient:where(.dark, .dark *) {
    --tw-gradient-to: #171717 var(--tw-gradient-to-position);
  }
  #chat-gradient {
    transition: var(--chat-transitions);
  }
  @media only screen and (min-width: 800px) {
    &:has(#sidebar-btn[aria-expanded="true"]) {
      --left: calc(var(--sidebar-width) + var(--page-border));
      #chat-input {
        left: calc(50% + calc(var(--left) / 2));
      }
      #chat-gradient {
        left: var(--left);
      }
    }
  }
}

#usage-indicator {
  position: absolute;
  top: 0px;
  left: 0px;
  bottom: 0px;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity));
  transition: right 200ms ease-in-out, filter 400ms ease-in-out;
  &.flash {
    --tw-brightness: brightness(.5);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
}

#new-tag-menu {
  position: absolute;
  width: -moz-max-content;
  width: max-content;
  --tw-translate-x: -50%;
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  cursor: default;
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  border-radius: 0.5rem;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(64 64 64 / var(--tw-border-opacity));
  h1 {
    position: relative;
  }
  h1 {
    grid-column: 1 / -1;
  }
  h1 {
    width: 100%;
  }
  h1 {
    padding-bottom: 0.25rem;
  }
  h1 {
    text-align: center;
  }
  h1 {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  h1 {
    font-weight: 600;
  }
  h1 {
    .close-menu-btn {
      position: absolute;
    }
    .close-menu-btn {
      top: -6px;
    }
    .close-menu-btn {
      right: -18px;
    }
    .close-menu-btn {
      padding: 2px;
    }
    .close-menu-btn {
      transition-property: opacity;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    .close-menu-btn:hover {
      opacity: 0.75;
    }
    .close-menu-btn:hover {
      --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
      --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    .close-menu-btn:active {
      --tw-brightness: brightness(1.25);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }
    .close-menu-btn {
      border-radius: 9999px;
    }
    .close-menu-btn {
      transition-property: all;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    .close-menu-btn:hover {
      --tw-bg-opacity: 1;
      background-color: rgb(64 64 64 / var(--tw-bg-opacity));
    }
    .close-menu-btn {
      svg {
        fill: #fafafa;
      }
      svg {
        font-size: 1.125rem;
        line-height: 1.75rem;
      }
    }
  }
  ul {
    grid-column: 1 / -1;
  }
  ul {
    margin-left: auto;
    margin-right: auto;
  }
  ul {
    max-width: 11rem;
  }
  ul {
    display: flex;
  }
  ul {
    flex-direction: row;
  }
  ul {
    flex-wrap: wrap;
  }
  ul {
    justify-content: space-evenly;
  }
  ul {
    gap: 0.25rem;
  }
  ul {
    li {
      box-sizing: border-box;
    }
    li {
      width: 1.5rem;
      height: 1.5rem;
    }
    li {
      cursor: pointer;
    }
    li {
      border-radius: 9999px;
    }
    li {
      border-width: 4px;
    }
    li {
      --tw-border-opacity: 1;
      border-color: rgb(38 38 38 / var(--tw-border-opacity));
    }
    li {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    li:active {
      --tw-brightness: brightness(1.25);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }
    li {
      &[aria-checked="true"] {
        --tw-border-opacity: 1;
        border-color: rgb(82 82 82 / var(--tw-border-opacity));
      }
    }
  }
  label {
    display: flex;
  }
  label {
    align-items: center;
  }
  label {
    white-space: nowrap;
  }
  label {
    text-transform: capitalize;
  }
  label {
    &:has(>input[type="checkbox"]) {
      padding-left: 0.75rem;
    }
    &:has(>input[type="checkbox"]) {
      > span {
        width: 90px;
      }
      > span {
        text-align: left;
      }
      > input {
        transform: translate(-2px, -2px);
      }
    }
    > span {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
    > span {
      padding-right: 0.5rem;
    }
  }
  > div {
    grid-row: span 2 / span 2;
  }
  > div {
    height: 4rem;
  }
  > div {
    padding-top: 2px;
  }
  > div {
    > label {
      flex-direction: column;
    }
    > label {
      align-items: flex-start;
    }
    > label {
      justify-content: flex-end;
    }
    > label {
      gap: 0.75rem;
    }
    > label {
      > input[type="text"] {
        width: 8rem;
      }
      > input[type="text"] {
        border-radius: 0.25rem;
      }
      > input[type="text"] {
        border-width: 1px;
      }
      > input[type="text"] {
        --tw-border-opacity: 1;
        border-color: rgb(82 82 82 / var(--tw-border-opacity));
      }
      > input[type="text"] {
        --tw-bg-opacity: 1;
        background-color: rgb(64 64 64 / var(--tw-bg-opacity));
      }
      > input[type="text"] {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
      }
      > input[type="text"]:focus {
        --tw-border-opacity: 1;
        border-color: rgb(163 163 163 / var(--tw-border-opacity));
      }
      > input[type="text"]:focus {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
    }
  }
  button[type="submit"] {
    grid-column: 1 / -1;
  }
  button[type="submit"] {
    margin-left: auto;
    margin-right: auto;
  }
  button[type="submit"] {
    margin-bottom: 0.5rem;
  }
  button[type="submit"] {
    margin-top: 0.75rem;
  }
  button[type="submit"] {
    width: 66.666667%;
  }
  button[type="submit"] {
    border-radius: 0.25rem;
  }
  button[type="submit"] {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  button[type="submit"] {
    --tw-bg-opacity: 1;
    background-color: rgb(5 150 105 / var(--tw-bg-opacity));
  }
  button[type="submit"] {
    font-weight: 600;
  }
  button[type="submit"]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(16 185 129 / var(--tw-bg-opacity));
  }
}

#page:not(:has(#new-tag-cursor)) > #new-tag-menu {
  pointer-events: none;
}

.tag {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  max-height: 25px;
  max-width: 200px;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(64 64 64 / var(--tw-bg-opacity));
  cursor: pointer;
  border-radius: 9999px;
  padding-left: 7px;
  padding-right: 7px;
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  > p {
    pointer-events: none;
  }
  > p {
    z-index: 10;
  }
  > p {
    flex-shrink: 1;
  }
  > p {
    padding-bottom: 2.5px;
  }
  > p {
    --tw-text-opacity: 1;
    color: rgb(10 10 10 / var(--tw-text-opacity));
  }
  > p {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  > p {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  > p {
    overflow: hidden;
  }
  > p {
    text-overflow: ellipsis;
  }
  > p {
    white-space: nowrap;
  }
  /* background color */
  > div {
    pointer-events: none;
  }
  > div {
    position: absolute;
  }
  > div {
    inset: 0px;
  }
  > div {
    border-radius: 9999px;
  }
  > div {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  &:hover>div {
    --tw-brightness: brightness(.9);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  &.disabled {
    & > p {
      --tw-text-opacity: 1;
      color: rgb(250 250 250 / var(--tw-text-opacity));
    }
    &:active:not(.dragging) > p {
      color: rgb(38 38 38 / 0.8);
    }
    > div {
      --tw-scale-x: 0;
      --tw-scale-y: 0;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
  }
  &:active:not(.dragging) > div {
    transform: scale(0.8, 0.6) !important;
  }
}

.tag-row {
  height: -moz-max-content;
  height: max-content;
  width: 100%;
  gap: 5px;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 75ms;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  > h1 {
    margin-right: 0.5rem;
  }
  > h1 {
    max-width: 350px;
  }
  > h1 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  > h1 {
    font-weight: 700;
  }
  > h1 {
    overflow: hidden;
  }
  > h1 {
    text-overflow: ellipsis;
  }
  > h1 {
    white-space: nowrap;
  }
  .edit-tags-btn, button[aria-controls="new-tag-menu"] {
    position: relative;
  }
  .edit-tags-btn, button[aria-controls="new-tag-menu"] {
    width: 24px;
    height: 24px;
  }
  .edit-tags-btn, button[aria-controls="new-tag-menu"] {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .edit-tags-btn, button[aria-controls="new-tag-menu"] {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .edit-tags-btn:active, button[aria-controls="new-tag-menu"]:active {
    --tw-brightness: brightness(1.25);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  .edit-tags-btn, button[aria-controls="new-tag-menu"] {
    border-radius: 9999px;
  }
  .edit-tags-btn:focus, button[aria-controls="new-tag-menu"]:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
  .edit-tags-btn:active, button[aria-controls="new-tag-menu"]:active {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
  .edit-tags-btn, button[aria-controls="new-tag-menu"] {
    > svg {
      pointer-events: none;
    }
    > svg {
      position: absolute;
    }
    > svg {
      left: 50%;
    }
    > svg {
      top: 50%;
    }
    > svg {
      transition-property: all;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    > svg {
      transform: translate(-50%, -50%);
    }
  }
  .edit-tags-btn > svg {
    &:first-child,
    &:last-child {
      opacity: 0;
    }
  }
  button[aria-controls="new-tag-menu"] {
    pointer-events: none;
  }
  button[aria-controls="new-tag-menu"] {
    opacity: 0;
  }
  button[aria-controls="new-tag-menu"] {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  button[aria-controls="new-tag-menu"] {
    > svg {
      margin-bottom: 1px;
    }
    > svg {
      margin-right: 1px;
    }
    &#new-tag-cursor {
      pointer-events: none;
      > svg {
        opacity: 0;
      }
    }
  }
  &.editing {
    .edit-tags-btn > svg {
      opacity: 0;
      &:last-child {
        opacity: 1;
      }
    }
    button[aria-controls="new-tag-menu"] {
      pointer-events: auto;
    }
    button[aria-controls="new-tag-menu"] {
      opacity: 1;
    }
  }
  &:not(.editing) > .tag {
    pointer-events: none;
    &.disabled {
      max-width: 0 !important;
      max-height: 0 !important;
      opacity: 0 !important;
    }
  }
}

article > .tag-row {
  > .edit-tags-btn, > button[aria-controls="new-tag-menu"] {
    svg {
      fill: rgb(64 64 64 / 0.8);
    }
    &:hover:not(#new-tag-cursor) {
      background-color: rgb(64 64 64 / 0.8);
    }
    &:hover:not(#new-tag-cursor) {
      svg {
        fill: #171717;
      }
    }
  }
}

section > .tag-row {
  > .edit-tags-btn, > button[aria-controls="new-tag-menu"] {
    svg {
      fill: #404040;
    }
    &:hover:not(:has(> #new-tag-cursor)) {
      --tw-bg-opacity: 1;
      background-color: rgb(64 64 64 / var(--tw-bg-opacity));
    }
    &:hover:not(:has(> #new-tag-cursor)) {
      svg {
        fill: #262626;
      }
    }
  }
}

article,
section:not(:focus) {
  > .tag-row:not(.editing):not(:hover) {
    > .edit-tags-btn > svg {
      opacity: 0;
      &:first-child {
        opacity: 1;
      }
    }
    > .tag {
      pointer-events: none;
    }
    > .tag {
      max-height: 7px;
    }
    > .tag {
      max-width: 7px;
    }
    > .tag {
      padding: 0px;
    }
    > .tag>p {
      opacity: 0;
    }
  }
}

#alt-sidebar[data-type="graph"] .tag {
  > div {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
}

section {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 0.25rem;
  border-width: 3px;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  border-color: transparent;
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity));
}

section:active {
  background-color: rgb(38 38 38 / 0.9);
}

section {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 75ms;
}

section:focus-within {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

section {
  &:focus {
    --tw-border-opacity: 1;
    border-color: rgb(163 163 163 / var(--tw-border-opacity));
  }
  &:focus:where(.dark, .dark *) {
    --tw-border-opacity: 1;
    border-color: rgb(115 115 115 / var(--tw-border-opacity));
  }
  &:not(:has(> textarea:focus)) {
    padding-top: 0.75rem;
  }
  > .tag-row {
    max-height: 200px;
  }
  > .tag-row {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  > .tag-row {
    transition-property: max-height;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  &:has(> textarea:focus) > .tag-row {
    display: none;
  }
  > textarea {
    resize: none;
  }
  > textarea {
    background-color: transparent;
  }
  > textarea {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  > textarea {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  > textarea {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  > textarea {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
  div.prose {
    min-height: 3.5rem;
  }
  div.prose {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  div.prose {
    overflow: hidden;
  }
  div.prose {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  div.prose {
    padding-bottom: 1rem;
  }
  div.prose {
    padding-top: 0.25rem;
  }
  div.prose {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  div.prose {
    transition-duration: 75ms;
  }
}

.prose > pre > code {
  overflow-x: auto;
  &::-webkit-scrollbar {
    height: var(--scrollbar-width);
  }
  &::-webkit-scrollbar {
    &-track {
      margin: 0.25rem;
    }
    &-track {
      border-radius: 9999px;
    }
    &-track {
      --tw-bg-opacity: 1;
      background-color: rgb(229 229 229 / var(--tw-bg-opacity));
    }
    &-track:where(.dark, .dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(38 38 38 / var(--tw-bg-opacity));
    }
    &-thumb {
      border-radius: 9999px;
    }
    &-thumb {
      background-color: rgb(163 163 163 / 0.8);
    }
    &-thumb:where(.dark, .dark *) {
      --tw-bg-opacity: 1;
      background-color: rgb(82 82 82 / var(--tw-bg-opacity));
    }
    &-thumb {
      &:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(163 163 163 / var(--tw-bg-opacity));
      }
      &:hover:where(.dark, .dark *) {
        background-color: rgb(64 64 64 / 0.6);
      }
    }
  }
}

.prose {
  font-size: 1.125rem;
  line-height: 1.7777778;
}

.prose :where(p):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
  font-size: 1.2222222em;
  line-height: 1.4545455;
  margin-top: 1.0909091em;
  margin-bottom: 1.0909091em;
}

.prose :where(blockquote):not(:where([class~="not-prose"] *)) {
  margin-top: 1.6666667em;
  margin-bottom: 1.6666667em;
  padding-left: 1em;
}

.prose :where(h1):not(:where([class~="not-prose"] *)) {
  font-size: 2.6666667em;
  margin-top: 0;
  margin-bottom: 0.8333333em;
  line-height: 1;
}

.prose :where(h2):not(:where([class~="not-prose"] *)) {
  font-size: 1.6666667em;
  margin-top: 1.8666667em;
  margin-bottom: 1.0666667em;
  line-height: 1.3333333;
}

.prose :where(h3):not(:where([class~="not-prose"] *)) {
  font-size: 1.3333333em;
  margin-top: 1.6666667em;
  margin-bottom: 0.6666667em;
  line-height: 1.5;
}

.prose :where(h4):not(:where([class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 0.4444444em;
  line-height: 1.5555556;
}

.prose :where(img):not(:where([class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose :where(video):not(:where([class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose :where(figure):not(:where([class~="not-prose"] *)) {
  margin-top: 1.7777778em;
  margin-bottom: 1.7777778em;
}

.prose :where(figure > *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
  margin-top: 1em;
}

.prose :where(code):not(:where([class~="not-prose"] *)) {
  font-size: 0.8888889em;
}

.prose :where(h2 code):not(:where([class~="not-prose"] *)) {
  font-size: 0.8666667em;
}

.prose :where(h3 code):not(:where([class~="not-prose"] *)) {
  font-size: 0.875em;
}

.prose :where(pre):not(:where([class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.75;
  margin-top: 2em;
  margin-bottom: 2em;
  border-radius: 0.375rem;
  padding-top: 1em;
  padding-right: 1.5em;
  padding-bottom: 1em;
  padding-left: 1.5em;
}

.prose :where(ol):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-left: 1.5555556em;
}

.prose :where(ul):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
  margin-bottom: 1.3333333em;
  padding-left: 1.5555556em;
}

.prose :where(li):not(:where([class~="not-prose"] *)) {
  margin-top: 0.6666667em;
  margin-bottom: 0.6666667em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.4444444em;
}

.prose :where(ul > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.4444444em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.3333333em;
}

.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.3333333em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
  margin-top: 0.8888889em;
  margin-bottom: 0.8888889em;
}

.prose :where(hr):not(:where([class~="not-prose"] *)) {
  margin-top: 3.1111111em;
  margin-bottom: 3.1111111em;
}

.prose :where(hr + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(table):not(:where([class~="not-prose"] *)) {
  font-size: 0.8888889em;
  line-height: 1.5;
}

.prose :where(thead th):not(:where([class~="not-prose"] *)) {
  padding-right: 0.75em;
  padding-bottom: 0.75em;
  padding-left: 0.75em;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"] *)) {
  padding-top: 0.75em;
  padding-right: 0.75em;
  padding-bottom: 0.75em;
  padding-left: 0.75em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"] *)) {
  padding-left: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"] *)) {
  padding-right: 0;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose {
  --tw-prose-body: #404040;
  --tw-prose-headings: #171717;
  --tw-prose-lead: #525252;
  --tw-prose-links: #171717;
  --tw-prose-bold: #171717;
  --tw-prose-counters: #737373;
  --tw-prose-bullets: #d4d4d4;
  --tw-prose-hr: #e5e5e5;
  --tw-prose-quotes: #171717;
  --tw-prose-quote-borders: #e5e5e5;
  --tw-prose-captions: #737373;
  --tw-prose-code: #171717;
  --tw-prose-pre-code: #e5e5e5;
  --tw-prose-pre-bg: #262626;
  --tw-prose-th-borders: #d4d4d4;
  --tw-prose-td-borders: #e5e5e5;
  --tw-prose-invert-body: #d4d4d4;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #a3a3a3;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #a3a3a3;
  --tw-prose-invert-bullets: #525252;
  --tw-prose-invert-hr: #404040;
  --tw-prose-invert-quotes: #f5f5f5;
  --tw-prose-invert-quote-borders: #404040;
  --tw-prose-invert-captions: #a3a3a3;
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d4d4d4;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #525252;
  --tw-prose-invert-td-borders: #404040;
  max-width: none;
}

.prose:where(.dark, .dark *) {
  --tw-prose-body: var(--tw-prose-invert-body);
  --tw-prose-headings: var(--tw-prose-invert-headings);
  --tw-prose-lead: var(--tw-prose-invert-lead);
  --tw-prose-links: var(--tw-prose-invert-links);
  --tw-prose-bold: var(--tw-prose-invert-bold);
  --tw-prose-counters: var(--tw-prose-invert-counters);
  --tw-prose-bullets: var(--tw-prose-invert-bullets);
  --tw-prose-hr: var(--tw-prose-invert-hr);
  --tw-prose-quotes: var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
  --tw-prose-captions: var(--tw-prose-invert-captions);
  --tw-prose-code: var(--tw-prose-invert-code);
  --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}

.prose :is(:where(a):not(:where([class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity));
}

.prose :is(:where(ol):not(:where([class~="not-prose"] *))) {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.prose :is(:where(ul):not(:where([class~="not-prose"] *))) {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.prose :is(:where(li):not(:where([class~="not-prose"] *))) {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.prose :is(:where(pre):not(:where([class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(23 23 23 / var(--tw-text-opacity));
}

.prose:where(.dark, .dark *) :is(:where(pre):not(:where([class~="not-prose"] *))) {
  --tw-text-opacity: 1;
  color: rgb(245 245 245 / var(--tw-text-opacity));
}

.prose :is(:where(pre):not(:where([class~="not-prose"] *))) {
  --tw-bg-opacity: 1;
  background-color: rgb(212 212 212 / var(--tw-bg-opacity));
}

.prose:where(.dark, .dark *) :is(:where(pre):not(:where([class~="not-prose"] *))) {
  --tw-bg-opacity: 1;
  background-color: rgb(64 64 64 / var(--tw-bg-opacity));
}

.prose :is(:where(h1, h2, h3, h4, h5, h6, th):not(:where([class~="not-prose"] *))) {
  margin-top: 1rem;
}

.prose :is(:where(pre):not(:where([class~="not-prose"] *))) {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.prose :is(:where(h1):not(:where([class~="not-prose"] *))) {
  margin-bottom: 1rem;
}

.prose :is(:where(h2):not(:where([class~="not-prose"] *))) {
  margin-bottom: 0.75rem;
}

.prose :is(:where(h3):not(:where([class~="not-prose"] *))) {
  margin-bottom: 0.5rem;
}

.prose :is(:where(h4):not(:where([class~="not-prose"] *))) {
  margin-bottom: 0.25rem;
}

.prose :is(:where(h5):not(:where([class~="not-prose"] *))) {
  margin-bottom: 0.25rem;
}

.prose :is(:where(h6):not(:where([class~="not-prose"] *))) {
  margin-bottom: 0px;
}

.prose {
  /* do a similar thing as the above line for text sizes */
}

.prose :is(:where(h1):not(:where([class~="not-prose"] *))) {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.prose :is(:where(h2):not(:where([class~="not-prose"] *))) {
  font-size: 1.5rem;
  line-height: 2rem;
}

.prose :is(:where(h3):not(:where([class~="not-prose"] *))) {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.prose :is(:where(h4):not(:where([class~="not-prose"] *))) {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.prose :is(:where(h5):not(:where([class~="not-prose"] *))) {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.prose :is(:where(h6):not(:where([class~="not-prose"] *))) {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.prose :is(:where(hr):not(:where([class~="not-prose"] *))) {
  --tw-border-opacity: 1;
  border-color: rgb(163 163 163 / var(--tw-border-opacity));
}

.prose:where(.dark, .dark *) :is(:where(hr):not(:where([class~="not-prose"] *))) {
  --tw-border-opacity: 1;
  border-color: rgb(82 82 82 / var(--tw-border-opacity));
}

.prose :is(:where(ol):not(:where([class~="not-prose"] *))) {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.prose :is(:where(ul):not(:where([class~="not-prose"] *))) {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.prose *:first-child {
  margin-top: 0px;
}

.prose *:last-child {
  margin-bottom: 0px;
}

.prose {
  input[type="checkbox"] {
    margin: 0px;
  }
  input[type="checkbox"] {
    margin-right: -21px;
  }
  input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
  }
  input[type="checkbox"] {
    --tw-translate-x: -31px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  input[type="checkbox"] {
    --tw-translate-y: 2px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  input[type="checkbox"] {
    cursor: pointer;
  }
  input[type="checkbox"] {
    border-radius: 0.5rem;
  }
}

#history-sidebar {
  gap: 9px;
  padding-top: 0.5rem;
  fieldset {
    > div {
      padding-left: 8px;
      padding-right: 8px;
    }
    > div {
      gap: 2px !important;
      > *:first-child {
        margin-top: 0 !important;
      }
    }
  }
}

form[hx-post="/api/p/new_note"] {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 0.25rem;
  background-color: transparent;
}

form[hx-post="/api/p/new_note"]:focus-within {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity));
}

form[hx-post="/api/p/new_note"]:hover {
  background-color: rgb(64 64 64 / 0.7);
}

form[hx-post="/api/p/new_note"] {
  >input {
    flex-grow: 1;
  }
  >input {
    background-color: transparent;
  }
  >input {
    padding-left: 6px;
    padding-right: 6px;
  }
  >input {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  >input {
    padding-right: 2rem;
  }
  >input {
    --tw-text-opacity: 1;
    color: rgb(250 250 250 / var(--tw-text-opacity));
  }
  >input:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
  >button {
    position: absolute;
  }
  >button {
    right: 10px;
  }
  >button {
    top: 50%;
  }
  >button {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  >button {
    display: flex;
  }
  >button {
    align-items: center;
  }
  >button {
    justify-content: center;
  }
  >button {
    svg {
      pointer-events: none;
    }
  }
  >input:focus+button>svg:first-child {
    display: none !important;
  }
  >input:not(:focus)+button {
    pointer-events: none;
  }
  >input:not(:focus)+button {
    >svg:last-child {
      display: none !important;
    }
  }
}

/* TODO: simpler alternative */

body:has(#alt-sidebar-btn[aria-expanded="true"]) form[hx-post="/api/p/new_note"]>button {
  pointer-events: none;
  opacity: 0;
}

.note-link {
  position: relative;
  cursor: pointer;
  border-radius: 0.25rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.25rem;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: center;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 100ms;
}

.note-link:hover {
  background-color: rgb(64 64 64 / 0.7);
}

.note-link:active {
  --tw-brightness: brightness(.9);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.note-link {
  >p {
    flex-shrink: 1;
  }
  >p {
    flex-grow: 1;
  }
  >p {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  >p {
    overflow: hidden;
  }
  >p {
    text-overflow: ellipsis;
  }
  >p {
    white-space: nowrap;
  }
  >p {
    --tw-text-opacity: 1;
    color: rgb(250 250 250 / var(--tw-text-opacity));
  }
  >div {
    display: flex;
  }
  >div {
    flex-shrink: 0;
  }
  >div {
    flex-direction: row-reverse;
  }
  >div {
    align-items: center;
  }
  >div {
    opacity: 0;
  }
  >div {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  >div {
    button {
      padding: 3px;
    }
    button:hover {
      --tw-brightness: brightness(1.1);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }
    button:active {
      --tw-brightness: brightness(.9);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }
    button {
      /* [&:hover>svg]:opacity-80; */
    }
  }
}

.note-link:hover>div {
  opacity: 1;
}

.menu-btn {
  height: 60px;
  width: 60px;
  --tw-scale-x: 0.28;
  --tw-scale-y: 0.28;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  cursor: pointer;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.menu-btn:hover {
  opacity: 0.8;
}

.menu-btn {
  .icon {
    &,
    &:before,
    &:after {
      position: absolute;
    }
    &,
    &:before,
    &:after {
      height: 8px;
    }
    &,
    &:before,
    &:after {
      width: 60px;
    }
    &,
    &:before,
    &:after {
      border-radius: 0.25rem;
    }
    &,
    &:before,
    &:after {
      --tw-bg-opacity: 1;
      background-color: rgb(10 10 10 / var(--tw-bg-opacity));
    }
    &,
    &:before,
    &:after {
      transition: transform var(--sidebar-speed) ease-in-out,
        background-color 300ms;
      content: "";
    }
    & {
      top: 30px;
    }
    &:before {
      top: -20px;
    }
    &:after {
      top: 20px;
    }
  }
}

html.dark .menu-btn > .icon {
  &,
  &:before,
  &:after {
    --tw-bg-opacity: 1;
    background-color: rgb(250 250 250 / var(--tw-bg-opacity));
  }
}

#sidebar-btn {
  margin-left: -11%;
  margin-right: -11%;
  --tw-translate-x: 52px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transition: transform var(--sidebar-speed) ease-in-out, opacity 300ms;
}

/* arrow icon */

#sidebar-btn[aria-expanded="true"] {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  .icon {
    &:before {
      transform: rotateZ(-45deg) scaleX(0.75) translate(-20px, -6px);
    }
    &:after {
      transform: rotateZ(45deg) scaleX(0.75) translate(-20px, 6px);
    }
  }
}

/* Close */

#search:focus ~ #sidebar-btn[aria-expanded="true"] .icon,
#navbar > #navlinks.open ~ .menu-btn .icon {
  & {
    background-color: transparent;
  }
  &:before {
    transform: rotateZ(-45deg) scaleX(1) translate(-14px, 13px);
  }
  &:after {
    transform: rotateZ(45deg) scaleX(1) translate(-15px, -14.5px);
  }
}

#dialog {
  border-radius: 0.5rem;
  max-width: var(--dialog-width);
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(38 38 38 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity));
  --tw-scale-x: 0;
  --tw-scale-y: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 100ms;
  form {
    display: flex;
  }
  form {
    flex-direction: column;
  }
  form {
    align-items: center;
  }
  form {
    gap: 1.5rem;
  }
  form {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  form {
    > h1 {
      font-size: 1.25rem;
      line-height: 1.75rem;
    }
    > h1 {
      font-weight: 500;
    }
    > h1 {
      --tw-text-opacity: 1;
      color: rgb(229 229 229 / var(--tw-text-opacity));
    }
    > h1 {
      padding: 0 calc(35px + 3vw);
    }
    > input {
      margin-left: auto;
      margin-right: auto;
    }
    > input {
      border-radius: 0.25rem;
    }
    > input {
      --tw-bg-opacity: 1;
      background-color: rgb(64 64 64 / var(--tw-bg-opacity));
    }
    > input {
      padding: 0.25rem;
    }
    > input {
      --tw-text-opacity: 1;
      color: rgb(250 250 250 / var(--tw-text-opacity));
    }
    > input:focus {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
    > div {
      margin-top: 0.5rem;
    }
    > div {
      display: flex;
    }
    > div {
      width: 100%;
    }
    > div {
      align-items: center;
    }
    > div {
      justify-content: center;
    }
    > div {
      gap: 1rem;
    }
    > div {
      padding-left: 1rem;
      padding-right: 1rem;
    }
    @media (min-width: 600px) {
      > div {
        padding-left: 2rem;
        padding-right: 2rem;
      }
    }
    > div {
      button {
        padding: 4px 10px;
      }
      button {
        font-weight: 500;
      }
      button {
        text-transform: capitalize;
      }
      button {
        --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
      }
      button:focus {
        outline: 2px solid transparent;
        outline-offset: 2px;
      }
      button {
        --tw-bg-opacity: 1;
        background-color: rgb(38 38 38 / var(--tw-bg-opacity));
      }
      button {
        --tw-text-opacity: 1;
        color: rgb(229 229 229 / var(--tw-text-opacity));
      }
      button {
        transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        transition-duration: 150ms;
      }
      button:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(64 64 64 / var(--tw-bg-opacity));
      }
      button {
        border-radius: 0.5rem;
      }
      button {
        border-width: 1px;
      }
      button {
        --tw-border-opacity: 1;
        border-color: rgb(64 64 64 / var(--tw-border-opacity));
      }
      button {
        &[value="confirm"] {
          --tw-bg-opacity: 1;
          background-color: rgb(5 150 105 / var(--tw-bg-opacity));
        }
        &[value="confirm"]:hover {
          --tw-bg-opacity: 1;
          background-color: rgb(16 185 129 / var(--tw-bg-opacity));
        }
        &[value="delete"] {
          --tw-bg-opacity: 1;
          background-color: rgb(185 28 28 / var(--tw-bg-opacity));
        }
        &[value="delete"]:hover {
          --tw-bg-opacity: 1;
          background-color: rgb(239 68 68 / var(--tw-bg-opacity));
        }
      }
    }
  }
  &::backdrop {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--tw-bg-opacity));
  }
  &::backdrop {
    opacity: 0;
  }
  &::backdrop {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  &[open] {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  &[open] {
    &::backdrop {
      opacity: 0.7;
    }
  }
}

footer {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

@media (min-width: 600px) {
  footer {
    flex-direction: row;
  }
}

footer {
  /* nav:first-child { */
  /*   @apply flex p-2 gap-2 bg-neutral-900 rounded-full; */
  /**/
  /*   a { */
  /*     @apply rounded-full pt-[2px] pb-[1px] px-2 transition-colors; */
  /*     @apply hover:bg-neutral-800; */
  /**/
  /*     &.active { */
  /*       @apply bg-neutral-200 text-black hover:bg-neutral-200/70; */
  /*     } */
  /*   } */
  /* } */
  nav:last-child {
    display: flex;
  }
  nav:last-child {
    flex-direction: row;
  }
  nav:last-child {
    gap: 20px;
  }
  nav:last-child {
    svg {
      width: 32px;
      height: 32px;
    }
    svg {
      cursor: pointer;
    }
    svg {
      fill: #a3a3a3;
    }
    svg {
      transition-property: opacity;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    svg:hover {
      opacity: 0.8;
    }
    svg:where(.dark, .dark *) {
      fill: #404040;
    }
  }
}

#sidebar-content fieldset {
  --row-height: 38px;
  grid-template-rows: var(--row-height) 0fr;
  display: grid;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  overflow: visible;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  /* &:has(>button:focus) {
    @apply ring-2 ring-neutral-500;
  } */
  &:has(>button:hover) {
    background-color: rgb(38 38 38 / 0.6);
  }
  &:has(>button:active) {
    background-color: rgb(23 23 23 / 0.8);
  }
  >button {
    all: unset
  }
  >button {
    position: relative;
  }
  >button {
    display: flex;
  }
  >button {
    align-items: center;
  }
  >button {
    gap: 0.5rem;
  }
  >button {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  >button {
    cursor: pointer;
  }
  >button {
    overflow: visible;
  }
  >button {
    h1 {
      pointer-events: none;
    }
    h1 {
      flex-grow: 1;
    }
    h1 {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
    h1 {
      text-align: left;
    }
    h1 {
      font-size: 1rem;
      line-height: 1.5rem;
    }
    h1 {
      font-weight: 700;
    }
    h1 {
      text-transform: capitalize;
    }
    >svg {
      font-size: 1.125rem;
      line-height: 1.75rem;
    }
    >svg {
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
  }
  >div {
    display: flex;
  }
  >div {
    flex-direction: column;
  }
  >div {
    gap: 0.5rem;
  }
  >div {
    overflow: hidden;
  }
  >div {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  >div>*:first-child {
    margin-top: 0.25rem;
  }
  >div>*:last-child {
    margin-bottom: 0.75rem;
  }
  &:disabled {
    opacity: 0.6;
  }
  &[aria-expanded="true"] {
    grid-template-rows: var(--row-height) 1fr;
    &>button>svg {
      --tw-rotate: 90deg;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
  }
}

#sidebar-wrapper {
  position: fixed;
  inset: 0px;
  z-index: 50;
}

@media (min-width: 800px) {
  #sidebar-wrapper {
    position: relative;
    inset: auto;
    z-index: 0;
    width: 0px;
  }
}

#sidebar-wrapper {
  transition: width var(--sidebar-speed) ease-in-out, 
    -webkit-backdrop-filter var(--sidebar-speed) ease-in-out;
  transition: width var(--sidebar-speed) ease-in-out, 
    backdrop-filter var(--sidebar-speed) ease-in-out;
  transition: width var(--sidebar-speed) ease-in-out, 
    backdrop-filter var(--sidebar-speed) ease-in-out, 
    -webkit-backdrop-filter var(--sidebar-speed) ease-in-out;
  #sidebar {
    position: fixed;
  }
  #sidebar {
    inset: 0px;
  }
  #sidebar {
    width: var(--sidebar-width);
  }
  #sidebar {
    border-right-width: 1px;
  }
  #sidebar {
    --tw-border-opacity: 1;
    border-color: rgb(38 38 38 / var(--tw-border-opacity));
  }
  #sidebar {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--tw-bg-opacity));
  }
  #sidebar {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
  @media (min-width: 800px) {
    #sidebar {
      position: absolute;
    }
  }
  @media (min-width: 800px) {
    #sidebar {
      left: auto;
    }
  }
  @media (min-width: 800px) {
    #sidebar {
      border-right-width: 0px;
    }
  }
  @media (min-width: 800px) {
    #sidebar {
      --tw-shadow: 0 0 #0000;
      --tw-shadow-colored: 0 0 #0000;
      box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
  }
  #sidebar {
    display: flex;
  }
  #sidebar {
    flex-direction: column;
  }
  #sidebar {
    align-items: stretch;
  }
  #sidebar {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  #sidebar {
    transition: transform var(--sidebar-speed) ease-in-out;
    button {
      cursor: pointer;
    }
    button {
      transition-property: opacity;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    button:hover {
      opacity: 0.8;
    }
    button {
      overflow: hidden;
    }
    button {
      text-overflow: ellipsis;
    }
    button {
      white-space: nowrap;
    }
  }
  &:has(#sidebar-btn:not([aria-expanded="true"])) {
    position: relative;
  }
  &:has(#sidebar-btn:not([aria-expanded="true"])) {
    width: 0px;
  }
  &:has(#sidebar-btn:not([aria-expanded="true"])) {
    > #sidebar {
      --tw-translate-x: -100%;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    @media (min-width: 800px) {
      > #sidebar {
        --tw-translate-x: 0px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      }
    }
  }
  &:has(#sidebar-btn[aria-expanded="true"]) {
    --tw-backdrop-blur: blur(2px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
            backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  }
  @media (min-width: 800px) {
    &:has(#sidebar-btn[aria-expanded="true"]) {
      width: var(--sidebar-width);
    }
  }
  @media (min-width: 800px) {
    &:has(#sidebar-btn[aria-expanded="true"]) {
      --tw-backdrop-blur: blur(0);
      -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
              backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    }
  }
}

#sidebar-content {
  position: relative;
  flex-grow: 1;
  > nav {
    position: absolute;
  }
  > nav {
    inset: 0px;
  }
  > nav {
    display: flex;
  }
  > nav {
    flex-direction: column;
  }
  > nav {
    overflow-y: auto;
  }
  > nav {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  > nav {
    pointer-events: none;
  }
  > nav {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--tw-bg-opacity));
  }
  > nav {
    opacity: 0;
  }
  > nav {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  > nav {
    &, & > nav {
      gap: 10px;
    }
    &, & > nav {
      padding-left: 9px;
      padding-right: 9px;
    }
    &, & > nav {
      padding-top: 0.5rem;
    }
  }
}

#search-sidebar {
  gap: 2px;
  padding-top: 0.5rem;
}

#spinner {
  --size: 40px;
  --left: calc(calc(var(--sidebar-width) - var(--size)) / 2);
  position: absolute;
  top: 1rem;
  left: var(--left);
  width: var(--size);
  height: var(--size);
  border-radius: 9999px;
  pointer-events: none;
  box-sizing: border-box;
  display: inline-block;
  border-width: 5px;
  --tw-border-opacity: 1;
  border-color: rgb(245 245 245 / var(--tw-border-opacity));
  border-bottom-color: transparent
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

#spinner {
  animation: spin 1s linear infinite;
  opacity: 0;
  &.htmx-request {
    opacity: 1 !important;
  }
}

/* determine active sidebar */

#sidebar:has(#search:is(:not(:focus), :-moz-placeholder-shown)) #history-sidebar, #sidebar:has(#search:focus:not(:-moz-placeholder-shown)) #search-sidebar {
  opacity: 1 !important;
  pointer-events: auto !important;
}

#sidebar:has(#search:is(:not(:focus), :placeholder-shown)) #history-sidebar,
#sidebar:has(#search:focus:not(:placeholder-shown)) #search-sidebar {
  opacity: 1 !important;
  pointer-events: auto !important;
}

body:has(#alt-sidebar-btn[aria-expanded="true"]) {
  #history-sidebar,
  #search-sidebar {
    &, .note-link > div {
      opacity: 0 !important;
      pointer-events: none !important;
    }
  }
  #alt-sidebar {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

#page[data-type="todo"] {
  gap: 2px !important;
}

#todo-nav {
  margin-top: -4px;
  display: flex;
  height: 28px;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  button {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  button {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  button {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  button {
    transition-duration: 75ms;
  }
  button {
    * {
      pointer-events: none;
    }
  }
  #center-btns {
    display: flex;
  }
  #center-btns {
    width: 28px;
  }
  #center-btns {
    align-items: center;
  }
  #center-btns {
    justify-content: center;
  }
  #center-btns>*:last-child {
    display: none;
  }
  #center-btns {
    #center-date {
      cursor: pointer !important;
    }
    #todo-trash svg {
      margin-left: 1px;
      margin-right: 1px;
    }
    #todo-trash svg {
      width: 28px;
    }
    #todo-trash svg {
      fill: #fafafa;
    }
    #todo-trash svg {
      opacity: 0.7;
    }
    #todo-trash svg {
      transition-property: opacity;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    #todo-trash svg:hover {
      opacity: 0.9;
    }
  }
  &:has(+ #day-columns #over-trash.todo-item) #todo-trash svg {
    fill: #ef4444;
  }
  &:has(+ #day-columns .todo-item.dragging) {
    > button {
      pointer-events: none;
    }
    > button {
      opacity: 0;
    }
    #center-btns>*:first-child {
      display: none;
    }
    #center-btns>*:last-child {
      display: block;
    }
    #center-btns>div {
      display: none;
    }
  }
}

#day-columns {
  display: flex;
  height: 100%;
  width: 100%;
  overflow: hidden;
  container-type: inline-size;
  > #left-spacer {
    margin-right: -200cqw;
  }
  @container (min-width: 30rem) {
    > #left-spacer {
      margin-right: -100cqw;
    }
  }
  @container (min-width: 45rem) {
    > #left-spacer {
      margin-right: calc(100cqw / -3);
    }
  }
  @container (min-width: 60rem) {
    > #left-spacer {
      margin-right: -25cqw;
    }
  }
  @container (min-width: 75rem) {
    > #left-spacer {
      margin-right: -20cqw;
    }
  }
  @container (min-width: 90rem) {
    > #left-spacer {
      margin-right: calc(100cqw / -6);
    }
  }
  @container (min-width: 105rem) {
    > #left-spacer {
      margin-right: calc(100cqw / -7);
    }
  }
  &.move-right > #left-spacer {
    margin-left: 100cqw;
  }
  &.move-right > #left-spacer {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  @container (min-width: 30rem) {
    &.move-right > #left-spacer {
      margin-left: 50cqw;
    }
  }
  @container (min-width: 45rem) {
    &.move-right > #left-spacer {
      margin-left: 60cqw;
    }
  }
  @container (min-width: 75rem) {
    &.move-right > #left-spacer {
      margin-left: 20cqw;
    }
  }
  @container (min-width: 90rem) {
    &.move-right > #left-spacer {
      margin-left: calc(100cqw / 6);
    }
  }
  @container (min-width: 105rem) {
    &.move-right > #left-spacer {
      margin-left: calc(100cqw / 7);
    }
  }
  &.move-left > #left-spacer {
    margin-left: -100cqw;
  }
  &.move-left > #left-spacer {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  @container (min-width: 30rem) {
    &.move-left > #left-spacer {
      margin-left: -50cqw;
    }
  }
  @container (min-width: 45rem) {
    &.move-left > #left-spacer {
      margin-left: -60cqw;
    }
  }
  @container (min-width: 75rem) {
    &.move-left > #left-spacer {
      margin-left: -20cqw;
    }
  }
  @container (min-width: 90rem) {
    &.move-left > #left-spacer {
      margin-left: calc(100cqw / -6);
    }
  }
  @container (min-width: 105rem) {
    &.move-left > #left-spacer {
      margin-left: calc(100cqw / -7);
    }
  }
}

#day-columns > .day-col {
  box-sizing: border-box;
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  min-width: 100cqw;
}

@container (min-width: 30rem) {
  #day-columns > .day-col {
    min-width: 50cqw;
  }
}

@container (min-width: 45rem) {
  #day-columns > .day-col {
    min-width: calc(100cqw / 3);
  }
}

@container (min-width: 60rem) {
  #day-columns > .day-col {
    min-width: 25cqw;
  }
}

@container (min-width: 75rem) {
  #day-columns > .day-col {
    min-width: 20cqw;
  }
}

@container (min-width: 90rem) {
  #day-columns > .day-col {
    min-width: calc(100cqw / 6);
  }
}

@container (min-width: 105rem) {
  #day-columns > .day-col {
    min-width: calc(100cqw / 7);
  }
}

#day-columns > .day-col {
  .col-link {
    display: flex;
  }
  .col-link {
    cursor: pointer;
  }
  .col-link {
    flex-direction: column;
  }
  .col-link {
    align-items: center;
  }
  .col-link {
    --tw-text-opacity: 1;
    color: rgb(250 250 250 / var(--tw-text-opacity));
  }
  .col-link {
    h1,
    h2 {
      cursor: pointer;
    }
    h1,
    h2 {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
    h1,
    h2 {
      text-align: center;
    }
    h1,
    h2 {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    h2 {
      display: flex;
    }
    h2 {
      width: 27px;
      height: 27px;
    }
    h2 {
      align-items: center;
    }
    h2 {
      justify-content: center;
    }
    h2 {
      box-sizing: content-box;
    }
    h2 {
      border-radius: 9999px;
    }
    h2 {
      border-width: 2px;
    }
    h2 {
      --tw-border-opacity: 1;
      border-color: rgb(250 250 250 / var(--tw-border-opacity));
    }
    h2 {
      transition-property: all;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    h2>* {
      padding-bottom: 1px;
    }
  }
  .col-link:hover {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity));
  }
  .col-link:hover>h2 {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity));
  }
  &:not(.today) .col-link h2 {
    border-color: transparent !important;
  }
}

#day-columns > .day-col > .todo-items {
  display: flex;
  width: 100%;
  flex-grow: 1;
  flex-direction: column;
  gap: 0.75rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

@media (min-width: 1000px) {
  #day-columns > .day-col > .todo-items {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

#day-columns > .day-col > .todo-items {
  .todo-item {
    position: relative;
  }
  .todo-item {
    cursor: pointer;
  }
  .todo-item {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  .todo-item {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .todo-item {
    padding-top: 0.25rem;
  }
  .todo-item {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .todo-item {
    transition-duration: 75ms;
  }
  .todo-item.dragging {
    opacity: 0.5;
  }
  .todo-item {
    border-radius: 0.25rem;
  }
  .todo-item {
    --tw-bg-opacity: 1;
    background-color: rgb(229 229 229 / var(--tw-bg-opacity));
  }
  .todo-item:where(.dark, .dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity));
  }
  .todo-item {
    border-width: 2px;
  }
  .todo-item {
    border-color: transparent;
  }
  .todo-item {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .todo-item:focus-within {
    --tw-border-opacity: 1;
    border-color: rgb(163 163 163 / var(--tw-border-opacity));
  }
  .todo-item:where(.dark, .dark *):focus-within {
    --tw-border-opacity: 1;
    border-color: rgb(82 82 82 / var(--tw-border-opacity));
  }
  .todo-item {
    > nav {
      position: absolute;
    }
    > nav {
      left: -25px;
    }
    > nav {
      top: 0px;
    }
    > nav {
      display: flex;
    }
    > nav {
      width: 2rem;
    }
    > nav {
      flex-direction: column;
    }
    > nav {
      gap: 0.25rem;
    }
    > nav {
      padding-right: 0.5rem;
    }
    > nav {
      opacity: 0;
    }
    > nav {
      transition-property: opacity;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    &:hover:not(.dragging) > nav {
      opacity: 1;
    }
    > textarea {
      width: 100%;
    }
    > textarea {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
    > textarea {
      resize: none;
    }
    > textarea {
      overflow: hidden;
    }
    > textarea {
      background-color: transparent;
    }
    > textarea:focus {
      outline: 2px solid transparent;
      outline-offset: 2px;
    }
    > textarea {
      &[disabled] {
        pointer-events: none;
      }
    }
    &[data-checked="true"]:not(:focus-within) > textarea {
      text-decoration-line: line-through;
    }
    &[data-checked="true"]:not(:focus-within) > textarea {
      opacity: 0.4;
    }
  }
  > button {
    margin-left: auto;
    margin-right: auto;
  }
  > button {
    cursor: pointer;
  }
  > button {
    border-radius: 9999px;
  }
  > button {
    padding: 0.5rem;
  }
  > button {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  > button {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  > button:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity));
  }
  > button {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  }
  > button {
    --tw-ring-color: transparent;
  }
  > button:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(38 38 38 / var(--tw-ring-opacity));
  }
  > button {
    outline: none !important;
    svg {
      fill: #d4d4d4;
    }
    svg {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    svg:where(.dark, .dark *) {
      fill: #262626;
    }
    &:hover {
      svg {
        fill: #f5f5f5;
      }
      svg:where(.dark, .dark *) {
        fill: #171717;
      }
    }
  }
  &:not(:hover) > button {
    opacity: 0;
  }
}

input[type="range"] {
  --track-height: 6px;
  --thumb-size: 1rem;
  --track-radius: calc(var(--track-height) / 2);
  --thumb-radius: calc(var(--thumb-size) / 2);
  --brightness-hover: 150%;
  --brightness-down: 80%;
  accent-color: var(--logo-color);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  filter: brightness(100%);
  border-radius: var(--track-radius);
  cursor: pointer;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  &:focus {
    outline: none;
  }
  &:hover {
    filter: brightness(var(--brightness-hover));
    cursor: grab;
  }
  &:active {
    filter: brightness(var(--brightness-down));
    cursor: grabbing;
  }
  &::-webkit-slider-runnable-track {
    border-radius: var(--track-radius);
    height: var(--track-height);
  }
  &::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    margin-top: calc(var(--track-height) / 2 - var(--thumb-size) / 2);
  }
  &::-webkit-slider-thumb {
    width: var(--thumb-size);
    height: var(--thumb-size);
  }
  &::-webkit-slider-thumb {
    border-radius: var(--thumb-radius);
  }
  &::-webkit-slider-thumb {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / var(--tw-bg-opacity));
  }
  &::-webkit-slider-thumb {
    outline-style: solid;
  }
  &::-webkit-slider-thumb {
    outline-width: 0px;
  }
  &::-webkit-slider-thumb {
    outline-color: rgb(59 130 246 / 0.2);
  }
  &::-webkit-slider-thumb {
    -webkit-transition-property: outline-width;
    transition-property: outline-width;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  &:focus::-webkit-slider-thumb {
    outline-width: 4px;
  }
}

/* TODO: moz styles */

#alt-sidebar[data-type="graph"] > fieldset:has(> button:hover) input[type="range"]::-webkit-slider-thumb {
  outline-width: 4px;
}

/* input[type="range"] {
  &::-moz-range-track {
    border-radius: var(--track-radius);
    height: var(--track-height);
  }

  &::-moz-range-thumb {
    border: none;
    @apply size-[var(--thumb-size)] bg-blue-500 rounded-[var(--thumb-radius)];
    @apply outline outline-0 outline-blue-500/20 transition-[outline-width];
  }

  &:focus::-moz-range-thumb {
    @apply outline-[4px];
  }
}

#alt-sidebar[data-type="graph"] > fieldset > h1:hover + div {
  input[type="range"]::-moz-range-thumb {
    @apply outline-[4px];
  }
} */

#index-content,
#roadmap {
  display: grid;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 5rem;
}

@media (min-width: 600px) {
  #index-content,
#roadmap {
    padding-left: var(--navbar-padding);
    padding-right: var(--navbar-padding);
  }
}

#index-content,
#roadmap {
  span.tagged {
    margin-left: 1px;
    margin-right: 1px;
  }
  span.tagged {
    width: -moz-min-content;
    width: min-content;
  }
  span.tagged {
    border-radius: 9999px;
  }
  span.tagged {
    padding-left: 5px;
    padding-right: 5px;
  }
  span.tagged {
    padding-bottom: 2px;
  }
  span.tagged {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  span.tagged {
    font-weight: 600;
  }
  span.tagged {
    --tw-text-opacity: 1;
    color: rgb(10 10 10 / var(--tw-text-opacity));
  }
}

#roadmap,
#index-content>div:has(> h2) {
  h1 {
    --tw-scale-x: 135%;
    --tw-scale-y: 135%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  h1 {
    text-wrap: balance;
  }
  h1 {
    padding-bottom: 0.25rem;
  }
  h1 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  h1 {
    font-weight: 700;
  }
  h1 {
    text-transform: capitalize;
  }
  h2 {
    text-wrap: balance;
  }
  h2 {
    padding-bottom: 0.75rem;
  }
  h2 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  h2 {
    font-weight: 700;
  }
  h2 {
    text-transform: capitalize;
  }
  p {
    text-wrap: balance;
  }
  p {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  p {
    --tw-text-opacity: 1;
    color: rgb(229 229 229 / var(--tw-text-opacity));
  }
  a {
    --tw-text-opacity: 1;
    color: rgb(59 130 246 / var(--tw-text-opacity));
  }
  a:hover {
    color: rgb(59 130 246 / 0.8);
  }
}

@media (min-width: 600px) {
  #index-content {
    grid-template-columns: 1fr calc(5vw - 20px) 1fr;
  }
}

#index-content {
  row-gap: 4rem;
  padding-top: 8rem;
}

@media (min-width: 600px) {
  #index-content {
    row-gap: 7rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
}

@media (min-width: 1000px) {
  #index-content {
    row-gap: 9rem;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
  }
}

#index-content {
  >div:has(> h2) {
    display: flex;
  }
  >div:has(> h2) {
    flex-direction: column;
  }
  >div:has(> h2) {
    justify-content: center;
  }
  @media (min-width: 600px) {
    >div:has(> h2) {
      grid-column: span 2 / span 2;
    }
  }
  @media (min-width: 600px) {
    #feedback {
      grid-column-start: 1;
    }
  }
  @media (min-width: 600px) {
    #feedback {
      grid-row-start: 4;
    }
  }
  #feedback {
    display: flex;
  }
  #feedback {
    align-items: center;
  }
  #feedback {
    justify-content: center;
  }
  #feedback {
    a {
      border-radius: 0.25rem;
    }
    a {
      padding-left: 0.75rem;
      padding-right: 0.75rem;
    }
    a {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem;
    }
    a {
      --tw-bg-opacity: 1;
      background-color: rgb(5 150 105 / var(--tw-bg-opacity));
    }
    a {
      font-weight: 600;
    }
  }
  #todo {
    position: relative;
  }
  #todo {
    height: 250px;
  }
  #todo {
    overflow: visible;
  }
  @media (min-width: 600px) {
    #todo {
      grid-column-start: 1;
    }
  }
  @media (min-width: 600px) {
    #todo {
      grid-row-start: 2;
    }
  }
  #todo {
    #day-columns {
      overflow: visible;
    }
    #day-columns {
      .day-col {
        min-width: 33.3% !important;
        .todo-items {
          gap: 6px !important;
          padding: 0 4px !important;
          .todo-item {
            cursor: grab;
          }
          .todo-item {
            font-size: 0.875rem;
            line-height: 1.25rem;
          }
          .todo-item {
            padding: 1px 3px !important;
            &[aria-checked="true"] {
              text-decoration-line: line-through;
            }
            &[aria-checked="true"] {
              color: rgb(0 0 0 / 40%) !important;
            }
          }
        }
      }
    }
    nav[aria-disabled="true"] {
      position: absolute;
    }
    nav[aria-disabled="true"] {
      left: 0.25rem;
    }
    nav[aria-disabled="true"] {
      bottom: 3rem;
    }
    nav[aria-disabled="true"] {
      font-size: 1.5rem;
      line-height: 2rem;
    }
  }
  #graph-wrapper {
    position: relative;
  }
  #graph-wrapper {
    z-index: 40;
  }
  #graph-wrapper {
    height: 250px;
  }
  #graph-wrapper {
    width: 100%;
  }
  #graph-wrapper {
    overflow: visible;
  }
  #graph-wrapper {
    nav[aria-disabled="true"] {
      position: absolute;
    }
    nav[aria-disabled="true"] {
      right: 0px;
    }
    nav[aria-disabled="true"] {
      bottom: 3rem;
    }
    nav[aria-disabled="true"] {
      font-size: 1.5rem;
      line-height: 2rem;
    }
    #graph {
      overflow: visible;
    }
  }
}

#view-box {
  margin-left: 1px;
  margin-right: 1px;
  cursor: default;
  padding-left: 7px;
  padding-right: 7px;
  --tw-text-opacity: 1;
  color: rgb(10 10 10 / var(--tw-text-opacity));
}

#views {
  pointer-events: none;
  position: absolute;
  overflow: hidden;
  --tw-text-opacity: 1;
  color: rgb(10 10 10 / var(--tw-text-opacity));
  ul {
    position: relative;
  }
  ul {
    margin-left: auto;
    margin-right: auto;
  }
  ul {
    height: 100%;
  }
  ul {
    border-radius: 0.25rem;
  }
  ul {
    --tw-bg-opacity: 1;
    background-color: rgb(250 250 250 / var(--tw-bg-opacity));
  }
  ul {
    animation: view-ul var(--block-anim);
    li {
      position: absolute;
    }
    li {
      left: 0px;
    }
    li {
      right: 0px;
    }
    li {
      text-align: center;
    }
    li {
      font-size: 1.125rem;
      line-height: 1.75rem;
    }
    li {
      font-weight: 700;
    }
    li {
      &:nth-child(1) {
        animation: view-chat var(--block-anim);
      }
      &:nth-child(2) {
        animation: view-note var(--block-anim);
      }
      &:nth-child(3) {
        animation: view-document var(--block-anim);
      }
    }
  }
}

@keyframes view-ul {
  0% {
    width: 52%;
  }

  20% {
    width: 52%;
  }

  30% {
    width: 56%;
  }

  70% {
    width: 56%;
  }

  80% {
    width: 100%;
  }

  100% {
    width: 100%;
  }
}

@keyframes view-chat {
  0% {
    top: -3px;
  }

  20% {
    top: -3px;
  }

  30% {
    top: -50px;
  }

  100% {
    top: -50px;
  }
}

@keyframes view-note {
  0% {
    top: -50px;
  }

  20% {
    top: -50px;
  }

  30% {
    top: -3px;
  }

  70% {
    top: -3px;
  }

  80% {
    top: -50px;
  }

  100% {
    top: -50px;
  }
}

@keyframes view-document {
  0% {
    top: -50px;
  }

  70% {
    top: -50px;
  }

  80% {
    top: -3px;
  }

  100% {
    top: -3px;
  }
}

#block-anim {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 220px;
  animation: blocks var(--block-anim);
  >div {
    display: flex;
  }
  >div {
    flex-direction: column;
  }
  >div {
    justify-content: space-around;
  }
  >div {
    gap: 0.75rem;
  }
  >div {
    --tw-bg-opacity: 1;
    background-color: rgb(23 23 23 / var(--tw-bg-opacity));
  }
  >div {
    padding: 1rem;
  }
  >div {
    width: calc(100px + 5vw);
    &:first-child {
      animation: top-block var(--block-anim);
      border-top-left-radius: 6px;
      border-top-right-radius: 6px;
    }
    &:nth-child(2) {
      animation: gpt-block var(--block-anim);
    }
    &:last-child {
      animation: bottom-block var(--block-anim);
      border-bottom-left-radius: 6px;
      border-bottom-right-radius: 6px;
    }
  }
  .line {
    height: 4px;
  }
  .line {
    width: 100%;
  }
  .line {
    --tw-bg-opacity: 1;
    background-color: rgb(64 64 64 / var(--tw-bg-opacity));
  }
  #gpt-tag {
    position: absolute;
  }
  #gpt-tag {
    left: 0.5rem;
  }
  #gpt-tag {
    top: 0.5rem;
  }
  #gpt-tag {
    width: 0.25rem;
    height: 0.25rem;
  }
  #gpt-tag {
    border-radius: 9999px;
  }
  #gpt-tag {
    --tw-bg-opacity: 1;
    background-color: rgb(74 222 128 / var(--tw-bg-opacity));
  }
  #gpt-tag {
    animation: gpt-tag var(--block-anim);
  }
}

@keyframes blocks {
  0% {
    gap: 12px;
  }

  70% {
    gap: 12px;
  }

  80% {
    gap: 0px;
  }

  100% {
    gap: 0px;
  }
}

@keyframes top-block {
  0% {
    transform: translateX(40%);
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    padding-bottom: 16px;
  }

  20% {
    transform: translateX(40%);
  }

  30% {
    transform: translateX(0);
  }

  70% {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    padding-bottom: 16px;
  }

  80% {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding-bottom: 12px;
  }

  100% {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding-bottom: 12px;
  }
}

@keyframes gpt-block {
  0% {
    transform: translateX(-40%);
    border-radius: 6px;
    padding: 16px;
  }

  20% {
    transform: translateX(-40%);
  }

  30% {
    transform: translateX(0);
  }

  70% {
    border-radius: 6px;
    padding: 16px;
  }

  80% {
    border-radius: 0;
    padding: 12px 16px;
  }

  100% {
    border-radius: 0;
    padding: 12px 16px;
  }
}

@keyframes bottom-block {
  0% {
    transform: translateX(40%);
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    padding-top: 16px;
  }

  20% {
    transform: translateX(40%);
  }

  30% {
    transform: translateX(0);
  }

  70% {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    padding-top: 16px;
  }

  80% {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding-top: 12px;
  }

  100% {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding-top: 12px;
  }
}

@keyframes gpt-tag {
  0% {
    opacity: 1;
  }

  70% {
    opacity: 1;
  }

  80% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

#roadmap {
  margin-top: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}

@media (min-width: 600px) {
  #roadmap {
    margin-top: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 7rem;
         column-gap: 7rem;
  }
}

#roadmap {
  h1 {
    --tw-scale-x: 1.25;
    --tw-scale-y: 1.25;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
  h1 {
    text-align: center;
  }
  @media (min-width: 600px) {
    h1 {
      grid-column: span 2 / span 2;
    }
  }
  @media (min-width: 1000px) {
    h1 {
      --tw-scale-x: 1.5;
      --tw-scale-y: 1.5;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
  }
  >div {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  @media (min-width: 600px) {
    >div {
      padding-top: 3.5rem;
      padding-bottom: 3.5rem;
    }
  }
  >div {
    @media (min-width: 600px) {
      &:nth-child(odd) {
        --tw-translate-x: 2rem;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      }
    }
  }
}

#navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  white-space: nowrap;
  position: fixed;
  left: 0px;
  top: 0px;
  right: 0px;
  z-index: 50;
  height: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

@media (min-width: 600px) {
  #navbar {
    padding-left: var(--navbar-padding);
    padding-right: var(--navbar-padding);
  }
}

#navbar {
  #navlinks {
    position: fixed;
  }
  #navlinks {
    inset: 0px;
  }
  #navlinks {
    display: flex;
  }
  #navlinks {
    flex-direction: column;
  }
  #navlinks {
    align-items: center;
  }
  #navlinks {
    justify-content: center;
  }
  #navlinks {
    gap: 0.75rem;
  }
  #navlinks {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--tw-bg-opacity));
  }
  #navlinks {
    flex-grow: 1;
  }
  #navlinks {
    flex-direction: row;
  }
  #navlinks {
    flex-wrap: nowrap;
  }
  #navlinks {
    gap: 0.5rem;
  }
  #navlinks {
    position: static !important;
    >span {
      height: 0px;
    }
    >span {
      flex-grow: 1;
    }
  }
  a {
    border-radius: 0.25rem;
  }
  a {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  a {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  a {
    font-weight: 500;
  }
  a {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  a:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(23 23 23 / var(--tw-bg-opacity));
  }
  a {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  a {
    &.logo {
      margin-left: -12px;
    }
    &.logo {
      margin-bottom: 0.25rem;
    }
    &.logo {
      font-size: 1.875rem;
      line-height: 2.25rem;
    }
    &.logo {
      font-weight: 700;
    }
    &.logo {
      --tw-text-opacity: 1;
      color: rgb(37 99 235 / var(--tw-text-opacity));
    }
    &.logo:hover {
      background-color: transparent;
    }
    &.logo:hover {
      color: rgb(37 99 235 / 0.9);
    }
    &.call-to-action {
      --tw-bg-opacity: 1;
      background-color: rgb(37 99 235 / var(--tw-bg-opacity));
    }
    &.call-to-action:hover {
      background-color: rgb(37 99 235 / 0.9);
    }
  }
  @media (min-width: 600px) {
    #navbar-btn {
      display: none;
    }
  }
  div.bg {
    position: absolute;
  }
  div.bg {
    left: 0px;
  }
  div.bg {
    top: 0px;
  }
  div.bg {
    right: 0px;
  }
  div.bg {
    bottom: 0px;
  }
  div.bg {
    z-index: -1;
  }
  div.bg {
    border-bottom-width: 1px;
  }
  div.bg {
    --tw-border-opacity: 1;
    border-color: rgb(38 38 38 / var(--tw-border-opacity));
  }
  div.bg {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--tw-bg-opacity));
  }
}

#page[data-type="graph"] {
  position: relative;
  padding: 0 !important;
  overflow: hidden !important;
}

#graph {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  #nodes > g {
    circle {
      cursor: pointer;
    }
    circle {
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    text {
      pointer-events: none;
    }
    text {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
    text {
      transition-property: transform;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    text {
      --tw-translate-y: 10px;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    text {
      fill: #0a0a0a;
    }
    text:where(.dark, .dark *) {
      fill: #fafafa;
    }
    &:hover {
      circle {
        --tw-scale-x: 1.1;
        --tw-scale-y: 1.1;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      }
      circle {
        --tw-brightness: brightness(1.1);
        filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
      }
      text {
        --tw-translate-y: 12px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      }
    }
    &:active circle {
      --tw-scale-x: .95;
      --tw-scale-y: .95;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    &:active circle {
      --tw-brightness: brightness(.9);
      filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    }
    &:active circle {
      text {
        --tw-translate-y: -2px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
      }
    }
  }
}

#alt-sidebar[data-type="graph"] {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  overflow: hidden;
  padding-top: 0.5rem;
  label {
    display: flex;
  }
  label {
    align-items: center;
  }
  label {
    white-space: nowrap;
  }
  label {
    text-transform: capitalize;
  }
  label {
    > span {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
    > span {
      padding-right: 0.5rem;
    }
    > input[type="range"] {
      flex-grow: 1;
    }
    > input[type="range"] {
      --tw-translate-y: 1px;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    > input[type="range"] {
      cursor: pointer;
    }
  }
}

.tag-toggles {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px 5px;
  .all-tags-btn {
    width: 22.5px;
    height: 22.5px;
  }
  .all-tags-btn {
    --tw-bg-opacity: 1;
    background-color: rgb(64 64 64 / var(--tw-bg-opacity));
  }
  .all-tags-btn {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .all-tags-btn {
    display: flex;
  }
  .all-tags-btn {
    align-items: center;
  }
  .all-tags-btn {
    justify-content: center;
  }
  .all-tags-btn {
    border-radius: 9999px;
  }
  .all-tags-btn:hover {
    --tw-brightness: brightness(1.1);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  .all-tags-btn:active {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
  .all-tags-btn:active {
    --tw-brightness: brightness(.9);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  .all-tags-btn {
    svg:first-child {
      display: none;
    }
    &:has(~ .tag.disabled)>:first-child {
      display: block;
    }
    &:has(~ .tag.disabled)>:last-child {
      display: none;
    }
  }
}

/* from: https://stackoverflow.com/questions/1120879/css-checkbox-input-styling */

#alt-sidebar[data-type="graph"], #new-tag-menu {
  input[type="checkbox"] {
    position: relative;
  }
  input[type="checkbox"] {
    margin-right: 0.5rem;
  }
  input[type="checkbox"] {
    cursor: pointer;
  }
  input[type="checkbox"]:hover {
    --tw-brightness: brightness(1.5);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  input[type="checkbox"]:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
  }
  input[type="checkbox"]:active {
    --tw-brightness: brightness(.75);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  input[type="checkbox"] {
    transform: translate(-1px, -3px) scale(0.85);
    &:before {
      position: absolute;
    }
    &:before {
      top: 0px;
    }
    &:before {
      left: 0px;
    }
    &:before {
      display: block;
    }
    &:before {
      height: 20px;
    }
    &:before {
      width: 20px;
    }
    &:before {
      --tw-bg-opacity: 1;
      background-color: rgb(163 163 163 / var(--tw-bg-opacity));
    }
    &:where(.dark, .dark *):before {
      --tw-bg-opacity: 1;
      background-color: rgb(82 82 82 / var(--tw-bg-opacity));
    }
    &:before {
      content: "";
    }
    &:checked:before {
      position: absolute;
    }
    &:checked:before {
      top: 0px;
    }
    &:checked:before {
      left: 0px;
    }
    &:checked:before {
      display: block;
    }
    &:checked:before {
      height: 20px;
    }
    &:checked:before {
      width: 20px;
    }
    &:checked:before {
      --tw-bg-opacity: 1;
      background-color: rgb(59 130 246 / var(--tw-bg-opacity));
    }
    &:checked:before {
      content: "";
    }
    &:checked:after {
      content: "";
      display: block;
      width: 5px;
      height: 10px;
      border: solid white;
    }
    &:checked:after {
      --tw-border-opacity: 1;
      border-color: rgb(245 245 245 / var(--tw-border-opacity));
    }
    &:checked:where(.dark, .dark *):after {
      --tw-border-opacity: 1;
      border-color: rgb(23 23 23 / var(--tw-border-opacity));
    }
    &:checked:after {
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
      position: absolute;
      top: 4px;
      left: 7px;
    }
  }
}

body:has(input[name="show_title_0"]:not(:checked))
  #nodes
  > g[data-type="0"]
  > text,
body:has(input[name="show_title_1"]:not(:checked))
  #nodes
  > g[data-type="1"]
  > text {
  display: none;
}

body:has(input[name="show_color_0"]:not(:checked))
  #nodes
  > g[data-type="0"]
  > circle,
body:has(input[name="show_color_1"]:not(:checked))
  #nodes
  > g[data-type="1"]
  > circle {
  fill: #737373 !important;
}

body:has(> #page) {
  display: flex;
  height: 100dvh;
  width: 100vw;
  flex-direction: row-reverse;
  align-items: stretch;
  --tw-bg-opacity: 1;
  background-color: rgb(163 163 163 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(10 10 10 / var(--tw-text-opacity));
}

body:has(> #page):where(.dark, .dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity));
}

body:has(> #page) {
  >#page {
    --top-padding: 16px;
    @media only screen and (max-width: 799.999px) {
      &[data-type="note"] {
        --top-padding: 9px;
      }
    }
  }
  >#page {
    position: relative;
  }
  >#page {
    flex-grow: 1;
  }
  >#page {
    padding-top: var(--top-padding);
  }
  >#page {
    display: flex;
  }
  >#page {
    flex-direction: column;
  }
  >#page {
    align-items: center;
  }
  >#page {
    gap: 1rem;
  }
  >#page {
    --tw-bg-opacity: 1;
    background-color: rgb(212 212 212 / var(--tw-bg-opacity));
  }
  >#page:where(.dark, .dark *) {
    --tw-bg-opacity: 1;
    background-color: rgb(23 23 23 / var(--tw-bg-opacity));
  }
  >#page {
    transition: border-top-left-radius var(--sidebar-speed) ease-in-out,
      margin-top var(--sidebar-speed) ease-in-out,
      padding-top var(--sidebar-speed) ease-in-out;
  }
  &:has(#sidebar-btn[aria-expanded="true"])>#page {
    border-top-left-radius: 1.5rem;
  }
  &:has(#sidebar-btn[aria-expanded="true"])>#page {
    padding-top: calc(var(--top-padding) - var(--page-border));
    margin-top: var(--page-border);
  }
}

#page:has(#note-view-btn[data-state="document"]) {
  section {
    padding-top: 0 !important;
    &:has(+ section) {
      margin-bottom: -1rem !important;
    }
    &:has(+ section) {
      border-bottom-right-radius: 0px;
      border-bottom-left-radius: 0px;
    }
    + section {
      border-top-left-radius: 0px;
      border-top-right-radius: 0px;
    }
    &:has(textarea:focus) {
      --tw-border-opacity: 1;
      border-color: rgb(115 115 115 / var(--tw-border-opacity));
    }
    .tag-row {
      pointer-events: none;
    }
    .tag-row {
      max-height: 0px;
    }
    .tag-row {
      opacity: 0;
    }
    .prose {
      padding: 12px 24px !important;
    }
    textarea, .prose {
      min-height: 1.5rem !important;
    }
  }
}

#page[data-type="note"] {
  overflow-y: auto;
  padding-bottom: 35vh;
  > nav, > section {
    max-width: calc(94vw - 40px);
  }
  @media (min-width: 800px) {
    > nav, > section {
      max-width: calc(10vw + 400px);
    }
  }
  #note-view-btn {
    position: relative;
  }
  #note-view-btn {
    margin-left: 0.75rem;
  }
  #note-view-btn {
    width: 2rem;
    height: 2rem;
  }
  @media (min-width: 600px) {
    #note-view-btn {
      margin-left: 0.5rem;
    }
  }
  #note-view-btn {
    display: flex;
  }
  #note-view-btn {
    align-items: center;
  }
  #note-view-btn {
    justify-content: center;
  }
  #note-view-btn {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  #note-view-btn {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  #note-view-btn:hover {
    opacity: 0.8;
  }
  #note-view-btn {
    svg {
      position: absolute;
    }
    svg {
      left: 50%;
    }
    svg {
      top: 50%;
    }
    svg {
      pointer-events: none;
    }
    svg {
      opacity: 0;
    }
    svg {
      transition-property: opacity;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    svg {
      transform: translate(-50%, -50%);
    }
    &[data-state="chat"] svg:first-child,
    &[data-state="note"] svg:nth-child(2),
    &[data-state="document"] svg:last-child {
      opacity: 1 !important;
    }
  }
  #add-block-btn {
    border-radius: 9999px;
  }
  #add-block-btn {
    padding: 0.5rem;
  }
  #add-block-btn {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  #add-block-btn {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  #add-block-btn {
    svg {
      fill: #262626;
    }
    svg {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    &:hover,
    &:focus {
      --tw-bg-opacity: 1;
      background-color: rgb(38 38 38 / var(--tw-bg-opacity));
    }
    &:hover,
    &:focus {
      svg {
        fill: #171717;
      }
    }
  }
  .note-link {
    display: none !important;
  }
  > .tag-row {
    margin-bottom: -4px;
  }
}

#back-links,
#chat-options {
  position: absolute;
  inset: 0px;
  display: flex;
  flex-direction: column;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

#back-links {
  overflow-y: auto;
  fieldset > div > p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  fieldset > div > p {
    margin-top: 0 !important;
  }
  .back-link {
    cursor: pointer;
  }
  .back-link {
    border-radius: 0.25rem;
  }
  .back-link {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .back-link {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .back-link {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  .back-link {
    transition-duration: 100ms;
  }
  .back-link:hover {
    background-color: rgb(38 38 38 / 0.7);
  }
  .back-link {
    > h1 {
      font-weight: 600;
    }
    > p {
      -webkit-user-select: none;
         -moz-user-select: none;
              user-select: none;
    }
    > p {
      --tw-text-opacity: 1;
      color: rgb(250 250 250 / var(--tw-text-opacity));
    }
    > p {
      opacity: 0.6;
    }
  }
}

#chat-options {
  pointer-events: none;
  opacity: 0;
  label {
    display: flex;
  }
  label {
    align-items: center;
  }
  label {
    gap: 0.5rem;
  }
  label {
    span {
      white-space: nowrap;
    }
    span {
      padding-bottom: 2px;
    }
    span {
      text-transform: capitalize;
    }
    &:last-child span {
      padding-right: 0.25rem;
    }
    input[type="range"] {
      margin-left: 36px;
    }
    input[type="range"] {
      min-width: 0px;
    }
    input[type="range"] {
      flex-shrink: 1;
    }
    p {
      width: 2.5rem;
    }
    p {
      text-align: center;
    }
  }
  svg {
    pointer-events: none;
  }
  div > button {
    display: flex;
  }
  div > button {
    align-items: center;
  }
  div > button {
    gap: 0.5rem;
  }
  div > button {
    border-radius: 0.25rem;
  }
  div > button {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  div > button {
    padding-top: 6px;
    padding-bottom: 6px;
  }
  div > button {
    --tw-bg-opacity: 1;
    background-color: rgb(38 38 38 / var(--tw-bg-opacity));
  }
  div > button {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
  }
  div > button:active {
    --tw-brightness: brightness(.9);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  }
  div > button {
    > p {
      pointer-events: none;
    }
    > p {
      flex-shrink: 1;
    }
    > p {
      flex-grow: 1;
    }
    > p {
      text-align: left;
    }
    > p {
      overflow: hidden;
    }
    > p {
      text-overflow: ellipsis;
    }
    > p {
      white-space: nowrap;
    }
    > svg, > div {
      flex-shrink: 0;
    }
    > svg, > div {
      min-width: 1rem;
    }
    &[aria-checked="true"] {
      background-color: rgb(82 82 82 / 0.7);
    }
    &:hover:not(:has(>div:last-child:hover)) {
      --tw-bg-opacity: 1;
      background-color: rgb(64 64 64 / var(--tw-bg-opacity));
    }
    div:last-child {
      margin-left: auto;
    }
    div:last-child {
      border-radius: 9999px;
    }
    div:last-child {
      padding: 0.25rem;
    }
    div:last-child {
      transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
      transition-duration: 150ms;
    }
    div:last-child:hover {
      background-color: rgb(115 115 115 / 0.7);
    }
  }
}

body:has(
    #note-view-btn[data-state="chat"]
  ) {
  #back-links {
    pointer-events: none;
    opacity: 0;
  }
  #chat-options {
    pointer-events: auto;
    opacity: 1;
  }
}

body:has(#alt-sidebar-btn[aria-expanded="false"]) {
  #back-links,
  #chat-options {
    &, svg, button {
      pointer-events: none !important;
      opacity: 0 !important;
    }
  }
}

.\[\&_span\]\:w-\[52px\] span {
  width: 52px;
}
