/* ===== V1.11 — IKIGAI ===== */
.ikigai-topbar{align-items:flex-end;gap:16px}
.ikigai-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ikigai-xp-note{
  min-height:42px;display:flex;align-items:center;padding:0 14px;border-radius:12px;
  border:1px solid rgba(var(--accent-rgb),.16);background:linear-gradient(135deg,rgba(var(--accent-rgb),.05),rgba(var(--accent-rgb),.018));
  color:var(--muted);font-size:14px;font-weight:900;letter-spacing:.08em
}
.ikigai-progress-card{padding:16px 18px!important;margin-bottom:14px}
.ikigai-progress-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.ikigai-progress-head span{display:block;color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.09em}
.ikigai-progress-head strong{display:block;font-size:14px;margin-top:4px}
.ikigai-progress-head>b{font-size:20px;letter-spacing:-.04em}
.ikigai-progress{height:6px;margin-top:12px}
.ikigai-step-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}
.ikigai-step-tab{
  min-width:0;text-align:left;border:1px solid transparent;background:transparent;color:var(--muted);
  border-radius:11px;padding:10px 10px 9px;transition:.16s ease
}
.ikigai-step-tab:hover{background:rgba(255,255,255,.025);color:var(--text)}
.ikigai-step-tab.active{background:rgba(var(--accent-rgb),.05);border-color:rgba(var(--accent-rgb),.18);color:var(--text)}
.ikigai-step-tab.done{color:var(--accent)}
.ikigai-step-tab span{display:block;font-size:14px;font-weight:950;letter-spacing:.08em}
.ikigai-step-tab b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}

.ikigai-layout{display:grid;grid-template-columns:minmax(0,.84fr) minmax(620px,1.16fr);gap:14px;align-items:start}
.ikigai-journey-card{padding:24px!important;min-height:690px}
.ikigai-stage-kicker{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  color:var(--muted);font-size:14px;font-weight:900;letter-spacing:.09em
}
#ikigaiStageState{padding:5px 9px;border-radius:999px;border:1px solid var(--line)}
#ikigaiStageState.done{color:var(--accent);border-color:rgba(var(--accent-rgb),.19);background:rgba(var(--accent-rgb),.035)}
.ikigai-stage-copy{margin-top:24px;max-width:760px}
.ikigai-stage-copy h2{font-size:36px;letter-spacing:-.05em;line-height:1.02;margin:0}
.ikigai-stage-copy p{color:var(--muted);font-size:14px;line-height:1.65;margin:12px 0 0;max-width:680px}

.ikigai-prompts{margin-top:24px;padding:16px 16px 15px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:rgba(255,255,255,.012)}
#ikigaiPromptList{display:grid;gap:8px;margin-top:10px}
.ikigai-prompt{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;color:var(--muted);font-size:14px;line-height:1.5}
.ikigai-prompt i{
  width:18px;height:18px;border-radius:7px;display:grid;place-items:center;
  border:1px solid rgba(var(--accent-rgb),.12);background:rgba(var(--accent-rgb),.025);
  color:var(--accent);font-style:normal;font-size:14px;font-weight:900
}

