@font-face{font-family:Outfit;src:url(/fonts/outfit.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{--wrap:1120px;--pad:clamp(16px,5vw,32px);--grad:linear-gradient(100deg,#f5900d 0%,#e8542f 32%,#a03a8f 62%,#12aee1 100%);
  --display:Outfit,system-ui,sans-serif;--text:Manrope,system-ui,sans-serif;--r:18px;--rs:12px}
body{--bg:#000;--panel:#0b0b0b;--panel2:#141414;--line:#232323;--body:#eaeaea;--dim:#9b9b9b;--head:#fff;
  --orange:#f5900d;--orangeink:#f5900d;--cyan:#12aee1;--pos:#3ddc84;--neg:#ff5a4f;--onorange:#000;--shade:rgba(0,0,0,.7);--glow:0 0 14px rgba(245,144,13,.28);--gridline:rgba(245,144,13,.07)}
body.light{--bg:#f7f4ee;--panel:#fff;--panel2:#efebe3;--line:#ddd7cb;--body:#26231e;--dim:#6f695d;--head:#0d0c0a;
  --orange:#e07f00;--orangeink:#a85a00;--cyan:#0b7fa5;--pos:#0f8a4a;--neg:#c4281c;--onorange:#fff;--shade:rgba(20,15,5,.45);--glow:none;--gridline:rgba(160,90,0,.07)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--body);font:15px/1.5 var(--text);min-height:100vh}
button{font:inherit;color:inherit}
.hidden{display:none!important}
header.top{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line);
  background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:28px 28px}
header.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad);opacity:.85}
@media(min-width:860px){nav.bottom{left:50%;right:auto;transform:translateX(-50%);width:560px;border:1px solid var(--line);border-bottom:0}}
.bar{max-width:var(--wrap);margin:0 auto;padding:calc(12px + env(safe-area-inset-top)) var(--pad) 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{font:700 22px/1 var(--display);color:var(--head);letter-spacing:-.01em}
.brand b{color:var(--orangeink);font-weight:700}
.mark{display:inline-block;width:22px;height:22px;vertical-align:-4px;margin-right:9px}
.btn-o{border-radius:var(--rs)!important;border:1px solid var(--orange);background:transparent;color:var(--orangeink);font:700 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;padding:11px 15px;border-radius:var(--r);box-shadow:var(--glow);cursor:pointer}
.btn-o.solid{background:var(--orange);color:var(--onorange)}
.btn-o.quiet{border-color:var(--line);color:var(--body);box-shadow:none}
.btn-o.danger{border-color:var(--neg);color:var(--neg);box-shadow:none}
nav.bottom{border-radius:24px 24px 0 0;position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
nav.bottom::before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:2px;background:var(--grad);opacity:.85;border-radius:2px}
nav.bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:58px;text-decoration:none;color:var(--dim);font:700 11px/1 var(--text);letter-spacing:.06em;position:relative}
nav.bottom a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:square}
nav.bottom a.on{color:var(--orangeink)}
nav.bottom a.on::after{content:"";position:absolute;top:3px;left:26%;right:26%;height:3px;background:var(--orange);border-radius:3px}
.addfab{border-radius:999px!important;position:fixed;right:var(--pad);bottom:calc(58px + env(safe-area-inset-bottom) + 14px);z-index:21;padding:14px 18px;box-shadow:0 6px 18px rgba(0,0,0,.45),var(--glow)}
.morelist a{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 14px;margin-bottom:8px;text-decoration:none;color:var(--head);font:700 18px var(--display)}
.morelist a span{font:700 11px var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
main{max-width:var(--wrap);margin:0 auto;padding:22px var(--pad) calc(150px + env(safe-area-inset-bottom))}
.eyebrow{font:800 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin:0 0 10px}
h1.page{font:800 clamp(30px,8vw,44px)/1.05 var(--display);color:var(--orangeink);margin:0 0 6px;letter-spacing:-.02em}
.lede{color:var(--dim);margin:0 0 20px;max-width:56ch}
h2.sec{display:flex;align-items:baseline;justify-content:space-between;font:800 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--head);margin:30px 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
h2.sec span{color:var(--dim);font-weight:700;letter-spacing:.1em}
.cols{display:block}
@media(min-width:860px){.cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}}
.row{display:flex;gap:13px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;margin-bottom:8px;cursor:pointer}
.row.mit{box-shadow:inset 4px 0 0 var(--orange)}
.row:active{background:var(--panel2)}
.chk{flex:0 0 26px;height:26px;border:2px solid var(--orange);border-radius:9px;margin-top:1px;position:relative;background:transparent;padding:0;cursor:pointer}
.row.done .chk{background:var(--orange)}
.row.done .chk::after{content:"";position:absolute;left:7px;top:2px;width:6px;height:12px;border:solid var(--onorange);border-width:0 3px 3px 0;transform:rotate(45deg)}
.rb{flex:1;min-width:0}
.rt{font:700 16px/1.3 var(--display);color:var(--head);letter-spacing:.005em;overflow-wrap:anywhere}
.mit .rt{font-size:18px}
.row.done .rt{color:var(--dim);text-decoration:line-through}
.rm{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font:700 11px/1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.rm .a{color:var(--cyan)}.rm .t{color:var(--orangeink)}
.rd{margin-top:6px;color:var(--dim);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.empty{color:var(--dim);font-size:14px;border:1px dashed var(--line);border-radius:var(--r);padding:18px 14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.tile{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px;color:var(--body)}
.tile b{display:block;font:800 26px/1 var(--display);color:var(--head)}
.tile span{font:800 10px/1 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.clear{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.chips{display:flex;gap:8px;overflow-x:auto;margin:0 0 14px;scrollbar-width:none}
.chip{flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--dim);border-radius:999px;padding:8px 12px;font:700 11px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.chip.on{border-color:var(--orange);color:var(--orangeink)}
.stage{font:800 10px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);padding:5px 9px;border-radius:999px}
.stage.s-Exploring{border-color:var(--orange);color:var(--orangeink)}.stage.s-Spark{border-color:var(--cyan);color:var(--cyan)}
.stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.stat span{display:block;font:800 10px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.stat b{font:800 20px/1 var(--display);color:var(--head)}
.pos{color:var(--pos)!important}.neg{color:var(--neg)!important}
table.pt{width:100%;border-collapse:collapse;margin-top:8px;font-size:13px}
table.pt th{font:800 10px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:left;padding:4px 6px 6px 0}
table.pt td{padding:5px 6px 5px 0;border-top:1px solid var(--line)}
.set{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:10px}
.set h3{margin:0 0 4px;font:700 17px var(--display);color:var(--head)}
.set p{margin:0 0 12px;color:var(--dim);font-size:13px}
.set .line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.set .btns{display:flex;gap:8px;flex-wrap:wrap}
/* sheet */
#shade{position:fixed;inset:0;background:var(--shade);z-index:30;display:none}
#sheet{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--panel);border:1px solid var(--line);border-bottom:0;border-top:2px solid var(--orange);border-radius:26px 26px 0 0;max-width:600px;margin:0 auto;padding:16px 18px calc(18px + env(safe-area-inset-bottom));display:none;max-height:90vh;overflow-y:auto}
#sheet h2{font:800 20px var(--display);color:var(--head);margin:0 0 6px}
#sheet label{display:block;font:800 10px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:14px 0 6px}
#sheet input,#sheet textarea,#sheet select{width:100%;background:var(--bg);color:var(--head);border:1px solid var(--line);border-radius:var(--rs);padding:11px 12px;font:15px var(--text)}
#sheet textarea{min-height:70px;resize:vertical}
#sheet input:focus,#sheet textarea:focus,#sheet select:focus,#pin:focus{outline:none;border-color:var(--orange)}
.sheetbtns{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.sheetbtns .btn-o{flex:1}
#login{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px;
  background-image:linear-gradient(var(--gridline) 1px,transparent 1px),linear-gradient(90deg,var(--gridline) 1px,transparent 1px);background-size:28px 28px}
#login .box{width:100%;max-width:340px}
#login h1{font:800 44px/1 var(--display);color:var(--head);margin:0 0 6px;letter-spacing:-.02em}
#login h1 b{color:var(--orangeink)}
#login p{color:var(--dim);margin:0 0 18px}
#pin{width:100%;background:var(--panel);color:var(--head);border:1px solid var(--line);border-radius:var(--rs);padding:14px;font:700 24px var(--display);letter-spacing:.4em;text-align:center}
#loginerr{color:var(--neg);font-size:13px;min-height:20px;margin:8px 0}
#login .btn-o{width:100%;margin-top:8px;padding:15px}
.toast{border-radius:999px!important;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(140px + env(safe-area-inset-bottom));z-index:60;background:var(--head);color:var(--bg);padding:10px 16px;border-radius:var(--r);font-weight:700;font-size:13px}

.row.arch{opacity:.65;border-style:dashed}
.search{position:relative;margin:0 0 14px}
.search svg{position:absolute;left:14px;top:50%;width:19px;height:19px;margin-top:-9.5px;fill:none;stroke:var(--dim);stroke-width:2;stroke-linecap:round;pointer-events:none}
.search input{width:100%;background:var(--panel);color:var(--head);border:1px solid var(--line);border-radius:999px;padding:13px 16px 13px 42px;font:15px var(--text)}
.search input:focus{outline:none;border-color:var(--orange)}
.hact{display:flex;align-items:center;gap:10px}
.iconbtn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:999px;color:var(--head);background:var(--panel)}
.iconbtn.on{border-color:var(--orange);color:var(--orangeink)}
.iconbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.dnav{display:none}.dadd{display:none}
@media(min-width:860px){
  nav.bottom,.addfab{display:none!important}
  .dnav{display:flex;gap:4px;margin:0 auto 0 28px;flex:1}
  .dnav a{padding:9px 14px;border-radius:999px;font:700 14px/1 var(--text);color:var(--head);text-decoration:none}
  .dnav a:hover{background:var(--panel2)}
  .dnav a.on{background:var(--panel2);color:var(--orangeink)}
  .dadd{display:inline-block}
  main{padding-bottom:60px}
  #sheet{bottom:auto;top:50%;transform:translateY(-50%);border-radius:24px;border:1px solid var(--line);border-top:2px solid var(--orange);max-height:86vh}
  .toast{bottom:30px}
}
.search input::-webkit-search-cancel-button{-webkit-appearance:none}

.row.cal{cursor:default}
.row.cal .when{flex:0 0 78px;font:800 12px/1.3 var(--text);letter-spacing:.04em;color:var(--orangeink);padding-top:3px}
.calchip{display:inline-flex;align-items:center;gap:6px;color:var(--head)}
.calchip i{width:9px;height:9px;border-radius:50%;display:inline-block}

.cdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:0}
.calnav{display:flex;align-items:center;gap:8px;margin:4px 0 12px}
.calnav .caltitle{flex:1;font:800 22px var(--display);color:var(--head)}
.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mdow{font:800 10px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:center;padding:4px 0 6px}
.mday{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:58px;padding:6px 3px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:var(--body);overflow:hidden}
.mday.out{opacity:.4}
.mday .dn{font:700 14px/1 var(--display);color:var(--head)}
.mday.today .dn{background:var(--orange);color:var(--onorange);border-radius:999px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin:-3px 0}
.mday.sel{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset}
.mday .dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:100%}
.mday .dots i{width:6px;height:6px;border-radius:50%;display:block}
.mday .dots b{font:800 9px/6px var(--text);color:var(--dim)}
.mday .evs{display:none}
.wgrid{display:block}
.empty.slim{padding:8px 14px;font-size:13px;margin-bottom:8px}
@media(min-width:860px){
  .mgrid{gap:6px}
  .mday{min-height:104px;align-items:stretch;padding:8px;gap:5px;text-align:left}
  .mday .dots{display:none}
  .mday .evs{display:flex;flex-direction:column;gap:3px}
  .mday .dn{align-self:flex-start}
  .mev{font:600 11px/1.25 var(--text);border-left:3px solid;padding:2px 5px;background:var(--panel2);border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--head)}
  .mmore{font:700 10px var(--text);color:var(--dim)}
  .wgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:start}
  .wgrid .wday .sec{font-size:10px;letter-spacing:.1em;flex-direction:column;gap:4px;margin-top:6px}
  .wgrid .row.cal{flex-direction:column;gap:6px}
  .wgrid .row.cal .when{flex:none}
}
