/* WORKSTATION - calm terminal look, large text. No external assets. */
@font-face{font-family:'JetBrains Mono';font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/jbmono-400.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/jbmono-700.woff2) format('woff2')}

:root{
  --bg:#030a05; --surface:#06150b; --surface2:#0b2214; --line:#1f7a46; --line2:#00c050;
  --tx:#dcf7e7; --mut:#a5d6b8; --acc:#00ff66; --link:#4dd8ff; --warn:#ffb020; --bad:#ff6b7a; --ink:#021008;
  --mono:'JetBrains Mono','DejaVu Sans Mono','Cascadia Mono',Consolas,'Liberation Mono',monospace;
  --bw:2px; --fs:21px; color-scheme:dark;
}
:root[data-theme="amber"]{ --bg:#0c0700; --surface:#170f00; --surface2:#241800; --line:#8a5c00; --line2:#d89000; --tx:#ffecc4; --mut:#e8c47a; --acc:#ffb000; --link:#ffd98a; --warn:#ff8a3d; --bad:#ff7a66; --ink:#120a00; }
:root[data-theme="white"]{ --bg:#000; --surface:#0d0d0d; --surface2:#1a1a1a; --line:#777; --line2:#c8c8c8; --tx:#fff; --mut:#d4d4d4; --acc:#fff; --link:#a5d4ff; --warn:#ffd070; --bad:#ff8c8c; --ink:#000; }
:root[data-contrast="1"]{ --bw:3px; --tx:#fff; --mut:#fff; --line:var(--acc); --line2:var(--acc); }

*{box-sizing:border-box}
html{background:var(--bg);font-size:var(--fs);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:400 1rem/1.55 var(--mono);overflow-wrap:anywhere}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--link)}
h1,h2,h3,h4{font-weight:700;margin:0}
.vh{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;margin:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--acc);color:var(--ink);padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--link);outline-offset:3px}
[hidden]{display:none!important}
.wrap{max-width:1180px;margin:0 auto;padding:12px 16px 80px}

/* header */
.top{border:var(--bw) solid var(--line2);background:var(--surface);padding:12px 16px;margin-bottom:14px}
.logo{margin:0;font:400 min(16px,calc((100vw - 90px)/91/.6)) / 1.05 var(--mono);color:var(--acc);white-space:pre;overflow:hidden;display:none}
.logo-s{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:.06em;color:var(--acc);white-space:nowrap}
.hline{margin-top:6px;color:var(--mut);display:flex;flex-wrap:wrap;gap:4px 16px}
@media (min-width:1000px){.logo{display:block}.logo-s{display:none}}

