.discover-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; margin-bottom:24px; border:1px solid #e1d8ee; border-radius:16px; background:#f6f2fb; }
.discover-intro h2 { margin:0 0 8px; font-size:23px; letter-spacing:-.8px; }
.discover-intro p { margin:0; line-height:1.7; color:#625a70; }
.learning-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 20px; }
.learning-tabs button { border:1px solid #dfdbe5; border-radius:24px; min-height:44px; padding:9px 15px; background:white; color:#655d70; cursor:pointer; }
.learning-tabs button.active { background:#292333; color:white; border-color:#292333; }
.learning-tabs small { margin-left:6px; opacity:.7; }
.learning-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0 12px; }
.learning-actions button,.learning-actions select { min-height:44px; border:1px solid #d8cbea; border-radius:8px; padding:8px 12px; background:#faf7ff; color:#69449c; font:inherit; cursor:pointer; }
.learning-actions .known-action { background:#f0f7f3; border-color:#cee3d6; color:#33694a; }
.learning-actions label { display:flex; align-items:center; gap:10px; font-size:13px; color:#6c6575; }
.technique-card .learning-actions { margin-top:auto; }
.technique-card .reference-count { margin:10px 0; color:#746785; font-size:12px; }
.reference-section { margin:0 0 28px; }
.reference-section h3 { margin:0; }
.reference-section > p { font-size:13px; line-height:1.6; color:#7c7385; margin:8px 0 14px; }
.reference-list { display:grid; gap:10px; }
.reference-group { margin-top:20px; }
.reference-group h4 { margin:0 0 10px; color:#685476; font-size:12px; font-weight:650; }
.reference-copy { min-width:0; }
.reference-original-title { display:block; margin-top:5px; font-size:12px; line-height:1.5; color:#756c7d; overflow-wrap:anywhere; }
.reference-video { display:flex; gap:12px; align-items:center; border:1px solid #e6e0eb; padding:14px; border-radius:12px; text-decoration:none; color:#342b42; background:#fff; min-width:0; }
.reference-video:hover { border-color:#9d7ec6; background:#fbf8ff; }
.reference-play { flex:none; display:grid; place-items:center; width:40px; height:40px; background:#f1eafa; border-radius:10px; color:#7853a6; }
.reference-video strong { display:block; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.reference-video small { display:block; color:#807488; margin-top:5px; line-height:1.5; }
.reference-video .external-mark { margin-left:auto; flex:none; }
.note-optional summary { cursor:pointer; padding:14px 0; font-weight:600; }
.note-optional { margin-bottom:18px; }
.knowledge-empty { padding:32px 20px; border:1px dashed #d7cede; border-radius:14px; text-align:center; }
.knowledge-empty p { color:#7e7387; line-height:1.7; }
.page-heading .text-button { margin-top:12px; min-height:40px; }
.page-heading > [data-action="custom-technique"] { flex-shrink:0; white-space:nowrap; }
#modal.template-dialog { width:min(1000px,calc(100vw - 24px)); max-width:none; }
.template-canvas { position:relative; height:360px; overflow:hidden; touch-action:none; border:1px solid #e0d8eb; border-radius:12px; background:radial-gradient(#d9d0e4 1px,transparent 1px); background-size:24px 24px; }
.template-canvas .graph-node,.template-canvas .edge-label { cursor:pointer; }
.template-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0; }
.template-controls .button { min-height:44px; }
.template-controls label { flex:1; min-width:170px; font-size:12px; color:#71677e; }
.template-controls select { max-width:100%; padding:10px; min-height:44px; border:1px solid #ddd4e8; border-radius:7px; background:#fff; }
.template-choice { padding:18px; border:1px solid #e1d7ec; border-radius:12px; margin-bottom:10px; }
.template-choice h3 { margin:0 0 8px; }
.template-choice p { font-size:13px; line-height:1.7; color:#756980; }
.template-choice ul { list-style:none; padding:0; margin:14px 0; }
.template-choice li { padding:10px 0; border-top:1px solid #eee8f3; }
.template-choice li button { border:0; background:none; color:#7951ad; padding:7px 0; text-align:left; min-height:40px; }
.template-choice li small { display:block; color:#7f7489; line-height:1.6; }
.template-source { font-size:12px; line-height:1.7; color:#80748b; margin:14px 0; }
.coach-dialog { max-width:760px; }
.coach-intro { line-height:1.8; color:#70647e; margin:0 0 22px; }
.coach-prompts { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.coach-prompts button { border:1px solid #e2d8ee; border-radius:24px; background:#faf7fd; color:#74558f; padding:9px 13px; min-height:44px; font-size:12px; cursor:pointer; }
.coach-modes { border:0; padding:0; margin:0 0 20px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.coach-modes legend { margin-bottom:12px; font-size:13px; }
.coach-modes label { display:flex; align-items:center; gap:10px; border:1px solid #ded5e8; border-radius:10px; padding:14px; cursor:pointer; }
.coach-modes label:has(input:checked) { background:#f7f0ff; border-color:#9670c6; }
.coach-modes strong,.coach-modes small { display:block; line-height:1.6; }
.coach-modes strong { font-size:13px; }.coach-modes small { font-size:11px; color:#85798e; }
.coach-sharing { font-size:12px; color:#84788e; line-height:1.7; }
.coach-status { color:#7955a7; line-height:1.7; font-size:13px; }
.coach-answer { border-top:1px solid #e1d7eb; margin-top:28px; padding-top:24px; }
.coach-answer-heading { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.coach-answer-heading span,.coach-knowledge-label { font-size:11px; color:#8059a9; }
.coach-answer p { line-height:1.8; font-size:14px; }
.coach-answer ol { padding-left:24px; }.coach-answer li { padding:16px 0; }.coach-answer h4 { margin:8px 0; }.coach-answer li > div { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:600px) { .coach-modes { grid-template-columns:1fr; } }
@media(max-width:600px) { .template-canvas { height:290px; }.template-dialog .modal-body { padding:14px; }.template-controls label { flex-basis:100%; }.template-controls select { width:100%; } }
@media(max-width:600px) { .discover-intro { display:block; padding:20px; }.discover-intro h2 { font-size:21px; }.discover-intro .button { margin-top:16px; }.learning-tabs { gap:6px; }.learning-tabs button { padding:8px 12px; font-size:13px; }.reference-video { padding:12px; } }

.catalog-facets { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:16px 0 24px; }
.catalog-facets label { display:grid; gap:6px; font-size:12px; color:#62606a; min-width:0; }
.catalog-facets select { min-height:44px; max-width:100%; padding:8px 30px 8px 10px; border:1px solid #dfdce5; border-radius:8px; background:#fff; color:#302d37; font:inherit; font-size:14px; }
.catalog-facets .button { min-height:44px; }
.type-filters .filter-chip small { margin-left:4px; font-variant-numeric:tabular-nums; }
.catalog-gear-label { display:inline-block; margin-left:8px; color:#74707b; font-size:11px; }
.catalog-more { display:flex; align-items:center; justify-content:center; gap:16px; margin:24px 0; font-size:13px; color:#746785; }
@media (max-width:600px) {
  .catalog-facets { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 8px; }
  .catalog-facets .button { grid-column:1 / -1; justify-self:start; }
}
