:root{
  --bg:#f2f4f2; --card:#fff; --line:rgba(0,0,0,.07); --hair:rgba(0,0,0,.05);
  --pri:#0b8a5c; --pri-soft:#e6f4ee; --pale:#bfe6d3; --pale2:#d9f0e4;
  --link:#065f40;
  --m-breakfast:#8ed9b3; --m-lunch:#0b8a5c; --m-dinner:#ef7d24; --m-snack:#f6c445;
  --m-breakfast-fg:#12352a; --m-lunch-fg:#fff; --m-dinner-fg:#3d1a00; --m-snack-fg:#4a3600;
  --sc-home:#3d9be9; --sc-nakashoku:#1f6fb2; --sc-eatout:#7c5cc4;
  --sc-home-fg:#06243c; --sc-nakashoku-fg:#fff; --sc-eatout-fg:#fff;
  --m-none:#c9cec9;
  --edge:rgba(0,0,0,.22); --edge-soft:rgba(0,0,0,.12);
  --funnel:#dfe8e3; --funnel-line:#8d9a94;
  --seg1:#0b8a5c; --seg2:#4fae86; --seg3:#8ed9b3;
  --seg1-fg:#fff;  --seg2-fg:#05301d; --seg3-fg:#12352a;
  --seg-other:#c9cec9; --seg-other-fg:#33403a;
  --warn:#b3261e; --warn-strong:#8f1d17; --warn-face:#fdecea; --warn-face2:#fdf4f3; --warn-fg:#8f1d17;
  --neutral-face:#eef0ec; --neutral-fg:#6b7671;
  --learn-face:#eef2fb; --learn-fg:#3d6db3;
  --t1:#1f2421; --t2:#4d564f; --t3:#6b7671; --t4:#8a938e; --t5:#a0a8a3;
  --track:#eef0ec; --track-none:#e4e6e1; --track-none2:#dfe2de;
  --head:#f7f8f7; --seg:#e8eae7;
  --font:'Noto Sans JP','Hiragino Kaku Gothic ProN',system-ui,sans-serif;
}

*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--t1);font-family:var(--font);
  font-weight:400;font-size:13.5px;line-height:1.6;-webkit-text-size-adjust:100%}
button{font-family:var(--font);cursor:pointer}
a{color:var(--link)}

.wrap{max-width:390px;margin:0 auto;padding:16px 16px 28px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.card+.card,.mt{margin-top:10px}
.row{display:flex;align-items:center}
.between{display:flex;justify-content:space-between}
.grow{flex:1}

.h-screen{font:700 19px/1.4 var(--font)}
.h-card{font:700 13px/1 var(--font)}
.h-card-s{font:700 12.5px/1 var(--font)}
.num{font:700 32px/1.2 var(--font);letter-spacing:-.02em}
.kpi{font:700 19px/1.2 var(--font)}
.lab{font:500 13.5px/1 var(--font)}
.body{font:400 12.5px/1.75 var(--font)}
.note{font:400 12px/1.8 var(--font);color:var(--t4)}
.mini{font:400 11.5px/1.7 var(--font);color:var(--t3)}
.t2{color:var(--t2)}.t3{color:var(--t3)}.t4{color:var(--t4)}.t5{color:var(--t5)}
.pri{color:var(--pri)}


.bar{position:relative;height:7px;border-radius:4px;background:var(--track)}
.bar>i{display:block;height:7px;border-radius:4px;background:var(--pri)}
.bar::after{content:"";position:absolute;left:100%;top:-3px;bottom:-3px;width:1.5px;background:rgba(0,0,0,.25)}
.bar.no-tick::after{display:none}

.stack{width:104px;flex:none;padding-top:10px}
.stack .blocks{position:relative;display:flex;flex-direction:column;gap:4px}
.stack .blocks>div:not(.baseline){height:11px;border-radius:6px;background:var(--track)}
.stack .baseline{position:absolute;left:0;right:0;height:0;display:flex;align-items:center;pointer-events:none}
.stack .baseline>i{flex:1;border-top:1.5px dashed var(--t5)}
.stack .baseline>span{font:400 11px/1 var(--font);color:var(--t2);font-weight:500;
  background:var(--card);padding:0 3px;margin-left:2px}

.split{position:relative;height:26px;border-radius:6px;background:var(--track);overflow:hidden}
.split .seg{display:flex;align-items:center;justify-content:center;
  font:500 11px/1 var(--font);color:#fff;white-space:nowrap;overflow:hidden}
.split .now{position:absolute;top:0;bottom:0;width:2px;background:var(--t1)}

.btn{width:100%;padding:15px;background:var(--pri);border:0;border-radius:11px;
  font:700 15px var(--font);color:#fff}
.btn-sub{padding:12px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:10px;
  font:500 12.5px var(--font);color:var(--t1)}
.btn-toggle{width:100%;margin-top:12px;padding:10px;background:var(--head);
  border:1px solid rgba(0,0,0,.06);border-radius:9px;font:500 12px var(--font);color:var(--link)}
.btn-link{background:none;border:0;padding:0;font:500 11.5px var(--font);color:var(--link);
  text-decoration:underline}
.btn:disabled,.btn-sub:disabled,.chip:disabled{opacity:.55}

.badge{display:inline-block;padding:2px 7px;border-radius:5px;font:500 11px/1.5 var(--font);
  background:var(--pri-soft);color:var(--pri);white-space:nowrap}
.badge.learn{background:var(--learn-face);color:var(--learn-fg)}
.badge.ai{background:#ededea;color:#7b8480}
.badge.none{background:var(--neutral-face);color:var(--neutral-fg)}  .badge.wait{padding:6px 12px;border-radius:8px;font:700 16px/1.3 var(--font);
  background:var(--link);color:#fff}
.badge.analyzing{background:#fff;color:var(--pri);border:1.5px solid var(--pri)}

.heat{display:flex;align-items:center;gap:6px;margin-bottom:5px}
.heat .name{width:58px;font:400 11px/1 var(--font);color:var(--t2)}
.heat .cell{flex:1;height:22px;border-radius:4px;display:flex;align-items:center;
  justify-content:center;font:500 10.5px var(--font)}

.dot{width:11px;height:11px;border-radius:6px;flex:none;display:inline-block}

.tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;margin:0 -16px 12px;padding:0 16px 2px;
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
@media (hover:hover) and (pointer:fine){
  .tabs{flex-wrap:wrap;overflow-x:visible;row-gap:6px}
}
.tabs a{flex:none;display:flex;align-items:center;min-height:28px;padding:0 7px;
  border:1px solid var(--line);background:#fff;border-radius:7px;
  font:500 12.5px var(--font);color:var(--t2);text-decoration:none;white-space:nowrap}
.tabs a[href="/v2"]{min-height:40px;padding:0 14px;border-radius:10px;font-weight:700;
  background:var(--pri-soft);border-color:var(--pale);color:var(--pri)}
.tabs a.on{background:var(--pri);border-color:var(--pri);color:#fff}

a.card .h-card-s,a.card .h-card,a.card .lab{color:var(--link)}
a.card .chev,a .chev{color:var(--link);font-weight:700}
a .lnk{color:var(--link)}

[x-cloak]{display:none!important}
