:root{--bg: #07080c;--panel: #12141c;--panel-2: #191c26;--border: #262a37;--text: #e7e9ee;--muted: #9aa0ae;--accent: #5b8cff;--accent-2: #3f6fe0;--danger: #ff6b6b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px}button{font-family:inherit;cursor:pointer}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px}.login-page h1{margin:0;font-size:2rem}.login-page p{color:var(--muted);max-width:26rem}.login-button{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 22px;font-size:1rem;font-weight:600}.login-button:hover{background:var(--accent-2)}.app{min-height:100vh}.app-header{display:flex;align-items:center;gap:18px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:5}.brand{font-weight:700;font-size:1.1rem;white-space:nowrap}.tabs{display:flex;gap:6px}.tab{text-decoration:none;color:var(--muted);padding:7px 14px;border-radius:8px;font-weight:600}.tab:hover{color:var(--text);background:var(--panel-2)}.tab--active{color:#fff;background:var(--accent)}.header-right{margin-left:auto;display:flex;gap:14px;align-items:center}.link-muted{color:var(--muted);background:none;border:none;text-decoration:none;font-size:.9rem}.link-muted:hover{color:var(--text)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.crumb{background:none;border:none;color:var(--accent);font-weight:600;padding:2px 4px;font-size:.95rem}.crumb:hover{text-decoration:underline}.crumb-sep{color:var(--muted);margin:0 2px}.toolbar-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.type-filter{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem}.type-filter select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 8px}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-weight:600}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-2)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;padding:20px}.tile{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;min-height:132px;position:relative}.tile:hover{border-color:var(--muted)}.tile-icon{font-size:2.2rem;cursor:pointer;line-height:1}.tile-name{font-weight:600;cursor:pointer;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.tile-meta{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.8rem;margin-top:auto}.chip{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:.72rem;color:var(--muted)}.tile-actions{display:flex;gap:2px;position:absolute;top:8px;right:8px;opacity:0;transition:opacity .12s}.tile:hover .tile-actions{opacity:1}.icon-btn{background:#0000004d;border:none;border-radius:6px;padding:3px 5px;font-size:.85rem;color:var(--text)}.icon-btn:hover{background:#0009}.state{padding:40px 20px;color:var(--muted);grid-column:1 / -1}.state--error{color:var(--danger)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal--wide{max-width:900px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:1.1rem}.modal-body{padding:18px;overflow:auto}.form-row{display:flex;gap:10px;margin-bottom:12px}.form-row .input{flex:1}.form-col{display:flex;flex-direction:column;gap:10px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.input{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:.95rem;font-family:inherit}.input:focus{outline:none;border-color:var(--accent)}.note-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:320px}.note-textarea{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9rem;resize:vertical;min-height:320px}.note-preview{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px;overflow:auto}@media (max-width: 720px){.note-editor{grid-template-columns:1fr}}.md{line-height:1.6}.md h1,.md h2,.md h3{margin-top:.6em}.md pre{background:#0b0d13;border:1px solid var(--border);border-radius:8px;padding:12px;overflow:auto}.md code{background:#0b0d13;border-radius:4px;padding:1px 5px;font-size:.9em}.md pre code{background:none;padding:0}.md a{color:var(--accent)}.md blockquote{border-left:3px solid var(--border);margin:0;padding-left:12px;color:var(--muted)}.md img{max-width:100%}.md table{border-collapse:collapse}.md th,.md td{border:1px solid var(--border);padding:4px 8px}.combo{position:relative;min-width:160px}.combo-input{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:.95rem}.combo-input:focus{outline:none;border-color:var(--accent)}.combo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;list-style:none;margin:0;padding:4px;max-height:220px;overflow:auto;z-index:30}.combo-item{padding:7px 10px;border-radius:6px;cursor:pointer}.combo-item:hover{background:var(--panel)}.combo-item--add{color:var(--accent);font-weight:600}.combo-empty{color:var(--muted);cursor:default}
