/* Today, Map and the parent card (F6). Colours are tokens only (theme/tokens.css); shape carries the state. */
.scr{display:grid;gap:14px}
.hello{font-size:15px;color:var(--muted)}
.hello b{display:block;font-family:var(--font-display);font-size:22px;color:var(--ink);font-weight:600}
.muted{color:var(--muted)}
.btn{font:inherit;font-weight:600;min-height:48px;padding:10px 22px;border-radius:12px;border:0;cursor:pointer}
.btn-primary{background:var(--primary);color:var(--on-primary)}
.btn-secondary{background:var(--surface);color:var(--primary);border:2px solid var(--primary)}
.today-actions{display:flex;gap:10px;flex-wrap:wrap}
.today,.due,.kept,.wait,.parent .card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px}
.today{display:grid;gap:8px;justify-items:start}
.today h4{margin:0;font-size:20px}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.due{display:flex;gap:12px;align-items:center;justify-content:space-between}
.due b{display:block}
.due span{font-size:13px;color:var(--muted)}
.wait{display:flex;gap:10px;align-items:center}
.wait span:nth-child(2){flex:1}
.chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:12px;color:var(--muted);background:var(--surface)}
.chip-s{padding:0 5px;font-size:10px}
.kept{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.kept svg{width:58px;height:58px}
.kept b{font-family:var(--font-display);font-weight:600}
.kept span{display:block;font-size:13px;color:var(--muted)}
.ring-track{fill:none;stroke:var(--line);stroke-width:6}
.ring-arc{fill:none;stroke:var(--primary);stroke-width:6;stroke-linecap:round}
.ring-n{font-family:var(--font-display);font-weight:600;font-size:15px;fill:var(--ink)}

/* the glyphs: Session 1 shapes */
.gl{width:18px;height:18px;border-radius:50%;box-sizing:border-box;display:inline-block;flex:none;border:2px solid var(--muted);background:var(--surface)}
.gl-ring{border-width:3px}
.gl-ring.tone-accent{border-color:var(--accent-line)}
.gl-ring.tone-primary{border-color:var(--primary)}
.gl-dashed{border:2px dashed var(--primary)}
.gl-filled{background:var(--primary);border-color:var(--primary)}
.gl-filled-ring{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--primary)}
.gl-square{border-radius:3px;background:var(--gentle-wrong);border-color:var(--gentle-wrong)}
.gl-paused{border-color:var(--muted);background:linear-gradient(90deg,transparent 30%,var(--muted) 30% 42%,transparent 42% 58%,var(--muted) 58% 70%,transparent 70%)}

/* the map */
.map{position:relative;display:grid;gap:22px;padding:6px 0}
.map-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.map-edges line{stroke:var(--line);stroke-width:1.5}
.map-row{position:relative;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.node{position:relative;display:grid;justify-items:center;gap:2px;min-width:52px;min-height:52px;padding:4px;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px}
.node .gl{width:24px;height:24px}
.nid{font:12px/1 var(--font-mono);color:var(--muted)}
.next-tag{font-size:11px;font-weight:600;color:var(--ink)}
.detail{min-height:3em;display:grid;gap:2px;font-size:14px}
.legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.parent{display:grid;gap:8px}
.parent p{margin:0}
.parent .card p{margin-top:6px}
.tabs{display:flex;gap:6px;border-top:1px solid var(--line);padding-top:8px}
.tabs button{flex:1;min-height:48px;font:inherit;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}
.tabs button[aria-selected="true"]{color:var(--ink);font-weight:600;background:var(--primary-soft)}
html[data-audience="senior"] .node{min-width:64px;min-height:64px}
.tiny-note{margin:6px 0 0;font-size:13px}
