/* Hilo de Algodón tasks. Mobile first; wider layouts added at 700px and 1000px. */
:root{
  --bg:#f5f1ea;--paper:#fbf9f5;--card:#ffffff;--ink:#1f1c19;--soft:#4a453d;--mute:#6a6359;--line:#e0d8cb;--line2:#c9bfaf;--gold:#8f7545;--tile:transparent;
  --todo:#7d776c;--todo-bg:#ebe5da;--doing:#a0731a;--doing-bg:#f3e6c8;--done:#4a7556;--done-bg:#dce9de;
  --high:#a63f2a;--high-bg:#f3d9d1;--normal:#6f6a60;--normal-bg:#ebe5da;--low:#3f6788;--low-bg:#dbe6ef;
  --k-sand:#efe6d3;--k-rose:#f3d9d1;--k-sage:#dce9de;--k-sky:#dbe6ef;--k-gold:#f3e6c8;
  --shadow:0 8px 30px rgba(31,28,25,.12);
  --safe-b:env(safe-area-inset-bottom,0px);
}
:root[data-theme=dark]{
  --bg:#161412;--paper:#1e1b18;--card:#262220;--ink:#ede7dc;--soft:#cfc7b9;--mute:#a0978a;--line:#35302a;--line2:#4d463d;--gold:#c9a86a;--tile:#efe9de;
  --todo:#b5ad9f;--todo-bg:#2e2a25;--doing:#e0b253;--doing-bg:#3a2f17;--done:#7fb38c;--done-bg:#1e3024;
  --high:#e58a74;--high-bg:#3d221c;--normal:#b5ad9f;--normal-bg:#2e2a25;--low:#86b1d6;--low-bg:#1c2b38;
  --k-sand:#2e2a25;--k-rose:#3d221c;--k-sage:#1e3024;--k-sky:#1c2b38;--k-gold:#3a2f17;
  --shadow:0 8px 30px rgba(0,0,0,.5);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    --bg:#161412;--paper:#1e1b18;--card:#262220;--ink:#ede7dc;--soft:#cfc7b9;--mute:#a0978a;--line:#35302a;--line2:#4d463d;--gold:#c9a86a;--tile:#efe9de;
    --todo:#b5ad9f;--todo-bg:#2e2a25;--doing:#e0b253;--doing-bg:#3a2f17;--done:#7fb38c;--done-bg:#1e3024;
    --high:#e58a74;--high-bg:#3d221c;--normal:#b5ad9f;--normal-bg:#2e2a25;--low:#86b1d6;--low-bg:#1c2b38;
    --k-sand:#2e2a25;--k-rose:#3d221c;--k-sage:#1e3024;--k-sky:#1c2b38;--k-gold:#3a2f17;
    --shadow:0 8px 30px rgba(0,0,0,.5);
  }
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;color-scheme:light dark}
body{background:var(--bg);color:var(--ink);font:400 16px/1.5 Inter,system-ui,-apple-system,sans-serif;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;border-radius:0}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
a{color:inherit}
.hidden{display:none!important}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.center{text-align:center}
.sub{color:var(--mute);font-size:15px}

/* logo + brand */
.logo{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--tile);flex:none}
.logo img{width:30px;height:30px;object-fit:contain;display:block}
.logo.big{width:92px;height:92px;margin-bottom:18px}
.logo.big img{width:72px;height:72px}
.brand{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:.24em;text-transform:uppercase;font-size:18px;white-space:nowrap}
.brand small{display:block;font:italic 400 16px 'Cormorant Garamond',Georgia,serif;letter-spacing:.04em;text-transform:none;color:var(--mute);margin-top:6px}

/* sign-in screens */
.screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 20px}
.card{width:100%;max-width:380px;text-align:center}
.card .brand{margin-bottom:34px;white-space:normal}
.card .sub{margin:-18px 0 26px}
.field{display:block;text-align:left;margin-bottom:20px}
.field>span{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--mute);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line2);padding:10px 0;outline:0;border-radius:0;font-size:16px;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}
.field textarea{resize:vertical;min-height:72px}
.pwwrap{position:relative;display:block}
.pwwrap input{padding-right:60px!important}
.pwwrap button{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--mute);padding:10px 0 10px 10px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;width:100%;background:var(--ink);color:var(--bg);padding:13px 20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;min-height:48px;transition:opacity .2s}
.btn:hover{opacity:.85}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn.danger{background:var(--high);color:var(--paper)}
.btn.sm{width:auto;padding:10px 20px;min-height:44px}
.err{color:var(--high);font-size:14px;min-height:20px;margin-top:14px}
.err.ok{color:var(--done)}
.linkbtn{font-size:14px;color:var(--high);font-weight:500;text-decoration:underline;padding:10px 0}
.linkbtn.plain{color:var(--mute);margin-top:10px}

