/* [project]/app/globals.css [app-client] (css) */
*, :before, :after, ::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: #3b82f680;
  --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: ;
}

*, :before, :after {
  box-sizing: border-box;
  border: 0 solid #e5e7eb;
}

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

html, :host {
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
  font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  line-height: 1.5;
}

body {
  line-height: inherit;
  margin: 0;
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

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

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

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

b, strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

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

button, select {
  text-transform: none;
}

button, input:where([type="button"]), input:where([type="reset"]), input:where([type="submit"]) {
  -webkit-appearance: button;
  background-color: #0000;
  background-image: none;
}

:-moz-focusring {
  outline: auto;
}

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

progress {
  vertical-align: baseline;
}

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

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

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

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 {
  margin: 0;
  padding: 0;
  list-style: none;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

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

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

:disabled {
  cursor: default;
}

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

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

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

.static {
  position: static;
}

.block {
  display: block;
}

.grid {
  display: grid;
}

.transform {
  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));
}

.border {
  border-width: 1px;
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.italic {
  font-style: italic;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.filter {
  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);
}

body {
  color: #fff;
  background-color: #000;
  margin: 0;
  padding: 0;
  font-family: JetBrains Mono, Courier New, monospace;
}

.app-container {
  max-width: 1400px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 2rem;
}

.app-title {
  letter-spacing: -.05em;
  text-transform: uppercase;
  border-bottom: 1px solid #fff;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 3rem;
  padding-bottom: 1rem;
  font-size: 2rem;
  font-weight: 700;
  display: flex;
}

.version-tag {
  color: #666;
}

.node-info {
  color: #888;
  font-size: .75rem;
  font-weight: 400;
}

.header-right {
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.logout-btn {
  text-transform: uppercase;
  letter-spacing: .15em;
  color: #444;
  cursor: pointer;
  background: none;
  border: 1px solid #222;
  padding: .25rem .6rem;
  font-family: inherit;
  font-size: .65rem;
  transition: color .15s, border-color .15s;
}

.logout-btn:hover {
  color: #fff;
  border-color: #666;
}

.login-container {
  background: #000;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 2rem;
  display: flex;
}

.login-box {
  border: 1px solid #222;
  width: 100%;
  max-width: 380px;
  padding: 2.5rem;
}

.login-title {
  text-transform: uppercase;
  letter-spacing: -.03em;
  margin: 0 0 .25rem;
  font-size: 1.1rem;
  font-weight: 700;
}

.login-subtitle {
  color: #444;
  letter-spacing: .1em;
  margin: 0 0 2rem;
  font-size: .7rem;
}

.login-form {
  flex-direction: column;
  gap: 1.25rem;
  display: flex;
}

.login-field {
  flex-direction: column;
  gap: .4rem;
  display: flex;
}

.login-label {
  letter-spacing: .2em;
  color: #666;
  font-size: .6rem;
}

.login-input {
  color: #fff;
  background: #000;
  border: 1px solid #333;
  outline: none;
  padding: .6rem .75rem;
  font-family: inherit;
  font-size: .85rem;
  transition: border-color .15s;
}

.login-input:focus {
  border-color: #0f8;
}

.login-error {
  color: #f44;
  letter-spacing: .05em;
  font-size: .7rem;
}

.login-btn {
  text-transform: uppercase;
  letter-spacing: .2em;
  color: #000;
  cursor: pointer;
  background: #fff;
  border: none;
  margin-top: .5rem;
  padding: .75rem;
  font-family: inherit;
  font-size: .7rem;
  font-weight: 700;
  transition: background .15s;
}

.login-btn:hover:not(:disabled) {
  background: #0f8;
}

.login-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.section-label {
  text-transform: uppercase;
  letter-spacing: .2em;
  color: #666;
  margin-bottom: .5rem;
  font-size: .65rem;
}

.oracle-section {
  margin-bottom: 3rem;
}

.oracle-container {
  border-left: 4px solid #fff;
  padding-left: 1.5rem;
}

.oracle-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.oracle-source {
  letter-spacing: .15em;
  text-transform: uppercase;
  border: 1px solid #333;
  padding: 2px 8px;
  font-size: .5rem;
}

.oracle-source.llm {
  color: #0f8;
  border-color: #0f8;
}

.oracle-source.fallback {
  color: #ffb800;
  border-color: #ffb800;
}

.oracle-display {
  min-height: 3rem;
  margin-bottom: 1rem;
}

.oracle-text {
  color: #eee;
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.6;
}

.oracle-text.oracle-loading {
  color: #666;
  font-style: italic;
}

.oracle-context {
  color: #555;
  letter-spacing: .05em;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: .6rem;
  display: flex;
}

.oracle-controls {
  align-items: flex-end;
  gap: 1.5rem;
  margin-bottom: .75rem;
  display: flex;
}

.oracle-energy {
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.oracle-energy-label {
  letter-spacing: .15em;
  color: #555;
  text-transform: uppercase;
  font-size: .55rem;
}

.oracle-energy-btns {
  gap: 0;
  display: flex;
}

.energy-btn {
  color: #555;
  cursor: pointer;
  background: none;
  width: 28px;
  height: 28px;
  font-family: inherit;
  font-size: .65rem;
  transition: all .15s;
  border: 1px solid #333 !important;
  padding: 0 !important;
}

.energy-btn + .energy-btn {
  border-left: none !important;
}

.energy-btn:hover {
  color: #ccc !important;
  background: #1a1a1a !important;
}

.energy-btn.active {
  color: #fff !important;
  background: #222 !important;
  border-color: #555 !important;
}

.energy-btn.active[data-level="1"] {
  color: #f44 !important;
  border-color: #f44 !important;
}

.energy-btn.active[data-level="2"] {
  color: #f84 !important;
  border-color: #f84 !important;
}

.energy-btn.active[data-level="3"] {
  color: #fff !important;
}

.energy-btn.active[data-level="4"] {
  color: #8c4 !important;
  border-color: #8c4 !important;
}

.energy-btn.active[data-level="5"] {
  color: #0f8 !important;
  border-color: #0f8 !important;
}

.oracle-btn {
  color: #fff;
  text-transform: uppercase;
  cursor: pointer;
  letter-spacing: .05em;
  background: none;
  border: 1px solid #fff;
  align-items: center;
  height: 28px;
  padding: .5rem 1.5rem;
  font-family: inherit;
  font-size: .7rem;
  transition: all .15s;
  display: flex;
}

.oracle-btn:hover:not(:disabled) {
  color: #000;
  background: #fff;
}

.oracle-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.oracle-reroll {
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
}

.reroll-btn {
  color: #555;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .5rem;
  transition: all .15s;
  border: 1px solid #222 !important;
  padding: .2rem .6rem !important;
}

.reroll-btn:hover {
  color: #ccc !important;
  background: #111 !important;
  border-color: #555 !important;
}

.journal-section {
  margin-bottom: 3rem;
}

.journal-container {
  background: #0a0a0a;
  border: 1px solid #222;
}

.journal-write {
  padding: 1.25rem;
}

.journal-write-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.history-toggle {
  color: #666;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .6rem;
  transition: all .15s;
  border: 1px solid #333 !important;
  padding: .3rem .75rem !important;
}

.history-toggle:hover {
  color: #ccc !important;
  background: #111 !important;
  border-color: #555 !important;
}

.journal-input {
  color: #fff;
  resize: none;
  box-sizing: border-box;
  background: #000;
  border: 1px solid #333;
  outline: none;
  width: 100%;
  height: 8rem;
  margin-bottom: .75rem;
  padding: 1rem;
  font-family: inherit;
  font-size: .85rem;
  line-height: 1.6;
  transition: border-color .15s;
}

.journal-input:focus {
  border-color: #fff;
}

.journal-input::placeholder {
  color: #444;
}

.journal-meta-row {
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
  display: grid;
}

.energy-control {
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.energy-label, .tags-label {
  letter-spacing: .15em;
  color: #555;
  text-transform: uppercase;
  font-size: .55rem;
}

.energy-slider-group {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.energy-slider {
  appearance: none;
  background: #333;
  outline: none;
  flex: 1;
  height: 3px;
  border: none !important;
  padding: 0 !important;
}

.energy-slider::-webkit-slider-thumb {
  appearance: none;
  cursor: pointer;
  background: #fff;
  border-radius: 0;
  width: 14px;
  height: 14px;
}

.energy-value {
  color: #888;
  white-space: nowrap;
  min-width: 100px;
  font-size: .6rem;
}

.energy-value[data-level="1"] {
  color: #f44;
}

.energy-value[data-level="2"] {
  color: #f84;
}

.energy-value[data-level="3"] {
  color: #888;
}

.energy-value[data-level="4"] {
  color: #8c4;
}

.energy-value[data-level="5"] {
  color: #0f8;
}

.tags-control {
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.tags-input {
  color: #fff;
  background: #000;
  border: 1px solid #333;
  outline: none;
  padding: .4rem .6rem;
  font-family: inherit;
  font-size: .75rem;
  transition: border-color .15s;
}

.tags-input:focus {
  border-color: #fff;
}

.tags-input::placeholder {
  color: #444;
}

.journal-btn {
  color: #fff;
  text-transform: uppercase;
  cursor: pointer;
  letter-spacing: .05em;
  background: none;
  border: 1px solid #fff;
  padding: .5rem 1.5rem;
  font-family: inherit;
  font-size: .7rem;
  transition: all .15s;
}

.journal-btn:hover:not(:disabled) {
  color: #000;
  background: #fff;
}

.journal-btn:disabled {
  opacity: .3;
  cursor: not-allowed;
}

.journal-history {
  border-top: 1px solid #222;
}

.history-header {
  border-bottom: 1px solid #1a1a1a;
  padding: .75rem 1.25rem;
}

.history-count {
  letter-spacing: .15em;
  color: #555;
  font-size: .55rem;
}

.history-empty {
  color: #444;
  padding: 2rem 1.25rem;
  font-size: .8rem;
}

.history-list {
  scrollbar-width: thin;
  scrollbar-color: #333 #0a0a0a;
  max-height: 500px;
  overflow-y: auto;
}

.history-entry {
  border-bottom: 1px solid #141414;
  padding: 1rem 1.25rem;
  transition: background .15s;
}

.history-entry:hover {
  background: #111;
}

.entry-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .5rem;
  display: flex;
}

.entry-meta {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.entry-time {
  color: #666;
  font-size: .6rem;
}

.entry-location {
  color: #444;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .55rem;
}

.entry-energy {
  color: #888;
  font-size: .55rem;
}

.entry-energy[data-level="1"] {
  color: #f44;
}

.entry-energy[data-level="2"] {
  color: #f84;
}

.entry-energy[data-level="3"] {
  color: #888;
}

.entry-energy[data-level="4"] {
  color: #8c4;
}

.entry-energy[data-level="5"] {
  color: #0f8;
}

.entry-delete {
  color: #333;
  cursor: pointer;
  background: none;
  font-size: .8rem;
  transition: color .15s;
  border: none !important;
  padding: .2rem !important;
}

.entry-delete:hover {
  color: #f44 !important;
  background: none !important;
}

.entry-content {
  color: #ccc;
  white-space: pre-wrap;
  margin: 0;
  font-size: .8rem;
  line-height: 1.6;
}

.entry-tags {
  flex-wrap: wrap;
  gap: .3rem;
  margin-top: .5rem;
  display: flex;
}

.entry-tag {
  color: #666;
  text-transform: uppercase;
  letter-spacing: .1em;
  border: 1px solid #2a2a2a;
  padding: 1px 6px;
  font-size: .5rem;
}

.app-footer {
  color: #333;
  text-transform: uppercase;
  letter-spacing: -.02em;
  margin-top: 4rem;
  font-size: .6rem;
}

.calendar-section {
  margin-bottom: 3rem;
}

.calendar-container {
  background: #0a0a0a;
  border: 1px solid #222;
}

.calendar-header {
  border-bottom: 1px solid #222;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  display: flex;
}

.calendar-header-left {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.calendar-header-right {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.calendar-nav {
  gap: 0;
  display: flex;
}

.nav-btn {
  color: #aaa;
  cursor: pointer;
  text-transform: uppercase;
  background: none;
  font-family: inherit;
  font-size: .7rem;
  transition: all .15s;
  border: 1px solid #333 !important;
  padding: .35rem .75rem !important;
}

.nav-btn:first-child {
  border-right: none !important;
}

.nav-btn:last-child {
  border-left: none !important;
}

.nav-btn:hover {
  color: #fff !important;
  background: #1a1a1a !important;
  border-color: #555 !important;
}

.today-btn {
  font-weight: 600;
  border-left: 1px solid #333 !important;
  border-right: 1px solid #333 !important;
}

.calendar-date-label {
  letter-spacing: .05em;
  color: #ccc;
  white-space: nowrap;
  margin: 0;
  font-size: .8rem;
  font-weight: 600;
}

.view-toggle {
  gap: 0;
  display: flex;
}

.view-btn {
  color: #666;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .65rem;
  transition: all .15s;
  border: 1px solid #333 !important;
  padding: .35rem .85rem !important;
}

.view-btn + .view-btn {
  border-left: none !important;
}

.view-btn:hover {
  color: #ccc !important;
  background: #1a1a1a !important;
}

.view-btn.active {
  color: #000 !important;
  background: #fff !important;
  border-color: #fff !important;
}

.add-event-btn {
  color: #fff;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .65rem;
  font-weight: 600;
  transition: all .15s;
  border: 1px solid #fff !important;
  padding: .35rem 1rem !important;
}

.add-event-btn:hover {
  color: #000 !important;
  background: #fff !important;
}

.week-view, .week-scroll-wrapper {
  flex-direction: column;
  display: flex;
}

.week-header {
  z-index: 10;
  background: #0a0a0a;
  border-bottom: 1px solid #333;
  grid-template-columns: 60px repeat(7, 1fr);
  display: grid;
  position: sticky;
  top: 0;
}

.time-gutter-header {
  border-right: 1px solid #1a1a1a;
}

.week-day-header {
  border-right: 1px solid #1a1a1a;
  flex-direction: column;
  align-items: center;
  padding: .75rem .25rem;
  display: flex;
}

.week-day-header:last-child {
  border-right: none;
}

.week-day-header .day-name {
  color: #666;
  letter-spacing: .15em;
  margin-bottom: .25rem;
  font-size: .6rem;
}

.week-day-header .day-number {
  color: #ccc;
  font-size: 1.1rem;
  font-weight: 700;
}

.week-day-header.is-today .day-name {
  color: #fff;
}

.today-marker {
  background: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-weight: 800;
  display: flex;
  color: #000 !important;
}

.week-grid-scroll {
  scrollbar-width: thin;
  scrollbar-color: #333 #0a0a0a;
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.week-grid-scroll::-webkit-scrollbar {
  width: 6px;
}

.week-grid-scroll::-webkit-scrollbar-track {
  background: #0a0a0a;
}

.week-grid-scroll::-webkit-scrollbar-thumb {
  background: #333;
}

.week-grid {
  flex-direction: column;
  display: flex;
}

.week-row {
  border-bottom: 1px solid #141414;
  grid-template-columns: 60px repeat(7, 1fr);
  min-height: 70px;
  display: grid;
}

.time-gutter {
  border-right: 1px solid #1a1a1a;
  justify-content: flex-end;
  align-items: flex-start;
  padding: .2rem .5rem 0 0;
  display: flex;
}

.time-label {
  color: #444;
  letter-spacing: .05em;
  -webkit-user-select: none;
  user-select: none;
  font-size: .55rem;
}

.week-cell {
  border-right: 1px solid #141414;
  min-height: 70px;
  padding: 2px;
  transition: background .15s;
  position: relative;
}

.week-cell:last-child {
  border-right: none;
}

.day-view {
  flex-direction: column;
  display: flex;
}

.day-column-header {
  border-bottom: 1px solid #333;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.25rem;
  display: flex;
}

.day-column-header .day-name {
  color: #666;
  letter-spacing: .15em;
  font-size: .65rem;
}

.day-column-header .day-number {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
}

.time-grid {
  scrollbar-width: thin;
  scrollbar-color: #333 #0a0a0a;
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.time-slot {
  border-bottom: 1px solid #141414;
  grid-template-columns: 60px 1fr;
  min-height: 60px;
  transition: background .15s;
  display: grid;
}

.time-slot .time-label {
  border-right: 1px solid #1a1a1a;
  justify-content: flex-end;
  align-items: flex-start;
  padding: .2rem .5rem 0 0;
  display: flex;
}

.time-slot-content {
  padding: 2px 4px;
  position: relative;
}

.month-view {
  flex-direction: column;
  display: flex;
}

.month-header {
  border-bottom: 1px solid #333;
  grid-template-columns: repeat(7, 1fr);
  display: grid;
}

.month-day-name {
  text-align: center;
  color: #666;
  letter-spacing: .15em;
  border-right: 1px solid #1a1a1a;
  padding: .6rem 0;
  font-size: .65rem;
}

.month-day-name:last-child {
  border-right: none;
}

.month-grid {
  grid-template-rows: repeat(6, minmax(110px, auto));
  grid-template-columns: repeat(7, 1fr);
  display: grid;
}

.month-cell {
  border-bottom: 1px solid #141414;
  border-right: 1px solid #141414;
  min-height: 110px;
  padding: .4rem;
  transition: background .15s;
  overflow: hidden;
}

.month-cell:nth-child(7n) {
  border-right: none;
}

.month-cell.other-month {
  opacity: .4;
}

.month-cell.is-today {
  background: #0d0d0d;
  border-color: #333;
}

.month-date-number {
  color: #777;
  margin-bottom: .3rem;
  font-size: .8rem;
  font-weight: 600;
  display: block;
}

.month-cell.is-today .month-date-number {
  color: #fff;
  font-weight: 800;
}

.month-cell-events {
  scrollbar-width: none;
  flex-direction: column;
  gap: 2px;
  max-height: calc(100% - 22px);
  display: flex;
  overflow-y: auto;
}

.month-cell-events::-webkit-scrollbar {
  display: none;
}

.month-more {
  color: #888;
  cursor: pointer;
  padding: 2px 4px;
  font-size: .6rem;
}

.event-block {
  cursor: grab;
  background: #111;
  border: 1px solid #2a2a2a;
  border-radius: 2px;
  padding: .3rem .4rem;
  transition: all .15s;
  position: relative;
  overflow: hidden;
}

.event-block:hover {
  background: #1a1a1a;
  border-color: #555;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px #0009;
}

.event-block:active {
  cursor: grabbing;
}

.event-block-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .15rem;
  display: flex;
}

.event-block-time {
  color: #888;
  letter-spacing: .05em;
  font-size: .55rem;
}

.event-block-type {
  color: #555;
  text-transform: uppercase;
  letter-spacing: .1em;
  border: 1px solid #2a2a2a;
  padding: 0 .3rem;
  font-size: .5rem;
}

.event-block-title {
  color: #ddd;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.3;
  display: block;
}

.event-block-pill {
  cursor: grab;
  background: #111;
  border: 1px solid #2a2a2a;
  border-radius: 2px;
  align-items: center;
  gap: .3rem;
  min-height: 18px;
  padding: 2px 5px;
  transition: all .15s;
  display: flex;
  overflow: hidden;
}

.event-block-pill:hover {
  background: #1a1a1a;
  border-color: #555;
}

.event-pill-time {
  color: #888;
  flex-shrink: 0;
  font-size: .6rem;
}

.event-pill-title {
  color: #ddd;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .65rem;
  font-weight: 600;
  overflow: hidden;
}

.ghost-block {
  opacity: .45;
  border-style: dashed !important;
  border-color: #333 !important;
}

.ghost-block:hover {
  opacity: .7;
}

.ghost-block .event-block-title, .ghost-block .event-pill-title {
  color: #666;
}

.drop-target-active {
  outline-offset: -1px;
  outline: 1px dashed #444;
  background: #111 !important;
}

.modal-overlay {
  z-index: 1000;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #000000d9;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.modal-content {
  background: #0a0a0a;
  border: 1px solid #333;
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
}

.modal-header {
  border-bottom: 1px solid #222;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.25rem;
  display: flex;
}

.modal-header h3 {
  letter-spacing: .15em;
  color: #ccc;
  margin: 0;
  font-size: .75rem;
}

.modal-close {
  color: #666;
  cursor: pointer;
  background: none;
  font-size: 1rem;
  transition: color .15s;
  border: none !important;
  padding: 0 !important;
}

.modal-close:hover {
  color: #fff !important;
  background: none !important;
}

.modal-form {
  padding: 1.25rem;
}

.form-group {
  margin-bottom: 1rem;
}

.form-group label {
  letter-spacing: .15em;
  color: #666;
  text-transform: uppercase;
  margin-bottom: .35rem;
  font-size: .6rem;
  display: block;
}

.form-group input[type="text"], .form-group input[type="date"], .form-group input[type="time"] {
  color: #fff;
  box-sizing: border-box;
  background: #000;
  border: 1px solid #333;
  outline: none;
  width: 100%;
  padding: .6rem .75rem;
  font-family: inherit;
  font-size: .8rem;
  transition: border-color .15s;
}

.form-group input:focus {
  border-color: #fff;
}

.form-row {
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  display: grid;
}

.type-selector {
  flex-wrap: wrap;
  gap: .35rem;
  display: flex;
}

.type-btn {
  color: #888;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: none;
  align-items: center;
  gap: .35rem;
  font-family: inherit;
  font-size: .6rem;
  transition: all .15s;
  display: flex;
  border: 1px solid #333 !important;
  padding: .35rem .6rem !important;
}

.type-btn:hover {
  color: #ccc !important;
  background: #111 !important;
  border-color: #555 !important;
}

.type-btn.active {
  border-color: var(--type-color) !important;
  color: #fff !important;
  background: #111 !important;
}

.type-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.ghost-toggle {
  cursor: pointer;
  align-items: center;
  gap: .5rem;
  display: flex !important;
}

.ghost-toggle input[type="checkbox"] {
  accent-color: #fff;
  cursor: pointer;
  width: 14px;
  height: 14px;
}

.ghost-toggle span {
  color: #ccc;
  font-size: .65rem;
}

.ghost-hint {
  color: #555 !important;
  font-size: .55rem !important;
}

.modal-actions {
  border-top: 1px solid #222;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.5rem;
  padding-top: 1rem;
  display: flex;
}

.modal-actions-right {
  gap: .5rem;
  margin-left: auto;
  display: flex;
}

.btn-cancel {
  color: #666;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .65rem;
  transition: all .15s;
  border: 1px solid #333 !important;
  padding: .4rem 1rem !important;
}

.btn-cancel:hover {
  color: #ccc !important;
  background: none !important;
  border-color: #555 !important;
}

.btn-save {
  color: #000;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: #fff;
  font-family: inherit;
  font-size: .65rem;
  font-weight: 700;
  transition: all .15s;
  border: 1px solid #fff !important;
  padding: .4rem 1.25rem !important;
}

.btn-save:hover {
  color: #fff !important;
  background: none !important;
}

.btn-delete {
  color: #f44;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .65rem;
  transition: all .15s;
  border: 1px solid #f44 !important;
  padding: .4rem 1rem !important;
}

.btn-delete:hover {
  color: #000 !important;
  background: #f44 !important;
}

.dashboard-section {
  margin-bottom: 2rem;
}

.dashboard-container {
  background: #0a0a0a;
  border: 1px solid #222;
  padding: 1.25rem;
}

.dashboard-links {
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.25rem;
  display: flex;
}

.dashboard-link {
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: .1em;
  border: 1px solid #333;
  padding: .4rem .85rem;
  font-family: inherit;
  font-size: .65rem;
  text-decoration: none;
  transition: all .15s;
}

.dashboard-link:hover {
  color: #fff;
  background: #111;
  border-color: #fff;
}

.dashboard-status {
  margin-top: .5rem;
}

.status-row {
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: .5rem;
  display: flex;
}

.status-item {
  align-items: center;
  gap: .4rem;
  display: flex;
}

.status-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.status-dot.up {
  background: #0f8;
}

.status-dot.down {
  background: #f44;
}

.status-dot.unknown {
  background: #555;
}

.status-label {
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .6rem;
}

.status-latency {
  color: #555;
  font-size: .5rem;
}

.command-section {
  margin-bottom: 2rem;
}

.command-bar-container {
  background: #0a0a0a;
  border: 1px solid #222;
}

.command-bar-trigger {
  cursor: pointer;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1.25rem;
  transition: background .15s;
  display: flex;
}

.command-bar-trigger:hover {
  background: #111;
}

.command-bar-icon {
  color: #0f8;
  font-size: .8rem;
  font-weight: 700;
}

.command-bar-hint {
  color: #555;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .65rem;
}

.command-bar-shortcut {
  color: #333;
  border: 1px solid #222;
  margin-left: auto;
  padding: 2px 6px;
  font-size: .55rem;
}

.command-bar-panel {
  border-top: 1px solid #222;
  padding: 1rem 1.25rem;
}

.command-input-row {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.command-prompt {
  color: #0f8;
  font-size: .9rem;
  font-weight: 700;
}

.command-input {
  color: #fff;
  background: none;
  border: none;
  outline: none;
  flex: 1;
  padding: .5rem 0;
  font-family: inherit;
  font-size: .85rem;
}

.command-input::placeholder {
  color: #333;
}

.command-loading {
  color: #555;
  padding: .5rem 0;
  font-size: .7rem;
  font-style: italic;
}

.command-result {
  border: 1px solid #222;
  margin-top: .75rem;
  padding: .75rem;
}

.command-result.success {
  border-color: #0f8;
}

.command-result.error {
  border-color: #f44;
}

.command-confirmation {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.command-confirm-text {
  color: #ccc;
  font-size: .75rem;
}

.command-confirm-actions {
  gap: .5rem;
  display: flex;
}

.command-confirm-btn {
  color: #0f8;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .6rem;
  transition: all .15s;
  border: 1px solid #0f8 !important;
  padding: .35rem 1rem !important;
}

.command-confirm-btn:hover {
  color: #000 !important;
  background: #0f8 !important;
}

.command-cancel-btn {
  color: #666;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  font-family: inherit;
  font-size: .6rem;
  transition: all .15s;
  border: 1px solid #333 !important;
  padding: .35rem 1rem !important;
}

.command-cancel-btn:hover {
  color: #ccc !important;
  border-color: #555 !important;
}

.command-message {
  color: #ccc;
  font-size: .75rem;
}

.command-history {
  border-top: 1px solid #1a1a1a;
  margin-top: .75rem;
  padding-top: .5rem;
}

.command-history-item {
  gap: 1rem;
  padding: .25rem 0;
  font-size: .6rem;
  display: flex;
}

.command-history-input {
  color: #555;
}

.command-history-result {
  color: #888;
}

.news-section {
  margin-bottom: 2rem;
}

.news-container {
  background: #0a0a0a;
  border: 1px solid #222;
  padding: 1.25rem;
}

.news-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.news-actions {
  gap: .5rem;
  display: flex;
}

.news-loading {
  color: #555;
  padding: 1rem 0;
  font-size: .75rem;
  font-style: italic;
}

.news-summary {
  margin-bottom: .75rem;
}

.news-paragraph {
  color: #ccc;
  margin: 0 0 .75rem;
  font-size: .8rem;
  line-height: 1.7;
}

.news-sources {
  border-top: 1px solid #1a1a1a;
  flex-direction: column;
  gap: .35rem;
  padding-top: .75rem;
  display: flex;
}

.news-source-item {
  color: #888;
  padding: .25rem 0;
  font-size: .65rem;
  text-decoration: none;
  transition: color .15s;
}

.news-source-item:hover {
  color: #fff;
}

.news-source-title {
  color: inherit;
}

.health-music-row {
  gap: 1.5rem;
  margin-bottom: 2rem;
  display: flex;
}

.health-panel {
  background: #0a0a0a;
  border: 1px solid #222;
  flex: 1;
  padding: 1.25rem;
}

.health-rings {
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: .5rem;
  display: flex;
}

.health-ring-item {
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  display: flex;
}

.health-ring-label {
  color: #666;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .55rem;
}

.health-hr-display {
  color: #f44;
  border: 2px solid #1a1a1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  font-size: 1.2rem;
  font-weight: 700;
  display: flex;
}

.music-widget {
  background: #0a0a0a;
  border: 1px solid #222;
  flex: 1;
  padding: 1.25rem;
}

.music-tracks {
  flex-direction: column;
  gap: .35rem;
  margin-top: .5rem;
  display: flex;
}

.music-track {
  color: #888;
  align-items: center;
  gap: .4rem;
  font-size: .7rem;
  display: flex;
}

.music-track.now-playing {
  color: #0f8;
}

.music-indicator {
  text-align: center;
  width: 12px;
  font-size: .6rem;
}

.music-artist {
  color: inherit;
  font-weight: 600;
}

.music-separator {
  color: #333;
}

.music-name {
  color: #666;
}

.music-track.now-playing .music-name {
  color: #aaa;
}

.review-section {
  margin-bottom: 3rem;
}

.review-container {
  background: #0a0a0a;
  border: 1px solid #222;
  padding: 1.25rem;
}

.review-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.review-date-nav {
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  display: flex;
}

.review-date-input {
  color: #fff;
  background: #000;
  border: 1px solid #333;
  outline: none;
  padding: .4rem .6rem;
  font-family: inherit;
  font-size: .75rem;
}

.review-stats-bar {
  color: #555;
  letter-spacing: .05em;
  gap: 1.5rem;
  margin-bottom: 1rem;
  font-size: .6rem;
  display: flex;
}

.review-items {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.review-empty {
  color: #444;
  padding: 1.5rem 0;
  font-size: .75rem;
}

.review-item {
  border: 1px solid #1a1a1a;
  padding: .75rem;
  transition: border-color .15s;
}

.review-item.review-status-done {
  border-left: 3px solid #0f8;
}

.review-item.review-status-skipped {
  border-left: 3px solid #f44;
}

.review-item.review-status-partial {
  border-left: 3px solid #ffb800;
}

.review-item-top {
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.review-item-info {
  flex: 1;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  display: flex;
}

.review-item-time {
  color: #555;
  flex-shrink: 0;
  font-size: .6rem;
}

.review-item-title {
  color: #ccc;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .7rem;
  font-weight: 600;
  overflow: hidden;
}

.review-item-type {
  color: #444;
  text-transform: uppercase;
  letter-spacing: .1em;
  flex-shrink: 0;
  font-size: .5rem;
}

.review-status-btns {
  flex-shrink: 0;
  gap: 0;
  display: flex;
}

.review-status-btn {
  color: #444;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: none;
  font-family: inherit;
  font-size: .5rem;
  transition: all .15s;
  border: 1px solid #222 !important;
  padding: .25rem .5rem !important;
}

.review-status-btn + .review-status-btn {
  border-left: none !important;
}

.review-status-btn:hover {
  color: #aaa !important;
  background: #111 !important;
}

.review-status-btn.active-done {
  color: #0f8 !important;
  background: #0a1a0f !important;
  border-color: #0f8 !important;
}

.review-status-btn.active-skipped {
  color: #f44 !important;
  background: #1a0a0a !important;
  border-color: #f44 !important;
}

.review-status-btn.active-partial {
  color: #ffb800 !important;
  background: #1a150a !important;
  border-color: #ffb800 !important;
}

.review-status-btn.active-pending {
  color: #888 !important;
  background: #111 !important;
  border-color: #444 !important;
}

.review-notes-input {
  color: #888;
  box-sizing: border-box;
  background: #000;
  border: 1px solid #1a1a1a;
  outline: none;
  width: 100%;
  margin-top: .5rem;
  padding: .3rem .5rem;
  font-family: inherit;
  font-size: .65rem;
}

.review-notes-input:focus {
  border-color: #333;
}

.review-footer {
  border-top: 1px solid #1a1a1a;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
  padding-top: .75rem;
  display: flex;
}

.review-progress {
  color: #555;
  letter-spacing: .05em;
  font-size: .65rem;
}

.review-history {
  border-top: 1px solid #222;
  margin-top: 1rem;
}

.review-history-row {
  cursor: pointer;
  align-items: center;
  gap: .75rem;
  padding: .5rem 0;
  transition: background .15s;
  display: flex;
}

.review-history-row:hover {
  background: #111;
}

.review-history-date {
  color: #666;
  flex-shrink: 0;
  width: 80px;
  font-size: .6rem;
}

.review-history-bar-bg {
  background: #1a1a1a;
  border-radius: 2px;
  flex: 1;
  height: 4px;
  overflow: hidden;
}

.review-history-bar-fill {
  background: #0f8;
  border-radius: 2px;
  height: 100%;
  transition: width .3s;
}

.review-history-pct {
  color: #555;
  text-align: right;
  width: 35px;
  font-size: .6rem;
}

.blog-section {
  margin-bottom: 3rem;
}

.blog-container {
  background: #0a0a0a;
  border: 1px solid #222;
  padding: 1.25rem;
}

.blog-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.blog-posts-list {
  flex-direction: column;
  gap: .35rem;
  margin-bottom: 1rem;
  display: flex;
}

.blog-post-item {
  cursor: pointer;
  border: 1px solid #1a1a1a;
  align-items: center;
  gap: .75rem;
  padding: .5rem .75rem;
  transition: all .15s;
  display: flex;
}

.blog-post-item:hover {
  background: #111;
  border-color: #333;
}

.blog-post-status {
  text-transform: uppercase;
  letter-spacing: .1em;
  border: 1px solid #333;
  flex-shrink: 0;
  padding: 2px 6px;
  font-size: .5rem;
}

.blog-post-status.draft {
  color: #ffb800;
  border-color: #ffb800;
}

.blog-post-status.published {
  color: #0f8;
  border-color: #0f8;
}

.blog-post-title {
  color: #ccc;
  flex: 1;
  font-size: .75rem;
  font-weight: 600;
}

.blog-post-date {
  color: #444;
  font-size: .55rem;
}

.blog-editor-panel {
  border-top: 1px solid #222;
  padding-top: 1rem;
}

.blog-title-input {
  color: #fff;
  box-sizing: border-box;
  background: #000;
  border: 1px solid #333;
  outline: none;
  width: 100%;
  margin-bottom: .5rem;
  padding: .75rem;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
}

.blog-title-input:focus {
  border-color: #fff;
}

.blog-title-input::placeholder {
  color: #333;
}

.blog-content-input {
  color: #fff;
  box-sizing: border-box;
  resize: vertical;
  background: #000;
  border: 1px solid #333;
  outline: none;
  width: 100%;
  min-height: 300px;
  margin-top: .5rem;
  padding: .75rem;
  font-family: inherit;
  font-size: .8rem;
  line-height: 1.7;
}

.blog-content-input::placeholder {
  color: #333;
}

.blog-editor-actions {
  gap: .5rem;
  margin-top: .75rem;
  display: flex;
}

.blog-publish-btn {
  color: #0f8;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: none;
  font-family: inherit;
  font-size: .7rem;
  transition: all .15s;
  border: 1px solid #0f8 !important;
  padding: .5rem 1.5rem !important;
}

.blog-publish-btn:hover {
  color: #000 !important;
  background: #0f8 !important;
}

@media (max-width: 768px) {
  .app-container {
    padding: .75rem;
  }

  .app-title {
    flex-direction: column;
    gap: .5rem;
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
  }

  .calendar-header {
    flex-direction: column;
    align-items: stretch;
    gap: .6rem;
    padding: .75rem;
  }

  .calendar-header-left {
    flex-direction: column;
    gap: .5rem;
  }

  .calendar-nav {
    width: 100%;
    display: flex;
  }

  .nav-btn {
    flex: 1;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    font-size: .75rem;
    display: flex;
  }

  .calendar-date-label {
    white-space: normal;
    text-align: center;
    font-size: .7rem;
  }

  .calendar-header-right {
    justify-content: space-between;
    width: 100%;
  }

  .view-btn, .add-event-btn {
    min-height: 44px;
    font-size: .6rem;
    padding: .5rem .75rem !important;
  }

  .day-view {
    touch-action: pan-y;
  }

  .day-column-header {
    padding: .75rem 1rem;
  }

  .time-grid {
    max-height: none;
  }

  .time-slot {
    grid-template-columns: 50px 1fr;
    min-height: 56px;
  }

  .time-slot .time-label {
    padding: .3rem .4rem 0 0;
    font-size: .55rem;
  }

  .time-slot-content {
    padding: 4px 6px;
  }

  .event-block {
    padding: .4rem .5rem;
  }

  .event-block-time {
    font-size: .6rem;
  }

  .event-block-title {
    font-size: .7rem;
  }

  .week-scroll-wrapper {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
  }

  .week-header {
    grid-template-columns: 40px repeat(7, 1fr);
    min-width: 600px;
  }

  .week-grid {
    min-width: 600px;
  }

  .week-row {
    grid-template-columns: 40px repeat(7, 1fr);
    min-height: 56px;
  }

  .week-cell {
    min-height: 56px;
  }

  .time-gutter {
    padding: .2rem .2rem 0 0;
  }

  .time-label {
    font-size: .45rem;
  }

  .month-grid {
    grid-template-rows: repeat(6, minmax(80px, auto));
  }

  .month-cell {
    min-height: 80px;
    padding: .25rem;
  }

  .month-date-number {
    margin-bottom: .2rem;
    font-size: .7rem;
  }

  .month-cell-events {
    gap: 1px;
  }

  .event-block-pill {
    min-height: 16px;
    padding: 1px 3px;
  }

  .event-pill-time {
    font-size: .5rem;
  }

  .event-pill-title {
    font-size: .55rem;
  }

  .modal-content {
    border: none;
    flex-direction: column;
    width: 100vw;
    max-width: none;
    height: 100vh;
    max-height: none;
    display: flex;
  }

  .modal-form {
    flex: 1;
    padding: 1rem;
    overflow-y: auto;
  }

  .modal-header {
    padding: .75rem 1rem;
  }

  .modal-close {
    justify-content: center;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    display: flex;
  }

  .form-group input[type="text"], .form-group input[type="date"], .form-group input[type="time"] {
    min-height: 44px;
    padding: .75rem;
    font-size: 1rem;
  }

  .type-btn {
    min-height: 40px;
    font-size: .65rem;
    padding: .5rem .75rem !important;
  }

  .ghost-toggle input[type="checkbox"] {
    width: 20px;
    height: 20px;
  }

  .modal-actions {
    border-top: 1px solid #222;
    margin-top: auto;
    padding: .75rem 1rem;
  }

  .btn-cancel, .btn-save, .btn-delete {
    min-height: 44px;
    font-size: .7rem;
    padding: .5rem 1rem !important;
  }

  .oracle-controls {
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
  }

  .oracle-btn {
    justify-content: center;
    width: 100%;
    min-height: 44px;
  }

  .energy-btn {
    width: 36px;
    height: 36px;
    font-size: .75rem;
  }

  .reroll-btn {
    min-height: 36px;
    font-size: .55rem;
    padding: .3rem .75rem !important;
  }

  .journal-meta-row {
    grid-template-columns: 1fr;
  }

  .journal-input {
    font-size: 1rem;
  }

  .journal-btn {
    width: 100%;
    min-height: 44px;
  }

  .oracle-section, .calendar-section, .journal-section, .dashboard-section, .command-section, .news-section, .review-section, .blog-section {
    margin-bottom: 1.5rem;
  }

  .dashboard-links {
    gap: .35rem;
  }

  .dashboard-link {
    text-align: center;
    flex: 1;
    justify-content: center;
    align-items: center;
    min-width: calc(50% - .35rem);
    min-height: 40px;
    display: flex;
  }

  .status-row {
    flex-direction: column;
    gap: .5rem;
  }

  .health-music-row {
    flex-direction: column;
    gap: 1rem;
  }

  .health-rings {
    justify-content: center;
  }

  .review-item-top {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
  }

  .review-status-btns {
    width: 100%;
  }

  .review-status-btn {
    flex: 1;
    min-height: 36px;
  }

  .blog-editor-actions {
    flex-wrap: wrap;
  }

  .blog-title-input {
    font-size: .85rem;
  }

  .blog-content-input {
    min-height: 200px;
  }

  .command-bar-shortcut {
    display: none;
  }

  .hero-row {
    grid-template-columns: 1fr;
  }
}

.hero-row {
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 1.5rem;
  margin-bottom: 2rem;
  display: grid;
}

.today-briefing {
  background: #050505;
  border: 1px solid #1a1a1a;
  flex-direction: column;
  gap: 1rem;
  min-height: 320px;
  padding: 1.25rem;
  display: flex;
}

.today-date-header {
  flex-direction: column;
  gap: .1rem;
  display: flex;
}

.today-day {
  letter-spacing: .15em;
  color: #555;
  text-transform: uppercase;
  font-size: .7rem;
}

.today-date-num {
  color: #fff;
  letter-spacing: .05em;
  font-size: 1.4rem;
  font-weight: bold;
}

.today-schedule {
  flex: 1;
}

.today-empty {
  color: #555;
  flex-direction: column;
  gap: .75rem;
  font-size: .8rem;
  display: flex;
}

.today-event-list {
  flex-direction: column;
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.today-event {
  opacity: 1;
  border-bottom: 1px solid #111;
  align-items: center;
  gap: .5rem;
  padding: .3rem 0;
  font-size: .78rem;
  transition: opacity .2s;
  display: flex;
}

.today-event--past {
  opacity: .4;
}

.today-event--active {
  opacity: 1;
  background: #0a0a0a;
  border-left: 2px solid #0f8;
  padding-left: .25rem;
}

.today-event--ghost {
  opacity: .6;
  font-style: italic;
}

.today-event-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
}

.today-event-time {
  color: #555;
  min-width: 2.8rem;
  font-size: .72rem;
}

.today-event-title {
  color: #ddd;
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  overflow: hidden;
}

.today-event-now {
  color: #0f8;
  letter-spacing: .05em;
  border: 1px solid #0f8;
  padding: 0 .3rem;
  font-size: .65rem;
}

.today-blender {
  border-top: 1px solid #1a1a1a;
  padding-top: .75rem;
  font-size: .78rem;
}

.today-blender-label {
  color: #ff7a1a;
  letter-spacing: .1em;
  margin-bottom: .3rem;
  font-size: .65rem;
  display: block;
}

.today-blender-text {
  color: #ccc;
  line-height: 1.5;
}

.today-oracle {
  border-top: 1px solid #1a1a1a;
  padding-top: .75rem;
  font-size: .78rem;
}

.today-oracle-label {
  color: #0f8;
  letter-spacing: .1em;
  margin-bottom: .3rem;
  font-size: .65rem;
  display: block;
}

.today-oracle-text {
  color: #ccc;
  line-height: 1.5;
}

.reseed-btn {
  color: #555;
  font-family: var(--font-mono, monospace);
  cursor: pointer;
  background: none;
  border: 1px solid #333;
  padding: .3rem .6rem;
  font-size: .7rem;
  transition: border-color .2s, color .2s;
}

.reseed-btn:hover {
  color: #0f8;
  border-color: #0f8;
}

.reseed-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.reseed-btn--small {
  margin-top: .5rem;
  padding: .2rem .4rem;
  font-size: .65rem;
}

.journal-header-right {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.journal-streak {
  color: #555;
  letter-spacing: .05em;
  font-size: .7rem;
}

.journal-streak.logged-today {
  color: #0f8;
}

.today-entries-preview {
  background: #050505;
  border: 1px solid #1a1a1a;
  margin-bottom: .5rem;
  padding: .5rem .75rem;
}

.today-entry-preview {
  align-items: flex-start;
  gap: .5rem;
  display: flex;
}

.today-entry-dot {
  background: #0f8;
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-top: .35rem;
}

.today-entry-snippet {
  color: #666;
  font-size: .75rem;
  line-height: 1.5;
}

.today-entry-more {
  color: #444;
  margin-top: .25rem;
  font-size: .7rem;
  display: block;
}

.journal-btn-row {
  gap: .75rem;
  margin-top: .75rem;
  display: flex;
}

.journal-btn--cancel {
  color: #555 !important;
  background: none !important;
  border-color: #333 !important;
}

.journal-btn--cancel:hover {
  color: #888 !important;
  border-color: #666 !important;
}

.entry-actions {
  gap: .5rem;
  display: flex;
}

.entry-edit {
  color: #555;
  cursor: pointer;
  font-size: .85rem;
  font-family: var(--font-mono, monospace);
  background: none;
  border: none;
  padding: .1rem .25rem;
  transition: color .2s;
}

.entry-edit:hover {
  color: #ffb800;
}

.history-entry--today {
  border-left: 2px solid #0f8;
  padding-left: .5rem;
}

.blender-section {
  margin-bottom: 3rem;
}

.blender-academy {
  background: #0a0a0a;
  border: 1px solid #222;
  border-left: 4px solid #ff7a1a;
  padding: 1.25rem;
}

.blender-offline {
  color: #555;
  margin: .5rem 0 0;
  font-size: .75rem;
  font-style: italic;
}

.blender-header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: .75rem;
  display: flex;
}

.blender-stats {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.blender-streak {
  letter-spacing: .1em;
  color: #888;
  border: 1px solid #333;
  padding: 2px 8px;
  font-size: .65rem;
}

.blender-streak.safe {
  color: #0f8;
  border-color: #0f8;
}

.blender-streak.at-risk {
  color: #ff7a1a;
  border-color: #ff7a1a;
}

.blender-level {
  letter-spacing: .1em;
  color: #ccc;
  font-size: .65rem;
}

.blender-goal-row {
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
  display: flex;
}

.blender-goal-bar {
  background: #1a1a1a;
  flex: 1;
  height: 4px;
  overflow: hidden;
}

.blender-goal-fill {
  background: #ff7a1a;
  height: 100%;
  transition: width .3s;
}

.blender-goal-fill.met {
  background: #0f8;
}

.blender-goal-label {
  color: #555;
  letter-spacing: .1em;
  white-space: nowrap;
  font-size: .55rem;
}

.blender-mission {
  background: #050505;
  border: 1px solid #2a2a2a;
  margin-bottom: .75rem;
}

.blender-mission-top {
  cursor: pointer;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  transition: background .15s;
  display: flex;
}

.blender-mission-top:hover {
  background: #111;
}

.blender-mission-label {
  letter-spacing: .15em;
  color: #ff7a1a;
  border: 1px solid #ff7a1a;
  flex-shrink: 0;
  padding: 1px 6px;
  font-size: .55rem;
}

.blender-mission-title {
  color: #eee;
  flex: 1;
  font-size: .85rem;
  font-weight: 700;
}

.blender-mission-meta {
  color: #666;
  letter-spacing: .05em;
  white-space: nowrap;
  font-size: .6rem;
}

.blender-mission-caret {
  color: #555;
  font-size: .7rem;
}

.blender-mission-body {
  border-top: 1px solid #1a1a1a;
  padding: 1rem;
}

.blender-mission-actions {
  gap: .5rem;
  margin-top: .75rem;
  display: flex;
}

.lesson-brief {
  color: #ccc;
  margin: 0 0 .75rem;
  font-size: .78rem;
  line-height: 1.6;
}

.lesson-steps {
  flex-direction: column;
  gap: .35rem;
  margin: 0 0 .75rem;
  padding-left: 1.25rem;
  display: flex;
}

.lesson-steps li {
  color: #999;
  font-size: .72rem;
  line-height: 1.55;
}

.lesson-deliverable {
  color: #ccc;
  border-left: 2px solid #0f8;
  margin: 0 0 .5rem;
  padding-left: .6rem;
  font-size: .72rem;
  line-height: 1.5;
}

.lesson-deliverable span {
  color: #0f8;
  letter-spacing: .1em;
  font-size: .55rem;
}

.lesson-keys {
  color: #555;
  letter-spacing: .05em;
  margin: 0 0 .6rem;
  font-size: .6rem;
}

.lesson-type-tag {
  letter-spacing: .12em;
  color: #777;
  border: 1px solid #333;
  flex-shrink: 0;
  padding: 1px 5px;
  font-size: .5rem;
}

.lesson-type-drill {
  color: #888;
  border-color: #444;
}

.lesson-type-build {
  color: #ffb800;
  border-color: #ffb800;
}

.lesson-type-boss {
  color: #ff7a1a;
  border-color: #ff7a1a;
  font-weight: 700;
}

.blender-btn {
  color: #aaa;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: none;
  border: 1px solid #333;
  padding: .4rem .9rem;
  font-family: inherit;
  font-size: .62rem;
  transition: all .15s;
}

.blender-btn:hover:not(:disabled) {
  color: #fff;
  background: #111;
  border-color: #666;
}

.blender-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.blender-btn--primary {
  color: #ff7a1a;
  border-color: #ff7a1a;
  font-weight: 700;
}

.blender-btn--primary:hover:not(:disabled) {
  color: #000;
  background: #ff7a1a;
  border-color: #ff7a1a;
}

.blender-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.blender-next-level {
  color: #555;
  letter-spacing: .08em;
  align-items: center;
  gap: .5rem;
  margin-left: auto;
  font-size: .52rem;
  display: flex;
}

.blender-level-bar {
  background: #1a1a1a;
  width: 80px;
  height: 3px;
  display: inline-block;
  overflow: hidden;
}

.blender-level-bar span {
  background: #555;
  height: 100%;
  display: block;
}

.blender-tree {
  border-top: 1px solid #1a1a1a;
  flex-direction: column;
  gap: .35rem;
  margin-top: 1rem;
  padding-top: .75rem;
  display: flex;
}

.blender-track {
  border: 1px solid #1a1a1a;
}

.blender-track.locked {
  opacity: .45;
}

.blender-track-row {
  cursor: pointer;
  align-items: center;
  gap: .75rem;
  padding: .6rem .85rem;
  transition: background .15s;
  display: flex;
}

.blender-track-row:hover {
  background: #111;
}

.blender-track-id {
  color: #ff7a1a;
  flex-shrink: 0;
  width: 1.2rem;
  font-size: .9rem;
  font-weight: 800;
}

.blender-track-title {
  color: #ddd;
  flex-direction: column;
  flex: 1;
  font-size: .75rem;
  font-weight: 600;
  display: flex;
}

.blender-track-subtitle {
  color: #555;
  letter-spacing: .05em;
  font-size: .58rem;
  font-weight: 400;
}

.blender-track-lock {
  color: #555;
  letter-spacing: .1em;
  white-space: nowrap;
  font-size: .5rem;
}

.blender-track-progress-bar {
  background: #1a1a1a;
  flex-shrink: 0;
  width: 90px;
  height: 3px;
  overflow: hidden;
}

.blender-track-progress-bar span {
  background: #0f8;
  height: 100%;
  display: block;
}

.blender-track-count {
  color: #666;
  text-align: right;
  flex-shrink: 0;
  width: 2.6rem;
  font-size: .6rem;
}

.blender-lessons {
  border-top: 1px solid #141414;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blender-lesson {
  border-bottom: 1px solid #101010;
}

.blender-lesson:last-child {
  border-bottom: none;
}

.blender-lesson.locked {
  opacity: .4;
}

.blender-lesson-row {
  cursor: pointer;
  align-items: center;
  gap: .6rem;
  padding: .45rem .85rem;
  transition: background .15s;
  display: flex;
}

.blender-lesson-row:hover {
  background: #0f0f0f;
}

.blender-lesson-status {
  color: #444;
  flex-shrink: 0;
  width: .9rem;
  font-size: .7rem;
}

.blender-lesson.done .blender-lesson-status {
  color: #0f8;
}

.blender-lesson-title {
  color: #bbb;
  flex: 1;
  font-size: .7rem;
}

.blender-lesson.done .blender-lesson-title {
  color: #555;
  -webkit-text-decoration: line-through #333;
  text-decoration: line-through #333;
}

.blender-lesson-meta {
  color: #555;
  white-space: nowrap;
  font-size: .55rem;
}

.blender-lesson-detail {
  background: #070707;
  border-top: 1px dashed #1a1a1a;
  padding: .75rem .85rem .9rem 2.2rem;
}

.blender-lesson-done-at, .blender-lesson-locked-note {
  color: #555;
  letter-spacing: .1em;
  font-size: .55rem;
}

.quiz-progress {
  color: #666;
  letter-spacing: .1em;
  font-size: .65rem;
}

.quiz-card {
  padding: .25rem 0;
}

.quiz-track-tag {
  color: #ff7a1a;
  letter-spacing: .15em;
  border: 1px solid #33210f;
  padding: 1px 6px;
  font-size: .5rem;
}

.quiz-question {
  color: #eee;
  margin: .75rem 0 1rem;
  font-size: .95rem;
  line-height: 1.5;
}

.quiz-choices {
  flex-direction: column;
  gap: .4rem;
  display: flex;
}

.quiz-choice {
  text-align: left;
  color: #bbb;
  cursor: pointer;
  background: #050505;
  border: 1px solid #2a2a2a;
  padding: .6rem .85rem;
  font-family: inherit;
  font-size: .75rem;
  transition: all .15s;
}

.quiz-choice:hover:not(:disabled) {
  color: #fff;
  background: #111;
  border-color: #666;
}

.quiz-choice:disabled {
  cursor: default;
}

.quiz-choice--correct {
  color: #0f8 !important;
  background: #0a1a0f !important;
  border-color: #0f8 !important;
}

.quiz-choice--wrong {
  color: #f44 !important;
  background: #1a0a0a !important;
  border-color: #f44 !important;
}

.quiz-choice--dim {
  opacity: .35;
}

.quiz-feedback {
  border: 1px solid #222;
  margin-top: .85rem;
  padding: .75rem;
}

.quiz-feedback.ok {
  border-color: #0f8;
}

.quiz-feedback.bad {
  border-color: #f44;
}

.quiz-feedback-verdict {
  letter-spacing: .15em;
  font-size: .6rem;
  font-weight: 700;
}

.quiz-feedback.ok .quiz-feedback-verdict {
  color: #0f8;
}

.quiz-feedback.bad .quiz-feedback-verdict {
  color: #f44;
}

.quiz-feedback-explanation {
  color: #aaa;
  margin: .4rem 0 .75rem;
  font-size: .72rem;
  line-height: 1.55;
}

.quiz-summary {
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
  padding: 1rem 0 .5rem;
  display: flex;
}

.quiz-summary-score {
  color: #fff;
  font-size: 2rem;
  font-weight: 800;
}

.quiz-summary-xp {
  color: #ff7a1a;
  letter-spacing: .15em;
  font-size: .7rem;
}

.quiz-summary-text {
  color: #888;
  margin: 0 0 .5rem;
  font-size: .72rem;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .blender-section {
    margin-bottom: 1.5rem;
  }

  .blender-mission-top {
    padding: .75rem;
  }

  .blender-mission-title {
    flex-basis: 100%;
    order: 5;
  }

  .blender-btn {
    min-height: 40px;
  }

  .blender-next-level, .blender-track-lock {
    display: none;
  }

  .blender-track-progress-bar {
    width: 50px;
  }

  .blender-lesson-detail {
    padding-left: .85rem;
  }
}

.agenda-view {
  flex-direction: column;
  gap: 0;
  padding: .5rem 0;
  display: flex;
}

.agenda-empty {
  text-align: center;
  color: #555;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  font-size: .85rem;
  display: flex;
}

.agenda-day {
  border-bottom: 1px solid #111;
  grid-template-columns: 5.5rem 1fr;
  gap: .5rem;
  padding: .6rem 0;
  display: grid;
}

.agenda-day--past {
  opacity: .5;
}

.agenda-day--today .agenda-day-label {
  color: #0f8;
}

.agenda-day-label {
  flex-direction: column;
  padding-top: .1rem;
  display: flex;
}

.agenda-day-name {
  letter-spacing: .08em;
  color: inherit;
  text-transform: uppercase;
  font-size: .7rem;
  font-weight: bold;
}

.agenda-day-date {
  color: #555;
  font-size: .68rem;
}

.agenda-events {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.agenda-event {
  cursor: pointer;
  border-radius: 2px;
  align-items: center;
  gap: .5rem;
  padding: .25rem .4rem;
  font-size: .78rem;
  transition: background .15s;
  display: flex;
}

.agenda-event:hover {
  background: #111;
}

.agenda-event--active {
  background: #0a0a0a;
  border-left: 2px solid #0f8;
  padding-left: .3rem;
}

.agenda-event--past {
  opacity: .45;
}

.agenda-event--ghost {
  font-style: italic;
}

.agenda-event-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
}

.agenda-event-time {
  color: #555;
  min-width: 2.8rem;
  font-size: .72rem;
}

.agenda-event-title {
  color: #ddd;
  flex: 1;
}

.agenda-event-now {
  color: #0f8;
  border: 1px solid #0f8;
  padding: 0 .25rem;
  font-size: .62rem;
}

.agenda-event-ghost-tag {
  color: #444;
  font-size: .62rem;
  font-style: normal;
}

.goal-section {
  margin-bottom: 2rem;
}

.goal-planner {
  background: #050505;
  border: 1px solid #222;
  padding: 1.5rem;
}

.goal-planner-header {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  display: flex;
}

.goal-planner-title-row {
  align-items: baseline;
  gap: 1rem;
  display: flex;
}

.goal-date-label {
  color: #555;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .7rem;
}

.goal-planner-header-right {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.goal-progress {
  color: #888;
  letter-spacing: .05em;
  font-size: .7rem;
}

.goal-progress--complete {
  color: #0f8;
}

.goal-history-link {
  color: #444;
  text-transform: uppercase;
  letter-spacing: .1em;
  border: 1px solid #222;
  padding: .2rem .5rem;
  font-size: .65rem;
  text-decoration: none;
  transition: color .15s, border-color .15s;
}

.goal-history-link:hover {
  color: #fff;
  border-color: #555;
}

.goal-add-btn {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #0f8;
  cursor: pointer;
  background: none;
  border: 1px solid #0f8;
  padding: .25rem .6rem;
  font-family: inherit;
  font-size: .65rem;
  transition: background .15s, color .15s;
}

.goal-add-btn:hover {
  color: #000;
  background: #0f8;
}

.goal-progress-bar {
  background: #111;
  border-radius: 1px;
  height: 2px;
  margin-bottom: 1rem;
  overflow: hidden;
}

.goal-progress-fill {
  background: #0f8;
  height: 100%;
  transition: width .4s;
}

.goal-add-form {
  background: #0a0a0a;
  border: 1px solid #333;
  margin-bottom: 1rem;
  padding: 1rem;
}

.goal-add-input {
  color: #fff;
  background: none;
  border: none;
  border-bottom: 1px solid #333;
  outline: none;
  width: 100%;
  margin-bottom: .75rem;
  padding: .25rem 0;
  font-family: inherit;
  font-size: .9rem;
}

.goal-add-input:focus {
  border-bottom-color: #0f8;
}

.goal-add-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.goal-complexity-btn {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #555;
  cursor: pointer;
  background: none;
  border: 1px solid #222;
  padding: .2rem .5rem;
  font-family: inherit;
  font-size: .62rem;
  transition: all .15s;
}

.goal-complexity-btn.active {
  color: #ffb800;
  border-color: #ffb800;
}

.goal-add-actions {
  gap: .5rem;
  margin-left: auto;
  display: flex;
}

.goal-cancel-btn {
  color: #444;
  cursor: pointer;
  background: none;
  border: 1px solid #222;
  padding: .25rem .6rem;
  font-family: inherit;
  font-size: .65rem;
}

.goal-list {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.goal-divider {
  color: #333;
  text-transform: uppercase;
  letter-spacing: .1em;
  align-items: center;
  gap: .5rem;
  margin: .5rem 0;
  font-size: .62rem;
  display: flex;
}

.goal-divider:after {
  content: "";
  background: #1a1a1a;
  flex: 1;
  height: 1px;
}

.goal-item {
  border-bottom: 1px solid #111;
  transition: background .1s;
}

.goal-item:last-child {
  border-bottom: none;
}

.goal-item--done .goal-item-main {
  opacity: .5;
}

.goal-item-main {
  cursor: pointer;
  align-items: center;
  gap: .75rem;
  padding: .65rem .25rem;
  transition: background .1s;
  display: flex;
}

.goal-item-main:hover {
  background: #0a0a0a;
}

.goal-checkbox {
  cursor: pointer;
  color: #0f8;
  background: none;
  border: 1px solid #333;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  padding: 0;
  font-family: inherit;
  font-size: .65rem;
  transition: border-color .15s, background .15s;
  display: flex;
}

.goal-checkbox:hover {
  border-color: #0f8;
}

.goal-checkbox--checked {
  color: #000;
  background: #0f8;
  border-color: #0f8;
}

.goal-title {
  color: #ddd;
  flex: 1;
  font-size: .85rem;
}

.goal-title--done {
  color: #444;
  text-decoration: line-through;
}

.goal-badge {
  text-transform: uppercase;
  letter-spacing: .1em;
  border: 1px solid;
  flex-shrink: 0;
  padding: .1rem .3rem;
  font-size: .55rem;
}

.goal-badge--complex {
  color: #ffb800;
  border-color: #ffb800;
}

.goal-has-detail {
  color: #333;
  flex-shrink: 0;
  font-size: .6rem;
}

.goal-delete-btn {
  color: #222;
  cursor: pointer;
  opacity: 0;
  background: none;
  border: none;
  padding: .15rem .3rem;
  font-size: .6rem;
  transition: opacity .15s, color .15s;
}

.goal-item-main:hover .goal-delete-btn {
  opacity: 1;
}

.goal-delete-btn:hover {
  color: #ef4444;
}

.goal-detail-panel {
  background: #0a0a0a;
  padding: .5rem .25rem .75rem 2.5rem;
}

.goal-detail-input {
  color: #aaa;
  resize: vertical;
  background: none;
  border: 1px solid #222;
  outline: none;
  width: 100%;
  min-height: 80px;
  margin-bottom: .5rem;
  padding: .5rem;
  font-family: inherit;
  font-size: .78rem;
}

.goal-detail-input:focus {
  border-color: #333;
}

.goal-detail-save {
  padding: .2rem .5rem !important;
  font-size: .62rem !important;
}

.goal-empty {
  color: #333;
  text-align: center;
  padding: 1.5rem 0;
  font-size: .8rem;
}

.goal-empty kbd {
  color: #555;
  background: #111;
  border: 1px solid #222;
  padding: .1rem .3rem;
  font-family: inherit;
  font-size: .75rem;
}

.goal-empty-add {
  color: #0f8;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: .8rem;
  text-decoration: underline;
}

.daily-page {
  max-width: 900px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 2rem;
  font-family: JetBrains Mono, Courier New, monospace;
}

.daily-header {
  border-bottom: 1px solid #1a1a1a;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}

.daily-back-link {
  color: #444;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: .75rem;
  font-size: .65rem;
  text-decoration: none;
  display: block;
}

.daily-back-link:hover {
  color: #888;
}

.daily-nav {
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.daily-title {
  text-transform: uppercase;
  letter-spacing: -.03em;
  text-align: center;
  flex: 1;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
}

.daily-nav-btn {
  color: #555;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: .1em;
  white-space: nowrap;
  background: none;
  border: 1px solid #222;
  padding: .25rem .6rem;
  font-family: inherit;
  font-size: .65rem;
  text-decoration: none;
}

.daily-nav-btn:hover {
  color: #fff;
  border-color: #555;
}

.daily-nav-btn--disabled {
  opacity: .25;
  pointer-events: none;
}

.daily-today-link {
  color: #0f8;
  text-align: right;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-top: .5rem;
  font-size: .62rem;
  text-decoration: none;
  display: block;
}

.daily-loading, .daily-error {
  text-align: center;
  color: #444;
  padding: 3rem;
  font-size: .8rem;
}

.daily-error {
  color: #ef4444;
}

.daily-stats {
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
  display: flex;
}

.daily-stat-pill {
  border: 1px solid #1a1a1a;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  min-width: 80px;
  padding: .5rem 1rem;
  display: flex;
}

.daily-stat-pill--highlight {
  border-color: #0f8;
}

.daily-stat-value {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
}

.daily-stat-pill--highlight .daily-stat-value {
  color: #0f8;
}

.daily-stat-label {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #444;
  font-size: .6rem;
}

.daily-section {
  margin-bottom: 2rem;
}

.daily-section-title {
  text-transform: uppercase;
  letter-spacing: .15em;
  color: #444;
  border-bottom: 1px solid #111;
  margin: 0 0 .75rem;
  padding-bottom: .4rem;
  font-size: .65rem;
}

.daily-goals-list {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.daily-goal-item {
  border-bottom: 1px solid #0d0d0d;
  align-items: flex-start;
  gap: .75rem;
  padding: .5rem 0;
  display: flex;
}

.daily-goal-check {
  color: #333;
  flex-shrink: 0;
  padding-top: .1rem;
  font-size: .75rem;
}

.daily-goal-check--done {
  color: #0f8;
}

.daily-goal-content {
  flex: 1;
}

.daily-goal-title {
  color: #ddd;
  font-size: .85rem;
  display: block;
}

.daily-goal--done .daily-goal-title {
  color: #444;
  text-decoration: line-through;
}

.daily-goal-detail {
  color: #555;
  margin: .25rem 0 0;
  font-size: .72rem;
}

.daily-goal-badge {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #333;
  padding-top: .1rem;
  font-size: .55rem;
}

.daily-goal-badge.complex {
  color: #ffb800;
}

.daily-events-list {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.daily-event-item {
  border-bottom: 1px solid #0d0d0d;
  grid-template-columns: 120px 1fr 80px 70px;
  align-items: center;
  gap: .75rem;
  padding: .45rem 0;
  font-size: .78rem;
  display: grid;
}

.daily-event-time {
  color: #555;
}

.daily-event-title {
  color: #ddd;
}

.daily-event-type {
  color: #333;
  text-align: right;
  font-size: .65rem;
}

.daily-event-status {
  text-align: right;
  font-size: .65rem;
}

.daily-journal-list {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.daily-journal-entry {
  border: 1px solid #111;
  padding: .75rem;
}

.daily-journal-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-bottom: .5rem;
  display: flex;
}

.daily-journal-time {
  color: #555;
  font-size: .65rem;
}

.daily-journal-energy {
  color: #444;
  font-size: .65rem;
}

.daily-journal-tags {
  flex-wrap: wrap;
  gap: .25rem;
  display: flex;
}

.daily-journal-content {
  color: #ccc;
  white-space: pre-wrap;
  margin: 0;
  font-size: .82rem;
  line-height: 1.6;
}

.daily-section-summary {
  cursor: pointer;
  list-style: none;
}

.daily-section-summary::-webkit-details-marker {
  display: none;
}

.daily-activity-list {
  flex-direction: column;
  gap: 0;
  margin-top: .5rem;
  display: flex;
}

.daily-activity-item {
  border-bottom: 1px solid #0a0a0a;
  align-items: center;
  gap: .75rem;
  padding: .3rem 0;
  font-size: .7rem;
  display: flex;
}

.daily-activity-time {
  color: #333;
  min-width: 50px;
}

.daily-activity-cat {
  color: #555;
  min-width: 60px;
}

.daily-activity-action {
  color: #777;
  flex: 1;
}

.daily-activity-entity {
  color: #444;
  text-align: right;
}

.daily-empty {
  color: #333;
  text-align: center;
  padding: 3rem;
  font-size: .8rem;
}

.daily-empty a {
  color: #0f8;
  text-decoration: none;
}

.blog-editor-toolbar {
  margin-bottom: 0;
}

.blog-edit-area {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.blog-edit-area--split {
  flex-direction: row;
  gap: 0;
}

.blog-editor-pane {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.blog-image-drop-hint {
  color: #333;
  text-align: right;
  border-bottom: 1px solid #111;
  margin-bottom: 0;
  padding: .3rem 0;
  font-size: .62rem;
}

.blog-upload-link {
  color: #555;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: .62rem;
  text-decoration: underline;
}

.blog-upload-link:hover {
  color: #aaa;
}

.blog-content-input {
  color: #ddd;
  resize: vertical;
  box-sizing: border-box;
  background: #050505;
  border: 1px solid #1a1a1a;
  border-top: none;
  outline: none;
  width: 100%;
  min-height: 400px;
  padding: 1rem;
  font-family: JetBrains Mono, Courier New, monospace;
  font-size: .82rem;
  line-height: 1.65;
}

.blog-content-input:focus {
  border-color: #333;
}

.blog-preview-pane {
  color: #ccc;
  background: #080808;
  border: 1px solid #1a1a1a;
  border-left-color: #222;
  flex: 1;
  min-height: 400px;
  padding: 1rem;
  font-size: .85rem;
  line-height: 1.7;
  overflow-y: auto;
}

.blog-preview-pane h1 {
  color: #fff;
  margin: 1rem 0 .5rem;
  font-size: 1.4rem;
  font-weight: 700;
}

.blog-preview-pane h2 {
  color: #eee;
  margin: 1rem 0 .5rem;
  font-size: 1.15rem;
  font-weight: 700;
}

.blog-preview-pane h3 {
  color: #ddd;
  margin: .75rem 0 .25rem;
  font-size: .95rem;
  font-weight: 700;
}

.blog-preview-pane p {
  margin: 0 0 .75rem;
}

.blog-preview-pane ul, .blog-preview-pane ol {
  margin: 0 0 .75rem 1.5rem;
}

.blog-preview-pane li {
  margin-bottom: .25rem;
}

.blog-preview-pane code {
  color: #ffb800;
  background: #111;
  padding: .1rem .3rem;
  font-family: inherit;
  font-size: .8rem;
}

.blog-preview-pane pre {
  background: #0d0d0d;
  border: 1px solid #1a1a1a;
  margin: .75rem 0;
  padding: .75rem;
  overflow-x: auto;
}

.blog-preview-pane pre code {
  color: #aaa;
  background: none;
  padding: 0;
}

.blog-preview-pane blockquote {
  color: #666;
  border-left: 3px solid #333;
  margin: .75rem 0;
  padding-left: 1rem;
  font-style: italic;
}

.blog-preview-pane a {
  color: #0f8;
}

.blog-preview-pane hr {
  border: none;
  border-top: 1px solid #1a1a1a;
  margin: 1rem 0;
}

.blog-preview-pane img {
  max-width: 100%;
  margin: .5rem 0;
  display: block;
}

.blog-preview-pane .embed-wrap {
  height: 0;
  margin: 1rem 0;
  padding-bottom: 56.25%;
  position: relative;
}

.blog-preview-pane .embed-wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.blog-preview-toggle {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #555;
  cursor: pointer;
  background: none;
  border: 1px solid #222;
  padding: .2rem .5rem;
  font-family: inherit;
  font-size: .62rem;
  transition: all .15s;
}

.blog-preview-toggle.active, .blog-preview-toggle:hover {
  color: #fff;
  border-color: #555;
}

.blog-post-item--active {
  background: #0a0a0a;
  border-left: 2px solid #0f8;
}

.blog-save-msg {
  color: #0f8;
  flex: 1;
  font-size: .65rem;
}

.blog-unpublish-btn {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #ef4444;
  cursor: pointer;
  background: none;
  border: 1px solid #ef4444;
  padding: .25rem .6rem;
  font-family: inherit;
  font-size: .65rem;
  transition: background .15s, color .15s;
}

.blog-unpublish-btn:hover {
  color: #fff;
  background: #ef4444;
}

/* [next]/internal/font/google/jetbrains_mono_ad8b927d.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/13bf9871fe164e7f-s.f2220059.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/cc545e633e20c56d-s.f6f1950f.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/71b036adf157cdcf-s.bd5f4d11.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/89b21bb081cb7469-s.51c18f09.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/3fe682a82f50d426-s.23358719.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/70bc3e132a0a741e-s.p.15008bfb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono Fallback;
  src: local(Arial);
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.jetbrains_mono_ad8b927d-module__GrgDvq__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_ad8b927d-module__GrgDvq__variable {
  --font-mono: "JetBrains Mono", "JetBrains Mono Fallback";
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__d25c7827._.css.map*/