.ikigai-answer-section{margin-top:24px}
.ikigai-answer-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.ikigai-answer-head strong{display:block;font-size:14px;margin-top:4px}
.ikigai-answer-head>span{color:var(--muted);font-size:14px}
.ikigai-answer-list{display:grid;gap:8px;margin-top:11px}
.ikigai-answer-empty{
  padding:18px;border:1px dashed rgba(255,255,255,.07);border-radius:12px;
  color:var(--muted);font-size:14px;line-height:1.5
}
.ikigai-answer-row{
  display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;
  padding:10px;border:1px solid rgba(255,255,255,.055);border-radius:12px;
  background:#0c0f0c;transition:border-color .16s ease,transform .16s ease
}
.ikigai-answer-row:hover{border-color:rgba(var(--accent-rgb),.14);transform:translateY(-1px)}
.ikigai-answer-index{
  width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  background:rgba(var(--accent-rgb),.035);color:var(--muted);font-size:14px;font-weight:950
}
.ikigai-answer-text{color:var(--text);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.ikigai-answer-actions{display:flex;align-items:center;gap:4px}
.ikigai-answer-actions button{
  width:30px;height:30px;border:1px solid transparent;border-radius:9px;background:transparent;
  color:var(--muted);font-size:14px
}
.ikigai-answer-actions button:hover{border-color:var(--line);background:rgba(255,255,255,.025);color:var(--text)}
.ikigai-answer-actions button:disabled{opacity:.18;cursor:default}
.ikigai-answer-actions button.danger:hover{color:#ff8d8d}
.ikigai-inline-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.ikigai-inline-edit input{
  min-width:0;height:36px;background:#090b09;border:1px solid rgba(var(--accent-rgb),.24);
  color:var(--text);border-radius:9px;padding:0 10px
}
.ikigai-inline-edit-actions{display:flex;gap:4px}
.ikigai-inline-edit-actions button{height:36px;padding:0 10px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:14px}
.ikigai-inline-edit-actions button.save{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:900}

.ikigai-add-answer{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:#0a0d0a;padding:10px}
.ikigai-add-answer textarea{
  width:100%;resize:vertical;min-height:88px;max-height:220px;border:0!important;outline:0!important;
  background:transparent!important;color:var(--text);font-size:14px;line-height:1.55;padding:7px 7px 5px
}
.ikigai-add-answer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 6px 2px;border-top:1px solid rgba(255,255,255,.045)}
.ikigai-add-answer-foot small{color:var(--muted);font-size:14px}

.ikigai-stage-footer{
  margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.055);
  display:flex;align-items:center;justify-content:space-between;gap:10px
}
.ikigai-stage-footer-main{display:flex;gap:8px}
.ikigai-complete-btn.completed{
  background:rgba(var(--accent-rgb),.065)!important;color:var(--accent)!important;
  border:1px solid rgba(var(--accent-rgb),.18)!important;box-shadow:none!important
}

.ikigai-visual-card{
  position:sticky;top:16px;padding:22px!important;overflow:hidden;
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.03),rgba(var(--accent-rgb),.012) 22%,transparent 60%),var(--panel)!important
}
.ikigai-visual-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.ikigai-visual-head strong{display:block;font-size:14px;margin-top:4px;max-width:360px}
.ikigai-visual-head>span{color:var(--muted);font-size:14px;white-space:nowrap}
.ikigai-visual-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
.ikigai-visual-stat{
  min-width:0;padding:11px 12px;border-radius:13px;border:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.016)
}
.ikigai-visual-stat span{display:block;color:var(--muted);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.ikigai-visual-stat strong{display:block;margin-top:5px;font-size:14px;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ikigai-diagram-wrap{
  margin:18px auto 0;width:100%;max-width:820px;position:relative;
  padding:8px 8px 4px;border-radius:24px;background:radial-gradient(circle at 50% 42%,rgba(var(--accent-rgb),.06),rgba(var(--accent-rgb),0) 52%)
}
.ikigai-diagram-wrap svg{display:block;width:100%;height:auto;aspect-ratio:720/680;overflow:visible}
.ikigai-circle{
  stroke:rgba(var(--accent-rgb),.28);stroke-width:1.7;fill:rgba(var(--accent-rgb),.02);
  transition:fill .25s ease,stroke .25s ease,filter .25s ease;cursor:pointer
}
.ikigai-circle.has-content{fill:rgba(var(--accent-rgb),.055);stroke:rgba(var(--accent-rgb),.46)}
.ikigai-circle.complete{fill:rgba(var(--accent-rgb),.125);stroke:var(--accent);stroke-width:2.2}
.ikigai-circle:hover{stroke:var(--accent);fill:rgba(var(--accent-rgb),.09);filter:drop-shadow(0 0 18px rgba(var(--accent-rgb),.11))}
.ikigai-circle-label{pointer-events:none;fill:var(--text);font-size:17px;font-weight:950;text-anchor:middle;letter-spacing:-.01em}
.ikigai-circle-sub{pointer-events:none;fill:var(--muted);font-size:14px;font-weight:800;text-anchor:middle;letter-spacing:.07em}
.ikigai-circle-answer{
  pointer-events:none;fill:var(--muted);font-size:14px;text-anchor:middle;
  font-weight:650;letter-spacing:.01em
}
.ikigai-circle-more{
  pointer-events:none;fill:var(--accent);font-size:14px;font-weight:950;
  text-anchor:middle;letter-spacing:.08em
}
.ikigai-circle-tooltip{
  position:absolute;z-index:20;width:min(350px,calc(100% - 28px));
  padding:15px 16px;border-radius:15px;
  background:rgba(12,15,12,.97);
  border:1px solid rgba(var(--accent-rgb),.22);
  box-shadow:0 18px 55px rgba(0,0,0,.42);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transform:translate(14px,14px);
  pointer-events:none;
  opacity:0;visibility:hidden;
  transition:opacity .12s ease,visibility .12s ease;
}
.ikigai-circle-tooltip.show{opacity:1;visibility:visible}
.ikigai-circle-tooltip.touch{
  left:14px!important;right:14px!important;bottom:14px!important;top:auto!important;
  width:auto;transform:none;pointer-events:auto
}
.ikigai-circle-tooltip-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.055)
}
.ikigai-circle-tooltip-head span{
  display:block;color:var(--accent);font-size:14px;font-weight:950;
  letter-spacing:.10em;text-transform:uppercase
}
.ikigai-circle-tooltip-head strong{
  display:block;margin-top:4px;font-size:14px;line-height:1.25
}
.ikigai-circle-tooltip-close{
  display:none;width:30px;height:30px;border:1px solid var(--line);
  border-radius:9px;background:transparent;color:var(--muted);padding:0
}
.ikigai-circle-tooltip.touch .ikigai-circle-tooltip-close{display:grid;place-items:center}
.ikigai-circle-tooltip-list{
  margin:11px 0 0;padding:0;list-style:none;display:grid;gap:8px;
  max-height:260px;overflow:auto;-webkit-overflow-scrolling:touch
}
.ikigai-circle-tooltip-list li{
  display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;
  color:var(--text);font-size:14px;line-height:1.45
}
.ikigai-circle-tooltip-list i{
  width:20px;height:20px;border-radius:7px;display:grid;place-items:center;
  background:rgba(var(--accent-rgb),.045);
  color:var(--accent);font-style:normal;font-size:14px;font-weight:950
}
.ikigai-circle-tooltip-empty{
  color:var(--muted);font-size:14px;line-height:1.5;padding-top:11px
}
.ikigai-circle-tooltip-actions{
  display:none;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.055)
}
.ikigai-circle-tooltip.touch .ikigai-circle-tooltip-actions{display:block}
.ikigai-circle-tooltip-actions button{width:100%}
html[data-theme-mode="light"] .ikigai-circle-tooltip{
  background:rgba(255,255,255,.98);box-shadow:0 18px 55px rgba(0,0,0,.14)
}
@media(max-width:760px){
  .ikigai-circle-tooltip{font-size:14px}
  .ikigai-circle-tooltip-list{max-height:220px}
}
.ikigai-intersection{
  fill:var(--muted);font-size:14px;font-weight:950;text-anchor:middle;
  letter-spacing:.08em;opacity:.24;transition:opacity .2s ease,fill .2s ease
}
.ikigai-intersection.on{opacity:1;fill:var(--text)}
.ikigai-center-halo{fill:#0a0c0a;stroke:rgba(var(--accent-rgb),.12);stroke-width:1.3;transition:.25s ease}
.ikigai-center-halo.on{fill:var(--accent);stroke:var(--accent);filter:drop-shadow(0 0 16px rgba(var(--accent-rgb),.24))}
.ikigai-center-label{fill:var(--muted);font-size:16px;font-weight:950;text-anchor:middle;letter-spacing:-.02em}
.ikigai-center-label.on{fill:var(--accent-contrast)}
.ikigai-graph-direction{margin:10px auto 2px;text-align:center;color:var(--muted);font-size:14px;line-height:1.55;max-width:630px;padding:0 14px}
.ikigai-graph-direction strong{color:var(--text)}
.ikigai-visual-foot{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.045)}
.ikigai-legend-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}