/* header */
header{display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}
header .brand{font-size:14px;letter-spacing:.18em;display:none}
#topnav{display:none}
.who{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:14px;color:var(--soft);min-width:0}
.who .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.who .pre{display:none}
.who b{font-weight:600;color:var(--ink)}
.who em{display:none;font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gold);border:1px solid var(--gold);padding:2px 8px;border-radius:99px;margin-left:6px}
.av{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font:600 14px Inter,sans-serif;text-transform:uppercase;flex:none;position:relative}
.av.sm{width:22px;height:22px;font-size:11px}
.dot{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:var(--done);border:2px solid var(--bg)}
.dot.off{background:var(--doing)}
#navOut{padding:8px 12px;border:1px solid var(--ink);font-size:13px;font-weight:600;white-space:nowrap;min-height:38px;transition:all .15s;flex:none}
#navOut:hover{background:var(--ink);color:var(--bg)}
.offline{background:var(--doing-bg);color:var(--doing);font-size:14px;font-weight:500;padding:10px 14px;margin-bottom:16px;border:1px solid var(--doing)}

/* bottom tab bar (phones) */
#tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border-top:1px solid var(--line);padding-bottom:var(--safe-b);z-index:6}
#tabbar button{white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 2px 8px;font-size:11px;font-weight:600;color:var(--mute);position:relative;min-width:0}
#tabbar button.on{color:var(--ink)}
#tabbar button.on::before{content:"";position:absolute;top:-1px;left:25%;right:25%;height:2px;background:var(--ink)}
#tabbar svg,#topnav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.badge{position:absolute;top:4px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--high);color:#fff;font-size:11px;line-height:18px;font-weight:600}

/* page */
main{max-width:1120px;margin:0 auto;padding:20px 14px calc(96px + var(--safe-b))}
.narrow{max-width:860px;margin:0 auto}
.top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:12px;flex-wrap:wrap}
h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:32px;line-height:1.1}
h1 em{font-style:italic;color:var(--gold)}
h1+.sub{flex-basis:100%;margin-top:-6px}

/* notices from the other person */
.notice{background:var(--k-gold);border:1px solid var(--gold);padding:14px 16px;margin-bottom:14px;display:flex;gap:12px;align-items:flex-start}
.notice .nb{flex:1;min-width:0}
.notice .from{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:4px}
.notice .body{font-size:17px;white-space:pre-wrap}
.notice .btn{flex:none}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.stat{background:var(--paper);border:1px solid var(--line);padding:10px 10px 9px;text-align:left;transition:border-color .15s;min-width:0}
.stat:hover,.stat.on{border-color:var(--ink)}
.stat b{display:block;font:500 26px/1.1 'Cormorant Garamond',Georgia,serif}
.stat span{font-size:12px;color:var(--mute);font-weight:600;white-space:nowrap}
.stat.late b{color:var(--high)}.stat.fin b{color:var(--done)}.stat.mine b{color:var(--gold)}

/* add + toolbar */
.quick{display:flex;gap:8px;margin-bottom:12px}
.quick input,.search,.addline input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line2);padding:12px 14px;font-size:16px;outline:0;border-radius:0}
.quick input:focus,.search:focus,.addline input:focus{border-color:var(--ink)}
.quick .btn{width:auto;padding:0 16px;min-height:50px;flex:none}
.tool{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;align-items:center}
.search{flex:1 1 100%;padding:10px 14px}
.switch{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:3px;margin-left:auto}
.switch button{padding:6px 13px;border-radius:999px;font-size:14px;font-weight:500;color:var(--soft);min-height:34px}
.switch button.on{background:var(--ink);color:var(--bg)}
.pill{padding:8px 15px;border-radius:999px;border:1px solid var(--line2);font-size:14px;color:var(--soft);font-weight:500;min-height:40px;white-space:nowrap;transition:all .15s;background:transparent;flex:none}
.pill:hover{border-color:var(--ink);color:var(--ink)}
.pill.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.pill.cc.on{background:var(--c);border-color:var(--c);color:var(--paper)}
.pill i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:8px}
.pill.cc.on i{background:var(--paper)}
.pill .n{display:inline-block;min-width:20px;padding:0 6px;margin-left:8px;border-radius:99px;background:var(--gold);color:var(--bg);font-size:12px;line-height:20px}
.pill.sm{padding:5px 11px;min-height:32px;font-size:13px}
.fpanel{background:var(--paper);border:1px solid var(--line);padding:14px;margin-bottom:12px;display:grid;gap:14px}
.frow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.frow>label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--mute);flex-basis:100%}
.frow select{background:var(--card);border:1px solid var(--line2);padding:9px 12px;font-size:15px;min-height:40px;border-radius:0}

