/* PND Neon Punch: black ground, lime for "go", steel blue for "locked". Single committed dark look. */
:root{
  color-scheme:dark;
  --bg:#000;--surf:#0C0E0B;--surf2:#161A14;--surf3:#232820;--field:#070806;
  --brd:rgba(255,255,255,.12);--brd2:rgba(255,255,255,.22);--brdCtl:rgba(255,255,255,.36);
  --text:#F6F9F0;--text2:#C6CDD5;--text3:#97A1AD;
  --lift:inset 0 1px 0 rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.9),0 12px 32px rgba(0,0,0,.65);
  --edge:inset 0 1px 0 rgba(184,240,0,.22);
  --accent:#b8f000;--onAccent:#000;--rest:#7FB2E5;--ai:#9a8cff;--risk:#f0b000;
  --bull:#36d975;--bear:#ff4d5e;--chartUp:#E8ECE4;--chartDn:#55606C;--grid:rgba(255,255,255,.05);
  --substack:#FF6719;
  --glow:0 0 0 1px rgba(184,240,0,.45),0 0 18px rgba(184,240,0,.28),0 0 46px rgba(184,240,0,.10);
  --glowSoft:0 0 0 1px rgba(184,240,0,.22),0 0 26px rgba(184,240,0,.08);
  --font:"IBM Plex Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --serif:"IBM Plex Serif",Georgia,serif;
  --r:8px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);min-height:100vh;
  background-image:radial-gradient(900px 520px at 6% -8%,rgba(184,240,0,.12),transparent 60%),radial-gradient(800px 600px at 100% 35%,rgba(54,217,117,.06),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(184,240,0,.05),transparent 60%);background-attachment:fixed;
  padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 48px max(16px,env(safe-area-inset-left,0px))}
body.locked{background-image:radial-gradient(700px 400px at 50% -5%,rgba(127,178,229,.14),transparent 65%)}
.wrap{max-width:860px;margin:0 auto}
.wrap.narrow{max-width:520px}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
a{color:var(--accent)}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.meta{font-family:var(--mono);font-size:11px;color:var(--text3)}
.label{font-size:12px;color:var(--text2);font-weight:600}
.pos{color:var(--bull)}.neg{color:var(--bear)}

