/* Pantry Chef - mobile first, warm kitchen palette. */
:root{
  --ink:#2f2a26; --ink2:#6f655c; --paper:#fffaf3; --card:#ffffff; --line:#e6dccd;
  --accent:#c2562f; --accent2:#a3451f; --green:#2f7d4f; --warn:#b58221; --bad:#b0362b;
  --shadow:0 1px 3px rgba(47,42,38,.10), 0 6px 18px rgba(47,42,38,.06);
  --r:12px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper); color:var(--ink);
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-text-size-adjust:100%;
  padding-bottom:76px;
}
h1,h2,h3,h4{margin:0 0 .4rem;line-height:1.25}
h2{font-size:1.35rem;margin-top:.2rem}
h3{font-size:1.05rem}
p{margin:.35rem 0}
.muted{color:var(--ink2);font-size:.92rem}
.small{font-size:.82rem}
.hidden{display:none !important}
.empty{color:var(--ink2);border:1px dashed var(--line);padding:1rem;border-radius:var(--r);background:#fff}

/* ---------- top bar ---------- */
.topbar{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.6rem;
  padding:.55rem .8rem;background:#2f2a26;color:#fff;box-shadow:var(--shadow);
}
.brand{font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:.5rem;font-size:1rem}
.mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--accent);font-size:.75rem}
.tabs{display:none;gap:.15rem;margin-left:.6rem}
.tab{background:transparent;border:0;color:#e9e0d5;padding:.4rem .7rem;border-radius:8px;font-size:.95rem;cursor:pointer}
.tab.on{background:#463c33;color:#fff}
.tools{margin-left:auto;display:flex;align-items:center;gap:.4rem}
.pill{font-size:.78rem;background:#463c33;padding:.25rem .5rem;border-radius:99px;white-space:nowrap}
.ghost{background:transparent;border:1px solid #6a5b4e;color:#e9e0d5;border-radius:8px;padding:.35rem .55rem;cursor:pointer}
.ghost.small{font-size:.8rem}

/* ---------- layout ---------- */
main{max-width:860px;margin:0 auto;padding:1rem .9rem 2rem}
.view{animation:fade .18s ease-out}
@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.row{display:flex;gap:.5rem;align-items:center;margin:.7rem 0;flex-wrap:nowrap}
.row.wrap{flex-wrap:wrap}
.grow{flex:1 1 160px}
.num{width:74px}
.unit{width:88px}

/* ---------- buttons ---------- */
.btn{
  border:1px solid var(--line);background:var(--card);color:var(--ink);
  padding:.62rem .9rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;
  box-shadow:var(--shadow);
}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:active{background:var(--accent2)}
.btn.danger{color:var(--bad)}
.btn.small{padding:.4rem .6rem;font-size:.85rem;font-weight:500}
.btn.wide{width:100%;margin-top:.5rem}
.btn:disabled{opacity:.55;cursor:progress}
.mini{background:#faf4ea;border:1px solid var(--line);border-radius:7px;padding:.28rem .45rem;font-size:.76rem;cursor:pointer;color:var(--ink2)}
.mini.tick.on{background:var(--green);border-color:var(--green);color:#fff}
.mini.danger{color:var(--bad)}
.mini.move{font-size:.74rem;padding:.26rem .3rem;max-width:112px}

/* ---------- capture ---------- */
.segmented{display:flex;gap:.25rem;background:#f1e8db;padding:.25rem;border-radius:12px;margin:.7rem 0}
.segmented label{flex:1;position:relative}
.segmented input{position:absolute;opacity:0;width:0;height:0}
.segmented span{display:block;text-align:center;padding:.5rem .3rem;border-radius:9px;font-size:.88rem;font-weight:600;color:var(--ink2);cursor:pointer}
.segmented input:checked + span{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.segmented.small span{font-size:.82rem}

.capture-grid{display:grid;grid-template-columns:1fr;gap:.55rem;margin:.6rem 0}
.shot{position:relative;display:block;border:1.5px dashed var(--line);border-radius:var(--r);padding:.9rem;background:#fff;text-align:center;cursor:pointer}
.shot input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.shot-icon{display:block;font-size:1.3rem;color:var(--accent)}
.shot-label{display:block;font-weight:700;margin-top:.15rem}
.shot-sub{display:block;font-size:.78rem;color:var(--ink2)}

.pending{list-style:none;padding:0;margin:.4rem 0}
.pend{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:9px;padding:.4rem .6rem;font-size:.85rem;margin-bottom:.3rem}
.pend-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pend-size{color:var(--ink2);font-size:.78rem}

.field{display:block;margin:.7rem 0;font-size:.85rem;color:var(--ink2)}
.field textarea,.field input{width:100%;margin-top:.25rem;padding:.55rem;border:1px solid var(--line);border-radius:9px;font:inherit;color:var(--ink);background:#fff}
.status{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:9px;padding:.6rem .75rem;font-size:.9rem;margin:.6rem 0}

.det-list{display:grid;grid-template-columns:1fr;gap:.35rem;margin:.5rem 0}
.det{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem}
.det.gone{opacity:.35;text-decoration:line-through}
.det-name{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:.9rem}
.det-meta{color:var(--ink2);font-size:.78rem}
.tickbtn,.crossbtn{width:38px;height:34px;border-radius:9px;border:1px solid var(--line);background:#faf4ea;font-size:.82rem;font-weight:600;cursor:pointer;flex:0 0 auto;line-height:1;padding:0}
.tickbtn.on{background:var(--green);border-color:var(--green);color:#fff}
.crossbtn{color:var(--bad)}

.badge{font-size:.7rem;padding:.15rem .4rem;border-radius:99px;border:1px solid var(--line);color:var(--ink2);white-space:nowrap}
.badge.gf{background:#e8f3ec;border-color:#bfe0cb;color:var(--green)}
.badge.has-gluten{background:#fbeceb;border-color:#eccfcb;color:var(--bad)}
.badge.low{background:#fdf4e3;border-color:#ecdcb8;color:var(--warn)}
.manual{margin-top:1rem;border-top:1px solid var(--line);padding-top:.7rem}
.manual summary{cursor:pointer;color:var(--ink2);font-size:.9rem}

/* ---------- inventory ---------- */
.aisle{margin:1rem 0}
.aisle h3{border-bottom:1px solid var(--line);padding-bottom:.25rem}
.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;margin-top:.5rem}
.chip{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.5rem;box-shadow:var(--shadow)}
.chip.verified{border-left:3px solid var(--green)}
.chip-name{font-weight:600;font-size:.9rem;word-break:break-word}
.chip-meta{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;margin:.3rem 0;font-size:.8rem;color:var(--ink2)}
.chip-acts{display:flex;gap:.25rem;flex-wrap:wrap}

/* ---------- filters ---------- */
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.8rem;box-shadow:var(--shadow);margin:.6rem 0 1rem}
.tickgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.4rem}
.tick{position:relative;display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:9px;padding:.5rem .6rem;font-size:.88rem;cursor:pointer;background:#fffdfa}
.tick input{appearance:none;-webkit-appearance:none;width:19px;height:19px;border:1.5px solid var(--line);border-radius:5px;position:relative;cursor:pointer;background:#fff;margin:0}
.tick input:checked{background:var(--green);border-color:var(--green)}
.tick input:checked::after{content:"✓";position:absolute;left:2px;top:-2px;color:#fff;font-size:15px}
.tick.wild{border-style:dashed;border-color:var(--accent);color:var(--accent2)}
.nums label{font-size:.82rem;color:var(--ink2);display:flex;align-items:center;gap:.35rem}
.nums input,.nums select{padding:.4rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}

/* ---------- recipe cards ---------- */
#idea-list,#card-list{display:grid;gap:.8rem}
.recipe{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.85rem;box-shadow:var(--shadow)}
.rc-head{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;flex-wrap:wrap}
.rc-meta{font-size:.8rem;color:var(--ink2);white-space:nowrap}
.scorebar{position:relative;height:8px;background:#f1e8db;border-radius:99px;margin:.5rem 0 .3rem;overflow:hidden}
.scorefill{height:100%;background:var(--accent);border-radius:99px}
.scoretxt{position:absolute;right:0;top:11px;font-size:.72rem;color:var(--ink2)}
.blurb{font-size:.9rem;color:var(--ink2);margin:.5rem 0}
.tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.45rem 0}
.tag{font-size:.74rem;padding:.2rem .45rem;border-radius:99px;background:#e8f3ec;color:var(--green);border:1px solid #cbe4d4}
.tag.need{background:#fdf4e3;color:var(--warn);border-color:#ecdcb8}
details.ings,details.steps{margin:.5rem 0;border-top:1px solid var(--line);padding-top:.4rem}
details.ings summary,details.steps summary{cursor:pointer;font-size:.85rem;color:var(--ink2)}
details h4{margin:.5rem 0 .2rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.4px;color:var(--ink2)}
.ing{font-size:.9rem;margin:.15rem 0}
.ing.have b{color:var(--green)}
.ing.need b{color:var(--warn)}
.ing i{color:var(--ink2);font-style:normal}
.ing small{color:var(--ink2)}
.step{font-size:.92rem;margin:.3rem 0}
.tip{font-size:.85rem;color:var(--green);font-style:italic;margin-top:.5rem}
.rc-acts{display:flex;gap:.4rem;margin-top:.7rem;flex-wrap:wrap}
.savedrow{display:grid;grid-template-columns:26px 1fr;gap:.5rem;align-items:start}
.pick{width:20px;height:20px;margin-top:.6rem}

/* ---------- gate ---------- */
.gate{position:fixed;inset:0;background:#2f2a26;display:grid;place-items:center;z-index:60;padding:1rem}
.gate-card{background:var(--paper);border-radius:16px;padding:1.4rem;width:min(360px,100%);box-shadow:0 12px 40px rgba(0,0,0,.35)}
.gate-card h1{font-size:1.35rem}
.gate-card input{width:100%;padding:.65rem;margin:.7rem 0 .2rem;border:1px solid var(--line);border-radius:9px;font:inherit}
.err{color:var(--bad);font-size:.85rem}

/* ---------- toast + tab bar ---------- */
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;background:#2f2a26;color:#fff;padding:.6rem .9rem;border-radius:10px;font-size:.88rem;z-index:70;box-shadow:var(--shadow);max-width:92vw}
.toast.ok{background:var(--green)}
.toast.bad{background:var(--bad)}
.toast.warn{background:var(--warn)}
.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#2f2a26;z-index:40;padding-bottom:env(safe-area-inset-bottom)}
.tabbar .tab{flex:1;color:#c9beb1;padding:.75rem .3rem;text-align:center;font-size:.85rem;border-top:2px solid transparent}
.tabbar .tab.on{color:#fff;border-top-color:var(--accent)}

@media (min-width:900px){
  body{padding-bottom:1rem}
  .tabs{display:flex}
  .tabbar{display:none}
  .capture-grid{grid-template-columns:repeat(3,1fr)}
  main{padding:1.4rem 1rem 3rem}
}
@media print{
  .topbar,.tabbar,.toast,.gate,#view-capture,#view-inventory,#view-ideas,.filters,.rc-acts{display:none !important}
  body{background:#fff;padding:0}
  .recipe{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}
}

/* ---------- accounts + admin ---------- */
.gate-card .linkish{background:none;border:0;color:var(--accent2);font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer;padding:.25rem 0;margin:.5rem auto 0;display:block}
.gate-card p.muted.small{margin:.55rem 0 0}
.row.middle{justify-content:center}
.pill.who{background:#5c4d3f;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.tag.own{background:#efe6d8;border-style:dashed}
details.own textarea{min-height:170px}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;margin:.8rem 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.6rem .7rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.15rem}
.stat b{font-size:1.25rem}
.stat span{font-size:.8rem}
.stat small{font-size:.72rem;color:var(--ink2)}
.adminline{display:flex;flex-wrap:wrap;gap:.4rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.6rem .7rem;font-size:.85rem;color:var(--ink2);margin:.4rem 0 1rem}
.adminline b{color:var(--ink)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:.4rem 0 1rem}
.usertable{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--card)}
.usertable th,.usertable td{padding:.5rem .55rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.usertable th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);background:#fbf5ec;white-space:nowrap}
.usertable td.num{text-align:right;font-variant-numeric:tabular-nums}
.usertable .sub{color:var(--ink2);font-size:.78rem}
.usertable td.acts{white-space:nowrap}
.usertable td.acts .mini{margin-right:.3rem}
.mini.danger{color:var(--bad);border-color:#e6c9c4}

/* ---------- quick questions + things to buy ---------- */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:.85rem .9rem;box-shadow:var(--shadow);margin:.9rem 0}
.panel h3{margin-bottom:.15rem}
.gaprow{display:flex;gap:.45rem;align-items:center;padding:.5rem 0;border-bottom:1px dashed var(--line)}
.gaprow:last-of-type{border-bottom:0}
.gaptext{flex:1 1 auto;font-size:.92rem}
.gapunlock{font-size:.72rem;color:var(--green);white-space:nowrap}
.gone{opacity:.25;pointer-events:none}
.buylist{list-style:none;margin:.4rem 0 .9rem;padding:0}
.buylist li{display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:baseline;padding:.4rem 0;border-bottom:1px dashed var(--line)}
.buylist b{font-size:.95rem}
.buyqty{font-size:.8rem;color:var(--accent2);margin-left:.15rem}
.panel .ghost{background:linear-gradient(180deg,#fffdf9,#f3ebdf);border-color:var(--line2);color:var(--ink2)}
.buyfor{font-size:.76rem;color:var(--ink2);flex:1 1 100%}
.buyrec{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px dashed var(--line);cursor:pointer}
.buyrec .pick,.buyrec input[type=checkbox]{width:20px;height:20px;margin-top:.3rem}
.buymid{display:flex;flex-direction:column;gap:.1rem}
.buyneed{font-size:.76rem;color:var(--ink2)}
#buy-unlock-head,#buy-head{font-size:1rem}


/* ---------- depth pass: layered shadows, crisper borders, pressable buttons ---------- */
:root{
  --line2:#d9cab4;
  --shadow:inset 0 1px 0 #ffffff, 0 1px 2px rgba(47,42,38,.10), 0 6px 16px rgba(47,42,38,.07);
  --sh-press:inset 0 1px 3px rgba(47,42,38,.18);
}
body{
  background:
    radial-gradient(1100px 420px at 50% -140px, rgba(255,232,206,.85) 0, rgba(255,232,206,0) 72%) #fdf6ec fixed;
}
.view > h2::after{content:"";display:block;width:46px;height:3px;border-radius:2px;background:var(--accent);opacity:.55;margin-top:.4rem}

/* top bar + tab bar sit above the page */
.topbar{box-shadow:0 2px 12px rgba(47,42,38,.30),inset 0 -1px 0 rgba(0,0,0,.35);border-bottom:1px solid #201c19}
.mark{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 3px rgba(0,0,0,.35)}
.pill{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.ghost{transition:background .12s ease,border-color .12s ease}
.ghost:hover{background:#3d342c;border-color:#8b7968}
.tabbar{box-shadow:0 -3px 14px rgba(47,42,38,.28);border-top:1px solid #201c19}
.tabbar .tab.on{background:linear-gradient(180deg,rgba(194,86,47,.30),rgba(194,86,47,0))}
.tab{transition:background .12s ease,color .12s ease}
.tab:hover{background:#3d342c}

/* buttons: gradient face, hard bottom edge, press motion */
.btn{
  background:linear-gradient(180deg,#ffffff 0%,#f6eee2 100%);border-color:var(--line2);
  box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(47,42,38,.14),0 3px 8px rgba(47,42,38,.08);
  transition:transform .08s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;
}
.btn:hover{background:linear-gradient(180deg,#ffffff 0%,#f0e7d8 100%);border-color:#cdbca3}
.btn:active{transform:translateY(1px);box-shadow:var(--sh-press)}
.btn.primary{
  background:linear-gradient(180deg,#d0653a 0%,#b1471e 100%);border-color:#9d3c19;color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 2px 4px rgba(120,45,15,.28),0 8px 18px rgba(120,45,15,.20);
}
.btn.primary:hover{background:linear-gradient(180deg,#d66e42 0%,#a8431c 100%)}
.btn.primary:active{box-shadow:inset 0 2px 5px rgba(92,33,10,.45)}
.btn.danger{color:var(--bad);border-color:#e6c9c4;background:linear-gradient(180deg,#fff 0%,#fbeceb 100%)}
.mini{
  background:linear-gradient(180deg,#fffdf9 0%,#f3ebdf 100%);border-color:var(--line2);
  box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(47,42,38,.12);
  transition:transform .08s ease,box-shadow .12s ease,background .12s ease;
}
.mini:hover{background:linear-gradient(180deg,#fff 0%,#eee4d5 100%)}
.mini:active{transform:translateY(1px);box-shadow:var(--sh-press)}
.mini.tick.on,.tick input:checked{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 3px rgba(47,42,38,.18)}
.btn:focus-visible,.mini:focus-visible,.tab:focus-visible,.ghost:focus-visible,.linkish:focus-visible,
.shot:focus-within,.tick:focus-within,.buyrec:focus-within{outline:2px solid rgba(194,86,47,.55);outline-offset:2px}

/* every card gets a real edge and a soft drop */
.recipe,.chip,.filters,.panel,.stat,.adminline,.det,.pend{border-color:var(--line2)}
.chip,.recipe,.filters,.panel,.stat{box-shadow:var(--shadow)}
.chip:has(.verified){border-left:3px solid var(--green)}
@media (hover:hover){
  .chip:hover,.recipe:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(47,42,38,.12),0 12px 26px rgba(47,42,38,.12)}
  .shot:hover{border-color:var(--accent);box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(47,42,38,.12),0 12px 26px rgba(47,42,38,.12)}
}

/* capture tiles read as buttons */
.shot{
  border:1px solid var(--line2);background:linear-gradient(180deg,#ffffff 0%,#fbf3e8 100%);
  box-shadow:var(--shadow);transition:transform .08s ease,box-shadow .12s ease,border-color .12s ease;
}
.shot:active{transform:translateY(1px);box-shadow:var(--sh-press)}
.shot-icon{display:grid;place-items:center;width:34px;height:34px;margin:0 auto;border-radius:50%;
  background:linear-gradient(180deg,#d0653a,#b1471e);color:#fff;font-size:1rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 5px rgba(120,45,15,.30)}
.shot-label{margin-top:.45rem}

/* controls */
.segmented{background:linear-gradient(180deg,#ece0cf,#f7f0e5);border:1px solid var(--line2);box-shadow:inset 0 1px 3px rgba(47,42,38,.14)}
.segmented input:checked + span{background:linear-gradient(180deg,#fff,#fbf4ea);
  box-shadow:inset 0 0 0 1px #fff,0 1px 2px rgba(47,42,38,.18),0 2px 5px rgba(47,42,38,.10)}
.field textarea,.field input,.gate-card input,.nums input,.nums select,.own-text textarea{
  border-color:var(--line2);box-shadow:inset 0 1px 2px rgba(47,42,38,.08)}
.field textarea:focus,.field input:focus,.gate-card input:focus,.nums input:focus,.nums select:focus{
  outline:none;border-color:var(--accent);
  box-shadow:inset 0 1px 2px rgba(47,42,38,.06),0 0 0 3px rgba(194,86,47,.20)}
.status{box-shadow:var(--shadow);border-color:var(--line2);border-left:4px solid var(--accent)}
.empty{box-shadow:inset 0 1px 3px rgba(47,42,38,.06)}
.scorebar{background:#ece1d1;box-shadow:inset 0 1px 2px rgba(47,42,38,.14)}
.scorefill{background:linear-gradient(90deg,#dd8156,var(--accent))}
.badge,.tag{box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.tick{background:linear-gradient(180deg,#fffdfa,#faf3e9)}
.tickbtn,.crossbtn{box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(47,42,38,.12)}
.tickbtn:active,.crossbtn:active{transform:translateY(1px);box-shadow:var(--sh-press)}
.stat b{letter-spacing:-.02em}

/* sign-in card */
.gate{background:radial-gradient(900px 620px at 50% -60px,#413830 0%,#231f1b 70%)}
.gate-card{border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 50px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.35)}
.toast{box-shadow:0 8px 26px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.18)}

@media print{
  body{background:#fff}
  .recipe,.chip,.filters,.panel,.stat{border:1px solid #ccc;box-shadow:none}
}

/* secondary (ghost) buttons: light on paper, dark only on the bars */
.ghost{background:linear-gradient(180deg,#fffdf9 0%,#f3ebdf 100%);border:1px solid var(--line2);color:var(--ink);
  box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(47,42,38,.12)}
.ghost:hover{background:linear-gradient(180deg,#fff 0%,#eee4d5 100%);border-color:#c9b79e;color:var(--ink)}
.ghost:active{transform:translateY(1px);box-shadow:var(--sh-press)}
.ghost:disabled{opacity:.5;cursor:default;transform:none;box-shadow:none}
.topbar .ghost,.tabbar .ghost{background:transparent;border-color:#6a5b4e;color:#e9e0d5;box-shadow:none}
.topbar .ghost:hover,.tabbar .ghost:hover{background:#3d342c;border-color:#8b7968;color:#fff}
.rc-acts{border-top:1px solid var(--line);padding-top:.6rem}