/* tabs */
.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{padding:12px 0;font-size:14px;font-weight:500;color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button.on{color:var(--ink);border-color:var(--ink)}

/* chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:999px;font-size:13px;font-weight:500;line-height:1.3;background:var(--bg-c);color:var(--c);border:1px solid transparent;white-space:nowrap;min-height:34px}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
button.chip{transition:border-color .15s,transform .1s}
button.chip:hover{border-color:var(--c)}
button.chip:active{transform:scale(.96)}
button.chip::after{content:"\21BB";font-size:12px;opacity:.6}
.s-todo{--c:var(--todo);--bg-c:var(--todo-bg)}.s-doing{--c:var(--doing);--bg-c:var(--doing-bg)}.s-done{--c:var(--done);--bg-c:var(--done-bg)}
.p-high{--pc:var(--high)}.p-normal{--pc:var(--line2)}.p-low{--pc:var(--low)}
.chip.p-high,.pill.p-high{--c:var(--high);--bg-c:var(--high-bg)}.chip.p-normal,.pill.p-normal{--c:var(--normal);--bg-c:var(--normal-bg)}.chip.p-low,.pill.p-low{--c:var(--low);--bg-c:var(--low-bg)}

/* task rows: calm by default, details on tap */
.row{display:grid;grid-template-columns:30px minmax(0,1fr) 28px;column-gap:12px;align-items:start;padding:15px 0;border-bottom:1px solid var(--line)}
.tick{width:26px;height:26px;border:2px solid var(--c);border-radius:50%;margin-top:1px;display:grid;place-items:center;transition:background .2s;flex:none}
.tick.doing{background:linear-gradient(90deg,var(--c) 50%,transparent 50%)}
.tick.done{background:var(--c)}
.tick.done::after{content:"";width:6px;height:11px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.rmain{cursor:pointer;min-width:0}
.title{font-size:17px;font-weight:500;line-height:1.35}
.isdone .title{text-decoration:line-through;color:var(--mute)}
.meta{font-size:13.5px;color:var(--mute);margin-top:3px;line-height:1.5}
.meta span{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.meta span+span::before{content:"\00B7";margin:0 7px;color:var(--line2)}
.meta .hi{color:var(--high);font-weight:600}.meta .late{color:var(--high);font-weight:600}.meta .today{color:var(--doing);font-weight:600}
.chev{font-size:22px;line-height:26px;color:var(--mute);transition:transform .2s;height:28px}
.row.open .chev{transform:rotate(90deg)}
.detail{grid-column:2/-1;margin-top:12px;display:grid;gap:12px;min-width:0}
.notes{font-size:15px;color:var(--soft);white-space:pre-wrap}
.steps{display:grid;gap:2px}
.step{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:7px 0;font-size:15px;color:var(--soft);min-height:36px}
.step i{flex:none;width:20px;height:20px;border:1.5px solid var(--line2);margin-top:1px;display:grid;place-items:center}
.step.d{color:var(--mute);text-decoration:line-through}
.step.d i{background:var(--done);border-color:var(--done)}
.step.d i::after{content:"";width:5px;height:9px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.act{font-size:13px;color:var(--mute)}
.acts{display:flex;gap:8px;font-size:14px;flex-wrap:wrap}
.acts button,.acts a{border:1px solid var(--line2);padding:8px 16px;min-height:40px;font-weight:500;transition:all .15s;text-decoration:none;display:inline-flex;align-items:center}
.acts button:hover,.acts a:hover{border-color:var(--ink)}
.acts .danger{color:var(--high);border-color:var(--high-bg)}
.acts .danger:hover{background:var(--high);color:var(--paper);border-color:var(--high)}
.empty{padding:48px 12px;text-align:center;color:var(--mute)}
.empty .serif{font-size:26px;font-style:italic;color:var(--ink);margin-bottom:6px}

/* task board */
.board{display:grid;gap:14px;margin-top:6px}
.col{background:var(--paper);border:1px solid var(--line);padding:12px;min-height:120px;transition:background .15s;min-width:0}
.col.over{border-color:var(--c);background:var(--bg-c)}
.col h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--c);display:flex;justify-content:space-between;padding-bottom:10px;margin-bottom:10px;border-bottom:2px solid var(--c);font-weight:600}
.card2{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--pc);padding:12px;margin-bottom:10px}
.card2[draggable=true]{cursor:grab}
.card2 .title{font-size:16px;cursor:pointer}
.card2 .acts{margin-top:10px}
.colhint{color:var(--mute);font-size:14px;text-align:center;padding:18px 0;font-style:italic}

/* calendar */
.calhead{display:flex;align-items:center;justify-content:space-between;margin:10px 0}
.calhead b{font:500 24px 'Cormorant Garamond',Georgia,serif}
.calhead button{width:44px;height:44px;border:1px solid var(--line2);font-size:20px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .dow{font-size:11px;font-weight:600;color:var(--mute);text-align:center;padding:4px 0;text-transform:uppercase;letter-spacing:.06em}
.day{aspect-ratio:1/1;min-height:44px;max-height:92px;width:100%;background:var(--paper);border:1px solid var(--line);padding:5px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:13px;font-weight:500;overflow:hidden}
.day.out{opacity:.35}
.day.today{border-color:var(--gold);color:var(--gold);font-weight:700}
.day.sel{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.day .dots{display:flex;gap:3px;flex-wrap:wrap}
.day .dots i{width:7px;height:7px;border-radius:50%;background:var(--pc)}
.day .dots i.p-normal{--pc:var(--mute)}
.day .dots i.dn{opacity:.35}
.day .lbl{display:none}
.dayhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 4px;flex-wrap:wrap}
.dayhead b{font:500 22px 'Cormorant Garamond',Georgia,serif}

/* planning board */
.pbar{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:14px;padding-bottom:2px}
.pbar::-webkit-scrollbar{display:none}
.phead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.phead h2{font:500 26px 'Cormorant Garamond',Georgia,serif}
.pcols{display:grid;grid-auto-flow:column;grid-auto-columns:min(84vw,320px);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin:0 -14px;padding-left:14px;padding-right:14px;scroll-padding-left:14px}
.pcol{scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0;align-self:start}
.pcol.over{border-color:var(--gold)}
.pcol h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--soft);display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px}
.kcard{background:var(--kc);border:1px solid var(--line);padding:12px 12px 8px;font-size:15px}
.kcard[draggable=true]{cursor:grab}
.kcard .ktext{white-space:pre-wrap;cursor:pointer}
.kcard .kfoot{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--mute)}
.kcard .kfoot .sp{flex:1}
.kcard .mv{width:36px;height:34px;border:1px solid var(--line2);font-size:15px;background:var(--card);color:var(--ink)}
.kcard .mv:disabled{opacity:.25}
.k-sand{--kc:var(--k-sand)}.k-rose{--kc:var(--k-rose)}.k-sage{--kc:var(--k-sage)}.k-sky{--kc:var(--k-sky)}.k-gold{--kc:var(--k-gold)}
.swatch{width:40px;height:40px;border-radius:50%;background:var(--kc);border:1px solid var(--line2)}
.swatch.on{outline:2px solid var(--ink);outline-offset:2px}
.addline{display:flex;gap:6px}
.addline input{padding:9px 12px;font-size:15px}
.addline button{flex:none;width:44px;border:1px solid var(--ink);font-size:20px;background:var(--ink);color:var(--bg)}