/* Top bar */
.topbar{display:flex;align-items:center;gap:12px;padding-block:16px 14px;margin-bottom:26px;position:sticky;top:0;z-index:5;background:linear-gradient(rgba(0,0,0,.92),rgba(0,0,0,.78));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(184,240,0,.5),rgba(255,255,255,.12) 40%,transparent)}
.brand{font-family:var(--mono);font-weight:700;letter-spacing:-.5px;font-size:16px;text-decoration:none;color:var(--text)}
.brand em{font-style:normal;color:var(--accent);text-shadow:0 0 14px rgba(184,240,0,.5)}
.topbar nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.topbar nav a{font-size:13px;color:var(--text2);text-decoration:none;border:1px solid var(--brd2);border-radius:7px;padding:5px 12px;background:linear-gradient(var(--surf2),var(--surf));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.topbar nav a:hover{color:var(--text);border-color:var(--brdCtl)}
.topbar nav a.on{color:var(--text);border-color:rgba(184,240,0,.6);box-shadow:var(--glowSoft),inset 0 1px 0 rgba(184,240,0,.2)}
.badge{font-family:var(--mono);font-size:10px;font-weight:700;border-radius:4px;padding:2px 6px;border:1px solid;white-space:nowrap}
.b-pre,.b-off{color:var(--text3);border-color:var(--brdCtl)}
.b-breathing{color:var(--text);border-color:var(--text)}
.b-live{color:var(--onAccent);background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(184,240,0,.6)}
.b-locked{color:#00121F;background:var(--rest);border-color:var(--rest)}

/* Blocks */
.hd{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.hd h1{font-size:24px}
.progress{display:flex;align-items:center;gap:10px}
.bar{width:140px;height:6px;border-radius:3px;background:var(--surf3);overflow:hidden}
.bar span{display:block;height:100%;background:var(--accent);box-shadow:0 0 12px rgba(184,240,0,.8);transition:width .3s}
.note{display:flex;gap:10px;align-items:center;border:1px solid var(--brd2);border-radius:var(--r);padding:10px 12px;margin-bottom:16px;font-size:13px;color:var(--text2);background:var(--surf)}
.note.warn{border-color:rgba(240,176,0,.55)}
.items{display:grid;border:1px solid var(--brd2);border-radius:12px;overflow:hidden;box-shadow:var(--lift)}
.item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:12px;padding:16px;border-top:1px solid var(--brd);align-items:start;background:linear-gradient(170deg,var(--surf),#080907)}
.item:first-child{border-top:0}
.item.todo{background:linear-gradient(170deg,var(--surf2),var(--surf) 70%);box-shadow:inset 3px 0 0 var(--accent),inset 30px 0 40px -30px rgba(184,240,0,.18)}
.tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--brdCtl);display:grid;place-items:center;margin-top:1px;color:var(--onAccent)}
.tick.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px rgba(184,240,0,.6)}
.t1{font-weight:600}
.t2{font-size:13px;color:var(--text2)}
.tag{font-family:var(--mono);font-size:10px;color:var(--text3);white-space:nowrap}
.stack{display:grid;gap:8px;min-width:0}
.scale{display:grid;grid-template-columns:56px auto;gap:10px;align-items:center;justify-items:start}
.evt{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;font-size:13px;padding:5px 0;border-top:1px dashed var(--brd)}
.evt:first-child{border-top:0}
.card{border:1px solid var(--brd2);border-radius:12px;padding:16px;background:linear-gradient(170deg,var(--surf2) 0%,var(--surf) 55%,#080907 100%);display:grid;gap:12px;box-shadow:var(--lift)}
.card.lit{border-color:rgba(184,240,0,.45);box-shadow:var(--edge),var(--glowSoft),0 12px 32px rgba(0,0,0,.65)}
.card.aicard{border-color:rgba(154,140,255,.45);background:linear-gradient(170deg,rgba(154,140,255,.10),var(--surf) 60%)}
.card>.sec{margin-top:0}
.empty{color:var(--text3);font-size:13px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}

/* Controls */
.btn{font-size:13px;border-radius:7px;padding:8px 14px;border:1px solid var(--brd2);background:linear-gradient(var(--surf2),var(--surf));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.8);color:var(--text2);cursor:pointer;min-height:36px;display:inline-flex;gap:6px;align-items:center;justify-content:center;text-decoration:none}
.btn:hover{color:var(--text);border-color:var(--brdCtl)}
.btn.pri{background:linear-gradient(#c8ff1a,#a8dc00);color:var(--onAccent);border-color:#c8ff1a;font-weight:700;box-shadow:var(--glow),inset 0 1px 0 rgba(255,255,255,.45)}
.btn.pri:hover{filter:brightness(1.06);color:var(--onAccent)}
.btn.sm{font-size:12px;padding:4px 10px;min-height:28px}
.btn.rest{border-color:var(--rest);color:var(--text)}
.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.segs{display:inline-flex;justify-self:start;border:1px solid var(--brdCtl);border-radius:8px;overflow:hidden;flex-wrap:wrap;background:var(--field);box-shadow:inset 0 1px 3px rgba(0,0,0,.8)}
.segs button{font-size:13px;padding:7px 14px;color:var(--text2);border:0;border-left:1px solid var(--brd);background:transparent;cursor:pointer;min-width:42px}
.segs button:hover{color:var(--text);background:rgba(255,255,255,.04)}
.segs button:first-child{border-left:0}
.segs button.on{background:rgba(184,240,0,.16);color:var(--text);box-shadow:inset 0 0 0 1px rgba(184,240,0,.65),0 0 16px rgba(184,240,0,.25)}
.segs.r button.on{background:rgba(127,178,229,.16);box-shadow:inset 0 0 0 1px rgba(127,178,229,.65)}
input[type=text],input[type=url],input[type=number],input[type=password],textarea{width:100%;border:1px solid var(--brd2);border-radius:8px;padding:10px 12px;background:var(--field);min-height:40px;box-shadow:inset 0 1px 3px rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.04)}
input::placeholder,textarea::placeholder{color:#6F7883}
textarea{min-height:110px;resize:vertical;line-height:1.55}
input:focus,textarea:focus{outline:none;border-color:rgba(184,240,0,.6);box-shadow:0 0 0 3px rgba(184,240,0,.12)}
.field{display:grid;gap:6px}
.err{color:var(--bear);font-size:13px}
.ok{color:var(--accent);font-size:13px}

/* Plan */
.tabs{display:flex;border-bottom:1px solid var(--brd);margin-bottom:16px}
.tabs button{padding:10px 14px;font-size:14px;color:var(--text3);border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}
.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}
.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.shot{display:grid;gap:4px}
.shot .im{aspect-ratio:16/10;border-radius:10px;border:1px solid var(--brd2);overflow:hidden;background:var(--field);position:relative;box-shadow:var(--lift)}
.shot .im img{width:100%;height:100%;object-fit:cover;display:block}
a.shot{text-decoration:none;color:inherit}
.shot .x{position:absolute;right:4px;top:4px;background:rgba(0,0,0,.75);border:1px solid var(--brd2);color:var(--text2);border-radius:4px;font-size:11px;padding:0 6px;cursor:pointer}
.shot input{font-size:12px;min-height:30px;padding:5px 8px}
.drop{aspect-ratio:16/10;border-radius:10px;border:1px dashed rgba(184,240,0,.6);display:grid;place-items:center;text-align:center;color:var(--text2);font-size:13px;padding:8px;cursor:pointer;background:radial-gradient(circle at 50% 40%,rgba(184,240,0,.08),transparent 70%),var(--field);box-shadow:inset 0 0 24px rgba(184,240,0,.06)}
.drop:hover{border-color:var(--accent);color:var(--text)}
.drop.hot{background:rgba(184,240,0,.08)}
.or{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--text3)}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--brd)}
.post{border:1px solid rgba(255,103,25,.5);border-radius:var(--r);padding:12px;display:grid;gap:8px;background:rgba(255,103,25,.05)}

