:root{--bg: #111111;--bg-alt: #161616;--panel: #1b1b1b;--panel-strong: #101010;--line: #323232;--line-bright: #4c4c4c;--text: #d4d4d4;--muted: #8d8d8d;--accent: #8ec07c;--accent-strong: #a9d18e;--warning: #d8a657;--danger: #ea6962;--shadow: 0 0 0 1px rgba(255, 255, 255, .02), 0 16px 40px rgba(0, 0, 0, .32);--font-mono: "IBM Plex Mono", "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", monospace}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:linear-gradient(180deg,rgba(142,192,124,.06),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.015) 1px,transparent 1px),var(--bg);background-size:auto,20px 20px,20px 20px,auto;color:var(--text);font-family:var(--font-mono);text-rendering:optimizeLegibility}button,input,textarea{font:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none}a{color:var(--accent-strong)}h1,h2,h3,p{margin:0}.screen{min-height:100vh;min-height:100dvh}.boot-shell,.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.boot-shell{color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.login-card{width:min(100%,22rem);display:grid;gap:.75rem;padding:1rem;border:1px solid var(--line);background:#101010f5;box-shadow:var(--shadow)}.login-card h1{font-size:1.1rem;font-weight:600;letter-spacing:.16em;text-transform:lowercase}.login-input,.editor{width:100%;border:1px solid var(--line);border-radius:0;background:var(--panel-strong);color:var(--text)}.login-input{min-height:2.75rem;padding:0 .8rem}.editor{min-height:52vh;padding:.9rem;resize:vertical;line-height:1.6}.login-input:focus,.editor:focus{outline:none;border-color:var(--accent)}.app-shell{min-height:100vh;min-height:100dvh;display:flex;position:relative}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#000000b3;z-index:20}.sidebar{position:fixed;inset:0 auto 0 0;width:min(19rem,calc(100vw - 3rem));display:flex;flex-direction:column;gap:.9rem;padding:1rem;border-right:1px solid var(--line);background:#101010fa;box-shadow:var(--shadow);transform:translate(-102%);transition:transform .18s ease;z-index:30}.sidebar--open{transform:translate(0)}.sidebar__header,.sidebar__month,.bottombar,.format-actions{display:flex;align-items:center}.sidebar__header,.sidebar__month{justify-content:space-between}.sidebar__header{font-size:.82rem;letter-spacing:.18em;text-transform:lowercase}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.calendar-weekdays{color:var(--muted);font-size:.7rem;text-transform:uppercase}.calendar-cell{min-height:2.35rem;border:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--text);padding:.3rem;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.15rem;text-align:left}.calendar-cell__day{font-size:.86rem}.calendar-cell__month{font-size:.6rem;color:var(--muted);text-transform:lowercase}.calendar-cell--saved:after,.calendar-cell--today:after{content:"";position:absolute;inset:auto 0 0 0;height:2px}.calendar-cell--saved:after{background:var(--accent)}.calendar-cell--today:after{background:var(--warning)}.calendar-cell--selected{border-color:var(--accent);color:var(--accent-strong)}.calendar-cell--outside{opacity:.45}.calendar-cell--future{color:var(--muted)}.sidebar__logout{margin-top:auto}.workspace{flex:1;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;min-width:0}.topbar,.bottombar{border-bottom:1px solid var(--line);background:#111111f5}.topbar{position:sticky;top:0;z-index:10}.bottombar{margin-top:auto;border-top:1px solid var(--line);border-bottom:0}.bottombar{min-height:1rem;justify-content:space-between;gap:.6rem;padding:.55rem .75rem}.topbar__grid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;padding:.55rem .75rem;align-items:stretch}.topbar__menu-button{grid-column:1;min-width:0;display:flex;align-items:center;justify-content:center}.topbar__date-button{grid-column:2;width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;justify-content:center;overflow:hidden}.topbar__date-iso{font-size:.82rem;line-height:1.1;white-space:nowrap}.topbar__date-label{color:var(--muted);font-size:.68rem;line-height:1.1;text-transform:lowercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__save-button{grid-column:3}.topbar__nav-group{grid-column:1 / span 2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.topbar__nav-button{width:100%}.topbar__mode-switch{grid-column:3;display:flex}.topbar__mode-switch .mode-switch__button{min-width:0;padding-inline:.5rem}.topbar__status{white-space:nowrap}.entry-shell{flex:1;display:flex;flex-direction:column;gap:0;min-height:0}.entry-body{flex:1;display:flex;min-height:0;background:#101010f5}.editor,.preview{flex:1;height:100%;min-height:0}.preview{padding:1rem;line-height:1.7;overflow:auto}.editor{border:0;min-height:0;padding:1rem;resize:none}.preview>*+*{margin-top:.85rem}.preview h1,.preview h2,.preview h3{color:var(--accent-strong);font-weight:600}.preview code{padding:.1rem .25rem;background:var(--panel);border:1px solid var(--line)}.preview pre{overflow:auto;padding:.8rem;background:var(--panel);border:1px solid var(--line)}.preview blockquote{margin:0;padding-left:.85rem;border-left:2px solid var(--line-bright);color:var(--muted)}.preview ul,.preview ol{padding-left:1.2rem}.ui-button,.mode-switch__button{min-height:2rem;border:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--text);padding:.35rem .6rem}.ui-button:disabled,.mode-switch__button:disabled{opacity:.4;cursor:not-allowed}.ui-button--accent{border-color:var(--accent);color:var(--accent-strong)}.ui-button--ghost{color:var(--muted)}.ui-button--selected{border-color:var(--line-bright)}.mode-switch{display:inline-flex;border:1px solid var(--line)}.mode-switch__button{border:0;min-width:3.5rem}.mode-switch__button+.mode-switch__button{border-left:1px solid var(--line)}.mode-switch__button--active{background:var(--panel-strong);color:var(--accent-strong)}.format-actions{gap:.45rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.format-actions::-webkit-scrollbar{display:none}.format-actions .ui-button{flex:0 0 auto}.status-text{color:var(--muted);font-size:.74rem;white-space:nowrap}.notice{border:1px solid var(--line);background:#181818f0;color:var(--muted);padding:.65rem .8rem;font-size:.8rem;margin:.75rem}.notice--error{border-color:#ea696273;color:var(--danger)}.desktop-only{display:none}.mobile-only{display:inline-flex}@media (min-width: 960px){.sidebar-backdrop,.mobile-only{display:none}.desktop-only{display:inline}.sidebar{position:sticky;top:0;transform:none;height:100vh;width:18.5rem;z-index:1}.topbar__grid{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.topbar__date-button{width:auto;min-width:11rem}.topbar__nav-group{display:inline-flex;grid-template-columns:none;gap:.45rem}.topbar__nav-button{width:auto}.topbar__mode-switch{margin-left:auto}.entry-shell{min-height:0}}
