/* The room's sunny orange carries through navigation; mint and coral identify chart results. */
.v3-parent {
  --log-mint: #48c8a4;
  --log-teal-ink: #146650;
  --log-coral: #ff986b;
  --log-line: #bde5dc;
  background: linear-gradient(#c4efff, #e8faff 280px, #edffef 700px);
  min-height: 100svh;
  color: #36324b;
}
.v3-parent .v3-p-kids { padding-top:16px; }
.v3-parent .v3-p-kids a.is-on { background:var(--orange); border-color:var(--orange); color:#fff; }
.v3-parent .v3-p-kids a.is-on small { color:inherit; }
.v3-parent .log-shell { max-width:1040px; margin:auto; padding:4px 16px 28px; }
.v3-parent .log-body { display:grid; gap:24px; min-width:0; }
.v3-parent .log-body > * { min-width:0; }
.v3-parent h2 { font-size:18px; margin:0 0 16px; line-height:1.5; }
.v3-parent h2 small { font-size:10px; color:#65796c; font-weight:500; }
.v3-parent h3 { font-size:14px; margin:14px 0 8px; }
:is(.v3-parent, .v3-install-guide) .log-tabs,.v3-parent .log-periods { display:flex; background:#ffffffcc; box-shadow:0 4px 14px rgba(40,90,140,.15); border-radius:28px; padding:4px; gap:2px; }
.v3-parent .log-tabs { margin-bottom:16px; }
:is(.v3-parent, .v3-install-guide) .log-tabs button,.v3-parent .log-periods button { flex:1; min-width:0; min-height:44px; border:0; background:transparent; border-radius:24px; font:inherit; font-size:13px; font-weight:800; color:inherit; cursor:pointer; }
.v3-install-guide .log-tabs [aria-pressed=true], .v3-parent .log-tabs [aria-selected=true], .v3-parent .log-periods [aria-pressed=true] { background:var(--orange); color:#fff; }
.v3-parent .log-periods { max-width:340px; }
.v3-parent .log-range { font-size:11px; line-height:1.5; color:#617869; margin:10px 0 14px; }
.v3-parent .log-card { background:#fff; padding:18px; border-radius:24px; box-shadow:0 5px 16px #35593610; }
.v3-parent .log-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:14px; }
.v3-parent .log-heading h2 { margin:0; font-size:18px; }
.v3-parent .log-heading p { font-size:10px; margin:0 0 5px; font-weight:700; }
.v3-parent .log-total { text-align:right; font-size:10px; color:#60796b; flex-shrink:0; }
.v3-parent .log-total strong { display:block; font-size:34px; line-height:1.2; color:var(--log-teal-ink); }
.v3-parent .log-heading small { font-size:11px; margin-left:4px; }
.v3-parent .log-note { color:#63766b; font-size:11px; line-height:1.7; margin:10px 0; }
.v3-parent .log-chart-scroll { overflow-x:auto; padding-bottom:4px; }
.v3-parent .log-columns { display:grid; grid-template-columns:repeat(var(--columns),minmax(34px,1fr)); gap:8px; min-width:min-content; padding:4px 2px 7px; border-bottom:1px solid #dae4da; }
.v3-parent .log-column { text-align:center; min-width:0; }
.v3-parent .log-column > b { font-size:12px; }
.v3-parent .log-track { height:80px; display:flex; justify-content:center; align-items:end; background:repeating-linear-gradient(to top,#e5ece4 0 1px,transparent 1px 26px); margin:4px 0; }
.v3-parent .log-stack { width:min(30px,80%); display:flex; flex-direction:column-reverse; border-radius:4px 4px 0 0; overflow:hidden; }
.v3-parent .log-stack span { min-height:0; overflow:hidden; font-size:9px; line-height:1; display:grid; place-items:center; color:#223c31; }
.v3-parent .log-stack span[hidden] { display:none; }
.v3-parent .log-column > small { display:block; font-size:10px; white-space:nowrap; }
.v3-parent .log-fold { border:1px solid var(--log-line); border-radius:14px; background:#fff; margin-top:12px; overflow:hidden; }
.v3-parent .log-fold > summary { min-height:48px; padding:12px; display:flex; align-items:center; gap:8px; list-style:none; cursor:pointer; font-size:13px; font-weight:800; }
.v3-parent .log-fold > summary::-webkit-details-marker { display:none; }
.v3-parent .log-fold > summary > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.v3-parent .log-fold > summary > small { font-size:10px; line-height:1.4; color:#617766; font-weight:600; max-width:95px; }
.v3-parent .log-fold > summary > i { border-right:2px solid currentColor; border-bottom:2px solid currentColor; width:7px; height:7px; transform:rotate(45deg); margin:0 2px 4px; flex:none; }
.v3-parent .log-fold[open] > summary > i { transform:rotate(225deg); margin-top:7px; }
.v3-parent .log-fold-body { padding:0 14px 14px; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.v3-parent .log-fold-body p { margin:8px 0; }
.v3-parent .log-fold-body a { color:#305d75; text-underline-offset:3px; display:inline-flex; align-items:center; min-height:44px; }
.v3-parent .log-items { list-style:none; padding:0; margin:0; }
.v3-parent .log-items > li { border-top:1px dashed #dce5d8; padding:12px 0; }
.v3-parent .log-items small { color:#6c7b6e; font-size:10px; }
.v3-parent .log-items b { font-size:11px; color:#42674d; }
.v3-parent .log-items p { font-size:12px; }
.v3-parent .log-island-grid { display:grid; gap:12px; }
.v3-parent .log-island { background:#fff; border:1px solid var(--log-line); border-radius:20px; padding:12px; }
.v3-parent .log-island-head { display:flex; align-items:center; gap:10px; }
.v3-parent .log-island-head svg { width:108px; height:90px; flex:none; }
.v3-parent .log-island-head h3 { font-size:16px; margin:0 0 4px; color:var(--log-teal-ink); }
.v3-parent .log-island-head p { font-size:10px; margin:0 0 5px; }
.v3-parent .log-island-head b { font-size:13px; }
.v3-parent .log-road { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:4px; list-style:none; padding:0; margin:12px 0; }
.v3-parent .log-road li { background:#e2f6f5; border-radius:50%; aspect-ratio:1; display:grid; place-items:center; font-size:10px; position:relative; }
.v3-parent .log-road li.is-done { background:var(--log-mint); color:#0d4138; }
.v3-parent .log-road small { position:absolute; right:-2px; bottom:-3px; color:#234b37; background:#e0f0d6; border-radius:50%; font-size:9px; width:12px; text-align:center; }
.v3-parent .log-studied { list-style:none; padding:0; margin:0; font-size:11px; line-height:1.7; color:#607264; }
.v3-parent .log-studied li + li { margin-top:8px; }
.v3-parent .log-studied b { color:#394d3f; font-size:12px; }
.v3-parent .log-studied p { margin:3px 0 0; }
.v3-parent .log-journey { padding:0; margin:0; list-style:none; counter-reset:step; }
.v3-parent .log-journey > li { padding-top:12px; }
.v3-parent .log-journey > li > b:before { counter-increment:step; content:counter(step); display:inline-grid; place-items:center; background:#ceefe6; border-radius:50%; width:23px; height:23px; margin-right:8px; color:var(--log-teal-ink); }
.v3-parent .log-journey ul { list-style:none; padding:0; }
.v3-parent .log-journey ul li { padding:8px 0; border-bottom:1px solid #e3e9df; }
.v3-parent .log-journey ul span { display:block; font-size:11px; color:#526856; }
.v3-parent .log-life-grid { display:grid; gap:14px; }
.v3-parent .log-pet-scene { position:relative; display:flex; flex-direction:column; align-items:center; border-radius:26px; padding:14px; background:radial-gradient(ellipse at 50% 40%,#fffef5 0 22%,#d8f9d9 65%,#b8ecd6 100%); }
.v3-parent .log-pet-scene:before { content:''; position:absolute; bottom:48px; width:175px; height:24px; background:#9fc48e33; border-radius:50%; }
.v3-parent .log-pet-model { position:relative; width:180px; height:180px; display:grid; place-items:center; text-align:center; pointer-events:none; }
.v3-parent .log-pet-scene > b { color:#496c50; font-size:12px; }
.v3-parent .log-growth { margin-top:8px; width:120px; height:6px; border-radius:8px; background:#dae5d3; overflow:hidden; }
.v3-parent .log-growth i { display:block; height:100%; background:var(--log-mint); }
.v3-parent .log-care-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.v3-parent .log-care-heading h3 { margin:0; }
.v3-parent .log-care-heading > small { font-size:10px; color:#68796e; }
.v3-parent .log-count-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:10px 0 0; }
.v3-parent .log-count-grid li { display:grid; justify-items:center; align-content:center; gap:4px; padding:12px 6px; text-align:center; background:#fff; border:1px solid var(--log-line); border-radius:14px; }
.v3-parent .log-count-icon { display:grid; place-items:center; height:34px; font-size:26px; line-height:1; }
.v3-parent .log-aim-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:color-mix(in srgb,var(--aim) 15%,white); color:color-mix(in srgb,var(--aim) 78%,#253a32); }
.v3-parent .log-aim-icon svg { width:23px; height:23px; }
.v3-parent .log-count-grid b { font-size:14px; line-height:1.4; }
.v3-parent .log-count-grid strong { font-size:26px; color:var(--log-teal-ink); line-height:1.2; font-variant-numeric:tabular-nums; }
.v3-parent .log-count-grid small { font-size:12px; margin-left:3px; }
.v3-parent .log-hints { display:grid; gap:24px; }
.v3-parent .log-speech { background:#fff; border:2px solid #ffcb6e; border-radius:18px; padding:16px; }
.v3-parent .log-speech p { margin:0; font-size:15px; line-height:1.8; font-weight:700; color:#4c5144; }
.v3-parent .log-hints > div > p { font-size:13px; line-height:1.8; }
.v3-parent .log-game-pick { display:flex; gap:12px; background:#fff; padding:12px; border-radius:16px; }
.v3-parent .log-game-pick img { width:105px; height:76px; object-fit:cover; border-radius:10px; }
.v3-parent .log-game-pick b { font-size:13px; }
.v3-parent .log-game-pick p { font-size:11px; line-height:1.6; margin:6px 0 0; color:#607465; }
.v3-parent .log-activity { display:flex; gap:16px; font-size:12px; flex-wrap:wrap; }
.v3-parent .log-activity b { font-size:26px; margin-right:4px; color:var(--log-teal-ink); }
.v3-parent .is-parts { grid-template-columns:repeat(5,minmax(0,1fr)); min-width:0; gap:6px; }
.v3-parent .is-parts .log-track { height:150px; background-size:auto; }
.v3-parent .is-parts .log-stack { width:60%; }
.v3-parent .log-bars { list-style:none; padding:0; margin:0; }
.v3-parent .log-bars li { display:grid; grid-template-columns:1fr auto; gap:4px; padding:8px 0; }
.v3-parent .log-bars b small { font-size:10px; margin-left:4px; }
.v3-parent .log-bars i { grid-column:1/-1; height:7px; background:#edf2e8; border-radius:4px; overflow:hidden; }
.v3-parent .log-bars i span { display:block; height:100%; background:var(--log-mint); }
.v3-parent .log-method-title { display:flex; align-items:center; gap:8px; }
.v3-parent .log-method-title .v3-p-flag { flex:none; }
.v3-parent .log-mini > h2 { margin-top:24px; }
.v3-parent .log-disclaimer { font-size:11px; line-height:1.7; color:#68786b; margin:24px 0 0; }
.v3-parent button:focus-visible,.v3-parent summary:focus-visible,.v3-parent .log-chart-scroll:focus-visible { outline:3px solid #4d8697; outline-offset:2px; }
@media(max-width:350px) {
 .v3-parent .log-shell { padding-left:12px; padding-right:12px; }
 .v3-parent .log-card { padding:14px; }
 .v3-parent .log-heading h2 { font-size:16px; }
 .v3-parent .log-total strong { font-size:29px; }
 .v3-parent .log-island-head svg { width:85px; }
 .v3-parent .log-column > small { font-size:9px; }
 .v3-parent .log-fold > summary { font-size:12px; padding:12px 10px; gap:6px; }
 .v3-parent .log-fold > summary > small { font-size:9px; }
}
@media(min-width:850px) {
 .v3-parent .log-shell { padding:8px 24px 40px; }
 .v3-parent .log-tabs { max-width:480px; }
 .v3-parent .log-card { padding:24px; }
 .v3-parent .log-footprints { display:grid; grid-template-columns:1fr 1fr; column-gap:32px; }
 .v3-parent .log-footprints .log-heading,.v3-parent .log-footprints > .log-fold { grid-column:1/-1; }
 .v3-parent .log-footprints .log-periods { grid-column:1; }
 .v3-parent .log-footprints .log-range { grid-column:1; }
 .v3-parent .log-footprints > .log-note { grid-column:1; }
 .v3-parent .log-footprints > h3 { grid-column:2; grid-row:2; margin:0; }
 .v3-parent .log-footprints > .log-chart-scroll { grid-column:2; grid-row:3/6; align-self:center; }
 .v3-parent .log-track { height:110px; }
 .v3-parent .log-island-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .v3-parent .log-island-head svg { width:90px; }
 .v3-parent .log-life-grid { grid-template-columns:1fr 1fr; align-items:center; }
 .v3-parent .log-pet-model { width:220px; height:220px; }
 .v3-parent .log-hints { grid-template-columns:1fr 1fr; }
}
@media(prefers-reduced-motion:reduce) { .v3-parent *, .v3-parent *:before, .v3-parent *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
/* Keep the first card and the next heading visible on the 390×721 baseline. */
@media(max-width:849px) {
 .v3-parent .log-footprints { padding:14px 18px; }
 .v3-parent .log-footprints .log-heading { margin-bottom:8px; }
 .v3-parent .log-footprints .log-total strong { font-size:30px; }
 .v3-parent .log-footprints .log-periods { padding:2px; }
 .v3-parent .log-footprints .log-range { margin:7px 0; }
 .v3-parent .log-footprints > .log-note { margin:7px 0; font-size:10px; }
 .v3-parent .log-footprints > h3 { margin:9px 0 4px; }
 .v3-parent .log-footprints .log-track { height:66px; }
 .v3-parent .log-footprints .log-fold { margin-top:8px; }
 .v3-parent .log-footprints .log-fold > summary { min-height:44px; padding:10px; font-size:12px; }
}
@media(max-width:350px) {
 .v3-parent .log-footprints { padding:14px; }
}
.v3-parent .log-column { font-size:12px; line-height:1.3; }
@media(max-width:849px) {
 .v3-parent .log-footprints { padding-top:12px; padding-bottom:12px; }
 .v3-parent .log-footprints .log-heading { margin-bottom:6px; }
 .v3-parent .log-footprints .log-range { margin:6px 0; }
 .v3-parent .log-footprints .log-track { height:60px; }
 .v3-parent .log-body { gap:20px; }
}
/* The demo toggle must not cover the log's chart values. Child screens are unchanged. */
body:has(.v3-parent) .v3-demo { top:72px; }
body:has(.v3-parent) .v3-demo-panel { top:0; transform:none; }
@media(max-width:849px) { .v3-parent .log-body { gap:12px; } }
body:has(.v3-parent) .v3-demo-panel { width:min(320px,calc(100vw - 48px)); }

/* 使った力（2026-11-06）：6本の棒はボタン。タップでその力の活動一覧を開く */
.v3-parent button.log-column { display: block; width: 100%; padding: 4px 0 6px; border: 0; border-radius: 12px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.v3-parent button.log-column:hover, .v3-parent button.log-column:focus-visible { background: #f2f7f0; }
.v3-parent button.log-column:focus-visible { outline: 3px solid #126688; outline-offset: 1px; }
.v3-parent .is-skills button.log-column > small { font-size: 12px; font-weight: 800; color: #3f5a49; text-decoration: underline dotted 1px; text-underline-offset: 3px; }
.v3-parent .log-skill-note { margin-top: 6px; }
.v3-parent .log-skill-list { display: grid; gap: 6px; margin: 10px 0 4px; }
.v3-parent .log-skill-list summary > span:first-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v3-parent .log-skill-name { font-weight: 900; font-size: 15px; }
.v3-parent .log-skill-desc { font-size: 12px; font-weight: 600; color: #6b6358; line-height: 1.5; }
.v3-parent .log-skill-acts { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.v3-parent .log-skill-acts > li { padding: 8px 10px; border-radius: 10px; background: #fff; border: 1px solid var(--log-line); font-size: 13px; }
.v3-parent .log-skill-act-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 8px; }
.v3-parent .log-skill-question { border-top: 1px solid #ffdbbd; margin-top: 6px; }
.v3-parent .log-skill-question summary { padding: 10px 2px; min-height: 44px; cursor: pointer; font-weight: 700; color: #126e9c; }
.v3-parent .log-skill-question summary::marker { color: var(--orange); }
.v3-parent .v3-learning-facts dt { color: #a84413; border-inline-start: 4px solid var(--orange); padding-inline-start: 7px; }
.v3-parent .v3-learning-tags > li { background: #ffead6; color: #923e12; }
.v3-parent .v3-learning-tags > li:nth-child(even) { background: #d9f3ff; color: #12658b; }
.v3-parent .log-skill-question[open] { padding-bottom: 8px; }
.v3-parent .log-skill-act-head small { grid-column: 1; font-size: 11px; color: #7b7368; }
.v3-parent .log-skill-act-head small.is-main { color: #2f7a55; font-weight: 800; }
.v3-parent .log-skill-act-head > b { grid-column: 2; grid-row: 1 / span 2; font-size: 13px; white-space: nowrap; }
.v3-parent .log-skill-tags { display: block; margin: 1px 0 2px; font-size: 11px; color: #2f7a55; font-weight: 700; }
@media (min-width: 700px) {
  .v3-parent .is-skills button.log-column > small { font-size: 15px; }
  .v3-parent .log-skill-name { font-size: 17px; } .v3-parent .log-skill-desc { font-size: 14px; }
  .v3-parent .log-skill-acts > li { font-size: 15px; }
}
.v3-parent .is-parts.is-skills { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; }
.v3-parent .is-parts.is-skills .log-stack { width: 64%; }
/* 使った力：1色の棒（内訳なし、2026-11-06） */
.v3-parent .log-stack.is-solid { background: var(--log-mint); border-radius: 6px 6px 2px 2px; }

/* どれだけ解けた？：正解／不正解の2つだけ（2026-11-06）。色に加えて ○／× の記号でも区別する */
.v3-parent .log-overview { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; align-items:center; margin:14px 0 10px; }
.v3-parent .log-ring { width:112px; height:112px; border-radius:50%; background:conic-gradient(var(--log-mint) var(--pct), var(--log-coral) 0); display:grid; place-items:center; position:relative; }
.v3-parent .log-ring:before { content:''; position:absolute; inset:12px; border-radius:50%; background:#fff; }
.v3-parent .log-ring > div { position:relative; text-align:center; }
.v3-parent .log-ring b { display:block; font-size:30px; line-height:1.2; color:var(--log-teal-ink); }
.v3-parent .log-ring small { font-size:13px; }
.v3-parent .log-metrics { padding:0; margin:0; list-style:none; }
.v3-parent .log-metrics li { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:9px 0; border-bottom:1px solid #edf1e9; font-size:14px; }
.v3-parent .log-metrics b { font-weight:800; }
.v3-parent .log-metrics span { font-weight:800; font-size:18px; white-space:nowrap; }
.v3-parent .log-metrics .is-ok span, .v3-parent .log-metrics .is-ok b { color:var(--log-teal-ink); }
.v3-parent .log-metrics .is-ng span, .v3-parent .log-metrics .is-ng b { color:#99401f; }
.v3-parent .log-legend { display:flex; flex-wrap:wrap; gap:4px 12px; margin:6px 0; font-size:12px; color:#506957; }
.v3-parent .log-legend span:before { content:''; display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:4px; vertical-align:-1px; }
.v3-parent .log-legend .is-ok:before, .v3-parent .log-stack .is-ok { background:var(--log-mint); }
.v3-parent .log-legend .is-ng:before, .v3-parent .log-stack .is-ng { background:repeating-linear-gradient(135deg,var(--log-coral) 0 4px,#ffd0aa 4px 7px); }
.v3-parent .log-stack .is-ok, .v3-parent .log-stack .is-ng { display:grid; place-items:center; min-height:0; font-size:10px; color:#fff; font-weight:900; }
.v3-parent .log-stack .is-ok { color:#0d4138; }
.v3-parent .log-stack .is-ng { color:#7a3a22; }
@media (max-width:360px) { .v3-parent .log-overview { grid-template-columns:90px minmax(0,1fr); gap:10px; } .v3-parent .log-ring { width:90px; height:90px; } .v3-parent .log-ring:before { inset:10px; } .v3-parent .log-ring b { font-size:24px; } }
@media (min-width:700px) {
  .v3-parent .log-footprints .log-overview { grid-column:1; grid-row:4/7; grid-template-columns:145px 1fr; margin:0; }
  .v3-parent .log-ring { width:145px; height:145px; } .v3-parent .log-ring:before { inset:15px; } .v3-parent .log-ring b { font-size:38px; }
  .v3-parent .log-metrics li { font-size:17px; } .v3-parent .log-metrics span { font-size:22px; }
  .v3-parent .log-footprints > .log-legend { grid-column:2; grid-row:3; font-size:14px; }
  .v3-parent .log-footprints > .log-chart-scroll { grid-row:4/7; }
}
.log-method-info { margin: 6px 0; font-size: .9rem; }
.log-method-info summary { color: #126e9c; cursor: pointer; font-weight: 700; padding: 5px 0; }

.log-island .log-fold { margin-top: .65rem; }
.log-studied li + li { padding-top: .55rem; border-top: 1px solid #e4ebe2; }
.log-studied p, .log-items p { line-height: 1.65; overflow-wrap: anywhere; }
.log-total strong, .log-metrics span { font-variant-numeric: tabular-nums; }