/* Breathe */
.breathe{display:grid;place-items:center;gap:18px;padding-block:40px;text-align:center}
.box{width:180px;height:180px;border:2px solid var(--brd2);border-radius:16px;position:relative}
.box .dot{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px rgba(184,240,0,.9);top:-9px;left:-9px;animation:trace 16s linear infinite}
@keyframes trace{0%{top:-9px;left:-9px}25%{top:-9px;left:calc(100% - 7px)}50%{top:calc(100% - 7px);left:calc(100% - 7px)}75%{top:calc(100% - 7px);left:-9px}100%{top:-9px;left:-9px}}
.box .ph{position:absolute;inset:0;display:grid;place-items:center;font-weight:600}
.timer{font-family:var(--mono);font-size:44px;font-weight:600;letter-spacing:-1px}
@media (prefers-reduced-motion:reduce){.box .dot{animation:none}}

/* Lock */
.lockpage{display:grid;place-items:center;text-align:center;gap:18px;padding-block:56px 30px}
.lockpage h1{font-family:var(--mono);font-size:34px;letter-spacing:-1px}
.until{font-family:var(--mono);font-size:16px;color:var(--rest);text-shadow:0 0 14px rgba(127,178,229,.5)}
.alts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;width:min(560px,100%)}
.alts a,.alts div{border:1px solid var(--brd2);border-radius:12px;padding:14px;display:grid;gap:4px;align-content:start;text-align:left;background:linear-gradient(170deg,var(--surf2),var(--surf) 60%);box-shadow:var(--lift);text-decoration:none;color:var(--text)}
.alts a:hover{border-color:rgba(127,178,229,.6)}
.alts span{font-size:12px;color:var(--text2)}
.hold{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--rest);padding:12px 18px;font-weight:700;color:var(--text);background:rgba(127,178,229,.08);cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none}
.hold i{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(127,178,229,.3)}
.hold span{position:relative}

/* Live */
.live{display:grid;gap:14px}
.kv{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.kv>span:first-child{color:var(--text2)}

/* Review */
.day-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.day-h h1{font-family:var(--mono);font-size:30px;letter-spacing:-1px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.pill{font-family:var(--mono);font-size:11px;border:1px solid var(--brd2);border-radius:999px;padding:1px 9px;color:var(--text2);white-space:nowrap}
.pill.ok{border-color:rgba(184,240,0,.5);color:var(--text)}
.pill.rst{border-color:rgba(127,178,229,.6);color:var(--text)}
.pill.ss{border-color:rgba(255,103,25,.6);color:var(--text)}
.sec{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--accent);text-shadow:0 0 12px rgba(184,240,0,.5);margin:28px 0 10px}
.sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(184,240,0,.45),transparent)}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:14px}
.summary div{border:1px solid var(--brd2);border-radius:10px;padding:10px 12px;display:grid;gap:2px;background:linear-gradient(170deg,var(--surf2),var(--surf));box-shadow:var(--lift)}
.summary .v{font-family:var(--mono);font-size:18px;font-weight:700}
.tcard{border:1px solid var(--brd2);border-radius:12px;overflow:hidden;background:linear-gradient(170deg,var(--surf2),var(--surf) 60%);box-shadow:var(--lift)}
.tcard svg{display:block;width:100%;height:auto;background:var(--bg);border-bottom:1px solid var(--brd)}
.tcard .b{padding:12px;display:grid;gap:8px}
.tcard .hdr{display:flex;justify-content:space-between;gap:8px;font-weight:600}
.see{font-size:13px;color:var(--text2)}
.ai{color:var(--ai);font-weight:600}
.dl{display:grid;grid-template-columns:76px minmax(0,1fr) 70px;gap:10px;padding:12px 14px;border:1px solid var(--brd2);border-radius:10px;align-items:center;text-decoration:none;color:var(--text);background:linear-gradient(170deg,var(--surf2),var(--surf));box-shadow:var(--lift);margin-bottom:8px}
.dl:hover{border-color:rgba(184,240,0,.5)}
.dl .s{color:var(--text2);font-size:13px;min-width:0}
.dl .s b{display:block;color:var(--text)}
.dl .p{text-align:right;font-family:var(--mono);font-weight:600}
.prose{white-space:pre-wrap;line-height:1.6}

@media (max-width:640px){.grid2{grid-template-columns:1fr}.hd h1{font-size:21px}}
