
/* Kitchen Toolkit tools, transplanted from her earlier build. */
.kt-tag{display:inline-block;margin-top:0.7rem;font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;padding:0.2rem 0.6rem;border-radius:20px;}
.kt-free{background:rgba(143,175,138,0.2);color:#3a6635;}
.kt-pro{background:rgba(212,168,42,0.18);color:#8b5a00;}
.kt-tag.kt-free{ background:rgba(143,175,138,0.22)!important; color:#3a6635!important; }
.kt-tag.kt-pro{ background:rgba(212,168,42,0.20)!important; color:#8b5a00!important; }
.ktmodal{ position:fixed; inset:0; z-index:9998; display:flex; align-items:flex-start; justify-content:center; padding:40px 18px; overflow:auto; background:rgba(20,28,38,0.55); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); opacity:0; pointer-events:none; transition:opacity .2s; }
.ktmodal.open{ opacity:1; pointer-events:auto; }
.ktmodal-sheet{ position:relative; width:100%; max-width:460px; background:#fff; border-radius:24px; padding:24px 22px 22px; box-shadow:0 24px 60px rgba(0,0,0,0.3); margin:auto; transform:translateY(12px); transition:transform .2s; }
.ktmodal.open .ktmodal-sheet{ transform:none; }
.ktmodal-x{ position:absolute; top:13px; right:13px; width:32px; height:32px; border-radius:50%; border:none; background:#f0f2ef; color:#5a6b5a; font-size:0.85rem; font-weight:700; cursor:pointer; line-height:1; }
.kt-head{ display:flex; gap:13px; align-items:center; margin-bottom:18px; padding-right:30px; }
.kt-head-icon{ width:50px; height:50px; border-radius:15px; display:flex; align-items:center; justify-content:center; font-size:1.6rem; background:var(--sage-lt,#e8f4e9); flex-shrink:0; }
.kt-head-kicker{ font-size:0.64rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--brown,#7a6b5d); }
.kt-head-title{ font-family:Georgia,serif; font-size:1.3rem; color:var(--navy,#2c3e5c); }
.kt-row{ display:flex; gap:12px; flex-wrap:wrap; }
.kt-field{ flex:1; min-width:120px; margin-bottom:13px; display:flex; flex-direction:column; }
.kt-field label{ font-size:0.72rem; font-weight:700; color:#6a7569; margin-bottom:5px; }
.kt-field input, .kt-field select{ padding:11px 12px; border:1.5px solid rgba(36,52,71,0.15); border-radius:12px; font-size:0.95rem; font-family:inherit; background:#fff; color:var(--char,#2d2d2d); width:100%; }
.kt-result{ background:linear-gradient(160deg,#f7faf6,#eef5ec); border:1px solid #e1ece0; border-radius:16px; padding:18px; text-align:center; font-family:Georgia,serif; font-size:1.8rem; font-weight:700; color:var(--sage-dk,#4a7a4e); margin:6px 0 4px; }
.kt-note{ font-size:0.74rem; color:#8a857d; line-height:1.5; margin:10px 0 0; }
.kt-btn{ background:linear-gradient(135deg,#36a852,#67c878); color:#fff; border:none; border-radius:50px; padding:12px 22px; font-size:0.9rem; font-weight:800; cursor:pointer; font-family:inherit; }
.kt-mini{ background:#eef1ee; border:none; border-radius:8px; padding:6px 10px; font-size:0.78rem; font-weight:700; color:#3a4a3a; cursor:pointer; margin-left:6px; font-family:inherit; }
.kt-sub-out{ display:flex; flex-direction:column; gap:8px; margin-top:6px; }
.kt-swap{ background:#f6f8f5; border:1px solid #e6ede4; border-radius:12px; padding:11px 14px; font-size:0.9rem; color:var(--char,#2d2d2d); line-height:1.45; }
.kt-swap b{ color:var(--sage-dk,#4a7a4e); }
.kt-timers{ display:flex; flex-direction:column; gap:10px; margin:14px 0 0; }
.kt-timer{ display:flex; align-items:center; justify-content:space-between; gap:10px; background:#f6f8f5; border:1px solid #e6ede4; border-radius:14px; padding:11px 14px; }
.kt-timer.done{ background:rgba(125,158,119,0.20); border-color:rgba(125,158,119,0.45); }
.kt-timer-name{ font-weight:700; color:var(--char,#2d2d2d); flex:1; }
.kt-timer-time{ font-family:Georgia,serif; font-size:1.15rem; font-weight:700; color:var(--navy,#2c3e5c); }
.kt-timer-ctrls{ display:flex; align-items:center; }
.kt-tbl-title{ font-size:0.72rem; font-weight:800; letter-spacing:0.06em; text-transform:uppercase; color:var(--brown,#7a6b5d); margin:16px 0 8px; }
.kt-tbl{ width:100%; border-collapse:collapse; font-size:0.86rem; }
.kt-tbl th{ text-align:left; font-size:0.66rem; text-transform:uppercase; letter-spacing:0.05em; color:#8a857d; padding:6px 8px; border-bottom:2px solid #e6ede4; }
.kt-tbl td{ padding:8px; border-bottom:1px solid #eef1ee; color:var(--char,#2d2d2d); }
.kt-plan-out ol{ margin:12px 0 0; padding-left:20px; }
.kt-plan-out li{ font-size:0.88rem; color:var(--char,#2d2d2d); margin-bottom:7px; line-height:1.5; }
.kt-pro-pill{ display:inline-block; background:rgba(212,168,42,0.20); color:#8b5a00; font-size:0.62rem; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; padding:4px 10px; border-radius:20px; margin-bottom:12px; }
.ktmodal-sheet');
  var bodyEl=document.getElementById('ktBody'), iconEl=document.getElementById('ktIcon'),
      titleEl=document.getElementById('ktTitle'), kickerEl=document.getElementById('ktKicker');
  var cleanup=null;
  function setCleanup(fn){ cleanup=fn; }
/* the modal must clear the mobile browser chrome, like the other sheets here */
.ktmodal{ height:100vh; height:100dvh; overflow-y:auto; align-items:center; }
.ktmodal-sheet{ max-height:calc(100vh - 44px); max-height:calc(100dvh - 44px); overflow-y:auto; }
.ktmodal-x{ min-width:44px; min-height:44px; }
.kt-body button, .kt-body input, .kt-body select{ min-height:44px; }
