:root{--bg: #ffffff;--fg: #1a1a1a;--muted: #6b7280;--accent: #2563eb;--border: #e5e7eb;--error: #dc2626;--broken: #b45309;--mark-bg: #fde68a;--mark-fg: #1a1a1a;--panel: #f9fafb;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}:root[data-theme=dark]{--bg: #0f1115;--fg: #e5e7eb;--muted: #9ca3af;--accent: #60a5fa;--border: #2a2f3a;--error: #f87171;--broken: #fbbf24;--mark-bg: #92710b;--mark-fg: #fff8e1;--panel: #161a22}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}mark{background:var(--mark-bg);color:var(--mark-fg);border-radius:2px;padding:0 1px}.login{min-height:100dvh;display:grid;place-items:center}.login form{display:flex;flex-direction:column;gap:.75rem;width:min(20rem,90vw)}.login h1{text-align:center;margin-bottom:.5rem}.login input{padding:.6rem .8rem;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg)}.login button{padding:.6rem .8rem;font-size:1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer}.err{color:var(--error);font-size:.9rem;text-align:center}.note-page{max-width:46rem;margin:0 auto;padding:0 1rem 4rem}.topbar{position:sticky;top:0;z-index:10;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.home-link{font-weight:600;background:none;border:none;color:var(--fg);cursor:pointer;font-size:1rem;padding:.3rem 0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:.4rem}.icon-btn{padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);cursor:pointer;font-size:.9rem}.search{position:relative}.search input{padding:.45rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);width:min(14rem,40vw);font-size:.9rem}.search-results{position:absolute;right:0;top:calc(100% + 6px);width:min(28rem,88vw);max-height:70vh;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 30px #0000002e}.search-status{padding:.8rem 1rem;color:var(--muted)}.search-hit{display:block;width:100%;text-align:left;padding:.6rem .9rem;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;color:var(--fg)}.search-hit:hover{background:var(--panel)}.search-hit-name{display:block;font-weight:600;margin-bottom:.15rem}.search-hit-snippet{display:block;font-size:.85rem;color:var(--muted)}.note-status{padding:2rem;text-align:center;color:var(--muted)}.note-body img,.note-body video{max-width:100%;height:auto}.note-body .wikilink{color:var(--accent);text-decoration:none;cursor:pointer}.note-body .wikilink:hover{text-decoration:underline}.note-body .wikilink-unresolved{color:var(--broken);text-decoration:underline dashed;text-underline-offset:2px;cursor:help}.note-body .transclusion{border-left:3px solid var(--border);padding-left:1rem;margin:1rem 0}.note-body .media-missing,.note-body .transclusion-error{color:var(--error);font-style:italic}.backlinks{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border)}.backlinks h2{font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.backlinks-count{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:0 .5rem;font-size:.8rem}.backlinks ul{list-style:none;padding:0;margin:0}.backlinks li button{background:none;border:none;color:var(--accent);cursor:pointer;padding:.25rem 0;font-size:.95rem}.backlinks li button:hover{text-decoration:underline}.note-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 0;flex-wrap:wrap}.media-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.icon-btn.recording{background:var(--error);color:#fff;border-color:var(--error)}.media-status{font-size:.85rem;color:var(--muted)}.media-status.err{color:var(--error)}.calendar{padding:1rem 0}.cal-head{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.cal-head h2{margin:0;min-width:12rem;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-wd{text-align:center;font-size:.8rem;color:var(--muted);padding-bottom:.25rem}.cal-cell{aspect-ratio:1;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center}.cal-cell.empty{border:none;cursor:default}.cal-cell.has-note{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.cal-cell.today{outline:2px solid var(--broken);outline-offset:1px}.cal-cell:not(.empty):hover{border-color:var(--accent)}.editor{padding-top:.6rem}.editor-toolbar{display:flex;gap:.5rem;margin-bottom:.6rem}.editor-toolbar button{padding:.45rem .9rem;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}.editor-toolbar button.secondary{background:var(--panel);color:var(--fg);border:1px solid var(--border)}.editor-panes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:60vh}.editor-source{width:100%;min-height:60vh;resize:vertical;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;line-height:1.5;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg)}.editor-preview{overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:.8rem}@media(max-width:640px){.editor-panes{grid-template-columns:1fr;min-height:0}.editor-source{min-height:55vh}.editor-preview{max-height:40vh}}
