/* Brain. Minimal, one column, one accent colour (set from settings into --accent). */
:root{
  --accent:#FF6B5B;
  --bg:#fafaf9; --fg:#1b1b1d; --mut:#76767e; --line:#e7e7ea; --raise:#ffffff; --code:#f0f0f2;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111214;--fg:#ececee;--mut:#8b8b93;--line:#26272b;--raise:#1a1b1e;--code:#1f2024;color-scheme:dark}}
:root[data-theme=dark]{--bg:#111214;--fg:#ececee;--mut:#8b8b93;--line:#26272b;--raise:#1a1b1e;--code:#1f2024;color-scheme:dark}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--fg)}
body{font:18px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
a{color:var(--accent);text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea{font:inherit;color:inherit}
.hint{color:var(--mut);font-size:14px}
.grow{flex:1}

/* top bar */
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:2px;padding:calc(env(safe-area-inset-top) + 6px) 8px 6px;background:var(--bg)}
.iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--mut)}
.iconbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.iconbtn:active{background:var(--line)}
.iconbtn.accent{color:var(--accent)}
.dot{width:8px;height:8px;border-radius:50%;margin-left:6px;background:var(--mut);opacity:.5;transition:background .3s}
.dot[data-status=synced]{background:var(--accent);opacity:.9}
.dot[data-status=pending]{background:var(--accent);opacity:.35}
.dot[data-status=signed-out]{background:#e5484d;opacity:1}

.banner{margin:0 16px 8px;padding:10px 14px;border-radius:12px;background:var(--raise);border:1px solid var(--accent);font-size:15px}
main{max-width:720px;margin:0 auto;padding:0 16px 40px}

/* editor */
.note{min-height:calc(100dvh - 120px);display:flex;flex-direction:column}
.editor{flex:1}
.cm-editor{font-size:18px;background:transparent}
.cm-editor.cm-focused{outline:none}
.cm-scroller{font-family:inherit;line-height:1.65}
.cm-content{padding:8px 0 40vh;caret-color:var(--accent)}
.cm-line{padding:0}
.cm-cursor{border-left:2px solid var(--accent)!important}
.cm-selectionBackground,.cm-focused .cm-selectionBackground,::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)!important}
.cm-placeholder{color:var(--mut)}
.cm-tag,.cm-wikilink{color:var(--accent)}
.cm-task{width:18px;height:18px;margin:0 6px 0 0;vertical-align:-3px;accent-color:var(--accent)}
.cm-tooltip{background:var(--raise)!important;border:1px solid var(--line)!important;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.cm-tooltip-autocomplete ul{font-family:inherit!important;max-height:260px!important}
.cm-tooltip-autocomplete ul li{padding:8px 14px!important;font-size:16px}
.cm-tooltip-autocomplete ul li[aria-selected]{background:var(--accent)!important;color:#fff!important}
.cm-completionIcon{display:none}

.meta{padding:16px 0}
.row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0}
.chip,.tag{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:14px;color:var(--fg)}
.tag{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}
.tag.on{background:var(--accent);color:#fff}

/* list */
.list input[type=search]{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--raise);outline:none;font-size:16px}
.list input[type=search]:focus{border-color:var(--accent)}
.tabs{display:flex;gap:16px;margin:14px 2px 8px}
.tabs a{color:var(--mut);font-weight:600;font-size:15px}
.tabs a.on{color:var(--fg)}
.tags{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}
.tags::-webkit-scrollbar{display:none}
.tags .tag{flex:none}
.item{display:block;padding:14px 2px;border-top:1px solid var(--line);color:var(--fg)}
.item .t{font-weight:600;font-size:17px}
.item .s{color:var(--mut);font-size:15px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item .w{color:var(--mut);font-size:13px;margin-top:4px}
.pin{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:2px}
.empty{color:var(--mut);text-align:center;padding:40px 0}

/* dump */
.dumpset{padding-top:16px}
.dumpset h1,.settings h1{font-size:28px;margin:8px 0 6px}
.seg{display:flex;gap:8px;margin:18px 0 12px}
.seg label{flex:1;text-align:center;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:16px}
.seg label:has(input:checked){border-color:var(--accent);color:var(--accent)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.dumpset input[type=number]{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--raise);font-size:20px;outline:none}
.primary,.btn{display:block;width:100%;margin-top:12px;padding:14px;border-radius:12px;text-align:center;font-weight:600;font-size:17px}
.primary{background:var(--accent);color:#fff}
.btn{border:1px solid var(--line);color:var(--fg)}
body.dumping .top,body.dumping .banner{display:none}
.dump{position:fixed;inset:0;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 8px);background:var(--bg)}
.dump .bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.dump .bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
.dump textarea{flex:1;width:100%;max-width:720px;margin:16px auto 0;border:0;outline:none;resize:none;background:transparent;font-size:20px;line-height:1.6;caret-color:var(--accent)}
.dumpfoot{display:flex;justify-content:space-between;align-items:center;max-width:720px;width:100%;margin:0 auto}
.quiet{color:var(--mut);padding:10px}

/* settings */
.settings h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:26px 0 8px}
.swatches{display:flex;gap:10px;flex-wrap:wrap}
.sw{width:40px;height:40px;border-radius:50%;border:3px solid transparent;position:relative}
.sw.on{border-color:var(--fg)}
.sw.custom{background:conic-gradient(#ff6b5b,#f5a524,#7bc94b,#22b8a9,#8b7cf6,#f0559c,#ff6b5b);overflow:hidden}
.sw.custom input{opacity:0;width:100%;height:100%;cursor:pointer}
.field{display:block;margin:10px 0;font-size:16px}
.field input{width:70px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--raise);text-align:center}
.settings form{margin-top:12px}

/* sheet, toast */
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:8px 12px calc(env(safe-area-inset-bottom) + 12px);background:var(--raise);border-top:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.2)}
.sheet button{display:block;width:100%;padding:16px;text-align:left;font-size:17px;border-bottom:1px solid var(--line)}
.sheet button:last-child{border:0}
.sheet .danger{color:#e5484d}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 20px);transform:translateX(-50%);z-index:30;width:max-content;max-width:calc(100vw - 32px);padding:12px 16px;border-radius:14px;background:var(--fg);color:var(--bg);font-size:15px}
.toast a{color:var(--accent);font-weight:600}
[hidden]{display:none!important}