.ikigai-ai-prompt-card{
  margin-top:14px;padding:24px!important;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.014) 58%),var(--panel)!important;
  border-color:rgba(var(--accent-rgb),.18)!important
}
.ikigai-ai-prompt-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px
}
.ikigai-ai-prompt-head h2{
  margin:6px 0 8px;font-size:27px;line-height:1.08;letter-spacing:-.04em
}
.ikigai-ai-prompt-head p{
  margin:0;color:var(--muted);font-size:14px;line-height:1.6;max-width:720px
}
.ikigai-ai-ready{
  flex:none;display:inline-flex;align-items:center;gap:7px;
  min-height:34px;padding:0 10px;border-radius:999px;
  background:var(--accent);color:var(--accent-contrast);
  font-size:14px;font-weight:950;letter-spacing:.09em
}
.ikigai-ai-ready:before{content:"✓";font-size:14px}
.ikigai-ai-pillar-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px
}
.ikigai-ai-pillar{
  min-width:0;padding:11px 12px;border:1px solid rgba(255,255,255,.055);
  border-radius:12px;background:rgba(255,255,255,.016)
}
.ikigai-ai-pillar span{
  display:block;color:var(--muted);font-size:14px;text-transform:uppercase;
  letter-spacing:.08em;font-weight:900
}
.ikigai-ai-pillar b{
  display:block;margin-top:5px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.ikigai-ai-prompt-box{
  margin-top:14px;border:1px solid rgba(255,255,255,.07);
  border-radius:14px;background:#090c09;overflow:hidden
}
.ikigai-ai-prompt-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.055)
}
.ikigai-ai-prompt-toolbar span{
  color:var(--muted);font-size:14px;line-height:1.4
}
.ikigai-ai-prompt-text{
  display:block;width:100%;min-height:440px;max-height:620px;resize:vertical;
  border:0!important;outline:0!important;background:transparent!important;
  color:var(--text);padding:16px;font-size:14px;line-height:1.65;
  font-family:inherit;white-space:pre-wrap
}
.ikigai-ai-prompt-actions{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:14px
}
.ikigai-ai-prompt-actions small{
  color:var(--muted);font-size:14px;line-height:1.5;max-width:650px
}
.ikigai-ai-copy-btn.copied{
  background:rgba(var(--accent-rgb),.08)!important;
  color:var(--accent)!important;border:1px solid rgba(var(--accent-rgb),.25)!important
}

