:root{
  /* 明るいスカイテーマ（機体の白×赤×青ラインを基調）。全画面共通 */
  --bg:#f4f8fe; --bg2:#ffffff; --bg3:#eaf2fd;
  --surface:#ffffff;
  --surface2:#f1f6fd;
  --line:rgba(13,35,68,.12);
  --red:#e60012; --red-soft:#d6313d;
  --blue:#1a5fd6; --sky:#1565c0; --cyan:#0891a8;
  --text:#0d2344; --muted:#4f6585; --dim:#6b7d99;
  --ok:#0b7a43; --warn:#b86800;
  --r:18px; --r-lg:26px;
  --shadow:0 10px 24px -12px rgba(13,35,68,.3);
  --font:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{
  font-family:var(--font); color:var(--text); background:var(--bg);
  background-image:
    radial-gradient(560px 320px at 50% -60px, rgba(255,255,255,.95), transparent 70%),
    linear-gradient(180deg,#b9dafe 0%,#d9eaff 26%,#edf5fe 55%,#f6f9fd 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
/* faint topo grid */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.6;
  background-image:linear-gradient(rgba(26,95,214,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(26,95,214,.06) 1px,transparent 1px);
  background-size:46px 46px; mask-image:radial-gradient(circle at 50% 20%,#000,transparent 80%);
}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* ===== App bar ===== */
.appbar{
  position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:12px;
  padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.66));
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.appbar__back{font-size:30px;line-height:1;width:34px;height:34px;border-radius:12px;color:var(--sky);margin-right:-4px}
.appbar__back:active{background:var(--surface2)}
.appbar__brand{display:flex;align-items:center;gap:11px;min-width:0;flex:1}
.appbar__logo{width:40px;height:40px;object-fit:contain;border-radius:11px;
  background:#fff;box-shadow:0 2px 8px rgba(13,35,68,.14)}
.appbar__titles{display:flex;flex-direction:column;min-width:0}
.appbar__title{font-weight:800;font-size:16px;letter-spacing:.02em;line-height:1.15}
.appbar__sub{font-size:11px;color:var(--muted);letter-spacing:.08em}
.appbar__status{
  font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;
  padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);
}
.appbar__status.is-open{color:#0b7a43;background:#e2f6eb;border-color:rgba(11,122,67,.3)}
.appbar__status.is-closed{color:#b3121d;background:#fdeaec;border-color:rgba(179,18,29,.28)}

/* ===== Screens ===== */
#app{position:relative;z-index:1;max-width:760px;margin:0 auto}
.screen{display:none;animation:fade .35s ease}
.screen.is-active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ===== Hero ===== */
.hero{position:relative;padding:6px 20px 0;overflow:hidden;flex:none;text-align:center}
.hero__glow{position:absolute;top:-80px;left:50%;width:380px;height:260px;translate:-50% 0;
  background:radial-gradient(closest-side,rgba(255,255,255,.9),transparent);pointer-events:none}
.hero__heli{
  position:relative;width:auto;height:clamp(58px,14dvh,118px);margin:0 auto -2px;
  filter:drop-shadow(0 16px 14px rgba(13,35,68,.22));
  animation:hover 5.5s ease-in-out infinite;
}
@keyframes hover{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-12px) rotate(.4deg)}}
.hero__text{position:relative;text-align:center;margin-top:2px}
.hero__eyebrow{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;margin:0;padding-left:.3em;
  font-size:12px;font-weight:900;letter-spacing:.3em;color:#0d2344}
.hero__eyebrow::before,.hero__eyebrow::after{content:"";flex:none;width:30px;height:4px;border-radius:2px;
  background:linear-gradient(90deg,#1a5fd6 0 55%,#e60012 55% 100%)}
.hero__eyebrow::after{background:linear-gradient(90deg,#e60012 0 45%,#1a5fd6 45% 100%)}
.hero__title{font-size:30px;line-height:1.18;font-weight:900;margin:0 0 12px;letter-spacing:.01em}
.hero__lead{font-size:13.5px;line-height:1.7;color:var(--muted);max-width:30em;margin:0 auto}

/* ===== Mode grid ===== */
.screen--home.is-active{height:calc(100dvh - 65px - env(safe-area-inset-top));display:flex;flex-direction:column;overflow:hidden}
.modes{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,minmax(44px,1fr));gap:8px;padding:8px 16px;flex:1;min-height:0}
.mode{
  --ac:#1a5fd6; --ac-bg:#e5eefc;
  position:relative;text-align:center;border-radius:16px;padding:8px 10px 8px 15px;min-height:0;
  background:linear-gradient(180deg,#ffffff,#f6f9ff);color:#0d2344;
  border:1px solid rgba(13,35,68,.08);
  box-shadow:0 1px 2px rgba(13,35,68,.06),0 10px 22px -12px rgba(13,35,68,.38);overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(4px,1dvh,8px);
  transition:transform .18s ease,box-shadow .18s ease;
}
.mode::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--ac)}
.mode:active{transform:scale(.97)}
.mode:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
@media(hover:hover){
  .mode:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(13,35,68,.06),0 16px 28px -12px rgba(13,35,68,.42)}
}
.mode[data-mode="beginner"]{--ac:#11915a;--ac-bg:#e0f4e9}
.mode[data-mode="reflection"]{--ac:#d6313d;--ac-bg:#fde6e8}
.mode[data-mode="inventory"]{--ac:#d97a00;--ac-bg:#fff0d9}
.mode[data-mode="drugs"]{--ac:#c2327a;--ac-bg:#fbe5ef}
.mode[data-mode="stats"]{--ac:#6b4fe0;--ac-bg:#ece7ff}
.mode[data-mode="quiz"]{--ac:#0891a8;--ac-bg:#ddf3f7}
.mode__ic{
  width:clamp(28px,5dvh,40px);height:clamp(28px,5dvh,40px);border-radius:11px;display:grid;place-items:center;flex:none;
  position:relative;z-index:1;background:var(--ac-bg);color:var(--ac);
}
.mode__ic svg{width:60%;height:60%}
/* 名称は常に1行。最長の「ケースレビューモード」(10字)がカード幅に収まるよう、カード幅に比例させる（全カード同じ大きさ） */
.mode{container-type:inline-size;padding:6px 6px 6px 11px}
.mode__name{position:relative;z-index:1;font-weight:800;font-size:14px;font-size:min(16px,9.8cqi);line-height:1.25;letter-spacing:0;color:#0d2344;white-space:nowrap}
/* 地図モード: 左は青地、右は機体と同じ白地に赤・青の斜めライン */
.mode--primary{grid-column:1 / -1;min-height:0;flex-direction:row;justify-content:flex-start;gap:14px;padding-left:22px;
  border:1px solid rgba(13,35,68,.08);color:#fff;
  background:linear-gradient(115deg,#0c46b3 0%,#1a64e8 45%,#2f86ff 80%);
  box-shadow:0 14px 28px -12px rgba(12,70,179,.7);}
.mode--primary::before{left:auto;right:-40px;top:-10%;bottom:-10%;width:140px;transform:skewX(-24deg);
  background:linear-gradient(90deg,#e60012 0 20px,#fff 20px 26px,#1a5fd6 26px 31px,#fff 31px);
  box-shadow:-5px 0 0 #fff}
.mode--primary:focus-visible{outline-color:#0c46b3}
.mode--primary .mode__ic{width:clamp(34px,6dvh,48px);height:clamp(34px,6dvh,48px);border-radius:13px;background:rgba(255,255,255,.18);color:#fff}
.mode--primary .mode__name{color:#fff;font-size:19px;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.mode__desc{font-size:12px;color:var(--muted);line-height:1.55}
.mode__body{display:flex;flex-direction:column;gap:5px;min-width:0}
.mode__arrow{margin-left:auto;color:var(--sky);font-size:24px;align-self:center}
.mode__glow{display:none}
.mode--primary .mode__glow{display:block;position:absolute;left:-40px;top:-70px;width:220px;height:170px;
  background:radial-gradient(closest-side,rgba(255,255,255,.3),transparent);pointer-events:none}
@media(prefers-reduced-motion:reduce){.hero__heli{animation:none}.mode{transition:none}}
.mode.is-soon{opacity:.62}
.mode.is-soon .mode__arrow{display:none}
.badge-soon{position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;letter-spacing:.06em;
  color:var(--warn);background:rgba(255,176,32,.13);border:1px solid rgba(255,176,32,.35);
  padding:3px 8px;border-radius:999px}
.accent-red{color:var(--red-soft)} .accent-blue{color:var(--sky)} .accent-cyan{color:var(--cyan)}
.accent-amber{color:var(--warn)} .accent-green{color:var(--ok)}

.home__foot{margin:0;text-align:center;color:#4f6585;font-size:10px;padding:3px 12px 0;letter-spacing:.02em;line-height:1.25}
.home__foot:empty{display:none}
.home__sync{display:block;margin:10px auto 4px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--blue);font-size:11px;font-weight:800}
.home__sync:disabled{opacity:.55}
.home__sync-status{display:block;min-height:1.3em;margin:0 auto 4px;text-align:center;color:var(--muted);font-size:11px}
.home__role{display:inline-block;margin-top:3px;color:#4f6585;font-size:10px}
.home__role a{color:#1a5fd6;text-decoration:underline;text-underline-offset:2px}
.home__role a:hover,.home__role a:focus-visible{color:#0d2344}
.home__logout{display:inline-block;margin-top:3px;padding:3px 10px;color:#4f6585;font-size:10px;text-decoration:none;background:rgba(255,255,255,.7);border:1px solid rgba(13,35,68,.16);border-radius:999px}
.home__logout:hover,.home__logout:focus-visible{color:#0d2344;border-color:#4f6585}
.home__private-links{margin:2px 0 calc(env(safe-area-inset-bottom) + 3px);text-align:center;line-height:1}
.home__private-links:empty{display:none}
.home__usage{color:#4f6585;font-size:10px;text-decoration:underline;text-underline-offset:2px}
.home__usage:hover,.home__usage:focus-visible{color:#0d2344}

/* ===== このアプリについて ===== */
.about-body{min-height:100%;height:auto;background:#eef4fb;color:#172b47}
.about-back{display:grid;place-items:center;flex:0 0 auto;text-decoration:none}
.about-page{width:min(100% - 28px,760px);margin:0 auto;padding:22px 0 calc(40px + env(safe-area-inset-bottom))}
.about-card{margin-bottom:14px;padding:20px;border:1px solid #cfdaea;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(31,65,110,.07)}
.about-card--lead{border-top:4px solid #1969c5}.about-card--warning{border:2px solid #df9b28;background:#fffaf0}
.about-kicker{margin:0 0 5px!important;color:#236bbd!important;font-size:11px!important;font-weight:900;letter-spacing:.12em}
.about-card h1{margin:0 0 14px;color:#10213a;font-size:clamp(23px,5.8vw,32px);line-height:1.4}
.about-card h2{margin:0 0 12px;color:#152b48;font-size:19px}
.about-card p{margin:8px 0;color:#4c607a;font-size:14px;line-height:1.85}
.about-features{display:grid;gap:0;margin:0}.about-features div{padding:11px 0;border-top:1px solid #e1e7ef}.about-features div:first-child{padding-top:0;border-top:0}
.about-features dt{color:#164f91;font-size:14px;font-weight:900}.about-features dd{margin:3px 0 0;color:#55677e;font-size:13.5px;line-height:1.65}
.about-list{margin:0;padding-left:21px}.about-list li{color:#4b4131;font-size:13.5px;line-height:1.75}.about-list li+li{margin-top:9px}
.about-return{text-align:center}.about-return a{display:inline-flex;min-height:44px;align-items:center;padding:8px 18px;border:1px solid #aac0dd;border-radius:99px;background:#fff;color:#175da8;font-size:13px;font-weight:900;text-decoration:none}
@media(max-width:480px){.about-page{width:min(100% - 20px,760px);padding-top:12px}.about-card{padding:17px}}

/* ===== Map screen ===== */
.screen--map{
  position:relative;
  --surface:rgba(26,56,96,.06);
  --surface2:rgba(26,56,96,.10);
  --line:rgba(50,76,112,.18);
  --text:#14213d;
  --muted:#546783;
  --dim:#7b8ba3;
}
.map{height:calc(100vh - 64px - env(safe-area-inset-top));width:100%;background:#dfe9f4}
.leaflet-container{background:#dfe9f4;font-family:var(--font)}
.map__legend{
  position:absolute;top:12px;left:12px;z-index:600;display:flex;flex-wrap:wrap;gap:6px;max-width:74%;
  background:rgba(255,255,255,.88);backdrop-filter:blur(8px);padding:8px 10px;border-radius:14px;border:1px solid rgba(42,68,106,.18);
  box-shadow:0 8px 24px rgba(31,52,82,.16);
}
.map__legend[hidden]{display:none}
.legend__item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);font-weight:600}
.legend__dot{width:10px;height:10px;border-radius:50%}

/* タイルが無いときの固定RP地図。背景SVGとピンは同じ緯度経度範囲を使う。 */
.map--offline{overflow-y:auto;background:#edf3fa}
.offline-map{width:min(100%,860px);margin:0 auto;padding:18px 14px calc(36px + env(safe-area-inset-bottom))}
.offline-map__head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#132946}
.offline-map__head strong{display:block;font-size:20px}.offline-map__head small{display:block;color:#5b6d84;font-size:11px}
.offline-map__head>span{white-space:nowrap;font-size:12px;font-weight:800;color:#245ea8}
.offline-map__note{margin:9px 0 12px;color:#425975;font-size:12px;line-height:1.6}
.offline-map__regions{display:flex;flex-wrap:wrap;gap:5px 11px;margin:0 0 10px;color:#3d516c;font-size:11px;font-weight:700}
.offline-map__regions span{display:inline-flex;align-items:center;gap:4px}.offline-map__regions i{display:inline-block;width:9px;height:9px;border-radius:50%}.offline-map__regions .offline-map__base-dot{background:#c62828}
.offline-map__plot{position:relative;width:100%;height:clamp(420px,62vh,620px);border:1px solid #a9bfd8;border-radius:16px;overflow:hidden;touch-action:none;
  background-color:#d7ebf7;background-image:url('../image/doo-offline-map.svg');background-size:100% 100%;background-repeat:no-repeat}
.offline-map__plot.leaflet-container{height:clamp(420px,62vh,620px);width:100%;border-radius:16px;background:#d7ebf7;touch-action:none}
.offline-map__plot--interactive{background-image:none}
.offline-map__plot::after{content:'概略図・航法に使用しない';position:absolute;left:10px;bottom:9px;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.88);color:#48627d;font-size:10px;pointer-events:none}
.offline-map__source{margin:5px 3px 0;color:#64778d;font-size:10px;text-align:right}
.offline-map__north{position:absolute;top:9px;right:10px;color:#345678;font-size:12px;font-weight:900}
.offline-map__pin,.offline-map__base{position:absolute;z-index:1;transform:translate(-50%,-50%);width:17px;height:17px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 7px rgba(17,42,72,.45)}
.offline-map__pin:hover,.offline-map__pin:focus-visible,.offline-map__base:hover,.offline-map__base:focus-visible{z-index:3;outline:3px solid #1b4b85;outline-offset:2px}
.offline-map__base{z-index:2;display:grid;place-items:center;width:28px;height:28px;background:#c62828;color:#fff;font-size:13px;font-weight:900}
.offline-map__search{display:block;margin:16px 0 9px;color:#263c5a;font-size:12px;font-weight:800}
.offline-map__search input{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #aac0d8;border-radius:10px;background:#fff;color:#172b47;font:inherit;font-size:14px}
.offline-map__results{display:grid;gap:6px}.offline-map__empty,.offline-map__missing{padding:20px;border:1px solid #ccd8e7;border-radius:12px;background:#fff;color:#4d6079;line-height:1.7}
.offline-rp{display:grid;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;padding:10px 11px;border:1px solid #cbd9e9;border-radius:11px;background:#fff;color:#172b47;text-align:left}
.offline-rp:focus-visible,.offline-rp:hover{outline:2px solid #3571b9}.offline-rp__dot{width:12px;height:12px;border-radius:50%}
.offline-rp__name{display:grid;min-width:0;gap:2px}.offline-rp__name b,.offline-rp__name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.offline-rp__name b{font-size:13px}.offline-rp__name small{color:#5f7087;font-size:11px}
.offline-rp__times{display:grid;gap:1px;min-width:56px;color:#1e4f89;font-size:12px;font-weight:900;text-align:right}
.offline-rp__times small{color:#718096;font-size:9px;font-weight:600}
@media(max-width:420px){.offline-rp{gap:5px;padding:9px 7px}.offline-rp__times{min-width:48px;font-size:11px}}

/* marker pin: Leaflet の iconAnchor を座標基準にする（ズーム時の位置ずれ防止） */
.map-pin-icon{background:none;border:0}
.pin{position:relative;width:18px;height:24px}
.pin__dot{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);
  border:2px solid #fff;box-shadow:0 4px 12px rgba(28,46,72,.34)}
.pin--base{width:30px;height:30px}
.pin--base .pin__dot{position:static;width:14px;height:14px;border-radius:50%;background:#fff;transform:none}
.pin__label{position:absolute;left:50%;top:20px;transform:translateX(-50%);white-space:nowrap;
  font-size:10.5px;font-weight:800;color:#18304d;text-shadow:0 1px 0 #fff,0 0 4px #fff;pointer-events:none}
.pin--base .pin__label{top:32px}
.base-ring{width:30px;height:30px;border-radius:50%;border:2px solid var(--cyan);
  display:grid;place-items:center;box-shadow:0 0 0 4px rgba(55,224,216,.18)}

/* ===== Bottom sheet ===== */
.sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:700;max-width:760px;margin:0 auto;
  color:var(--text);
  background:linear-gradient(180deg,#ffffff,#f4f8fd);
  border-radius:24px 24px 0 0;border:1px solid var(--line);border-bottom:0;
  box-shadow:0 -16px 42px rgba(28,46,72,.24);
  transform:translateY(102%);transition:transform .34s cubic-bezier(.22,1,.36,1);
  max-height:82vh;display:flex;flex-direction:column;
}
.sheet.is-open{transform:translateY(0)}
.sheet__grip{width:44px;height:5px;border-radius:99px;background:rgba(20,33,61,.20);margin:10px auto 4px;flex:none}
.sheet__body{overflow-y:auto;padding:6px 18px calc(env(safe-area-inset-bottom) + 22px);-webkit-overflow-scrolling:touch}

/* sheet content */
.det__head{display:flex;align-items:flex-start;gap:10px;padding:6px 0 12px}
.det__name{font-size:23px;font-weight:900;line-height:1.15}
.det__sub{font-size:12px;color:var(--muted);margin-top:3px}
.det__close{margin-left:auto;width:34px;height:34px;border-radius:50%;background:var(--surface);
  border:1px solid var(--line);font-size:18px;color:var(--muted);flex:none}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.chip{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.chip--reg{color:#1565c0;border-color:rgba(21,101,192,.3);background:#e8f0fe}
.chip--in{color:#bfe9cf;border-color:rgba(47,208,122,.4);background:rgba(47,208,122,.12)}
.chip--out{color:#ffc9c9;border-color:rgba(230,0,18,.4);background:rgba(230,0,18,.12)}

/* transport compare */
.tx{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:6px 0 4px}
.tx__card{border-radius:16px;padding:14px;border:1px solid var(--line);background:var(--surface);position:relative;overflow:hidden}
.tx__card--heli{background:linear-gradient(150deg,rgba(47,109,246,.22),rgba(47,109,246,.06));border-color:rgba(86,177,255,.35)}
.tx__card--ground{background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.tx__lbl{font-size:11.5px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:6px}
.tx__val{font-size:30px;font-weight:900;line-height:1;margin-top:8px}
.tx__val small{font-size:13px;font-weight:700;color:var(--muted);margin-left:3px}
.tx__save{margin:10px 0 2px;font-size:12.5px;font-weight:700;color:#bfe9cf;text-align:center;
  background:rgba(47,208,122,.1);border:1px solid rgba(47,208,122,.3);border-radius:12px;padding:9px}
.tx__save b{font-size:16px;color:#7dffb0}

.sec{margin-top:18px}
.sec__t{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--sky);margin:0 0 9px;
  display:flex;align-items:center;gap:7px;text-transform:uppercase}
.sec__t::before{content:"";width:4px;height:14px;border-radius:2px;background:var(--sky)}
.hosp{display:flex;flex-wrap:wrap;gap:7px}
.hosp__item{font-size:13px;font-weight:600;padding:8px 12px;border-radius:12px;
  background:var(--surface);border:1px solid var(--line)}
.note{font-size:13px;line-height:1.7;color:var(--text);background:var(--surface);
  border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.note--best{border-color:rgba(55,224,216,.35);background:rgba(55,224,216,.08)}
.note--warn{border-color:rgba(255,176,32,.3);background:rgba(255,176,32,.08)}
.note--extra{border-color:rgba(47,109,246,.28);background:rgba(47,109,246,.07)}
.note__k{font-size:11px;font-weight:800;color:var(--cyan);letter-spacing:.05em;display:block;margin-bottom:4px}
.note--warn .note__k{color:var(--warn)}
.note--extra .note__k{color:var(--blue)}

.lesson{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:9px;background:var(--surface)}
.lesson__t{font-size:13.5px;font-weight:800;line-height:1.4;margin-bottom:5px}
.lesson__s{font-size:12.5px;line-height:1.65;color:var(--muted)}
.lesson__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.tag{font-size:10.5px;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.empty{font-size:12.5px;color:var(--dim);padding:8px 0}
.src{display:inline-block;margin-top:4px;font-size:11px;color:var(--sky)}

@media(min-width:560px){
  .hero__title{font-size:36px}
  .modes{padding-inline:20px}
}

/* ===== 更新: ヒーロー簡素化・モード追加色 ===== */
.accent-purple{color:#a07bff}

/* ===== 更新: 地図モードを明るく ===== */
.map{background:#dfe7f1}
.map__legend{background:rgba(255,255,255,.86);border-color:rgba(12,32,64,.12);backdrop-filter:blur(8px)}
.legend__item{color:#33425e}
.pin__dot{border-color:#fff}
.pin__label{color:#0e1c33;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 4px #fff}
/* 基地病院: 赤地に白の H（ヘリポート記号） */
.base-ring{background:#c62828;border:2px solid #fff;color:#fff;font-weight:900;font-size:16px;line-height:1;font-family:system-ui,sans-serif;box-shadow:0 0 0 3px rgba(198,40,40,.35),0 4px 12px rgba(28,46,72,.34)}
.legend__dot--base{width:14px;height:14px;background:#c62828;color:#fff;font-size:9px;font-weight:900;line-height:1;display:inline-grid;place-items:center}
.hrow__n{margin-left:6px;font-size:11px;font-weight:600;color:#5a6b86}

/* 詳細パネル: ライトテーマ */
.sheet{background:linear-gradient(180deg,#ffffff,#eef3fb);border-color:rgba(12,32,64,.12);box-shadow:0 -16px 50px rgba(20,40,80,.28)}
.sheet__grip{background:rgba(12,32,64,.22)}
.det__name{color:#0e1c33}
.det__sub{color:#5a6b86}
.det__close{background:#eef3fb;border-color:rgba(12,32,64,.12);color:#5a6b86}
.chip{color:#5a6b86;border-color:rgba(12,32,64,.14)}
.chip--in{color:#0f7a45;border-color:rgba(20,160,90,.4);background:rgba(20,160,90,.12)}
.chip--out{color:#c0392b;border-color:rgba(220,60,40,.4);background:rgba(220,60,40,.1)}
.tx__card{border-color:rgba(12,32,64,.12);background:#f3f7fd}
.tx__card--heli{background:linear-gradient(150deg,#e3edff,#f3f8ff);border-color:rgba(47,109,246,.3)}
.tx__card--ground{background:#f1f5fb}
.tx__lbl{color:#5a6b86}
.tx__val{color:#0e1c33}
.tx__val small{color:#5a6b86}
.tx__save{color:#0f7a45;background:#e6f7ee;border-color:rgba(20,160,90,.35)}
.tx__save b{color:#0a9a52}
.sec__t{color:#1565c0}
.sec__t::before{background:#1565c0}
.hosp__item{background:#f1f5fb;border-color:rgba(12,32,64,.12);color:#1f2c44}
.note{background:#f1f5fb;border-color:rgba(12,32,64,.12);color:#1f2c44}
.note--best{background:#e7faf5;border-color:rgba(16,150,134,.3)}
.note--warn{background:#fff4e0;border-color:rgba(200,140,20,.35)}
.note__k{color:#0b8f86}
.note--warn .note__k{color:#b9760a}
.lesson{background:#f7f9fd;border-color:rgba(12,32,64,.1)}
.lesson__t{color:#14233c}
.lesson__s{color:#54637e}
.tag{color:#6b7a96;border-color:rgba(12,32,64,.14)}
.src{color:#1565c0}
.empty{color:#8595af}

/* 編集アプリへの導線 */
.home__edit{color:var(--sky);font-weight:700;border:1px solid var(--line);padding:7px 14px;border-radius:999px;text-decoration:none}
.home__edit:active{background:var(--surface)}

/* 反省・事例の発生年月バッジ */
.lesson__date{display:inline-block;font-size:11px;font-weight:800;color:#1565c0;background:#e8f0fe;border:1px solid rgba(21,101,192,.25);border-radius:999px;padding:2px 9px;margin-bottom:6px}

/* 搬送時間の内訳・脚注 */
.tx__bd{font-size:10.5px;color:#5a6b86;font-weight:700;margin-top:7px}
.tx__foot{font-size:10.5px;color:#8595af;line-height:1.55;margin-top:8px}

/* ===== 試作モード群 ===== */
.badge-proto{color:var(--sky);background:rgba(86,177,255,.13);border-color:rgba(86,177,255,.35)}
.modewrap{max-width:760px;margin:0 auto;padding:18px 16px calc(env(safe-area-inset-bottom) + 40px)}
.mode-hd h2{font-size:24px;font-weight:900;margin:6px 0 2px}
.mode-hd p{color:var(--muted);font-size:13px;margin:0 0 6px}
.proto-note{font-size:12px;color:#1a3f7a;background:#e8f0fe;border:1px solid rgba(26,95,214,.25);border-radius:12px;padding:9px 12px;margin:10px 0 16px}
.li{font-size:13.5px;line-height:1.7;color:var(--text);padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);margin-bottom:7px}
/* accordion */
.acc__item{margin-bottom:9px}
.acc__h{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:800;
  padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,var(--surface2),var(--surface));color:var(--text)}
.acc__h span{color:var(--sky);font-size:20px}
.acc__b{display:none;padding:10px 2px 2px}
.acc__b.open{display:block}
/* segment */
.seg{margin:12px 0}
.seg>label{font-size:12px;font-weight:800;color:var(--muted);display:block;margin-bottom:6px}
.seg__b{display:flex;flex-wrap:wrap;gap:7px}
.seg__b button{font-size:13px;font-weight:700;padding:8px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.seg__b button.on{background:var(--primary,#2f6df6);color:#fff;border-color:transparent}
.seg__b button:disabled{opacity:.35}
.bigbtn{width:100%;margin-top:14px;padding:14px;border-radius:14px;background:linear-gradient(120deg,#2f6df6,#1f57d6);color:#fff;font-weight:800;font-size:15px}
/* quiz */
.qsum{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;color:var(--muted);margin:2px 0 0}
.qsum__chg{font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
#quiz-root .mode-hd h2{margin:0}
.qcard{margin-top:10px;border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(160deg,var(--surface2),var(--surface))}
.qnum{font-size:12px;color:var(--muted);font-weight:700}
.qq{font-size:16px;font-weight:800;margin:6px 0 12px;line-height:1.5}
.qopts{display:flex;flex-direction:column;gap:8px}
.qopt{text-align:left;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600}
.qopt.ok{background:rgba(47,208,122,.18);border-color:rgba(47,208,122,.5)}
.qopt.ng{background:rgba(230,0,18,.16);border-color:rgba(230,0,18,.5)}
.qresult{font-size:30px;font-weight:900;text-align:center}
.qresult.pass{color:#0b7a43}.qresult.fail{color:#c21f2a}
.qjudge{text-align:center;color:var(--muted);margin:8px 0 4px;font-weight:700}
.qfeedback{margin-top:14px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.qfeedback.ok{border-color:rgba(47,208,122,.45);background:rgba(47,208,122,.09)}
.qfeedback.ng{border-color:rgba(255,176,32,.45);background:rgba(255,176,32,.08)}
.qfeedback>strong{font-size:17px}.qfeedback p{font-size:14px;line-height:1.65;margin:7px 0}.qfeedback small{display:block;color:var(--muted);font-size:12px;line-height:1.5}
.qfeedback .qnext{margin-top:12px}
/* logi */
.bag{margin-bottom:16px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.bag__h{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:rgba(255,176,32,.12);font-weight:800}
.sect{border-top:1px solid var(--line);padding:10px 14px}
.sect__h{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13.5px;color:var(--sky);margin-bottom:8px}
.sect__items{display:flex;flex-direction:column;gap:6px}
.chk{font-size:13.5px;color:var(--text);display:flex;align-items:center;gap:9px}
.say{font-size:11.5px;font-weight:700;color:var(--sky);background:rgba(86,177,255,.12);border:1px solid rgba(86,177,255,.3);border-radius:999px;padding:5px 11px}
.sayctl{display:inline-flex;gap:6px;align-items:center}
.say--on{background:var(--sky);color:#fff;border-color:var(--sky)}
.say--paused{background:rgba(86,177,255,.12);color:var(--sky);border-color:var(--sky)}
.saystop{font-size:11.5px;font-weight:700;color:#c0392b;background:rgba(192,57,43,.10);border:1px solid rgba(192,57,43,.32);border-radius:999px;padding:5px 11px}
.saystop[hidden]{display:none}
/* legacy beginner flow */
.flow{list-style:none;padding:0;margin:8px 0;counter-reset:f}
.flow li{position:relative;padding:12px 14px 12px 46px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:9px}
.flow li::before{counter-increment:f;content:counter(f);position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;background:var(--primary,#2f6df6);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center}
.flow__t{font-weight:800;font-size:14.5px}
.flow__d{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:3px}
/* stats */
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.statc{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;padding:16px 16px 16px 20px;background:#fff;box-shadow:var(--shadow)}
.statc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--blue)}
.statc__v{font-size:29px;font-weight:900;line-height:1.05;color:var(--blue)}
.statc__k{font-size:12.5px;color:var(--text);margin-top:7px;font-weight:800}
.statc__sub{font-size:11px;color:var(--muted);margin-top:7px;font-weight:650}
.statfilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;margin-bottom:16px}
#stats-root>.mode-hd .statcond{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:6px 0 4px;padding:9px 12px;
  border:1px solid rgba(26,95,214,.28);border-left:5px solid var(--blue);border-radius:10px;
  background:rgba(26,95,214,.08);color:var(--text);font-size:16px;font-weight:900;line-height:1.4}
.statcond__k{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;font-weight:800}

/* エキスパートの会議日バッジ・旧ビギナー10項目 */
.li .ref{display:inline-block;font-size:10.5px;font-weight:800;color:var(--sky);background:rgba(86,177,255,.13);border:1px solid rgba(86,177,255,.3);border-radius:999px;padding:1px 8px;margin-right:8px;vertical-align:1px}
.top10{border:1px solid rgba(86,177,255,.35);background:rgba(47,109,246,.1);border-radius:16px;padding:14px 16px;margin:10px 0 16px}
.top10__h{font-weight:800;color:#1a3f7a;margin-bottom:8px}
.top10 ol{margin:0;padding-left:20px}
.top10 li{font-size:13px;line-height:1.8;color:var(--text)}

/* ===== ベーシックモード：勤務中の状況別マニュアル ===== */
.basic-hd{margin-bottom:10px}
.basic-hours{margin:0 0 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.basic-hours h3{margin:0;padding:11px 14px 9px;font-size:14px;color:var(--sky);border-bottom:1px solid var(--line)}
.basic-hours__scroll{overflow-x:auto}
.basic-hours table{width:100%;border-collapse:collapse;font-size:12.5px}
.basic-hours th,.basic-hours td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.basic-hours thead th{color:var(--dim);font-size:11px;font-weight:800;background:rgba(255,255,255,.025)}
.basic-hours tbody th{color:var(--text);font-weight:700}
.basic-hours tbody td{color:var(--muted);font-weight:700}
.basic-hours tbody tr:last-child th,.basic-hours tbody tr:last-child td{border-bottom:0}
.basic-tools{position:sticky;top:65px;z-index:8;margin:0 -4px 12px;padding:8px 4px;background:rgba(237,245,254,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.basic-search span{display:block;font-size:12px;font-weight:800;color:var(--muted);margin:0 0 5px 3px}
.basic-search input{width:100%;font:inherit;font-size:16px;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px;outline:none}
.basic-search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,95,214,.15)}
.basic-cats{display:flex;gap:7px;overflow-x:auto;padding:8px 1px 2px;scrollbar-width:none}.basic-cats::-webkit-scrollbar{display:none}
.basic-cats button{flex:none;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:13px;font-weight:750}
.basic-cats button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.basic-group{margin:0 0 20px}.basic-group>h3{font-size:14px;color:var(--sky);letter-spacing:.06em;margin:0 0 8px;padding-left:3px}
.basic-card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden;margin-bottom:10px;scroll-margin-top:142px}
.basic-card__head{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:14px 15px;gap:12px}
.basic-card__head>span:first-child{display:flex;flex-direction:column;min-width:0}.basic-card__when{font-size:12px;color:var(--muted);margin-bottom:4px}.basic-card__head strong{font-size:17px;line-height:1.35}.basic-card__head small{font-size:14px;line-height:1.55;color:var(--muted);margin-top:5px;font-weight:500}
.basic-card__toggle{font-size:24px;color:var(--sky);flex:none}.basic-card__body{display:none;border-top:1px solid var(--line);padding:13px}.basic-card__body.open{display:block}
.basic-block{margin:0 0 14px}.basic-block h4{font-size:13px;letter-spacing:.05em;color:var(--sky);margin:0 0 7px}.basic-line{font-size:15px;line-height:1.6;padding:9px 11px;margin-bottom:6px;border-radius:10px;background:var(--surface2)}
.basic-block--avoid h4{color:#c21f2a}.basic-block--avoid .basic-line{border-left:3px solid var(--red-soft);background:#fdecee}
.basic-block--trouble h4{color:#a35c00}.basic-block--trouble .basic-line{border-left:3px solid #e08a00;background:#fff4e0}
.basic-block--detail .basic-line{color:var(--text);background:#edf3fd}
.basic-block--note h4{color:#a35c00}.basic-block--note .basic-line{border-left:3px solid #e08a00;background:#fff4e0}
.basic-block--example h4{color:#0b7a43}.basic-block--example .basic-line{border-left:3px solid #13a35a;background:#e6f6ed}
.basic-block--check h4{color:var(--text)}
.basic-check{display:flex;width:100%;align-items:flex-start;gap:10px;text-align:left;padding:12px 12px;margin-bottom:7px;border:1px solid #c7d2e4;border-left:5px solid #c7d2e4;border-radius:11px;background:#fff;color:#16233d;box-shadow:0 1px 3px rgba(13,35,68,.12)}
.basic-check__box{display:grid;place-items:center;width:24px;height:24px;flex:none;border:2px solid #7b8aa6;border-radius:7px;color:transparent;font-size:14px;font-weight:900;margin-top:1px;background:#fff}
.basic-check__text{font-size:15.5px;line-height:1.55;flex:1;font-weight:600;color:#16233d}
.basic-check.is-critical{border-left-color:var(--red)}
.basic-check.is-done{background:#e6ebf3;border-color:#b3c0d4;border-left-color:#b3c0d4;box-shadow:none}
.basic-check.is-done .basic-check__box{color:#fff;background:var(--ok);border-color:var(--ok)}
.basic-check.is-done .basic-check__text{text-decoration:line-through;color:#66748d;font-weight:500}
.basic-empty{text-align:center;color:var(--muted);padding:34px 16px;border:1px dashed var(--line);border-radius:14px}
@media (max-width:420px){.basic-tools{top:62px}.basic-card__head small{font-size:13.5px}}

/* ロジ: チェック基本情報 */
.lmetarow{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.lmeta{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);font-weight:700}
.lmeta input{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:13px;min-width:120px}

/* 現場滞在セレクタ・近隣病院行 */
.scene{display:flex;align-items:center;gap:10px;margin:6px 0 12px}
.scene__lbl{font-size:12px;font-weight:800;color:#5a6b86}
.scene__b{display:flex;gap:6px}
.scene__b button{font-size:12.5px;font-weight:700;padding:6px 11px;border-radius:999px;border:1px solid rgba(12,32,64,.14);background:#f1f5fb;color:#5a6b86}
.scene__b button.on{background:#1565c0;color:#fff;border-color:#1565c0}
.hrow{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border:1px solid rgba(12,32,64,.12);border-radius:11px;background:#f1f5fb;margin-bottom:7px;font-size:13.5px;color:#1f2c44}
.hrow b{color:#0e1c33}

/* ロジ: 品名+よみ読み上げ・Note・送信 */
.chk{justify-content:flex-start}
.chk__n{flex:1}
.sayi{font-size:13px;padding:3px 8px;margin-left:auto}
.bagnote{padding:10px 14px;border-top:1px solid var(--line)}
.bagnote label{display:block;font-size:11.5px;font-weight:800;color:var(--sky);margin-bottom:5px}
.bagnote textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:13px;padding:8px 10px;font-family:inherit;line-height:1.5}

/* インベントリー: 送信ボタン群・メッセージ（旧inventory*/logi*別名を統一） */
.inventorybtns,.logibtns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
.inventorybtns .bigbtn,.logibtns .bigbtn{flex:1;margin-top:0;min-width:180px}
.inventorysub,.logisub{font-size:13px;font-weight:700;color:var(--sky);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.inventorymsg,.logimsg{font-size:12.5px;color:#1f8b46;margin-top:10px;min-height:1em}
.inventorymsg.warn,.logimsg.warn{color:var(--warn)}

/* インベントリー: 音声操作バー */
.audiobar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px}
.audioctl{display:flex;gap:8px}
.actl{font-size:12.5px;font-weight:700;color:var(--sky);background:rgba(86,177,255,.12);border:1px solid rgba(86,177,255,.32);border-radius:999px;padding:7px 13px}
.actl--stop{color:#c0392b;background:rgba(192,57,43,.10);border-color:rgba(192,57,43,.32)}

/* インベントリー: 申し送り＋全削除 */
.handover{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 16px;background:rgba(255,176,32,.07)}
.handover__lbl{display:block;font-size:12px;font-weight:800;color:#b9791a;margin-bottom:6px}
.handover textarea{width:100%;min-height:54px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:13px;padding:8px 10px;font-family:inherit;line-height:1.55}
.dangerbtn{margin-top:10px;width:100%;padding:11px;border-radius:12px;font-weight:800;font-size:13.5px;color:#fff;background:linear-gradient(120deg,#e05757,#c0392b);border:none}

/* インベントリー: セクション折り畳み */
.sect__h{gap:8px}
.sect__toggle{flex:1;display:flex;align-items:center;gap:8px;text-align:left;font-weight:700;font-size:13.5px;color:var(--sky);background:none;border:none;padding:0}
.sect__chev{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:rgba(86,177,255,.14);font-weight:800;font-size:14px;line-height:1}
.sect--folded .sect__items{display:none}

/* インベントリー: セクション一括チェック */
.sectall{font-size:11.5px;font-weight:800;color:var(--ok);background:rgba(47,208,122,.12);border:1px solid rgba(47,208,122,.34);border-radius:999px;padding:5px 11px;white-space:nowrap}

/* 地図詳細: 飛行時間の出典(実績中央値/回帰参考) */
.tx__src{margin-top:6px;font-size:10.5px;line-height:1.5;color:var(--muted);opacity:.95}

/* ===== エキスパートモード ===== */
.exbar{display:flex;align-items:center;gap:10px;margin:12px 0 4px}
.exbar input{flex:1;min-width:0;padding:10px 12px;font-size:15px;background:var(--surface);
  color:var(--text);border:1px solid var(--line);border-radius:10px}
.exbar__n{font-size:12px;color:var(--muted);white-space:nowrap}
.exf{display:flex;gap:8px;align-items:flex-start;margin:8px 0}
.exf__k{flex:0 0 4.5em;font-size:11.5px;color:var(--dim);padding-top:5px}
.exf__v{display:flex;flex-wrap:wrap;gap:5px}
.chip--f{cursor:pointer;background:var(--surface);border:1px solid var(--line);
  color:var(--muted);font-size:11.5px;border-radius:999px;padding:4px 10px;font-family:inherit}
.chip--f span{margin-left:5px;opacity:.6}
.chip--f.on{background:var(--blue);border-color:var(--blue);color:#fff}
.chip--f.on span{opacity:.85}
.exglobal{display:flex;align-items:center;gap:7px;margin:10px 0 14px;
  font-size:12px;color:var(--muted)}
.exlist{display:flex;flex-direction:column;gap:9px}
.exempty{color:var(--dim);font-size:13px;text-align:center;padding:28px 0}

/* --- 統計・リフレクション共通の折りたたみフィルタ --- */
.statbar{display:flex;justify-content:flex-end;align-items:flex-start;gap:10px;margin:10px 0 12px}
.statbar>button{flex:0 0 auto;padding:6px 12px;font-size:11.5px;font-weight:800;
  border:1px solid var(--line);border-radius:999px;background:var(--surface);
  color:var(--muted);font-family:inherit;cursor:pointer}
.statbar>button:hover{color:var(--text);border-color:var(--muted)}
.statf{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.statf.is-on{border-color:var(--blue);background:rgba(47,109,246,.12)}
.statf>summary{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;
  list-style:none;font-size:12px}
.statf>summary::-webkit-details-marker{display:none}
.statf>summary::after{content:'▾';margin-left:auto;opacity:.5;font-size:10px}
.statf[open]>summary::after{content:'▴'}
.statf__k{color:var(--dim);font-weight:800;white-space:nowrap}
.statf__v{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.statf.is-on .statf__v{color:var(--sky);font-weight:800}
.statf__opts{display:flex;flex-wrap:wrap;gap:5px;padding:2px 12px 12px}
.statopt{cursor:pointer;background:var(--surface2);border:1px solid var(--line);
  color:var(--muted);font-size:11.5px;border-radius:999px;padding:4px 10px;font-family:inherit}
.statopt span{margin-left:5px;opacity:.6}
.statopt.on{background:var(--blue);border-color:var(--blue);color:#fff}
.statopt.on span{opacity:.85}

/* ===== ホーム画面追加の案内(js/install-guide.js) ===== */
/* 地図の Leaflet コントロール(z-index:1000)より前に出す */
.install-guide-backdrop{
  position:fixed;inset:0;z-index:2000;display:grid;align-items:end;
  padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);
  background:rgba(4,8,18,.74);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}
.install-guide{
  width:min(100%,520px);max-height:calc(100dvh - 32px);overflow-y:auto;margin:0 auto;padding:20px;
  border:1px solid rgba(86,177,255,.35);border-radius:var(--r-lg);
  background:linear-gradient(180deg,var(--bg3),var(--bg2));box-shadow:var(--shadow);
}
.install-guide-head{display:flex;align-items:flex-start;gap:12px}
.install-guide-head>div{flex:1}
.install-guide-kicker{margin:0 0 2px;color:var(--sky);font-size:12px;font-weight:800;letter-spacing:.1em}
.install-guide h2{margin:0;font-size:20px;line-height:1.45;letter-spacing:.04em}
.install-guide-close{
  flex:0 0 auto;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;
  background:var(--surface);color:var(--text);font-size:24px;line-height:1;
}
.install-guide-lead{margin:14px 0;color:var(--muted);font-size:14px;line-height:1.7}
.install-steps{display:grid;gap:9px;margin:16px 0;padding:0;list-style:none}
.install-steps li{
  display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:54px;padding:9px 12px;
  border:1px solid var(--line);border-radius:12px;background:var(--surface2);line-height:1.55;font-size:14px;
}
.install-step-icon{color:var(--sky);font-size:20px;font-weight:800}
.install-step-icon svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;
  stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.install-primary{
  width:100%;min-height:46px;margin:10px 0 16px;padding:10px 14px;border-radius:12px;
  background:var(--blue);color:#fff;font-size:15px;font-weight:800;
}
.install-guide-note{margin:8px 0;color:var(--muted);font-size:12.5px;line-height:1.6}
.install-guide button:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
@media (max-height:700px){
  .install-guide{padding:16px}
  .install-guide-lead{margin:10px 0}
  .install-steps{gap:6px;margin:10px 0}
  .install-steps li{min-height:48px;padding-block:6px}
}

/* ===== 薬剤モード ===== */
.drug-draft{margin:10px 0 14px;padding:12px 14px;border:2px solid #f0a33a;border-radius:12px;background:#fff8e8;color:#775314;font-size:12.5px;line-height:1.6}
.drug-draft b{color:#a35c00;font-size:14px}
.drug-profiles{position:sticky;top:66px;z-index:20;display:flex;gap:6px;overflow-x:auto;margin:0 -4px 12px;padding:7px 4px;background:var(--bg);scrollbar-width:none}
.drug-profiles button{flex:0 0 auto;min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-weight:800}
.drug-profiles button.on{border-color:#e14d57;background:#c93e49;color:#fff}
.drug-weight-warning{margin:0 0 12px;padding:11px 13px;border-left:4px solid #e14d57;border-radius:8px;background:#fff1f1;color:#a71922;font-size:12.5px;line-height:1.6}
.drug-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.drug-tools label{display:grid;gap:5px;color:var(--muted);font-size:11.5px;font-weight:800}
.drug-tools input,.drug-tools select{width:100%;min-height:43px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}
.drug-count{margin:10px 0 7px;color:var(--dim);font-size:12px}
.drug-grid{display:grid;gap:10px;padding-bottom:30px}
.drug-use{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.drug-use--off{border-style:dashed;opacity:.84}
.drug-use__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.drug-use h3{margin:3px 0 0;font-size:15px;line-height:1.45}
.drug-name{color:var(--sky);font-size:12px;font-weight:900}
.drug-route{display:inline-block;margin:9px 0 5px;padding:3px 8px;border-radius:999px;background:rgba(86,177,255,.12);color:var(--sky);font-size:11.5px;font-weight:800}
.basis{flex:0 0 auto;padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:10px;font-weight:800}
.basis--offlabel{border-color:#e6a23c;color:#a35c00}.basis--insert{border-color:#54b879;color:#0b7a43}
.drug-dose{display:grid;grid-template-columns:48px 1fr;align-items:baseline;gap:8px;margin-top:8px}
.drug-dose span{color:var(--dim);font-size:11px;font-weight:800}.drug-dose strong{color:var(--text);font-size:18px;line-height:1.35}
.drug-prep,.drug-use>p,.drug-note{margin:8px 0 0;color:var(--muted);font-size:12.5px;line-height:1.65}
.drug-rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin-top:9px}
.drug-rates span{display:grid;gap:2px;padding:7px;border-radius:8px;background:var(--surface2);color:var(--text);font-size:12px}.drug-rates b{color:var(--sky);font-size:10.5px}
.drug-detail-btn{width:100%;min-height:40px;margin-top:12px;border:1px solid rgba(225,77,87,.45);border-radius:9px;background:#fff1f1;color:#c21f2a;font-weight:800}
.drug-empty{padding:28px 16px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center;line-height:1.7}
.drug-empty button{display:block;margin:12px auto 0;padding:8px 14px;border-radius:9px;background:var(--blue);color:#fff;font-weight:800}
.drug-modal{position:fixed;inset:0;z-index:2100;display:grid;align-items:end;background:rgba(3,7,16,.82)}
.drug-modal__panel{position:relative;max-height:90dvh;overflow-y:auto;padding:22px 16px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:var(--bg2);box-shadow:0 -10px 35px rgba(0,0,0,.4)}
.drug-modal__panel>h2{margin:3px 42px 6px 0}.drug-modal__panel>p,.drug-modal section p{color:var(--muted);font-size:13px;line-height:1.65}.drug-modal section{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.drug-modal section h3{margin:0 0 7px;font-size:14px}.drug-modal a{color:var(--sky)}
.drug-modal__close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface2);color:var(--text);font-size:24px}
.drug-kicker{margin:0!important;color:var(--sky)!important;font-size:11px!important;font-weight:900}
.drug-list{margin:0;padding-left:20px;color:var(--muted);font-size:12.5px;line-height:1.65}.drug-list li+li{margin-top:6px}
.drug-alert{border-color:#e6a23c!important;background:rgba(230,162,60,.1)!important}.drug-alert h3{color:#a35c00}
.drug-stop{border:2px solid #e14d57!important;background:rgba(225,77,87,.13)!important}.drug-stop h3{color:#ae2029}
@media(max-width:600px){.drug-tools{grid-template-columns:1fr}.drug-profiles{top:61px}.drug-dose strong{font-size:17px}}

/* 薬剤モード v2: 白地・段階遷移 */
#screen-drugs{background:#f4f7fb;color:#152238;min-height:100dvh}
#screen-drugs .modewrap{max-width:760px;padding:18px 14px 50px}
.drug-app{color:#152238}.drug-loading{padding:50px;text-align:center;color:#52627a}
.drug-back{margin:0 0 16px;padding:9px 13px;border:1px solid #cbd5e3;border-radius:10px;background:#fff;color:#245ea8;font-size:13px;font-weight:800}
.drug-title{padding:20px 4px 16px}.drug-title p{margin:0;color:#2871c7;font-size:11px;font-weight:900;letter-spacing:.12em}.drug-title h2{margin:4px 0;color:#10213a;font-size:30px}.drug-title span{color:#63738a;font-size:14px}.drug-title--compact{padding-top:4px}.drug-title--compact h2{font-size:25px}
.drug-draft-light{display:grid;gap:3px;margin-bottom:18px;padding:12px 14px;border:1px solid #efb44f;border-radius:12px;background:#fff8e8;color:#775314}.drug-draft-light b{font-size:14px}.drug-draft-light span,.drug-draft-light small{font-size:11.5px}
.patient-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.patient-choices button{display:grid;gap:8px;min-height:150px;padding:24px;border:1px solid #cbd8e8;border-radius:18px;background:#fff;color:#172b47;text-align:left;box-shadow:0 8px 24px rgba(31,65,110,.08)}.patient-choices strong{font-size:27px}.patient-choices span{color:#61748e;font-size:14px;line-height:1.6}.patient-choices button::after{content:'選択する →';align-self:end;color:#2470c8;font-size:13px;font-weight:900}
.weight-form{max-width:480px;padding:24px;border:1px solid #ccd8e7;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,65,110,.08)}.weight-form>label{font-size:14px;font-weight:900}.weight-form label div{display:flex;align-items:center;gap:10px;margin-top:9px}.weight-form input{width:180px;padding:12px;border:2px solid #8eacd0;border-radius:10px;color:#10213a;font-size:26px;font-weight:900}.weight-form label b{font-size:18px}.weight-form p{color:#6c7b8e;font-size:12px}.weight-form button{width:100%;margin-top:12px;padding:14px;border-radius:11px;background:#1969c5;color:#fff;font-size:15px;font-weight:900}
.drug-search{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;position:sticky;top:64px;z-index:15;padding:9px 0;background:#f4f7fb}.drug-search input,.drug-search select{min-width:0;padding:11px 12px;border:1px solid #bdcada;border-radius:10px;background:#fff;color:#172b47;font:inherit}.drug-list-count{margin:10px 2px;color:#738197;font-size:12px}.drug-name-list{display:grid;gap:8px}.drug-name-list button{position:relative;display:grid;gap:3px;width:100%;padding:14px 42px 14px 16px;border:1px solid #d0dae7;border-radius:12px;background:#fff;color:#172b47;text-align:left}.drug-name-list button span{color:#6e7f94;font-size:10.5px}.drug-name-list button strong{font-size:17px}.drug-name-list button small{color:#61748e}.drug-name-list button i{position:absolute;right:16px;top:50%;translate:0 -50%;color:#2871c7;font-size:26px;font-style:normal}
.drug-none{padding:25px;border:1px dashed #b9c6d6;border-radius:12px;background:#fff;color:#6a788b;text-align:center}.drug-critical{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;padding:12px 14px;border:2px solid #d8343d;border-radius:11px;background:#fff1f1;color:#a71922}.drug-critical span{font-size:12px;font-weight:800}
.emergency-use{margin-bottom:12px;padding:16px;border:1px solid #ccd7e4;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(33,60,96,.06)}.use-head{display:flex;justify-content:space-between;gap:8px}.use-head span{color:#1d65b5;font-size:11px;font-weight:900}.use-head b{padding:3px 7px;border-radius:6px;background:#edf4fc;color:#406184;font-size:10px}.emergency-use h3{margin:7px 0 4px;color:#12243d;font-size:18px}.route{display:inline-block;margin:2px 0 10px;padding:4px 8px;border-radius:99px;background:#e8f2ff;color:#175da8;font-size:11px;font-weight:800}
.adult-guides{display:grid;grid-template-columns:1fr 1fr;gap:10px}.adult-guides article{padding:12px;border:1px solid #d6deea;border-radius:10px;background:#f8fafc}.adult-guides h4{margin:0 0 8px;color:#245d9d;font-size:13px}
.dose-main{display:grid;gap:3px}.dose-main>span,.mix-main>span{color:#6d7b8d;font-size:10.5px;font-weight:800}.dose-main strong{color:#111f33;font-size:22px;line-height:1.35}.dose-main em{color:#c52631;font-size:17px;font-style:normal;font-weight:900}.mix-main{display:grid;gap:4px;margin-top:10px;padding:10px;border-left:4px solid #2470c8;border-radius:6px;background:#eef6ff}.mix-main b{color:#173553;font-size:13px;line-height:1.6}.drug-formula,.repeat,.use-note,.source{color:#5f6f84;font-size:11.5px;line-height:1.65}.source{padding-top:8px;border-top:1px solid #e0e6ee}.rate-table{display:grid;gap:5px;margin-top:9px}.rate-table div{display:flex;justify-content:space-between;padding:8px 10px;border-radius:7px;background:#edf4fc}.rate-table span{font-size:11px}.rate-table b{color:#194f8b}.drug-age-stop{padding:12px;border:2px solid #d8343d;border-radius:8px;background:#fff1f1;color:#a71922;font-weight:900}
.drug-detail-open{width:100%;padding:14px;border:1px solid #99afc8;border-radius:11px;background:#fff;color:#1d5fa9;font-weight:900}.detail-sec{margin-bottom:10px;padding:15px;border:1px solid #ccd7e4;border-radius:12px;background:#fff}.detail-sec h3{margin:0 0 8px;color:#20344e}.detail-sec ul{margin:0;padding-left:20px}.detail-sec li,.detail-sec p{color:#4b5d73;font-size:13px;line-height:1.7}.detail-sec li+li{margin-top:7px}.detail-sec.stop{border:2px solid #d8343d;background:#fff1f1}.detail-sec.stop h3{color:#ae2029}.detail-sec.warn{border-color:#e6a738;background:#fff8e8}.detail-sec a{display:block;padding:9px 0;color:#1767bb}.detail-sec a+a{border-top:1px solid #dde5ef}
@media(max-width:600px){.patient-choices,.adult-guides,.drug-search{grid-template-columns:1fr}.patient-choices button{min-height:125px}.drug-search{top:60px}.dose-main strong{font-size:20px}}

/* 薬剤モード v3: 患者入力・投与前確認・具体的な投与・薬剤選択ボタン（2026-09-15） */
.drug-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:12px;background:#1969c5;color:#fff;font-size:15px;font-weight:900}
.drug-primary--wide{width:100%;min-height:56px;margin-top:14px;font-size:17px}
.drug-kept{display:grid;gap:4px;margin-bottom:16px;padding:16px;border:2px solid #1969c5;border-radius:16px;background:#eef6ff}.drug-kept p{margin:0;color:#2871c7;font-size:11px;font-weight:900}.drug-kept strong{color:#10213a;font-size:20px}.drug-kept span{color:#44566e;font-size:14px}.drug-kept .drug-primary{margin-top:8px}
.patient-form{max-width:560px;padding:20px;border:1px solid #ccd8e7;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,65,110,.08)}
.patient-form fieldset{margin:0 0 16px;padding:0;border:0}.patient-form legend{margin-bottom:9px;color:#10213a;font-size:14px;font-weight:900}
.sex-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.age-choices{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.sex-choices button,.age-choices button{display:grid;gap:3px;min-height:64px;padding:10px 8px;border:2px solid #c9d6e6;border-radius:12px;background:#fff;color:#172b47;text-align:center}
.sex-choices strong{font-size:20px}.age-choices strong{font-size:18px}.sex-choices span,.age-choices span{color:#61748e;font-size:11.5px}
.sex-choices button.on,.age-choices button.on{border-color:#1969c5;background:#1969c5;color:#fff}.sex-choices button.on span,.age-choices button.on span{color:#dcebff}
.weight-field{display:block;color:#10213a;font-size:14px;font-weight:900}.weight-field div{display:flex;align-items:center;gap:10px;margin-top:9px}
.weight-field input{width:170px;padding:12px;border:2px solid #8eacd0;border-radius:10px;color:#10213a;font-size:24px;font-weight:900}.weight-field b{font-size:18px}
.form-hint{margin:10px 0 0;color:#6c7b8e;font-size:12px;line-height:1.6}.form-error{min-height:1em;margin:10px 0 0;color:#c21f2a;font-size:13.5px;font-weight:900}
.drug-patient{position:sticky;top:60px;z-index:16;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid #b9cde6;border-radius:12px;background:#eaf3ff}
.drug-patient div{display:grid;gap:1px}.drug-patient b{color:#10213a;font-size:14px}.drug-patient span{color:#245ea8;font-size:13px;font-weight:800}
.drug-patient button{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid #1969c5;border-radius:10px;background:#fff;color:#1969c5;font-weight:900}
.drug-search{top:128px}.drug-group-label{margin:18px 2px 8px;color:#8a5a12;font-size:12px;font-weight:900}.drug-name-list button.off{border-style:dashed;background:#f7f8fa;opacity:.8}
.drug-select{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;border-radius:14px;background:#12408a;color:#fff;font-size:18px;font-weight:900;letter-spacing:.05em;box-shadow:0 6px 18px rgba(18,64,138,.28)}
.drug-select--top{margin:0 0 12px;min-height:52px;font-size:17px}
.drug-select-bar{position:sticky;bottom:0;z-index:18;margin:18px -14px -50px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(rgba(244,247,251,0),#f4f7fb 28%)}
.drug-check{margin-bottom:14px;border:2px solid #d8343d;border-radius:14px;background:#fff1f1;overflow:hidden}
.drug-check__toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;min-height:56px;padding:12px 14px;background:transparent;color:#a71922;text-align:left}
.drug-check__title{font-size:17px;font-weight:900}.drug-check__count{font-size:13px;font-weight:800}.drug-check__toggle i{font-size:12px;font-style:normal;font-weight:900}
.drug-check__peek{margin:0;padding:0 14px 12px;color:#8f1c24;font-size:12.5px;line-height:1.6}
.drug-check__body{padding:4px 14px 14px;border-top:1px solid #f0b8bc;background:#fff}.drug-check__body h3{margin:12px 0 6px;color:#ae2029;font-size:14px}
.drug-check__body ul{margin:0;padding-left:20px}.drug-check__body li,.drug-check__body p{color:#3f2a2c;font-size:13.5px;line-height:1.7}.drug-check__body li+li{margin-top:6px}
.drug-link{display:block;width:100%;margin-top:12px;padding:10px 0;background:transparent;color:#1767bb;font-size:13.5px;font-weight:900;text-align:left}.drug-link--center{text-align:center}
.weight-note{display:inline-block;margin:2px 0 10px 6px;padding:4px 8px;border-radius:99px;background:#fff4dc;color:#7a4b00;font-size:11px;font-weight:900}
.give-box{display:grid;gap:10px;padding:14px;border:2px solid #1969c5;border-radius:12px;background:#f3f8ff}
.give-step{display:grid;gap:3px}.give-step span,.give-main span{color:#40618a;font-size:11.5px;font-weight:900}.give-step b{color:#10213a;font-size:15px;line-height:1.55}
.give-main{display:grid;gap:4px}.give-main strong{color:#b3121d;font-size:23px;line-height:1.4}.give-main em{color:#10213a;font-size:14px;font-style:normal;font-weight:900}
.give-text{margin:0;color:#10213a;font-size:17px;font-weight:800;line-height:1.6}
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.rate-grid div{display:grid;gap:2px;padding:9px 10px;border-radius:8px;background:#fff;border:1px solid #cfe0f5}.rate-grid span{color:#40618a;font-size:11.5px}.rate-grid b{color:#b3121d;font-size:19px}
.drug-warn{margin:10px 0 0;padding:10px 12px;border-left:4px solid #e08a00;border-radius:6px;background:#fff4dc;color:#6b4200;font-size:13px;font-weight:800;line-height:1.6}
.drug-stop{margin:0 0 12px;padding:14px;border:2px solid #d8343d;border-radius:10px;background:#fff1f1;color:#a71922;font-size:15px;font-weight:900;line-height:1.6}
.use-small{margin:12px 0 0;padding:10px 0 0 18px;border-top:1px solid #e0e6ee}.use-small li{color:#5f6f84;font-size:11.5px;line-height:1.65}.use-small li+li{margin-top:3px}
@media(max-width:600px){.age-choices{grid-template-columns:repeat(3,1fr)}.drug-patient{top:56px}.drug-search{top:120px}.give-main strong{font-size:21px}}

/* 薬剤モード: 重要な付記とTKH救急メモ（2026-09-16） */
.drug-keynote{margin:10px 0 0;padding:11px 13px;border:2px solid #e08a00;border-radius:10px;background:#fff4dc;color:#5c3700;font-size:14px;font-weight:900;line-height:1.6}
.drug-tkh{margin:10px 0 0;padding:11px 13px;border-left:5px solid #1969c5;border-radius:8px;background:#eaf3ff}
.drug-tkh b{display:block;margin-bottom:3px;color:#12408a;font-size:12px;letter-spacing:.04em}
.drug-tkh p{margin:0;color:#10213a;font-size:14px;font-weight:700;line-height:1.65}
.rate-grid small{color:#40618a;font-size:12px;font-weight:800}

/* 薬剤モード: 小児の年齢入力と目安体重（2026-09-17） */
.age-weight{min-height:1.4em;margin:8px 0 16px;color:#12408a;font-size:15px;font-weight:900;line-height:1.5}
.age-weight.is-muted{color:#5f6f84;font-size:13px;font-weight:700}
.age-weight.is-error{color:#c21f2a;font-size:13.5px}
.age-dial{display:flex;align-items:center;gap:12px;margin-top:9px}
.age-dial__step{flex:0 0 auto;width:52px;height:52px;border:2px solid #8eacd0;border-radius:50%;background:#fff;color:#1969c5;font-size:28px;font-weight:900;line-height:1}
.age-dial__step:active{background:#eaf3ff}
.age-dial__window{position:relative;width:132px;height:156px;border:2px solid #8eacd0;border-radius:16px;background:#fff;overflow:hidden}
.age-dial__window:focus-visible{outline:3px solid #1969c5;outline-offset:2px}
.age-dial__window::before{content:'';position:absolute;left:6px;right:6px;top:50%;height:50px;transform:translateY(-50%);border:2px solid #1969c5;border-radius:10px;background:#eaf3ff;pointer-events:none}
.age-dial__track{position:relative;box-sizing:border-box;height:100%;padding-block:52px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(transparent,#000 32%,#000 68%,transparent);mask-image:linear-gradient(transparent,#000 32%,#000 68%,transparent)}
.age-dial__track::-webkit-scrollbar{display:none}
.age-dial__item{display:flex;align-items:baseline;justify-content:center;gap:2px;height:52px;line-height:52px;scroll-snap-align:center;color:#8a9ab0;font-size:22px;font-weight:800;cursor:pointer;user-select:none;-webkit-user-select:none}
.age-dial__item small{font-size:.55em}
.age-dial__item.on{color:#10213a;font-size:30px;font-weight:900}
.age-dial__item--none.on{font-size:18px;color:#5f6f84}
.age-weight{font-size:17px}
.weight-field .age-dial__window,.weight-field .age-dial__track{display:block;margin:0}
.weight-field .age-dial__item{display:flex;margin:0}
.age-dial__window{box-sizing:content-box}


/* 学会デモ版 */
.conference-banner{margin:12px auto 0;width:min(94%,720px);display:flex;gap:10px;align-items:center;
  padding:10px 14px;border:1px solid #efb24b;border-radius:12px;background:#fff8e8;color:#654411;
  font-size:12px;line-height:1.5}.conference-banner strong{flex:none;padding:3px 7px;border-radius:999px;
  background:#d97904;color:#fff}.demo-data-notice{margin:12px 0;padding:11px 13px;border:1px solid #efb24b;
  border-radius:10px;background:#fff8e8;color:#654411;font-size:13px;line-height:1.5}
.conference-lock{width:min(92vw,520px);margin:18vh auto 0;padding:32px 26px;border:1px solid #cbd8ea;
  border-radius:18px;background:#fff;color:#10213d;box-shadow:0 18px 48px rgba(28,55,92,.12);text-align:center}
.conference-lock span{display:inline-block;margin-bottom:18px;padding:6px 10px;border-radius:999px;
  background:#e5effc;color:#1959a6;font-size:12px;font-weight:700}.conference-lock h1{margin:0 0 14px;font-size:23px}
.conference-lock p{margin:0;color:#52647d;line-height:1.75}@media(max-width:560px){.conference-banner{align-items:flex-start}}