/* notes page */
.compose{background:var(--paper);border:1px solid var(--line);padding:14px;margin-bottom:20px}
.compose textarea{width:100%;background:var(--card);border:1px solid var(--line2);padding:12px;font-size:16px;min-height:84px;resize:vertical;outline:0;border-radius:0;margin-bottom:10px}
.compose textarea:focus{border-color:var(--ink)}
.compose .cfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.note{padding:16px 0;border-bottom:1px solid var(--line)}
.note .nh{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mute);margin-bottom:6px;flex-wrap:wrap}
.note .nh b{color:var(--ink);font-weight:600;font-size:14px}
.note .body{font-size:17px;white-space:pre-wrap}
.note .nf{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:13px;color:var(--mute)}
.seen{color:var(--done);font-weight:600}.unseen{color:var(--doing);font-weight:600}

/* modal, toast */
.scrim{position:fixed;inset:0;background:rgba(20,18,16,.5);display:grid;align-items:end;z-index:20}
.modal{background:var(--paper);width:100%;padding:22px 16px calc(24px + var(--safe-b));max-height:92vh;max-height:92dvh;overflow:auto;box-shadow:var(--shadow)}
.modal h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:28px;margin-bottom:18px}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.mrow{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.quickdates{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ck-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.ck-row input{flex:1;min-width:0;border:1px solid var(--line2)!important;padding:9px 12px!important;background:var(--card)!important}
.ck-row button{flex:none;width:40px;height:40px;border:1px solid var(--line2);font-size:18px;color:var(--mute)}
.confirm p{font-size:17px;margin-bottom:22px;line-height:1.5}
.toast{position:fixed;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top,0px));background:var(--ink);color:var(--bg);padding:12px 16px;font-size:15px;z-index:40;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;gap:14px}
.toast button{color:var(--bg);font-weight:700;text-decoration:underline;padding:6px 4px;flex:none}