/* nav */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.tabs li{display:contents}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:max(48px,2.4rem);padding:.3rem .9rem;background:transparent;border:var(--bw) solid var(--line2);color:var(--acc);cursor:pointer;text-decoration:none;text-align:center;letter-spacing:.03em;border-radius:0;line-height:1.25}
.btn:hover:not([disabled]){background:var(--surface2)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.primary{background:var(--acc);color:var(--ink);font-weight:700}
.btn.primary:hover:not([disabled]){background:var(--acc);filter:brightness(1.12)}
.btn.warn{border-color:var(--warn);color:var(--warn)}
.btn.bad{border-color:var(--bad);color:var(--bad)}
.btn.bad.armed{background:var(--bad);color:var(--ink);font-weight:700}
.btn[aria-current="page"],.btn[aria-pressed="true"]{background:var(--surface2);border-color:var(--acc);box-shadow:inset 0 -5px 0 var(--acc)}
.btn.big{font-size:1.35rem;min-height:3.6rem;padding:.5rem 1.4rem}
.btn.link{border-color:var(--link);color:var(--link)}
.tabs .btn{flex:0 0 auto}
@media (max-width:640px){.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs .btn{width:100%}}

/* frames */
.frame{border:var(--bw) solid var(--line2);background:var(--surface);padding:16px;margin-bottom:16px;min-width:0}
.ft{color:var(--acc);letter-spacing:.08em;font-size:1.15rem;margin-bottom:12px}
.ft::before{content:"[ "}.ft::after{content:" ]"}
.rule{border:0;border-top:var(--bw) dashed var(--line);margin:14px 0}
.mut{color:var(--mut)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.row.end{justify-content:flex-end}
.sp{flex:1 1 12px}
.stack{display:flex;flex-direction:column;gap:12px}
.status{border:var(--bw) solid var(--line);padding:.5rem .9rem;margin-bottom:14px;min-height:2.6rem;color:var(--mut)}
.status.ok{border-color:var(--acc);color:var(--acc)}
.status.err{border-color:var(--bad);color:var(--bad)}
.notice{border:var(--bw) solid var(--warn);color:var(--warn);padding:.6rem .9rem;margin-bottom:14px}
.chip{display:inline-block;border:1px solid var(--line2);color:var(--mut);padding:0 .45em;margin:2px 6px 2px 0;line-height:1.5}
.pill{display:inline-block;border:var(--bw) solid var(--c,var(--line2));color:var(--c,var(--mut));padding:0 .5em;letter-spacing:.06em;line-height:1.45}
.pill.NOW{--c:var(--acc)}.pill.LATER{--c:var(--link)}.pill.DONE{--c:var(--mut)}

/* forms */
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.fld>span{color:var(--mut);letter-spacing:.05em}
input[type=text],input[type=search],input[type=url],input[type=password],input[type=date],select,textarea{width:100%;min-height:max(48px,2.4rem);background:var(--bg);border:var(--bw) solid var(--line2);color:var(--tx);padding:.4rem .6rem;border-radius:0}
textarea{resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:var(--mut);opacity:.75}
.chk{display:flex;align-items:center;gap:.6rem;min-height:48px;cursor:pointer}
.chk input{width:1.4rem;height:1.4rem;accent-color:var(--acc)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:12px}
.file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.file:focus-visible+label,label.btn:focus-within{outline:3px solid var(--link);outline-offset:3px}

/* today */
.today .now{font-size:clamp(1.7rem,6.2vw,3rem);font-weight:700;line-height:1.2;margin:8px 0 12px;color:var(--tx)}
.today .tnotes{font-size:1.15rem;color:var(--mut);white-space:pre-wrap;margin-bottom:14px}
.today .empty{font-size:1.5rem;margin:8px 0 16px}
.queue{margin:6px 0 0;padding-left:0;list-style:none;color:var(--mut)}
.queue li{padding:.35rem 0;border-top:1px dashed var(--line)}
.queue li::before{content:"> ";color:var(--acc)}
.insp{border:var(--bw) dashed var(--line);padding:12px 16px;margin-top:8px;color:var(--mut)}
.insp .q{font-size:1.15rem;color:var(--tx)}
.insp img{max-width:100%;max-height:14rem;display:block;margin:6px 0;border:1px solid var(--line)}

/* lists */
.items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.item{border:var(--bw) solid var(--line);background:var(--bg);min-width:0}
.item.open{border-color:var(--acc)}
.item .head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:0}
.item .tbtn{flex:1 1 14rem;min-width:0;text-align:left;background:transparent;border:0;padding:.5rem .8rem;min-height:max(48px,2.4rem);cursor:pointer;color:var(--tx);font-weight:700}
.item .tbtn:hover{background:var(--surface2)}
.item .meta{padding:0 .8rem .1rem;color:var(--mut)}
.item .body{padding:12px;border-top:var(--bw) dashed var(--line);display:flex;flex-direction:column;gap:12px}
.group-h{margin:18px 0 8px;color:var(--acc);letter-spacing:.08em}
.group-h::before{content:"-- "}.group-h::after{content:" --"}
.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:12px}
.bar .fld{flex:1 1 12rem}

