:root {
  --paper: #f3ecdf;
  --paper-2: #fbf7ef;
  --ink: #162438;
  --muted: #667085;
  --gold: #a9884f;
  --part1: #526f91;
  --part2: #617c67;
  --part3: #a56d4d;
  --public: #745f86;
  --line: rgba(22, 36, 56, .18);
  --shadow: 0 18px 60px rgba(25, 32, 45, .10);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--paper); }
body { margin: 0; min-height: 100vh; background:
  radial-gradient(circle at 20% 10%, rgba(255,255,255,.8), transparent 32%),
  linear-gradient(180deg, var(--paper-2), var(--paper));
}
button, input, textarea { font: inherit; }
button { color: inherit; }
button:disabled { cursor:not-allowed; opacity:.55; }

.skip-link {
  position: fixed; left: 1rem; top: -5rem; z-index: 100;
  background: var(--ink); color: white; padding: .7rem 1rem; border-radius: .5rem;
}
.skip-link:focus { top: 1rem; }

.app-shell { min-height: 100vh; display: grid; grid-template-rows: auto 1fr auto; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding: 1rem 1.1rem; border-bottom:1px solid var(--line); backdrop-filter: blur(8px); }
.brand { display:flex; align-items:center; gap:.7rem; min-width:0; }
.logo-mark { width: 1.9rem; height: 1.9rem; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; font-family: Georgia, serif; font-size:1.35rem; line-height:1; background:rgba(255,255,255,.45); }
.brand-copy { min-width:0; }
.brand-copy strong { display:block; font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.brand-copy span { display:block; font-size:.73rem; color:var(--muted); }
.text-btn { border:0; background:transparent; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }

.viewport { width:min(100%, 980px); margin:0 auto; padding: 2rem 1rem 3rem; }
.hero { min-height:72vh; display:grid; place-items:center; text-align:center; }
.hero-inner { width:min(100%, 700px); }
.eyebrow { letter-spacing:.12em; text-transform:none; font-size:.78rem; color:var(--gold); font-weight:700; }
h1, h2, h3 { font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif; font-weight:600; }
h1 { font-size:clamp(2rem, 8vw, 4.8rem); margin:.5rem 0 1rem; line-height:1.1; }
h2 { font-size:clamp(1.55rem, 5vw, 2.6rem); margin:.3rem 0 .7rem; }
p { line-height:1.85; }
.lead { color:#354154; font-size:clamp(1rem, 2.5vw, 1.2rem); }

.primary, .secondary, .choice, .episode-card {
  border-radius: 999px; border:1px solid var(--line); background: rgba(255,255,255,.62); padding:.9rem 1.15rem; cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.primary { background:var(--ink); color:white; border-color:var(--ink); font-weight:700; }
.secondary { background:transparent; }
.primary:hover:not(:disabled), .secondary:hover:not(:disabled), .choice:hover:not(:disabled), .episode-card:hover:not(:disabled) { transform: translateY(-1px); box-shadow:0 8px 25px rgba(0,0,0,.08); }
.primary:focus-visible, .secondary:focus-visible, .choice:focus-visible, .episode-card:focus-visible, .rotation-handle:focus-visible, textarea:focus-visible { outline:3px solid rgba(169,136,79,.55); outline-offset:3px; }
.actions { display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; margin-top:1.4rem; }

.card { background:rgba(255,255,255,.56); border:1px solid var(--line); border-radius: 1.4rem; padding:clamp(1rem, 3vw, 2rem); box-shadow:var(--shadow); }
.section-title { margin-bottom:1.2rem; }
.map-grid { display:grid; gap:1rem; }
.part { border-left:4px solid var(--part1); padding-left:1rem; }
.part.part-2 { border-color:var(--part2); }
.part.part-3 { border-color:var(--part3); }
.episode-row { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.7rem; margin-top:.8rem; }
.part-3 .episode-row { grid-template-columns:repeat(4, minmax(0, 1fr)); }
.episode-card { border-radius:1rem; padding:1rem .7rem; text-align:left; min-height:5.5rem; }
.episode-card[disabled] { opacity:.45; cursor:not-allowed; box-shadow:none; transform:none; }
.ep-num { display:block; font-size:.8rem; color:var(--muted); }
.ep-work { display:block; margin-top:.25rem; font-weight:700; font-size:.93rem; }
.status { display:inline-block; margin-top:.45rem; font-size:.72rem; color:var(--muted); }

.progress { height:4px; background:rgba(22,36,56,.1); border-radius:999px; overflow:hidden; margin:1rem 0 2rem; }
.progress > span { display:block; height:100%; background:var(--gold); transition:width .4s ease; }
.stage-label { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.8rem; color:var(--muted); font-size:.86rem; }
.scene { min-height:48vh; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.scene::after { content:""; position:absolute; inset:auto -12% -25% auto; width:230px; height:230px; border:1px solid rgba(169,136,79,.25); border-radius:50%; pointer-events:none; }
.scene.a { background:linear-gradient(140deg, rgba(82,111,145,.08), rgba(255,255,255,.55)); }
.scene.t { background:linear-gradient(140deg, rgba(169,136,79,.10), rgba(255,255,255,.48)); }
.scene.c { background:linear-gradient(140deg, rgba(97,124,103,.08), rgba(255,255,255,.55)); }
.question { font-size:clamp(1.2rem, 4vw, 1.8rem); line-height:1.65; margin:.6rem 0 1.2rem; }
.choice-grid { display:grid; gap:.65rem; margin-top:1rem; }
.choice { border-radius:1rem; text-align:left; background:rgba(255,255,255,.72); }
.choice.selected { border-color:var(--gold); box-shadow:0 0 0 2px rgba(169,136,79,.18); }
textarea { width:100%; min-height:7rem; border:1px solid var(--line); border-radius:1rem; padding:1rem; background:rgba(255,255,255,.7); resize:vertical; color:var(--ink); }

/* i rotation: the i moves along the circumference. No degree is shown to the user. */
.rotation-zone { display:grid; place-items:center; padding:1.6rem 0 1rem; user-select:none; }
.rotation-ring {
  width:min(72vw, 310px); aspect-ratio:1; border:1px solid rgba(169,136,79,.4); border-radius:50%; position:relative;
  background:radial-gradient(circle, rgba(255,255,255,.55) 0 38%, transparent 39%), rgba(255,255,255,.16);
  touch-action:none;
}
.rotation-ring::before { content:""; position:absolute; inset:13%; border:1px dashed rgba(22,36,56,.15); border-radius:50%; }
.rotation-center { position:absolute; inset:34%; display:grid; place-items:center; text-align:center; border-radius:50%; border:1px solid rgba(22,36,56,.12); background:rgba(255,255,255,.5); color:var(--muted); font-size:.75rem; line-height:1.5; }
.rotation-handle {
  width:66px; height:66px; border-radius:50%; border:1px solid var(--gold); background:rgba(255,255,255,.94); display:grid; place-items:center;
  font-family:Georgia, serif; font-size:2.7rem; cursor:grab; position:absolute; left:50%; top:5%; transform:translate(-50%,-50%); z-index:2;
  box-shadow:0 8px 24px rgba(22,36,56,.12); touch-action:none;
}
.rotation-handle:active { cursor:grabbing; }
.rotation-copy { text-align:center; color:var(--muted); max-width:38rem; margin-left:auto; margin-right:auto; }
.rotate-caption { text-align:center; color:var(--muted); font-size:.84rem; margin-top:.9rem; min-height:1.5em; }
.rotate-meter { width:min(80%, 320px); height:5px; background:rgba(22,36,56,.1); border-radius:99px; overflow:hidden; margin:.65rem auto 0; }
.rotate-meter > span { display:block; height:100%; width:0%; background:var(--gold); }

/* T: relation map */
.visual-t { justify-content:flex-start; }
.relation-map { width:min(100%, 580px); aspect-ratio: 1.45; margin:1.1rem auto 1.35rem; position:relative; border:1px solid rgba(22,36,56,.10); border-radius:1.4rem; background:
  radial-gradient(circle at center, rgba(169,136,79,.12), transparent 34%),
  linear-gradient(160deg, rgba(255,255,255,.58), rgba(255,255,255,.18));
  overflow:hidden;
}
.land-core { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:38%; min-height:34%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid rgba(169,136,79,.45); border-radius:1rem; background:rgba(243,236,223,.84); z-index:2; box-shadow:0 10px 30px rgba(22,36,56,.08); }
.land-label { font-family:Georgia,"Yu Mincho",serif; font-size:1.25rem; }
.land-core small { margin-top:.35rem; color:var(--muted); line-height:1.55; }
.relation-lines { position:absolute; inset:0; background:
  linear-gradient(28deg, transparent 49.7%, rgba(169,136,79,.16) 49.9% 50.1%, transparent 50.3%),
  linear-gradient(-28deg, transparent 49.7%, rgba(169,136,79,.16) 49.9% 50.1%, transparent 50.3%); opacity:.8; }
.relation-node { position:absolute; display:flex; align-items:center; gap:.4rem; padding:.58rem .72rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.9); box-shadow:0 7px 22px rgba(22,36,56,.07); opacity:0; animation:relation-in .7s ease forwards; z-index:3; }
.relation-node strong { font-size:.88rem; }
.relation-dot { width:.52rem; height:.52rem; border-radius:50%; background:var(--gold); opacity:.7; }
.relation-1 { left:5%; top:10%; animation-delay:.15s; }
.relation-2 { right:5%; top:17%; animation-delay:.4s; }
.relation-3 { left:7%; bottom:12%; animation-delay:.65s; }
.relation-4 { right:7%; bottom:9%; animation-delay:.9s; }
.t-copy { text-align:center; max-width:42rem; margin:.4rem auto; }
@keyframes relation-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

.initial-choice { display:inline-flex; align-self:flex-start; gap:.35rem; align-items:center; margin:.2rem 0 1rem; padding:.55rem .75rem; border-radius:999px; background:rgba(255,255,255,.5); color:var(--muted); font-size:.84rem; }
.initial-choice strong { color:var(--ink); }

/* Episode 1 ending */
.done-scene { text-align:center; }
.episode-orbit { width:180px; height:180px; margin:1rem auto 1.7rem; position:relative; border:1px solid rgba(169,136,79,.25); border-radius:50%; }
.orbit-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:56px; height:56px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; background:rgba(255,255,255,.72); font-family:Georgia,serif; font-size:2.2rem; }
.orbit-dots { position:absolute; inset:0; }
.orbit-dot { width:10px; height:10px; border-radius:50%; background:rgba(22,36,56,.18); position:absolute; left:calc(50% - 5px); top:calc(50% - 5px); }
.orbit-dot:nth-child(1) { transform:rotate(-90deg) translateY(-82px); }
.orbit-dot:nth-child(2) { transform:rotate(-54deg) translateY(-82px); }
.orbit-dot:nth-child(3) { transform:rotate(-18deg) translateY(-82px); }
.orbit-dot:nth-child(4) { transform:rotate(18deg) translateY(-82px); }
.orbit-dot:nth-child(5) { transform:rotate(54deg) translateY(-82px); }
.orbit-dot:nth-child(6) { transform:rotate(90deg) translateY(-82px); }
.orbit-dot:nth-child(7) { transform:rotate(126deg) translateY(-82px); }
.orbit-dot:nth-child(8) { transform:rotate(162deg) translateY(-82px); }
.orbit-dot:nth-child(9) { transform:rotate(198deg) translateY(-82px); }
.orbit-dot:nth-child(10) { transform:rotate(234deg) translateY(-82px); }
.orbit-dot.active { width:14px; height:14px; left:calc(50% - 7px); top:calc(50% - 7px); background:var(--gold); box-shadow:0 0 0 6px rgba(169,136,79,.12); }
.trajectory-grid { display:grid; grid-template-columns:1fr; gap:.6rem; margin:1.2rem 0; align-items:center; }
.trajectory-card { padding:.9rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.5); }
.trajectory-card span { display:block; color:var(--muted); font-size:.78rem; margin-bottom:.25rem; }
.trajectory-card strong { display:block; line-height:1.55; }
.trajectory-card.middle { border-style:dashed; }
.trajectory-arrow { color:var(--gold); }
.movement-note { max-width:44rem; margin:1rem auto; }
.theme-box { display:flex; flex-direction:column; gap:.35rem; margin:1.4rem auto; max-width:38rem; padding:1rem 1.1rem; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); }
.theme-box span { color:var(--muted); font-size:.78rem; }
.theme-box strong { font-family:Georgia,"Yu Mincho",serif; font-size:1.3rem; }
.theme-box small { color:var(--muted); line-height:1.55; }

.unresolved { border-left:3px solid var(--gold); padding:.2rem 0 .2rem 1rem; margin:1.5rem 0; text-align:left; }
.small { font-size:.82rem; color:var(--muted); }
.footer { padding:1rem; text-align:center; color:var(--muted); font-size:.75rem; }
.notice { padding:.8rem 1rem; border:1px dashed var(--line); border-radius:1rem; background:rgba(255,255,255,.35); margin:1rem 0; text-align:left; }


  .viewport { padding:3rem 2rem 4rem; }
  .choice-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .trajectory-grid { grid-template-columns:1fr auto 1.15fr auto 1fr; }




@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}


/* ===== UX prototype v3 ===== */
/* T becomes an explorable relation field rather than a static explanatory diagram. */
.relation-map-v3 {
  min-height: 390px;
  background:
    radial-gradient(circle at 50% 48%, rgba(169,136,79,.16), transparent 19%),
    radial-gradient(circle at 18% 22%, rgba(82,111,145,.09), transparent 24%),
    radial-gradient(circle at 80% 76%, rgba(97,124,103,.10), transparent 24%),
    linear-gradient(160deg, rgba(255,255,255,.62), rgba(243,236,223,.35));
}
.relation-web { position:absolute; inset:0; width:100%; height:100%; z-index:1; overflow:visible; }
.relation-web path, .relation-web circle {
  fill:none; stroke:rgba(169,136,79,.34); stroke-width:.45; stroke-linecap:round;
  stroke-dasharray:3 2; animation:web-draw 1.3s ease both;
}
.relation-web circle { stroke:rgba(22,36,56,.11); stroke-dasharray:2.2 2.6; }
@keyframes web-draw { from { stroke-dashoffset:24; opacity:.1; } to { stroke-dashoffset:0; opacity:1; } }

.land-core-v3 strong { margin-top:.35rem; color:var(--ink); font-size:.92rem; }
.relation-node { cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, opacity .2s ease; }
.relation-node:hover, .relation-node:focus-visible { transform:translateY(-2px); }
.relation-node.active {
  opacity:1; border-color:var(--gold); box-shadow:0 0 0 4px rgba(169,136,79,.10), 0 8px 24px rgba(22,36,56,.08);
}
.relation-node.active .relation-dot { transform:scale(1.45); opacity:1; }
.relation-focus {
  width:min(100%, 580px); margin:-.55rem auto 1rem; min-height:4.8rem; display:grid; gap:.55rem;
}
.relation-focus-item, .relation-focus-empty {
  border-top:1px solid rgba(169,136,79,.28); padding:.7rem .15rem .2rem; display:grid; grid-template-columns:minmax(5.5rem,auto) 1fr; gap:1rem; text-align:left;
}
.relation-focus-item strong { font-family:Georgia,"Yu Mincho",serif; }
.relation-focus-item span, .relation-focus-empty { color:var(--muted); font-size:.88rem; line-height:1.65; }

/* C no longer asks the user to answer the same decision again. */
.c-v3 { background:linear-gradient(140deg, rgba(97,124,103,.07), rgba(255,255,255,.6)); }
.decision-kept {
  display:flex; flex-direction:column; align-items:flex-start; gap:.28rem;
  width:max-content; max-width:100%; margin:.15rem 0 1.2rem;
  padding:.7rem .95rem; border-left:3px solid var(--gold); background:rgba(255,255,255,.48);
}
.decision-kept span { color:var(--muted); font-size:.78rem; }
.decision-kept strong { font-size:1.1rem; }
.observation-field {
  width:min(100%, 580px); margin:1.3rem auto 1rem; padding:1.2rem;
  border:1px solid rgba(22,36,56,.10); border-radius:1.3rem; background:rgba(255,255,255,.35);
}
.observation-center {
  width:150px; min-height:86px; margin:0 auto 1.15rem; display:flex; flex-direction:column; justify-content:center; align-items:center;
  border:1px solid rgba(169,136,79,.38); border-radius:50%; background:rgba(243,236,223,.72);
}
.observation-center span { color:var(--muted); font-size:.72rem; }
.observation-center strong { margin-top:.2rem; }
.observation-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem; }
.observation-chip { border-radius:999px; padding:.58rem .78rem; background:rgba(255,255,255,.78); font-size:.86rem; }
.observation-chip.selected { border-color:var(--gold); box-shadow:0 0 0 3px rgba(169,136,79,.10); }
.observation-readout {
  width:min(100%,580px); margin:0 auto 1rem; display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  border-top:1px solid var(--line); padding-top:.8rem; text-align:left;
}
.observation-readout span { color:var(--muted); font-size:.78rem; }
.observation-readout strong { font-size:.9rem; text-align:right; }

/* Ending: a quiet hinge to episode 2, not a reward screen. */
.orbit-dot.next {
  border:1px solid rgba(169,136,79,.65); background:rgba(255,255,255,.9);
  box-shadow:0 0 0 4px rgba(169,136,79,.06);
}
.next-door {
  width:min(100%, 680px); margin:2rem auto .6rem; padding:1.1rem;
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1rem;
  border:1px solid rgba(169,136,79,.34); border-radius:1.2rem;
  background:linear-gradient(125deg, rgba(255,255,255,.66), rgba(243,236,223,.48)); text-align:left;
}
.next-door-number {
  font-family:Georgia,serif; font-size:2.4rem; color:rgba(169,136,79,.78); line-height:1;
}
.next-door-copy span { color:var(--muted); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.next-door-copy h3 { margin:.15rem 0 .25rem; font-family:Georgia,"Yu Mincho",serif; }
.next-door-copy p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.55; }
.next-preview { text-align:left; }
.preview-flow {
  margin:1.5rem 0; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:.7rem; align-items:stretch;
}
.preview-flow > div {
  padding:1rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.5);
}
.preview-flow span { display:block; color:var(--muted); font-size:.75rem; margin-bottom:.35rem; }
.preview-flow strong { line-height:1.55; }
.preview-flow b { align-self:center; color:var(--gold); font-weight:400; }




/* ===== UX prototype v4 ===== */
/* The four relations are examples, not a closed answer set. */
.relation-map-v4 {
  min-height: 410px;
  background:
    radial-gradient(circle at 50% 50%, rgba(169,136,79,.13), transparent 20%),
    radial-gradient(circle at 18% 22%, rgba(82,111,145,.08), transparent 25%),
    radial-gradient(circle at 81% 76%, rgba(97,124,103,.09), transparent 25%),
    linear-gradient(160deg, rgba(255,255,255,.64), rgba(243,236,223,.32));
}
.outer-open-ring { stroke:rgba(22,36,56,.08)!important; stroke-dasharray:1.2 4!important; }
.open-line { stroke:rgba(22,36,56,.14)!important; stroke-dasharray:1.4 3.5!important; }
.open-node {
  position:absolute; z-index:2; width:8px; height:8px; border-radius:50%;
  border:1px solid rgba(22,36,56,.22); background:rgba(255,255,255,.62);
}
.open-node-1 { left:48%; top:5%; }
.open-node-2 { left:7%; top:48%; }
.open-node-3 { right:7%; top:48%; }
.open-node-4 { left:31%; bottom:7%; }
.open-node-5 { right:29%; top:11%; }
.relation-ellipsis {
  position:absolute; z-index:3; right:11%; bottom:10%; color:rgba(22,36,56,.4);
  font-family:Georgia,serif; font-size:1.5rem; letter-spacing:.13em;
}
.open-relation-panel {
  width:min(100%, 650px); margin:1.1rem auto 1rem; padding:1rem 1.05rem;
  border:1px dashed rgba(169,136,79,.4); border-radius:1.1rem; background:rgba(255,255,255,.38);
  text-align:left;
}
.open-relation-panel p { margin:.25rem 0 .75rem; color:var(--muted); font-size:.84rem; }
.custom-relation-row { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.custom-relation-row input {
  flex:1 1 240px; min-width:0; border:1px solid var(--line); border-radius:.8rem; padding:.72rem .8rem;
  font:inherit; background:rgba(255,255,255,.85); color:var(--ink);
}
.compact { padding:.65rem .78rem!important; }
.custom-relation-list { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.75rem; }
.custom-relation-chip {
  display:inline-flex; align-items:center; gap:.35rem; border:1px solid rgba(169,136,79,.35);
  border-radius:999px; padding:.4rem .55rem .4rem .68rem; background:rgba(243,236,223,.7); font-size:.82rem;
}
.custom-relation-chip button { border:0; background:transparent; color:var(--muted); cursor:pointer; padding:0 .15rem; }
.custom-empty { color:var(--muted); font-size:.8rem; }

/* C explains the structural meaning through a before/after field, without asking for a new answer. */
.c-v4 { background:linear-gradient(140deg, rgba(97,124,103,.055), rgba(255,255,255,.6)); }
.field-comparison {
  margin:1.5rem auto 1rem; width:min(100%, 760px); display:grid;
  grid-template-columns:1fr auto 1fr; gap:1rem; align-items:stretch;
}
.field-panel {
  border:1px solid var(--line); border-radius:1.15rem; padding:.9rem; background:rgba(255,255,255,.45);
}
.field-label { color:var(--muted); font-size:.75rem; letter-spacing:.07em; margin-bottom:.65rem; }
.field-canvas {
  position:relative; min-height:230px; border-radius:1rem; overflow:hidden;
  display:grid; place-items:center; background:rgba(247,242,232,.6);
}
.field-canvas.sparse {
  background:radial-gradient(circle at center, rgba(169,136,79,.12), transparent 28%), rgba(247,242,232,.55);
}
.field-canvas.expanded {
  background:
    radial-gradient(circle at center, rgba(169,136,79,.12), transparent 24%),
    radial-gradient(circle at 22% 25%, rgba(82,111,145,.07), transparent 20%),
    radial-gradient(circle at 80% 74%, rgba(97,124,103,.08), transparent 22%),
    rgba(247,242,232,.55);
}
.field-decision {
  z-index:2; width:120px; min-height:82px; border:1px solid rgba(169,136,79,.45);
  border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center;
  background:rgba(255,255,255,.84); box-shadow:0 6px 20px rgba(22,36,56,.06);
}
.field-decision span { font-size:.7rem; color:var(--muted); }
.field-decision strong { margin-top:.2rem; }
.field-cloud { position:absolute; inset:0; }
.field-chip {
  position:absolute; border:1px solid rgba(22,36,56,.12); border-radius:999px;
  padding:.35rem .5rem; background:rgba(255,255,255,.75); font-size:.73rem; color:var(--ink);
}
.field-chip:nth-child(1) { left:7%; top:14%; }
.field-chip:nth-child(2) { right:7%; top:18%; }
.field-chip:nth-child(3) { left:8%; bottom:16%; }
.field-chip:nth-child(4) { right:7%; bottom:15%; }
.field-chip:nth-child(5) { left:38%; top:7%; }
.field-chip:nth-child(6) { left:31%; bottom:6%; }
.field-chip:nth-child(7) { right:27%; top:42%; }
.field-chip.custom { border-style:dashed; border-color:rgba(169,136,79,.55); }
.field-chip.open { right:9%; top:46%; border:0; background:transparent; font-size:1.25rem; color:var(--muted); }
.field-panel > p { color:var(--muted); font-size:.8rem; line-height:1.55; margin:.65rem .15rem .1rem; }
.field-shift { align-self:center; color:var(--gold); font-family:Georgia,serif; font-size:1.5rem; }

.meaning-box {
  width:min(100%, 680px); margin:1.1rem auto; padding:1rem 1.1rem;
  border-left:3px solid var(--gold); background:rgba(255,255,255,.5); text-align:left;
}
.meaning-box strong { font-family:Georgia,"Yu Mincho",serif; }
.meaning-box p { margin:.4rem 0 0; color:var(--muted); line-height:1.7; }
.meaning-box em { color:var(--ink); font-style:normal; border-bottom:1px solid rgba(169,136,79,.42); }
.final-meaning { margin-top:1.6rem; }

.bookmark-scene textarea { min-height:130px; }
.trajectory-v4 .trajectory-card small { display:block; color:var(--muted); margin-top:.4rem; font-size:.75rem; font-weight:400; }




/* ===== UX prototype v5 ===== */
/* Distinguish supplied relations, user relations, and open/unnamed space. */
.relation-map-v5 { min-height:430px; }
.relation-kind {
  display:block; margin-bottom:.16rem; color:var(--muted); font-size:.59rem;
  letter-spacing:.05em; font-weight:500;
}
.relation-node .relation-kind { color:rgba(22,36,56,.53); }

.relation-legend {
  display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem 1rem;
  width:min(100%,680px); margin:.75rem auto .6rem; color:var(--muted); font-size:.72rem;
}
.legend-item { display:inline-flex; align-items:center; gap:.4rem; }
.legend-item i { display:inline-block; width:12px; height:12px; border-radius:50%; }
.legend-item.supplied i { border:1px solid rgba(22,36,56,.35); background:rgba(255,255,255,.8); }
.legend-item.user i { border:2px dashed rgba(169,136,79,.9); background:rgba(169,136,79,.13); transform:rotate(45deg); border-radius:2px; }
.legend-item.open i { border:1px dotted rgba(22,36,56,.28); background:transparent; }

.user-relation-node {
  position:absolute; z-index:7; min-width:104px; max-width:150px;
  padding:.58rem .62rem; border:2px dashed rgba(169,136,79,.88);
  border-radius:.45rem; background:rgba(251,246,232,.94); color:var(--ink);
  box-shadow:0 9px 24px rgba(169,136,79,.11);
  transform:rotate(-2deg); cursor:pointer;
  animation:user-node-arrive .55s cubic-bezier(.2,.8,.25,1) both;
}
.user-relation-node .relation-kind { color:rgba(132,96,39,.9); font-size:.57rem; }
.user-relation-node strong { display:block; font-family:Georgia,"Yu Mincho",serif; font-size:.83rem; line-height:1.35; }
.user-relation-node small { display:block; margin-top:.18rem; color:var(--muted); font-size:.56rem; opacity:.7; }
.user-relation-1 { left:34%; top:5%; }
.user-relation-2 { right:4%; top:49%; transform:rotate(2deg); }
.user-relation-3 { left:36%; bottom:4%; transform:rotate(1deg); }
@keyframes user-node-arrive {
  from { opacity:0; transform:scale(.72) translateY(8px) rotate(-7deg); }
  to { opacity:1; }
}
.user-relation-node::after {
  content:""; position:absolute; inset:-5px; border:1px solid rgba(169,136,79,.18);
  border-radius:.58rem; pointer-events:none;
}

/* Bookmark becomes the main artifact of each episode. */
.bookmark-v5 { background:linear-gradient(150deg, rgba(255,255,255,.76), rgba(243,236,223,.48)); }
.bookmark-structure {
  width:min(100%,760px); margin:1.6rem auto 1.4rem; text-align:left;
}
.bookmark-step {
  display:grid; grid-template-columns:54px 1fr; gap:1rem; align-items:start;
  padding:.95rem 1rem; border:1px solid var(--line); border-radius:1.05rem; background:rgba(255,255,255,.55);
}
.bookmark-step.theme { border-color:rgba(169,136,79,.35); background:rgba(250,245,230,.66); }
.bookmark-step.shift { border-color:rgba(97,124,103,.30); background:rgba(240,246,241,.55); }
.bookmark-no {
  display:grid; place-items:center; width:42px; height:42px; border-radius:50%;
  border:1px solid rgba(169,136,79,.5); font-family:Georgia,serif; color:var(--gold);
}
.bookmark-step small { display:block; color:var(--muted); font-size:.72rem; margin-bottom:.22rem; }
.bookmark-step strong { font-family:Georgia,"Yu Mincho",serif; font-size:1.08rem; }
.bookmark-step p { margin:.35rem 0 0; color:var(--muted); line-height:1.65; font-size:.86rem; }
.bookmark-line { width:1px; height:18px; background:rgba(169,136,79,.35); margin:0 0 0 21px; }
.bookmark-relations { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.7rem; }
.bookmark-relation {
  display:inline-flex; align-items:center; min-height:28px; padding:.3rem .48rem;
  border-radius:999px; border:1px dashed rgba(169,136,79,.68);
  background:rgba(255,250,236,.72); font-size:.72rem;
}
.bookmark-relation.supplied { border-style:solid; border-color:rgba(22,36,56,.16); background:rgba(255,255,255,.65); }
.bookmark-relation.open { border-style:dotted; border-color:rgba(22,36,56,.2); background:transparent; }
.bookmark-relation.muted { color:var(--muted); opacity:.8; }
.position-shift { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; margin:.25rem 0; }
.position-shift span { color:var(--gold); font-size:1.2rem; }

.bookmark-write {
  width:min(100%,700px); margin:1.3rem auto; padding:1.05rem;
  border:1px solid rgba(169,136,79,.35); border-radius:1rem; background:rgba(255,255,255,.55); text-align:left;
}
.bookmark-write label { display:flex; flex-direction:column; gap:.18rem; margin-bottom:.65rem; }
.bookmark-write label span { color:var(--muted); font-size:.8rem; }
.bookmark-prompt-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; margin-top:.45rem; color:var(--muted); font-size:.73rem; }

/* Saved bookmark card */
.saved-bookmark {
  width:min(100%,820px); margin:1.6rem auto; padding:1.2rem;
  border:1px solid rgba(169,136,79,.42); border-radius:1.3rem;
  background:linear-gradient(145deg, rgba(255,253,245,.96), rgba(244,238,221,.78));
  box-shadow:0 14px 38px rgba(22,36,56,.07); text-align:left;
}
.saved-bookmark-head { display:flex; gap:.8rem; align-items:center; padding-bottom:.8rem; border-bottom:1px solid rgba(169,136,79,.25); }
.saved-bookmark-head > span {
  display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--gold);
  border-radius:50%; font-family:Georgia,serif; color:var(--gold);
}
.saved-bookmark-head small { display:block; color:var(--muted); margin-bottom:.15rem; }
.saved-bookmark-head strong { font-family:Georgia,"Yu Mincho",serif; font-size:1.05rem; }
.saved-bookmark-route {
  display:grid; grid-template-columns:minmax(100px,.85fr) auto minmax(220px,1.8fr) auto minmax(100px,.85fr);
  gap:.75rem; align-items:center; padding:1rem 0;
}
.saved-bookmark-route > div { padding:.7rem; border-radius:.8rem; background:rgba(255,255,255,.47); }
.saved-bookmark-route small { display:block; color:var(--muted); font-size:.68rem; margin-bottom:.22rem; }
.saved-bookmark-route strong { line-height:1.5; font-size:.91rem; }
.route-trigger p { margin:.45rem 0 0; color:var(--muted); font-size:.73rem; }
.route-arrow { color:var(--gold); font-family:Georgia,serif; }
.saved-bookmark-note, .saved-bookmark-unresolved { padding:.8rem .1rem; border-top:1px solid rgba(22,36,56,.08); }
.saved-bookmark-note small, .saved-bookmark-unresolved small { color:var(--muted); font-size:.68rem; }
.saved-bookmark-note blockquote { margin:.35rem 0 0; padding-left:.8rem; border-left:2px solid var(--gold); font-family:Georgia,"Yu Mincho",serif; line-height:1.7; }
.saved-bookmark-unresolved p { margin:.32rem 0 0; color:var(--muted); line-height:1.6; }
.orbit-caption { color:var(--muted); font-size:.82rem; margin:-.3rem 0 1rem; }




/* ===== UX prototype v6 ===== */
/* Preserve relation provenance throughout the whole C screen. */
.c-v6 { background:linear-gradient(140deg, rgba(97,124,103,.045), rgba(255,255,255,.68)); }
.c-legend { margin-top:.9rem; margin-bottom:.9rem; }

.provenance-canvas { overflow:hidden; min-height:285px; }
.c-field-node {
  position:absolute; z-index:3; display:flex; flex-direction:column; align-items:center;
  min-width:82px; max-width:128px; padding:.42rem .52rem; line-height:1.25; text-align:center;
}
.c-field-node small { display:block; margin-bottom:.1rem; font-size:.53rem; letter-spacing:.04em; }
.c-field-node strong { font-size:.72rem; }

.c-field-node.supplied {
  border:1px solid rgba(22,36,56,.18); border-radius:999px;
  background:rgba(255,255,255,.84); color:var(--ink);
}
.c-field-node.supplied small { color:rgba(22,36,56,.5); }

.c-field-node.user {
  border:2px dashed rgba(169,136,79,.82); border-radius:.4rem;
  background:rgba(251,246,232,.95); color:var(--ink);
  box-shadow:0 7px 20px rgba(169,136,79,.10);
  transform:rotate(-1.5deg);
}
.c-field-node.user small { color:rgba(132,96,39,.9); }

.c-supplied-1 { left:6%; top:12%; }
.c-supplied-2 { right:6%; top:14%; }
.c-supplied-3 { left:7%; bottom:14%; }
.c-supplied-4 { right:7%; bottom:13%; }

.c-user-1 { left:35%; top:4%; }
.c-user-2 { right:2%; top:47%; transform:rotate(1.5deg); }
.c-user-3 { left:34%; bottom:4%; transform:rotate(.5deg); }

.c-user-empty {
  position:absolute; left:50%; bottom:7%; transform:translateX(-50%);
  color:rgba(132,96,39,.58); font-size:.62rem; border-bottom:1px dashed rgba(169,136,79,.35);
  padding-bottom:.12rem; white-space:nowrap;
}

.c-open-node {
  position:absolute; width:7px; height:7px; border-radius:50%;
  border:1px dotted rgba(22,36,56,.28); background:transparent; z-index:2;
}
.c-open-1 { left:18%; top:49%; }
.c-open-2 { right:18%; top:47%; }
.c-open-3 { left:52%; bottom:15%; }
.c-open-ellipsis {
  position:absolute; right:15%; top:58%; color:rgba(22,36,56,.35);
  font-family:Georgia,serif; font-size:1.25rem; letter-spacing:.08em;
}

.provenance-summary {
  width:min(100%,760px); margin:1.25rem auto; display:grid; gap:.75rem; text-align:left;
}
.provenance-group {
  padding:.9rem 1rem; border-radius:1rem; background:rgba(255,255,255,.48);
}
.provenance-group.supplied { border:1px solid rgba(22,36,56,.11); }
.provenance-group.user { border:2px dashed rgba(169,136,79,.35); background:rgba(251,246,232,.44); }
.provenance-group.open { border:1px dotted rgba(22,36,56,.18); background:transparent; }

.provenance-title { display:flex; align-items:center; gap:.5rem; margin-bottom:.6rem; }
.provenance-title > span { width:11px; height:11px; border-radius:50%; }
.provenance-group.supplied .provenance-title > span {
  border:1px solid rgba(22,36,56,.35); background:rgba(255,255,255,.85);
}
.provenance-group.user .provenance-title > span {
  border:2px dashed rgba(169,136,79,.9); background:rgba(169,136,79,.13);
  border-radius:2px; transform:rotate(45deg);
}
.provenance-group.open .provenance-title > span {
  border:1px dotted rgba(22,36,56,.28); background:transparent;
}
.provenance-title strong { font-family:Georgia,"Yu Mincho",serif; font-size:.88rem; }

.provenance-chips { display:flex; flex-wrap:wrap; gap:.42rem; }
.provenance-chip {
  display:inline-flex; flex-direction:column; padding:.38rem .52rem; min-width:72px;
  background:rgba(255,255,255,.64); font-size:.7rem;
}
.provenance-chip small { font-size:.51rem; color:var(--muted); margin-bottom:.06rem; }
.provenance-chip.supplied { border:1px solid rgba(22,36,56,.13); border-radius:999px; }
.provenance-chip.user { border:1px dashed rgba(169,136,79,.65); border-radius:.35rem; background:rgba(251,246,232,.74); }
.provenance-chip.user.empty { opacity:.75; }
.provenance-group.open p { margin:.2rem 0 0; color:var(--muted); font-size:.8rem; line-height:1.6; }

.meaning-box-v6 em { font-weight:600; }

/* Make the bookmark examples feel like watermark text rather than a suggested answer. */
.bookmark-v5 textarea::placeholder {
  color:rgba(22,36,56,.28);
  opacity:1;
  font-family:Georgia,"Yu Mincho",serif;
  line-height:1.8;
}
.bookmark-v5 textarea {
  min-height:165px;
}




/* ===== UX prototype v7 ===== */

/* Writing support: hints are hidden until the user asks for them.
   This reduces anchoring compared with full-sentence watermark examples. */
.bookmark-v7 textarea {
  min-height:150px;
}
.bookmark-v7 textarea::placeholder {
  color:rgba(22,36,56,.30);
  opacity:1;
  font-family:inherit;
  line-height:1.7;
}
.writing-hints {
  margin-top:.75rem;
  border:1px solid rgba(22,36,56,.10);
  border-radius:.85rem;
  background:rgba(255,255,255,.38);
}
.writing-hints > summary {
  cursor:pointer;
  padding:.72rem .85rem;
  color:var(--muted);
  font-size:.82rem;
  list-style-position:inside;
}
.writing-lenses {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.6rem;
  padding:0 .8rem .8rem;
}
.writing-lens {
  padding:.75rem;
  border:1px solid rgba(22,36,56,.08);
  border-radius:.75rem;
  background:rgba(255,255,255,.55);
}
.writing-lens strong {
  display:block;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:.85rem;
  margin-bottom:.25rem;
}
.writing-lens span {
  display:block;
  color:var(--muted);
  font-size:.75rem;
  line-height:1.55;
}
.concrete-examples {
  margin:.1rem .8rem .8rem;
  padding:.65rem .7rem;
  border-top:1px solid rgba(169,136,79,.2);
}
.concrete-examples > summary {
  cursor:pointer;
  color:var(--muted);
  font-size:.78rem;
}
.example-quotes {
  margin:.65rem 0 .35rem;
  display:grid;
  gap:.45rem;
}
.example-quotes p {
  margin:0;
  padding:.55rem .7rem;
  border-left:2px solid rgba(169,136,79,.45);
  background:rgba(250,245,230,.45);
  color:var(--ink);
  font-family:Georgia,"Yu Mincho",serif;
  font-size:.82rem;
  line-height:1.6;
}
.concrete-examples small {
  color:var(--muted);
  font-size:.68rem;
}

/* Ten-bookmark trajectory preview */
.trajectory-preview {
  overflow:hidden;
}
.trajectory-orbit-wrap {
  width:min(100%,620px);
  margin:1.3rem auto 1rem;
}
.trajectory-orbit {
  position:relative;
  width:min(86vw,520px);
  aspect-ratio:1;
  margin:0 auto;
}
.trajectory-orbit-ring {
  position:absolute;
  inset:11%;
  border:1px solid rgba(169,136,79,.30);
  border-radius:50%;
}
.trajectory-orbit-ring::before,
.trajectory-orbit-ring::after {
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px dotted rgba(22,36,56,.08);
}
.trajectory-orbit-ring::before { inset:12%; }
.trajectory-orbit-ring::after { inset:28%; }
.trajectory-orbit-center {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:118px;
  height:118px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:1px solid rgba(169,136,79,.38);
  background:rgba(247,242,232,.84);
  box-shadow:0 10px 30px rgba(22,36,56,.05);
}
.trajectory-orbit-center strong {
  font-family:Georgia,serif;
  font-size:2.8rem;
  color:var(--gold);
  line-height:1;
}
.trajectory-orbit-center span {
  margin-top:.25rem;
  color:var(--muted);
  font-size:.66rem;
  text-align:center;
  line-height:1.4;
}
.trajectory-point {
  position:absolute;
  transform:translate(-50%,-50%);
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:0;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.trajectory-point:hover,
.trajectory-point:focus-visible {
  transform:translate(-50%,-50%) scale(1.06);
}
.trajectory-point span {
  font-family:Georgia,serif;
  font-size:.9rem;
}
.trajectory-point small {
  margin-top:.04rem;
  font-size:.52rem;
  color:var(--muted);
}
.trajectory-point.actual {
  border:2px solid rgba(169,136,79,.85);
  background:rgba(251,246,232,.95);
  box-shadow:0 7px 18px rgba(169,136,79,.12);
}
.trajectory-point.planned {
  border:1px dashed rgba(22,36,56,.22);
  background:rgba(255,255,255,.76);
}
.trajectory-point.selected {
  box-shadow:0 0 0 5px rgba(169,136,79,.10), 0 8px 22px rgba(22,36,56,.08);
}
.trajectory-help {
  text-align:center;
  color:var(--muted);
  font-size:.76rem;
}

.trajectory-detail-card {
  width:min(100%,820px);
  margin:1rem auto 1.4rem;
  padding:1rem;
  border-radius:1.1rem;
  text-align:left;
}
.trajectory-detail-card.actual {
  border:1px solid rgba(169,136,79,.38);
  background:linear-gradient(145deg, rgba(255,253,245,.92), rgba(244,238,221,.65));
}
.trajectory-detail-card.planned {
  border:1px dashed rgba(22,36,56,.18);
  background:rgba(255,255,255,.42);
}
.trajectory-detail-head {
  display:flex;
  gap:.75rem;
  align-items:center;
  padding-bottom:.7rem;
  border-bottom:1px solid rgba(22,36,56,.08);
}
.trajectory-detail-head > span {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(169,136,79,.48);
  color:var(--gold);
  font-family:Georgia,serif;
}
.trajectory-detail-head small {
  display:block;
  color:var(--muted);
  font-size:.68rem;
}
.trajectory-detail-head h3 {
  margin:.12rem 0 0;
  font-family:Georgia,"Yu Mincho",serif;
}
.trajectory-detail-grid {
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:.65rem;
  margin-top:.75rem;
}
.trajectory-detail-grid > div {
  padding:.75rem;
  border-radius:.75rem;
  background:rgba(255,255,255,.45);
}
.trajectory-detail-grid small {
  display:block;
  color:var(--muted);
  font-size:.65rem;
  margin-bottom:.18rem;
}
.trajectory-detail-grid strong {
  font-size:.86rem;
  line-height:1.45;
}
.trajectory-detail-grid p {
  margin:.35rem 0 0;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.5;
}
.trajectory-personal-note {
  margin-top:.75rem;
  padding:.75rem .2rem .15rem;
  border-top:1px solid rgba(22,36,56,.08);
}
.trajectory-personal-note small {
  color:var(--muted);
  font-size:.65rem;
}
.trajectory-personal-note blockquote {
  margin:.32rem 0 0;
  padding-left:.75rem;
  border-left:2px solid var(--gold);
  font-family:Georgia,"Yu Mincho",serif;
  line-height:1.65;
}
.planned-empty-bookmark {
  margin-top:.75rem;
  padding:.75rem;
  border:1px dotted rgba(22,36,56,.16);
  border-radius:.75rem;
  color:var(--muted);
  font-size:.78rem;
}

.trajectory-list {
  width:min(100%,920px);
  margin:1.6rem auto;
  border-top:1px solid var(--line);
}
.trajectory-list-head {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.8rem .15rem;
  color:var(--muted);
  font-size:.75rem;
}
.trajectory-row {
  width:100%;
  display:grid;
  grid-template-columns:48px 1.2fr .9fr 1.5fr 84px;
  gap:.65rem;
  align-items:center;
  padding:.72rem .4rem;
  border:0;
  border-top:1px solid rgba(22,36,56,.07);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.trajectory-row:hover,
.trajectory-row.selected {
  background:rgba(169,136,79,.055);
}
.trajectory-row-num {
  font-family:Georgia,serif;
  color:var(--gold);
}
.trajectory-row-work {
  font-family:Georgia,"Yu Mincho",serif;
  font-size:.82rem;
}
.trajectory-row-theme,
.trajectory-row-shift {
  font-size:.74rem;
  color:var(--muted);
  line-height:1.45;
}
.trajectory-row-status {
  justify-self:end;
  padding:.25rem .4rem;
  border-radius:999px;
  font-size:.62rem;
}
.trajectory-row-status.actual {
  border:1px solid rgba(169,136,79,.45);
  background:rgba(251,246,232,.72);
}
.trajectory-row-status.planned {
  border:1px dashed rgba(22,36,56,.16);
  color:var(--muted);
}

.trajectory-final-gate {
  width:min(100%,820px);
  margin:1.8rem auto 1rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(97,124,103,.23);
  border-radius:1rem;
  background:rgba(240,246,241,.40);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:1rem;
  text-align:left;
}
.trajectory-final-gate h3 {
  margin:.2rem 0;
  font-family:Georgia,"Yu Mincho",serif;
}
.trajectory-final-gate p {
  margin:.3rem 0 0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.55;
}

/* Final long-form reflection preview */
.final-reflection-preview {
  text-align:left;
}
.preview-warning {
  margin:1rem 0;
  padding:.85rem 1rem;
  border-left:3px solid var(--gold);
  background:rgba(250,245,230,.50);
}
.preview-warning p {
  margin:.3rem 0 0;
  color:var(--muted);
  font-size:.8rem;
}
.final-mini-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.55rem;
  margin:1.2rem 0;
}
.final-mini-bookmark {
  min-height:92px;
  padding:.65rem;
  border-radius:.75rem;
  display:flex;
  gap:.5rem;
  align-items:flex-start;
}
.final-mini-bookmark.actual {
  border:1px solid rgba(169,136,79,.38);
  background:rgba(251,246,232,.70);
}
.final-mini-bookmark.planned {
  border:1px dashed rgba(22,36,56,.14);
  background:rgba(255,255,255,.38);
}
.final-mini-bookmark > span {
  font-family:Georgia,serif;
  color:var(--gold);
  font-size:.72rem;
}
.final-mini-bookmark strong {
  display:block;
  font-size:.72rem;
  line-height:1.35;
}
.final-mini-bookmark small {
  display:block;
  margin-top:.25rem;
  color:var(--muted);
  font-size:.61rem;
  line-height:1.4;
}
.final-writing {
  margin:1.4rem 0;
  padding:1rem;
  border:1px solid rgba(22,36,56,.10);
  border-radius:1rem;
  background:rgba(255,255,255,.48);
}
.final-writing label {
  display:flex;
  flex-direction:column;
  gap:.2rem;
  margin-bottom:.7rem;
}
.final-writing label strong {
  font-family:Georgia,"Yu Mincho",serif;
}
.final-writing label span {
  color:var(--muted);
  font-size:.78rem;
}
.final-writing textarea {
  width:100%;
  min-height:240px;
  resize:vertical;
  border:1px solid var(--line);
  border-radius:.9rem;
  padding:.9rem;
  font:inherit;
  line-height:1.75;
  background:rgba(255,255,255,.84);
  color:var(--ink);
  box-sizing:border-box;
}
.final-hints {
  margin-top:.7rem;
}
.final-not-complete {
  padding:1rem;
  border:1px dotted rgba(22,36,56,.17);
  border-radius:.9rem;
  color:var(--muted);
}
.final-not-complete strong {
  color:var(--ink);
}
.final-not-complete p {
  margin:.3rem 0 0;
  line-height:1.6;
  font-size:.8rem;
}




/* ===== UX prototype v8 : Season3 / Season4 bridge ===== */

.bridge-screen {
  text-align:left;
}

.bridge-screen > h1,
.bridge-screen > .lead {
  max-width:900px;
}

/* Bridge gate on trajectory */
.trajectory-bridge-gate {
  width:min(100%,820px);
  margin:1rem auto 1.8rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(169,136,79,.32);
  border-radius:1rem;
  background:linear-gradient(135deg, rgba(250,245,230,.56), rgba(240,246,241,.36));
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
  text-align:left;
}
.trajectory-bridge-gate h3 {
  margin:.2rem 0;
  font-family:Georgia,"Yu Mincho",serif;
}
.trajectory-bridge-gate p {
  margin:.3rem 0 0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.6;
}

/* 1 / 4 : Four expanding circles */
.freedom-visual {
  position:relative;
  width:min(82vw,620px);
  aspect-ratio:1;
  margin:1.8rem auto 2rem;
}
.freedom-ring {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(169,136,79,.28);
}
.freedom-ring-4 { width:96%; height:96%; border-color:rgba(111,84,131,.30); }
.freedom-ring-3 { width:76%; height:76%; border-color:rgba(191,117,72,.30); }
.freedom-ring-2 { width:56%; height:56%; border-color:rgba(78,119,90,.30); }
.freedom-ring-1 { width:36%; height:36%; border-color:rgba(76,105,142,.30); }

.freedom-center {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:98px;
  height:98px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  background:rgba(247,242,232,.90);
  border:1px solid rgba(169,136,79,.42);
  z-index:6;
}
.freedom-center strong {
  font-family:Georgia,serif;
  font-size:2.7rem;
  color:var(--gold);
  line-height:1;
}
.freedom-center span {
  margin-top:.2rem;
  color:var(--muted);
  font-size:.64rem;
}
.freedom-label {
  position:absolute;
  z-index:3;
  display:inline-block;
  max-width:180px;
  padding:.35rem .5rem;
  border-radius:.55rem;
  background:rgba(255,255,255,.86);
  box-shadow:0 5px 18px rgba(22,36,56,.04);
  font-size:.66rem;
  line-height:1.35;
  color:var(--ink);
}
.label-1 { left:50%; top:-10px; transform:translateX(-50%); }
.label-2 { right:-36px; top:31%; }
.label-3 { left:-44px; top:56%; }
.label-4 { right:2%; bottom:1%; }

.freedom-cards {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.75rem;
  width:min(100%,900px);
  margin:0 auto 1.4rem;
}
.freedom-card {
  padding:1rem;
  border-radius:1rem;
  background:rgba(255,255,255,.48);
}
.freedom-card span {
  display:block;
  color:var(--muted);
  font-size:.68rem;
  margin-bottom:.22rem;
}
.freedom-card h3 {
  margin:.1rem 0 .35rem;
  font-family:Georgia,"Yu Mincho",serif;
}
.freedom-card p {
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.65;
}
.freedom-card.layer-1 { border:1px solid rgba(76,105,142,.22); }
.freedom-card.layer-2 { border:1px solid rgba(78,119,90,.22); }
.freedom-card.layer-3 { border:1px solid rgba(191,117,72,.22); }
.freedom-card.layer-4 { border:1px solid rgba(111,84,131,.22); }

.bridge-note {
  width:min(100%,820px);
  margin:1rem auto;
  padding:1rem;
  border-left:3px solid rgba(169,136,79,.55);
  background:rgba(255,255,255,.44);
}
.bridge-note p {
  margin:.35rem 0 0;
  color:var(--muted);
  line-height:1.65;
  font-size:.82rem;
}

/* 2 / 4 : so what */
.so-what-chain {
  width:min(100%,960px);
  margin:1.6rem auto;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:.55rem;
  align-items:stretch;
}
.so-what-chain article {
  position:relative;
  padding:1rem;
  border:1px solid rgba(22,36,56,.10);
  border-radius:1rem;
  background:rgba(255,255,255,.52);
}
.so-what-chain small {
  display:block;
  color:var(--muted);
  margin-bottom:.22rem;
}
.so-what-chain h3 {
  margin:.15rem 0 .4rem;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:1rem;
}
.so-what-chain p {
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.6;
}
.chain-no {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid rgba(169,136,79,.45);
  color:var(--gold);
  font-family:Georgia,serif;
  margin-bottom:.55rem;
}
.chain-arrow {
  align-self:center;
  color:var(--gold);
  font-size:1.2rem;
}

.episode1-bridge-example {
  width:min(100%,900px);
  margin:1.6rem auto;
  padding:1rem;
  border:1px solid rgba(169,136,79,.30);
  border-radius:1rem;
  background:linear-gradient(135deg, rgba(250,245,230,.52), rgba(255,255,255,.56));
}
.episode1-bridge-grid {
  display:grid;
  grid-template-columns:.85fr 1.4fr 1.5fr;
  gap:.7rem;
}
.episode1-bridge-grid > div {
  padding:.8rem;
  border-radius:.75rem;
  background:rgba(255,255,255,.52);
}
.episode1-bridge-grid small {
  display:block;
  color:var(--muted);
  font-size:.66rem;
  margin-bottom:.2rem;
}
.episode1-bridge-grid strong {
  display:block;
  font-size:.88rem;
  line-height:1.55;
}
.episode1-bridge-grid .bridge-question {
  border-left:2px solid var(--gold);
}

/* 3 / 4 : carry one bookmark into reality */
.carry-form {
  width:min(100%,860px);
  margin:1.3rem auto;
  display:grid;
  gap:1rem;
}
.carry-form > label {
  display:flex;
  flex-direction:column;
  gap:.28rem;
  padding:1rem;
  border:1px solid rgba(22,36,56,.10);
  border-radius:1rem;
  background:rgba(255,255,255,.48);
}
.carry-form label > span {
  color:var(--muted);
  font-size:.76rem;
  line-height:1.55;
}
.carry-form input,
.carry-form select,
.carry-form textarea {
  width:100%;
  box-sizing:border-box;
  margin-top:.45rem;
  padding:.75rem .8rem;
  border:1px solid var(--line);
  border-radius:.8rem;
  background:rgba(255,255,255,.86);
  color:var(--ink);
  font:inherit;
}
.carry-form textarea {
  min-height:115px;
  resize:vertical;
  line-height:1.65;
}
.carry-source-bookmark {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.6rem;
  padding:1rem;
  border:1px solid rgba(169,136,79,.30);
  border-radius:1rem;
  background:rgba(250,245,230,.48);
}
.carry-source-bookmark > div {
  padding:.7rem;
  border-radius:.7rem;
  background:rgba(255,255,255,.50);
}
.carry-source-bookmark small,
.carry-saved-card small {
  display:block;
  color:var(--muted);
  font-size:.66rem;
  margin-bottom:.18rem;
}
.carry-source-bookmark strong {
  font-size:.84rem;
  line-height:1.45;
}
.carry-original-note {
  grid-column:1 / -1;
}
.carry-original-note blockquote {
  margin:.3rem 0 0;
  padding-left:.75rem;
  border-left:2px solid var(--gold);
  font-family:Georgia,"Yu Mincho",serif;
  line-height:1.65;
}
.carry-saved-card {
  width:min(100%,860px);
  margin:1rem auto;
  padding:1rem;
  border:1px solid rgba(78,119,90,.28);
  border-radius:1rem;
  background:rgba(240,246,241,.45);
}
.carry-saved-head {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.65rem;
  border-bottom:1px solid rgba(22,36,56,.08);
}
.carry-saved-head span {
  color:var(--muted);
  font-size:.72rem;
}
.carry-saved-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
  margin-top:.75rem;
}
.carry-saved-grid > div {
  padding:.65rem;
  border-radius:.7rem;
  background:rgba(255,255,255,.48);
}
.carry-saved-grid p {
  margin:.2rem 0 0;
  font-size:.8rem;
  line-height:1.55;
}

/* 4 / 4 : two doors */
.door-carry-summary {
  width:min(100%,860px);
  margin:1rem auto;
  padding:.85rem 1rem;
  border:1px solid rgba(169,136,79,.28);
  border-radius:.9rem;
  background:rgba(250,245,230,.44);
}
.door-carry-summary span {
  display:block;
  color:var(--muted);
  font-size:.68rem;
}
.door-carry-summary strong {
  display:block;
  margin-top:.15rem;
  font-family:Georgia,"Yu Mincho",serif;
}
.door-carry-summary p {
  margin:.35rem 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}
.door-carry-summary.empty {
  border-style:dashed;
}

.season-doors {
  width:min(100%,940px);
  margin:1.5rem auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.season-door {
  position:relative;
  min-height:360px;
  padding:1.25rem;
  border-radius:1.2rem;
  background:rgba(255,255,255,.52);
  overflow:hidden;
}
.season3-door { border:1px solid rgba(76,105,142,.28); }
.season4-door { border:1px solid rgba(111,84,131,.28); }
.door-number {
  position:absolute;
  right:1rem;
  top:.65rem;
  font-family:Georgia,serif;
  font-size:3.8rem;
  color:rgba(169,136,79,.13);
}
.season-door h2 {
  max-width:85%;
  font-family:Georgia,"Yu Mincho",serif;
}
.season-door p {
  color:var(--muted);
  line-height:1.7;
  font-size:.84rem;
}
.door-role {
  margin:1rem 0;
  padding:.8rem;
  border-radius:.75rem;
  background:rgba(255,255,255,.60);
}
.door-role small {
  display:block;
  color:var(--muted);
  font-size:.65rem;
}
.door-role strong {
  display:block;
  margin-top:.12rem;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:1.05rem;
}
.season-door details {
  margin-top:1rem;
  border-top:1px solid rgba(22,36,56,.08);
  padding-top:.75rem;
}
.season-door summary {
  cursor:pointer;
  color:var(--muted);
  font-size:.78rem;
}
.season-door ul {
  margin:.7rem 0 0 1rem;
  padding:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.75;
}

.season-flow {
  width:min(100%,820px);
  margin:1rem auto 1.5rem;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:.75rem;
  align-items:center;
}
.season-flow > div {
  padding:.8rem;
  text-align:center;
  border:1px solid rgba(22,36,56,.09);
  border-radius:.8rem;
  background:rgba(255,255,255,.45);
}
.season-flow span {
  display:block;
  color:var(--muted);
  font-size:.65rem;
}
.season-flow strong {
  display:block;
  margin-top:.12rem;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:.88rem;
}
.season-flow b {
  color:var(--gold);
  font-weight:400;
}




/* ===== UX prototype v9 : sequential "so what" screen ===== */

.why-screen-v9 {
  text-align:left;
}

.why-progress {
  width:min(100%,820px);
  margin:1.3rem auto 1.1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
}
.why-step-pill {
  min-width:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:.55rem .62rem;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  color:var(--muted);
  transition:all .18s ease;
}
.why-step-pill span {
  font-family:Georgia,serif;
  font-size:.65rem;
}
.why-step-pill strong {
  font-size:.75rem;
}
.why-step-pill.current {
  border:1px solid rgba(169,136,79,.58);
  background:rgba(250,245,230,.86);
  color:var(--ink);
  box-shadow:0 0 0 4px rgba(169,136,79,.07);
}
.why-step-pill.done {
  border:1px solid rgba(22,36,56,.13);
  background:rgba(255,255,255,.72);
  color:var(--ink);
  cursor:pointer;
}
.why-step-pill.future {
  border:1px dashed rgba(22,36,56,.10);
  opacity:.42;
}
.why-step-connector {
  color:rgba(169,136,79,.55);
  font-size:.9rem;
}

.why-focus-card {
  position:relative;
  width:min(100%,760px);
  min-height:300px;
  margin:1.1rem auto;
  padding:1.4rem 1.45rem;
  border:1px solid rgba(169,136,79,.32);
  border-radius:1.2rem;
  background:
    radial-gradient(circle at 85% 14%, rgba(169,136,79,.08), transparent 28%),
    linear-gradient(145deg, rgba(255,253,245,.92), rgba(255,255,255,.60));
  display:flex;
  align-items:center;
  gap:1.25rem;
  overflow:hidden;
}
.why-focus-number {
  flex:0 0 auto;
  width:78px;
  height:78px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(169,136,79,.46);
  color:var(--gold);
  font-family:Georgia,serif;
  font-size:1.45rem;
}
.why-focus-copy > span {
  display:block;
  color:var(--muted);
  font-size:.72rem;
  letter-spacing:.06em;
}
.why-focus-copy h2 {
  margin:.25rem 0 .55rem;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:clamp(1.45rem,4vw,2.35rem);
}
.why-focus-copy > p {
  margin:0;
  color:var(--muted);
  line-height:1.75;
  font-size:.9rem;
}
.why-focus-copy blockquote {
  margin:1rem 0 0;
  padding:.8rem .95rem;
  border-left:2px solid var(--gold);
  background:rgba(255,255,255,.48);
  font-family:Georgia,"Yu Mincho",serif;
  line-height:1.65;
}

.why-example.compact {
  width:min(100%,760px);
  margin:.7rem auto 1rem;
  padding:.85rem 1rem;
  border-radius:.9rem;
  background:rgba(240,246,241,.36);
  border:1px solid rgba(78,119,90,.18);
}
.why-example.compact small {
  display:block;
  color:var(--muted);
  font-size:.65rem;
  margin-bottom:.2rem;
}
.why-example.compact strong {
  display:block;
  line-height:1.6;
  font-size:.82rem;
}

.why-chain-complete {
  width:min(100%,760px);
  margin:1rem auto .35rem;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  gap:.5rem;
}
.why-chain-complete span {
  padding:.72rem .5rem;
  border:1px solid rgba(22,36,56,.10);
  border-radius:.75rem;
  background:rgba(255,255,255,.52);
  text-align:center;
  font-family:Georgia,"Yu Mincho",serif;
}
.why-chain-complete b {
  color:var(--gold);
  font-weight:400;
}
.why-chain-caption {
  width:min(100%,760px);
  margin:0 auto 1rem;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.6;
  text-align:center;
}

.why-navigation {
  width:min(100%,760px);
  margin:1.1rem auto .8rem;
  display:flex;
  justify-content:space-between;
  gap:.75rem;
}
.bridge-note.concise {
  width:min(100%,760px);
  margin-top:.8rem;
}




/* ===== UX prototype v9 : progressive "so what" bridge ===== */

.why-screen-v9 {
  min-height:72vh;
}

.why-screen-v9 > h1 {
  max-width:760px;
  margin-bottom:1.3rem;
}

.why-progress {
  width:min(100%,760px);
  margin:0 auto 1.5rem;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:.42rem;
  align-items:center;
}

.why-progress-step {
  min-height:58px;
  padding:.55rem .45rem;
  border-radius:.85rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.05rem;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(22,36,56,.10);
  color:var(--muted);
  cursor:pointer;
}

.why-progress-step:disabled {
  cursor:default;
  opacity:.43;
}

.why-progress-step span {
  font-family:Georgia,serif;
  font-size:.66rem;
}

.why-progress-step strong {
  font-family:Georgia,"Yu Mincho",serif;
  font-size:.83rem;
}

.why-progress-step.current {
  border-color:rgba(169,136,79,.62);
  background:rgba(250,245,230,.75);
  color:var(--ink);
  box-shadow:0 0 0 4px rgba(169,136,79,.07);
}

.why-progress-step.passed {
  border-color:rgba(97,124,103,.22);
  background:rgba(240,246,241,.42);
  color:var(--ink);
}

.why-progress-line {
  color:rgba(169,136,79,.55);
  font-family:Georgia,serif;
  font-size:.9rem;
}

.why-stage-card {
  width:min(100%,760px);
  margin:0 auto;
  padding:1.15rem;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:.9rem 1rem;
  border:1px solid rgba(169,136,79,.30);
  border-radius:1.2rem;
  background:
    radial-gradient(circle at 85% 15%, rgba(169,136,79,.08), transparent 25%),
    rgba(255,255,255,.54);
  animation:why-stage-enter .32s ease both;
}

@keyframes why-stage-enter {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}

.why-stage-number {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(169,136,79,.48);
  color:var(--gold);
  font-family:Georgia,serif;
}

.why-stage-copy small {
  display:block;
  color:var(--muted);
  font-size:.7rem;
  letter-spacing:.08em;
  margin-bottom:.15rem;
}

.why-stage-copy h2 {
  margin:.05rem 0 .45rem;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:clamp(1.45rem,4vw,2.2rem);
}

.why-stage-copy p {
  margin:0;
  color:var(--muted);
  line-height:1.7;
  max-width:620px;
}

.why-stage-example {
  grid-column:1 / -1;
  margin-top:.15rem;
  padding:.85rem .95rem;
  border-left:2px solid var(--gold);
  background:rgba(250,245,230,.42);
}

.why-stage-example span {
  display:block;
  color:var(--muted);
  font-size:.67rem;
  margin-bottom:.25rem;
}

.why-stage-example strong {
  display:block;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:.92rem;
  line-height:1.65;
}

.why-stage-actions {
  width:min(100%,760px);
  margin:1rem auto .4rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.65rem;
}

.why-stage-actions > button:last-child {
  justify-self:end;
}

.why-stage-conclusion {
  width:min(100%,760px);
  margin:.9rem auto 0;
  padding:.8rem .95rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.45rem 1rem;
  border-top:1px solid rgba(22,36,56,.09);
  border-bottom:1px solid rgba(22,36,56,.09);
}

.why-stage-conclusion strong {
  font-family:Georgia,"Yu Mincho",serif;
}

.why-stage-conclusion span {
  color:var(--muted);
  font-size:.76rem;
  line-height:1.5;
}

.compact-actions {
  margin-top:.55rem!important;
}



/* ===== v10 basic UX freeze ===== */
.trajectory-mode-tabs{width:min(100%,520px);margin:1rem auto .8rem;display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.3rem;border:1px solid rgba(22,36,56,.08);border-radius:999px;background:rgba(255,255,255,.42)}
.trajectory-mode-tabs button{border:0;border-radius:999px;padding:.65rem .8rem;background:transparent;color:var(--muted);font:inherit;cursor:pointer}
.trajectory-mode-tabs button.active{background:rgba(250,245,230,.92);color:var(--ink);box-shadow:0 4px 14px rgba(22,36,56,.05)}
.trajectory-part-legend{width:min(100%,850px);margin:.4rem auto 1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem .8rem;color:var(--muted);font-size:.68rem}
.part-legend{display:inline-flex;align-items:center;gap:.35rem}.part-legend i{display:inline-block;width:18px;height:3px;border-radius:999px}.part-legend.p1 i{background:rgba(76,105,142,.55)}.part-legend.p2 i{background:rgba(78,119,90,.55)}.part-legend.p3 i{background:rgba(191,117,72,.55)}
.trajectory-orbit-v10{overflow:visible}.part-arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.part-arc{fill:none;stroke-width:1.25;stroke-linecap:round;stroke-dasharray:2 1.2}.part-arc-1{stroke:rgba(76,105,142,.38)}.part-arc-2{stroke:rgba(78,119,90,.38)}.part-arc-3{stroke:rgba(191,117,72,.38)}
.part-arc-label{position:absolute;z-index:4;padding:.2rem .35rem;border-radius:.4rem;background:rgba(255,255,255,.82);color:var(--muted);font-size:.58rem;pointer-events:none}.part-label-1{right:5%;top:17%}.part-label-2{right:7%;bottom:18%}.part-label-3{left:4%;top:49%}
.questions-mode .trajectory-orbit-ring{border-style:dotted}.questions-mode .trajectory-point.actual{border-style:double}.questions-mode .trajectory-point.planned{opacity:.72}
.remaining-question{padding:1rem .15rem}.remaining-question small{display:block;color:var(--muted);font-size:.68rem}.remaining-question blockquote{margin:.35rem 0 0;padding-left:.9rem;border-left:2px solid rgba(191,117,72,.55);font-family:Georgia,"Yu Mincho",serif;font-size:1.02rem;line-height:1.75}
.question-handoff-mini{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(22,36,56,.08)}.question-handoff-mini>div{padding:.75rem;border-radius:.75rem;background:rgba(255,255,255,.45)}.question-handoff-mini small{display:block;color:var(--muted);font-size:.65rem;margin-bottom:.2rem}.question-handoff-mini strong{display:block;font-size:.8rem;line-height:1.55}
.handoff-origin{width:min(100%,820px);margin:1rem auto 0;padding:.9rem 1rem;border:1px solid rgba(169,136,79,.30);border-radius:1rem;background:rgba(250,245,230,.48);text-align:center}.handoff-origin small{display:block;color:var(--muted);font-size:.68rem;margin-bottom:.2rem}.handoff-origin strong{display:block;font-family:Georgia,"Yu Mincho",serif;line-height:1.65}
.handoff-branch{width:min(72%,560px);height:42px;margin:0 auto;position:relative}.handoff-branch i{position:absolute;left:50%;top:0;width:1px;height:20px;background:rgba(169,136,79,.35)}.handoff-branch::before{content:"";position:absolute;left:17%;right:17%;top:20px;height:1px;background:rgba(169,136,79,.35)}.handoff-branch span{position:absolute;top:20px;width:1px;height:22px;background:rgba(169,136,79,.35)}.handoff-branch span:first-child{left:17%}.handoff-branch span:last-child{right:17%}
.door-question{margin:.8rem 0;padding:.85rem .9rem;border-radius:.8rem;background:rgba(255,255,255,.58)}.door-question small{display:block;color:var(--muted);font-size:.66rem;margin-bottom:.22rem}.door-question blockquote{margin:0;padding-left:.75rem;border-left:2px solid var(--gold);font-family:Georgia,"Yu Mincho",serif;line-height:1.65}



/* ===== v11: Part 1 episodes 2-3 ===== */

.classification-t,
.reversal-t {
  text-align:left;
}

.classification-field {
  position:relative;
  margin:1.2rem auto;
  padding:1.1rem;
  border:1px solid rgba(22,36,56,.09);
  border-radius:1.15rem;
  background:rgba(255,255,255,.42);
}

.classification-center {
  width:min(220px,70%);
  margin:0 auto 1rem;
  padding:.9rem;
  text-align:center;
  border-radius:999px;
  border:1px solid rgba(169,136,79,.35);
  background:rgba(250,245,230,.66);
}
.classification-center small,
.classification-center span {
  display:block;
  color:var(--muted);
  font-size:.66rem;
}
.classification-center strong {
  display:block;
  margin:.1rem 0;
  font-family:Georgia,"Yu Mincho",serif;
  font-size:1.2rem;
}

.classification-cards {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.65rem;
}
.classification-card {
  min-height:118px;
  padding:.85rem;
  text-align:left;
  border:1px solid rgba(22,36,56,.10);
  border-radius:.9rem;
  background:rgba(255,255,255,.62);
  color:var(--ink);
  cursor:pointer;
}
.classification-card span,
.classification-card small {
  display:block;
  color:var(--muted);
  font-size:.66rem;
}
.classification-card strong {
  display:block;
  margin:.18rem 0 .35rem;
  font-family:Georgia,"Yu Mincho",serif;
}
.classification-card.active {
  border-color:rgba(169,136,79,.52);
  background:rgba(250,245,230,.70);
  box-shadow:0 0 0 4px rgba(169,136,79,.06);
}
.classification-open {
  margin:.8rem auto 0;
  width:150px;
  padding:.55rem;
  text-align:center;
  border:1px dashed rgba(22,36,56,.16);
  border-radius:.8rem;
  color:var(--muted);
  font-family:Georgia,serif;
}
.classification-open small {
  display:block;
  font-family:inherit;
  font-size:.65rem;
}
.classification-own-zone,
.system-own-zone {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  justify-content:center;
  margin-top:.8rem;
}
.classification-own,
.system-own-chip {
  position:relative;
  display:inline-flex;
  flex-direction:column;
  gap:.1rem;
  padding:.55rem 1.8rem .55rem .7rem;
  border:1px dashed rgba(169,136,79,.48);
  border-radius:.75rem;
  background:rgba(250,245,230,.52);
}
.classification-own small,
.system-own-chip small {
  color:var(--muted);
  font-size:.6rem;
}
.classification-own button,
.system-own-chip button {
  position:absolute;
  right:.45rem;
  top:.42rem;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}
.classification-prompt {
  padding:.85rem;
  border-left:3px solid rgba(169,136,79,.48);
  background:rgba(250,245,230,.36);
}
.classification-prompt p {
  margin:.3rem 0 0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.6;
}

.mirror-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
  margin:1.2rem 0 .8rem;
}
.mirror-card {
  position:relative;
  min-height:220px;
  border:0;
  padding:0;
  background:transparent;
  perspective:800px;
  cursor:pointer;
}
.mirror-side {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.45rem;
  padding:1rem;
  border:1px solid rgba(22,36,56,.11);
  border-radius:1rem;
  background:rgba(255,255,255,.68);
  backface-visibility:hidden;
  transition:transform .42s ease;
}
.mirror-side small,
.mirror-side em {
  color:var(--muted);
  font-size:.68rem;
  font-style:normal;
}
.mirror-side strong {
  font-family:Georgia,"Yu Mincho",serif;
  line-height:1.55;
}
.mirror-side.back {
  transform:rotateY(180deg);
  border-color:rgba(169,136,79,.38);
  background:rgba(250,245,230,.72);
}
.mirror-card.flipped .front { transform:rotateY(180deg); }
.mirror-card.flipped .back { transform:rotateY(360deg); }
.mirror-progress {
  text-align:center;
  color:var(--muted);
  font-size:.72rem;
  margin-bottom:.8rem;
}
.mirror-progress span {
  color:var(--ink);
  font-family:Georgia,serif;
}

.summary-bookmark-list {
  display:grid;
  gap:1rem;
}
.summary-bookmark-card {
  padding:1rem;
  border:1px solid rgba(22,36,56,.09);
  border-radius:1rem;
  background:rgba(255,255,255,.45);
}
.summary-bookmark-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:.65rem;
  margin:.75rem 0;
}
.summary-bookmark-grid > div {
  padding:.65rem;
  border-radius:.7rem;
  background:rgba(255,255,255,.50);
}
.summary-bookmark-grid small {
  display:block;
  color:var(--muted);
  font-size:.64rem;
}
.summary-bookmark-grid strong {
  display:block;
  margin:.1rem 0;
  font-size:.82rem;
}
.summary-bookmark-grid p {
  margin:.2rem 0 0;
  color:var(--muted);
  font-size:.72rem;
}
.part1-complete-door {
  border-color:rgba(76,105,142,.24);
  background:rgba(244,247,251,.54);
}




/* ===== v12: Episode-aware four-circle bridge ===== */
.bridge-episode-context{width:min(100%,760px);margin:1rem auto;padding:.8rem 1rem;border:1px solid rgba(169,136,79,.28);border-radius:.9rem;background:rgba(250,245,230,.50);text-align:center}
.bridge-episode-context span,.bridge-episode-context small{display:block;color:var(--muted);font-size:.68rem}
.bridge-episode-context strong{display:block;margin:.15rem 0;font-family:Georgia,"Yu Mincho",serif;font-size:1.02rem}
.bridge-episode-context.compact{margin:.6rem auto 1rem;text-align:left}

.freedom-visual-v12 .freedom-ring{transition:border-width .18s ease,box-shadow .18s ease}
.freedom-visual-v12 .freedom-ring.active-ring{border-width:2px;box-shadow:0 0 0 7px rgba(169,136,79,.06)}
.freedom-visual-v12 .freedom-ring-1.active-ring{border-color:rgba(76,105,142,.62)}
.freedom-visual-v12 .freedom-ring-2.active-ring{border-color:rgba(78,119,90,.62)}
.freedom-visual-v12 .freedom-ring-3.active-ring{border-color:rgba(191,117,72,.62)}
.freedom-visual-v12 .freedom-ring-4.active-ring{border-color:rgba(111,84,131,.62)}
.freedom-episode-point{position:absolute;transform:translate(-50%,-50%);z-index:8;width:48px;height:48px;border-radius:50%;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.94);color:var(--ink);border:1px solid rgba(22,36,56,.20);cursor:pointer;box-shadow:0 5px 14px rgba(22,36,56,.06)}
.freedom-episode-point span{font-family:Georgia,serif;font-size:.8rem}.freedom-episode-point small{font-size:.48rem;color:var(--muted)}
.freedom-episode-point.done{background:rgba(250,245,230,.96)}
.freedom-episode-point.current{width:56px;height:56px;border:2px solid var(--gold);box-shadow:0 0 0 7px rgba(169,136,79,.11),0 7px 18px rgba(22,36,56,.08)}
.freedom-episode-point.layer-1{border-color:rgba(76,105,142,.52)}.freedom-episode-point.layer-2{border-color:rgba(78,119,90,.52)}.freedom-episode-point.layer-3{border-color:rgba(191,117,72,.52)}.freedom-episode-point.layer-4{border-color:rgba(111,84,131,.52)}
.freedom-card.active-layer{transform:translateY(-2px);box-shadow:0 8px 22px rgba(22,36,56,.07);background:rgba(250,245,230,.78)}
.freedom-card.layer-1.active-layer{border-color:rgba(76,105,142,.60)}.freedom-card.layer-2.active-layer{border-color:rgba(78,119,90,.60)}.freedom-card.layer-3.active-layer{border-color:rgba(191,117,72,.60)}.freedom-card.layer-4.active-layer{border-color:rgba(111,84,131,.60)}

.carry-episode-banner{width:min(100%,900px);margin:1rem auto;display:grid;grid-template-columns:.8fr 1fr 1.7fr;gap:.65rem}
.carry-episode-banner>div{padding:.8rem;border:1px solid rgba(22,36,56,.09);border-radius:.8rem;background:rgba(255,255,255,.48)}
.carry-episode-banner small{display:block;color:var(--muted);font-size:.64rem;margin-bottom:.15rem}.carry-episode-banner strong{display:block;font-size:.82rem;line-height:1.5}
.carry-source-bookmark-v12{grid-template-columns:repeat(3,1fr)}.carry-source-bookmark-v12>div{min-height:88px}.carry-source-bookmark-v12 p{margin:.25rem 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}.carry-practice-lens{grid-column:1/-1;border-left:2px solid rgba(111,84,131,.46)}

.door-episode-identity{width:min(100%,820px);margin:1rem auto .75rem;padding:.85rem 1rem;display:flex;align-items:center;gap:.8rem;border:1px solid rgba(169,136,79,.30);border-radius:1rem;background:rgba(250,245,230,.48)}
.door-episode-no{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(169,136,79,.48);color:var(--gold);font-family:Georgia,serif}
.door-episode-identity small{color:var(--muted);font-size:.66rem}.door-episode-identity h2{margin:.08rem 0;font-family:Georgia,"Yu Mincho",serif;font-size:1.15rem}.door-episode-identity p{margin:0;color:var(--muted);font-size:.75rem}
.door-result-strip{width:min(100%,900px);margin:.8rem auto 1rem;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.6rem}
.door-result-strip>div{padding:.72rem;border-radius:.75rem;background:rgba(255,255,255,.48);border:1px solid rgba(22,36,56,.08)}
.door-result-strip small{display:block;color:var(--muted);font-size:.62rem}.door-result-strip strong{display:block;margin-top:.15rem;font-size:.78rem;line-height:1.5}
.handoff-origin-v12{background:linear-gradient(135deg,rgba(250,245,230,.72),rgba(255,255,255,.52))}
.doors-screen-v12 .season-door h2{min-height:3.1em}.doors-screen-v12 .season-flow>div{min-height:96px}.doors-screen-v12 .season-flow strong{font-size:.72rem;line-height:1.45}




/* ===== v13: Part 2 — 世界の側からiを動かす ===== */
.part2-motto{
  display:inline-block;
  margin:.25rem 0 .8rem;
  padding:.38rem .68rem;
  border-radius:999px;
  background:rgba(78,119,90,.08);
  color:rgba(43,80,57,.92);
  font-family:Georgia,"Yu Mincho",serif;
  font-size:.78rem;
}
.part2-a{background:linear-gradient(180deg,rgba(249,247,238,.96),rgba(244,247,242,.86))}
.perception-choice-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.perception-choice{
  border:1px solid rgba(78,119,90,.20);border-radius:999px;padding:.62rem .85rem;
  background:rgba(255,255,255,.55);color:var(--ink);font:inherit;cursor:pointer
}
.perception-choice.selected{
  border-color:rgba(78,119,90,.62);background:rgba(225,237,227,.68);
  box-shadow:0 0 0 4px rgba(78,119,90,.06)
}
.part2-a-note{border-left:2px solid rgba(78,119,90,.35);padding-left:.7rem}

.part2-rotate{background:linear-gradient(180deg,rgba(246,249,246,.95),rgba(250,247,238,.88))}
.world-rotation-zone{position:relative}
.world-rotation-ring{position:relative;overflow:visible}
.world-rotation-ring .world-handle{
  position:absolute;left:50%;top:6%;transform:translate(-50%,-50%);
  transition:left .65s ease,top .65s ease,box-shadow .65s ease;
}
.world-rotation-ring.moved .world-handle{left:87%;top:69%;box-shadow:0 0 0 8px rgba(78,119,90,.08)}
.world-impulse-ring{
  position:absolute;inset:18%;border:1px dashed rgba(78,119,90,.22);border-radius:50%;
  animation:worldPulse 3s ease-in-out infinite
}
@keyframes worldPulse{0%,100%{transform:scale(.96);opacity:.45}50%{transform:scale(1.04);opacity:.9}}

.part2-t{background:linear-gradient(180deg,rgba(247,249,246,.97),rgba(251,248,240,.90))}
.distance-scene{
  position:relative;height:330px;margin:1rem 0;border-radius:1.2rem;overflow:hidden;
  border:1px solid rgba(78,119,90,.14);
  background:linear-gradient(180deg,rgba(224,235,227,.52),rgba(242,237,219,.64))
}
.forest-line{position:absolute;inset:0;background:
  radial-gradient(circle at 15% 18%,rgba(55,86,62,.13) 0 11%,transparent 12%),
  radial-gradient(circle at 38% 12%,rgba(55,86,62,.10) 0 10%,transparent 11%),
  linear-gradient(180deg,transparent 55%,rgba(87,105,72,.10) 56%)}
.observer-shape,.deer-group{position:absolute;bottom:70px;transition:left .2s ease}
.observer-shape{width:55px;height:70px;border-radius:45% 45% 18% 18%;background:rgba(22,36,56,.72);transform:translateX(-50%)}
.observer-shape:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:rgba(22,36,56,.72);top:-16px;left:15px}
.observer-shape span{position:absolute;top:78px;left:-10px;width:80px;text-align:center;font-size:.65rem;color:var(--muted)}
.deer-group{display:flex;gap:.4rem;align-items:flex-end;transform:translateX(-50%)}
.deer{display:grid;place-items:center;width:48px;height:58px;border-radius:48% 52% 40% 38%;background:rgba(118,93,60,.72);color:white;font-size:.58rem}
.deer.d2{height:66px}.deer.d3{height:52px;opacity:.82}
.gaze-line{position:absolute;left:50%;right:18%;top:50%;height:1px;background:transparent;transform-origin:left}
.gaze-line.active{background:repeating-linear-gradient(90deg,rgba(78,119,90,.45) 0 7px,transparent 7px 12px)}
.distance-state{
  position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.65rem .8rem;border-radius:.8rem;
  background:rgba(255,255,255,.80);backdrop-filter:blur(8px)
}
.distance-state small{display:block;color:var(--muted);font-size:.62rem}.distance-state strong{font-family:Georgia,"Yu Mincho",serif}.distance-state p{margin:.2rem 0 0;font-size:.72rem;color:var(--muted)}
.distance-control{display:grid;grid-template-columns:1fr;gap:.55rem;padding:.8rem;border-radius:.9rem;background:rgba(255,255,255,.45)}
.distance-control span strong,.distance-control span small{display:block}.distance-control span small{color:var(--muted);font-size:.68rem;margin-top:.15rem}
.distance-control input{width:100%;accent-color:rgba(78,119,90,.85)}
.part2-t-actions{display:flex;align-items:center;gap:.7rem;margin:.8rem 0;flex-wrap:wrap}
.part2-t-actions span{color:var(--muted);font-size:.72rem;flex:1 1 280px}
.part2-t-actions button.active{border-color:rgba(78,119,90,.52);background:rgba(225,237,227,.58)}
.part2-boundary-note{margin:1rem 0;padding:.8rem 1rem;border-left:3px solid rgba(78,119,90,.42);background:rgba(236,244,238,.42)}
.part2-boundary-note p{margin:.25rem 0 0;color:var(--muted);font-size:.77rem;line-height:1.6}

.water-field{
  position:relative;min-height:320px;margin:1rem 0;padding:1rem;border-radius:1.2rem;overflow:hidden;
  background:linear-gradient(180deg,rgba(205,229,231,.54),rgba(225,239,235,.54),rgba(240,235,214,.52));
  border:1px solid rgba(63,111,120,.15)
}
.water-ripples{position:absolute;inset:-20%;background:repeating-radial-gradient(ellipse at 50% 20%,transparent 0 28px,rgba(255,255,255,.18) 30px 31px,transparent 33px 54px);animation:waterMove 8s linear infinite}
@keyframes waterMove{0%{transform:translateY(-8px)}50%{transform:translateY(10px)}100%{transform:translateY(-8px)}}
.flow-events{position:relative;z-index:2;display:grid;gap:.55rem}
.flow-event{
  width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:.7rem;align-items:center;
  padding:.7rem;border:1px solid rgba(63,111,120,.14);border-radius:.85rem;background:rgba(255,255,255,.68);color:var(--ink);text-align:left;cursor:pointer
}
.flow-event>span{font-family:Georgia,serif;color:rgba(63,111,120,.75)}
.flow-event p{margin:.16rem 0 0;color:var(--muted);font-size:.7rem;line-height:1.5}
.flow-event small{font-size:.6rem;color:var(--muted)}
.flow-event.reacted{border-color:rgba(63,111,120,.55);box-shadow:0 0 0 4px rgba(63,111,120,.06)}
.flow-empty{display:grid;place-items:center;min-height:250px;color:var(--muted);font-family:Georgia,"Yu Mincho",serif}
.flow-status{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;padding:.65rem .8rem;border-radius:.7rem;background:rgba(255,255,255,.45);font-size:.7rem}
.flow-status strong{font-weight:500}

.load-stage{margin:1rem 0;padding:1rem;border:1px solid rgba(142,103,72,.15);border-radius:1rem;background:rgba(251,246,237,.60)}
.load-stage-head{display:flex;align-items:baseline;gap:.6rem}.load-stage-head span{font-family:Georgia,serif;color:var(--gold)}.load-stage-head h3{margin:0;font-family:Georgia,"Yu Mincho",serif}
.condition-bars{display:grid;gap:.65rem;margin:1rem 0}
.condition-row{display:grid;grid-template-columns:90px 1fr 90px;gap:.55rem;align-items:center;font-size:.7rem}
.condition-track{height:9px;border-radius:999px;background:rgba(22,36,56,.08);overflow:hidden}.condition-track i{display:block;height:100%;border-radius:999px;background:rgba(142,103,72,.58)}
.condition-row strong{text-align:right;font-size:.68rem}
.exit-condition{display:flex;justify-content:space-between;padding:.65rem .75rem;border-top:1px solid rgba(22,36,56,.08)}
.exit-condition small{color:var(--muted)}.load-disclaimer{margin-top:.45rem;color:var(--muted);font-size:.6rem}
.load-structure-mini,.structure-matrix{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:.9rem 0}
.load-structure-mini>div,.structure-matrix>div{padding:.72rem;border-radius:.75rem;background:rgba(255,255,255,.52);border:1px solid rgba(22,36,56,.08)}
.load-structure-mini small,.structure-matrix small{display:block;color:var(--muted);font-size:.61rem}.load-structure-mini strong,.structure-matrix strong{display:block;margin-top:.15rem;font-size:.76rem;line-height:1.45}

.part2-c{background:linear-gradient(180deg,rgba(249,248,242,.96),rgba(242,247,243,.92))}
.part2-c-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:.7rem;align-items:stretch;margin:1rem 0}
.part2-c-panel{padding:.9rem;border:1px solid rgba(22,36,56,.09);border-radius:.9rem;background:rgba(255,255,255,.48)}
.part2-c-panel.active{border-color:rgba(78,119,90,.42);background:rgba(231,241,233,.46)}
.part2-c-panel small{display:block;color:var(--muted);font-size:.63rem}.part2-c-panel strong{display:block;margin:.15rem 0;font-family:Georgia,"Yu Mincho",serif}.part2-c-panel p{margin:.3rem 0 0;color:var(--muted);font-size:.72rem;line-height:1.55}
.part2-relation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.part2-relation-grid>div{padding:.65rem;border-radius:.7rem;background:rgba(255,255,255,.45);border:1px solid rgba(78,119,90,.11)}
.part2-relation-grid small{display:block;color:var(--muted);font-size:.58rem}.part2-relation-grid strong{font-size:.7rem;line-height:1.4}
.coexistence-field{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:1rem;border-radius:.9rem;background:rgba(216,232,232,.34);margin:1rem 0}
.coexistence-field span{padding:.4rem .65rem;border-radius:999px;background:rgba(255,255,255,.7);font-size:.72rem}.coexistence-field strong{margin-left:auto;font-family:Georgia,"Yu Mincho",serif;font-size:.8rem}

.part2-bookmark .bookmark-relation.part2-experience{border-color:rgba(78,119,90,.36);background:rgba(232,241,233,.62)}
.part2-done .saved-bookmark{border-color:rgba(78,119,90,.18)}
.part2-complete-door{border-color:rgba(78,119,90,.28);background:rgba(234,243,236,.50)}
.trajectory-experience{display:inline-block;margin-top:.25rem;color:rgba(43,80,57,.88);font-style:normal;font-size:.69rem}




/* ===== v13.1 Semi-UI Enhancements for Part 2 ===== */
.stage-label-part2{background:linear-gradient(90deg,rgba(225,238,229,.88),rgba(242,236,219,.92));border:1px solid rgba(78,119,90,.15)}
.grammar-strip{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0 0.9rem}
.grammar-pill{display:inline-flex;align-items:center;padding:.34rem .62rem;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(78,119,90,.18);font-size:.67rem;color:var(--muted)}
.grammar-pill.active{background:rgba(225,237,227,.7);color:rgba(43,80,57,.92);border-color:rgba(78,119,90,.36)}
.progress-part2 span{background:linear-gradient(90deg,rgba(78,119,90,.92),rgba(134,168,149,.88))}

.part2-preview{position:relative;min-height:120px;margin:.9rem 0 1rem;border-radius:1rem;overflow:hidden;border:1px solid rgba(78,119,90,.12);background:linear-gradient(180deg,rgba(243,247,242,.86),rgba(247,243,230,.74))}
.part2-preview small{position:absolute;left:.9rem;bottom:.7rem;color:var(--muted);font-size:.68rem}
.preview-deer .pv-deer,.preview-deer .pv-eye,.preview-water .pv-wave,.preview-water .pv-shadow,.preview-water .pv-fruit,.preview-load .pv-elephant,.preview-load .pv-weight,.preview-load .pv-bar{position:absolute;display:block}
.preview-deer .pv-deer{width:48px;height:42px;background:rgba(118,93,60,.65);left:60%;top:40%;border-radius:55% 45% 42% 38%;transform:translate(-50%,-50%)}
.preview-deer .pv-deer.second{left:72%;top:46%;transform:translate(-50%,-50%) scale(.86);opacity:.88}
.preview-deer .pv-deer:before{content:"";position:absolute;width:18px;height:16px;right:-8px;top:10px;background:inherit;border-radius:40% 60% 55% 45%}
.preview-deer .pv-eye{width:72px;height:72px;border:1px dashed rgba(78,119,90,.3);left:25%;top:50%;transform:translate(-50%,-50%);border-radius:50%}
.preview-deer .pv-eye:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:rgba(22,36,56,.75);left:29px;top:29px}
.preview-water .pv-wave{left:-10%;right:-10%;height:24px;border-radius:50%;background:rgba(102,160,176,.16)}
.preview-water .pv-wave.one{top:25%;animation:pvWave 6s ease-in-out infinite}
.preview-water .pv-wave.two{top:46%;animation:pvWave 7s ease-in-out infinite reverse}
.preview-water .pv-shadow{width:120px;height:36px;right:12%;top:34%;background:rgba(36,68,94,.15);border-radius:50%;transform:rotate(-8deg)}
.preview-water .pv-fruit{width:20px;height:20px;left:68%;top:63%;background:rgba(177,152,90,.78);border-radius:50%;box-shadow:0 0 0 6px rgba(177,152,90,.12)}
.preview-load .pv-elephant{left:14%;bottom:24%;width:90px;height:46px;background:rgba(104,112,122,.62);border-radius:45% 45% 28% 28%}
.preview-load .pv-elephant:before{content:"";position:absolute;right:-10px;top:12px;width:28px;height:20px;background:inherit;border-radius:55% 45% 45% 55%}
.preview-load .pv-weight{width:44px;height:44px;right:16%;top:28%;background:rgba(142,103,72,.70);border-radius:.6rem}
.preview-load .pv-weight:before{content:"";position:absolute;left:18px;top:-16px;width:8px;height:16px;background:rgba(142,103,72,.55)}
.preview-load .pv-bar{left:14%;right:16%;bottom:18%;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(78,119,90,.35),rgba(142,103,72,.55))}

.semi-ui-rotation{display:grid;grid-template-columns:1.1fr 1fr;gap:1rem;align-items:center}
.world-impulse-visual{position:relative;min-height:230px;border-radius:1rem;background:linear-gradient(180deg,rgba(240,245,241,.72),rgba(248,243,230,.82));border:1px solid rgba(78,119,90,.12);overflow:hidden}
.world-impulse-visual.visual-deer .deer-visual{position:absolute;width:66px;height:54px;border-radius:52% 48% 42% 38%;background:rgba(118,93,60,.66);left:58%;top:46%;transform:translate(-50%,-50%);transition:transform .7s ease,left .7s ease}
.world-impulse-visual.visual-deer .deer-visual:before{content:"";position:absolute;width:22px;height:18px;right:-10px;top:12px;background:inherit;border-radius:50%}
.world-impulse-visual.visual-deer .deer-visual.two{left:73%;top:53%;transform:translate(-50%,-50%) scale(.88);opacity:.85}
.world-impulse-visual.visual-deer.moved .deer-visual{left:64%;transform:translate(-50%,-50%) rotate(-8deg)}
.deer-arrow{position:absolute;left:13%;top:48%;width:90px;height:2px;background:rgba(78,119,90,.46)}
.deer-arrow:after{content:"";position:absolute;right:-3px;top:-4px;border-left:10px solid rgba(78,119,90,.46);border-top:5px solid transparent;border-bottom:5px solid transparent}
.world-impulse-visual.visual-water .wave-band{position:absolute;left:-10%;right:-10%;height:30px;border-radius:50%;background:rgba(102,160,176,.18);animation:pvWave 7s ease-in-out infinite}
.world-impulse-visual.visual-water .wave-band.one{top:24%}.world-impulse-visual.visual-water .wave-band.two{top:44%;animation-delay:.6s}.world-impulse-visual.visual-water .wave-band.three{top:64%;animation-delay:1.1s}
.world-impulse-visual.visual-water .flow-carry{position:absolute;left:12%;top:48%;width:90px;height:16px;border-radius:999px;background:linear-gradient(90deg,rgba(102,160,176,.15),rgba(102,160,176,.55));transition:transform .7s ease}
.world-impulse-visual.visual-water.moved .flow-carry{transform:translateX(85px)}
.world-impulse-visual.visual-load .weight-line{position:absolute;left:50%;top:0;bottom:38%;width:2px;background:rgba(142,103,72,.35)}
.world-impulse-visual.visual-load .weight-stone{position:absolute;left:50%;top:36%;width:58px;height:58px;transform:translate(-50%,-50%);border-radius:1rem;background:rgba(142,103,72,.66);transition:top .7s ease}
.world-impulse-visual.visual-load .weight-stone:before{content:"";position:absolute;left:24px;top:-16px;width:10px;height:16px;background:rgba(142,103,72,.5)}
.world-impulse-visual.visual-load.moved .weight-stone{top:48%}
.world-impulse-visual.visual-load .load-pull{position:absolute;left:22%;right:22%;bottom:14%;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(78,119,90,.25),rgba(142,103,72,.55))}
.world-rotation-ring.ep4 .world-handle{background:rgba(78,119,90,.95)}
.world-rotation-ring.ep5 .world-handle{background:rgba(73,130,150,.92)}
.world-rotation-ring.ep6 .world-handle{background:rgba(142,103,72,.92)}
.world-path-label{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);font-size:.62rem;color:var(--muted)}
@keyframes pvWave{0%,100%{transform:translateX(0)}50%{transform:translateX(18px)}}

.semi-ui-card{box-shadow:0 18px 40px rgba(20,26,34,.04)}
.distance-bands{position:absolute;top:14px;left:14px;right:14px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem;z-index:2}
.distance-bands span{display:block;padding:.3rem .45rem;border-radius:999px;background:rgba(255,255,255,.65);font-size:.58rem;text-align:center;color:var(--muted)}
.distance-scene.far{box-shadow:inset 0 0 0 2px rgba(93,132,105,.08)}
.distance-scene.mid{box-shadow:inset 0 0 0 2px rgba(93,132,105,.18)}
.distance-scene.deep{box-shadow:inset 0 0 0 2px rgba(142,103,72,.28)}
.deer{position:relative;background:rgba(118,93,60,.72);color:transparent}
.deer:before{content:"";position:absolute;right:-8px;top:12px;width:18px;height:14px;background:inherit;border-radius:55%}
.deer-recoil{position:absolute;right:12%;top:41%;width:76px;height:76px;border-radius:50%;border:1px dashed transparent;transition:border-color .25s ease}
.deer-recoil.active{border-color:rgba(142,103,72,.36)}
.mini-ui-legend{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0;padding:.65rem .8rem;border-radius:.8rem;background:rgba(255,255,255,.5)}
.mini-ui-legend span{display:flex;align-items:center;gap:.35rem;font-size:.66rem;color:var(--muted)}
.legend-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}
.legend-swatch.l1{background:rgba(78,119,90,.65)}.legend-swatch.l2{background:rgba(73,130,150,.65)}.legend-swatch.l3{background:rgba(142,103,72,.65)}

.water-layers{position:absolute;inset:0;pointer-events:none}
.water-layers .layer{position:absolute;display:block}
.layer-light{left:8%;top:16%;width:130px;height:56px;background:radial-gradient(ellipse at center,rgba(255,255,255,.58),rgba(255,255,255,0));animation:floatLight 5s ease-in-out infinite}
.layer-shadow{right:10%;top:34%;width:160px;height:44px;background:rgba(36,68,94,.12);border-radius:50%;transform:rotate(-8deg);transition:opacity .45s ease}
.layer-bird{right:18%;top:22%;width:80px;height:40px;opacity:0;transition:opacity .45s ease, transform .45s ease}
.layer-bird:before,.layer-bird:after{content:"";position:absolute;top:18px;width:34px;height:8px;border-top:2px solid rgba(36,68,94,.56);border-radius:50%}
.layer-bird:before{left:0;transform:rotate(12deg)}.layer-bird:after{right:0;transform:rotate(-12deg)}
.layer-fruit{left:66%;top:60%;width:24px;height:24px;border-radius:50%;background:rgba(177,152,90,.82);opacity:0;transition:opacity .45s ease, transform .45s ease;box-shadow:0 0 0 8px rgba(177,152,90,.12)}
.layer-bird.show,.layer-fruit.show{opacity:1}
.layer-fruit.show{transform:translateY(6px)}
.flow-timeline{position:absolute;left:1rem;right:1rem;top:1rem;height:6px;border-radius:999px;background:rgba(255,255,255,.45);overflow:hidden}
.flow-timeline span{display:block;height:100%;background:linear-gradient(90deg,rgba(73,130,150,.52),rgba(177,152,90,.56))}
.flow-event{position:relative}
.reaction-mark{position:absolute;right:.7rem;top:.7rem;font-style:normal;color:rgba(73,130,150,.62)}
.flow-event.reacted .reaction-mark{color:rgba(73,130,150,.92)}
@keyframes floatLight{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

.load-stage-visual{position:relative;height:140px;margin-bottom:.8rem;border-radius:.9rem;background:linear-gradient(180deg,rgba(248,241,231,.65),rgba(238,234,223,.55));overflow:hidden;border:1px solid rgba(142,103,72,.12)}
.elephant-shape{position:absolute;left:14%;bottom:28px;width:120px;height:60px;background:rgba(104,112,122,.64);border-radius:45% 45% 28% 28%}
.elephant-shape:before{content:"";position:absolute;right:-14px;top:15px;width:34px;height:24px;background:inherit;border-radius:55% 45% 45% 55%}
.load-crate{position:absolute;left:40%;bottom:34px;width:44px;height:44px;border-radius:.55rem;background:rgba(142,103,72,.52);opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}
.load-crate.show{opacity:1;transform:translateY(0)}
.load-crate.second{left:48%}.load-crate.third{left:56%}
.exit-door{position:absolute;right:12%;bottom:24px;width:44px;height:86px;border:2px solid rgba(78,119,90,.36);border-radius:.7rem;transition:width .35s ease,opacity .35s ease}
.exit-door.narrow{width:30px}.exit-door.closed{width:16px;opacity:.55}
.pressure-0{box-shadow:inset 0 -6px 0 rgba(78,119,90,.08)}.pressure-1{box-shadow:inset 0 -10px 0 rgba(142,103,72,.10)}.pressure-2{box-shadow:inset 0 -14px 0 rgba(142,103,72,.16)}.pressure-3{box-shadow:inset 0 -18px 0 rgba(142,103,72,.24)}
.semi-structure{position:relative}
.semi-structure:before{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:1px;background:rgba(22,36,56,.08)}
.semi-structure:after{content:"";position:absolute;left:12%;right:12%;top:50%;height:1px;background:rgba(22,36,56,.08)}




/* ===== v13.2 refinements ===== */
.scene-card{margin:.85rem 0 1rem;padding:.85rem 1rem;border-radius:.95rem;background:rgba(255,255,255,.56);border:1px solid rgba(78,119,90,.14)}
.scene-card strong{display:block;font-size:.68rem;color:rgba(43,80,57,.92);margin-bottom:.28rem;letter-spacing:.05em}
.scene-card p{margin:0;color:var(--muted);line-height:1.7;font-size:.77rem}
.world-rotation-ring.animating .world-handle{animation:wobbleI 1.25s ease-in-out forwards}
.world-impulse-visual.animating.visual-deer .deer-visual.one{animation:deerShift 1.1s ease-in-out}
.world-impulse-visual.animating.visual-water .flow-carry{animation:flowCarry 1.2s ease-in-out}
.world-impulse-visual.animating.visual-load .weight-stone{animation:weightDrop 1.15s ease-in-out}
@keyframes wobbleI{0%{transform:translate(-50%,-50%) translate(0,0)}18%{transform:translate(-50%,-50%) translate(14px,4px)}35%{transform:translate(-50%,-50%) translate(30px,20px)}58%{transform:translate(-50%,-50%) translate(24px,12px)}100%{transform:translate(-50%,-50%) translate(38px,26px)}}
@keyframes deerShift{0%{transform:translate(-50%,-50%)}40%{transform:translate(-40%,-50%) rotate(-6deg)}100%{transform:translate(-44%,-50%) rotate(-8deg)}}
@keyframes flowCarry{0%{transform:translateX(0)}30%{transform:translateX(34px)}65%{transform:translateX(62px)}100%{transform:translateX(84px)}}
@keyframes weightDrop{0%{top:36%}40%{top:50%}70%{top:44%}100%{top:48%}}
.silent-banner{position:absolute;right:1rem;top:1.65rem;padding:.32rem .62rem;border-radius:999px;background:rgba(255,255,255,.72);font-size:.62rem;color:rgba(73,130,150,.88);z-index:2}
.flow-t.silent-phase .flow-event.unlabeled strong{min-height:1.15rem;background:linear-gradient(90deg,rgba(255,255,255,.38),rgba(255,255,255,.12));border-radius:.3rem;color:transparent}
.flow-t.silent-phase .flow-event.unlabeled p{color:rgba(73,130,150,.80)}
.flow-t.silent-phase .flow-event.unlabeled{background:rgba(255,255,255,.56);border-style:dashed}
.load-stage-visual.elephant-focus{background:linear-gradient(180deg,rgba(248,241,231,.68),rgba(236,231,222,.56))}
.load-stage-visual.elephant-focus .elephant-body,.load-stage-visual.elephant-focus .elephant-head,.load-stage-visual.elephant-focus .elephant-trunk,.load-stage-visual.elephant-focus .elephant-eye,.load-stage-visual.elephant-focus .elephant-breath,.load-stage-visual.elephant-focus .ground-shadow,.load-stage-visual.elephant-focus .chain-mark{position:absolute;display:block}
.elephant-body{left:15%;bottom:28px;width:120px;height:64px;border-radius:46% 46% 28% 28%;background:rgba(104,112,122,.66);transition:transform .3s ease,opacity .3s ease,filter .3s ease}
.elephant-head{left:118px;bottom:58px;width:42px;height:34px;border-radius:50%;background:rgba(104,112,122,.66);transition:transform .3s ease,opacity .3s ease}
.elephant-trunk{left:148px;bottom:34px;width:16px;height:46px;border-radius:999px;background:rgba(104,112,122,.66);transform-origin:top center;transition:transform .3s ease,opacity .3s ease}
.elephant-eye{left:136px;bottom:80px;width:6px;height:6px;border-radius:50%;background:rgba(22,36,56,.75);transition:opacity .3s ease}
.elephant-breath{left:145px;bottom:48px;width:20px;height:20px;border-radius:50%;border:1px solid rgba(104,112,122,.28);animation:breath 2.2s ease-in-out infinite}
.ground-shadow{left:14%;right:26%;bottom:20px;height:14px;background:rgba(22,36,56,.10);border-radius:50%;filter:blur(1px);transition:width .3s ease,opacity .3s ease}
.chain-mark{right:24%;bottom:54px;width:52px;height:18px;border-top:2px dashed rgba(142,103,72,.6);opacity:0;transition:opacity .3s ease}
.chain-mark.show{opacity:1}
@keyframes breath{0%,100%{transform:scale(.92);opacity:.55}50%{transform:scale(1.12);opacity:.18}}
.phase-1 .elephant-body{transform:translateY(4px) scale(.985)}
.phase-1 .elephant-head{transform:translateY(5px)}
.phase-1 .elephant-trunk{transform:rotate(8deg)}
.phase-2 .elephant-body{transform:translateY(8px) scale(.97);filter:saturate(.85)}
.phase-2 .elephant-head{transform:translateY(9px)}
.phase-2 .elephant-trunk{transform:rotate(18deg)}
.phase-2 .ground-shadow{right:22%;opacity:.78}
.phase-3 .elephant-body{transform:translateY(12px) scale(.95);filter:grayscale(.12) brightness(.92)}
.phase-3 .elephant-head{transform:translateY(13px)}
.phase-3 .elephant-trunk{transform:rotate(28deg) translateY(4px);opacity:.9}
.phase-3 .elephant-eye{opacity:.6}
.phase-3 .ground-shadow{right:18%;opacity:.92}
.part2-trajectories{margin:1rem 0 1.2rem;display:grid;gap:.7rem}
.trajectory-card{padding:.85rem 1rem;border-radius:.9rem;background:rgba(255,255,255,.56);border:1px solid rgba(78,119,90,.14)}
.trajectory-card small{display:block;color:var(--muted);font-size:.62rem}.trajectory-card strong{display:block;margin:.18rem 0 .22rem;font-family:Georgia,"Yu Mincho",serif}.trajectory-card p{margin:0;color:var(--muted);font-size:.73rem;line-height:1.6}
.trajectory-summary{padding:.8rem 1rem;border-radius:.9rem;background:rgba(231,241,233,.52);border:1px solid rgba(78,119,90,.18);font-size:.76rem;color:rgba(43,80,57,.92)}


/* ===== v13.3 feedback fixes ===== */
.world-rotation-ring.animating .world-handle{transform:translate(-50%,-50%) !important}
.world-rotation-ring.ep4.animating .world-handle{animation:iWobble4 2.25s cubic-bezier(.45,.05,.25,1) forwards}.world-rotation-ring.ep5.animating .world-handle{animation:iWobble5 2.25s cubic-bezier(.45,.05,.25,1) forwards}.world-rotation-ring.ep6.animating .world-handle{animation:iWobble6 2.25s cubic-bezier(.45,.05,.25,1) forwards}
.world-rotation-ring.ep4.moved .world-handle{left:72%;top:45%;transform:translate(-50%,-50%)}.world-rotation-ring.ep5.moved .world-handle{left:75%;top:52%;transform:translate(-50%,-50%)}.world-rotation-ring.ep6.moved .world-handle{left:51%;top:56%;transform:translate(-50%,-50%)}
@keyframes iWobble4{0%{left:50%;top:6%}16%{left:56%;top:12%}31%{left:64%;top:26%}45%{left:60%;top:22%}61%{left:70%;top:40%}75%{left:66%;top:35%}88%{left:74%;top:47%}100%{left:72%;top:45%}}@keyframes iWobble5{0%{left:50%;top:6%}14%{left:58%;top:14%}29%{left:55%;top:23%}44%{left:66%;top:31%}58%{left:62%;top:39%}73%{left:73%;top:46%}87%{left:70%;top:55%}100%{left:75%;top:52%}}@keyframes iWobble6{0%{left:50%;top:6%}16%{left:54%;top:13%}31%{left:48%;top:22%}45%{left:53%;top:31%}60%{left:49%;top:39%}74%{left:52%;top:48%}88%{left:50%;top:58%}100%{left:51%;top:56%}}
.world-force-card{position:relative;min-height:230px;padding:1rem;border-radius:1rem;border:1px solid rgba(78,119,90,.13);background:linear-gradient(180deg,rgba(244,248,244,.88),rgba(248,243,231,.78));overflow:hidden}.force-label{position:relative;z-index:3}.force-label small{display:block;color:var(--muted);font-size:.62rem}.force-label strong{display:block;margin-top:.12rem;font-family:Georgia,"Yu Mincho",serif;font-size:.9rem}.world-force-card>p{position:absolute;left:1rem;right:1rem;bottom:.7rem;margin:0;color:var(--muted);font-size:.68rem;line-height:1.5;z-index:3}
.force-deer-field,.force-water-field,.force-load-field{position:absolute;left:1rem;right:1rem;top:64px;bottom:50px}.force-deer-shape{position:absolute;width:64px;height:50px;border-radius:52% 48% 40% 38%;background:rgba(118,93,60,.68);top:42%}.force-deer-shape:before{content:"";position:absolute;right:-10px;top:12px;width:22px;height:17px;background:inherit;border-radius:52%}.force-deer-shape.one{left:55%}.force-deer-shape.two{left:72%;top:51%;transform:scale(.86);opacity:.85}.force-curved-arrow{position:absolute;left:18%;top:40%;font-size:2rem;color:rgba(78,119,90,.58)}.force-deer.animating .force-deer-shape.one{animation:forceDeerMove 2.1s ease-in-out forwards}@keyframes forceDeerMove{0%{transform:translateX(0)}45%{transform:translateX(10px) rotate(-4deg)}70%{transform:translateX(4px)}100%{transform:translateX(12px) rotate(-7deg)}}
.force-stream{position:absolute;left:-8%;right:-8%;height:20px;border-radius:50%;background:rgba(73,130,150,.15);animation:streamDrift 4.8s ease-in-out infinite}.force-stream.s1{top:20%}.force-stream.s2{top:46%;animation-delay:.5s}.force-stream.s3{top:70%;animation-delay:1s}.force-float-dot{position:absolute;left:15%;top:43%;width:18px;height:18px;border-radius:50%;background:rgba(73,130,150,.68);box-shadow:0 0 0 7px rgba(73,130,150,.11)}.force-water.animating .force-float-dot{animation:forceFloat 2.15s ease-in-out forwards}@keyframes streamDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(18px)}}@keyframes forceFloat{0%{left:15%;top:43%}22%{left:28%;top:34%}44%{left:42%;top:48%}65%{left:56%;top:39%}82%{left:68%;top:56%}100%{left:76%;top:50%}}
.force-elephant{position:absolute;left:37%;top:34%;width:92px;height:52px;border-radius:47% 47% 30% 30%;background:rgba(104,112,122,.65);transform:translateX(-50%)}.force-elephant:before{content:"";position:absolute;right:-12px;top:13px;width:30px;height:22px;background:inherit;border-radius:50%}.force-bound{position:absolute;top:14%;bottom:14%;width:8px;border-radius:999px;background:rgba(142,103,72,.22)}.force-bound.left{left:7%}.force-bound.right{right:7%}.force-load.animating .force-bound.left{animation:boundInLeft 2.1s ease-in-out forwards}.force-load.animating .force-bound.right{animation:boundInRight 2.1s ease-in-out forwards}@keyframes boundInLeft{0%{left:7%}50%{left:19%}72%{left:16%}100%{left:24%}}@keyframes boundInRight{0%{right:7%}50%{right:19%}72%{right:16%}100%{right:24%}}
.preview-water .pv-shadow{opacity:0;animation:previewShadow 6s ease-in-out infinite}.preview-water .pv-fruit{opacity:0;animation:previewFruit 6s ease-in-out infinite}@keyframes previewShadow{0%,28%{opacity:0;transform:translateX(18px) rotate(-8deg)}38%,62%{opacity:1;transform:translateX(0) rotate(-8deg)}76%,100%{opacity:0;transform:translateX(-16px) rotate(-8deg)}}@keyframes previewFruit{0%,60%{opacity:0;transform:translateY(-18px)}72%,92%{opacity:1;transform:translateY(4px)}100%{opacity:0;transform:translateY(12px)}}
.premeaning-stage{position:relative;height:360px;margin:1rem 0;border-radius:1.2rem;overflow:hidden;background:linear-gradient(180deg,rgba(198,225,231,.58),rgba(222,237,234,.60),rgba(239,235,216,.54));border:1px solid rgba(73,130,150,.15)}.pre-water-wave,.pre-light,.pre-fish,.pre-shadow,.pre-bird,.pre-fruit{position:absolute;display:block;opacity:0}.pre-water-wave{left:-10%;right:-10%;height:28px;border-radius:50%;background:rgba(255,255,255,.20);opacity:.45;animation:preWave 3.4s ease-in-out infinite}.pre-water-wave.w1{top:28%}.pre-water-wave.w2{top:58%;animation-delay:.6s}.pre-light{left:12%;top:17%;width:130px;height:75px;background:radial-gradient(ellipse,rgba(255,255,255,.66),rgba(255,255,255,0));animation:preLight 5.8s linear forwards}.pre-fish{left:-12%;top:48%;width:58px;height:22px;border-radius:50%;background:rgba(73,130,150,.32);animation:preFish 5.8s linear forwards}.pre-shadow{right:-25%;top:29%;width:190px;height:48px;border-radius:50%;background:rgba(36,68,94,.16);transform:rotate(-8deg);animation:preShadow 5.8s linear forwards}.pre-bird{right:10%;top:12%;width:92px;height:50px;animation:preBird 5.8s linear forwards}.pre-bird:before,.pre-bird:after{content:"";position:absolute;top:22px;width:42px;height:10px;border-top:3px solid rgba(36,68,94,.52);border-radius:50%}.pre-bird:before{left:0;transform:rotate(12deg)}.pre-bird:after{right:0;transform:rotate(-12deg)}.pre-fruit{left:67%;top:4%;width:26px;height:26px;border-radius:50%;background:rgba(177,152,90,.82);box-shadow:0 0 0 7px rgba(177,152,90,.12);animation:preFruit 5.8s linear forwards}
@keyframes preWave{0%,100%{transform:translateX(-5px)}50%{transform:translateX(15px)}}@keyframes preLight{0%{opacity:0}7%{opacity:1}28%{opacity:.55}40%,100%{opacity:.15}}@keyframes preFish{0%,17%{opacity:0;left:-12%}23%{opacity:.72}39%{opacity:.72;left:72%}45%,100%{opacity:0;left:105%}}@keyframes preShadow{0%,36%{opacity:0;right:-25%}44%{opacity:1}57%{opacity:1;right:56%}65%,100%{opacity:0;right:76%}}@keyframes preBird{0%,52%{opacity:0;transform:translateY(-12px)}58%{opacity:1}72%{opacity:.85;transform:translate(-80px,110px)}78%,100%{opacity:0;transform:translate(-100px,130px)}}@keyframes preFruit{0%,73%{opacity:0;transform:translateY(-18px)}79%{opacity:1}96%{opacity:1;transform:translateY(235px)}100%{opacity:.8;transform:translateY(245px)}}
.premeaning-touch{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:5;min-width:250px;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(73,130,150,.25);background:rgba(255,255,255,.76);color:var(--ink);font:inherit;cursor:pointer}.premeaning-touch.marked{border-color:rgba(73,130,150,.55);background:rgba(225,239,240,.82)}.premeaning-progress{position:absolute;left:1rem;right:1rem;bottom:18px;height:5px;border-radius:999px;background:rgba(255,255,255,.52);overflow:hidden;z-index:5}.premeaning-progress i{display:block;height:100%;width:0;background:rgba(73,130,150,.64);animation:preProgress 6s linear forwards}@keyframes preProgress{to{width:100%}}.premeaning-note{display:grid;gap:.2rem;padding:.7rem .85rem;border-radius:.8rem;background:rgba(255,255,255,.48)}.premeaning-note strong{font-size:.74rem}.premeaning-note span{font-size:.68rem;color:var(--muted)}.after-observation-diagram{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;margin:1rem 0;padding:1rem;border-radius:.95rem;background:rgba(224,238,239,.42)}.after-observation-diagram span,.after-observation-diagram strong{padding:.42rem .65rem;border-radius:999px;background:rgba(255,255,255,.72);font-size:.72rem}.after-observation-diagram b{font-weight:400;color:var(--muted)}
.trajectory-progress-head{display:flex;justify-content:space-between;align-items:center;padding:.1rem .15rem .2rem}.trajectory-progress-head small{color:var(--muted)}.trajectory-progress-head strong{font-family:Georgia,serif;color:rgba(43,80,57,.9)}.completed-trajectory strong span{display:inline-block;min-width:1.8rem;font-size:1.15rem;color:rgba(78,119,90,.82)}


/* ===== v13.4: final Part 2 motion / meaning-before refinements ===== */
/* WAAPI controls the i during motion. Static moved positions are supplied inline by renderRotate. */
.v134-rotation .world-rotation-ring.animating .world-handle{animation:none !important;transition:none !important;transform:translate(-50%,-50%) !important}
.v134-rotation .world-rotation-ring.moved .world-handle{transition:none !important;transform:translate(-50%,-50%) !important}

.observation-instruction{display:grid;gap:.65rem;margin:1rem 0}
.observation-instruction>div{display:grid;grid-template-columns:34px 1fr;column-gap:.7rem;padding:.78rem .9rem;border-radius:.9rem;background:rgba(255,255,255,.58);border:1px solid rgba(73,130,150,.12)}
.observation-instruction>div>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(73,130,150,.12);color:rgba(53,105,124,.92);font-family:Georgia,serif}
.observation-instruction strong{font-size:.76rem;line-height:1.45}.observation-instruction p{margin:.18rem 0 0;color:var(--muted);font-size:.68rem;line-height:1.55}
.observation-quiet-copy{color:var(--muted);font-size:.76rem;line-height:1.7}

.premeaning-stage-12{display:block;width:100%;padding:0;border:1px solid rgba(73,130,150,.15);color:inherit;text-align:initial;cursor:pointer;font:inherit}
.premeaning-stage-12:focus-visible{outline:3px solid rgba(73,130,150,.28);outline-offset:3px}
.premeaning-stage-12.marked{box-shadow:inset 0 0 0 2px rgba(73,130,150,.22)}
.premeaning-stage-12 .pre-water-wave{animation-duration:5.8s}
.premeaning-stage-12 .pre-light{animation:preLight12 12s linear forwards}
.premeaning-stage-12 .pre-fish{animation:preFish12 12s linear forwards}
.premeaning-stage-12 .pre-shadow{animation:preShadow12 12s linear forwards}
.premeaning-stage-12 .pre-bird{animation:preBird12 12s linear forwards}
.premeaning-stage-12 .pre-fruit{animation:preFruit12 12s linear forwards}
.premeaning-stage-12 .premeaning-progress i{animation:preProgress12 12s linear forwards}
.observation-touch-feedback{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:5;min-width:min(84%,410px);padding:.68rem 1rem;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(73,130,150,.22);text-align:center;font-size:.68rem;color:var(--muted);backdrop-filter:blur(7px)}
.premeaning-stage-12.marked .observation-touch-feedback{background:rgba(225,239,240,.86);border-color:rgba(73,130,150,.46);color:rgba(53,105,124,.94)}
@keyframes preProgress12{from{width:0}to{width:100%}}
@keyframes preLight12{0%{opacity:0}5%{opacity:.95}18%{opacity:.6}30%{opacity:.22}100%{opacity:.12}}
@keyframes preFish12{0%,18%{opacity:0;left:-12%}22%{opacity:.72}36%{opacity:.72;left:72%}40%,100%{opacity:0;left:105%}}
@keyframes preShadow12{0%,38%{opacity:0;right:-25%}44%{opacity:.95}55%{opacity:.95;right:52%}61%,100%{opacity:0;right:76%}}
@keyframes preBird12{0%,58%{opacity:0;transform:translateY(-12px)}63%{opacity:1}73%{opacity:.9;transform:translate(-58px,80px)}79%,100%{opacity:0;transform:translate(-88px,116px)}}
@keyframes preFruit12{0%,78%{opacity:0;transform:translateY(-18px)}83%{opacity:1}96%{opacity:1;transform:translateY(235px)}100%{opacity:.82;transform:translateY(245px)}}

/* Slow the A-screen preview too, so the scene no longer feels pre-resolved. */
.preview-water .pv-shadow{animation-duration:10s !important}
.preview-water .pv-fruit{animation-duration:10s !important}
.preview-water .pv-wave.one,.preview-water .pv-wave.two{animation-duration:10s !important}


/* ===== v13.5 fixed UX tweaks ===== */
.preview-water .pv-shadow, .preview-water .pv-fruit{opacity:1 !important; animation:none !important;}
.preview-water .pv-wave.one, .preview-water .pv-wave.two{animation:pvWave 8s ease-in-out infinite !important;}
.preview-water .pv-shadow{transform:rotate(-8deg) !important;}
.preview-water .pv-fruit{transform:none !important;}


/* ===== v14 Part 3: leave difference / absence / scar, then reopen the commons ===== */
.stage-label-part3{background:linear-gradient(90deg,rgba(232,229,239,.88),rgba(244,238,230,.9));border:1px solid rgba(93,76,114,.15)}
.part3-strip .grammar-pill{border-color:rgba(93,76,114,.18)}.part3-strip .grammar-pill.active{background:rgba(235,230,241,.76);color:rgba(73,56,91,.96);border-color:rgba(93,76,114,.34)}
.progress-part3 span{background:linear-gradient(90deg,rgba(93,76,114,.88),rgba(160,134,142,.78))}
.part3-motto{margin:.65rem 0 1rem;padding:.55rem .8rem;border-left:3px solid rgba(93,76,114,.42);background:rgba(235,230,241,.42);font-family:Georgia,"Yu Mincho",serif}
.part3-scene-card{border-color:rgba(93,76,114,.14)}
.part3-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:1rem 0}.part3-choice{min-height:52px;border:1px solid rgba(93,76,114,.16);border-radius:.8rem;background:rgba(255,255,255,.66);color:var(--ink);padding:.65rem;font:inherit;cursor:pointer}.part3-choice.selected{border-color:rgba(93,76,114,.56);box-shadow:inset 0 0 0 1px rgba(93,76,114,.22);background:rgba(237,232,242,.78)}
.part3-preview{position:relative;height:130px;margin:.9rem 0 1.1rem;border-radius:1rem;overflow:hidden;border:1px solid rgba(93,76,114,.12);background:linear-gradient(180deg,rgba(247,245,247,.88),rgba(242,237,230,.72))}.part3-preview small{position:absolute;left:.8rem;bottom:.55rem;color:var(--muted);font-size:.65rem}
.preview-parallel .parallel-line{position:absolute;left:9%;right:9%;height:2px;background:rgba(93,76,114,.26);border-radius:999px}.preview-parallel .p1{top:30%}.preview-parallel .p2{top:50%}.preview-parallel .p3{top:70%}.parallel-world{position:absolute;right:10%;top:13%;font-size:.62rem;color:var(--muted)}
.empty-chair-mini,.pr-chair,.empty-chair{display:block;position:absolute;border:2px solid rgba(93,76,114,.42);border-top:0;border-radius:0 0 .45rem .45rem}.empty-chair-mini{left:48%;top:35%;width:42px;height:35px}.empty-chair-mini:before,.pr-chair:before,.empty-chair:before{content:"";position:absolute;left:3px;right:3px;top:-30px;height:30px;border:2px solid rgba(93,76,114,.42);border-bottom:0;border-radius:.4rem .4rem 0 0}.quiet-ring-mini{position:absolute;left:50%;top:48%;width:90px;height:90px;border:1px dashed rgba(93,76,114,.18);border-radius:50%;transform:translate(-50%,-50%)}
.preview-scar .scar-panel{position:absolute;top:25%;bottom:30%;width:38%;background:rgba(160,134,142,.18);border-radius:.6rem}.preview-scar .left{left:8%}.preview-scar .right{right:8%}.scar-line-mini{position:absolute;left:50%;top:20%;bottom:25%;width:2px;background:rgba(115,75,75,.45);transform:rotate(5deg)}
.preview-plaza .plaza-center-mini{position:absolute;left:50%;top:48%;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:rgba(93,76,114,.72);color:white;font-family:Georgia,serif}.plaza-right-mini{position:absolute;width:13px;height:13px;border-radius:50%;background:rgba(177,152,90,.7)}.preview-plaza .r1{left:22%;top:28%}.preview-plaza .r2{right:22%;top:28%}.preview-plaza .r3{left:22%;bottom:30%}.preview-plaza .r4{right:22%;bottom:30%}

.part3-rotation-field{position:relative;min-height:330px;margin:1rem 0;border-radius:1.1rem;background:linear-gradient(180deg,rgba(247,245,248,.84),rgba(244,240,232,.76));border:1px solid rgba(93,76,114,.13);overflow:hidden}.part3-i-handle{position:absolute;left:50%;top:16%;transform:translate(-50%,-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(93,76,114,.9);color:#fff;font-family:Georgia,serif;font-size:1.2rem;box-shadow:0 8px 22px rgba(53,43,67,.16)}.part3-rotate.ep10 .part3-i-handle{left:50%;top:50%}.part3-rotation-symbol{position:absolute;inset:0}.pr-line{position:absolute;left:10%;right:10%;height:3px;background:rgba(93,76,114,.18)}.symbol-parallel .l1{top:54%}.symbol-parallel .l2{top:78%}.pr-caption,.pr-empty-label,.pr-scar-label,.pr-center-label{position:absolute;color:var(--muted);font-size:.68rem}.pr-caption{left:10%;bottom:8%}.pr-chair{left:45%;top:53%;width:48px;height:38px}.pr-empty-label{left:45%;top:78%}.pr-crack{position:absolute;left:50%;top:34%;bottom:15%;width:2px;background:rgba(115,75,75,.52);transform:rotate(5deg)}.pr-scar-label{right:10%;bottom:10%}.pr-center-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.15);color:rgba(73,56,91,.88)}.pr-edge-ring{position:absolute;left:50%;top:50%;width:260px;height:260px;border-radius:50%;border:1px dashed rgba(93,76,114,.24);transform:translate(-50%,-50%)}.pr-center-label{left:50%;bottom:8%;transform:translateX(-50%)}.part3-rotation-note{text-align:center;color:var(--muted);font-size:.74rem;margin:.5rem 0 1rem}

.part3-t{border-color:rgba(93,76,114,.1)}.part3-boundary-note{margin:1rem 0;padding:.85rem 1rem;border-radius:.9rem;background:rgba(239,235,243,.48);border:1px solid rgba(93,76,114,.12)}.part3-boundary-note strong{font-size:.76rem}.part3-boundary-note p{margin:.25rem 0 0;color:var(--muted);font-size:.72rem;line-height:1.65}
.parallel-world-field{position:relative;min-height:310px;margin:1rem 0;padding:3rem 1rem 1rem;border-radius:1rem;background:rgba(247,245,248,.72);border:1px solid rgba(93,76,114,.12);overflow:hidden}.parallel-world-label{position:absolute;left:1rem;top:.7rem;font-size:.65rem;color:var(--muted)}.parallel-lane{position:relative;height:58px;margin:.2rem 0;display:flex;align-items:center;padding-left:1rem}.lane-rail{position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(93,76,114,.18)}.parallel-lane strong,.parallel-lane small{position:relative;z-index:2;padding:.38rem .58rem;border-radius:999px;background:rgba(255,255,255,.88);font-size:.72rem}.parallel-items{display:flex;gap:.55rem;flex-wrap:wrap}.parallel-item{border:1px solid rgba(93,76,114,.18);background:white;border-radius:999px;padding:.55rem .75rem;font:inherit;font-size:.7rem}.parallel-item.placed{opacity:.5}.parallel-merge-panel{display:flex;gap:.75rem;align-items:center;margin:1rem 0}.parallel-merge-panel span{color:var(--muted);font-size:.7rem}.parallel-world-field.merge-attempted .parallel-lane:nth-child(2){animation:laneApproach1 .8s ease-in-out}.parallel-world-field.merge-attempted .parallel-lane:nth-child(3){animation:laneApproach2 .8s ease-in-out}@keyframes laneApproach1{50%{transform:translateY(18px)}100%{transform:none}}@keyframes laneApproach2{50%{transform:translateY(-18px)}100%{transform:none}}

.absence-field{position:relative;height:330px;margin:1rem 0;border-radius:1rem;background:linear-gradient(180deg,rgba(248,247,248,.86),rgba(241,238,235,.72));border:1px solid rgba(93,76,114,.1)}.absence-field .empty-chair{left:48%;top:48%;width:56px;height:45px;transform:translate(-50%,-50%)}.absence-i{position:absolute;left:67%;top:57%;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(93,76,114,.84);color:white;font-family:Georgia,serif}.absence-space-label{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);color:var(--muted);font-size:.7rem}.absence-pulse{position:absolute;left:50%;top:50%;width:130px;height:130px;border:1px solid rgba(93,76,114,.16);border-radius:50%;transform:translate(-50%,-50%);animation:absencePulse 2.8s ease-in-out infinite}@keyframes absencePulse{0%,100%{opacity:.2;transform:translate(-50%,-50%) scale(.9)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.08)}}.absence-wait-bar{height:5px;background:rgba(93,76,114,.08);border-radius:999px;overflow:hidden}.absence-wait-bar i{display:block;height:100%;width:0;background:rgba(93,76,114,.42);animation:absenceWait 6s linear forwards}@keyframes absenceWait{to{width:100%}}.absence-question{display:grid;gap:.35rem}.absence-question span{font-size:.68rem;color:var(--muted)}.absence-question textarea{min-height:90px}

.scar-field{position:relative;height:340px;margin:1rem 0;border-radius:1rem;background:rgba(248,246,245,.78);border:1px solid rgba(115,75,75,.12);overflow:hidden}.scar-side{position:absolute;top:18%;bottom:18%;width:42%;border-radius:.8rem;background:rgba(160,134,142,.16);transition:left .15s ease,right .15s ease}.scar-side.left{left:calc(8% - var(--scar-gap)/2)}.scar-side.right{right:calc(8% - var(--scar-gap)/2)}.scar-permanent-line{position:absolute;left:50%;top:12%;bottom:12%;width:3px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.58) 0 8px,rgba(115,75,75,.2) 8px 14px);transform:rotate(4deg)}.scar-i{position:absolute;left:27%;top:54%;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.82);color:white;font-family:Georgia,serif}.scar-state{position:absolute;right:1rem;bottom:1rem;max-width:210px;padding:.65rem .75rem;border-radius:.75rem;background:rgba(255,255,255,.8)}.scar-state small,.scar-state strong{display:block}.scar-state p{font-size:.66rem;color:var(--muted);margin:.2rem 0 0}.scar-control{display:grid;gap:.45rem}.scar-control span{display:flex;justify-content:space-between;gap:1rem}.scar-control small{color:var(--muted)}


.part3-c-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:stretch;margin:1rem 0}.part3-c-compare>div{padding:.9rem;border-radius:.9rem;background:rgba(255,255,255,.58);border:1px solid rgba(93,76,114,.1)}.part3-c-compare>div.active{background:rgba(239,235,243,.55);border-color:rgba(93,76,114,.22)}.part3-c-compare small,.part3-c-compare strong{display:block}.part3-c-compare p{color:var(--muted);font-size:.7rem}.parallel-c-lines{display:grid;gap:.5rem;margin:1rem 0}.parallel-c-lines span{padding:.55rem .75rem;border-radius:999px;background:rgba(255,255,255,.72);border-left:3px solid rgba(93,76,114,.28)}.absence-c-field{position:relative;min-height:220px;margin:1rem 0;border-radius:1rem;background:rgba(248,247,248,.72)}.absence-c-field .empty-chair{left:32%;top:50%;width:52px;height:42px;transform:translate(-50%,-50%)}.absence-c-field blockquote{position:absolute;left:53%;right:8%;top:40%;margin:0;color:var(--muted);font-size:.76rem}.scar-c-symbol{position:relative;height:150px;margin:1rem 0}.scar-c-left,.scar-c-right{position:absolute;top:18%;bottom:18%;width:45%;background:rgba(160,134,142,.15);border-radius:.7rem}.scar-c-left{left:3%}.scar-c-right{right:3%}.scar-c-line{position:absolute;left:50%;top:10%;bottom:10%;width:3px;background:rgba(115,75,75,.48);transform:rotate(4deg)}
.part3-experience{border-color:rgba(93,76,114,.22)!important;background:rgba(239,235,243,.58)!important}.part3-trajectories{margin:1rem 0 1.2rem;display:grid;gap:.7rem}.completed-trajectory.p3 strong span{color:rgba(93,76,114,.85)}

/* v14 plaza initial center cluster: four rights are all near the center but remain individually clickable. */


/* ===== v14.1 episode 7 redesign ===== */
.preview-ginga-routes{position:relative;min-height:170px;border-radius:1rem;background:linear-gradient(180deg,rgba(39,44,76,.82),rgba(92,74,113,.48));overflow:hidden;border:1px solid rgba(93,76,114,.18)}
.preview-ginga-routes small{position:absolute;left:1rem;bottom:.7rem;color:rgba(255,255,255,.86);font-size:.68rem}
.ginga-train,.ginga-train-large,.journey-train,.pc-train{position:absolute;left:50%;transform:translateX(-50%);display:block;border-radius:999px;background:rgba(255,255,255,.9)}
.ginga-train{top:20px;width:140px;height:18px;box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.ginga-train:before,.ginga-train:after,.ginga-train-large:before,.ginga-train-large:after,.journey-train:before,.journey-train:after,.pc-train:before,.pc-train:after{content:"";position:absolute;top:6px;width:20px;height:6px;border-radius:999px;background:rgba(52,58,87,.35)}
.ginga-train:before,.ginga-train-large:before,.journey-train:before,.pc-train:before{left:18px}.ginga-train:after,.ginga-train-large:after,.journey-train:after,.pc-train:after{right:18px}
.ginga-route{position:absolute;top:38px;width:2px;background:rgba(255,255,255,.4);transform-origin:top center;border-radius:999px}.ginga-route.rt1{left:34%;height:72px;transform:rotate(-26deg)}.ginga-route.rt2{left:50%;height:78px}.ginga-route.rt3{left:66%;height:72px;transform:rotate(26deg)}
.ginga-star,.lane-star{position:absolute;display:block;width:14px;height:14px;background:rgba(255,231,168,.98);clip-path:polygon(50% 0%,61% 36%,98% 36%,68% 58%,79% 94%,50% 72%,21% 94%,32% 58%,2% 36%,39% 36%);box-shadow:0 0 12px rgba(255,231,168,.6)}
.ginga-star.st1{left:28%;top:104px}.ginga-star.st2{left:48%;top:114px}.ginga-star.st3{left:68%;top:100px}
.ginga-passenger{position:absolute;top:52px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);color:rgba(52,58,87,.9);font-size:.7rem;font-weight:700}.ginga-passenger.ps1{left:26%}.ginga-passenger.ps2{left:47%}.ginga-passenger.ps3{left:68%}
.part3-choice-grid-ep7 .part3-choice{min-height:64px;text-align:left}
.ginga-rotation-field{background:radial-gradient(circle at 50% 16%,rgba(255,255,255,.22),rgba(247,245,248,.86) 55%,rgba(235,229,242,.86));min-height:360px}
.ginga-train-large{top:24px;width:210px;height:26px;box-shadow:0 0 0 7px rgba(93,76,114,.08)}
.ginga-branch{position:absolute;top:58px;left:50%;width:2px;background:rgba(93,76,114,.28);transform-origin:top center;border-radius:999px}.ginga-branch.b1{height:165px;transform:rotate(-30deg)}.ginga-branch.b2{height:185px}.ginga-branch.b3{height:165px;transform:rotate(30deg)}
.ginga-star.lg{width:18px;height:18px}.ginga-star.lg.s1{left:22%;top:215px}.ginga-star.lg.s2{left:48%;top:248px}.ginga-star.lg.s3{left:74%;top:214px}
.ginga-star-label{position:absolute;color:var(--muted);font-size:.7rem}.ginga-star-label.lb1{left:15%;top:240px}.ginga-star-label.lb2{left:42%;top:276px}.ginga-star-label.lb3{right:7%;top:238px}
.ginga-junction-label{position:absolute;left:50%;top:64%;transform:translateX(-50%);padding:.35rem .65rem;border-radius:999px;background:rgba(255,255,255,.88);color:rgba(73,56,91,.88);font-size:.72rem;border:1px solid rgba(93,76,114,.16)}
.parallel-progress{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.65rem .8rem;border-radius:.85rem;background:rgba(255,255,255,.52);font-size:.72rem}.parallel-progress span{color:var(--muted)}
.parallel-world-field.journey-field{padding-top:2.5rem;min-height:350px}
.journey-train{top:18px;width:180px;height:22px;box-shadow:0 0 0 6px rgba(93,76,114,.06)}
.parallel-lane{min-height:64px}.parallel-lane.filled{padding-left:1.4rem}.lane-star{left:.5rem;top:50%;transform:translateY(-50%)}.parallel-lane strong{display:block}.parallel-lane em{position:relative;z-index:2;display:block;margin-top:.18rem;color:var(--muted);font-style:normal;font-size:.67rem;padding-left:.58rem}.parallel-lane small{padding-left:1.2rem}
.route-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.route-card{display:grid;gap:.16rem;align-content:flex-start;border-radius:1rem;padding:.72rem .78rem;text-align:left;border:1px solid rgba(93,76,114,.18);background:rgba(255,255,255,.82);cursor:pointer;font:inherit}.route-card small{color:var(--muted);font-size:.64rem}.route-card strong{font-size:.85rem}.route-card span{font-size:.68rem;color:var(--muted)}.route-card.placed{opacity:.56}
.merge-warning{margin-top:1rem;padding:.75rem .9rem;border-radius:.9rem;background:rgba(254,242,220,.86);border:1px solid rgba(201,157,84,.3)}.merge-warning strong,.merge-warning span{display:block}.merge-warning span{margin-top:.2rem;color:var(--muted);font-size:.68rem}
.parallel-c-board{position:relative;min-height:280px;margin:1rem 0;border-radius:1rem;background:linear-gradient(180deg,rgba(39,44,76,.82),rgba(92,74,113,.38));border:1px solid rgba(93,76,114,.18);overflow:hidden}.pc-train{top:22px;width:190px;height:22px;background:rgba(255,255,255,.92)}
.pc-line{position:absolute;left:50%;width:180px;display:flex;align-items:center;gap:.65rem;color:#fff;font-size:.75rem}.pc-line b{display:block;width:2px;height:76px;background:rgba(255,255,255,.36);transform-origin:top center}.pc-line strong{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.18)}.pc1{top:56px;transform:translateX(-150px)}.pc1 b{transform:rotate(-28deg)}.pc2{top:96px;transform:translateX(-92px)}.pc2 b{height:92px}.pc3{top:94px;transform:translateX(16px)}.pc3 b{transform:rotate(24deg);height:88px}.pc4{top:154px;transform:translateX(-68px)}.pc4 b{height:46px}



/* ===== v14.2 episode 7 T refinement ===== */
.ginga-passenger.ps4{left:76%;top:84px}
.parallel-t-v142 .parallel-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.8rem 0}.parallel-t-v142 .parallel-legend-grid>div{padding:.7rem .8rem;border-radius:.9rem;background:rgba(255,255,255,.56);border:1px solid rgba(93,76,114,.12)}.parallel-t-v142 .parallel-legend-grid strong{display:block;margin-bottom:.15rem;font-size:.8rem}.parallel-t-v142 .parallel-legend-grid span{font-size:.7rem;color:var(--muted)}
.parallel-t-v142 .journey-field{padding-top:2.8rem;overflow:hidden}
.parallel-t-v142 .parallel-lane{display:grid;grid-template-columns:1.3fr auto 1.7fr;align-items:center;gap:.7rem;min-height:74px;padding-left:1rem;position:relative}
.parallel-t-v142 .parallel-lane.filled{padding-left:1rem}
.parallel-t-v142 .lane-from,.parallel-t-v142 .lane-to{position:relative;z-index:2}.parallel-t-v142 .lane-from small,.parallel-t-v142 .lane-to small{display:block;color:var(--muted);font-size:.64rem}.parallel-t-v142 .lane-from strong,.parallel-t-v142 .lane-to strong{display:block;font-size:.82rem}.parallel-t-v142 .lane-to span{display:block;color:var(--muted);font-size:.72rem}.parallel-t-v142 .lane-to em{display:block;margin-top:.15rem;color:var(--muted);font-style:normal;font-size:.66rem}.parallel-t-v142 .lane-arrow{position:relative;z-index:2;color:var(--muted);font-weight:700}
.parallel-t-v142 .lane-star{left:.4rem;top:50%;transform:translateY(-50%)}
.parallel-t-v142 .route-card em{display:block;margin-top:.2rem;font-size:.64rem;color:var(--muted);font-style:normal}
.parallel-t-v142 .merge-demo{position:absolute;inset:0;pointer-events:none;z-index:4}
.parallel-t-v142 .merge-origin,.parallel-t-v142 .merge-hub,.parallel-t-v142 .merge-return{position:absolute;display:grid;place-items:center}
.parallel-t-v142 .merge-origin{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.92);color:rgba(52,58,87,.92);font-size:.72rem;font-weight:700;box-shadow:0 6px 14px rgba(0,0,0,.08)}
.parallel-t-v142 .merge-origin.mo1{left:20%;top:94px}.parallel-t-v142 .merge-origin.mo2{left:34%;top:142px}.parallel-t-v142 .merge-origin.mo3{right:34%;top:142px}.parallel-t-v142 .merge-origin.mo4{right:20%;top:94px}
.parallel-t-v142 .merge-hub{left:50%;top:126px;transform:translateX(-50%);padding:.32rem .7rem;border-radius:999px;background:rgba(93,76,114,.14);color:rgba(73,56,91,.88);font-size:.68rem;border:1px solid rgba(93,76,114,.18);opacity:0}
.parallel-t-v142 .merge-return{left:50%;top:168px;transform:translateX(-50%);padding:.28rem .58rem;border-radius:999px;background:rgba(255,255,255,.82);color:rgba(73,56,91,.8);font-size:.66rem;opacity:0}
.parallel-t-v142 .merge-demo::before,.parallel-t-v142 .merge-demo::after{content:"";position:absolute;left:50%;top:52px;width:2px;height:0;border-radius:999px;background:rgba(93,76,114,.24);opacity:0}
.parallel-t-v142 .merge-demo::before{transform:translateX(-42px) rotate(22deg)}.parallel-t-v142 .merge-demo::after{transform:translateX(42px) rotate(-22deg)}
.parallel-t-v142 .parallel-world-field.merging .merge-hub{animation:hubPulse 2.35s ease forwards}.parallel-t-v142 .parallel-world-field.merging .merge-return{animation:returnPulse 2.35s ease forwards}
.parallel-t-v142 .parallel-world-field.merging .merge-demo::before,.parallel-t-v142 .parallel-world-field.merging .merge-demo::after{animation:branchGlow 2.35s ease forwards}
.parallel-t-v142 .parallel-world-field.merging .merge-origin.mo1{animation:mergeMo1 2.35s ease forwards}.parallel-t-v142 .parallel-world-field.merging .merge-origin.mo2{animation:mergeMo2 2.35s ease forwards}.parallel-t-v142 .parallel-world-field.merging .merge-origin.mo3{animation:mergeMo3 2.35s ease forwards}.parallel-t-v142 .parallel-world-field.merging .merge-origin.mo4{animation:mergeMo4 2.35s ease forwards}
@keyframes mergeMo1{0%{left:20%;top:94px}35%{left:44%;top:125px}55%{left:50%;top:126px}100%{left:20%;top:94px}}
@keyframes mergeMo2{0%{left:34%;top:142px}35%{left:47%;top:129px}55%{left:50%;top:126px}100%{left:34%;top:142px}}
@keyframes mergeMo3{0%{right:34%;top:142px}35%{right:47%;top:129px}55%{right:50%;top:126px}100%{right:34%;top:142px}}
@keyframes mergeMo4{0%{right:20%;top:94px}35%{right:44%;top:125px}55%{right:50%;top:126px}100%{right:20%;top:94px}}
@keyframes hubPulse{0%,18%{opacity:0}22%,60%{opacity:1;transform:translateX(-50%) scale(1.05)}100%{opacity:0;transform:translateX(-50%) scale(.96)}}
@keyframes returnPulse{0%,55%{opacity:0}68%,100%{opacity:1}}
@keyframes branchGlow{0%,18%{height:0;opacity:0}28%,55%{height:88px;opacity:1}100%{height:0;opacity:0}}



/* ===== v14.3 episode 7 T fixed candidate ===== */
.parallel-t-v143 .route-map-caption-strip{display:grid;grid-template-columns:1.25fr .65fr 1.5fr;gap:.7rem;margin:.8rem 0}.parallel-t-v143 .route-map-caption-strip>div{padding:.7rem .8rem;border-radius:.9rem;background:rgba(255,255,255,.58);border:1px solid rgba(93,76,114,.12)}.parallel-t-v143 .route-map-caption-strip strong{display:block;margin-bottom:.12rem;font-size:.79rem}.parallel-t-v143 .route-map-caption-strip span{display:block;font-size:.68rem;color:var(--muted)}
.parallel-t-v143 .route-map-field{padding-top:2.2rem}
.parallel-t-v143 .route-map-label{position:absolute;left:1rem;top:.8rem;font-size:.7rem;color:var(--muted)}
.parallel-t-v143 .route-map-board{position:relative;display:grid;gap:.75rem;padding:.35rem 0 1.2rem}
.parallel-t-v143 .route-map-row{display:grid;grid-template-columns:minmax(0,1.25fr) 90px minmax(0,1.5fr);gap:.7rem;align-items:center;position:relative;z-index:2}
.parallel-t-v143 .route-origin-box,.parallel-t-v143 .route-destination-box{border-radius:1rem;padding:.75rem .85rem;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.16);box-shadow:0 10px 18px rgba(54,44,77,.05)}
.parallel-t-v143 .route-origin-box small,.parallel-t-v143 .route-destination-box small{display:block;font-size:.64rem;color:var(--muted)}
.parallel-t-v143 .route-origin-box strong,.parallel-t-v143 .route-destination-box strong{display:block;margin-top:.12rem;font-size:.84rem}.parallel-t-v143 .route-origin-box span{display:block;margin-top:.22rem;font-size:.72rem;color:rgba(73,56,91,.88)}
.parallel-t-v143 .route-destination-box em{display:block;margin-top:.18rem;font-size:.66rem;color:var(--muted);font-style:normal;line-height:1.45}.parallel-t-v143 .route-destination-box.empty{background:rgba(255,255,255,.72);border-style:dashed}
.parallel-t-v143 .route-line-box{position:relative;height:24px;display:grid;place-items:center}.parallel-t-v143 .route-line-track{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,rgba(93,76,114,.26),rgba(93,76,114,.1))}.parallel-t-v143 .route-line-arrow{position:relative;z-index:2;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.16);color:rgba(73,56,91,.8);font-size:.82rem;font-weight:700}
.parallel-t-v143 .route-merge-hub,.parallel-t-v143 .route-merge-return{position:absolute;left:50%;transform:translateX(-50%);padding:.32rem .75rem;border-radius:999px;font-size:.68rem;z-index:4;opacity:0;pointer-events:none}
.parallel-t-v143 .route-merge-hub{top:34%;background:rgba(93,76,114,.14);border:1px solid rgba(93,76,114,.18);color:rgba(73,56,91,.88)}
.parallel-t-v143 .route-merge-return{top:46%;background:rgba(255,255,255,.9);border:1px solid rgba(93,76,114,.12);color:rgba(73,56,91,.82)}
.parallel-t-v143 .parallel-world-field.merging .route-merge-hub{animation:hubPulse2 2.35s ease forwards}.parallel-t-v143 .parallel-world-field.merging .route-merge-return{animation:returnPulse2 2.35s ease forwards}
.parallel-t-v143 .parallel-world-field.merging .route-map-row.r1 .route-destination-box{animation:destMerge1 2.35s ease forwards}
.parallel-t-v143 .parallel-world-field.merging .route-map-row.r2 .route-destination-box{animation:destMerge2 2.35s ease forwards}
.parallel-t-v143 .parallel-world-field.merging .route-map-row.r3 .route-destination-box{animation:destMerge3 2.35s ease forwards}
.parallel-t-v143 .parallel-world-field.merging .route-map-row.r4 .route-destination-box{animation:destMerge4 2.35s ease forwards}
@keyframes destMerge1{0%{transform:none}35%{transform:translate(-180px,75px) scale(1.03)}55%{transform:translate(-180px,75px) scale(.98)}100%{transform:none}}
@keyframes destMerge2{0%{transform:none}35%{transform:translate(-180px,25px) scale(1.03)}55%{transform:translate(-180px,25px) scale(.98)}100%{transform:none}}
@keyframes destMerge3{0%{transform:none}35%{transform:translate(-180px,-25px) scale(1.03)}55%{transform:translate(-180px,-25px) scale(.98)}100%{transform:none}}
@keyframes destMerge4{0%{transform:none}35%{transform:translate(-180px,-75px) scale(1.03)}55%{transform:translate(-180px,-75px) scale(.98)}100%{transform:none}}
@keyframes hubPulse2{0%,20%{opacity:0}24%,60%{opacity:1;transform:translateX(-50%) scale(1.04)}100%{opacity:0;transform:translateX(-50%) scale(.98)}}
@keyframes returnPulse2{0%,55%{opacity:0}68%,100%{opacity:1}}
.parallel-t-v143 .route-card{border-radius:1rem}.parallel-t-v143 .route-card em{display:block;margin-top:.2rem;font-size:.64rem;color:var(--muted);font-style:normal}



/* ===== v14.4 episode 7 A/i/C alignment ===== */
.preview-ep7-route-map{position:relative;padding:1rem;border-radius:1rem;background:linear-gradient(180deg,rgba(247,245,248,.98),rgba(239,234,245,.84));border:1px solid rgba(93,76,114,.14)}
.preview-ep7-route-map .mini-route-head{display:flex;justify-content:space-between;align-items:center;padding:.55rem .75rem;border-radius:.9rem;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.12)}
.preview-ep7-route-map .mini-route-head span{font-weight:700;font-size:.88rem}.preview-ep7-route-map .mini-route-head small{font-size:.68rem;color:var(--muted)}
.preview-ep7-route-map .mini-route-grid{display:grid;gap:.45rem;margin-top:.7rem}.preview-ep7-route-map .mini-route-row{display:grid;grid-template-columns:1fr 26px 1.2fr;align-items:center;gap:.5rem}.preview-ep7-route-map .mini-route-row b,.preview-ep7-route-map .mini-route-row span{display:block;padding:.5rem .65rem;border-radius:.8rem;background:rgba(255,255,255,.88);font-size:.73rem;border:1px solid rgba(93,76,114,.1)}.preview-ep7-route-map .mini-route-row i{position:relative;height:2px;background:rgba(93,76,114,.22)}.preview-ep7-route-map .mini-route-row i::after{content:"→";position:absolute;right:-2px;top:50%;transform:translateY(-58%);font-style:normal;color:rgba(73,56,91,.78);font-size:.72rem}.preview-ep7-route-map>small{display:block;margin-top:.65rem;color:var(--muted);font-size:.68rem}
.rotate-ginga-v144 .route-rotation-field{padding:1rem 1rem 1.25rem;min-height:360px;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.48),rgba(247,245,248,.95) 55%,rgba(235,229,242,.88))}
.rotate-ginga-v144 .rotate-route-labels{display:grid;grid-template-columns:1.1fr 1fr 1.25fr;gap:.55rem;margin-bottom:.85rem}.rotate-ginga-v144 .rotate-route-labels span{display:block;padding:.5rem .6rem;border-radius:.85rem;background:rgba(255,255,255,.8);border:1px solid rgba(93,76,114,.12);font-size:.67rem;color:rgba(73,56,91,.84)}
.rotate-ginga-v144 .rotate-route-board{display:grid;grid-template-columns:1.1fr 1fr 1.25fr;gap:.7rem;align-items:stretch;position:relative}.rotate-ginga-v144 .rotate-train-box,.rotate-ginga-v144 .rotate-dest-column{padding:.8rem;border-radius:1rem;background:rgba(255,255,255,.9);border:1px solid rgba(93,76,114,.14)}
.rotate-ginga-v144 .rotate-train-box small,.rotate-ginga-v144 .rotate-dest-column small{display:block;font-size:.64rem;color:var(--muted)}.rotate-ginga-v144 .rotate-train-box strong{display:block;font-size:.9rem}.rotate-ginga-v144 .rotate-train-box span{display:block;margin-top:.25rem;font-size:.71rem;color:var(--muted)}
.rotate-ginga-v144 .rotate-dest-column{display:grid;gap:.45rem;align-content:start}.rotate-ginga-v144 .rotate-dest-column span{display:block;padding:.55rem .65rem;border-radius:.8rem;background:rgba(247,245,248,.9);font-size:.72rem;border:1px solid rgba(93,76,114,.08)}
.rotate-ginga-v144 .rotate-branch-zone{position:relative;min-height:240px;border-radius:1rem;background:rgba(255,255,255,.58);border:1px solid rgba(93,76,114,.1);overflow:hidden}.rotate-ginga-v144 .branch-main{position:absolute;left:22%;top:22px;bottom:22px;width:2px;background:rgba(93,76,114,.18)}
.rotate-ginga-v144 .branch{position:absolute;left:22%;width:58%;height:2px;background:rgba(93,76,114,.18);transform-origin:left center}.rotate-ginga-v144 .branch.branch1{top:62px;transform:rotate(-16deg)}.rotate-ginga-v144 .branch.branch2{top:114px;transform:rotate(0)}.rotate-ginga-v144 .branch.branch3{top:166px;transform:rotate(16deg)}
.rotate-ginga-v144 .part3-i-handle{left:16%;top:10%}.rotate-ginga-v144 .ginga-junction-label{left:54%;top:50%;transform:translate(-50%,-50%)}
.part3-c-ep7-v144 .route-summary-board{margin:1rem 0;padding:1rem;border-radius:1rem;background:linear-gradient(180deg,rgba(247,245,248,.98),rgba(239,234,245,.84));border:1px solid rgba(93,76,114,.14)}
.part3-c-ep7-v144 .route-summary-head{display:grid;grid-template-columns:1.15fr .7fr 1.35fr;gap:.6rem;margin-bottom:.7rem}.part3-c-ep7-v144 .route-summary-head span{display:block;padding:.52rem .65rem;border-radius:.85rem;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.1);font-size:.68rem;color:rgba(73,56,91,.82);font-weight:700}
.part3-c-ep7-v144 .route-summary-row{display:grid;grid-template-columns:1.15fr .7fr 1.35fr;gap:.6rem;align-items:center;margin-top:.45rem}.part3-c-ep7-v144 .sum-train,.part3-c-ep7-v144 .sum-dest{padding:.62rem .72rem;border-radius:.85rem;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.1)}
.part3-c-ep7-v144 .sum-train strong,.part3-c-ep7-v144 .sum-dest strong{display:block;font-size:.78rem}.part3-c-ep7-v144 .sum-train em{display:block;margin-top:.15rem;font-style:normal;font-size:.68rem;color:var(--muted)}
.part3-c-ep7-v144 .sum-line{position:relative;height:2px;background:rgba(93,76,114,.22)}.part3-c-ep7-v144 .sum-line::after{content:"→";position:absolute;right:-2px;top:50%;transform:translateY(-58%);color:rgba(73,56,91,.82);font-size:.74rem}



/* ===== v15 episode 8 redesign ===== */
.part3-a-ep8-v15 .absence-a-room{position:relative;min-height:250px;margin:1rem 0;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.96),rgba(240,237,241,.78));border:1px solid rgba(93,76,114,.12);display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;align-items:end;padding:2.1rem 1.2rem 1.4rem}
.absence-a-chair{position:relative;display:grid;justify-items:center;gap:.4rem}.absence-a-chair>span{display:block;width:58px;height:42px;border:2px solid rgba(93,76,114,.30);border-top:0;border-radius:0 0 .5rem .5rem;position:relative}.absence-a-chair>span:before{content:"";position:absolute;left:4px;right:4px;top:-38px;height:38px;border:2px solid rgba(93,76,114,.30);border-bottom:0;border-radius:.45rem .45rem 0 0}.absence-a-chair.occupied>span:after{content:"";position:absolute;left:50%;top:-26px;transform:translateX(-50%);width:24px;height:24px;border-radius:50%;background:rgba(93,76,114,.16);box-shadow:0 27px 0 8px rgba(93,76,114,.10)}.absence-a-chair small,.absence-a-chair strong{font-size:.68rem;color:var(--muted)}.absence-a-chair.empty strong{color:rgba(73,56,91,.9)}
.absence-a-paper{position:absolute;right:6%;top:13%;display:grid;justify-items:center;gap:.3rem}.absence-a-paper i{display:block;width:44px;height:56px;border-radius:.3rem;background:rgba(255,255,255,.96);border:1px solid rgba(93,76,114,.18);transform:rotate(5deg);box-shadow:0 7px 14px rgba(53,43,67,.06)}.absence-a-paper small{font-size:.64rem;color:var(--muted)}
.rotate-absence-v15 .absence-rotate-room{position:relative;min-height:340px;margin:1rem 0;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.96),rgba(240,237,241,.78));border:1px solid rgba(93,76,114,.12);overflow:hidden}.absence-rotate-chair{position:absolute;left:38%;top:52%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.28rem}.absence-rotate-chair>span{display:block;width:62px;height:48px;border:2px solid rgba(93,76,114,.38);border-top:0;border-radius:0 0 .5rem .5rem;position:relative}.absence-rotate-chair>span:before{content:"";position:absolute;left:4px;right:4px;top:-40px;height:40px;border:2px solid rgba(93,76,114,.38);border-bottom:0;border-radius:.45rem .45rem 0 0}.absence-rotate-chair strong,.absence-rotate-side strong{font-size:.78rem}.absence-rotate-chair small,.absence-rotate-side small{font-size:.65rem;color:var(--muted)}
.absence-rotate-side{position:absolute;left:75%;top:58%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.3rem}.side-table{display:block;width:72px;height:6px;border-radius:999px;background:rgba(93,76,114,.28);position:relative}.side-table:before,.side-table:after{content:"";position:absolute;top:5px;width:3px;height:52px;background:rgba(93,76,114,.20)}.side-table:before{left:10px}.side-table:after{right:10px}.absence-rotate-path{position:absolute;left:48%;top:46%;width:24%;height:28%;border-bottom:1px dashed rgba(93,76,114,.22);border-right:1px dashed rgba(93,76,114,.22);border-radius:0 0 45% 0}.rotate-absence-v15 .part3-i-handle{z-index:5}
.absence-letter-room{position:relative;min-height:330px;margin:1rem 0;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.98),rgba(239,236,241,.82));border:1px solid rgba(93,76,114,.12);overflow:hidden}.letter-empty-seat{position:absolute;left:34%;top:53%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.3rem}.letter-empty-seat>span{display:block;width:64px;height:48px;border:2px solid rgba(93,76,114,.4);border-top:0;border-radius:0 0 .5rem .5rem;position:relative}.letter-empty-seat>span:before{content:"";position:absolute;left:4px;right:4px;top:-42px;height:42px;border:2px solid rgba(93,76,114,.4);border-bottom:0;border-radius:.45rem .45rem 0 0}.letter-empty-seat strong,.letter-side-table strong{font-size:.8rem}.letter-empty-seat small,.letter-side-table small{max-width:190px;text-align:center;font-size:.66rem;color:var(--muted);line-height:1.45}
.letter-side-table{position:absolute;left:73%;top:56%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.3rem}.letter-side-table>span{display:block;width:84px;height:7px;border-radius:999px;background:rgba(93,76,114,.28);position:relative}.letter-side-table>span:before,.letter-side-table>span:after{content:"";position:absolute;top:6px;width:3px;height:58px;background:rgba(93,76,114,.20)}.letter-side-table>span:before{left:12px}.letter-side-table>span:after{right:12px}.letter-boundary{position:absolute;left:52%;top:48%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-size:1.2rem;color:rgba(93,76,114,.35)}
.absence-letter-editor{display:grid;gap:.35rem}.absence-letter-editor span{font-size:.68rem;color:var(--muted)}.absence-letter-editor textarea{min-height:86px}.absence-auto-note{text-align:center;color:var(--muted);font-size:.72rem}.quiet-time-line{position:absolute;left:18%;right:18%;bottom:25px;height:4px;border-radius:999px;background:rgba(93,76,114,.07);overflow:hidden}.quiet-time-line i{display:block;height:100%;width:0;background:rgba(93,76,114,.34);animation:absenceWaitV15 5s linear forwards}@keyframes absenceWaitV15{to{width:100%}}
.absence-no-reply{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:.5rem;padding:.42rem .72rem;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid rgba(93,76,114,.1)}.absence-no-reply span,.absence-no-reply small{font-size:.64rem;color:var(--muted)}.absence-no-reply strong{font-size:1rem;font-weight:400;color:rgba(93,76,114,.5)}
.part3-c-ep8-v15 .absence-c-v15-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin:1rem 0;padding:1.1rem;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.96),rgba(240,237,241,.76));border:1px solid rgba(93,76,114,.12)}.c-empty-seat,.c-letter-place{min-height:160px;border-radius:1rem;background:rgba(255,255,255,.8);border:1px solid rgba(93,76,114,.1);display:grid;place-items:center;align-content:center;gap:.35rem;padding:.8rem;text-align:center}.c-empty-seat>span{display:block;width:52px;height:40px;border:2px solid rgba(93,76,114,.38);border-top:0;border-radius:0 0 .45rem .45rem;position:relative}.c-empty-seat>span:before{content:"";position:absolute;left:4px;right:4px;top:-34px;height:34px;border:2px solid rgba(93,76,114,.38);border-bottom:0;border-radius:.4rem .4rem 0 0}.c-letter-place>span{display:block;width:48px;height:60px;border-radius:.3rem;background:white;border:1px solid rgba(93,76,114,.16);box-shadow:0 6px 14px rgba(53,43,67,.06)}.c-empty-seat strong,.c-letter-place strong{font-size:.8rem}.c-empty-seat small,.c-letter-place small{font-size:.67rem;color:var(--muted);line-height:1.45}.c-separator{font-family:Georgia,serif;font-size:1.5rem;color:rgba(93,76,114,.38)}.absence-c-question{margin:1rem 0;padding:.85rem 1rem;border-radius:.9rem;background:rgba(255,255,255,.56);font-family:Georgia,"Yu Mincho",serif;line-height:1.7;text-align:center}



/* ===== v15.1 episode 8 memorial + letter ===== */
.part3-a-ep8-v151 .memorial-a-room{position:relative;min-height:260px;margin:1rem 0;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.96),rgba(240,237,241,.80));border:1px solid rgba(93,76,114,.12);padding:1.3rem 1.2rem 1rem;display:grid;grid-template-columns:1.25fr .55fr 1fr;gap:1rem;align-items:end}
.memorial-frame,.letter-memorial-frame,.c-memorial,.mini-frame{position:relative;display:grid;justify-items:center;align-content:center;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.12);border-radius:1rem;box-shadow:0 8px 18px rgba(53,43,67,.06)}
.memorial-frame{min-height:180px;padding:1rem .8rem .8rem}.memorial-frame strong,.letter-memorial-frame strong,.c-memorial strong{font-size:.82rem;margin-top:.2rem}.memorial-frame small,.letter-memorial-frame small,.c-memorial small{font-size:.66rem;color:var(--muted);text-align:center;line-height:1.45}
.portrait-head{display:block;width:28px;height:28px;border-radius:50%;background:rgba(93,76,114,.18);margin-top:.2rem}.portrait-body{display:block;width:54px;height:64px;border-radius:1rem 1rem .4rem .4rem;background:rgba(93,76,114,.10);margin-top:.35rem}
.memorial-flower{display:grid;justify-items:center;gap:.35rem;align-self:center}.memorial-flower i{display:block;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.95) 0 18%,rgba(199,180,207,.68) 19% 35%,rgba(232,223,237,.94) 36% 100%);border:1px solid rgba(93,76,114,.10);box-shadow:0 6px 14px rgba(53,43,67,.05)}.memorial-flower small{font-size:.64rem;color:var(--muted)}
.memorial-paper{display:grid;justify-items:center;gap:.35rem;align-self:center}.memorial-paper i,.letter-front-place i,.c-letter-place span,.mini-writing i{display:block;width:54px;height:70px;border-radius:.35rem;background:rgba(255,255,255,.98);border:1px solid rgba(93,76,114,.16);box-shadow:0 8px 16px rgba(53,43,67,.06)}.memorial-paper strong,.letter-front-place strong,.c-letter-place strong{font-size:.78rem}.memorial-paper small,.letter-front-place small,.c-letter-place small{font-size:.65rem;color:var(--muted);text-align:center;line-height:1.45}
.rotate-memorial-v151 .memorial-rotate-room{position:relative;min-height:330px;margin:1rem 0;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.96),rgba(240,237,241,.80));border:1px solid rgba(93,76,114,.12);padding:1.1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;overflow:hidden}
.rotate-memorial-v151 .rotate-zone{min-height:210px;border-radius:1rem;background:rgba(255,255,255,.64);border:1px solid rgba(93,76,114,.10);display:grid;justify-items:center;align-content:center;gap:.4rem;position:relative}.rotate-memorial-v151 .rotate-zone small{font-size:.66rem;color:var(--muted)}.rotate-memorial-v151 .rotate-zone strong{font-size:.8rem}
.rotate-memorial-v151 .mini-frame{width:110px;height:130px;padding-top:.5rem}.rotate-memorial-v151 .mini-writing{width:118px;height:138px;border-radius:1rem;background:rgba(247,245,248,.9);border:1px dashed rgba(93,76,114,.18);display:grid;place-items:center}
.rotate-memorial-v151 .memorial-rotate-path{position:absolute;left:38%;top:50%;width:26%;height:2px;background:linear-gradient(90deg,rgba(93,76,114,.15),rgba(93,76,114,.30));border-radius:999px}.rotate-memorial-v151 .part3-i-handle{z-index:3}
.memorial-t-v151 .memorial-letter-room{position:relative;min-height:300px;margin:1rem 0;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.98),rgba(239,236,241,.84));border:1px solid rgba(93,76,114,.12);padding:1rem 1rem 3.4rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}
.memorial-t-v151 .letter-memorial-frame{min-height:190px;padding:.9rem .8rem .8rem}.memorial-t-v151 .letter-front-place{min-height:160px;border-radius:1rem;background:rgba(255,255,255,.76);border:1px solid rgba(93,76,114,.10);display:grid;justify-items:center;align-content:center;gap:.38rem;padding:.8rem}
.memorial-boundary{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:.42rem .72rem;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(93,76,114,.10);font-size:.67rem;color:rgba(73,56,91,.84)}
.memorial-t-v151 .quiet-time-line{position:absolute;left:18%;right:18%;bottom:20px;height:4px;border-radius:999px;background:rgba(93,76,114,.07);overflow:hidden}.memorial-t-v151 .quiet-time-line i{display:block;height:100%;width:0;background:rgba(93,76,114,.34);animation:absenceWaitV15 5s linear forwards}
.part3-c-ep8-v151 .memorial-c-board{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin:1rem 0;padding:1.1rem;border-radius:1.1rem;background:linear-gradient(180deg,rgba(249,248,249,.96),rgba(240,237,241,.76));border:1px solid rgba(93,76,114,.12);position:relative}
.part3-c-ep8-v151 .c-memorial{min-height:170px;padding:.9rem .8rem .8rem}.part3-c-ep8-v151 .c-letter-place{min-height:170px;border-radius:1rem;background:rgba(255,255,255,.82);border:1px solid rgba(93,76,114,.10);display:grid;justify-items:center;align-content:center;gap:.35rem;padding:.8rem;text-align:center}
.part3-c-ep8-v151 .c-reply-line{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:.45rem;padding:.4rem .72rem;border-radius:999px;background:rgba(255,255,255,.84);border:1px solid rgba(93,76,114,.10)}
.part3-c-ep8-v151 .c-reply-line span,.part3-c-ep8-v151 .c-reply-line small{font-size:.64rem;color:var(--muted)}.part3-c-ep8-v151 .c-reply-line strong{font-size:1rem;font-weight:400;color:rgba(93,76,114,.50)}



/* ===== v15.2 responsive semantic consistency ===== */
.semantic-anchor{position:absolute;width:2px;height:2px;opacity:0;pointer-events:none;z-index:-1}

/* Episode 7: semantic anchor positions within the branch zone. */
.rotate-ginga-v144 .ep7-start-anchor{left:18%;top:24%}
.rotate-ginga-v144 .ep7-end-anchor{left:54%;top:58%}
.rotate-ginga-v144 .branch-zone-label,.rotate-ginga-v144 .dest-zone-label{display:none}

/* Episode 8: start near the memorial side; finish beside the writing place, never on the portrait. */
.rotate-memorial-v151 .dead-side .ep8-start-anchor{right:10%;top:52%}
.rotate-memorial-v151 .living-side .ep8-end-anchor{right:12%;bottom:18%}






/* ===== v16: Episode 1 radial shift / Episode 4 deer-response refinements ===== */
.scene-episode1-shift .rotation-copy{max-width:44rem}
.radial-shift-zone{gap:.8rem}
.radial-shift-field{
  position:relative;width:min(84vw,520px);min-height:320px;border:1px solid rgba(169,136,79,.24);
  border-radius:1.4rem;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(247,242,231,.64));overflow:hidden
}
.radial-shift-rings{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.radial-shift-rings span{position:absolute;border-radius:50%;border:1px dashed rgba(22,36,56,.12)}
.radial-shift-rings span:nth-child(1){width:112px;height:112px}
.radial-shift-rings span:nth-child(2){width:210px;height:210px}
.radial-shift-rings span:nth-child(3){width:300px;height:300px;border-style:solid;border-color:rgba(169,136,79,.18)}
.radial-center{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:128px;height:128px;z-index:2}
.radial-center strong{display:block;margin-top:.2rem;font-family:Georgia,"Yu Mincho",serif;font-size:.95rem;color:var(--ink)}
.radial-shift-relations{position:absolute;inset:0;pointer-events:none}
.radial-node{position:absolute;display:grid;gap:.1rem;padding:.48rem .7rem;border-radius:1rem;background:rgba(255,255,255,.88);border:1px solid rgba(22,36,56,.12);box-shadow:0 10px 26px rgba(22,36,56,.08);opacity:.15;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}
.radial-node small{font-size:.62rem;color:var(--muted)}
.radial-node strong{font-size:.82rem}
.radial-node.n1{left:55%;top:10%}
.radial-node.n2{right:8%;top:34%}
.radial-node.n3{right:11%;bottom:24%}
.radial-node.n4{left:56%;bottom:10%}
.radial-shift-field.revealed-1 .n1,
.radial-shift-field.revealed-2 .n1,
.radial-shift-field.revealed-3 .n1,
.radial-shift-field.revealed-4 .n1,
.radial-shift-field.revealed-2 .n2,
.radial-shift-field.revealed-3 .n2,
.radial-shift-field.revealed-4 .n2,
.radial-shift-field.revealed-3 .n3,
.radial-shift-field.revealed-4 .n3,
.radial-shift-field.revealed-4 .n4{opacity:1;transform:translateY(0)}
.radial-handle{left:50%;top:50%;transform:translate(-50%,-50%)}
.radial-shift-trail{position:absolute;height:2px;background:linear-gradient(90deg,rgba(169,136,79,.0),rgba(169,136,79,.72));transform-origin:0 50%;pointer-events:none;z-index:1}
.radial-shift-note{display:flex;align-items:center;gap:.55rem;justify-content:center;color:var(--muted);font-size:.8rem}
.radial-shift-note b{font-weight:400;color:var(--gold)}

.ep4-rotate-card .rotation-copy{max-width:46rem}
.ep4-rotation-zone{display:grid;gap:1rem}
.ep4-encounter-field{
  position:relative;width:min(92vw,620px);min-height:270px;border-radius:1.35rem;
  border:1px solid rgba(78,119,90,.18);background:linear-gradient(180deg,rgba(241,247,241,.92),rgba(247,243,232,.88));overflow:hidden
}
.ep4-ground-line{position:absolute;left:6%;right:6%;bottom:72px;height:2px;background:linear-gradient(90deg,rgba(78,119,90,.15),rgba(78,119,90,.5),rgba(78,119,90,.15))}
.ep4-observer,.ep4-deer-pack{position:absolute;bottom:74px;transition:all .45s ease}
.ep4-observer{left:10%;display:grid;justify-items:center;gap:.25rem}
.ep4-person{display:block;width:48px;height:62px;border-radius:45% 45% 18% 18%;background:rgba(22,36,56,.72);position:relative}
.ep4-person:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:inherit;top:-14px;left:13px}
.ep4-observer small,.ep4-deer-pack small{color:var(--muted);font-size:.66rem}
.ep4-deer-pack{left:76%;display:flex;align-items:flex-end;gap:.35rem;transform:translateX(-50%)}
.ep4-deer{display:inline-block;width:40px;height:28px;border-radius:58% 42% 42% 36%;background:rgba(118,93,60,.76);position:relative;transition:transform .4s ease, opacity .4s ease}
.ep4-deer:before{content:"";position:absolute;right:-8px;top:7px;width:15px;height:12px;border-radius:50%;background:inherit}
.ep4-deer:after{content:"";position:absolute;left:8px;top:-8px;width:2px;height:10px;background:rgba(118,93,60,.76);box-shadow:8px 0 0 rgba(118,93,60,.76)}
.ep4-deer.d2{transform:scale(.9)}
.ep4-deer.d3{transform:scale(.82) translateY(2px)}
.ep4-encounter-field[data-encounter-step="dance"] .ep4-deer.d1{animation:ep4Dance1 .8s ease-in-out infinite alternate}
.ep4-encounter-field[data-encounter-step="dance"] .ep4-deer.d2{animation:ep4Dance2 .85s ease-in-out infinite alternate}
.ep4-encounter-field[data-encounter-step="dance"] .ep4-deer.d3{animation:ep4Dance3 .75s ease-in-out infinite alternate}
.ep4-encounter-field[data-encounter-step="look"] .ep4-deer-pack{left:74%}
.ep4-encounter-field[data-encounter-step="look"] .ep4-deer.d1,
.ep4-encounter-field[data-encounter-step="look"] .ep4-deer.d2,
.ep4-encounter-field[data-encounter-step="look"] .ep4-deer.d3{transform:translateY(0) scale(1.02)}
.ep4-encounter-field[data-encounter-step="flee"] .ep4-deer-pack,
.ep4-encounter-field[data-encounter-step="done"] .ep4-deer-pack{left:81%}
.ep4-gaze-arrow{position:absolute;left:47%;top:114px;width:120px;height:2px;background:rgba(78,119,90,.22);opacity:0;transition:opacity .3s ease}
.ep4-gaze-arrow.active,
.ep4-encounter-field[data-encounter-step="look"] .ep4-gaze-arrow,
.ep4-encounter-field[data-encounter-step="flee"] .ep4-gaze-arrow,
.ep4-encounter-field[data-encounter-step="done"] .ep4-gaze-arrow{opacity:1}
.ep4-gaze-arrow:after{content:"◀";position:absolute;left:-6px;top:-9px;color:rgba(78,119,90,.58);font-size:12px}
.ep4-recoil-mark{position:absolute;right:9%;top:88px;color:rgba(142,103,72,.76);font-size:1.2rem;opacity:0;transition:opacity .3s ease}
.ep4-recoil-mark.active,
.ep4-encounter-field[data-encounter-step="flee"] .ep4-recoil-mark,
.ep4-encounter-field[data-encounter-step="done"] .ep4-recoil-mark{opacity:1}
.ep4-handle{left:18%;top:38%;transform:translate(-50%,-50%);z-index:2}
.ep4-rotation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.ep4-step{padding:.7rem .78rem;border-radius:1rem;background:rgba(255,255,255,.66);border:1px solid rgba(78,119,90,.14)}
.ep4-step span{display:block;color:var(--muted);font-size:.62rem}
.ep4-step strong{display:block;margin-top:.15rem;font-size:.82rem;line-height:1.55}
.ep4-encounter-field[data-encounter-step="dance"] + .ep4-rotation-steps .ep4-step:nth-child(1),
.ep4-encounter-field[data-encounter-step="look"] + .ep4-rotation-steps .ep4-step:nth-child(2),
.ep4-encounter-field[data-encounter-step="flee"] + .ep4-rotation-steps .ep4-step:nth-child(3),
.ep4-encounter-field[data-encounter-step="done"] + .ep4-rotation-steps .ep4-step:nth-child(3){border-color:rgba(78,119,90,.42);box-shadow:0 0 0 2px rgba(78,119,90,.10)}
.ep4-role-shift{display:grid;gap:.12rem;justify-items:center;padding:.75rem;border-radius:1rem;background:rgba(255,255,255,.55);color:var(--muted)}
.ep4-role-shift strong{font-family:Georgia,"Yu Mincho",serif;color:var(--ink)}
@keyframes ep4Dance1{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-5px) rotate(3deg)}}
@keyframes ep4Dance2{from{transform:translateY(2px) rotate(2deg) scale(.9)}to{transform:translateY(-4px) rotate(-2deg) scale(.92)}}
@keyframes ep4Dance3{from{transform:translateY(1px) rotate(-2deg) scale(.82)}to{transform:translateY(-3px) rotate(2deg) scale(.84)}}

.distance-step-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:.9rem 0 1rem}
.distance-step{padding:.65rem .7rem;border-radius:.95rem;background:rgba(255,255,255,.58);border:1px solid rgba(93,132,105,.12);opacity:.86;transition:all .2s ease}
.distance-step span{display:block;color:var(--muted);font-size:.62rem}
.distance-step strong{display:block;margin-top:.15rem;font-size:.78rem;line-height:1.5}
.distance-step.active{border-color:rgba(93,132,105,.42);box-shadow:0 0 0 2px rgba(93,132,105,.10);opacity:1}
.distance-step.passed{background:rgba(243,247,243,.82)}
.distance-scene.dance .deer.d1{animation:distanceDance1 .9s ease-in-out infinite alternate}
.distance-scene.dance .deer.d2{animation:distanceDance2 .8s ease-in-out infinite alternate}
.distance-scene.dance .deer.d3{animation:distanceDance3 .85s ease-in-out infinite alternate}
.distance-scene.look .deer-group{transform:translateX(-50%) scale(1.02)}
.distance-scene.flee .deer-group{transform:translateX(-50%) translateX(8px)}
.distance-scene.flee .observer-shape{transform:translateX(-50%) scale(1.02)}
.distance-scene.flee{box-shadow:inset 0 0 0 2px rgba(142,103,72,.28)}
.distance-scene.look{box-shadow:inset 0 0 0 2px rgba(93,132,105,.18)}
.distance-scene.dance{box-shadow:inset 0 0 0 2px rgba(93,132,105,.10)}
@keyframes distanceDance1{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-4px) rotate(2deg)}}
@keyframes distanceDance2{from{transform:translateY(2px) rotate(2deg)}to{transform:translateY(-3px) rotate(-2deg)}}
@keyframes distanceDance3{from{transform:translateY(1px) rotate(-2deg)}to{transform:translateY(-2px) rotate(3deg)}}




/* v16.1 Episode4 role separation */
.ep4-encounter-field[data-encounter-step="move"] .ep4-gaze-arrow,
.ep4-encounter-field[data-encounter-step="done"] .ep4-gaze-arrow{opacity:1}
.ep4-encounter-field[data-encounter-step="move"] .ep4-deer-pack,
.ep4-encounter-field[data-encounter-step="done"] .ep4-deer-pack{left:74%}
.ep4-encounter-field[data-encounter-step="move"] + .ep4-rotation-steps .ep4-step:nth-child(3),
.ep4-encounter-field[data-encounter-step="done"] + .ep4-rotation-steps .ep4-step:nth-child(3){border-color:rgba(78,119,90,.42);box-shadow:0 0 0 2px rgba(78,119,90,.10)}
.ep4-encounter-field[data-encounter-step="done"] .ep4-deer.d1,
.ep4-encounter-field[data-encounter-step="done"] .ep4-deer.d2,
.ep4-encounter-field[data-encounter-step="done"] .ep4-deer.d3{transform:translateY(0)}


/* v16.2 episode 2,3,5,6 refinements */
.part1-a-special .scene-card{margin-bottom:14px}
.part1-preview{display:grid;gap:10px;margin:12px 0 16px;padding:14px;border:1px solid rgba(48,63,54,.12);border-radius:16px;background:#f8f8f3}
.judge-preview{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}
.judge-preview span{display:flex;justify-content:center;align-items:center;padding:10px 8px;border-radius:999px;background:#fff;border:1px solid rgba(48,63,54,.12);font-weight:700;font-size:.92rem}
.judge-preview small{grid-column:1/-1;color:#516057}
.reversal-preview{grid-template-columns:repeat(3,minmax(0,1fr))}
.reversal-preview div{padding:10px 12px;border-radius:14px;background:#fff;border:1px solid rgba(48,63,54,.12)}
.reversal-preview small{display:block;color:#6b7a71;margin-bottom:4px}
.rotate-special .rotation-zone{gap:14px}
.judge-rotation-ring,.reversal-rotation-ring{position:relative;min-height:280px;background:radial-gradient(circle at center, rgba(255,255,255,.9) 0 26%, rgba(237,240,233,.95) 26% 55%, rgba(245,247,242,.92) 55% 100%);border-radius:50%;border:1px solid rgba(48,63,54,.12);overflow:hidden}
.judge-criteria,.reversal-layers{position:absolute;inset:0}
.judge-node,.judge-open,.rev-node{position:absolute;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.94);border:1px solid rgba(48,63,54,.12);box-shadow:0 8px 18px rgba(0,0,0,.05);opacity:.18;transform:scale(.94);transition:opacity .25s,transform .25s}
.judge-node small,.rev-node small{display:block;color:#6b7a71;margin-bottom:3px;font-size:.72rem}
.judge-node strong,.rev-node strong{font-size:.9rem}
.judge-node.j1{left:13%;top:18%}.judge-node.j2{right:12%;top:18%}.judge-node.j3{right:10%;bottom:22%}.judge-node.j4{left:10%;bottom:22%}.judge-open{left:38%;bottom:6%;text-align:center}
.judge-rotation-ring.revealed-1 .j1,.judge-rotation-ring.revealed-2 .j2,.judge-rotation-ring.revealed-3 .j3,.judge-rotation-ring.revealed-4 .j4,.judge-rotation-ring.revealed-4 .judge-open{opacity:1;transform:scale(1)}
.rev-node.front{opacity:1;transform:scale(1)}
.rev-node.f1{left:10%;top:18%}.rev-node.f2{left:8%;bottom:22%}.rev-node.b1{right:11%;top:16%}.rev-node.b2{right:9%;top:42%}.rev-node.b3{right:13%;bottom:18%}
.reversal-rotation-ring .back{opacity:.12;transform:translateX(6px) scale(.94)}
.reversal-rotation-ring.revealed-1 .b1,.reversal-rotation-ring.revealed-2 .b2,.reversal-rotation-ring.revealed-3 .b3{opacity:1;transform:translateX(0) scale(1)}
.judge-rotation-note{display:flex;justify-content:center;gap:12px;align-items:center;color:#516057;font-size:.94rem}
.judge-rotation-note b{color:#7c8b82}
.world-rotation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.world-step{padding:10px 12px;border:1px solid rgba(48,63,54,.12);border-radius:14px;background:#fbfbf8;text-align:center}
.world-step span{display:block;color:#6b7a71;font-size:.72rem;margin-bottom:4px}
.world-step strong{font-size:.88rem;line-height:1.4}



/* v16.3 part2 unified I/T and experience history */
.world-memory-chip{display:inline-flex;gap:.6rem;align-items:center;padding:.5rem .85rem;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(77,95,124,.18);margin-bottom:.9rem;backdrop-filter:blur(6px)}
.world-memory-chip small{display:block;color:var(--muted);font-size:.74rem}.world-memory-chip strong{font-size:.95rem}
.compact-steps{margin-top:.8rem}
.ep5-river-scene,.ep6-labor-scene{position:relative;width:min(100%,760px);min-height:320px;border-radius:26px;border:1px solid rgba(77,95,124,.14);overflow:hidden;background:linear-gradient(180deg,rgba(238,249,255,.95),rgba(201,231,246,.95));box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 16px 40px rgba(51,78,112,.08)}
.ep5-river-scene{background:linear-gradient(180deg,rgba(236,248,255,.98),rgba(171,219,243,.92) 46%,rgba(124,187,219,.92));}
.ep5-water-line{position:absolute;left:-5%;right:-5%;height:22px;border-radius:999px;border-top:2px solid rgba(255,255,255,.46);border-bottom:2px solid rgba(86,142,183,.18);opacity:.95;animation:riverWave 4.4s ease-in-out infinite}.ep5-water-line.top{top:24%;animation-delay:-1s}.ep5-water-line.mid{top:46%;animation-delay:-2.1s}.ep5-water-line.bot{top:68%;animation-delay:-.4s}
.ep5-light{position:absolute;left:18%;top:10%;width:26%;height:44%;background:radial-gradient(circle at 50% 30%,rgba(255,248,193,.92),rgba(255,242,159,.3) 45%,rgba(255,255,255,0) 72%);filter:blur(3px);opacity:.9;animation:lightPulse 3.6s ease-in-out infinite}
.ep5-bubbles{position:absolute;left:48%;top:18%;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.74);box-shadow:18px 30px 0 1px rgba(255,255,255,.6),-14px 68px 0 0 rgba(255,255,255,.55),28px 98px 0 2px rgba(255,255,255,.62),-22px 126px 0 1px rgba(255,255,255,.48);animation:bubbleRise 5.8s linear infinite}
.ep5-fish{position:absolute;left:36%;top:52%;width:54px;height:22px;background:linear-gradient(90deg,rgba(61,115,150,.24),rgba(61,115,150,.62));border-radius:18px 50% 50% 18px;transform:rotate(9deg);box-shadow:0 0 0 1px rgba(255,255,255,.2) inset;animation:fishSwim 4.8s ease-in-out infinite}.ep5-fish::after{content:"";position:absolute;right:-14px;top:4px;border-left:16px solid rgba(61,115,150,.58);border-top:8px solid transparent;border-bottom:8px solid transparent}
.ep5-shadow{position:absolute;right:14%;top:12%;width:124px;height:124px;background:radial-gradient(circle at 50% 40%,rgba(51,73,90,.34),rgba(51,73,90,.06) 60%,rgba(51,73,90,0) 74%);transform:scaleX(1.35);filter:blur(10px);animation:shadowDrift 4.9s ease-in-out infinite}
.ep5-fruit{position:absolute;left:58%;top:18%;width:26px;height:30px;background:linear-gradient(180deg,rgba(220,181,112,.94),rgba(194,137,76,.96));border-radius:52% 52% 48% 48%;box-shadow:inset -4px -7px 0 rgba(123,72,22,.14);animation:fruitDrop 3.6s ease-in-out infinite}.ep5-fruit::before{content:"";position:absolute;left:11px;top:-9px;width:2px;height:10px;background:#8d6b41}
.ep5-handle{position:absolute;left:24%;top:48%;z-index:3}
.ep6-labor-scene{background:linear-gradient(180deg,rgba(249,246,237,.98),rgba(234,222,200,.94));}
.ep6-floor{position:absolute;left:5%;right:5%;bottom:19%;height:4px;background:linear-gradient(90deg,rgba(126,102,74,.34),rgba(126,102,74,.16));border-radius:999px}
.ep6-elephant-body,.ep6-elephant-head,.ep6-elephant-trunk,.ep6-elephant-leg,.ep6-elephant-eye{position:absolute;background:rgba(115,123,136,.92)}
.ep6-elephant-body{left:28%;top:36%;width:146px;height:88px;border-radius:42% 46% 32% 32%}.ep6-elephant-head{left:20%;top:42%;width:64px;height:54px;border-radius:46% 52% 48% 40%}.ep6-elephant-trunk{left:13%;top:60%;width:68px;height:14px;border-radius:999px;transform:rotate(12deg);transform-origin:right center}
.ep6-elephant-leg{top:69%;width:16px;height:54px;border-radius:0 0 10px 10px}.ep6-elephant-leg.l1{left:38%}.ep6-elephant-leg.l2{left:49%}.ep6-elephant-eye{left:28%;top:49%;width:6px;height:6px;border-radius:50%;background:#24303d}
.ep6-range{position:absolute;left:43%;top:46%;border:2px dashed rgba(86,120,155,.45);border-radius:50%;transform:translate(-50%,-50%);transition:opacity .3s ease,transform .3s ease}.ep6-range.range-wide{width:200px;height:168px;opacity:.86}.ep6-range.range-narrow{width:112px;height:96px;opacity:0}
.ep6-chain{position:absolute;left:48%;top:45%;width:110px;height:10px;border-top:4px dashed rgba(101,87,62,.76);opacity:0;transform-origin:left center}.ep6-weight{position:absolute;left:72%;top:44%;width:28px;height:42px;background:linear-gradient(180deg,rgba(144,112,63,.92),rgba(103,77,43,.96));border-radius:10px 10px 12px 12px;box-shadow:inset 0 4px 0 rgba(255,255,255,.16);opacity:0}
.ep6-handle{position:absolute;left:70%;top:46%;z-index:3}
.ep6-labor-scene.animating[data-load-step="chain"] .ep6-chain,.ep6-labor-scene.animating[data-load-step="weight"] .ep6-chain,.ep6-labor-scene.settled .ep6-chain{opacity:1}
.ep6-labor-scene.animating[data-load-step="weight"] .ep6-weight,.ep6-labor-scene.settled .ep6-weight{opacity:1}
.ep6-labor-scene.animating[data-load-step="chain"] .ep6-range.range-wide{transform:translate(-50%,-50%) scale(.82);opacity:.55}
.ep6-labor-scene.animating[data-load-step="weight"] .ep6-range.range-wide,.ep6-labor-scene.settled .ep6-range.range-wide{transform:translate(-50%,-50%) scale(.64);opacity:.18}
.ep6-labor-scene.animating[data-load-step="weight"] .ep6-range.range-narrow,.ep6-labor-scene.settled .ep6-range.range-narrow{opacity:.92}
.flow-events-simultaneous{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1rem}.flow-event-simultaneous{min-height:112px;background:rgba(255,255,255,.74);border:1px solid rgba(77,95,124,.14)}.flow-status-unified{margin-top:.8rem}
.experience-history{margin:1rem 0 1.1rem;padding:1rem 1rem 1.05rem;border-radius:22px;border:1px solid rgba(77,95,124,.14);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(247,249,253,.95));box-shadow:0 10px 24px rgba(46,68,94,.05)}.experience-history.compact{padding:.9rem}
.experience-history-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.experience-history-head small{color:var(--muted)}.experience-history-head strong{font-size:.98rem}
.experience-history-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:.55rem;align-items:stretch}
.experience-step{padding:.75rem .8rem;border-radius:16px;background:rgba(244,247,251,.88);border:1px solid rgba(77,95,124,.1);display:flex;gap:.7rem;align-items:flex-start}.experience-step span{width:1.8rem;height:1.8rem;border-radius:50%;background:rgba(116,140,171,.18);display:flex;align-items:center;justify-content:center;font-weight:700;color:#44546a;flex:0 0 auto}.experience-step.done span{background:rgba(79,124,212,.18);color:#2d4f84}.experience-step.active{border-color:rgba(79,124,212,.32);background:rgba(236,243,255,.95);box-shadow:0 0 0 2px rgba(79,124,212,.08) inset}.experience-step small{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.18rem}.experience-step strong{font-size:.9rem;line-height:1.45}.experience-arrow{display:flex;align-items:center;justify-content:center;color:#7f8fa6;font-weight:700}
@keyframes riverWave{0%,100%{transform:translateX(0)}50%{transform:translateX(2.4%)}}
@keyframes lightPulse{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:.96;transform:scale(1.05)}}
@keyframes bubbleRise{0%{transform:translateY(12px);opacity:.3}50%{opacity:.82}100%{transform:translateY(-16px);opacity:.35}}
@keyframes fishSwim{0%,100%{transform:translateX(0) rotate(9deg)}50%{transform:translateX(32px) rotate(-2deg)}}
@keyframes shadowDrift{0%,100%{transform:translateX(0) scaleX(1.35)}50%{transform:translateX(-18px) scaleX(1.18)}}
@keyframes fruitDrop{0%,100%{transform:translateY(0)}42%{transform:translateY(68px)}68%{transform:translateY(116px)}}



/* v16.4 refinements */
.scene-legend-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}
.scene-legend-chip{padding:.45rem .7rem;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(77,95,124,.14);font-size:.82rem;color:#41546b}
.v164-flow-t .flow-scene-board{position:relative;margin:1rem 0 1.1rem}
.v164-flow-t .flow-scene-stage{min-height:380px}
.flow-scene-overlay{position:absolute;inset:0;pointer-events:none}
.flow-scene-node{position:absolute;max-width:220px;padding:.7rem .8rem;border-radius:18px;border:1px solid rgba(77,95,124,.16);background:rgba(255,255,255,.84);box-shadow:0 10px 24px rgba(39,72,110,.08);text-align:left;display:flex;flex-direction:column;gap:.25rem;pointer-events:auto;backdrop-filter:blur(6px)}
.flow-scene-node small{font-size:.7rem;color:var(--muted)}
.flow-scene-node strong{font-size:.95rem;line-height:1.35}
.flow-scene-node span{font-size:.8rem;color:#49596d;line-height:1.45}
.flow-scene-node.active{border-color:rgba(79,124,212,.4);background:rgba(236,243,255,.96);box-shadow:0 0 0 2px rgba(79,124,212,.08) inset,0 12px 28px rgba(39,72,110,.10)}
.v164-flow-status p{margin:.35rem 0 0;color:#526174;font-size:.9rem}
.load-step-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.load-step-chip{padding:.75rem;border-radius:16px;border:1px solid rgba(77,95,124,.14);background:rgba(255,255,255,.82);text-align:left;display:flex;flex-direction:column;gap:.2rem}
.load-step-chip span{font-size:.72rem;color:var(--muted)}
.load-step-chip strong{font-size:.9rem;line-height:1.35}
.load-step-chip.active{background:rgba(236,243,255,.95);border-color:rgba(79,124,212,.36);box-shadow:0 0 0 2px rgba(79,124,212,.08) inset}
.load-step-chip.done{border-color:rgba(89,122,169,.22)}
.v164-load-stage{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:1rem;align-items:center}
.v164-load-actions{margin-top:1rem}
.v164-load-structure{margin-top:.9rem}
.bridge-screen .experience-history{margin-top:1rem}


/* v16.6 CLEAN — Part 1 fixed candidate */
.radial-node.n1{left:9%;top:12%}.radial-node.n2{right:9%;top:12%}.radial-node.n3{right:9%;bottom:12%}.radial-node.n4{left:9%;bottom:12%}
.judge-node.start-root{opacity:1;transform:scale(1);border-color:rgba(169,136,79,.52);box-shadow:0 0 0 2px rgba(169,136,79,.12),0 8px 18px rgba(0,0,0,.05)}.judge-node.start-root small{color:#8a6a35;font-weight:700}.judge-node.visited-root{opacity:1;transform:scale(1);background:rgba(244,249,255,.97);border-color:rgba(79,124,212,.32)}.judge-node.start-root.visited-root{background:rgba(252,247,235,.98)}
.ep2-orbit-status{display:grid;gap:.2rem;margin:.85rem auto 0;max-width:560px;padding:.75rem .9rem;border-radius:16px;background:rgba(255,255,255,.76);border:1px solid rgba(77,95,124,.14);text-align:center}.ep2-orbit-status small{color:var(--muted)}.ep2-orbit-status strong{font-size:1rem}.ep2-orbit-status span{font-size:.82rem;color:#556579}.v165-ep2-orbit .rotation-handle{touch-action:none}
.ep3-reversal-field{position:relative;min-height:310px;margin:1rem auto;max-width:760px;border-radius:26px;border:1px solid rgba(77,95,124,.14);background:linear-gradient(90deg,rgba(249,247,241,.98) 0 49.5%,rgba(236,242,249,.96) 50.5% 100%);overflow:hidden}.ep3-side{position:absolute;top:12%;bottom:12%;width:34%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center}.ep3-side.front-side{left:5%}.ep3-side.back-side{right:5%}.ep3-side small{color:var(--muted)}.ep3-side>strong{font-size:1.05rem}.ep3-side>span{font-size:.9rem;color:#556579}.ep3-boundary{position:absolute;left:50%;top:8%;bottom:8%;width:1px;background:linear-gradient(180deg,transparent,rgba(71,89,112,.35),transparent)}.ep3-boundary span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);padding:.25rem .5rem;background:rgba(255,255,255,.82);font-size:.7rem;color:var(--muted);white-space:nowrap}.ep3-i-handle{position:absolute;left:22%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(115,90,48,.38);background:linear-gradient(180deg,#f3ddb1,#caa360);font:700 1.4rem Georgia,serif;box-shadow:0 10px 24px rgba(89,64,28,.18);z-index:5}.ep3-i-handle.done{left:76%}.ep3-back-roles{display:grid;gap:.55rem;width:100%}.ep3-back-roles span{padding:.6rem .75rem;border-radius:14px;background:rgba(255,255,255,.9);border:1px solid rgba(77,95,124,.12);opacity:0;visibility:hidden;transform:translateX(12px);transition:opacity .35s ease,transform .35s ease}.ep3-reversal-field:not(.revealed) .back-side::after{content:"???  /  ???  /  ???";display:block;color:#7b8796;font-size:.82rem;letter-spacing:.08em;padding:.7rem}.ep3-reversal-field.revealed .ep3-back-roles span{opacity:1;visibility:visible;transform:translateX(0)}.ep3-reversal-field.revealed .back-side::after{display:none}
.part1-c-ep2 .c-field-node.supplied.touched{border-color:rgba(79,124,212,.42);background:rgba(236,243,255,.96);box-shadow:0 0 0 2px rgba(79,124,212,.08)}.part1-trace-pair,.bridge-provenance-equal{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.75rem 0}.part1-trace-source,.bridge-provenance-equal>div{padding:.72rem .8rem;border-radius:15px;border:1px solid rgba(77,95,124,.12);background:rgba(255,255,255,.82);display:grid;gap:.24rem}.part1-trace-source small,.bridge-provenance-equal small{font-size:.72rem;color:var(--muted)}.part1-trace-source strong,.bridge-provenance-equal strong{font-size:.9rem;line-height:1.45}.part1-trace-source.user,.bridge-provenance-equal>div:nth-child(2){background:rgba(248,245,236,.86)}
.ep3-c-stack{display:grid;gap:.6rem}.ep3-c-chip{display:grid;gap:.2rem;padding:.62rem .72rem;border-radius:14px;background:rgba(255,255,255,.88);border:1px solid rgba(77,95,124,.12)}.ep3-c-chip small{font-size:.7rem;color:var(--muted)}.ep3-c-chip.i{display:inline-flex;margin:.25rem .25rem 0 0;background:rgba(236,243,255,.9)}.ep3-c-chip.t{background:rgba(241,247,239,.9)}.ep3-c-chip.user{background:rgba(248,245,236,.9)}.ep3-backside-group,.ep3-t-group{padding:.7rem;border-radius:16px;border:1px dashed rgba(77,95,124,.14)}.ep3-backside-group>small,.ep3-t-group>small{display:block;color:var(--muted);margin-bottom:.4rem}
.carry-source-bookmark .bridge-provenance-equal,.door-result-strip .bridge-provenance-equal{grid-column:1/-1;margin:0}.bridge-provenance-equal strong{font-weight:700;font-size:.9rem}



/* v16.6 Part1 fixes */
.part1-t-instruction{margin:.9rem 0 1rem;padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(76,111,159,.2);background:rgba(239,245,253,.82);display:grid;gap:.3rem}
.part1-t-instruction strong{font-size:.98rem}.part1-t-instruction p{margin:0;color:#536277;line-height:1.55;font-size:.88rem}.part1-t-instruction span{font-size:.78rem;color:#64748a}
.part1-c-ep1 .c-field-node.supplied.touched{border-color:rgba(79,124,212,.48);background:rgba(235,243,255,.96);box-shadow:0 0 0 2px rgba(79,124,212,.10) inset}
.part1-c-ep1 .c-field-node.supplied.untouched{opacity:.58;filter:saturate(.65)}
.v165-ep2-orbit .judge-node.visited-root{box-shadow:0 0 0 2px rgba(79,124,212,.12) inset}
.v165-ep3-reversal .ep3-reversal-field{width:min(100%,760px);box-sizing:border-box;flex:0 0 auto}
.v165-ep3-reversal .actions{position:relative;z-index:12;min-height:46px}



/* v16.7 — Part1 Episode3 manual semantic reversal LOCK */
.v167-ep3-drag .ep3-reversal-field{width:min(100%,760px);min-height:330px;box-sizing:border-box;background:linear-gradient(90deg,rgba(249,247,241,.98) 0 49.4%,rgba(236,242,249,.96) 50.6% 100%);touch-action:none}
.v167-ep3-drag .ep3-drag-instruction{display:flex;flex-direction:column;gap:.25rem;margin:.85rem 0 1rem;padding:.75rem .9rem;border:1px solid rgba(77,95,124,.14);border-radius:16px;background:rgba(255,255,255,.76)}
.v167-ep3-drag .ep3-drag-instruction strong{font-size:.95rem}.v167-ep3-drag .ep3-drag-instruction span{font-size:.82rem;color:var(--muted)}
.v167-ep3-drag .ep3-drag-lane{position:absolute;left:10%;right:35%;top:28%;bottom:28%;border:1px dashed rgba(76,103,137,.16);border-radius:999px;pointer-events:none;z-index:1}
.v167-ep3-drag .ep3-drag-lane span{position:absolute;left:50%;bottom:-1.45rem;transform:translateX(-50%);font-size:.66rem;color:rgba(73,91,115,.55);white-space:nowrap}
.v167-ep3-drag .ep3-side.front-side{left:4%;width:31%;z-index:2}
.v167-ep3-drag .ep3-side.back-side{right:2%;width:25%;z-index:4;pointer-events:none}
.v167-ep3-drag .ep3-back-roles{gap:.5rem;width:100%}
.v167-ep3-drag .ep3-back-roles span{padding:.58rem .38rem;border-radius:12px;white-space:nowrap;font-size:.84rem}
.v167-ep3-drag .ep3-boundary{left:50%;z-index:3}
.v167-ep3-drag .ep3-i-handle{z-index:8;width:48px;height:48px;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;transition:box-shadow .16s ease,transform .16s ease}
.v167-ep3-drag .ep3-i-handle.dragging{cursor:grabbing;box-shadow:0 14px 30px rgba(89,64,28,.28);transform:translate(-50%,-50%) scale(1.06)}
.v167-ep3-drag .ep3-i-handle.crossed{box-shadow:0 10px 24px rgba(89,64,28,.18),0 0 0 4px rgba(202,163,96,.12)}
.v167-ep3-drag .ep3-reversal-field.revealed .ep3-back-roles span{opacity:1;visibility:visible;transform:translateX(0)}
.v167-ep3-drag .ep3-reversal-field:not(.revealed) .back-side::after{content:"??? / ??? / ???";font-size:.72rem;letter-spacing:.03em;white-space:normal}


/* ===== v16.8 CLEAN Part2 LOCK candidate ===== */
.preview-water-v168{position:relative;min-height:210px;overflow:hidden;background:linear-gradient(180deg,rgba(220,242,250,.92),rgba(139,197,224,.82));border:1px solid rgba(63,111,120,.15)}
.pv-water-light{position:absolute;left:13%;top:14%;width:28%;height:58%;background:radial-gradient(circle at 40% 20%,rgba(255,250,196,.88),rgba(255,247,176,.22) 48%,transparent 72%);filter:blur(2px)}
.pv-water-bubbles{position:absolute;left:43%;top:22%;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.78);box-shadow:17px 24px 0 rgba(255,255,255,.60),-13px 55px 0 rgba(255,255,255,.55),26px 81px 0 rgba(255,255,255,.65)}
.pv-water-shadow{position:absolute;right:12%;top:12%;width:110px;height:100px;background:radial-gradient(ellipse,rgba(42,61,77,.28),transparent 70%);filter:blur(8px)}
.pv-water-fish{position:absolute;left:30%;top:57%;width:58px;height:22px;background:rgba(55,111,147,.56);border-radius:50% 60% 60% 50%;transform:rotate(5deg)}.pv-water-fish:after{content:"";position:absolute;right:-14px;top:4px;border-left:16px solid rgba(55,111,147,.52);border-top:8px solid transparent;border-bottom:8px solid transparent}
.preview-water-v168 small,.preview-load-start-v168 small{position:absolute;left:1rem;right:1rem;bottom:.7rem;padding:.42rem .6rem;border-radius:10px;background:rgba(255,255,255,.70);color:var(--muted);font-size:.72rem}
.preview-load-start-v168{position:relative;min-height:210px;overflow:hidden;background:linear-gradient(180deg,rgba(249,246,237,.98),rgba(236,226,207,.90));border:1px solid rgba(142,103,72,.13)}.preview-load-start-v168 .pv-elephant{left:24%;top:37%;opacity:.9}.pv-work-log{position:absolute;left:57%;top:56%;width:90px;height:24px;border-radius:999px;background:rgba(136,94,51,.60);transform:rotate(-5deg)}.pv-work-line{position:absolute;left:39%;top:59%;width:130px;height:2px;background:repeating-linear-gradient(90deg,rgba(142,103,72,.36) 0 7px,transparent 7px 12px)}
.ep4-encounter-field[data-encounter-step="look"] .ep4-deer:before,.ep4-encounter-field[data-encounter-step="move"] .ep4-deer:before,.ep4-encounter-field[data-encounter-step="done"] .ep4-deer:before{right:auto;left:-8px}.ep4-encounter-field[data-encounter-step="look"] .ep4-deer:after,.ep4-encounter-field[data-encounter-step="move"] .ep4-deer:after,.ep4-encounter-field[data-encounter-step="done"] .ep4-deer:after{left:auto;right:8px}
.ep4-encounter-field[data-encounter-step="dance"]~.ep4-rotation-steps .step-1,.ep4-encounter-field[data-encounter-step="look"]~.ep4-rotation-steps .step-2,.ep4-encounter-field[data-encounter-step="move"]~.ep4-rotation-steps .step-3,.ep4-encounter-field[data-encounter-step="done"]~.ep4-rotation-steps .step-3{border-color:rgba(78,119,90,.48);background:rgba(225,237,227,.72);box-shadow:0 0 0 2px rgba(78,119,90,.08)}
.distance-scene.look .deer:before{right:auto;left:-8px}.distance-scene.flee .deer-group{animation:ep4FleeAway 1.15s cubic-bezier(.36,.62,.35,1) forwards}.distance-scene.flee .deer:before{right:-8px;left:auto}@keyframes ep4FleeAway{0%{transform:translateX(-50%);opacity:1}55%{transform:translateX(-10%) translateY(-5px);opacity:.78}100%{transform:translateX(170%) translateY(-12px);opacity:0}}
.ep5-light{animation:ep5LightDrift 8.8s ease-in-out infinite!important}@keyframes ep5LightDrift{0%,100%{opacity:.70;transform:translateX(-7px) scale(.98)}50%{opacity:.96;transform:translateX(18px) scale(1.04)}}
.ep5-fruit{animation:none!important;top:18%}.ep5-river-scene.animating .ep5-fruit{animation:ep5FruitSinkOnce 11.2s cubic-bezier(.24,.55,.25,1) 1 forwards!important}.ep5-river-scene.settled .ep5-fruit,.ep5-river-scene.review .ep5-fruit{transform:translateY(102px)}@keyframes ep5FruitSinkOnce{0%,18%{transform:translateY(0)}100%{transform:translateY(102px)}}
.ep5-kingfisher{position:absolute;right:8%;top:26%;width:38px;height:14px;border-radius:70% 30% 55% 45%;background:rgba(42,76,96,.44);opacity:0;transform:translateX(45px) rotate(-5deg)}.ep5-kingfisher:before{content:"";position:absolute;left:-15px;top:4px;border-right:16px solid rgba(42,76,96,.44);border-top:4px solid transparent;border-bottom:4px solid transparent}.ep5-kingfisher:after{content:"";position:absolute;right:-18px;top:5px;width:20px;height:3px;border-radius:999px;background:rgba(42,76,96,.40)}.ep5-river-scene.animating .ep5-kingfisher{animation:ep5BirdPass 12s ease-in-out 1 forwards}.ep5-river-scene.settled .ep5-kingfisher,.ep5-river-scene.review .ep5-kingfisher{opacity:.58;transform:translateX(-44px) rotate(-5deg)}@keyframes ep5BirdPass{0%,24%{opacity:0;transform:translateX(45px) rotate(-5deg)}38%{opacity:.58}62%{opacity:.48;transform:translateX(-26px) rotate(-3deg)}78%,100%{opacity:.18;transform:translateX(-44px) rotate(-5deg)}}
.ep5-river-scene.review .ep5-water-line,.ep5-river-scene.review .ep5-light,.ep5-river-scene.review .ep5-bubbles,.ep5-river-scene.review .ep5-fish,.ep5-river-scene.review .ep5-shadow,.ep5-river-scene.review .ep5-kingfisher,.ep5-river-scene.review .ep5-fruit{animation:none!important}.ep5-river-scene.review .ep5-light{transform:translateX(6px) scale(1);opacity:.82}.ep5-river-scene.review .ep5-bubbles{transform:none;opacity:.7}.ep5-river-scene.review .ep5-fish{transform:translateX(12px) rotate(4deg)}.ep5-river-scene.review .ep5-shadow{transform:translateX(-8px) scaleX(1.25);opacity:.7}
.v168-review-board{position:relative;margin:1rem 0}.v168-review-board .flow-scene-stage{min-height:300px}.flow-review-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:.75rem}.flow-review-choice{min-height:92px;padding:.7rem .55rem;border-radius:16px;border:1px solid rgba(63,111,120,.16);background:rgba(255,255,255,.78);display:flex;flex-direction:column;gap:.2rem;text-align:left;color:var(--ink)}.flow-review-choice small{color:var(--muted);font-size:.66rem}.flow-review-choice strong{font-size:.86rem;line-height:1.35}.flow-review-choice span{color:var(--muted);font-size:.68rem;margin-top:auto}.flow-review-choice.active{border-color:rgba(63,111,120,.48);background:rgba(226,241,242,.90);box-shadow:0 0 0 2px rgba(63,111,120,.08) inset}
.ep6-range.range-mid{width:154px;height:130px;opacity:0}.ep6-labor-scene[data-load-step="start"] .ep6-range.range-wide{opacity:.9;transform:translate(-50%,-50%) scale(1)}.ep6-labor-scene[data-load-step="start"] .ep6-chain,.ep6-labor-scene[data-load-step="start"] .ep6-weight{opacity:0}.ep6-labor-scene[data-load-step="chain"] .ep6-chain{opacity:1}.ep6-labor-scene[data-load-step="chain"] .ep6-range.range-wide{opacity:.18;transform:translate(-50%,-50%) scale(.82)}.ep6-labor-scene[data-load-step="chain"] .ep6-range.range-mid{opacity:.88}.ep6-labor-scene[data-load-step="chain"] .ep6-range.range-narrow{opacity:0}.ep6-labor-scene[data-load-step="weight"] .ep6-chain,.ep6-labor-scene[data-load-step="done"] .ep6-chain{opacity:1}.ep6-labor-scene[data-load-step="weight"] .ep6-weight,.ep6-labor-scene[data-load-step="done"] .ep6-weight{opacity:1}.ep6-labor-scene[data-load-step="weight"] .ep6-range.range-wide,.ep6-labor-scene[data-load-step="done"] .ep6-range.range-wide{opacity:.10;transform:translate(-50%,-50%) scale(.64)}.ep6-labor-scene[data-load-step="weight"] .ep6-range.range-mid,.ep6-labor-scene[data-load-step="done"] .ep6-range.range-mid{opacity:.18}.ep6-labor-scene[data-load-step="weight"] .ep6-range.range-narrow,.ep6-labor-scene[data-load-step="done"] .ep6-range.range-narrow{opacity:.92}
.ep6-labor-scene[data-load-step="start"]~.ep6-i-steps .step-1,.ep6-labor-scene[data-load-step="chain"]~.ep6-i-steps .step-2,.ep6-labor-scene[data-load-step="weight"]~.ep6-i-steps .step-3,.ep6-labor-scene[data-load-step="done"]~.ep6-i-steps .step-3{border-color:rgba(142,103,72,.44);background:rgba(246,237,222,.90);box-shadow:0 0 0 2px rgba(142,103,72,.07)}.ep6-symbol-legend b{font-weight:700;color:var(--ink)}



/* v17 CLEAN refinements */
.saved-meta-line{margin:.42rem 0 0;display:grid;gap:.12rem;padding:.45rem .55rem;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid rgba(77,95,124,.12)}
.saved-meta-line span{font-size:.72rem;color:var(--muted);font-weight:700}
.saved-meta-line b{font-size:.9rem;line-height:1.45;color:var(--ink)}
.door-carry-summary p b{font-weight:700;color:var(--ink)}
.gaze-line.active{position:relative}.gaze-line.active:after{content:"◀";position:absolute;left:-8px;top:50%;transform:translateY(-50%);color:rgba(78,119,90,.78);font-size:14px;font-weight:700}
.ep5-river-scene .ep5-light,.ep5-river-scene .ep5-bubbles,.ep5-river-scene .ep5-fish,.ep5-river-scene .ep5-shadow,.ep5-river-scene .ep5-kingfisher,.ep5-river-scene .ep5-fruit{animation:none!important}
.ep5-river-scene.animating .ep5-light{animation:ep5LightDrift 11.8s ease-in-out 1 forwards!important}
.ep5-river-scene.animating .ep5-bubbles{animation:bubbleRise 5.8s linear infinite!important}
.ep5-river-scene.animating .ep5-fish{animation:fishSwim 8.8s ease-in-out infinite!important}
.ep5-river-scene.animating .ep5-shadow{animation:shadowDrift 9.6s ease-in-out infinite!important}
.ep5-river-scene.animating .ep5-fruit{animation:ep5FruitSinkOnce 11.2s cubic-bezier(.24,.55,.25,1) 1 forwards!important}
.ep5-river-scene.animating .ep5-kingfisher{animation:ep5BirdPass 12s ease-in-out 1 forwards!important}
.ep5-river-scene.settled .ep5-light{transform:translateX(10px) scale(1.02);opacity:.88}
.ep5-river-scene.settled .ep5-bubbles{transform:translateY(-10px);opacity:.7}
.ep5-river-scene.settled .ep5-fish{transform:translateX(26px) rotate(2deg)}
.ep5-river-scene.settled .ep5-shadow{transform:translateX(-10px) scaleX(1.22);opacity:.72}
.ep5-river-scene.settled .ep5-fruit{transform:translateY(102px)}
.ep5-river-scene.settled .ep5-kingfisher{opacity:.45;transform:translateX(-44px) rotate(-5deg)}
.load-visual-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.7rem 0 .9rem}
.load-visual-key>div{display:grid;grid-template-columns:26px 1fr;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;padding:.58rem .65rem;border-radius:14px;border:1px solid rgba(77,95,124,.12);background:rgba(255,255,255,.78)}
.load-visual-key strong{font-size:.82rem;line-height:1.2}
.load-visual-key span{grid-column:2;font-size:.72rem;color:var(--muted);line-height:1.4}
.key-swatch{display:inline-block;width:18px;height:18px;border-radius:999px;align-self:start;margin-top:.12rem}
.key-swatch.work{background:linear-gradient(135deg,rgba(142,103,72,.72),rgba(142,103,72,.26))}
.key-swatch.food{background:linear-gradient(135deg,rgba(235,210,145,.88),rgba(196,159,88,.48))}
.key-swatch.rest{background:linear-gradient(135deg,rgba(123,137,154,.82),rgba(123,137,154,.28))}
.key-swatch.range{background:transparent;border:2px dashed rgba(72,136,94,.72);border-radius:8px}



/* v17 CLEAN: part2 final lock refinements */
.v17-load-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:1rem;align-items:start;margin:1rem 0}
.load-scene-card{padding:.9rem;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,247,251,.94));border:1px solid rgba(77,95,124,.12);box-shadow:0 10px 24px rgba(46,68,94,.06)}
.load-scene-caption{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-bottom:.7rem}.load-scene-caption span{font-size:.74rem;color:var(--muted)}.load-scene-caption strong{font-size:.98rem}
.load-scene-stage{position:relative;height:210px;border-radius:18px;background:linear-gradient(180deg,rgba(249,244,236,.88),rgba(236,232,224,.84));border:1px solid rgba(142,103,72,.14);overflow:hidden}
.load-scene-floor{position:absolute;left:0;right:0;bottom:24px;height:2px;background:linear-gradient(90deg,rgba(142,103,72,.16),rgba(142,103,72,.34),rgba(142,103,72,.16))}
.load-exit-gate{position:absolute;right:14%;bottom:25px;height:92px;border:3px solid rgba(72,136,94,.78);border-radius:12px;background:rgba(130,201,149,.06);transition:all .35s ease}.load-exit-gate.stage-0{width:60px}.load-exit-gate.stage-1{width:42px}.load-exit-gate.stage-2{width:28px}.load-exit-gate.stage-3{width:16px;opacity:.82}
.load-elephant-wrap{position:absolute;left:14%;bottom:34px;width:150px;height:104px;transform-origin:left bottom;transition:transform .35s ease,filter .35s ease,opacity .35s ease}.load-elephant-wrap.stage-0{transform:scale(1)}.load-elephant-wrap.stage-1{transform:scale(.92)}.load-elephant-wrap.stage-2{transform:scale(.84)}.load-elephant-wrap.stage-3{transform:scale(.76)}
.load-elephant-body,.load-elephant-head,.load-elephant-trunk,.load-elephant-eye{position:absolute;display:block}.load-elephant-body{left:18px;bottom:10px;width:112px;height:60px;border-radius:46% 46% 30% 30%;background:rgba(111,120,132,.84)}.load-elephant-head{left:0;bottom:26px;width:52px;height:44px;border-radius:46% 52% 48% 42%;background:rgba(111,120,132,.86)}.load-elephant-trunk{left:-8px;bottom:8px;width:58px;height:12px;border-radius:999px;background:rgba(111,120,132,.86);transform:rotate(14deg);transform-origin:right center}.load-elephant-eye{left:19px;bottom:52px;width:6px;height:6px;border-radius:999px;background:#263140}
.load-chain-link{position:absolute;left:42%;bottom:112px;width:96px;height:6px;border-top:4px dashed rgba(144,108,77,.72)}
.load-weight-block{position:absolute;left:60%;bottom:68px;width:34px;height:42px;border-radius:8px;background:linear-gradient(180deg,rgba(144,108,77,.86),rgba(119,86,60,.9));box-shadow:inset 0 2px 0 rgba(255,255,255,.18)}
.load-weight-block:before{content:"";position:absolute;left:10px;top:-14px;width:14px;height:14px;border:3px solid rgba(144,108,77,.86);border-bottom:none;border-radius:10px 10px 0 0}
.load-work-boxes{position:absolute;left:52%;bottom:28px;height:66px;width:92px}.load-work-boxes:before,.load-work-boxes:after{content:"";position:absolute;bottom:0;width:22px;border-radius:6px;background:rgba(201,164,109,.86);box-shadow:26px 0 0 rgba(201,164,109,.74),52px 0 0 rgba(201,164,109,.62)}.load-work-boxes.level-0:before{height:18px}.load-work-boxes.level-1:before{height:28px}.load-work-boxes.level-2:before{height:40px}.load-work-boxes.level-3:before{height:52px}
.load-scene-legend{display:flex;flex-wrap:wrap;gap:.55rem .8rem;margin-top:.75rem;font-size:.8rem;color:#48596f}.legend-mark{display:inline-block;width:18px;height:14px;vertical-align:middle;margin-right:.22rem}.legend-mark.chain{border-top:3px dashed rgba(144,108,77,.72)}.legend-mark.elephant{background:rgba(111,120,132,.84);border-radius:10px}.legend-mark.gate{border:2px solid rgba(72,136,94,.78);border-radius:4px}
.v17-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.9rem 0}.load-status-card{padding:.8rem .85rem;border-radius:16px;border:1px solid rgba(77,95,124,.12);background:rgba(255,255,255,.84);box-shadow:0 6px 18px rgba(46,68,94,.04)}.load-status-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.3rem}.status-dot{display:inline-block;width:12px;height:12px;border-radius:999px}.status-dot.work{background:#9d6e46}.status-dot.food{background:#e0b048}.status-dot.rest{background:#6f86a5}.status-dot.exit{background:#55a06c}.load-status-card small{color:var(--muted);font-weight:700}.load-status-card strong{display:block;font-size:.95rem;line-height:1.4;margin-bottom:.45rem}.condition-track{height:9px;border-radius:999px;background:rgba(77,95,124,.10);overflow:hidden}.condition-track i{display:block;height:100%;border-radius:inherit}.condition-track.work i{background:#9d6e46}.condition-track.food i{background:#e0b048}.condition-track.rest i{background:#6f86a5}.condition-track.exit i{background:#55a06c}



/* v17.1 CLEAN: episode 6 T adjustments */
.v171-load-layout{display:grid;grid-template-columns:minmax(320px,380px) minmax(320px,1fr);gap:1rem;align-items:start;margin:1rem 0;overflow-x:auto}
.v171-load-left,.v171-load-right{min-width:0}
.v171-load-layout .load-scene-stage{height:218px}
.v171-load-layout .load-exit-gate{position:absolute;right:10%;bottom:25px;height:104px;border:3px solid #5aa06b;border-radius:12px;background:rgba(120,201,147,.07);transition:all .35s ease}
.v171-load-layout .load-exit-gate.large{width:64px}
.v171-load-layout .load-exit-gate.medium{width:44px}
.v171-load-layout .load-exit-gate.small{width:28px}
.v171-load-layout .load-exit-gate.thin{width:14px;opacity:.9}
.v171-load-layout .load-elephant-wrap{position:absolute;left:10%;bottom:34px;width:150px;height:104px;transform-origin:left bottom;transition:transform .35s ease,opacity .35s ease}
.v171-load-layout .load-elephant-wrap.large{transform:scale(1)}
.v171-load-layout .load-elephant-wrap.medium{transform:scale(.82)}
.v171-load-layout .load-elephant-wrap.small{transform:scale(.68)}
.v171-load-layout .load-elephant-body,.v171-load-layout .load-elephant-head,.v171-load-layout .load-elephant-trunk,.v171-load-layout .load-elephant-eye{position:absolute;display:block;background:#727b86}
.v171-load-layout .load-elephant-body{left:18px;bottom:10px;width:112px;height:60px;border-radius:46% 46% 30% 30%}
.v171-load-layout .load-elephant-head{left:0;bottom:26px;width:52px;height:44px;border-radius:46% 52% 48% 42%}
.v171-load-layout .load-elephant-trunk{left:-8px;bottom:8px;width:58px;height:12px;border-radius:999px;transform:rotate(14deg);transform-origin:right center}
.v171-load-layout .load-elephant-eye{left:19px;bottom:52px;width:6px;height:6px;border-radius:999px;background:#263140}
.v171-load-layout .load-food-strip{position:absolute;left:55%;bottom:40px;display:flex;gap:8px;align-items:flex-end}
.v171-load-layout .food-cube{width:20px;height:20px;border-radius:5px;background:#c8a158;box-shadow:inset 0 2px 0 rgba(255,255,255,.25);transition:opacity .25s ease,transform .25s ease}
.v171-load-layout .food-cube.hide{opacity:.16;transform:scale(.86)}
.v171-load-layout .load-chain-link{position:absolute;left:42%;bottom:118px;width:96px;height:6px;border-top:4px dashed #9d6e46}
.v171-load-layout .load-weight-block{position:absolute;left:60%;bottom:72px;width:34px;height:42px;border-radius:8px;background:linear-gradient(180deg,#9d6e46,#7f5737);box-shadow:inset 0 2px 0 rgba(255,255,255,.18)}
.v171-load-layout .load-weight-block:before{content:"";position:absolute;left:10px;top:-14px;width:14px;height:14px;border:3px solid #9d6e46;border-bottom:none;border-radius:10px 10px 0 0}
.v171-load-legend .legend-mark.food{background:#c8a158;border-radius:4px}
.v171-load-right .load-stage-head{margin-bottom:.4rem}
.v171-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}
.v171-status-grid .load-status-card.work .condition-track i{background:#9d6e46}
.v171-status-grid .load-status-card.food .condition-track i{background:#c8a158}
.v171-status-grid .load-status-card.rest .condition-track i{background:#727b86}
.v171-status-grid .load-status-card.exit .condition-track i{background:#5aa06b}
.v171-status-grid .status-dot.work{background:#9d6e46}.v171-status-grid .status-dot.food{background:#c8a158}.v171-status-grid .status-dot.rest{background:#727b86}.v171-status-grid .status-dot.exit{background:#5aa06b}


/* ===== v17.2 CLEAN: Part3 Episode 7–8 PRE-LOCK refinements ===== */
.ep7-stop-v172 .ep7-stop-field{position:relative;min-height:350px;margin:1rem 0;border-radius:22px;border:1px solid rgba(93,76,114,.14);background:radial-gradient(circle at 82% 50%,rgba(255,255,255,.92),rgba(245,241,248,.96) 46%,rgba(237,231,243,.92));overflow:hidden}
.ep7-stop-v172 .ep7-shared-world{position:absolute;left:3%;top:50%;transform:translateY(-50%);width:18%;min-width:88px;padding:.72rem .65rem;border-radius:16px;background:rgba(255,255,255,.9);border:1px solid rgba(93,76,114,.14);z-index:4;text-align:center;display:grid;gap:.2rem}
.ep7-stop-v172 .ep7-shared-world small{font-size:.66rem;color:var(--muted)}.ep7-stop-v172 .ep7-shared-world strong{font-size:.86rem}.ep7-stop-v172 .ep7-shared-world span{font-size:.64rem;color:var(--muted)}
.ep7-stop-v172 .ep7-merge-space{position:absolute;left:19%;right:2%;top:7%;bottom:7%}
.ep7-stop-v172 .ep7-merge-space:before{content:"";position:absolute;left:3%;right:15%;top:50%;height:1px;background:linear-gradient(90deg,rgba(93,76,114,.12),rgba(93,76,114,.3));z-index:0}
.ep7-stop-v172 .ep7-merge-token{position:absolute;transform:translate(-50%,-50%);max-width:142px;padding:.42rem .55rem;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.16);font-size:.67rem;line-height:1.25;text-align:center;white-space:normal;z-index:2;transition:left .08s linear,top .08s linear;box-shadow:0 5px 14px rgba(53,43,67,.05)}
.ep7-stop-v172 .ep7-merge-token.t1{border-left:3px solid rgba(80,110,150,.45)}.ep7-stop-v172 .ep7-merge-token.t2{border-left:3px solid rgba(104,92,145,.45)}.ep7-stop-v172 .ep7-merge-token.t3{border-left:3px solid rgba(151,113,83,.45)}.ep7-stop-v172 .ep7-merge-token.t4{border-left:3px solid rgba(93,125,105,.45)}
.ep7-stop-v172 .ep7-stop-i{position:absolute;transform:translate(-50%,-50%);z-index:5;pointer-events:none;transition:left .08s linear,box-shadow .2s ease}
.ep7-stop-v172 .ep7-one-answer-ring{position:absolute;right:1.5%;top:50%;transform:translateY(-50%);width:17%;min-width:86px;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(93,76,114,.28);display:grid;place-items:center;align-content:center;text-align:center;gap:.14rem;background:rgba(255,255,255,.34);z-index:1}
.ep7-stop-v172 .ep7-one-answer-ring small{font-size:.65rem;color:var(--muted)}.ep7-stop-v172 .ep7-one-answer-ring strong{font-size:.68rem;color:rgba(73,56,91,.76)}
.ep7-stop-v172 .ep7-stop-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:.8rem;align-items:center;padding:.85rem 1rem;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid rgba(93,76,114,.1)}
.ep7-stop-v172 .ep7-stop-control span{display:grid;gap:.16rem}.ep7-stop-v172 .ep7-stop-control small{color:var(--muted);line-height:1.4}.ep7-stop-v172 #ep7-merge-slider{width:100%;accent-color:#6d587e}

.rotate-memorial-v172 .memorial-return-instruction{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:.75rem 0;padding:.72rem .85rem;border-radius:16px;background:rgba(255,255,255,.7);border:1px solid rgba(93,76,114,.1)}
.rotate-memorial-v172 .memorial-return-instruction strong{font-size:.85rem}.rotate-memorial-v172 .memorial-return-instruction span{font-size:.72rem;color:var(--muted);text-align:right}
.rotate-memorial-v172 .memorial-return-room{position:relative;min-height:330px;margin:1rem 0;border-radius:22px;background:linear-gradient(180deg,rgba(249,248,249,.98),rgba(240,237,241,.82));border:1px solid rgba(93,76,114,.12);display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem;overflow:hidden}
.rotate-memorial-v172 .return-zone{min-width:0;border-radius:17px;background:rgba(255,255,255,.68);border:1px solid rgba(93,76,114,.1);display:grid;place-items:center;align-content:center;gap:.4rem;position:relative;z-index:1;text-align:center;padding:.6rem}
.rotate-memorial-v172 .return-zone small{font-size:.66rem;color:var(--muted)}.rotate-memorial-v172 .return-zone strong{font-size:.82rem}
.rotate-memorial-v172 .return-zone.dead-side{margin-right:.35rem}.rotate-memorial-v172 .return-zone.living-side{margin-left:.35rem;background:rgba(252,249,242,.8)}
.rotate-memorial-v172 .mini-frame{width:68px;height:90px;border:2px solid rgba(93,76,114,.28);border-radius:7px;background:rgba(255,255,255,.8);position:relative}.rotate-memorial-v172 .mini-frame .portrait-head{position:absolute;left:50%;top:22%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:rgba(93,76,114,.18)}.rotate-memorial-v172 .mini-frame .portrait-body{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);width:36px;height:32px;border-radius:18px 18px 7px 7px;background:rgba(93,76,114,.14)}
.rotate-memorial-v172 .mini-writing{width:62px;height:74px;border-radius:7px;background:#fff;border:1px solid rgba(142,103,72,.2);box-shadow:0 6px 14px rgba(53,43,67,.05);position:relative}.rotate-memorial-v172 .mini-writing i{position:absolute;left:12px;right:12px;top:23px;height:2px;background:rgba(142,103,72,.18);box-shadow:0 12px 0 rgba(142,103,72,.14),0 24px 0 rgba(142,103,72,.12)}
.rotate-memorial-v172 .memorial-return-boundary{position:absolute;left:50%;top:8%;bottom:8%;width:2px;background:linear-gradient(180deg,transparent,rgba(93,76,114,.25) 15%,rgba(93,76,114,.25) 85%,transparent);transform:translateX(-50%);z-index:3}.rotate-memorial-v172 .memorial-return-boundary span{position:absolute;left:50%;top:5%;transform:translate(-50%,-50%);padding:.25rem .45rem;border-radius:999px;background:rgba(249,248,249,.95);font-size:.62rem;color:var(--muted);white-space:nowrap}
.rotate-memorial-v172 .memorial-return-lane{position:absolute;left:34%;right:22%;top:50%;height:2px;background:linear-gradient(90deg,rgba(93,76,114,.12),rgba(142,103,72,.3));z-index:4;pointer-events:none}
.rotate-memorial-v172 .ep8-return-i{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:8;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;transition:box-shadow .16s ease,transform .16s ease}
.rotate-memorial-v172 .ep8-return-i.dragging{cursor:grabbing;box-shadow:0 14px 30px rgba(89,64,28,.24);transform:translate(-50%,-50%) scale(1.06)}
.rotate-memorial-v172 .memorial-return-room.crossed .living-side{border-color:rgba(142,103,72,.3);box-shadow:inset 0 0 0 2px rgba(142,103,72,.06)}



/* ===== v17.3 CLEAN: Episode 7 / 8 responsive fixes ===== */
.route-grid-shell{overflow-x:auto;padding-bottom:.15rem;-webkit-overflow-scrolling:touch}
.route-grid-shell .route-grid-fixed{min-width:560px}
.part3-a-ep7-v173 .preview-ep7-route-map{margin-top:.9rem;padding:1rem;border-radius:18px;background:linear-gradient(180deg,rgba(248,246,250,.98),rgba(240,235,245,.9));border:1px solid rgba(93,76,114,.12)}
.part3-a-ep7-v173 .mini-route-head{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-bottom:.7rem}.part3-a-ep7-v173 .mini-route-head span{font-weight:700}.part3-a-ep7-v173 .mini-route-head small{font-size:.72rem;color:var(--muted)}
.part3-a-ep7-v173 .mini-route-grid{display:grid;gap:.5rem}.part3-a-ep7-v173 .mini-route-row{display:grid;grid-template-columns:1.1fr .55fr 1.45fr;gap:.5rem;align-items:center}.part3-a-ep7-v173 .mini-route-row b,.part3-a-ep7-v173 .mini-route-row span{display:block;padding:.58rem .68rem;border-radius:.82rem;background:rgba(255,255,255,.9);border:1px solid rgba(93,76,114,.1);font-size:.72rem}.part3-a-ep7-v173 .mini-route-row i{position:relative;display:block;height:2px;background:rgba(93,76,114,.22)}.part3-a-ep7-v173 .mini-route-row i:after{content:"→";position:absolute;right:-2px;top:50%;transform:translateY(-57%);font-style:normal;font-size:.74rem;color:rgba(73,56,91,.82)}
.part3-a-ep7-v173 .preview-ep7-route-map>small{display:block;margin-top:.65rem;color:var(--muted);line-height:1.45}
.parallel-t-v173 .route-map-field,.part3-c-ep7-v173 .route-summary-board{min-width:560px}
.part3-c-ep7-v173 .route-summary-board{margin:1rem 0;padding:1rem;border-radius:1rem;background:linear-gradient(180deg,rgba(247,245,248,.98),rgba(239,234,245,.84));border:1px solid rgba(93,76,114,.14)}
.part3-c-ep7-v173 .route-summary-head{display:grid;grid-template-columns:1.15fr .7fr 1.35fr;gap:.6rem;margin-bottom:.7rem}.part3-c-ep7-v173 .route-summary-head span{display:block;padding:.52rem .65rem;border-radius:.85rem;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.1);font-size:.68rem;color:rgba(73,56,91,.82);font-weight:700}
.part3-c-ep7-v173 .route-summary-row{display:grid;grid-template-columns:1.15fr .7fr 1.35fr;gap:.6rem;align-items:center;margin-top:.45rem}.part3-c-ep7-v173 .sum-train,.part3-c-ep7-v173 .sum-dest{padding:.62rem .72rem;border-radius:.85rem;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.1)}
.part3-c-ep7-v173 .sum-train strong,.part3-c-ep7-v173 .sum-dest strong{display:block;font-size:.78rem}.part3-c-ep7-v173 .sum-train em{display:block;margin-top:.15rem;font-style:normal;font-size:.68rem;color:var(--muted)}
.part3-c-ep7-v173 .sum-line{position:relative;height:2px;background:rgba(93,76,114,.22)}.part3-c-ep7-v173 .sum-line::after{content:"→";position:absolute;right:-2px;top:50%;transform:translateY(-58%);color:rgba(73,56,91,.82);font-size:.74rem}
.ep7-stop-v173 .ep7-stop-field{position:relative;min-height:360px;margin:1rem 0;border-radius:22px;border:1px solid rgba(93,76,114,.14);background:radial-gradient(circle at 82% 50%,rgba(255,255,255,.95),rgba(245,241,248,.97) 48%,rgba(237,231,243,.94));overflow:hidden}
.ep7-stop-v173 .ep7-shared-world{position:absolute;left:3%;top:50%;transform:translateY(-50%);width:18%;min-width:94px;padding:.76rem .65rem;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.14);z-index:4;text-align:center;display:grid;gap:.18rem}
.ep7-stop-v173 .ep7-shared-world small{font-size:.66rem;color:var(--muted)}.ep7-stop-v173 .ep7-shared-world strong{font-size:.86rem}.ep7-stop-v173 .ep7-shared-world span{font-size:.64rem;color:var(--muted)}
.ep7-stop-v173 .ep7-merge-space{position:absolute;left:19%;right:2%;top:7%;bottom:10%}
.ep7-stop-v173 .ep7-merge-space:before{content:"";position:absolute;left:4%;right:15%;top:50%;height:2px;background:linear-gradient(90deg,rgba(93,76,114,.14),rgba(93,76,114,.34));z-index:0}
.ep7-stop-v173 .ep7-merge-token{position:absolute;transform:translate(-50%,-50%);max-width:148px;padding:.42rem .56rem;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(93,76,114,.16);font-size:.67rem;line-height:1.25;text-align:center;white-space:normal;z-index:2;transition:left .08s linear,top .08s linear,background .2s ease,box-shadow .2s ease;box-shadow:0 5px 14px rgba(53,43,67,.05)}
.ep7-stop-v173 .ep7-merge-token.t1{border-left:3px solid rgba(80,110,150,.45)}.ep7-stop-v173 .ep7-merge-token.t2{border-left:3px solid rgba(104,92,145,.45)}.ep7-stop-v173 .ep7-merge-token.t3{border-left:3px solid rgba(151,113,83,.45)}.ep7-stop-v173 .ep7-merge-token.t4{border-left:3px solid rgba(93,125,105,.45)}
.ep7-stop-v173 .ep7-stop-i{position:absolute;transform:translate(-50%,-50%);z-index:5;pointer-events:none;transition:left .08s linear,box-shadow .2s ease,background .2s ease}
.ep7-stop-v173 .ep7-one-answer-ring{position:absolute;right:1.5%;top:50%;transform:translateY(-50%);width:17%;min-width:92px;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(93,76,114,.28);display:grid;place-items:center;align-content:center;text-align:center;gap:.12rem;background:rgba(255,255,255,.34);z-index:1;transition:border-color .2s ease,background .2s ease}
.ep7-stop-v173 .ep7-one-answer-ring small{font-size:.65rem;color:var(--muted)}.ep7-stop-v173 .ep7-one-answer-ring strong{font-size:.68rem;color:rgba(73,56,91,.76)}
.ep7-stop-v173 .ep7-step-marker{position:absolute;top:60%;transform:translateX(-50%);font-size:.62rem;color:var(--muted);padding:.18rem .42rem;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.08);z-index:3}.ep7-stop-v173 .ep7-step-marker.m1{left:40%}.ep7-stop-v173 .ep7-step-marker.m2{left:74%}
.ep7-stop-v173 .ep7-stop-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:.8rem;align-items:center;padding:.85rem 1rem;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid rgba(93,76,114,.1)}
.ep7-stop-v173 .ep7-stop-control span{display:grid;gap:.16rem}.ep7-stop-v173 .ep7-stop-control small{color:var(--muted);line-height:1.4}.ep7-stop-v173 #ep7-merge-slider{width:100%;accent-color:#6d587e}
.ep7-stop-v173 .ep7-step-scale{display:flex;justify-content:space-between;gap:.6rem;margin-top:.5rem;padding:0 .2rem}.ep7-stop-v173 .ep7-step-scale span{font-size:.68rem;color:var(--muted)}
.ep7-stop-v173 .ep7-stop-field.ready{box-shadow:inset 0 0 0 2px rgba(109,88,126,.07)}.ep7-stop-v173 .ep7-stop-field.ready .ep7-one-answer-ring{border-color:rgba(109,88,126,.48);background:rgba(255,255,255,.46)}.ep7-stop-v173 .ep7-stop-field.ready .ep7-stop-i{background:linear-gradient(180deg,#7b658d,#5d4c72)}
.ep7-stop-v173 .ep7-stop-field.stopped .ep7-one-answer-ring{border-style:solid;background:rgba(255,255,255,.62)}.ep7-stop-v173 .ep7-stop-field.stopped .ep7-stop-i{box-shadow:0 12px 26px rgba(53,43,67,.18)}
.part3-a-ep8-v173 .memorial-vertical-board,.memorial-t-v173 .memorial-vertical-board,.part3-c-ep8-v173 .memorial-vertical-board{display:grid;grid-template-rows:minmax(130px,1fr) auto minmax(120px,1fr);gap:.9rem;margin:1rem 0;padding:1rem;border-radius:20px;background:linear-gradient(180deg,rgba(249,248,249,.98),rgba(240,237,241,.84));border:1px solid rgba(93,76,114,.12)}
.part3-a-ep8-v173 .memorial-vertical-top,.memorial-t-v173 .memorial-vertical-top,.part3-c-ep8-v173 .memorial-vertical-top,.part3-a-ep8-v173 .memorial-vertical-bottom,.memorial-t-v173 .memorial-vertical-bottom,.part3-c-ep8-v173 .memorial-vertical-bottom{display:grid;place-items:center}
.part3-a-ep8-v173 .memorial-vertical-divider,.memorial-t-v173 .memorial-vertical-divider,.part3-c-ep8-v173 .memorial-vertical-divider{display:grid;place-items:center;gap:.5rem}.part3-a-ep8-v173 .memorial-vertical-divider span,.memorial-t-v173 .memorial-vertical-divider>span,.part3-c-ep8-v173 .memorial-vertical-divider>span{display:inline-flex;align-items:center;justify-content:center;padding:.26rem .6rem;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(93,76,114,.1);font-size:.68rem;color:var(--muted)}
.part3-a-ep8-v173 .memorial-frame,.memorial-t-v173 .letter-memorial-frame,.part3-c-ep8-v173 .c-memorial,.part3-a-ep8-v173 .memorial-paper,.memorial-t-v173 .letter-front-place,.part3-c-ep8-v173 .c-letter-place{width:min(100%,360px);padding:1rem;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid rgba(93,76,114,.1);display:grid;justify-items:center;align-content:center;gap:.35rem;text-align:center}
.part3-a-ep8-v173 .memorial-frame strong,.memorial-t-v173 .letter-memorial-frame strong,.part3-c-ep8-v173 .c-memorial strong,.part3-a-ep8-v173 .memorial-paper strong,.memorial-t-v173 .letter-front-place strong,.part3-c-ep8-v173 .c-letter-place strong{font-size:.9rem}
.part3-a-ep8-v173 .memorial-frame small,.memorial-t-v173 .letter-memorial-frame small,.part3-c-ep8-v173 .c-memorial small,.part3-a-ep8-v173 .memorial-paper small,.memorial-t-v173 .letter-front-place small,.part3-c-ep8-v173 .c-letter-place small{font-size:.72rem;color:var(--muted);line-height:1.4}
.part3-a-ep8-v173 .memorial-paper i,.memorial-t-v173 .letter-front-place i,.part3-c-ep8-v173 .c-letter-place span{display:block;width:72px;height:86px;border-radius:8px;background:#fff;border:1px solid rgba(142,103,72,.2);box-shadow:0 6px 14px rgba(53,43,67,.05);position:relative}
.part3-a-ep8-v173 .memorial-paper i:before,.memorial-t-v173 .letter-front-place i:before{content:"";position:absolute;left:12px;right:12px;top:24px;height:2px;background:rgba(142,103,72,.18);box-shadow:0 12px 0 rgba(142,103,72,.14),0 24px 0 rgba(142,103,72,.12)}
.memorial-t-v173 .absence-no-reply,.part3-c-ep8-v173 .absence-no-reply{display:grid;justify-items:center;gap:.16rem;text-align:center}.memorial-t-v173 .absence-no-reply span,.part3-c-ep8-v173 .absence-no-reply span{font-size:.68rem;color:var(--muted)}.memorial-t-v173 .absence-no-reply strong,.part3-c-ep8-v173 .absence-no-reply strong{font-size:1.1rem}.memorial-t-v173 .absence-no-reply small,.part3-c-ep8-v173 .absence-no-reply small{font-size:.72rem;color:var(--muted);line-height:1.45;max-width:280px}
.memorial-t-v173 .with-timer .quiet-time-line{width:min(240px,100%);height:8px;border-radius:999px;background:rgba(93,76,114,.08);overflow:hidden}.memorial-t-v173 .with-timer .quiet-time-line i{display:block;width:36%;height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(109,88,126,.25),rgba(109,88,126,.52));animation:absenceWait 5s linear forwards}
@keyframes absenceWait{from{width:0%}to{width:100%}}
.rotate-memorial-v173 .memorial-return-instruction{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:.75rem 0;padding:.72rem .85rem;border-radius:16px;background:rgba(255,255,255,.7);border:1px solid rgba(93,76,114,.1)}
.rotate-memorial-v173 .memorial-return-instruction strong{font-size:.85rem}.rotate-memorial-v173 .memorial-return-instruction span{font-size:.72rem;color:var(--muted);text-align:right}
.rotate-memorial-v173 .memorial-return-room.vertical{position:relative;min-height:360px;margin:1rem 0;border-radius:22px;background:linear-gradient(180deg,rgba(249,248,249,.98),rgba(240,237,241,.82));border:1px solid rgba(93,76,114,.12);display:grid;grid-template-rows:1fr auto 1fr;gap:.8rem;padding:1rem;overflow:hidden}
.rotate-memorial-v173 .return-zone{min-width:0;border-radius:17px;background:rgba(255,255,255,.7);border:1px solid rgba(93,76,114,.1);display:grid;place-items:center;align-content:center;gap:.4rem;position:relative;z-index:1;text-align:center;padding:.6rem}.rotate-memorial-v173 .return-zone.small,.rotate-memorial-v173 .return-zone strong{font-size:.82rem}.rotate-memorial-v173 .return-zone small{font-size:.66rem;color:var(--muted)}.rotate-memorial-v173 .return-zone.living-side{background:rgba(252,249,242,.82)}
.rotate-memorial-v173 .mini-frame{width:68px;height:90px;border:2px solid rgba(93,76,114,.28);border-radius:7px;background:rgba(255,255,255,.8);position:relative}.rotate-memorial-v173 .mini-frame .portrait-head{position:absolute;left:50%;top:22%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:rgba(93,76,114,.18)}.rotate-memorial-v173 .mini-frame .portrait-body{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);width:36px;height:32px;border-radius:18px 18px 7px 7px;background:rgba(93,76,114,.14)}
.rotate-memorial-v173 .mini-writing{width:62px;height:74px;border-radius:7px;background:#fff;border:1px solid rgba(142,103,72,.2);box-shadow:0 6px 14px rgba(53,43,67,.05);position:relative}.rotate-memorial-v173 .mini-writing i{position:absolute;left:12px;right:12px;top:23px;height:2px;background:rgba(142,103,72,.18);box-shadow:0 12px 0 rgba(142,103,72,.14),0 24px 0 rgba(142,103,72,.12)}
.rotate-memorial-v173 .memorial-return-boundary.horizontal{position:relative;display:grid;place-items:center;min-height:30px;z-index:4}.rotate-memorial-v173 .memorial-return-boundary.horizontal:before{content:"";position:absolute;left:15%;right:15%;top:50%;height:2px;background:linear-gradient(90deg,transparent,rgba(93,76,114,.25) 12%,rgba(93,76,114,.25) 88%,transparent);transform:translateY(-50%)}.rotate-memorial-v173 .memorial-return-boundary.horizontal span{position:relative;padding:.25rem .45rem;border-radius:999px;background:rgba(249,248,249,.95);font-size:.62rem;color:var(--muted);white-space:nowrap}
.rotate-memorial-v173 .memorial-return-lane.vertical{position:absolute;left:50%;top:18%;bottom:16%;width:2px;background:linear-gradient(180deg,rgba(93,76,114,.12),rgba(142,103,72,.32));transform:translateX(-50%);z-index:4;pointer-events:none}
.rotate-memorial-v173 .ep8-start-anchor,.rotate-memorial-v173 .ep8-end-anchor{position:absolute;left:50%;width:1px;height:1px}.rotate-memorial-v173 .ep8-start-anchor{top:38%}.rotate-memorial-v173 .ep8-end-anchor{top:76%}
.rotate-memorial-v173 .ep8-return-i{position:absolute;left:50%;transform:translate(-50%,-50%);z-index:8;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;transition:box-shadow .16s ease,transform .16s ease,background .16s ease}.rotate-memorial-v173 .ep8-return-i.dragging{cursor:grabbing;box-shadow:0 14px 30px rgba(89,64,28,.24);transform:translate(-50%,-50%) scale(1.06)}.rotate-memorial-v173 .ep8-return-i.settled{box-shadow:0 14px 28px rgba(89,64,28,.16)}
.rotate-memorial-v173 .memorial-return-room.crossed .living-side{border-color:rgba(142,103,72,.3);box-shadow:inset 0 0 0 2px rgba(142,103,72,.06)}



/* ===== v17.4 CLEAN: verified fixes for 7A / 7i / 7T / 8T ===== */
/* 7A: generic .part3-preview imposed height:130px and absolute-positioned every small element. Reset both. */
.part3-a-ep7-v174 .preview-ep7-route-map{height:auto;min-height:0;overflow:visible;padding:1rem;margin:.95rem 0 1.15rem}
.part3-a-ep7-v174 .preview-ep7-route-map .route-head-note{position:static;display:block;font-style:normal;font-size:.7rem;color:var(--muted);white-space:normal;text-align:right}
.part3-a-ep7-v174 .preview-ep7-route-map .route-explainer{position:static;display:block;margin-top:.72rem;padding-top:.62rem;border-top:1px solid rgba(93,76,114,.10);font-size:.7rem;line-height:1.55;color:var(--muted)}
.part3-a-ep7-v174 .preview-ep7-route-map .mini-route-row{min-height:42px}

/* 7i: three visible, live stages; threshold at 68/92 = 73.91%. */
.ep7-stop-v174 .ep7-stop-field{position:relative;min-height:360px;margin:1rem 0;border-radius:22px;border:1px solid rgba(93,76,114,.14);background:radial-gradient(circle at 82% 50%,rgba(255,255,255,.95),rgba(245,241,248,.97) 48%,rgba(237,231,243,.94));overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}
.ep7-stop-v174 .ep7-shared-world{position:absolute;left:3%;top:50%;transform:translateY(-50%);width:18%;min-width:94px;padding:.76rem .65rem;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.14);z-index:4;text-align:center;display:grid;gap:.18rem}
.ep7-stop-v174 .ep7-shared-world small{font-size:.66rem;color:var(--muted)}.ep7-stop-v174 .ep7-shared-world strong{font-size:.86rem}.ep7-stop-v174 .ep7-shared-world span{font-size:.64rem;color:var(--muted)}
.ep7-stop-v174 .ep7-merge-space{position:absolute;left:19%;right:2%;top:7%;bottom:10%}.ep7-stop-v174 .ep7-merge-space:before{content:"";position:absolute;left:4%;right:15%;top:50%;height:2px;background:linear-gradient(90deg,rgba(93,76,114,.14),rgba(93,76,114,.34));z-index:0}
.ep7-stop-v174 .ep7-merge-token{position:absolute;transform:translate(-50%,-50%);max-width:148px;padding:.42rem .56rem;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(93,76,114,.16);font-size:.67rem;line-height:1.25;text-align:center;white-space:normal;z-index:2;transition:left .08s linear,top .08s linear,background .2s ease,box-shadow .2s ease;box-shadow:0 5px 14px rgba(53,43,67,.05)}
.ep7-stop-v174 .ep7-merge-token.t1{border-left:3px solid rgba(80,110,150,.45)}.ep7-stop-v174 .ep7-merge-token.t2{border-left:3px solid rgba(104,92,145,.45)}.ep7-stop-v174 .ep7-merge-token.t3{border-left:3px solid rgba(151,113,83,.45)}.ep7-stop-v174 .ep7-merge-token.t4{border-left:3px solid rgba(93,125,105,.45)}
.ep7-stop-v174 .ep7-stop-i{position:absolute;transform:translate(-50%,-50%);z-index:5;pointer-events:none;transition:left .08s linear,box-shadow .2s ease,background .2s ease}
.ep7-stop-v174 .ep7-one-answer-ring{position:absolute;right:1.5%;top:50%;transform:translateY(-50%);width:17%;min-width:92px;aspect-ratio:1;border-radius:50%;border:2px dashed rgba(93,76,114,.28);display:grid;place-items:center;align-content:center;text-align:center;gap:.12rem;background:rgba(255,255,255,.34);z-index:1;transition:border-color .2s ease,background .2s ease}.ep7-stop-v174 .ep7-one-answer-ring small{font-size:.65rem;color:var(--muted)}.ep7-stop-v174 .ep7-one-answer-ring strong{font-size:.68rem;color:rgba(73,56,91,.76)}
.ep7-stop-v174 .ep7-step-marker{position:absolute;top:60%;transform:translateX(-50%);font-size:.62rem;color:var(--muted);padding:.18rem .42rem;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.08);z-index:3}.ep7-stop-v174 .ep7-step-marker.m1{left:40%}.ep7-stop-v174 .ep7-step-marker.m2{left:74%}
.ep7-stop-v174 .ep7-stop-control{display:grid;grid-template-columns:minmax(0,.82fr) minmax(300px,1.18fr);gap:1rem;align-items:start;padding:.9rem 1rem;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(93,76,114,.1)}.ep7-stop-v174 .ep7-slider-copy{display:grid;gap:.2rem}.ep7-stop-v174 .ep7-slider-copy small{color:var(--muted);line-height:1.5}
.ep7-stop-v174 .ep7-slider-zone{display:grid;gap:.55rem;padding:.68rem .72rem;border-radius:15px;border:1px solid rgba(93,76,114,.12);background:rgba(250,249,252,.88);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.ep7-stop-v174 .ep7-range-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.ep7-stop-v174 .ep7-range-step{display:flex;gap:.28rem;align-items:center;justify-content:center;padding:.38rem .28rem;border-radius:9px;font-size:.62rem;color:var(--muted);background:rgba(93,76,114,.045);border:1px solid transparent;transition:all .18s ease}.ep7-stop-v174 .ep7-range-step b{font-size:.58rem}.ep7-stop-v174 .ep7-range-step.active{color:#4d3d5c;background:rgba(109,88,126,.13);border-color:rgba(109,88,126,.24);font-weight:700}.ep7-stop-v174 .ep7-range-step.step3.active{background:rgba(166,130,72,.14);border-color:rgba(166,130,72,.32);color:#6b532d}
.ep7-stop-v174 .ep7-range-wrap{position:relative;padding:1rem 0 .55rem}.ep7-stop-v174 #ep7-merge-slider{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;outline:none;background:linear-gradient(90deg,#dad6e0 0 36.95%,#c8bfd0 36.95% 73.9%,#c4a66f 73.9% 100%);box-shadow:inset 0 0 0 1px rgba(93,76,114,.09)}.ep7-stop-v174 #ep7-merge-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#6d587e;border:3px solid white;box-shadow:0 3px 10px rgba(73,56,91,.28);cursor:grab}.ep7-stop-v174 .ep7-slider-zone.ready #ep7-merge-slider::-webkit-slider-thumb{background:#a68248}.ep7-stop-v174 #ep7-merge-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#6d587e;border:3px solid white;box-shadow:0 3px 10px rgba(73,56,91,.28);cursor:grab}.ep7-stop-v174 .ep7-stop-boundary{position:absolute;left:73.9%;top:.1rem;bottom:.15rem;width:2px;background:rgba(166,130,72,.58);pointer-events:none}.ep7-stop-v174 .ep7-stop-boundary span{position:absolute;left:50%;top:-.1rem;transform:translate(-50%,-100%);white-space:nowrap;font-style:normal;font-size:.58rem;color:#775d34;background:rgba(255,250,240,.96);border:1px solid rgba(166,130,72,.2);border-radius:999px;padding:.16rem .38rem}
.ep7-stop-v174 .ep7-range-status{font-size:.7rem;line-height:1.45;color:var(--muted);text-align:center}.ep7-stop-v174 .ep7-slider-zone.ready{background:rgba(255,249,238,.92);border-color:rgba(166,130,72,.28);box-shadow:inset 0 0 0 1px rgba(166,130,72,.07)}.ep7-stop-v174 .ep7-stop-field.ready{border-color:rgba(166,130,72,.3);box-shadow:inset 0 0 0 2px rgba(166,130,72,.07)}.ep7-stop-v174 .ep7-stop-field.ready .ep7-one-answer-ring{border-color:rgba(166,130,72,.52);background:rgba(255,250,240,.56)}.ep7-stop-v174 .ep7-stop-field.stopped .ep7-one-answer-ring{border-style:solid}.ep7-stop-v174 .ep7-stop-field.stopped .ep7-stop-i{box-shadow:0 12px 26px rgba(53,43,67,.18)}

/* 7T: complete route-map UI. v17.3 changed the class name but left all implementation under v143. */
.parallel-t-v174 .route-map-caption-strip{display:grid;grid-template-columns:1.25fr .65fr 1.5fr;gap:.7rem;margin:.8rem 0}.parallel-t-v174 .route-map-caption-strip>div{padding:.7rem .8rem;border-radius:.9rem;background:rgba(255,255,255,.58);border:1px solid rgba(93,76,114,.12)}.parallel-t-v174 .route-map-caption-strip strong{display:block;margin-bottom:.12rem;font-size:.79rem}.parallel-t-v174 .route-map-caption-strip span{display:block;font-size:.68rem;color:var(--muted)}
.parallel-t-v174 .route-map-field{position:relative;padding:2.3rem 1rem 1rem;min-height:0;margin:1rem 0;border-radius:1rem;background:rgba(247,245,248,.72);border:1px solid rgba(93,76,114,.12);overflow:hidden}.parallel-t-v174 .route-map-label{position:absolute;left:1rem;top:.8rem;font-size:.7rem;color:var(--muted)}.parallel-t-v174 .route-map-board{position:relative;display:grid;gap:.75rem;padding:.35rem 0 1.2rem}.parallel-t-v174 .route-map-row{display:grid;grid-template-columns:minmax(0,1.25fr) 90px minmax(0,1.5fr);gap:.7rem;align-items:center;position:relative;z-index:2}.parallel-t-v174 .route-origin-box,.parallel-t-v174 .route-destination-box{border-radius:1rem;padding:.75rem .85rem;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.16);box-shadow:0 10px 18px rgba(54,44,77,.05)}.parallel-t-v174 .route-origin-box small,.parallel-t-v174 .route-destination-box small{display:block;font-size:.64rem;color:var(--muted)}.parallel-t-v174 .route-origin-box strong,.parallel-t-v174 .route-destination-box strong{display:block;margin-top:.12rem;font-size:.84rem}.parallel-t-v174 .route-origin-box span{display:block;margin-top:.22rem;font-size:.72rem;color:rgba(73,56,91,.88)}.parallel-t-v174 .route-destination-box em{display:block;margin-top:.18rem;font-size:.66rem;color:var(--muted);font-style:normal;line-height:1.45}.parallel-t-v174 .route-destination-box.empty{background:rgba(255,255,255,.72);border-style:dashed}.parallel-t-v174 .route-line-box{position:relative;height:24px;display:grid;place-items:center}.parallel-t-v174 .route-line-track{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,rgba(93,76,114,.26),rgba(93,76,114,.1))}.parallel-t-v174 .route-line-arrow{position:relative;z-index:2;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(93,76,114,.16);color:rgba(73,56,91,.8);font-size:.82rem;font-weight:700}.parallel-t-v174 .route-merge-hub,.parallel-t-v174 .route-merge-return{position:absolute;left:50%;transform:translateX(-50%);padding:.32rem .75rem;border-radius:999px;font-size:.68rem;z-index:4;opacity:0;pointer-events:none}.parallel-t-v174 .route-merge-hub{top:34%;background:rgba(93,76,114,.14);border:1px solid rgba(93,76,114,.18);color:rgba(73,56,91,.88)}.parallel-t-v174 .route-merge-return{top:46%;background:rgba(255,255,255,.9);border:1px solid rgba(93,76,114,.12);color:rgba(73,56,91,.82)}.parallel-t-v174 .parallel-world-field.merging .route-merge-hub{animation:hubPulse2 2.35s ease forwards}.parallel-t-v174 .parallel-world-field.merging .route-merge-return{animation:returnPulse2 2.35s ease forwards}.parallel-t-v174 .parallel-world-field.merging .route-map-row.r1 .route-destination-box{animation:destMerge1 2.35s ease forwards}.parallel-t-v174 .parallel-world-field.merging .route-map-row.r2 .route-destination-box{animation:destMerge2 2.35s ease forwards}.parallel-t-v174 .parallel-world-field.merging .route-map-row.r3 .route-destination-box{animation:destMerge3 2.35s ease forwards}.parallel-t-v174 .parallel-world-field.merging .route-map-row.r4 .route-destination-box{animation:destMerge4 2.35s ease forwards}.parallel-t-v174 .route-card{border-radius:1rem}.parallel-t-v174 .route-card em{display:block;margin-top:.2rem;font-size:.64rem;color:var(--muted);font-style:normal}

/* 8T: global .absence-no-reply was absolute and overlapped the C button. Force normal flow. */
.memorial-t-v174 .memorial-vertical-board{display:grid;grid-template-rows:minmax(130px,1fr) auto minmax(120px,1fr);gap:.9rem;margin:1rem 0;padding:1rem;border-radius:20px;background:linear-gradient(180deg,rgba(249,248,249,.98),rgba(240,237,241,.84));border:1px solid rgba(93,76,114,.12);overflow:visible}
.memorial-t-v174 .memorial-vertical-top,.memorial-t-v174 .memorial-vertical-bottom{display:grid;place-items:center}.memorial-t-v174 .memorial-vertical-divider{position:static;display:grid;place-items:center;gap:.55rem;min-height:54px;padding:.35rem 0}.memorial-t-v174 .letter-memorial-frame,.memorial-t-v174 .letter-front-place{width:min(100%,360px);padding:1rem;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid rgba(93,76,114,.1);display:grid;justify-items:center;align-content:center;gap:.35rem;text-align:center}.memorial-t-v174 .letter-front-place i{display:block;width:72px;height:86px;border-radius:8px;background:#fff;border:1px solid rgba(142,103,72,.2);box-shadow:0 6px 14px rgba(53,43,67,.05);position:relative}.memorial-t-v174 .letter-front-place i:before{content:"";position:absolute;left:12px;right:12px;top:24px;height:2px;background:rgba(142,103,72,.18);box-shadow:0 12px 0 rgba(142,103,72,.14),0 24px 0 rgba(142,103,72,.12)}
.memorial-t-v174 .absence-no-reply{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;display:grid;justify-items:center;gap:.16rem;width:min(100%,360px);padding:.52rem .75rem;margin:0 auto;text-align:center;border-radius:14px;background:rgba(255,255,255,.86);border:1px solid rgba(93,76,114,.1)}.memorial-t-v174 .absence-no-reply span{font-size:.68rem;color:var(--muted)}.memorial-t-v174 .absence-no-reply strong{font-size:1.1rem;font-weight:400}.memorial-t-v174 .absence-no-reply small{font-size:.72rem;color:var(--muted);line-height:1.45;max-width:300px}.memorial-t-v174 .actions{position:relative;z-index:10;margin-top:1.5rem;clear:both}
.memorial-t-v174 .with-timer .quiet-time-line{width:min(240px,100%);height:8px;border-radius:999px;background:rgba(93,76,114,.08);overflow:hidden}.memorial-t-v174 .with-timer .quiet-time-line i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,rgba(109,88,126,.25),rgba(109,88,126,.52));animation:absenceWaitV174 5s linear forwards}@keyframes absenceWaitV174{from{width:0}to{width:100%}}



/* ===== v17.6 CLEAN: retained fixes for 7A portrait + 8C flow ===== */
/* 7A: keep person -> destination horizontal in portrait, but fit it inside the card. */
.part3-a-ep7-v175 .route-grid-shell{overflow:visible!important;width:100%;padding:0}
.part3-a-ep7-v175 .route-grid-fixed{min-width:0!important;width:100%!important}
.part3-a-ep7-v175 .preview-ep7-route-map{height:auto!important;min-height:0!important;overflow:visible!important;margin:.95rem 0 1.15rem;padding:1rem}
.part3-a-ep7-v175 .mini-route-head{position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;align-items:center;margin:0 0 .72rem;padding:.55rem .65rem}
.part3-a-ep7-v175 .mini-route-head span{min-width:0;font-size:.84rem;line-height:1.35}
.part3-a-ep7-v175 .mini-route-head .route-head-note{position:static!important;display:block!important;min-width:0;text-align:right;white-space:normal;font-size:.66rem;line-height:1.35;color:var(--muted)}
.part3-a-ep7-v175 .mini-route-grid{display:grid!important;gap:.48rem!important;margin-top:0!important}
.part3-a-ep7-v175 .mini-route-row{display:grid!important;grid-template-columns:minmax(86px,.9fr) 24px minmax(128px,1.35fr)!important;gap:.42rem!important;align-items:center!important;min-height:0!important}
.part3-a-ep7-v175 .mini-route-row b,.part3-a-ep7-v175 .mini-route-row span{position:static!important;display:block!important;min-width:0;padding:.52rem .55rem!important;border-radius:.72rem;line-height:1.35;overflow-wrap:anywhere}
.part3-a-ep7-v175 .mini-route-row i{position:relative!important;display:block!important;width:100%!important;height:2px!important;justify-self:stretch!important;background:rgba(93,76,114,.22)!important;transform:none!important}
.part3-a-ep7-v175 .mini-route-row i::after{content:"→"!important;position:absolute!important;right:-2px!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-58%)!important;font-style:normal!important;font-size:.72rem!important;color:rgba(73,56,91,.78)!important}
.part3-a-ep7-v175 .route-explainer{position:static!important;display:block!important;margin:.72rem 0 0!important;padding:.62rem 0 0!important;border-top:1px solid rgba(93,76,114,.10);font-size:.68rem;line-height:1.55;color:var(--muted);clear:both}



/* 8C: all elements stay in normal flow; the reply can never float over the action. */
.part3-c-ep8-v175{position:relative;overflow:visible}
.part3-c-ep8-v175 .memorial-vertical-board{position:static!important;display:grid!important;grid-template-rows:auto auto auto!important;gap:.9rem!important;margin:1rem 0 1.2rem!important;padding:1rem!important;min-height:0!important;height:auto!important;overflow:visible!important;border-radius:20px;background:linear-gradient(180deg,rgba(249,248,249,.98),rgba(240,237,241,.84));border:1px solid rgba(93,76,114,.12)}
.part3-c-ep8-v175 .memorial-vertical-top,.part3-c-ep8-v175 .memorial-vertical-bottom{position:static!important;display:grid!important;place-items:center!important;min-height:0!important}
.part3-c-ep8-v175 .memorial-vertical-divider.reply-divider{position:static!important;display:grid!important;place-items:center!important;min-height:0!important;height:auto!important;margin:0!important;padding:.25rem 0!important;transform:none!important;overflow:visible!important}
.part3-c-ep8-v175 .absence-no-reply{position:static!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;display:grid!important;justify-items:center!important;gap:.18rem!important;width:min(100%,360px)!important;max-width:100%!important;height:auto!important;margin:0 auto!important;padding:.62rem .8rem!important;border-radius:14px!important;background:rgba(255,255,255,.9)!important;border:1px solid rgba(93,76,114,.1)!important;z-index:auto!important;float:none!important}
.part3-c-ep8-v175 .absence-no-reply span,.part3-c-ep8-v175 .absence-no-reply small{position:static!important;display:block!important}.part3-c-ep8-v175 .absence-no-reply small{max-width:300px!important;line-height:1.45!important;text-align:center!important}
.part3-c-ep8-v175 .c-memorial,.part3-c-ep8-v175 .c-letter-place{position:static!important;width:min(100%,360px)!important;min-height:150px!important;height:auto!important;margin:0!important}
.part3-c-ep8-v175 .actions{position:static!important;display:flex!important;flex-wrap:wrap!important;gap:.65rem!important;clear:both!important;width:100%!important;height:auto!important;margin:1.45rem 0 0!important;padding:0!important;transform:none!important;z-index:auto!important}
.part3-c-ep8-v175 .actions .primary{position:static!important;transform:none!important;z-index:auto!important}


/* ===== v17.6 CLEAN: Episode 9 redesign ===== */
.scar-a-board{display:grid;grid-template-columns:1fr 150px 1fr;gap:.8rem;align-items:stretch;margin:1rem 0}.scar-a-side,.scar-a-center{padding:1rem;border-radius:1rem;background:rgba(255,255,255,.68);border:1px solid rgba(115,75,75,.12);display:grid;gap:.28rem;align-content:center}.scar-a-side strong,.scar-a-center strong{font-size:.98rem}.scar-a-side span,.scar-a-center small{font-size:.72rem;color:var(--muted)}.scar-a-center{justify-items:center;text-align:center;background:rgba(247,240,240,.72)}.scar-a-trace{display:block;width:10px;height:110px;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.75) 0 10px,rgba(115,75,75,.18) 10px 16px);transform:rotate(4deg)}
.rotate-scar-v176 .scar-rotate-instruction{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.75rem .95rem;border-radius:.9rem;background:rgba(255,255,255,.58);border:1px solid rgba(93,76,114,.12)}.rotate-scar-v176 .scar-rotate-instruction strong,.rotate-scar-v176 .scar-rotate-instruction span{display:block}.rotate-scar-v176 .scar-rotate-instruction span{font-size:.72rem;color:var(--muted)}
.scar-rotate-room{position:relative;display:grid;grid-template-columns:1fr 94px 1fr;gap:.8rem;align-items:stretch;min-height:320px;margin:1rem 0;padding:1rem;border-radius:1rem;background:linear-gradient(180deg,rgba(248,246,247,.88),rgba(243,239,235,.78));border:1px solid rgba(115,75,75,.12);overflow:hidden}.scar-rotate-side{padding:1rem;border-radius:.95rem;background:rgba(255,255,255,.72);border:1px solid rgba(115,75,75,.1);display:grid;align-content:center;gap:.25rem}.scar-rotate-side strong{font-size:.96rem}.scar-rotate-side span,.scar-rotate-side small{font-size:.72rem;color:var(--muted)}.scar-rotate-divider{position:relative;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.72rem}.scar-rotate-divider::before{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:4px;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.8) 0 9px,rgba(115,75,75,.2) 9px 15px);transform:translateX(-50%) rotate(4deg)}.scar-rotate-divider span{position:relative;z-index:1;padding:.35rem .45rem;border-radius:.6rem;background:rgba(255,255,255,.8)}.scar-rotate-track{position:absolute;left:10%;right:10%;bottom:18%;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(93,76,114,.14),rgba(93,76,114,.05));overflow:visible}.scar-rotate-track::before{content:"";position:absolute;left:0;top:0;bottom:0;width:44%;border-radius:999px;background:linear-gradient(90deg,rgba(93,76,114,.28),rgba(93,76,114,.14))}.scar-track-start,.scar-track-stop{position:absolute;top:-1.45rem;font-style:normal;font-size:.68rem;color:var(--muted)}.scar-track-start{left:0}.scar-track-stop{left:44%;transform:translateX(-50%);padding:.16rem .42rem;border-radius:999px;background:rgba(93,76,114,.12);color:rgba(73,56,91,.9)}.ep9-scar-i{top:62%!important}.ep9-scar-i.dragging{cursor:grabbing;box-shadow:0 10px 28px rgba(53,43,67,.26)}.ep9-scar-i.settled,.scar-rotate-room.done .ep9-scar-i{background:rgba(93,76,114,.96)}
.scar-t-v176 .scar-stepper-grid{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(250px,1fr);gap:1rem;align-items:start}.scar-step-visual{position:relative;min-height:360px;padding:1rem;border-radius:1rem;background:rgba(248,246,245,.82);border:1px solid rgba(115,75,75,.12);overflow:hidden}.scar-step-side{position:absolute;top:16%;bottom:27%;width:36%;padding:.85rem;border-radius:.9rem;background:rgba(255,255,255,.74);border:1px solid rgba(115,75,75,.1);display:grid;align-content:center;gap:.2rem}.scar-step-side.left{left:7%}.scar-step-side.right{right:7%}.scar-step-side strong{font-size:.95rem}.scar-step-side small{font-size:.72rem;color:var(--muted)}.scar-step-gap{position:absolute;left:50%;top:12%;bottom:18%;width:5px;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.78) 0 10px,rgba(115,75,75,.2) 10px 16px);transform:translateX(-50%) rotate(4deg);z-index:3}.scar-step-bridge{position:absolute;left:18%;top:49%;height:14px;width:calc(var(--repair-progress) * .62);max-width:52%;border-radius:999px;background:linear-gradient(90deg,rgba(146,122,130,.74),rgba(146,122,130,.28));transition:width .22s ease}.scar-step-trace{position:absolute;left:50%;top:12%;bottom:18%;width:18px;transform:translateX(-50%);background:linear-gradient(180deg,transparent 0%,rgba(115,75,75,.10) 24%,rgba(115,75,75,.10) 76%,transparent 100%);z-index:1}.scar-step-i{position:absolute;left:calc(18% + (var(--repair-progress) * .46));top:44%;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.86);color:#fff;font-family:Georgia,serif;z-index:4;transform:translate(-50%,-50%)}.scar-step-caption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.85rem .9rem;border-radius:.9rem;background:rgba(255,255,255,.85);border:1px solid rgba(115,75,75,.08)}.scar-step-caption small,.scar-step-caption strong,.scar-step-caption span{display:block}.scar-step-caption span{font-size:.72rem;color:var(--muted);margin-top:.18rem}
.scar-step-panel{display:grid;gap:.75rem}.scar-step-buttons{display:grid;gap:.55rem}.scar-step-btn{padding:.7rem .8rem;border-radius:.9rem;border:1px solid rgba(115,75,75,.12);background:rgba(255,255,255,.74);text-align:left;display:grid;gap:.05rem;cursor:pointer}.scar-step-btn small{font-size:.68rem;color:var(--muted)}.scar-step-btn strong{font-size:.88rem}.scar-step-btn.active{background:rgba(239,235,243,.78);border-color:rgba(93,76,114,.24);box-shadow:0 6px 14px rgba(53,43,67,.08)}.scar-step-btn.seen{border-left:4px solid rgba(93,76,114,.24)}.scar-state-card{padding:.9rem 1rem;border-radius:1rem;background:rgba(255,255,255,.8);border:1px solid rgba(115,75,75,.1)}.scar-state-card small,.scar-state-card strong{display:block}.scar-state-card ul{margin:.55rem 0 0 1rem;padding:0;display:grid;gap:.32rem}.scar-state-card li{font-size:.74rem;color:var(--muted)}
.scar-c-board{position:relative;display:grid;grid-template-columns:1fr 36px 1fr;gap:.75rem;align-items:stretch;min-height:160px;margin:1rem 0}.scar-c-side{padding:1rem;border-radius:.95rem;background:rgba(255,255,255,.7);border:1px solid rgba(115,75,75,.1);display:grid;align-content:center;gap:.22rem}.scar-c-side small{font-size:.72rem;color:var(--muted)}.scar-c-side strong{font-size:.95rem}.scar-c-trace{position:relative}.scar-c-trace::before{content:"";position:absolute;left:50%;top:6%;bottom:6%;width:5px;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.82) 0 10px,rgba(115,75,75,.2) 10px 16px);transform:translateX(-50%) rotate(4deg)}



/* v17.7 CLEAN - Episode 9 redesign */
.rotate-scar-v177 .scar-rotate-instruction{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.75rem .95rem;border-radius:.9rem;background:rgba(255,255,255,.58);border:1px solid rgba(93,76,114,.12)}
.rotate-scar-v177 .scar-rotate-instruction strong,.rotate-scar-v177 .scar-rotate-instruction span{display:block}
.rotate-scar-v177 .scar-rotate-instruction span{font-size:.72rem;color:var(--muted)}
.scar-rotate-room-v177{position:relative;display:grid;grid-template-columns:1fr 94px 1fr;gap:.8rem;align-items:stretch;min-height:330px;margin:1rem 0;padding:1rem;border-radius:1rem;background:linear-gradient(180deg,rgba(248,246,247,.88),rgba(243,239,235,.78));border:1px solid rgba(115,75,75,.12);overflow:hidden}
.scar-rotate-room-v177 .scar-rotate-side{padding:1rem;border-radius:.95rem;background:rgba(255,255,255,.72);border:1px solid rgba(115,75,75,.1);display:grid;align-content:center;gap:.25rem}
.scar-rotate-room-v177 .scar-rotate-side strong{font-size:.96rem}
.scar-rotate-room-v177 .scar-rotate-side span,.scar-rotate-room-v177 .scar-rotate-side small{font-size:.72rem;color:var(--muted)}
.scar-rotate-room-v177 .scar-rotate-divider{position:relative;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.72rem}
.scar-rotate-room-v177 .scar-rotate-divider::before{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:4px;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.8) 0 9px,rgba(115,75,75,.2) 9px 15px);transform:translateX(-50%) rotate(4deg)}
.scar-rotate-room-v177 .scar-rotate-divider span{position:relative;z-index:1;padding:.35rem .45rem;border-radius:.6rem;background:rgba(255,255,255,.8)}
.scar-rotate-room-v177 .scar-rotate-track{position:absolute;left:10%;right:10%;bottom:17%;height:8px;border-radius:999px;background:linear-gradient(90deg,rgba(93,76,114,.14),rgba(93,76,114,.06));overflow:visible}
.scar-rotate-room-v177 .scar-track-start,.scar-rotate-room-v177 .scar-track-cross,.scar-rotate-room-v177 .scar-track-return{position:absolute;top:-1.5rem;font-style:normal;font-size:.68rem;color:var(--muted)}
.scar-rotate-room-v177 .scar-track-start{left:0}
.scar-rotate-room-v177 .scar-track-cross{left:78%;transform:translateX(-50%);padding:.16rem .42rem;border-radius:999px;background:rgba(93,76,114,.12);color:rgba(73,56,91,.9)}
.scar-rotate-room-v177 .scar-track-return{left:47%;transform:translateX(-50%)}
.scar-rotate-room-v177 .scar-return-trail{position:absolute;left:47%;right:22%;top:38%;height:40px;border-top:2px dashed rgba(115,75,75,.36);border-right:2px dashed rgba(115,75,75,.36);border-radius:0 28px 0 0;opacity:.15;transition:opacity .24s ease}
.scar-rotate-room-v177 .scar-return-trail span{position:absolute;right:.2rem;top:-1.2rem;font-size:.68rem;color:var(--muted)}
.scar-rotate-room-v177.crossed .scar-return-trail,.scar-rotate-room-v177.done .scar-return-trail{opacity:1}
.scar-rotate-room-v177 .ep9-scar-i{top:62%!important;z-index:5}
.scar-rotate-room-v177 .ep9-scar-i.dragging{cursor:grabbing;box-shadow:0 10px 28px rgba(53,43,67,.26)}
.scar-rotate-room-v177 .ep9-scar-i.settled,.scar-rotate-room-v177.done .ep9-scar-i{background:rgba(93,76,114,.96)}

.scar-t-v177 .scar-stepper-grid{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(250px,1fr);gap:1rem;align-items:start}
.scar-step-visual-v177{position:relative;min-height:360px;padding:1rem;border-radius:1rem;background:rgba(248,246,245,.82);border:1px solid rgba(115,75,75,.12);overflow:hidden}
.scar-step-visual-v177 .scar-step-side{position:absolute;top:16%;bottom:27%;width:36%;padding:.85rem;border-radius:.9rem;background:rgba(255,255,255,.74);border:1px solid rgba(115,75,75,.1);display:grid;align-content:center;gap:.2rem}
.scar-step-visual-v177 .scar-step-side.left{left:7%}
.scar-step-visual-v177 .scar-step-side.right{right:7%}
.scar-step-visual-v177 .scar-step-side strong{font-size:.95rem}
.scar-step-visual-v177 .scar-step-side small{font-size:.72rem;color:var(--muted)}
.scar-step-visual-v177 .scar-step-gap{position:absolute;left:50%;top:12%;bottom:18%;width:5px;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.78) 0 10px,rgba(115,75,75,.2) 10px 16px);transform:translateX(-50%) rotate(4deg);z-index:3}
.scar-step-visual-v177 .scar-step-trace{position:absolute;left:50%;top:12%;bottom:18%;width:18px;transform:translateX(-50%);background:linear-gradient(180deg,transparent 0%,rgba(115,75,75,.10) 24%,rgba(115,75,75,.10) 76%,transparent 100%);z-index:1}
.scar-step-visual-v177 .scar-step-outbound{position:absolute;left:50%;top:46%;height:12px;width:calc(var(--repair-extent) * .43);max-width:31%;border-radius:999px;background:linear-gradient(90deg,rgba(146,122,130,.68),rgba(146,122,130,.24));transform-origin:left center}
.scar-step-visual-v177 .scar-step-backtrack{position:absolute;left:47%;top:51.5%;height:10px;width:calc(var(--repair-extent) * .43);max-width:31%;border-bottom:2px dashed rgba(115,75,75,.42);border-left:2px dashed rgba(115,75,75,.42);border-radius:0 0 0 24px;transform:translateY(-50%)}
.scar-step-visual-v177 .scar-step-backtrack.idle{display:none}
.scar-step-visual-v177 .scar-step-i{position:absolute;top:47%;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.86);color:#fff;font-family:Georgia,serif;z-index:4;transform:translate(-50%,-50%)}
.scar-step-visual-v177 .scar-step-i.at-start{left:24%}
.scar-step-visual-v177 .scar-step-i.at-trace{left:47%}
.scar-step-visual-v177 .scar-step-caption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.85rem .9rem;border-radius:.9rem;background:rgba(255,255,255,.85);border:1px solid rgba(115,75,75,.08)}
.scar-step-visual-v177 .scar-step-caption small,.scar-step-visual-v177 .scar-step-caption strong,.scar-step-visual-v177 .scar-step-caption span{display:block}
.scar-step-visual-v177 .scar-step-caption span{font-size:.72rem;color:var(--muted);margin-top:.18rem}
.scar-c-board-v177 .scar-c-trace{position:relative;display:grid;place-items:center}
.scar-c-board-v177 .scar-c-trace::before{content:"";position:absolute;left:50%;top:6%;bottom:6%;width:5px;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.82) 0 10px,rgba(115,75,75,.2) 10px 16px);transform:translateX(-50%) rotate(4deg)}
.scar-c-board-v177 .scar-c-i{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.9);color:#fff;font-family:Georgia,serif}



/* Episode 9T semantic parity + three-depth animation (retained interaction grammar) */
.scar-t-v178 .scar-stepper-grid-v178{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.85fr);gap:1rem;align-items:start}
.scar-t-v178 .scar-step-visual-shell{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:.15rem}
.scar-t-v178 .scar-step-visual-v178{position:relative;min-width:560px;min-height:360px;padding:1rem;border-radius:1rem;background:rgba(248,246,245,.82);border:1px solid rgba(115,75,75,.12);overflow:hidden}
.scar-t-v178 .scar-step-visual-v178 .scar-step-side{position:absolute!important;top:16%!important;bottom:27%!important;width:36%!important;margin:0!important;padding:.85rem;border-radius:.9rem;background:rgba(255,255,255,.74);border:1px solid rgba(115,75,75,.1);display:grid!important;align-content:center;gap:.2rem}
.scar-t-v178 .scar-step-visual-v178 .scar-step-side.left{left:7%!important;right:auto!important}
.scar-t-v178 .scar-step-visual-v178 .scar-step-side.right{right:7%!important;left:auto!important}
.scar-t-v178 .scar-step-visual-v178 .scar-step-side strong{font-size:.95rem}
.scar-t-v178 .scar-step-visual-v178 .scar-step-side small{font-size:.72rem;color:var(--muted)}
.scar-t-v178 .scar-step-visual-v178 .scar-step-gap{position:absolute!important;left:50%!important;top:12%!important;bottom:18%!important;width:5px!important;border-radius:999px;background:repeating-linear-gradient(180deg,rgba(115,75,75,.78) 0 10px,rgba(115,75,75,.2) 10px 16px);transform:translateX(-50%) rotate(4deg);z-index:3}
.scar-t-v178 .scar-step-visual-v178 .scar-step-trace{position:absolute!important;left:50%!important;top:12%!important;bottom:18%!important;width:18px!important;transform:translateX(-50%);background:linear-gradient(180deg,transparent 0%,rgba(115,75,75,.10) 24%,rgba(115,75,75,.10) 76%,transparent 100%);z-index:1}
.scar-t-v178 .scar-step-visual-v178 .scar-step-i{position:absolute;left:47%;top:47%;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.86);color:#fff;font-family:Georgia,serif;z-index:5;transform:translate(-50%,-50%);will-change:left}
.scar-t-v178 .scar-step-visual-v178.animating .scar-step-i{box-shadow:0 10px 26px rgba(53,43,67,.22)}
.scar-t-v178 .scar-step-depth-markers{position:absolute;left:50%;right:5%;top:31%;height:22px;pointer-events:none}
.scar-t-v178 .scar-step-depth-markers i{position:absolute;font-style:normal;font-size:.64rem;color:rgba(93,76,114,.66);padding:.12rem .32rem;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(93,76,114,.08)}
.scar-t-v178 .scar-step-depth-markers .d2{left:24%}.scar-t-v178 .scar-step-depth-markers .d3{left:49%}.scar-t-v178 .scar-step-depth-markers .d4{left:78%}
.scar-t-v178 .scar-step-trail{position:absolute;left:47%;top:47%;height:10px;width:0;border-top:2px dashed rgba(115,75,75,.45);z-index:2;pointer-events:none;opacity:.2}
.scar-t-v178 .scar-step-trail::after{content:"傷痕へ戻る";position:absolute;right:0;top:.45rem;white-space:nowrap;font-size:.62rem;color:var(--muted)}
.scar-t-v178 .scar-step-caption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.85rem .9rem;border-radius:.9rem;background:rgba(255,255,255,.87);border:1px solid rgba(115,75,75,.08)}
.scar-t-v178 .scar-step-caption small,.scar-t-v178 .scar-step-caption strong,.scar-t-v178 .scar-step-caption span{display:block}
.scar-t-v178 .scar-step-caption span{font-size:.72rem;color:var(--muted);margin-top:.18rem}
.scar-t-v178 .scar-step-panel{display:grid;gap:.75rem}
.scar-t-v178 .scar-step-buttons{display:grid;gap:.55rem}
.scar-t-v178 .scar-step-btn{padding:.72rem .82rem;border-radius:.9rem;border:1px solid rgba(115,75,75,.12);background:rgba(255,255,255,.74);text-align:left;display:grid;gap:.05rem;cursor:pointer}
.scar-t-v178 .scar-step-btn small{font-size:.68rem;color:var(--muted)}
.scar-t-v178 .scar-step-btn strong{font-size:.88rem}
.scar-t-v178 .scar-step-btn.active{background:rgba(239,235,243,.78);border-color:rgba(93,76,114,.24);box-shadow:0 6px 14px rgba(53,43,67,.08)}
.scar-t-v178 .scar-step-btn.seen{border-left:4px solid rgba(93,76,114,.24)}
.scar-t-v178 .scar-animation-status{padding:.7rem .8rem;border-radius:.8rem;background:rgba(247,244,249,.72);border:1px solid rgba(93,76,114,.1);font-size:.72rem;color:var(--muted);min-height:2.7rem}





/* Legacy responsive overrides removed before v18.0 semantic-responsive rebuild. */




/* Episode 9 now follows the same global landscape-layout policy as every other screen. */







/* ========================================================================== 
   v18.0 CLEAN — Responsive Semantic Parity Layer
   Source of truth: RESPONSIVE_SPEC.md
   Principles:
   1) Common screens use responsive patterns.
   2) Episode-specific embodied i/T grammars stay custom.
   3) Semantic parity is LOCKED; pixel parity is not.
   ========================================================================== */

html, body { width:100%; max-width:100%; overflow-x:hidden; }
.app-shell, .topbar, .viewport, .footer { min-width:0; max-width:100%; }
.viewport { width:min(100%, 980px); }
img, svg, canvas { max-width:100%; }

/* R-01 MAP */
.map-grid { display:grid; gap:1rem; }
.episode-row { min-width:0; }

/* R-02 A_SELECTION */
.choice-grid,
.perception-choice-grid,
.part3-choice-grid { min-width:0; }

/* R-03 SEMANTIC_AXIS: component-scoped horizontal meaning only. */
.semantic-axis-shell,
.route-grid-shell,
.v171-load-layout,
.scar-step-visual-shell { max-width:100%; }

/* R-06 BEFORE_AFTER */
.part3-c-compare,
.part2-c-compare,
.field-comparison,
.mirror-grid { min-width:0; }

/* R-07 EXPERIENCE_HISTORY */
.experience-history-grid { min-width:0; }

/* R-08 BOOKMARK */
.saved-bookmark,
.bookmark-write { max-width:100%; }

/* R-09 BRIDGE */
.bridge-screen,
.trajectory-bridge-gate { max-width:100%; }

/* R-10 MODEL */
.freedom-visual,
.trajectory-orbit-wrap,
.trajectory-orbit { max-width:100%; }

/* Local-scroll policy: only semantically horizontal components may scroll. */
.route-grid-shell,
.v171-load-layout,
.ep9-local-scroll { overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }

/* ---------- Compact Landscape / Tablet: 720–1023 ---------- */
@media (min-width:720px) and (max-width:1023px) {
  .viewport { width:min(100%, 920px); padding:2.25rem 1.25rem 3rem; }
  .card { padding:1.35rem; }
  .episode-row { gap:.55rem; }
  .episode-card { padding:.85rem .65rem; min-height:5rem; }
  .actions { gap:.55rem; }

  /* Maps remain grouped by part and episode order. */
  .episode-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .part-3 .episode-row { grid-template-columns:repeat(4,minmax(0,1fr)); }

  /* Common comparison/history remains horizontal where space allows. */
  .saved-bookmark-route { gap:.5rem; }
  .experience-history-grid { gap:.4rem; }
  .experience-step { padding:.65rem; gap:.5rem; }

  /* Bridge / doors: keep 2-column when viable. */
  .trajectory-bridge-gate { grid-template-columns:1fr auto; }
  .season-doors { grid-template-columns:1fr 1fr; }

  /* EP9 semantic axis remains left|scar|right. */
  .part3-a-ep9 .scar-a-board,
  .rotate-scar-v177 .scar-rotate-room-v177,
  .part3-c-ep9-v177 .scar-c-board-v177 { grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr) !important; }
}

/* ---------- Portrait: <=719 ---------- */
@media (max-width:719px) {
  .topbar { padding:.8rem .75rem; align-items:flex-start; }
  .brand-copy span { font-size:.66rem; }
  .viewport { width:100%; padding:1.15rem .75rem 2.25rem; }
  .footer { padding:.8rem .6rem; }
  .card { border-radius:1.1rem; padding:1rem; }
  .scene { min-height:0; overflow:hidden; }
  .scene::after { width:150px; height:150px; opacity:.55; }
  h1 { font-size:clamp(2rem,11vw,3rem); }
  h2 { font-size:clamp(1.35rem,7vw,2rem); }
  p { line-height:1.7; }
  .lead { font-size:1rem; }
  .actions { flex-direction:column; align-items:stretch; }
  .actions > button { width:100%; min-height:44px; }
  .primary, .secondary, .choice, .episode-card { min-height:44px; }

  /* R-01 MAP: stack Parts, compact-grid episodes; never page-scroll horizontally. */
  .map-grid { gap:1.25rem; }
  .part { padding-left:.7rem; }
  .part h2 { margin-bottom:.45rem; }
  .episode-row { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.42rem; }
  .part-3 .episode-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .episode-card { min-height:5.2rem; padding:.65rem .48rem; }
  .ep-num { font-size:.68rem; }
  .ep-work { font-size:.78rem; line-height:1.35; overflow-wrap:anywhere; }
  .status { font-size:.62rem; }

  /* R-02 A_SELECTION */
  .choice-grid,
  .perception-choice-grid,
  .part3-choice-grid,
  .part3-choice-grid-ep7 { grid-template-columns:1fr !important; }
  .choice,
  .perception-choice,
  .part3-choice { width:100%; }

  /* R-05 SEQUENCE: outer layout may stack. */
  .flow-review-grid,
  .v164-load-stage,
  .scar-t-v178 .scar-stepper-grid-v178,
  .scar-t-v178 .scar-stepper-grid,
  .v17-load-layout,
  .v171-status-grid { grid-template-columns:1fr !important; }
  .load-step-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .flow-events-simultaneous { grid-template-columns:1fr; }

  /* R-06 BEFORE_AFTER: order may become vertical; semantic before/after stays intact. */
  .part3-c-compare,
  .part2-c-compare,
  .field-comparison,
  .mirror-grid { grid-template-columns:1fr !important; }
  .part3-c-compare > span,
  .part2-c-compare > span,
  .field-shift { transform:rotate(90deg); justify-self:center; }

  /* R-07 EXPERIENCE_HISTORY: A ↓ i ↓ T ↓ C */
  .experience-history-grid { grid-template-columns:1fr !important; gap:.4rem; }
  .experience-arrow { min-height:16px; transform:rotate(90deg); }
  .experience-history-head { align-items:flex-start; flex-direction:column; gap:.15rem; }

  /* R-08 BOOKMARK: one-column, preserve provenance/history. */
  .saved-bookmark { padding:.85rem; }
  .saved-bookmark-route { grid-template-columns:1fr !important; gap:.45rem; }
  .saved-bookmark-route .route-arrow { justify-self:center; transform:rotate(90deg); }
  .bookmark-structure { max-width:100%; }
  .bookmark-step { min-width:0; }
  .bookmark-write { padding:.85rem; }
  .summary-bookmark-grid,
  .carry-source-bookmark-v12,
  .carry-saved-grid,
  .carry-episode-banner { grid-template-columns:1fr !important; }

  /* R-09 BRIDGE */
  .trajectory-bridge-gate { grid-template-columns:1fr !important; }
  .trajectory-bridge-gate button { width:100%; }
  .bridge-provenance-equal,
  .part1-trace-pair { grid-template-columns:1fr !important; }

  /* R-10 MODEL: shrink model; move dense labels into normal flow where possible. */
  .freedom-visual { width:min(94vw,420px); }
  .trajectory-orbit-wrap { width:min(94vw,480px); margin-inline:auto; }
  .trajectory-detail-grid { grid-template-columns:1fr !important; }
  .trajectory-row { grid-template-columns:42px minmax(0,1fr) !important; }
  .trajectory-row > :not(.trajectory-row-num):not(.trajectory-row-work) { grid-column:2; }
  .trajectory-part-legend { justify-content:flex-start; }

  /* R-11 TWO_DOORS: vertically distinct doors. */
  .season-doors { grid-template-columns:1fr !important; }
  .season-door { min-height:0; }
  .door-episode-identity { align-items:flex-start; }
  .season-flow { grid-template-columns:1fr !important; }

  /* ---------- Episode-specific embodied grammars ---------- */

  /* EP2 orbit: compact circle, same 360° semantic experience. */
  .v165-ep2-orbit .rotation-ring,
  .rotation-ring { width:min(78vw,290px); }
  .rotation-handle { width:54px; height:54px; font-size:2.2rem; }

  /* EP3: front|boundary|back must remain horizontal. */
  .ep3-reversal-field { min-height:330px; width:100%; }
  .ep3-side { width:38%; }
  .ep3-side.front-side { left:2%; }
  .ep3-side.back-side { right:2%; }
  .ep3-back-roles span { padding:.48rem .35rem; font-size:.75rem; }

  /* EP4: preserve deer / observer / distance relationships; compress scene only. */
  .ep4-encounter-field { min-height:330px; }

  /* EP5: one water field, never convert simultaneous events into a sequence. */
  .ep5-river-scene,
  .flow-scene-stage { min-height:340px; }
  .flow-scene-overlay { inset:0; }

  /* EP6 T: semantic left-right relation remains; scroll only inside this visual when needed. */
  .v171-load-layout { grid-template-columns:minmax(275px,1fr) minmax(275px,1fr) !important; overflow-x:auto; padding-bottom:.25rem; }
  .v171-load-left,
  .v171-load-right { min-width:275px; }

  /* EP7 A/T: same train + distinct destinations. Keep route visual horizontal locally. */
  .preview-ep7-route-map .mini-route-row { grid-template-columns:minmax(0,1fr) 22px minmax(0,1.15fr) !important; gap:.32rem; }
  .preview-ep7-route-map .mini-route-row b,
  .preview-ep7-route-map .mini-route-row span { padding:.42rem; font-size:.64rem; }
  .route-grid-shell { overflow-x:auto; }
  .parallel-t-v174 .route-map-field,
  .parallel-t-v173 .route-map-field,
  .part3-c-ep7-v173 .route-summary-board { min-width:520px; }

  /* EP8 is a canonical VERTICAL semantic axis: dead-side upper, this-side lower. */
  .memorial-vertical-board { grid-template-columns:1fr !important; }
  .memorial-vertical-top { order:1; }
  .memorial-vertical-divider { order:2; }
  .memorial-vertical-bottom { order:3; }
  .memorial-return-room.vertical { min-height:400px; }

  /* EP9 A: LEFT | SCAR | RIGHT is invariant and fits compactly without page scroll. */
  .part3-a-ep9 .scar-a-board {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) !important;
    gap:.28rem !important;
    align-items:stretch !important;
  }
  .part3-a-ep9 .scar-a-side,
  .part3-a-ep9 .scar-a-center { min-height:160px !important; padding:.45rem !important; }
  .part3-a-ep9 .scar-a-trace { height:82px !important; }
  .part3-a-ep9 .scar-a-side strong,
  .part3-a-ep9 .scar-a-center strong { font-size:.72rem !important; }
  .part3-a-ep9 .scar-a-side span,
  .part3-a-ep9 .scar-a-center small { font-size:.58rem !important; line-height:1.35 !important; }

  /* EP9 i: same horizontal semantic axis, cross right, return to scar. */
  .rotate-scar-v177 .scar-rotate-room-v177 {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) !important;
    gap:.28rem !important;
    min-height:310px !important;
    padding:.55rem !important;
  }
  .rotate-scar-v177 .scar-rotate-side { padding:.45rem !important; }
  .rotate-scar-v177 .scar-rotate-side strong { font-size:.72rem !important; }
  .rotate-scar-v177 .scar-rotate-side span,
  .rotate-scar-v177 .scar-rotate-side small { font-size:.58rem !important; line-height:1.35 !important; }
  .rotate-scar-v177 .scar-rotate-divider { min-width:0 !important; }
  .rotate-scar-v177 .scar-rotate-track { left:.6rem !important; right:.6rem !important; bottom:13% !important; }

  /* EP9 T: outer visual/control may stack; inner visual remains LEFT|SCAR|RIGHT. */
  .scar-t-v178 .scar-step-visual-shell { overflow-x:visible !important; min-width:0 !important; }
  .scar-t-v178 .scar-step-visual-v178 { min-width:0 !important; width:100% !important; min-height:330px !important; }
  .scar-t-v178 .scar-step-visual-v178 .scar-step-side {
    position:absolute !important;
    top:16% !important;
    bottom:27% !important;
    width:37% !important;
    margin:0 !important;
    padding:.45rem !important;
    display:grid !important;
    align-content:center !important;
  }
  .scar-t-v178 .scar-step-visual-v178 .scar-step-side.left { left:3% !important; right:auto !important; }
  .scar-t-v178 .scar-step-visual-v178 .scar-step-side.right { right:3% !important; left:auto !important; }
  .scar-t-v178 .scar-step-visual-v178 .scar-step-gap,
  .scar-t-v178 .scar-step-visual-v178 .scar-step-trace { left:50% !important; top:12% !important; bottom:18% !important; }
  .scar-t-v178 .scar-step-visual-v178 .scar-step-i { top:47% !important; }
  .scar-t-v178 .scar-step-visual-v178 .scar-step-side strong { font-size:.7rem !important; }
  .scar-t-v178 .scar-step-visual-v178 .scar-step-side small { font-size:.58rem !important; }
  .scar-t-v178 .scar-step-depth-markers { right:2%; }

  /* EP9 C: comparison may stack, but semantic scar board remains horizontal. */
  .part3-c-ep9-v177 .scar-c-board-v177 {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) !important;
    gap:.28rem !important;
  }
  .part3-c-ep9-v177 .scar-c-side,
  .part3-c-ep9-v177 .scar-c-trace { min-height:135px !important; padding:.45rem !important; }
  .part3-c-ep9-v177 .scar-c-side strong { font-size:.72rem !important; }

  /* EP10 center/periphery remains center/periphery; shrink rather than linearize. */

  /* Touch usability */
  input[type="range"] { min-height:44px; }
  .part3-i-handle,
  .ep3-i-handle,
}

/* Very narrow phones: compress typography, not semantic axes. */
@media (max-width:390px) {
  .viewport { padding-inline:.55rem; }
  .card { padding:.8rem; }
  .episode-card { padding:.55rem .35rem; }
  .part3-a-ep9 .scar-a-board,
  .rotate-scar-v177 .scar-rotate-room-v177,
  .part3-c-ep9-v177 .scar-c-board-v177 { grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) !important; gap:.2rem !important; }
  .scar-t-v178 .scar-step-visual-v178 { min-height:310px !important; }
}

/* ========================================================================== */
/* EP10 feedback / handover / memory UX */
/* Episodes 1–9 remain semantically/UI locked from v18.0.                     */
/* ========================================================================== */

.part3-a-ep10-v182 .ep10-a-choices-v182{grid-template-columns:repeat(5,minmax(0,1fr))}
.ep10-a-world-v182{position:relative;margin:1rem auto;padding:1rem;width:min(100%,760px);min-height:330px;border-radius:1.2rem;background:radial-gradient(circle at 50% 52%,rgba(255,253,247,.98) 0 20%,rgba(239,235,243,.54) 21% 57%,rgba(248,246,241,.92) 58%);border:1px solid rgba(93,76,114,.14);overflow:hidden}
.ep10-a-world-title{text-align:center;margin-bottom:.8rem}.ep10-a-world-title small,.ep10-a-world-title strong{display:block}.ep10-a-world-title small{font-size:.62rem;color:var(--muted)}.ep10-a-world-title strong{font-size:.92rem}
.ep10-a-factors-v182{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;align-items:stretch;margin-top:1.2rem}
.ep10-a-factor-v182{padding:.7rem .55rem;border-radius:.9rem;background:rgba(255,255,255,.72);border:1px solid rgba(93,76,114,.1);text-align:center;display:grid;gap:.18rem;align-content:center;min-height:82px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ep10-a-factor-v182 small{font-size:.54rem;color:var(--muted)}.ep10-a-factor-v182 strong{font-size:.76rem}.ep10-a-factor-v182.selected{transform:translateY(-4px);border-color:rgba(177,152,90,.46);box-shadow:0 8px 20px rgba(53,43,67,.09);background:rgba(255,252,242,.94)}
.ep10-a-current-v182{margin:1.2rem auto 0;padding:.7rem .9rem;width:min(92%,360px);border-radius:999px;border:1px dashed rgba(93,76,114,.24);background:rgba(255,255,255,.76);text-align:center}.ep10-a-current-v182 small,.ep10-a-current-v182 strong{display:block}.ep10-a-current-v182 small{font-size:.58rem;color:var(--muted)}.ep10-a-current-v182 strong{font-size:.86rem;margin-top:.12rem}

.ep10-feedback-field-v182{position:relative;margin:1rem auto;width:min(100%,760px);min-height:420px;border-radius:1.25rem;background:radial-gradient(circle at 50% 50%,rgba(255,253,247,.98) 0 22%,rgba(239,235,243,.5) 23% 59%,rgba(248,246,241,.94) 60%);border:1px solid rgba(93,76,114,.14);overflow:hidden}
.ep10-feedback-orbit-v182{position:absolute;left:50%;top:50%;width:72%;height:68%;transform:translate(-50%,-50%);border:1px dashed rgba(93,76,114,.18);border-radius:50%}
.ep10-provisional-center-v182{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;min-height:84px;border-radius:999px;background:rgba(255,252,242,.96);border:1px solid rgba(177,152,90,.28);display:grid;place-items:center;text-align:center;padding:.7rem;z-index:2;transition:left 1.25s ease,top 1.25s ease,opacity .5s ease}.ep10-provisional-center-v182 small,.ep10-provisional-center-v182 strong{display:block}.ep10-provisional-center-v182 small{font-size:.58rem;color:var(--muted)}.ep10-provisional-center-v182 strong{font-size:.84rem}
.ep10-world-factor-v182,.ep10-residue-v182{position:absolute;opacity:0;transform:scale(.88);transition:opacity .85s ease,transform 1.05s ease,left 1.2s ease,top 1.2s ease;z-index:3}
.ep10-world-factor-v182{padding:.55rem .7rem;border-radius:.8rem;background:rgba(255,255,255,.9);border:1px solid rgba(93,76,114,.12);font-size:.7rem;font-weight:600}
.ep10-world-factor-v182.wf1{left:5%;top:15%;transition-delay:.00s}.ep10-world-factor-v182.wf2{right:5%;top:16%;transition-delay:.18s}.ep10-world-factor-v182.wf3{left:7%;bottom:14%;transition-delay:.36s}.ep10-world-factor-v182.wf4{right:7%;bottom:14%;transition-delay:.54s}
.ep10-residue-v182{min-width:104px;padding:.42rem .52rem;border-radius:.72rem;background:rgba(255,255,255,.82);border:1px dashed rgba(93,76,114,.14);text-align:center;transition-delay:0s}.ep10-residue-v182 small,.ep10-residue-v182 strong{display:block}.ep10-residue-v182 small{font-size:.5rem;color:var(--muted)}.ep10-residue-v182 strong{font-size:.62rem}.ep10-residue-v182.res7{left:3%;top:48%;transition-delay:.00s}.ep10-residue-v182.res8{left:50%;top:4%;transform:translateX(-50%) scale(.88);transition-delay:.18s}.ep10-residue-v182.res9{right:3%;top:48%;transition-delay:.36s}
.ep10-i-v182{position:absolute;left:50%;top:63%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.92);color:#fff;font-family:Georgia,serif;font-size:1.15rem;box-shadow:0 9px 24px rgba(53,43,67,.18);z-index:6;transition:left 1.8s cubic-bezier(.2,.7,.2,1),top 1.8s cubic-bezier(.2,.7,.2,1),transform 1.2s ease}
.ep10-return-caption-v182{position:absolute;left:50%;top:72%;transform:translateX(-50%);font-size:.62rem;color:var(--muted);transition:left 1.8s ease,top 1.8s ease,opacity .8s ease;opacity:.76}
.ep10-feedback-field-v182.phase-factors .ep10-world-factor-v182,.ep10-feedback-field-v182.phase-residue .ep10-world-factor-v182,.ep10-feedback-field-v182.phase-settled .ep10-world-factor-v182{opacity:1;transform:scale(1)}
.ep10-feedback-field-v182.phase-residue .ep10-residue-v182,.ep10-feedback-field-v182.phase-settled .ep10-residue-v182,.ep10-feedback-field-v182.responded .ep10-residue-v182{opacity:1;transform:scale(1)}
.ep10-feedback-field-v182.phase-residue .ep10-residue-v182.res8,.ep10-feedback-field-v182.phase-settled .ep10-residue-v182.res8,.ep10-feedback-field-v182.responded .ep10-residue-v182.res8{transform:translateX(-50%) scale(1)}
.ep10-feedback-field-v182.responding .ep10-i-v182,.ep10-feedback-field-v182.phase-factors .ep10-i-v182,.ep10-feedback-field-v182.phase-residue .ep10-i-v182{animation:ep10ISway 1.85s ease-in-out infinite alternate}
.ep10-feedback-field-v182.phase-settled .ep10-provisional-center-v182,.ep10-feedback-field-v182.responded .ep10-provisional-center-v182{left:43%;top:48%;border-style:dashed;opacity:.82}
.ep10-feedback-field-v182.phase-settled .ep10-i-v182,.ep10-feedback-field-v182.responded .ep10-i-v182{left:66%;top:60%;transform:translate(-50%,-50%) rotate(10deg);animation:none}
.ep10-feedback-field-v182.phase-settled .ep10-return-caption-v182,.ep10-feedback-field-v182.responded .ep10-return-caption-v182{left:66%;top:70%;opacity:1}
@keyframes ep10ISway{0%{transform:translate(-50%,-50%) rotate(-7deg) translateX(-3px)}50%{transform:translate(-50%,-53%) rotate(5deg)}100%{transform:translate(-50%,-50%) rotate(-3deg) translateX(4px)}}
.ep10-feedback-status-v182{margin:.75rem auto 1rem;width:min(100%,760px);padding:.72rem .9rem;border-radius:.9rem;background:rgba(247,244,249,.72);border:1px solid rgba(93,76,114,.1);text-align:center;font-size:.72rem;color:var(--muted);min-height:3rem;display:grid;place-items:center}

.ep10-t-world-v182{position:relative;margin:1rem auto;width:min(100%,780px);min-height:410px;padding:1rem;border-radius:1.2rem;background:radial-gradient(circle at center,rgba(255,253,247,.98) 0 18%,rgba(239,235,243,.48) 19% 57%,rgba(248,246,241,.94) 58%);border:1px solid rgba(93,76,114,.14);overflow:hidden}
.ep10-old-trace-v182{position:absolute;left:50%;top:8%;transform:translateX(-50%);min-width:190px;padding:.58rem .72rem;border-radius:.8rem;border:1px dashed rgba(93,76,114,.2);background:rgba(255,255,255,.5);text-align:center;opacity:.7}.ep10-old-trace-v182 small,.ep10-old-trace-v182 strong,.ep10-old-trace-v182 span{display:block}.ep10-old-trace-v182 small,.ep10-old-trace-v182 span{font-size:.52rem;color:var(--muted)}.ep10-old-trace-v182 strong{font-size:.72rem}
.ep10-t-residue-v182{position:absolute;min-width:98px;padding:.38rem .45rem;border-radius:.7rem;background:rgba(255,255,255,.72);border:1px dashed rgba(93,76,114,.13);text-align:center}.ep10-t-residue-v182 small,.ep10-t-residue-v182 strong{display:block}.ep10-t-residue-v182 small{font-size:.48rem;color:var(--muted)}.ep10-t-residue-v182 strong{font-size:.58rem}.ep10-t-residue-v182.tr7{left:2%;top:45%}.ep10-t-residue-v182.tr8{right:2%;top:23%}.ep10-t-residue-v182.tr9{right:2%;bottom:14%}
.ep10-holders-v182{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:72%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;z-index:3}
.ep10-holder-v182{min-height:168px;padding:.75rem .6rem;border-radius:1rem;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.12);text-align:center;display:grid;gap:.35rem;align-content:start}.ep10-holder-v182>small{font-size:.52rem;color:var(--muted)}.ep10-holder-v182>strong{font-size:.78rem}.ep10-holder-v182.has-seat{box-shadow:inset 0 0 0 2px rgba(93,76,114,.09)}.ep10-holder-v182.has-key{border-color:rgba(177,152,90,.36)}
.ep10-holder-tokens-v182{min-height:38px;display:flex;justify-content:center;gap:.3rem;align-items:center}
.seat-token,.key-token{display:inline-grid;place-items:center;min-width:34px;height:30px;padding:0 .35rem;border-radius:.55rem;font-size:.62rem;font-weight:700}.seat-token{background:rgba(239,235,243,.92);border:1px solid rgba(93,76,114,.18);color:rgba(73,56,91,.95)}.key-token{background:rgba(255,248,225,.96);border:1px solid rgba(177,152,90,.3);color:rgba(121,91,35,.95)}
.ep10-holder-actions-v182{display:grid;gap:.3rem}.ep10-holder-actions-v182 button{padding:.42rem .35rem;border-radius:.58rem;border:1px solid rgba(93,76,114,.12);background:rgba(248,246,250,.9);font-size:.58rem;cursor:pointer}.ep10-holder-actions-v182 button:disabled{opacity:.4;cursor:default}
.ep10-token-legend-v182{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.8rem 0}.ep10-token-legend-v182>div{display:flex;gap:.65rem;align-items:center;padding:.7rem .8rem;border-radius:.85rem;background:rgba(255,255,255,.55);border:1px solid rgba(93,76,114,.08)}.ep10-token-legend-v182 p{margin:0}.ep10-token-legend-v182 p strong,.ep10-token-legend-v182 p small{display:block}.ep10-token-legend-v182 p strong{font-size:.72rem}.ep10-token-legend-v182 p small{font-size:.58rem;color:var(--muted);margin-top:.08rem}
.ep10-redecide-v182{margin:1rem 0;padding:1rem;border-radius:1rem;background:rgba(247,244,249,.58);border:1px solid rgba(93,76,114,.1);opacity:.74;transition:opacity .2s ease}.ep10-redecide-v182.ready{opacity:1}.ep10-redecide-v182>small,.ep10-redecide-v182>strong{display:block}.ep10-redecide-v182>small{font-size:.58rem;color:var(--muted)}.ep10-redecide-v182>strong{font-size:.86rem;margin:.18rem 0 .7rem}.ep10-redecide-v182>p{font-size:.68rem;color:var(--muted);margin:.65rem 0 0}
.ep10-redecide-grid-v182{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.ep10-redecide-grid-v182 button{padding:.58rem .45rem;border-radius:.7rem;border:1px solid rgba(93,76,114,.12);background:rgba(255,255,255,.82);font-size:.66rem;cursor:pointer}.ep10-redecide-grid-v182 button.selected{background:rgba(255,252,242,.98);border-color:rgba(177,152,90,.44);font-weight:700}.ep10-redecide-grid-v182 button:disabled{opacity:.38;cursor:not-allowed}

.ep10-c-world-v182{position:relative;margin:1rem auto;width:min(100%,780px);min-height:450px;border-radius:1.25rem;background:radial-gradient(circle at 55% 48%,rgba(255,253,247,.98) 0 22%,rgba(239,235,243,.46) 23% 59%,rgba(248,246,241,.94) 60%);border:1px solid rgba(93,76,114,.14);overflow:hidden}
.ep10-c-next-ring-v182{position:absolute;left:55%;top:48%;width:72%;height:68%;transform:translate(-50%,-50%);border:2px dashed rgba(93,76,114,.17);border-radius:50%}.ep10-c-next-ring-v182 span{position:absolute;right:8%;bottom:4%;font-size:.58rem;color:var(--muted)}
.ep10-c-old-v182,.ep10-c-now-v182{position:absolute;padding:.6rem .72rem;border-radius:.82rem;text-align:center}.ep10-c-old-v182{left:7%;top:12%;min-width:150px;border:1px dashed rgba(93,76,114,.2);background:rgba(255,255,255,.55);opacity:.62}.ep10-c-now-v182{left:55%;top:46%;transform:translate(-50%,-50%);min-width:210px;background:rgba(255,252,242,.96);border:1px solid rgba(177,152,90,.32)}.ep10-c-old-v182 small,.ep10-c-old-v182 strong,.ep10-c-old-v182 span,.ep10-c-now-v182 small,.ep10-c-now-v182 strong,.ep10-c-now-v182 span{display:block}.ep10-c-old-v182 small,.ep10-c-old-v182 span,.ep10-c-now-v182 small,.ep10-c-now-v182 span{font-size:.52rem;color:var(--muted)}.ep10-c-old-v182 strong,.ep10-c-now-v182 strong{font-size:.76rem}
.ep10-c-residue-v182{position:absolute;min-width:96px;padding:.38rem .45rem;border-radius:.7rem;background:rgba(255,255,255,.72);border:1px dashed rgba(93,76,114,.13);text-align:center}.ep10-c-residue-v182 small,.ep10-c-residue-v182 strong{display:block}.ep10-c-residue-v182 small{font-size:.48rem;color:var(--muted)}.ep10-c-residue-v182 strong{font-size:.58rem}.ep10-c-residue-v182.cr7{left:3%;top:48%}.ep10-c-residue-v182.cr8{right:4%;top:15%}.ep10-c-residue-v182.cr9{right:3%;top:55%}
.ep10-c-i-v182{position:absolute;left:71%;top:57%;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(93,76,114,.92);color:#fff;font-family:Georgia,serif;z-index:5}
.ep10-c-holders-v182{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);width:72%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.ep10-c-holder-v182{padding:.45rem;border-radius:.7rem;background:rgba(255,255,255,.78);border:1px solid rgba(93,76,114,.1);text-align:center;min-height:64px}.ep10-c-holder-v182 small{display:block;font-size:.52rem;color:var(--muted);margin-bottom:.25rem}.ep10-c-holder-v182>div{display:flex;justify-content:center;gap:.25rem}

@media (max-width:1023px){
  .part3-a-ep10-v182 .ep10-a-choices-v182{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ep10-a-factors-v182{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ep10-feedback-field-v182{min-height:390px}
  .ep10-t-world-v182{min-height:430px}.ep10-holders-v182{width:76%}
  .ep10-redecide-grid-v182{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:719px){
  .part3-a-ep10-v182 .ep10-a-choices-v182{grid-template-columns:1fr 1fr}
  .ep10-a-world-v182{min-height:auto;padding:.85rem}.ep10-a-factors-v182{grid-template-columns:1fr 1fr;gap:.4rem}.ep10-a-factor-v182{min-height:64px;padding:.55rem}.ep10-a-factor-v182:last-child{grid-column:1 / -1}.ep10-a-current-v182{width:100%}
  .ep10-feedback-field-v182{min-height:390px;border-radius:1rem}.ep10-provisional-center-v182{width:150px;min-height:74px}.ep10-world-factor-v182{font-size:.6rem;padding:.42rem .5rem}.ep10-residue-v182{min-width:76px;padding:.32rem}.ep10-residue-v182 strong{font-size:.54rem}.ep10-i-v182{width:46px;height:46px}.ep10-feedback-field-v182.phase-settled .ep10-provisional-center-v182,.ep10-feedback-field-v182.responded .ep10-provisional-center-v182{left:40%}.ep10-feedback-field-v182.phase-settled .ep10-i-v182,.ep10-feedback-field-v182.responded .ep10-i-v182{left:69%}
  .ep10-t-world-v182{min-height:auto;padding:4.6rem .75rem 4.4rem;overflow:visible}.ep10-old-trace-v182{top:.7rem;min-width:160px}.ep10-t-residue-v182{min-width:auto}.ep10-t-residue-v182.tr7{left:.7rem;top:3.55rem}.ep10-t-residue-v182.tr8{right:.7rem;top:3.55rem}.ep10-t-residue-v182.tr9{right:.7rem;bottom:.7rem}.ep10-holders-v182{position:relative;left:auto;top:auto;transform:none;width:100%;grid-template-columns:1fr;gap:.5rem}.ep10-holder-v182{min-height:0;padding:.65rem}.ep10-holder-actions-v182{grid-template-columns:1fr 1fr}.ep10-token-legend-v182{grid-template-columns:1fr}.ep10-redecide-grid-v182{grid-template-columns:1fr 1fr}.ep10-redecide-grid-v182 button:last-child{grid-column:1 / -1}
  .ep10-c-world-v182{min-height:480px}.ep10-c-next-ring-v182{left:52%;width:82%;height:72%}.ep10-c-old-v182{left:4%;top:8%;min-width:118px}.ep10-c-now-v182{left:52%;top:42%;min-width:170px}.ep10-c-residue-v182.cr7{left:3%;top:50%}.ep10-c-residue-v182.cr8{right:3%;top:10%}.ep10-c-residue-v182.cr9{right:3%;top:52%}.ep10-c-i-v182{left:72%;top:53%}.ep10-c-holders-v182{width:92%;grid-template-columns:repeat(3,minmax(0,1fr));bottom:4%}.ep10-c-holder-v182{padding:.36rem;min-height:60px}.ep10-c-holder-v182 .seat-token,.ep10-c-holder-v182 .key-token{min-width:29px;height:26px;font-size:.54rem}
}

@media (max-width:390px){
  .part3-a-ep10-v182 .ep10-a-choices-v182{grid-template-columns:1fr}
  .ep10-feedback-field-v182{min-height:410px}.ep10-world-factor-v182.wf1{left:3%}.ep10-world-factor-v182.wf2{right:3%}.ep10-world-factor-v182.wf3{left:3%}.ep10-world-factor-v182.wf4{right:3%}.ep10-residue-v182.res7{left:2%}.ep10-residue-v182.res9{right:2%}
  .ep10-redecide-grid-v182{grid-template-columns:1fr}
  .ep10-c-world-v182{min-height:500px}.ep10-c-old-v182{min-width:106px}.ep10-c-now-v182{min-width:156px}.ep10-c-holders-v182{gap:.25rem}.ep10-c-holder-v182 small{font-size:.46rem}
}

@media (prefers-reduced-motion:reduce){
  .ep10-world-factor-v182,.ep10-residue-v182,.ep10-provisional-center-v182,.ep10-i-v182,.ep10-return-caption-v182{transition:none!important;animation:none!important}
}


/* Post-LOCK Integration: context, navigation, public copy */
.topbar{gap:.8rem;align-items:center}
.topbar-navigation{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}
.topnav-btn{border:1px solid rgba(93,76,114,.12);background:rgba(255,255,255,.7);border-radius:999px;padding:.48rem .68rem;font-size:.7rem;cursor:pointer;color:var(--ink)}
.topnav-btn:hover{background:rgba(255,255,255,.94)}
.utility-menu{position:relative}
.utility-menu summary{list-style:none;cursor:pointer;border:1px solid rgba(93,76,114,.12);background:rgba(247,244,249,.8);border-radius:999px;padding:.48rem .68rem;font-size:.7rem}
.utility-menu summary::-webkit-details-marker{display:none}
.utility-menu-panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:50;min-width:200px;padding:.45rem;border-radius:.9rem;background:rgba(255,255,255,.98);border:1px solid rgba(93,76,114,.14);box-shadow:0 12px 30px rgba(53,43,67,.12);display:grid;gap:.25rem}
.utility-menu-panel button{width:100%;text-align:left;border:0;background:transparent;border-radius:.65rem;padding:.65rem .7rem;cursor:pointer;font:inherit;font-size:.75rem;color:var(--ink)}
.utility-menu-panel button:hover{background:rgba(239,235,243,.62)}
.utility-menu-panel button.danger{color:#7a3737}
.context-header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:.55rem;margin:0 0 .9rem;padding:.65rem;border-radius:.95rem;background:rgba(250,248,244,.76);border:1px solid rgba(93,76,114,.1)}
.context-header>div{display:grid;gap:.08rem;min-width:0}.context-header small{font-size:.58rem;color:var(--muted)}.context-header strong{font-size:.76rem;line-height:1.35;overflow-wrap:anywhere}
.context-header.compact{padding:.52rem .6rem;margin-bottom:.7rem}
.secondary-navigation{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;margin:1rem 0 .2rem}
.autosave-note{margin-top:.45rem;font-size:.68rem;color:var(--muted)}
.part2-actual-trace{margin:.8rem 0;padding:.8rem .9rem;border-radius:.9rem;background:rgba(247,244,249,.68);border:1px solid rgba(93,76,114,.1);display:grid;gap:.15rem}.part2-actual-trace small{color:var(--muted);font-size:.62rem}.part2-actual-trace strong{font-size:.86rem}.part2-actual-trace p{margin:.1rem 0 0;font-size:.72rem;color:var(--muted)}
@media(max-width:900px){.topbar{align-items:flex-start}.topbar-navigation{max-width:60%}.context-header{grid-template-columns:1fr 1fr}.context-header>div:last-child{grid-column:1/-1}}
@media(max-width:719px){.topbar{display:grid;grid-template-columns:1fr}.topbar-navigation{max-width:none;justify-content:flex-start;width:100%}.topnav-btn,.utility-menu summary{font-size:.65rem;padding:.42rem .58rem}.utility-menu-panel{left:0;right:auto}.context-header{grid-template-columns:1fr;gap:.3rem}.context-header>div:last-child{grid-column:auto}.context-header strong{font-size:.72rem}}


/* v18.5 CLEAN — Record Integrity & Timing */
.summary-record-actions{display:flex;justify-content:flex-end;margin-top:.7rem;padding-top:.65rem;border-top:1px solid rgba(93,76,114,.08)}
.danger.subtle{background:transparent;color:#7d4b4b;border:1px solid rgba(125,75,75,.22);box-shadow:none}
.season2-final-reflection-card{margin:1.1rem 0;padding:1.1rem 1.15rem;border-radius:1rem;border:1px solid rgba(93,76,114,.12);background:rgba(249,247,243,.76)}
.season2-final-reflection-card blockquote{margin:.65rem 0;padding:.75rem .9rem;border-left:3px solid rgba(165,136,73,.35);background:rgba(255,255,255,.65);white-space:pre-wrap}
.season2-final-reflection-card.empty blockquote{color:var(--muted)}
.season2-final-reflection-card p{color:var(--muted);font-size:.82rem}
.trajectory-reflection{margin-top:1.2rem}
@media(max-width:719px){.summary-record-actions{justify-content:stretch}.summary-record-actions button,.season2-final-reflection-card button{width:100%}}


/* ===== v19.3 EP07 / EP09 shared SVG + A/C comparison ===== */
.vp-share-icon{display:block;object-fit:contain}
.vp-share-icon-train{width:56px;height:26px}.vp-share-icon-scar{width:22px;height:60px}
.vp-inline-asset{display:block;object-fit:contain;margin-inline:auto}.vp-inline-asset-train{width:54px;height:24px;margin-bottom:.18rem}.vp-inline-asset-scar{width:18px;height:52px;opacity:.94}
.vp73-shell,.vp93-shell{margin:1rem 0}
.vp73-route-world{padding:1rem;border-radius:1rem;background:linear-gradient(180deg,rgba(247,245,248,.98),rgba(239,234,245,.84));border:1px solid rgba(93,76,114,.14)}
.vp73-route-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.85rem;align-items:center;margin-bottom:.8rem;padding:.6rem .75rem;border-radius:.9rem;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.1)}
.vp73-head-brand{display:flex;align-items:center;gap:.7rem}.vp73-head-brand small,.vp73-route-head span{font-size:.68rem;color:var(--muted)}.vp73-head-brand strong{display:block;font-size:.9rem}
.vp73-route-rows{display:grid;gap:.5rem}.vp73-route-row{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1.35fr);gap:.55rem;align-items:stretch}
.vp73-origin,.vp73-dest{padding:.68rem .75rem;border-radius:.85rem;border:1px solid rgba(93,76,114,.12);background:rgba(255,255,255,.8);display:grid;align-content:center;gap:.14rem}
.vp73-origin small,.vp73-dest small,.vp73-dest em{font-size:.66rem;color:var(--muted);font-style:normal;line-height:1.35}.vp73-origin strong,.vp73-dest strong{font-size:.82rem;line-height:1.35}
.vp73-link{position:relative;display:grid;place-items:center}.vp73-link span{width:100%;height:2px;background:linear-gradient(90deg,rgba(93,76,114,.18),rgba(169,136,79,.7));position:relative}.vp73-link span::after{content:"";position:absolute;right:-1px;top:50%;width:10px;height:10px;border-top:2px solid rgba(169,136,79,.82);border-right:2px solid rgba(169,136,79,.82);transform:translateY(-50%) rotate(45deg)}
.vp73-route-row.a .vp73-dest.hint{background:rgba(248,245,240,.9)}.vp73-route-row.c .vp73-dest.filled{background:rgba(245,240,248,.92);border-color:rgba(93,76,114,.22)}.vp73-route-explainer{margin-top:.55rem;font-size:.7rem;color:var(--muted)}
.vp93-scar-world{display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);gap:.8rem;align-items:stretch}.vp93-scar-side,.vp93-scar-center{padding:1rem;border-radius:1rem;border:1px solid rgba(115,75,75,.12);display:grid;align-content:center;gap:.25rem;background:rgba(255,255,255,.72)}.vp93-scar-side small,.vp93-scar-center small,.vp93-scar-side span{font-size:.7rem;color:var(--muted);line-height:1.45}.vp93-scar-side strong,.vp93-scar-center strong{font-size:.92rem;line-height:1.35}.vp93-scar-center{justify-items:center;text-align:center;background:rgba(247,240,240,.74)}.vp93-scar-world.is-c .vp93-scar-center,.vp93-scar-world.is-c .vp93-scar-side.left{border-color:rgba(115,75,75,.2)}
.vp-ac-scene-compare{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:.8rem;align-items:stretch;margin:1rem 0}.vp-ac-scene-card{padding:.85rem;border-radius:1rem;background:rgba(255,255,255,.64);border:1px solid rgba(93,76,114,.12)}.vp-ac-scene-card.active{background:rgba(239,235,243,.58);border-color:rgba(93,76,114,.22)}.vp-ac-scene-label{display:inline-flex;align-items:center;padding:.24rem .55rem;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(93,76,114,.12);font-size:.68rem;font-weight:700;margin-bottom:.65rem}.vp-ac-scene-arrow{display:grid;place-items:center;font-size:1.2rem;color:var(--muted)}.vp-ac-scene-card p{margin:.65rem 0 0;font-size:.72rem;color:var(--muted);line-height:1.6}
.ep7-stop-v174 .ep7-shared-world,.ep7-stop-v173 .ep7-shared-world,.ep7-stop-v172 .ep7-shared-world{justify-items:center}.route-map-label{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.route-map-label .vp-inline-asset-train{margin:0}
.scar-rotate-divider,.scar-step-trace{display:grid;justify-items:center;align-content:center;gap:.22rem}.scar-rotate-divider .vp-inline-asset-scar{margin-top:.2rem}.scar-step-trace .vp-inline-asset-scar{position:relative;z-index:1;width:14px;height:42px;opacity:.85}
@media (max-width: 719px){.vp73-route-head{grid-template-columns:1fr;gap:.45rem}.vp73-route-row{grid-template-columns:minmax(0,1fr) 34px minmax(0,1.08fr)}.vp93-scar-world{grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);gap:.45rem}.vp-ac-scene-compare{grid-template-columns:1fr;gap:.55rem}.vp-ac-scene-arrow{transform:rotate(90deg)}}
@media (max-width: 430px){.vp73-route-row{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:.3rem}.vp73-origin,.vp73-dest,.vp93-scar-side,.vp93-scar-center{padding:.58rem}.vp93-scar-world{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)}}


/* ===== v19.4 refinements ===== */
.vp73-route-world.compact .vp73-route-head{margin-bottom:.55rem;padding:.5rem .62rem;grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}
.vp73-route-world.compact .vp73-head-brand small,.vp73-route-world.compact .vp73-route-head span{font-size:.62rem}
.vp73-route-world.compact .vp73-route-rows{gap:.38rem}
.vp73-route-row.compact{grid-template-columns:minmax(0,.95fr) 34px minmax(0,1.1fr);gap:.4rem}
.vp73-route-row.compact .vp73-origin,.vp73-route-row.compact .vp73-dest{padding:.56rem .62rem}
.vp73-route-row.compact .vp73-origin small,.vp73-route-row.compact .vp73-dest small{font-size:.6rem}
.vp73-route-row.compact .vp73-origin strong,.vp73-route-row.compact .vp73-dest strong{font-size:.76rem}

.vp-share-icon-scar{width:18px;height:52px}
.vp93-scar-center{gap:.18rem}
.vp93-scar-center .vp-share-icon-scar{opacity:.92}

@media (max-width: 719px){
  .vp73-route-head{padding:.52rem .62rem}
  .vp73-head-brand{gap:.52rem}
  .vp73-head-brand small,.vp73-route-head span{font-size:.62rem}
  .vp73-head-brand strong{font-size:.84rem}
  .vp73-route-row{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:.26rem}
  .vp73-origin,.vp73-dest{padding:.54rem .58rem}
  .vp73-origin small,.vp73-dest small,.vp73-dest em{font-size:.6rem}
  .vp73-origin strong,.vp73-dest strong{font-size:.74rem}
  .vp93-scar-world{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:.34rem}
  .vp93-scar-side,.vp93-scar-center{padding:.68rem .58rem}
  .vp93-scar-side small,.vp93-scar-center small,.vp93-scar-side span{font-size:.62rem}
  .vp93-scar-side strong,.vp93-scar-center strong{font-size:.82rem}
  .vp-share-icon-scar{width:16px;height:46px}
  .vp-ac-scene-card{padding:.68rem}
  .vp-ac-scene-label{font-size:.62rem;padding:.2rem .48rem;margin-bottom:.5rem}
  .vp-ac-scene-card p{margin-top:.5rem;font-size:.66rem;line-height:1.5}
}
@media (max-width: 430px){
  .vp73-route-head{padding:.46rem .52rem;margin-bottom:.5rem}
  .vp73-head-brand strong{font-size:.8rem}
  .vp73-route-rows{gap:.3rem}
  .vp73-route-row{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:.22rem}
  .vp73-origin,.vp73-dest,.vp93-scar-side,.vp93-scar-center{padding:.5rem}
  .vp73-origin strong,.vp73-dest strong{font-size:.7rem}
  .vp73-origin small,.vp73-dest small,.vp73-dest em{font-size:.56rem}
  .vp93-scar-world{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:.28rem}
  .vp93-scar-side strong,.vp93-scar-center strong{font-size:.76rem}
  .vp93-scar-side small,.vp93-scar-center small,.vp93-scar-side span{font-size:.58rem}
  .vp-share-icon-scar{width:14px;height:40px}
  .vp-ac-scene-card{padding:.58rem}
  .vp-ac-scene-card p{font-size:.62rem}
}


/* ===== v19.5 EP07 arrow refinement ===== */
.vp73-route-row.a .vp73-link span{
  height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10' viewBox='0 0 24 10'%3E%3Cpath d='M0 6 Q3 1 6 6 T12 6 T18 6 T24 6' fill='none' stroke='%23A9884F' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x center / 24px 10px;
}
.vp73-route-row.a .vp73-link span::after{width:8px;height:8px;border-top:2px solid rgba(169,136,79,.82);border-right:2px solid rgba(169,136,79,.82)}
.vp73-route-row.c .vp73-link span{height:5px;background:linear-gradient(90deg,rgba(93,76,114,.34),rgba(93,76,114,.92));border-radius:999px}
.vp73-route-row.c .vp73-link span::after{width:12px;height:12px;border-top:3px solid rgba(93,76,114,.92);border-right:3px solid rgba(93,76,114,.92)}

/* ===== v19.5 EP10 SVG assets ===== */
.ep10-plaza-badge{display:flex;align-items:center;gap:.62rem;padding:.45rem .58rem;border-radius:.9rem;background:rgba(255,255,255,.82);border:1px solid rgba(123,142,170,.16);width:max-content;max-width:100%}
.ep10-plaza-badge small{display:block;font-size:.62rem;color:var(--muted)}
.ep10-plaza-badge strong{display:block;font-size:.82rem;line-height:1.2}
.ep10-plaza-icon{display:block;width:34px;height:34px;object-fit:contain;flex:0 0 auto}
.ep10-a-world-title{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.ep10-a-world-title > div:last-child{min-width:180px}
.ep10-feedback-field-v182 .ep10-plaza-badge.in-i,
.ep10-t-world-v182 .ep10-plaza-badge.in-t,
.ep10-c-world-v182 .ep10-plaza-badge.in-c{position:absolute;left:16px;top:14px;z-index:3;transform:scale(.94);transform-origin:top left}
.ep10-a-world-v182 .ep10-plaza-badge.in-a{margin-left:auto}

.svg-token{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .4rem;border-radius:999px;vertical-align:middle}
.svg-token-icon{display:block;width:18px;height:18px;object-fit:contain}
.seat-token.svg-token,.key-token.svg-token{background:rgba(255,255,255,.82)}
.ep10-holder-tokens-v182 .svg-token{margin-inline:.12rem}
.ep10-token-legend-v182 .svg-token{margin-bottom:.35rem}
.ep10-c-holder-v182 .svg-token,.ep10-holder-v182 .svg-token{padding:.12rem .32rem}

@media (max-width: 719px){
  .ep10-plaza-badge{gap:.45rem;padding:.36rem .46rem}
  .ep10-plaza-icon{width:28px;height:28px}
  .ep10-plaza-badge small{font-size:.56rem}
  .ep10-plaza-badge strong{font-size:.74rem}
  .ep10-feedback-field-v182 .ep10-plaza-badge.in-i,
  .ep10-t-world-v182 .ep10-plaza-badge.in-t,
  .ep10-c-world-v182 .ep10-plaza-badge.in-c{left:10px;top:10px;transform:scale(.88)}
  .svg-token-icon{width:16px;height:16px}
  .svg-token{gap:.22rem;padding:.1rem .28rem}
}
@media (max-width: 430px){
  .ep10-a-world-title{gap:.5rem}
  .ep10-plaza-badge{padding:.28rem .38rem}
  .ep10-plaza-icon{width:24px;height:24px}
  .ep10-feedback-field-v182 .ep10-plaza-badge.in-i,
  .ep10-t-world-v182 .ep10-plaza-badge.in-t,
  .ep10-c-world-v182 .ep10-plaza-badge.in-c{transform:scale(.82)}
}


/* ===== v19.6 EP10 seat/key visibility ===== */
/* T and C: enlarge seat/key SVG icons and pills for clearer recognition */
.ep10-holder-tokens-v182 .svg-token,
.ep10-token-legend-v182 .svg-token,
.ep10-c-holder-v182 .svg-token{
  min-height:46px;
  padding:.38rem .62rem !important;
  gap:.42rem !important;
  border-width:1.5px;
}

.ep10-holder-tokens-v182 .svg-token-icon,
.ep10-token-legend-v182 .svg-token-icon,
.ep10-c-holder-v182 .svg-token-icon{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px;
}

.ep10-holder-tokens-v182 .svg-token > span,
.ep10-token-legend-v182 .svg-token > span,
.ep10-c-holder-v182 .svg-token > span{
  font-size:.92rem;
  font-weight:700;
  line-height:1;
}

.ep10-token-legend-v182 .svg-token{
  min-width:78px;
  justify-content:center;
}

.ep10-holder-v182 .ep10-holder-tokens-v182{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
}

.ep10-c-holder-v182 > div{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
}

@media (max-width:719px){
  .ep10-holder-tokens-v182 .svg-token,
  .ep10-token-legend-v182 .svg-token,
  .ep10-c-holder-v182 .svg-token{
    min-height:42px;
    padding:.32rem .52rem !important;
  }

  .ep10-holder-tokens-v182 .svg-token-icon,
  .ep10-token-legend-v182 .svg-token-icon,
  .ep10-c-holder-v182 .svg-token-icon{
    width:25px !important;
    height:25px !important;
    flex-basis:25px;
  }

  .ep10-holder-tokens-v182 .svg-token > span,
  .ep10-token-legend-v182 .svg-token > span,
  .ep10-c-holder-v182 .svg-token > span{
    font-size:.86rem;
  }
}

@media (max-width:430px){
  .ep10-holder-tokens-v182 .svg-token,
  .ep10-token-legend-v182 .svg-token,
  .ep10-c-holder-v182 .svg-token{
    min-height:40px;
    padding:.3rem .46rem !important;
  }

  .ep10-holder-tokens-v182 .svg-token-icon,
  .ep10-token-legend-v182 .svg-token-icon,
  .ep10-c-holder-v182 .svg-token-icon{
    width:23px !important;
    height:23px !important;
    flex-basis:23px;
  }

  .ep10-holder-tokens-v182 .svg-token > span,
  .ep10-token-legend-v182 .svg-token > span,
  .ep10-c-holder-v182 .svg-token > span{
    font-size:.82rem;
  }
}


/* ===== v19.7 EP01-03 refinements ===== */
.part1-ac-summary{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:.75rem;align-items:stretch;margin:1rem 0}.part1-ac-summary>div{padding:.82rem .9rem;border-radius:1rem;background:rgba(255,255,255,.72);border:1px solid rgba(22,36,56,.10)}.part1-ac-summary>div.active{background:rgba(239,235,243,.58);border-color:rgba(93,76,114,.22)}.part1-ac-summary>span{display:grid;place-items:center;font-size:1.2rem;color:var(--muted)}.part1-ac-summary small{display:block;font-size:.68rem;color:var(--muted);margin-bottom:.15rem}.part1-ac-summary strong{display:block;font-size:.95rem;line-height:1.35}.part1-ac-summary p{margin:.35rem 0 0;font-size:.72rem;line-height:1.55;color:var(--muted)}
.ep1-ac-board{position:relative;min-height:280px;border-radius:1rem;background:linear-gradient(180deg,rgba(247,245,248,.98),rgba(238,236,231,.88));border:1px solid rgba(169,136,79,.16);overflow:hidden}.ep1-ac-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:160px;padding:.72rem .9rem;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(93,76,114,.18);text-align:center;box-shadow:0 10px 24px rgba(22,36,56,.06)}.ep1-ac-core small{display:block;font-size:.62rem;color:var(--muted)}.ep1-ac-core strong{display:block;font-size:.95rem;line-height:1.35}.ep1-ac-node{position:absolute;display:grid;gap:.1rem;align-content:center;min-width:112px;max-width:132px;padding:.55rem .62rem;border-radius:.9rem;background:rgba(255,255,255,.78);border:1px dashed rgba(22,36,56,.16);text-align:center}.ep1-ac-node small{font-size:.58rem;color:var(--muted)}.ep1-ac-node strong{font-size:.76rem;line-height:1.35}.ep1-ac-node.ghost{opacity:.38}.ep1-ac-node.touched{border-style:solid;border-color:rgba(76,105,142,.28);background:rgba(241,245,251,.92)}.ep1-ac-node.rest{background:rgba(248,245,240,.88)}.ep1-ac-node.own{border-style:solid;border-color:rgba(78,119,90,.24);background:rgba(241,248,243,.92)}.ep1-ac-node.n1{left:14px;top:20px}.ep1-ac-node.n2{right:16px;top:34px}.ep1-ac-node.n3{left:22px;bottom:22px}.ep1-ac-node.n4{right:18px;bottom:24px}.ep1-ac-node.o1{left:50%;bottom:16px;transform:translateX(-50%)}.ep1-ac-node.o2{left:50%;top:16px;transform:translateX(-50%)}.ep1-ac-ellipsis{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.1rem;color:var(--muted)}.ep1-ac-ellipsis.muted{font-size:.68rem;right:12px}
.v197-ep3-svg .ep3-shared-badge{margin:0 auto .72rem}.ep3-shared-badge{display:inline-grid;gap:.04rem;justify-items:center;padding:.34rem .6rem;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(169,136,79,.22);font-size:.62rem;color:var(--muted)}.ep3-shared-badge strong{font-size:.8rem;color:var(--ink)}.ep3-shared-badge.in-rotate,.ep3-shared-badge.in-t{position:absolute;left:12px;top:12px;z-index:2}
.ep3-entry-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.ep3-entry-step{padding:.78rem .7rem;border-radius:1rem;background:rgba(255,255,255,.86);border:1px solid rgba(169,136,79,.18);display:grid;justify-items:center;gap:.18rem;text-align:center}.ep3-entry-icon{width:30px;height:30px;object-fit:contain}.ep3-entry-step small{font-size:.6rem;color:var(--muted)}.ep3-entry-step strong{font-size:.8rem;line-height:1.4}
.ep3-role-chip{display:flex;align-items:center;gap:.45rem;padding:.48rem .55rem;border-radius:.95rem;background:rgba(255,255,255,.84);border:1px solid rgba(22,36,56,.10)}.ep3-role-chip.compact{padding:.42rem .5rem}.ep3-role-icon{width:22px;height:22px;object-fit:contain;flex:0 0 22px}.ep3-role-chip span{display:grid;gap:.04rem}.ep3-role-chip small,.ep3-role-chip em{font-size:.58rem;color:var(--muted);font-style:normal;line-height:1.35}.ep3-role-chip strong{font-size:.75rem;line-height:1.3}
.ep3-back-roles{display:grid;gap:.42rem;width:100%}.mirror-card .mirror-side{display:flex;gap:.5rem;align-items:flex-start}.mirror-card-icon{width:24px;height:24px;object-fit:contain;flex:0 0 24px;margin-top:.1rem}.mirror-copy{display:grid;gap:.08rem}.mirror-copy small,.mirror-copy em{font-size:.58rem;color:var(--muted);font-style:normal;line-height:1.35}
.ep3-compare-board{display:grid;gap:.55rem}.ep3-compare-board.is-a .ep3-compare-row,.ep3-compare-board.is-c .ep3-evidence-group{padding:.6rem .66rem;border-radius:.95rem;background:rgba(255,255,255,.82);border:1px solid rgba(22,36,56,.10)}.ep3-compare-row{display:flex;align-items:center;gap:.48rem}.ep3-compare-row div{display:grid;gap:.04rem}.ep3-compare-row small,.ep3-evidence-group>small,.ep3-evidence-chip small{font-size:.58rem;color:var(--muted)}.ep3-compare-row strong,.ep3-evidence-chip strong{font-size:.75rem;line-height:1.35}.ep3-choice-badge{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(169,136,79,.18);font-size:.68rem;font-weight:700;color:var(--ink)}.ep3-role-chip-group{display:grid;gap:.42rem}.ep3-evidence-group{display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-start}.ep3-evidence-group>small{width:100%}.ep3-evidence-chip{display:grid;gap:.04rem;padding:.38rem .46rem;border-radius:.8rem;background:rgba(249,248,244,.94);border:1px solid rgba(22,36,56,.10)}.ep3-evidence-chip.own{border-color:rgba(78,119,90,.22);background:rgba(241,248,243,.92)}.ep3-evidence-chip.empty{border-style:dashed;color:var(--muted)}
@media (max-width:719px){.part1-ac-summary{grid-template-columns:1fr;gap:.55rem}.part1-ac-summary>span{transform:rotate(90deg)}.ep1-ac-board{min-height:248px}.ep1-ac-node{min-width:96px;max-width:110px;padding:.46rem .5rem}.ep1-ac-node strong{font-size:.68rem}.ep1-ac-core{min-width:136px;padding:.62rem .76rem}.ep3-entry-board{grid-template-columns:1fr;gap:.46rem}.ep3-role-chip{padding:.38rem .44rem}.ep3-role-icon,.mirror-card-icon{width:20px;height:20px;flex-basis:20px}}
@media (max-width:430px){.ep1-ac-board{min-height:228px}.ep1-ac-node{min-width:84px;max-width:96px;padding:.38rem .42rem}.ep1-ac-node small{font-size:.54rem}.ep1-ac-node strong{font-size:.62rem}.ep1-ac-core strong{font-size:.82rem}.ep3-entry-step{padding:.62rem .56rem}.ep3-entry-step strong{font-size:.74rem}.ep3-role-chip strong,.ep3-evidence-chip strong{font-size:.7rem}}


/* ===== v19.8 EP02 light visual enhancement ===== */
.ep2-visual-badge{display:inline-grid;gap:.04rem;justify-items:center;padding:.34rem .62rem;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(76,105,142,.20);font-size:.62rem;color:var(--muted);margin:0 auto .72rem}
.ep2-visual-badge strong{font-size:.82rem;color:var(--ink)}
.ep2-visual-badge.in-t{display:flex;width:max-content;margin:0 auto .8rem}
.judge-preview-v198{position:relative;padding-top:.2rem}
.judge-preview-v198 span{position:relative;gap:.22rem;flex-direction:column;padding:12px 8px 10px}
.judge-preview-v198 span b{font-size:.62rem;color:var(--muted);font-weight:700;line-height:1}
.judge-preview-v198 small{margin-top:.12rem;text-align:center}
.ep2-a .scene-card,.part1-c-ep2 .field-comparison-v198,.part1-c-ep2 .part1-ac-summary-ep2{margin-top:.95rem}
.classification-field-v198{background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(246,243,236,.68));box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.classification-field-v198::before{content:'';position:absolute;inset:16px auto auto 50%;transform:translateX(-50%);width:min(76%,360px);height:76px;border-radius:999px;background:radial-gradient(circle at center, rgba(123,142,170,.12), rgba(123,142,170,0));pointer-events:none}
.part1-c-ep2 .field-label{font-weight:700}
.part1-c-ep2 .field-panel p{margin-top:.42rem}

/* ===== v19.8 EP03 T tune-down ===== */
.mirror-grid{gap:.55rem}
.mirror-card{min-height:176px}
.mirror-side{padding:.82rem .82rem .78rem;gap:.34rem}
.mirror-side strong{font-size:.95rem;line-height:1.45}
.mirror-side small,.mirror-side em,.mirror-copy small,.mirror-copy em{font-size:.62rem;line-height:1.28}
.mirror-card .mirror-side{gap:.42rem}
.mirror-card-icon{width:20px;height:20px;flex:0 0 20px;margin-top:.08rem}
.reversal-t .t-copy{margin-bottom:.8rem}
@media (max-width:719px){
  .ep2-visual-badge{margin-bottom:.56rem;padding:.3rem .54rem}
  .ep2-visual-badge strong{font-size:.76rem}
  .judge-preview-v198 span{padding:10px 7px 9px}
  .mirror-grid{grid-template-columns:1fr;gap:.5rem}
  .mirror-card{min-height:152px}
  .mirror-side{padding:.7rem .72rem .68rem}
  .mirror-side strong{font-size:.88rem}
}
@media (max-width:430px){
  .judge-preview-v198 span{padding:8px 6px 8px}
  .judge-preview-v198 span b{font-size:.58rem}
  .mirror-card{min-height:142px}
  .mirror-side strong{font-size:.82rem}
  .mirror-card-icon{width:18px;height:18px;flex-basis:18px}
}


/* ===== v19.9 CLEAN EP02 A layout ===== */
.judge-preview-v199{grid-template-columns:1fr;gap:.72rem;padding:14px 14px 16px}
.judge-preview-v199 .judge-preview-bar{display:grid;justify-items:center;gap:.06rem;padding:.48rem .8rem;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(76,105,142,.20)}
.judge-preview-v199 .judge-preview-bar small{grid-column:auto;margin:0;font-size:.62rem;color:var(--muted)}
.judge-preview-v199 .judge-preview-bar strong{font-size:.9rem;line-height:1.2;color:var(--ink)}
.judge-preview-v199 .judge-preview-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.judge-preview-v199 .judge-preview-row span{display:flex;justify-content:center;align-items:center;gap:.22rem;flex-direction:column;padding:12px 8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(48,63,54,.12);font-weight:700;font-size:.92rem}
.judge-preview-v199 .judge-preview-row span b{font-size:.62rem;color:var(--muted);font-weight:700;line-height:1}
.judge-preview-v199 > small{margin-top:-.1rem;text-align:center;color:#516057}
@media (max-width:719px){
  .judge-preview-v199 .judge-preview-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .judge-preview-v199 .judge-preview-row span{padding:10px 7px 9px}
}
@media (max-width:430px){
  .judge-preview-v199{gap:.58rem;padding:12px 12px 14px}
  .judge-preview-v199 .judge-preview-bar{padding:.42rem .68rem}
  .judge-preview-v199 .judge-preview-bar strong{font-size:.84rem}
  .judge-preview-v199 .judge-preview-row{grid-template-columns:1fr 1fr;gap:.46rem}
  .judge-preview-v199 .judge-preview-row span{padding:8px 6px 8px;font-size:.86rem}
  .judge-preview-v199 .judge-preview-row span b{font-size:.58rem}
}


/* ===== v20.1 CLEAN : EP01 common land background base ===== */
.logo-mark img{width:78%;height:78%;object-fit:contain;display:block}
.ep1-land-world{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(247,244,236,.98) 0%,rgba(240,236,225,.95) 48%,rgba(233,239,231,.94) 100%)}
.ep1-land-world::before{content:'';position:absolute;inset:auto -2% 0 -2%;height:42%;background:linear-gradient(180deg,rgba(167,184,146,.22),rgba(123,155,116,.18));clip-path:polygon(0 42%,16% 33%,31% 46%,47% 29%,61% 38%,76% 26%,100% 40%,100% 100%,0 100%);pointer-events:none;z-index:0}
.ep1-land-world::after{content:'';position:absolute;left:-4%;right:-4%;bottom:0;height:26%;background:linear-gradient(180deg,rgba(135,164,120,.10),rgba(112,143,93,.18));clip-path:polygon(0 58%,12% 50%,26% 64%,40% 54%,53% 65%,67% 48%,83% 62%,100% 52%,100% 100%,0 100%);pointer-events:none;z-index:0}
.ep1-land-visual{position:relative;min-height:248px;margin:1rem 0 1.1rem;border-radius:1.05rem;border:1px solid rgba(169,136,79,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.52)}
.ep1-land-visual .ep1-land-decision{left:50%;top:52%;transform:translate(-50%,-50%);min-width:170px;padding:.74rem .95rem;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(93,76,114,.18);text-align:center;box-shadow:0 10px 24px rgba(22,36,56,.06)}
.ep1-land-visual .ep1-land-decision small{display:block;font-size:.62rem;color:var(--muted)}
.ep1-land-visual .ep1-land-decision strong{display:block;font-size:.96rem;line-height:1.35}
.ep1-land-visual .ep1-land-note{left:50%;bottom:10%;transform:translateX(-50%);padding:.38rem .76rem;border-radius:999px;background:rgba(255,255,255,.78);border:1px dashed rgba(22,36,56,.14);font-size:.72rem;color:var(--muted);text-align:center;white-space:nowrap}
.ep1-a-land .question{margin-top:.2rem}
.scene-episode1-shift .radial-shift-field{box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.scene-episode1-shift .radial-shift-rings span:nth-child(3){border-color:rgba(116,144,100,.26)}
.scene-episode1-shift .radial-node{background:rgba(255,255,255,.84)}
.relation-map-v5.ep1-land-world{border-radius:1.05rem;border:1px solid rgba(169,136,79,.16)}
.relation-map-v5.ep1-land-world .relation-ellipsis{background:rgba(255,255,255,.42);padding:.1rem .28rem;border-radius:999px}
.ep1-ac-board.ep1-land-world{background:linear-gradient(180deg,rgba(247,244,236,.98),rgba(240,236,225,.95) 48%,rgba(233,239,231,.94) 100%)}
@media (max-width:719px){.ep1-land-visual{min-height:226px}.ep1-land-visual .ep1-land-decision{min-width:146px;padding:.64rem .78rem}.ep1-land-visual .ep1-land-note{font-size:.66rem;white-space:normal;max-width:84%}}
@media (max-width:430px){.ep1-land-visual{min-height:210px}.ep1-land-visual .ep1-land-decision strong{font-size:.84rem}.ep1-land-visual .ep1-land-note{font-size:.62rem}}

/* ===== v20.1 CLEAN fixes ===== */
/* EP01 common land background: decorative layers stay behind; child positioning remains native. */
.ep1-land-world::before,.ep1-land-world::after{z-index:0}
.ep1-land-visual .ep1-land-chip,.ep1-land-visual .ep1-land-decision,.ep1-land-visual .ep1-land-note{position:absolute;z-index:2}
.scene-episode1-shift .radial-shift-rings,.scene-episode1-shift .radial-shift-relations,.scene-episode1-shift .radial-shift-trail,.scene-episode1-shift .radial-center,.scene-episode1-shift .radial-handle{position:absolute}
.relation-map-v5.ep1-land-world .relation-web,.relation-map-v5.ep1-land-world .open-node,.relation-map-v5.ep1-land-world .land-core,.relation-map-v5.ep1-land-world .relation-node,.relation-map-v5.ep1-land-world .user-relation-node,.relation-map-v5.ep1-land-world .relation-ellipsis{position:absolute}
.ep1-ac-board.ep1-land-world .ep1-ac-core,.ep1-ac-board.ep1-land-world .ep1-ac-node,.ep1-ac-board.ep1-land-world .ep1-ac-ellipsis{position:absolute}

/* 1A hierarchy: common background becomes a top bar; A judgment remains the focal pill. */
.ep1-land-visual{padding-top:48px}
.ep1-land-visual .ep1-land-chip{left:0;right:0;top:0;transform:none;min-height:48px;border-radius:1.05rem 1.05rem 0 0;padding:.48rem .9rem;display:flex;align-items:center;justify-content:center;gap:.48rem;background:rgba(255,255,255,.88);border:0;border-bottom:1px solid rgba(169,136,79,.18)}
.ep1-land-visual .ep1-land-chip small{font-size:.62rem;letter-spacing:.04em;color:var(--muted)}
.ep1-land-visual .ep1-land-chip small::after{content:'｜';margin-left:.45rem;color:rgba(22,36,56,.28)}
.ep1-land-visual .ep1-land-chip strong{font-size:.9rem;color:var(--ink)}
.ep1-land-visual .ep1-land-decision{top:52%;}
.ep1-land-visual .ep1-land-note{bottom:8%;}

/* EP01 i: all rings and nodes stay inside the frame. */
.scene-episode1-shift .radial-shift-field{width:min(100%,560px);height:360px;min-height:360px;margin-inline:auto}
.scene-episode1-shift .radial-shift-rings span:nth-child(1){width:104px;height:104px}
.scene-episode1-shift .radial-shift-rings span:nth-child(2){width:196px;height:196px}
.scene-episode1-shift .radial-shift-rings span:nth-child(3){width:286px;height:286px}
.scene-episode1-shift .radial-center{width:122px;height:122px}
.scene-episode1-shift .radial-node.n1{left:8%;top:12%}
.scene-episode1-shift .radial-node.n2{right:8%;top:12%}
.scene-episode1-shift .radial-node.n3{right:8%;bottom:12%}
.scene-episode1-shift .radial-node.n4{left:8%;bottom:12%}

/* EP01 T: use the land field as a frame, not as a layout container. */
.relation-map-v5.ep1-land-world{width:min(100%,620px);height:430px;min-height:430px;aspect-ratio:auto;margin-inline:auto;padding:0}
.relation-map-v5.ep1-land-world .land-core{left:50%;top:50%;width:34%;min-height:30%;transform:translate(-50%,-50%)}
.relation-map-v5.ep1-land-world .relation-1{left:6%;top:10%}
.relation-map-v5.ep1-land-world .relation-2{right:6%;top:14%}
.relation-map-v5.ep1-land-world .relation-3{left:6%;bottom:12%}
.relation-map-v5.ep1-land-world .relation-4{right:6%;bottom:10%}

/* EP01 C: stable inner composition; no overflow or left-side stacking. */
.vp-ac-scene-compare-ep1 .vp-ac-scene-card{min-width:0;overflow:hidden}
.ep1-ac-board.ep1-land-world{width:100%;height:300px;min-height:300px}
.ep1-ac-board.ep1-land-world .ep1-ac-core{left:50%;top:50%;transform:translate(-50%,-50%);z-index:3}
.ep1-ac-board.ep1-land-world .ep1-ac-node{z-index:2}
.ep1-ac-board.ep1-land-world .ep1-ac-node.n1{left:4%;top:10%}
.ep1-ac-board.ep1-land-world .ep1-ac-node.n2{right:4%;top:14%}
.ep1-ac-board.ep1-land-world .ep1-ac-node.n3{left:4%;bottom:12%}
.ep1-ac-board.ep1-land-world .ep1-ac-node.n4{right:4%;bottom:10%}
.ep1-ac-board.ep1-land-world .ep1-ac-node.o1{left:50%;bottom:5%;transform:translateX(-50%)}
.ep1-ac-board.ep1-land-world .ep1-ac-node.o2{left:50%;top:5%;transform:translateX(-50%)}
.ep1-ac-board.ep1-land-world .ep1-ac-ellipsis{right:3%;top:50%}

/* EP01-03 i: same metallic treatment as EP04 utility i, not the formal logo asset. */
.visual-prototype .v201-metallic-i{color:#f4f1e9!important;background:linear-gradient(145deg,#d4d7da 0%,#777e86 36%,#343b43 66%,#b9bec3 100%)!important;border:1px solid rgba(207,182,123,.78)!important;text-shadow:0 1px 1px rgba(0,0,0,.35)!important;box-shadow:0 9px 26px rgba(22,36,56,.18),inset 1px 1px 1px rgba(255,255,255,.55)!important;font-family:Georgia,serif!important;font-weight:700!important;font-size:1.45rem!important;line-height:1!important}
.visual-prototype .ep3-i-handle.v201-metallic-i{font-size:1.3rem!important}

@media (max-width:719px){
  .ep1-land-visual{padding-top:44px}
  .ep1-land-visual .ep1-land-chip{min-height:44px}
  .scene-episode1-shift .radial-shift-field{height:336px;min-height:336px}
  .scene-episode1-shift .radial-shift-rings span:nth-child(3){width:270px;height:270px}
  .relation-map-v5.ep1-land-world{height:390px;min-height:390px}
  .ep1-ac-board.ep1-land-world{height:280px;min-height:280px}
}
@media (max-width:430px){
  .scene-episode1-shift .radial-shift-field{height:312px;min-height:312px}
  .scene-episode1-shift .radial-shift-rings span:nth-child(3){width:248px;height:248px}
  .scene-episode1-shift .radial-shift-rings span:nth-child(2){width:178px;height:178px}
  .scene-episode1-shift .radial-shift-rings span:nth-child(1){width:98px;height:98px}
  .relation-map-v5.ep1-land-world{height:360px;min-height:360px}
  .ep1-ac-board.ep1-land-world{height:258px;min-height:258px}
}


/* PA-04.8 structural corrections */
.flow-review-head{display:grid;gap:.18rem;margin:1rem 0 .75rem;padding:.82rem .95rem;border-radius:1rem;background:rgba(255,255,255,.66);border:1px solid rgba(63,111,120,.14)}
.flow-review-head small,.flow-review-head span{font-size:.72rem;color:var(--muted)}
.flow-review-head strong{font-size:.96rem;line-height:1.45;color:var(--ink)}
.flow-review-grid.flow-review-grid-225{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;align-items:stretch}
.flow-review-grid.flow-review-grid-225 .flow-review-choice{min-height:104px;padding:.8rem .7rem}
.flow-review-grid.flow-review-grid-225 .flow-review-choice.is-anchor{grid-column:1 / -1;justify-self:center;width:min(100%,calc(50% - .35rem))}
.flow-review-grid.flow-review-grid-225 .flow-review-choice small{letter-spacing:.02em}

.vp93-scar-center{position:relative}
.vp93-scar-center em{font-size:.66rem;color:var(--muted);font-style:normal;line-height:1.45}
.vp93-scar-visual{position:relative;display:grid;place-items:center;min-height:56px;width:100%}
.vp93-scar-center.is-after{background:rgba(247,241,243,.86)}
.vp93-repair-halo{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(196,166,175,.22) 0%,rgba(196,166,175,.08) 48%,rgba(196,166,175,0) 72%)}
.vp93-repair-stitches i,.scar-divider-stitch,.scar-core-stitches i{position:absolute;left:50%;width:18px;height:2px;border-radius:999px;background:rgba(164,126,136,.9);transform:translateX(-50%) rotate(80deg);box-shadow:0 0 0 2px rgba(255,255,255,.72)}
.vp93-repair-stitches .s1,.scar-divider-stitch.s1,.scar-core-stitches .s1{top:22%}
.vp93-repair-stitches .s2,.scar-divider-stitch.s2,.scar-core-stitches .s2{top:50%}
.vp93-repair-stitches .s3,.scar-divider-stitch.s3,.scar-core-stitches .s3{top:78%}
.vp93-repair-return{position:absolute;left:calc(50% + 8px);top:50%;width:48px;height:18px;border-top:2px dashed rgba(164,126,136,.64);border-right:2px dashed rgba(164,126,136,.28);border-radius:0 999px 999px 0;transform:translateY(-50%);opacity:.88}

.rotate-scar-v177 .scar-rotate-divider{gap:.28rem}
.rotate-scar-v177 .scar-rotate-divider small{position:relative;z-index:1;font-size:.62rem;color:var(--muted);padding:.18rem .38rem;border-radius:999px;background:rgba(255,255,255,.82)}
.scar-divider-visual{position:relative;display:grid;place-items:center;width:44px;height:72px}
.scar-divider-halo{position:absolute;left:50%;top:50%;width:42px;height:42px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(196,166,175,.22) 0%,rgba(196,166,175,.06) 56%,rgba(196,166,175,0) 74%)}
.scar-divider-return-line{position:absolute;left:calc(50% + 5px);top:50%;width:34px;height:12px;border-top:2px dashed rgba(164,126,136,.58);border-right:2px dashed rgba(164,126,136,.24);border-radius:0 999px 999px 0;transform:translateY(-50%)}
.rotate-scar-v177 .scar-return-trail{display:flex;align-items:center;gap:.34rem;flex-wrap:wrap}
.rotate-scar-v177 .scar-return-trail .mark{display:grid;place-items:center;min-width:1.7rem;padding:.12rem .32rem;border-radius:999px;font-style:normal;font-size:.6rem;background:rgba(255,255,255,.76);border:1px solid rgba(93,76,114,.12);color:rgba(73,56,91,.88)}
.rotate-scar-v177 .scar-rotate-room.done .scar-return-trail .mark{background:rgba(239,235,243,.88);border-color:rgba(93,76,114,.2)}

.scar-t-v178 .scar-step-visual-v178{overflow:hidden}
.scar-t-v178 .scar-step-trace{display:grid;place-items:center}
.scar-t-v178 .scar-core-halo{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(196,166,175,.18) 0%,rgba(196,166,175,.06) 56%,rgba(196,166,175,0) 74%)}
.scar-t-v178 .scar-step-attempt-layer{position:absolute;left:50%;right:7%;top:18%;bottom:24%;pointer-events:none}
.scar-t-v178 .scar-attempt-trace{position:absolute;left:0;display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;column-gap:.28rem;row-gap:.04rem;align-items:center;opacity:.16;transform:translateX(0);transition:opacity .2s ease, transform .2s ease}
.scar-t-v178 .scar-attempt-trace.active{opacity:.92;transform:translateX(2px)}
.scar-t-v178 .scar-attempt-trace .trace-line{grid-row:1 / span 2;grid-column:1;display:block;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(164,126,136,.62),rgba(164,126,136,.18));position:relative}
.scar-t-v178 .scar-attempt-trace .trace-line::after{content:"";position:absolute;right:-4px;top:50%;width:8px;height:8px;border-radius:50%;background:rgba(164,126,136,.75);transform:translateY(-50%)}
.scar-t-v178 .scar-attempt-trace b{grid-column:2;font-size:.62rem;color:rgba(93,76,114,.86)}
.scar-t-v178 .scar-attempt-trace strong{grid-column:2;font-size:.74rem;line-height:1.2;color:var(--ink)}
.scar-t-v178 .scar-attempt-trace small{grid-column:2;font-size:.62rem;color:var(--muted)}
.scar-t-v178 .scar-attempt-trace.t2{top:8%;width:42%}
.scar-t-v178 .scar-attempt-trace.t3{top:36%;width:52%}
.scar-t-v178 .scar-attempt-trace.t4{top:64%;width:62%}
.scar-t-v178 .scar-step-trail.active{opacity:.8}
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="0"] .scar-core-halo,
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="0"] .scar-core-stitches{opacity:.18}
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="1"] .scar-core-halo,
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="1"] .scar-core-stitches,
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="2"] .scar-core-halo,
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="2"] .scar-core-stitches,
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="3"] .scar-core-halo,
.scar-t-v178 .scar-step-visual-v178[data-overlay-stage="3"] .scar-core-stitches{opacity:.95}

.final-mini-grid{grid-template-columns:1fr;gap:.7rem}
.final-mini-bookmark{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:.8rem;padding:.95rem 1rem;border-radius:1rem}
.final-mini-bookmark > span{font-size:1rem;letter-spacing:.08em;align-self:center}
.final-mini-bookmark strong{font-size:.92rem;line-height:1.45;writing-mode:horizontal-tb}
.final-mini-bookmark small{font-size:.74rem;line-height:1.55;writing-mode:horizontal-tb}

@media (max-width: 719px){
  .flow-review-grid.flow-review-grid-225{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .flow-review-grid.flow-review-grid-225 .flow-review-choice{min-height:96px;padding:.74rem .62rem}
  .flow-review-grid.flow-review-grid-225 .flow-review-choice.is-anchor{width:min(100%,calc(50% - .28rem))}
  .scar-t-v178 .scar-step-attempt-layer{right:4%;top:20%;bottom:27%}
  .scar-t-v178 .scar-attempt-trace.t2{width:38%}
  .scar-t-v178 .scar-attempt-trace.t3{width:47%}
  .scar-t-v178 .scar-attempt-trace.t4{width:56%}
  .final-mini-bookmark{grid-template-columns:48px minmax(0,1fr);padding:.88rem .9rem}
}

@media (max-width: 430px){
  .flow-review-grid.flow-review-grid-225 .flow-review-choice strong{font-size:.82rem}
  .flow-review-grid.flow-review-grid-225 .flow-review-choice span{font-size:.64rem}
  .flow-review-grid.flow-review-grid-225 .flow-review-choice.is-anchor{width:min(100%,calc(50% - .22rem))}
  .vp93-scar-center em{font-size:.58rem}
  .scar-divider-visual{width:38px;height:66px}
  .scar-t-v178 .scar-attempt-trace{grid-template-columns:26px auto}
  .scar-t-v178 .scar-attempt-trace strong{font-size:.68rem}
  .scar-t-v178 .scar-attempt-trace small,.scar-t-v178 .scar-attempt-trace b{font-size:.56rem}
  .final-mini-bookmark{grid-template-columns:42px minmax(0,1fr);gap:.65rem}
  .final-mini-bookmark strong{font-size:.86rem}
}
