/* 外食カロリー.com ツール共通スタイル (tk = tokushita kit) */
.tk{--tk-g:#2d6a4f;--tk-g2:#40916c;--tk-gl:#eef7f2;--tk-gb:#d8ebd4;--tk-y:#f4a261;--tk-r:#e63946;--tk-t:#1f2933;--tk-m:#5f6b76;--tk-bd:#e2e8f0;--tk-bg:#fff;
  font-size:15px;line-height:1.5;color:var(--tk-t);max-width:680px;margin:18px auto;box-sizing:border-box}
.tk *,.tk *::before,.tk *::after{box-sizing:border-box}
.tk button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tk input[type=number],.tk input[type=text],.tk input[type=search],.tk select{font:inherit;color:var(--tk-t);background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;min-height:40px}
.tk input:focus,.tk select:focus{outline:2px solid var(--tk-g2);outline-offset:1px}
.tk .tk-card{background:var(--tk-bg);border:1px solid var(--tk-bd);border-radius:14px;padding:16px;margin:0 0 14px;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.tk .tk-muted{color:var(--tk-m);font-size:.85em}
.tk .tk-h{font-size:1.05em;font-weight:700;margin:0 0 8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tk .tk-h .tk-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--tk-g);color:#fff;font-size:.8em}
.tk .tk-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--tk-g);background:#fff;color:var(--tk-g);border-radius:999px;padding:8px 14px;font-weight:700;font-size:.9em;line-height:1;min-height:38px;transition:background .15s,color .15s,transform .1s}
.tk .tk-btn:hover{background:var(--tk-gl)}
.tk .tk-btn:active{transform:scale(.97)}
.tk .tk-btn--p{background:var(--tk-g);color:#fff}
.tk .tk-btn--p:hover{background:var(--tk-g2)}
.tk .tk-btn--s{border-color:#cbd5e1;color:var(--tk-m)}
.tk .tk-btn[disabled]{opacity:.45;cursor:default}
.tk .tk-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tk .tk-grow{flex:1 1 auto}

/* ===== 合計サマリー ===== */
.tk-sum{position:sticky;top:0;z-index:5;background:linear-gradient(135deg,#f1faf5,#ffffff);border-color:var(--tk-gb)}
.tk-sum__top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tk-sum__num{font-size:2.6em;font-weight:800;letter-spacing:-.02em;color:var(--tk-g);line-height:1;font-variant-numeric:tabular-nums}
.tk-sum__num small{font-size:.4em;font-weight:700;margin-left:4px;color:var(--tk-m)}
.tk-sum__sub{font-size:.85em;color:var(--tk-m)}
.tk-gauge{margin-top:10px}
.tk-gauge__lbl{display:flex;justify-content:space-between;font-size:.82em;color:var(--tk-m);margin-bottom:4px}
.tk-gauge__lbl b{color:var(--tk-t)}
.tk-gauge__bar{height:12px;background:#e9eef2;border-radius:999px;overflow:hidden;position:relative}
.tk-gauge__fill{height:100%;width:0;border-radius:999px;background:var(--tk-g2);transition:width .5s cubic-bezier(.2,.8,.2,1),background .3s}
.tk-gauge__fill.is-mid{background:var(--tk-y)}
.tk-gauge__fill.is-over{background:var(--tk-r)}
.tk-gauge__mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:rgba(0,0,0,.25);left:100%}
.tk-sum__set{margin-top:8px;font-size:.82em}
.tk-sum__set a{color:var(--tk-g);text-decoration:underline;cursor:pointer}
.tk-set{display:none;margin-top:10px;padding:12px;background:#fff;border:1px dashed var(--tk-gb);border-radius:10px;font-size:.9em}
.tk-set.is-open{display:block}
.tk-set .tk-grid label{display:block;font-size:.8em;color:var(--tk-m);margin-bottom:2px}
.tk-set .tk-row label{display:inline-flex;align-items:center;gap:4px;font-size:.95em;color:var(--tk-t)}
.tk-sum.is-set{position:static}
.tk-set .tk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.tk-set input,.tk-set select{width:100%}
.tk-set__res{margin-top:8px;font-size:.9em}

/* ===== 選択済み ===== */
.tk-picked{list-style:none;margin:0;padding:0}
.tk-picked li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #f0f2f4;animation:tkIn .25s ease}
.tk-picked li:last-child{border-bottom:0}
.tk-picked .tk-nm{flex:1 1 auto;font-size:.95em}
.tk-picked .tk-kc{font-variant-numeric:tabular-nums;font-weight:700;min-width:64px;text-align:right}
.tk-picked .tk-kc small{font-weight:400;color:var(--tk-m)}
.tk-qty{display:inline-flex;align-items:center;border:1px solid #cbd5e1;border-radius:999px;overflow:hidden}
.tk-qty button{width:30px;height:30px;border:0;background:#fff;color:var(--tk-g);font-weight:700;font-size:1.05em}
.tk-qty button:hover{background:var(--tk-gl)}
.tk-qty span{min-width:22px;text-align:center;font-weight:700;font-size:.9em}
.tk-picked .tk-x{border:0;background:none;color:#98a2ad;font-size:1.1em;width:28px;height:28px;border-radius:50%}
.tk-picked .tk-x:hover{background:#fdecee;color:var(--tk-r)}
.tk-empty{color:var(--tk-m);font-size:.9em;text-align:center;padding:14px 6px;background:#f8fafb;border-radius:10px}
@keyframes tkIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ===== メニュー選択 ===== */
.tk-filter{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.tk-filter input{flex:1 1 180px}
.tk-cat{border-top:1px solid #f0f2f4}
.tk-cat:first-of-type{border-top:0}
.tk-cat__h{width:100%;display:flex;align-items:center;gap:8px;background:none;border:0;padding:12px 2px;text-align:left;font-weight:700;color:var(--tk-t)}
.tk-cat__h .tk-n{color:var(--tk-m);font-weight:400;font-size:.85em}
.tk-cat__h .tk-ar{margin-left:auto;transition:transform .2s;color:var(--tk-m)}
.tk-cat.is-open .tk-cat__h .tk-ar{transform:rotate(180deg)}
.tk-cat__b{display:none;padding:0 0 12px}
.tk-cat.is-open .tk-cat__b{display:block}
.tk-chips{display:flex;flex-wrap:wrap;gap:8px}
.tk-chip{position:relative;display:inline-flex;align-items:center;gap:6px;text-align:left;border:1px solid #d5dde5;background:#fff;border-radius:999px;padding:7px 12px;font-size:.88em;line-height:1.2;color:var(--tk-t);transition:border-color .15s,background .15s,transform .1s;max-width:100%}
.tk-chip:hover{border-color:var(--tk-g2);background:var(--tk-gl)}
.tk-chip:active{transform:scale(.96)}
.tk-chip .tk-kc{color:var(--tk-g);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.tk-chip.is-on{border-color:var(--tk-g);background:var(--tk-gl);box-shadow:inset 0 0 0 1px var(--tk-g)}
.tk-chip .tk-bd{position:absolute;top:-7px;right:-6px;min-width:20px;height:20px;border-radius:999px;background:var(--tk-g);color:#fff;font-size:.72em;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}
.tk-chip.is-hid{display:none}
.tk-nohit{color:var(--tk-m);font-size:.9em;padding:6px 2px}
.tk-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#1f2933;color:#fff;padding:10px 16px;border-radius:999px;font-size:.9em;opacity:0;pointer-events:none;transition:all .25s;z-index:99}
.tk-toast.is-show{opacity:1;transform:translate(-50%,0)}
.tk-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tk-share .tk-btn{font-size:.85em}
.tk-cardimg{margin-top:12px;display:none}
.tk-cardimg.is-show{display:block}
.tk-cardimg img{width:100%;height:auto;border-radius:10px;border:1px solid var(--tk-bd)}
.tk-cardimg p{margin:6px 0 0}
.tk-fly{position:fixed;z-index:98;pointer-events:none;font-weight:800;color:var(--tk-g);font-size:.9em;animation:tkFly .7s ease-out forwards}
@keyframes tkFly{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-40px)}}
.tk-cross{margin-top:12px;font-size:.88em}
.tk-cross a{color:var(--tk-g);font-weight:700}

/* ===== 消費運動シミュレーター ===== */
.tk-burn .tk-src{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tk-burn .tk-src label{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;border-radius:999px;padding:6px 12px;font-size:.9em;cursor:pointer;background:#fff}
.tk-burn .tk-src label.is-on{border-color:var(--tk-g);background:var(--tk-gl);font-weight:700}
.tk-burn .tk-src input[type=radio]{accent-color:var(--tk-g)}
.tk-burn .tk-src input[type=number]{width:96px}
.tk-acts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
@media (max-width:480px){.tk-acts{grid-template-columns:repeat(4,1fr);gap:6px}}
.tk-act{border:1px solid #d5dde5;background:#fff;border-radius:12px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.78em;color:var(--tk-t);line-height:1.2}
.tk-act .tk-ic{font-size:1.7em}
.tk-act .tk-min{color:var(--tk-g);font-weight:700;font-variant-numeric:tabular-nums}
.tk-act.is-on{border-color:var(--tk-g);background:var(--tk-gl);box-shadow:inset 0 0 0 1px var(--tk-g)}
.tk-scene{margin-top:14px;background:linear-gradient(#e8f6ff 0,#f5fbff 60%,#dff0d8 60%,#cfe6c3 100%);border-radius:14px;padding:14px 14px 10px;position:relative;overflow:hidden;border:1px solid var(--tk-gb)}
.tk-scene__track{position:relative;height:60px}
.tk-scene__fig{position:absolute;left:0;bottom:6px;font-size:2.4em;line-height:1;transition:left 2.2s cubic-bezier(.3,.7,.3,1);will-change:left;animation:tkBob .5s ease-in-out infinite alternate}
.tk-scene__fig.is-still{animation:none}
@keyframes tkBob{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-4px) rotate(3deg)}}
.tk-scene__goal{position:absolute;right:0;bottom:6px;font-size:1.8em;line-height:1}
.tk-scene__road{height:6px;background:rgba(0,0,0,.12);border-radius:3px;position:relative;overflow:hidden}
.tk-scene__fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--tk-g);transition:width 2.2s cubic-bezier(.3,.7,.3,1)}
.tk-scene__res{margin-top:10px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tk-scene__big{font-size:2em;font-weight:800;color:var(--tk-g);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.tk-scene__eq{font-size:.92em;color:var(--tk-t)}
.tk-scene__eq b{color:var(--tk-g)}
.tk-scene__note{font-size:.78em;color:var(--tk-m);margin-top:6px}
.tk-burn table{width:100%;border-collapse:collapse;font-size:.88em;margin-top:10px}
.tk-burn th,.tk-burn td{border-bottom:1px solid #eef1f4;padding:7px 6px;text-align:left}
.tk-burn td:last-child,.tk-burn th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.tk-burn tr.is-on td{background:var(--tk-gl);font-weight:700}
.tk-burn details{margin-top:8px;font-size:.88em}
.tk-burn summary{cursor:pointer;color:var(--tk-g);font-weight:700}
.tk-burn .tk-w{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.tk-burn .tk-w input{width:90px}

/* ===== 横断検索（トップ） ===== */
.tk-search{max-width:820px}
.tk-search .tk-box{background:#fff;border:1px solid var(--tk-bd);border-radius:16px;padding:18px;box-shadow:0 6px 20px rgba(0,0,0,.05)}
.tk-search__title{margin:0 0 4px;font-size:1.25em;font-weight:800;text-align:center}
.tk-search__lead{margin:0 0 12px;text-align:center;color:var(--tk-m);font-size:.9em}
.tk-search__in{position:relative}
.tk-search__in input{width:100%;font-size:1.05em;padding:12px 44px 12px 46px!important;border-radius:999px;border:2px solid var(--tk-gb);min-height:50px}
.tk-search__in input:focus{border-color:var(--tk-g);outline:none}
.tk-search__in .tk-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--tk-m);display:flex}
.tk-search__in .tk-clr{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;color:#98a2ad;font-size:1.3em;width:32px;height:32px;border-radius:50%;display:none}
.tk-search__in .tk-clr.is-show{display:block}
.tk-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;justify-content:center}
.tk-quick button{border:1px solid #d5dde5;background:#fff;border-radius:999px;padding:5px 11px;font-size:.82em;color:var(--tk-t)}
.tk-quick button:hover{border-color:var(--tk-g2);background:var(--tk-gl)}
.tk-ctrl{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.tk-ctrl select{min-height:36px;padding:4px 8px;font-size:.88em}
.tk-ctrl .tk-cnt{margin-left:auto;color:var(--tk-m);font-size:.85em}
.tk-res{margin-top:10px}
.tk-res table{width:100%;border-collapse:collapse;font-size:.9em}
.tk-res th{font-size:.78em;color:var(--tk-m);font-weight:600;text-align:left;padding:6px 6px;border-bottom:2px solid #eef1f4;white-space:nowrap}
.tk-res td{padding:8px 6px;border-bottom:1px solid #f0f2f4;vertical-align:middle}
.tk-res td.tk-k,.tk-res th.tk-k{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tk-res td.tk-k b{color:var(--tk-g);font-size:1.05em}
.tk-res .tk-st{white-space:nowrap}
.tk-res .tk-st a{color:var(--tk-g);font-weight:700;text-decoration:none}
.tk-res .tk-st a:hover{text-decoration:underline}
.tk-res .tk-ct{display:block;color:var(--tk-m);font-size:.78em}
.tk-res .tk-add{border:1px solid var(--tk-gb);background:var(--tk-gl);color:var(--tk-g);border-radius:999px;padding:4px 9px;font-size:.78em;text-decoration:none;white-space:nowrap;font-weight:700}
.tk-res .tk-add:hover{background:var(--tk-g);color:#fff}
.tk-res mark{background:#fff3b0;color:inherit;padding:0 1px;border-radius:2px}
.tk-more{text-align:center;margin-top:10px}
.tk-search .tk-hint{text-align:center;color:var(--tk-m);font-size:.9em;padding:18px 0}
@media (max-width:560px){
  .tk-res .tk-ct{white-space:normal}
  .tk-res td,.tk-res th{padding:7px 4px}
  .tk-res .tk-hide-sp{display:none}
}
/* テーマ側スタイルの打ち消し */
.tk-search h2.tk-search__title{background:none;border:0;padding:0;margin:0 0 4px;color:var(--tk-t);box-shadow:none;font-size:1.25em;text-align:center}
.tk-search h2.tk-search__title::before,.tk-search h2.tk-search__title::after{display:none}
.tk-ctrl select{width:auto;display:inline-block;flex:0 0 auto}
.tk select,.tk input[type=number],.tk input[type=text],.tk input[type=search]{box-shadow:none;margin:0}
.tk-set .tk-grid select,.tk-set .tk-grid input{width:100%}
@media (max-width:560px){
  .tk-res thead{display:none}
  .tk-res tr{display:grid;grid-template-columns:1fr auto auto;gap:0 10px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f2f4}
  .tk-res td{display:block;border:0;padding:0}
  .tk-res td.tk-st{grid-column:1/-1;font-size:.8em;margin-bottom:2px}
  .tk-res td:nth-child(2){grid-column:1;grid-row:2}
  .tk-res td.tk-k{grid-column:2;grid-row:2}
  .tk-res td:last-child{grid-column:3;grid-row:2}
}