/* launcher */
.launch{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:12px}
.lbtn{display:flex;flex-direction:column;gap:6px;border:var(--bw) solid var(--line2);background:var(--bg);color:var(--tx);text-decoration:none;padding:14px 16px;min-height:6.5rem;text-align:left;cursor:pointer;min-width:0}
.lbtn:hover{background:var(--surface2);border-color:var(--acc)}
.lbtn .l{font-size:1.35rem;font-weight:700;color:var(--acc)}
.lbtn .u{color:var(--mut)}
.lbtn .n{color:var(--tx)}
.vault-big{display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(1.5rem,5vw,2.4rem);font-weight:700;min-height:8rem;border:var(--bw) solid var(--acc);color:var(--acc);text-decoration:none;background:var(--bg);padding:16px}
.vault-big:hover{background:var(--surface2)}

/* notes */
.notes-grid{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:16px;align-items:start}
.notes-grid .nlist{min-width:0}
@media (max-width:900px){.notes-grid{grid-template-columns:minmax(0,1fr)}.notes-grid.has-sel .nlist{display:none}.notes-grid:not(.has-sel) .neditor{display:none}}
.ncard{display:block;width:100%;text-align:left;background:var(--bg);border:var(--bw) solid var(--line);padding:.6rem .8rem;cursor:pointer;color:var(--tx);min-height:max(48px,2.4rem)}
.ncard:hover{background:var(--surface2)}
.ncard[aria-current="true"]{border-color:var(--acc)}
.ncard .t{font-weight:700;display:block}
.ncard .s{color:var(--mut);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md{line-height:1.6;min-height:10rem;border:var(--bw) solid var(--line);padding:12px;background:var(--bg)}
.md h1,.md h2,.md h3{color:var(--acc);margin:.8em 0 .3em}
.md p,.md ul,.md ol,.md blockquote,.md pre{margin:.5em 0}
.md blockquote{border-inline-start:4px solid var(--line2);padding-inline-start:12px;color:var(--mut)}
.md code{background:var(--surface2);padding:0 .3em}
.md pre{background:var(--surface2);padding:10px;overflow:auto;white-space:pre-wrap}
.md img{max-width:100%;height:auto;border:1px solid var(--line)}
.md hr{border:0;border-top:var(--bw) dashed var(--line)}
.att{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px dashed var(--line);padding-top:10px}
.att img{max-height:4.5rem;max-width:8rem;border:1px solid var(--line)}
.drop{outline:3px dashed var(--acc);outline-offset:-6px}

/* mail */
.mrow .head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,.7fr) auto;gap:4px 12px;align-items:center}
.mrow .tbtn{flex:initial}
.mrow .addr{color:var(--mut);padding:0}
.mrow .prov{color:var(--mut)}
@media (max-width:760px){.mrow .head{grid-template-columns:minmax(0,1fr);gap:2px}.mrow .addr,.mrow .prov{padding:0 .8rem}.mrow .head .open{max-width:none;margin:4px .8rem 8px;text-align:center}.mrow .head .nolink{padding:0 .8rem 8px}}

/* focus */
body.focus .top,body.focus .tabs{display:none}
.focus-view{min-height:80vh;display:flex;flex-direction:column;gap:18px;justify-content:center}
.focus-view .now{font-size:clamp(2rem,7vw,3.6rem);font-weight:700;line-height:1.2}
.focus-view textarea{min-height:12rem}
.timer{font-size:clamp(2rem,8vw,3.5rem);font-weight:700;color:var(--acc);font-variant-numeric:tabular-nums}

table{border-collapse:collapse;width:100%}
th,td{border-bottom:1px solid var(--line);padding:.4rem .6rem;text-align:left;vertical-align:top}
th{color:var(--mut);font-weight:400}
kbd{border:var(--bw) solid var(--line2);padding:0 .5em;color:var(--acc);background:var(--bg)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px}.kv dt{color:var(--mut)}.kv dd{margin:0}
:root[data-motion="reduce"] *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.dim-note{color:var(--mut)}
.mrow .open{margin:3px;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;line-height:2.4rem;padding-top:0;padding-bottom:0}
.mrow .nolink{color:var(--mut);padding:0 .8rem}
h2[tabindex="-1"]:focus,h3[tabindex="-1"]:focus,#main:focus{outline:none}