html[data-theme-mode="light"] .ikigai-ai-pillar,
html[data-theme-mode="light"] .ikigai-ai-prompt-box{
  background:#FAFAFA!important
}

@media(max-width:760px){
  .ikigai-ai-prompt-card{padding:18px!important}
  .ikigai-ai-prompt-head{flex-direction:column}
  .ikigai-ai-prompt-head h2{font-size:23px}
  .ikigai-ai-pillar-summary{grid-template-columns:1fr 1fr}
  .ikigai-ai-prompt-toolbar{align-items:flex-start;flex-direction:column}
  .ikigai-ai-prompt-text{min-height:520px;font-size:14px}
  .ikigai-ai-prompt-actions{align-items:stretch;flex-direction:column}
  .ikigai-ai-prompt-actions .primary-btn,
  .ikigai-ai-prompt-actions .secondary-btn{width:100%}
}

.ikigai-analysis-card{
  margin-top:14px;padding:24px!important;
  border-color:rgba(var(--accent-rgb),.11)!important
}
.ikigai-analysis-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px
}
.ikigai-analysis-head h2{
  margin:6px 0 8px;font-size:27px;line-height:1.08;letter-spacing:-.04em
}
.ikigai-analysis-head p{
  margin:0;color:var(--muted);font-size:14px;line-height:1.6;max-width:760px
}
.ikigai-analysis-save-state{
  flex:none;color:var(--muted);font-size:14px;font-weight:900;letter-spacing:.09em;
  padding:7px 9px;border-radius:999px;border:1px solid var(--line);white-space:nowrap
}
.ikigai-analysis-import{
  margin-top:18px;padding:15px;border-radius:14px;
  border:1px solid rgba(var(--accent-rgb),.12);background:rgba(var(--accent-rgb),.025)
}
.ikigai-analysis-import-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px
}
.ikigai-analysis-import-head strong{display:block;font-size:14px;margin-top:4px}
.ikigai-analysis-import-head span{color:var(--muted);font-size:14px;line-height:1.45;max-width:620px}
.ikigai-analysis-import textarea{
  width:100%;min-height:150px;max-height:320px;resize:vertical;margin-top:11px;
  background:#090c09;border:1px solid var(--line);color:var(--text);border-radius:11px;
  padding:12px;font-size:14px;line-height:1.55
}
.ikigai-analysis-import-actions{
  display:flex;justify-content:flex-end;gap:8px;margin-top:9px
}
.ikigai-intersection-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px
}
.ikigai-result-field{
  min-width:0;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.014)
}
.ikigai-result-field.wide{grid-column:1/-1}
.ikigai-result-field.intersection{
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.035),rgba(255,255,255,.01))
}
.ikigai-result-label{
  display:flex;justify-content:space-between;align-items:flex-start;gap:10px
}
.ikigai-result-label strong{
  font-size:14px;letter-spacing:.03em;text-transform:uppercase
}
.ikigai-result-label span{
  color:var(--muted);font-size:14px;line-height:1.4;text-align:right
}
.ikigai-result-field textarea{
  width:100%;min-height:96px;resize:vertical;margin-top:10px;
  border:1px solid var(--line);background:#090c09;color:var(--text);
  border-radius:10px;padding:11px;font-size:14px;line-height:1.55
}
.ikigai-result-field.wide textarea{min-height:110px}
.ikigai-result-field.highlight{
  border-color:rgba(var(--accent-rgb),.22);
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.055),rgba(var(--accent-rgb),.012))
}
.ikigai-result-field.highlight strong{color:var(--accent)}
.ikigai-analysis-note{
  margin-top:12px;color:var(--muted);font-size:14px;line-height:1.5
}
html[data-theme-mode="light"] .ikigai-analysis-import,
html[data-theme-mode="light"] .ikigai-result-field,
html[data-theme-mode="light"] .ikigai-analysis-import textarea,
html[data-theme-mode="light"] .ikigai-result-field textarea{background:#FAFAFA!important}
@media(max-width:760px){
  .ikigai-analysis-card{padding:18px!important}
  .ikigai-analysis-head{flex-direction:column}
  .ikigai-analysis-head h2{font-size:23px}
  .ikigai-analysis-import-head{flex-direction:column}
  .ikigai-analysis-import-actions{display:grid;grid-template-columns:1fr}
  .ikigai-intersection-grid{grid-template-columns:1fr}
  .ikigai-result-field.wide{grid-column:auto}
  .ikigai-result-label{flex-direction:column;gap:4px}
  .ikigai-result-label span{text-align:left}
}

.ikigai-final-card{
  margin-top:14px;padding:24px!important;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.055),rgba(var(--accent-rgb),.012) 55%),var(--panel)!important
}
.ikigai-final-badge{
  display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--accent);color:var(--accent-contrast);
  font-size:14px;font-weight:950;letter-spacing:.09em
}
.ikigai-final-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:28px;margin-top:17px}
.ikigai-final-grid h2{font-size:25px;line-height:1.1;letter-spacing:-.035em;margin:7px 0 10px}
.ikigai-final-grid p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}
.ikigai-direction-block{padding:15px;border:1px solid rgba(var(--accent-rgb),.12);border-radius:13px;background:rgba(var(--accent-rgb),.025)}
.ikigai-direction-list{display:grid;gap:6px;margin-top:9px}
.ikigai-direction-item{padding:8px 9px;border-radius:9px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.015);font-size:14px;line-height:1.4}
.ikigai-final-note{margin-top:17px;padding-top:13px;border-top:1px solid rgba(255,255,255,.055);color:var(--muted);font-size:14px}