/* settings */
.sec{background:var(--paper);border:1px solid var(--line);padding:20px 16px;margin-bottom:16px}
.sec h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:26px;margin-bottom:4px}
.sec p.sub{margin-bottom:18px}
.urow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px}
.urow i{font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-left:8px}
.urow .un{color:var(--mute);font-size:13px;margin-left:6px}

/* very narrow: Fold cover screen and small phones */
@media(max-width:350px){
  main{padding-left:10px;padding-right:10px}
  .pcols{margin:0 -10px;padding-left:10px;padding-right:10px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .who .txt{display:none}
  #navOut{padding:8px 9px}
  .quick .btn.ghost{display:none}
  h1{font-size:28px}
  .switch button{padding:6px 10px}
  .notice{flex-direction:column}
}

/* Fold opened, tablets */
@media(min-width:560px){
  header .brand{display:block}
  .search{flex:1 1 200px}
  .frow>label{flex-basis:auto;width:104px;white-space:nowrap}
  .scrim{place-items:center;padding:20px}
  .modal{max-width:540px;padding:32px}
  .mrow{flex-direction:row}
  .toast{left:50%;right:auto;top:auto;bottom:calc(84px + var(--safe-b));transform:translateX(-50%);max-width:min(480px,90vw)}
  .day{align-items:stretch}
}
@media(min-width:640px){
  .board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  .day .lbl{display:block;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;color:var(--soft);border-left:3px solid var(--pc);padding-left:4px;line-height:1.35}
  .day.sel .lbl{color:var(--bg)}
  .day .dots{display:none}
  .day{aspect-ratio:auto;height:92px;max-height:none}
  .pcols{grid-auto-columns:minmax(200px,1fr)}
}
@media(min-width:700px){
  header{padding:12px 28px;gap:16px}
  #tabbar{display:none}
  #topnav{display:flex;gap:2px;margin-left:8px;flex:none}
  header .brand{font-size:15px;letter-spacing:.16em;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  #topnav button{white-space:nowrap;padding:9px 12px;font-size:14px;font-weight:500;color:var(--mute);border-bottom:2px solid transparent;position:relative}
  #topnav button.on{color:var(--ink);border-color:var(--ink)}
  #topnav button:hover{color:var(--ink)}
  #topnav svg{display:none}
  #topnav .badge{position:static;display:inline-block;margin-left:6px;vertical-align:1px}
  main{padding:32px 28px 80px}
  h1{font-size:42px}
  .stat{padding:14px 16px}.stat b{font-size:30px}.stat span{font-size:13px}
  .stats{gap:12px}
  .sec{padding:26px}
  .toast{bottom:28px}
  .pcols{margin:0;padding-left:0;padding-right:0;scroll-padding-left:0}
}
@media(min-width:1000px){
  .who em{display:inline-block}
  .who .pre{display:inline}
  header .brand{font-size:17px;letter-spacing:.24em}
  header{padding:14px 40px}
}
@media (hover:none){.card2[draggable=true],.kcard[draggable=true]{cursor:default}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