@keyframes ikigaiCompletePulse{
  0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0);transform:translateY(0)}
  35%{box-shadow:0 0 0 4px rgba(var(--accent-rgb),.055),0 0 42px rgba(var(--accent-rgb),.08);transform:translateY(-2px)}
  100%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0);transform:translateY(0)}
}
.ikigai-journey-card.stage-complete-burst{animation:ikigaiCompletePulse .65s ease}

html[data-theme-mode="light"] .ikigai-answer-row,
html[data-theme-mode="light"] .ikigai-add-answer,
html[data-theme-mode="light"] .ikigai-inline-edit input{background:#FAFAFA!important}
html[data-theme-mode="light"] .ikigai-center-halo{fill:#FFFFFF}
html[data-theme-mode="light"] .ikigai-center-halo.on{fill:var(--accent)}
html[data-theme-mode="light"] .ikigai-prompts{background:#FAFAFA}
html[data-theme-mode="light"] .ikigai-direction-item{background:#FFFFFF}
html[data-theme-mode="light"] .ikigai-visual-stat{background:#FFFFFF}

@media(max-width:1280px){
  .ikigai-layout{grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)}
  .ikigai-diagram-wrap{max-width:760px}
}
@media(max-width:1080px){
  .ikigai-layout{grid-template-columns:1fr}
  .ikigai-visual-card{position:relative;top:auto;order:1}
  .ikigai-journey-card{order:2;min-height:auto}
  .ikigai-diagram-wrap{max-width:820px}
}
@media(max-width:760px){
  .ikigai-top-actions{width:100%;justify-content:stretch}
  .ikigai-top-actions>*{flex:1}
  .ikigai-xp-note{justify-content:center}
  .ikigai-progress-card{padding:12px!important}
  .ikigai-step-rail{display:flex;overflow:auto;scrollbar-width:none}
  .ikigai-step-rail::-webkit-scrollbar{display:none}
  .ikigai-step-tab{min-width:115px}
  .ikigai-journey-card{padding:18px!important}
  .ikigai-stage-copy h2{font-size:30px}
  .ikigai-stage-footer{align-items:stretch;flex-direction:column-reverse}
  .ikigai-stage-footer-main{display:grid;grid-template-columns:1fr}
  .ikigai-stage-footer button{width:100%}
  .ikigai-answer-row{grid-template-columns:24px minmax(0,1fr)}
  .ikigai-answer-actions{grid-column:2;justify-content:flex-start}
  .ikigai-add-answer-foot{align-items:stretch;flex-direction:column}
  .ikigai-add-answer-foot .secondary-btn{width:100%}
  .ikigai-visual-card{padding:16px!important}
  .ikigai-visual-head{align-items:flex-start;flex-direction:column}
  .ikigai-visual-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ikigai-diagram-wrap{max-width:100%;padding:0}
  .ikigai-final-grid{grid-template-columns:1fr;gap:16px}
}
@media(max-width:520px){
  .ikigai-visual-stats{grid-template-columns:1fr}
}

/* ===== DIVINA VIDA — IKIGAI ACTION FLOW ===== */
.ikigai-stage-footer{
  align-items:center;
  gap:14px
}
.ikigai-stage-footer-main{
  flex:1;
  justify-content:flex-end
}
.ikigai-stage-footer-main .ikigai-complete-btn{
  min-width:min(470px,100%);
  min-height:54px;
  font-size:14px;
  letter-spacing:-.01em;
  padding-inline:24px
}
.ikigai-stage-footer .ghost-btn{
  min-width:108px
}
.ikigai-step-tab.locked{
  opacity:.34;
  cursor:not-allowed
}
.ikigai-step-tab.locked:hover{
  transform:none;
  border-color:var(--line)
}
@media(max-width:760px){
  .ikigai-stage-footer{
    flex-direction:column-reverse;
    align-items:stretch
  }
  .ikigai-stage-footer-main,
  .ikigai-stage-footer-main .ikigai-complete-btn,
  .ikigai-stage-footer .ghost-btn{
    width:100%;
    min-width:0
  }
}
