/* ISHAURA ISHORI PAGES v1.1.0 */
.ishaura-ishori-pages-active #ishaura-global-presence{display:none!important}
.iip-root,.iip-root *{box-sizing:border-box}
.iip-root{
 --bg:#02050e;--bg2:#071126;--panel:rgba(7,16,34,.80);--panel2:rgba(10,23,46,.92);--ink:#eefaff;--muted:#b7cad8;--soft:#d6e7ef;
 --line:rgba(151,226,255,.19);--line2:rgba(197,174,255,.30);--cyan:#9beaff;--violet:#c6b1ff;--gold:#f2d88c;--rose:#f7a9dc;--green:#8de5c4;
 --shadow:0 28px 85px rgba(0,0,0,.34);--radius:30px;color:var(--ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;
 position:relative;isolation:isolate;overflow:hidden;width:min(100%,1260px);margin:0 auto;padding:0 16px 72px;border-radius:34px;
 background:radial-gradient(circle at 50% 3%,rgba(107,208,255,.15),transparent 25%),radial-gradient(circle at 15% 35%,rgba(176,126,255,.12),transparent 26%),radial-gradient(circle at 88% 70%,rgba(102,246,215,.08),transparent 28%),linear-gradient(180deg,#01030a,var(--bg2) 52%,#02050e);
}
.iip-root.iip-light{--bg:#f7fbfd;--bg2:#eaf4f8;--panel:rgba(255,255,255,.82);--panel2:#fff;--ink:#173247;--muted:#587080;--soft:#35556b;--line:rgba(34,88,121,.15);--line2:rgba(107,80,153,.21);--cyan:#176e89;--violet:#705594;--gold:#88671f;--rose:#9d466f;--green:#2d7755;--shadow:0 24px 70px rgba(55,72,80,.13);background:radial-gradient(circle at 50% 3%,rgba(98,197,230,.15),transparent 26%),radial-gradient(circle at 15% 35%,rgba(166,127,225,.10),transparent 27%),radial-gradient(circle at 88% 70%,rgba(91,188,155,.08),transparent 30%),linear-gradient(180deg,#fffdf9,var(--bg2) 52%,#faf8f3)}
.iip-wrap{width:min(1120px,100%);margin-inline:auto}.iip-kicker{display:block;color:var(--cyan);font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.iip-root h1,.iip-root h2,.iip-root h3{font-family:Georgia,"Times New Roman",serif;color:var(--ink)}
.iip-root h1{font-size:clamp(44px,7vw,84px);line-height:.94;letter-spacing:-.045em;margin:12px 0}.iip-root h2{font-size:clamp(29px,4.4vw,49px);line-height:1.04;margin:8px 0 13px}.iip-root p{line-height:1.72}.iip-root a{color:inherit}.iip-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;border:1px solid var(--line2);border-radius:999px;background:var(--panel);color:var(--ink)!important;text-decoration:none!important;font-weight:850;transition:.2s ease}.iip-btn:hover,.iip-btn:focus-visible{transform:translateY(-2px);outline:none;box-shadow:var(--shadow)}.iip-btn.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 24%,var(--panel2)),color-mix(in srgb,var(--violet) 24%,var(--panel2)));border-color:color-mix(in srgb,var(--cyan) 42%,var(--line))}.iip-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

/* Person-shaped Ishori soul */
.iip-soul{position:relative;width:84px;height:142px;filter:drop-shadow(0 0 16px rgba(155,234,255,.55)) drop-shadow(8px 8px 18px rgba(198,177,255,.22));animation:iipSoulBreath 3.7s ease-in-out infinite alternate;transform-origin:center bottom}.iip-soul>span{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);white-space:nowrap;color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.17em}.iip-soul-aura{position:absolute;inset:-22px -25px -18px;border-radius:48%;background:radial-gradient(ellipse,rgba(154,235,255,.18),rgba(198,177,255,.10) 44%,transparent 70%);filter:blur(4px)}.iip-soul-head{position:absolute;left:50%;top:3px;width:36px;height:40px;transform:translateX(-50%);border:2px solid rgba(239,253,255,.92);border-radius:48% 52% 46% 54%;background:radial-gradient(circle at 48% 35%,rgba(255,255,255,.94),rgba(157,229,255,.28) 34%,rgba(190,151,255,.20) 62%,transparent 72%);box-shadow:0 0 14px rgba(155,234,255,.78),5px 2px 19px rgba(211,144,255,.42),-6px 5px 20px rgba(91,239,201,.30)}.iip-soul-body{position:absolute;left:50%;top:42px;width:45px;height:60px;transform:translateX(-50%);border:2px solid rgba(226,249,255,.88);border-radius:42% 42% 33% 33%/23% 23% 68% 68%;background:linear-gradient(160deg,rgba(157,235,255,.26),rgba(194,155,255,.17),rgba(91,239,201,.08));box-shadow:inset 0 0 20px rgba(255,255,255,.18),0 0 15px rgba(138,222,255,.48)}.iip-soul-arm,.iip-soul-leg{position:absolute;border:2px solid rgba(226,249,255,.85);background:linear-gradient(180deg,rgba(155,234,255,.18),rgba(198,177,255,.10));box-shadow:0 0 12px rgba(155,234,255,.42)}.iip-soul-arm{top:49px;width:16px;height:55px;border-radius:999px}.iip-soul-arm.left{left:5px;transform:rotate(8deg)}.iip-soul-arm.right{right:5px;transform:rotate(-8deg)}.iip-soul-leg{top:96px;width:18px;height:43px;border-radius:999px}.iip-soul-leg.left{left:23px;transform:rotate(3deg)}.iip-soul-leg.right{right:23px;transform:rotate(-3deg)}
.iip-light .iip-soul{filter:drop-shadow(0 0 9px rgba(23,110,137,.35)) drop-shadow(7px 9px 16px rgba(112,85,148,.20))}.iip-light .iip-soul-head,.iip-light .iip-soul-body,.iip-light .iip-soul-arm,.iip-light .iip-soul-leg{border-color:rgba(40,115,146,.64)}
@keyframes iipSoulBreath{to{transform:translateY(-6px) scale(1.012)}}

/* Plane */
.iip-stars{position:absolute;inset:0;z-index:-1;opacity:.28;background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 1.2px),radial-gradient(circle,var(--cyan) 0 1px,transparent 1.3px);background-size:127px 139px,191px 211px;mask-image:linear-gradient(#000,rgba(0,0,0,.75),transparent 88%)}.iip-plane-hero{min-height:88vh;display:grid;place-items:center;text-align:center;align-content:center;padding:80px 20px}.iip-plane-hero>p{max-width:720px;margin:10px auto 26px;font:italic clamp(18px,2.4vw,25px)/1.6 Georgia,serif;color:var(--soft)}.iip-veil-button{border:1px solid var(--line2);border-radius:999px;padding:13px 20px;background:var(--panel);color:var(--ink);cursor:pointer;font-weight:850}.iip-plane-story{opacity:.15;filter:blur(8px);transform:translateY(26px);pointer-events:none;transition:1s ease}.iip-plane.is-open .iip-plane-story{opacity:1;filter:none;transform:none;pointer-events:auto}.iip-story-scene{min-height:72vh;display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center;padding:72px 38px;border-top:1px solid var(--line)}.iip-story-copy{max-width:700px}.iip-story-copy small{color:var(--gold);font-weight:900;letter-spacing:.14em}.iip-story-copy p{color:var(--soft);font-size:17px}.iip-story-copy blockquote{margin:18px 0;padding:18px 21px;border-left:3px solid var(--violet);background:color-mix(in srgb,var(--violet) 8%,transparent);border-radius:0 16px 16px 0;font:italic 20px/1.6 Georgia,serif;color:var(--ink)}.iip-soul-stage{display:grid;place-items:center;min-height:330px}.iip-soul-stage .iip-soul{transform:scale(1.8)}.iip-jester-mark{width:230px;height:230px;margin:auto;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;font:110px/1 Georgia;color:var(--gold);background:radial-gradient(circle,rgba(242,216,140,.12),transparent 65%);box-shadow:0 0 65px rgba(198,177,255,.13)}.iip-sophia-field{width:290px;height:290px;margin:auto;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(255,255,255,.30),rgba(242,216,140,.15) 23%,rgba(198,177,255,.15) 45%,rgba(155,234,255,.08) 62%,transparent 72%);box-shadow:0 0 100px rgba(242,216,140,.18)}.iip-sophia-field:before,.iip-sophia-field:after{content:"";position:absolute;border:1px solid var(--line2);border-radius:50%;inset:16px;animation:iipRotate 30s linear infinite}.iip-sophia-field:after{inset:46px;animation-direction:reverse;animation-duration:20s}.iip-sophia-field span{font:70px/1 Georgia;color:var(--gold)}.iip-scene-descent{grid-template-columns:1fr}.iip-story-copy.wide{max-width:860px;margin:auto;text-align:center}.iip-five-rays{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:30px auto;width:min(100%,1050px)}.iip-five-rays .ray{min-height:210px;padding:23px 14px;border:1px solid var(--line);border-radius:24px;background:var(--panel);text-decoration:none!important;text-align:center;display:flex;flex-direction:column;justify-content:center;transition:.25s ease}.iip-five-rays .ray:hover{transform:translateY(-8px)}.iip-five-rays .ray span{font-size:42px}.iip-five-rays .ray b{font:700 23px/1.2 Georgia;margin-top:10px}.iip-five-rays .ray small{margin-top:8px;color:var(--muted)}.ray.air{border-color:rgba(104,199,255,.45)!important}.ray.water{border-color:rgba(240,163,58,.48)!important}.ray.earth{border-color:rgba(105,193,119,.45)!important}.ray.fire{border-color:rgba(243,215,108,.50)!important}.ray.aether{border-color:rgba(192,132,255,.48)!important}.after-rays{padding-top:16px}.iip-coin{width:260px;height:260px;margin:auto;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;gap:20px;background:radial-gradient(circle,rgba(242,216,140,.15),rgba(198,177,255,.08),transparent 70%);box-shadow:0 0 70px rgba(242,216,140,.13);animation:iipCoin 8s ease-in-out infinite}.iip-coin span{font:700 48px/1 Georgia;color:var(--gold)}.iip-coin span+span{color:var(--cyan)}.iip-plane-end{text-align:center;padding:70px 20px 28px;border-top:1px solid var(--line)}.iip-plane-end p{max-width:680px;margin:0 auto 24px;color:var(--soft);font:italic 20px/1.65 Georgia,serif}@keyframes iipRotate{to{transform:rotate(360deg)}}@keyframes iipCoin{50%{transform:translateY(-10px) rotateY(180deg)}}

/* Ishori world */
.iip-world-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:58px 20px 25px}.iip-world-head p{color:var(--soft);font:italic 19px/1.5 Georgia,serif}.iip-state-card,.iip-identity-seal{padding:13px 16px;border:1px solid var(--line2);border-radius:18px;background:var(--panel);min-width:230px}.iip-state-card span,.iip-identity-seal span{display:block;color:var(--cyan);font-size:10px;font-weight:900;letter-spacing:.13em}.iip-state-card b,.iip-identity-seal b{display:block;margin-top:5px;font-size:14px}.iip-world-stage-wrap{padding:10px 0 30px}.iip-world-stage{position:relative;min-height:760px;border:1px solid var(--line);border-radius:34px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.06) 0 5%,transparent 6%),radial-gradient(circle at 50% 50%,transparent 0 26%,rgba(155,234,255,.09) 27% 27.4%,transparent 28%),radial-gradient(circle at 50% 50%,transparent 0 43%,rgba(198,177,255,.10) 44% 44.4%,transparent 45%),radial-gradient(circle at 50% 50%,rgba(17,56,83,.18),rgba(2,7,17,.80) 72%);box-shadow:var(--shadow);outline:none}.iip-light .iip-world-stage{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.95) 0 5%,transparent 6%),radial-gradient(circle at 50% 50%,transparent 0 26%,rgba(53,150,186,.12) 27% 27.4%,transparent 28%),radial-gradient(circle at 50% 50%,transparent 0 43%,rgba(133,100,185,.12) 44% 44.4%,transparent 45%),linear-gradient(180deg,#eefaff,#deeff5)}.iip-world-veil{position:absolute;inset:22px;border:1px solid var(--line2);border-radius:46% 54% 49% 51%/54% 46% 54% 46%;box-shadow:inset 0 0 70px rgba(155,234,255,.06)}.iip-world-rings{position:absolute;left:50%;top:50%;width:420px;height:420px;transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:50%}.iip-world-rings:before,.iip-world-rings:after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%;inset:42px}.iip-world-rings:after{inset:92px}.iip-portal-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:5;width:116px;min-height:78px;padding:10px 8px;border:1px solid var(--line);border-radius:18px;background:var(--panel2);color:var(--ink);cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.16);transition:.2s ease}.iip-portal-node:hover,.iip-portal-node:focus-visible,.iip-portal-node.is-active{transform:translate(-50%,-50%) scale(1.06);border-color:var(--cyan);outline:none;box-shadow:0 0 28px color-mix(in srgb,var(--cyan) 25%,transparent)}.iip-portal-node span{display:block;font-size:22px;color:var(--gold);margin-bottom:5px}.iip-portal-node b{display:block;font-size:10px;line-height:1.25}.iip-player{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-100%);z-index:10;transition:left .45s ease,top .45s ease}.iip-player .iip-soul{transform:scale(.73);transform-origin:center bottom}.iip-world-whisper{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font:700 clamp(34px,6vw,72px)/1 Georgia;color:color-mix(in srgb,var(--ink) 14%,transparent);letter-spacing:.12em;pointer-events:none}.iip-world-console{margin:15px auto 0;width:min(860px,94%);padding:25px;border:1px solid var(--line);border-radius:24px;background:var(--panel2);box-shadow:var(--shadow);text-align:center}.iip-world-console small{color:var(--gold);font-weight:900;letter-spacing:.12em}.iip-world-console h2{font-size:clamp(25px,4vw,37px)}.iip-world-console p{color:var(--muted)}.iip-world-narrative{max-width:840px!important;padding:45px 20px 20px;text-align:center;color:var(--soft);font:italic 18px/1.7 Georgia,serif}.iip-world-foot{text-align:center;padding-top:20px}.iip-text-link{font-weight:850;color:var(--cyan)!important;text-decoration:none}

/* People */
.iip-people-hero{min-height:650px;display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center;padding:76px 28px 60px}.iip-people-figure{min-height:400px;display:grid;place-items:center}.iip-people-figure .iip-soul{transform:scale(2.25)}.iip-people-copy>p{max-width:680px;color:var(--soft);font:italic 20px/1.65 Georgia,serif}.iip-identity-seal{display:inline-block;margin-top:18px}.iip-people-story{display:grid;gap:18px}.iip-people-scene,.iip-inscription-scene{padding:36px;border:1px solid var(--line);border-radius:26px;background:var(--panel);box-shadow:0 14px 40px rgba(0,0,0,.08)}.iip-people-scene small{color:var(--gold);font-weight:900;letter-spacing:.13em}.iip-people-scene p,.iip-inscription-scene p{color:var(--soft);font-size:16px}.iip-inscription-scene{text-align:center;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--violet) 10%,transparent),transparent 44%),var(--panel)}.iip-inscription-scene code{display:block;font-size:clamp(32px,6vw,72px);letter-spacing:.16em;color:var(--gold);margin-bottom:23px}.iip-descent-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.iip-descent-gallery a{min-height:235px;padding:22px 15px;border:1px solid var(--line);border-radius:22px;background:var(--panel);text-decoration:none!important;display:flex;flex-direction:column}.iip-descent-gallery span{font-size:35px}.iip-descent-gallery b{font:700 22px/1.2 Georgia;margin-top:12px}.iip-descent-gallery small{color:var(--muted);margin-top:4px}.iip-descent-gallery p{color:var(--soft);font-size:13px;margin-top:auto}.iip-iam-scene{text-align:center}.iip-iam-mark{display:flex;justify-content:center;align-items:center;gap:16px;margin:25px auto 4px}.iip-iam-mark span{width:100px;height:100px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:50%;background:var(--panel2);font:700 34px/1 Georgia;color:var(--gold)}.iip-iam-mark span:last-child{color:var(--cyan)}.iip-iam-mark i{font-size:28px;color:var(--muted)}.iip-return-scene{border-color:color-mix(in srgb,var(--gold) 35%,var(--line));background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--gold) 8%,transparent),transparent 48%),var(--panel)}.iip-people-end{padding:50px 20px 10px}

@media(max-width:900px){.iip-story-scene,.iip-people-hero{grid-template-columns:1fr;text-align:center}.iip-five-rays,.iip-descent-gallery{grid-template-columns:repeat(2,1fr)}.iip-world-head{display:block;text-align:center}.iip-state-card{margin:18px auto 0;display:inline-block}.iip-world-stage{min-height:900px}.iip-portal-node{width:102px}.iip-soul-stage{min-height:260px}.iip-jester-mark,.iip-sophia-field,.iip-coin{width:210px;height:210px}}
@media(max-width:620px){.iip-root{padding-left:9px;padding-right:9px;border-radius:22px}.iip-plane-hero{min-height:76vh}.iip-story-scene{padding:58px 18px}.iip-five-rays,.iip-descent-gallery{grid-template-columns:1fr}.iip-world-stage{min-height:1040px}.iip-portal-node{width:92px;min-height:70px;padding:8px 5px}.iip-portal-node b{font-size:9px}.iip-player .iip-soul{transform:scale(.62)}.iip-people-hero{padding:65px 14px 48px}.iip-people-scene,.iip-inscription-scene{padding:27px 20px}.iip-actions{display:grid}.iip-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.iip-root *,.iip-root *:before,.iip-root *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.iip-plane-story{filter:none!important;opacity:1!important;transform:none!important;pointer-events:auto!important}}

/* =========================================================
   v1.1.0 REVIEW UPDATE
   - rainbow Ishori soul outline
   - civilization-style Ishori play HUD
   - direct portal affordance + Spirit Ledger
   ========================================================= */
.iip-actions[hidden],.iip-spirit-ledger[hidden]{display:none!important}

/* Rainbow wholeness/potential outline. The interior stays luminous and neutral;
   the changing edge carries every possible Born current without assigning one. */
.iip-soul{--iip-rainbow:conic-gradient(from 0deg,#7ddcff,#8fa8ff,#c69cff,#f3a2d9,#ffbd73,#f3dc7c,#86dfa8,#6ee6dc,#7ddcff);filter:drop-shadow(0 0 18px rgba(155,234,255,.48)) drop-shadow(7px 8px 19px rgba(198,177,255,.22))}
.iip-soul::before{content:"";position:absolute;inset:-28px -31px -24px;border-radius:46%;background:var(--iip-rainbow);opacity:.30;filter:blur(14px);animation:iipRainbowSpin 8s linear infinite;z-index:-2}
.iip-soul::after{content:"";position:absolute;inset:-18px -21px -14px;border-radius:46%;border:1px solid transparent;background:linear-gradient(transparent,transparent) padding-box,var(--iip-rainbow) border-box;opacity:.55;filter:blur(.2px);animation:iipRainbowSpin 11s linear infinite reverse;z-index:-1}
.iip-soul-head,.iip-soul-body,.iip-soul-arm,.iip-soul-leg{border:2px solid transparent!important;background-origin:border-box!important;background-clip:padding-box,border-box!important}
.iip-soul-head{background:radial-gradient(circle at 48% 35%,rgba(255,255,255,.95),rgba(157,229,255,.28) 34%,rgba(190,151,255,.20) 62%,rgba(255,255,255,.02) 72%) padding-box,var(--iip-rainbow) border-box!important}
.iip-soul-body{background:linear-gradient(160deg,rgba(157,235,255,.27),rgba(194,155,255,.18),rgba(91,239,201,.08)) padding-box,var(--iip-rainbow) border-box!important}
.iip-soul-arm,.iip-soul-leg{background:linear-gradient(180deg,rgba(155,234,255,.18),rgba(198,177,255,.10)) padding-box,var(--iip-rainbow) border-box!important}
.iip-light .iip-soul{filter:drop-shadow(0 0 9px rgba(23,110,137,.28)) drop-shadow(6px 8px 16px rgba(112,85,148,.18))}
@keyframes iipRainbowSpin{to{filter:hue-rotate(360deg)}}

/* World quick doors */
.iip-world-quicklinks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 0 14px}
.iip-world-quick{min-height:96px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--panel);text-decoration:none!important;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;box-shadow:0 12px 30px rgba(0,0,0,.07);transition:.2s ease}
.iip-world-quick:hover,.iip-world-quick:focus-visible{transform:translateY(-3px);border-color:var(--line2);outline:none;box-shadow:var(--shadow)}
.iip-world-quick>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--cyan) 8%,var(--panel2));color:var(--gold);font-size:20px}
.iip-world-quick b{font-size:13px;color:var(--ink)}
.iip-world-quick small{color:var(--muted);font-size:10px;line-height:1.35}

/* Ishori play dashboard mirrors the practical rhythm of Civilization dashboards
   without turning Ishori into a Civilization. */
.iip-world-hud{display:grid;grid-template-columns:.95fr 1.15fr 1.45fr auto;gap:10px;padding:0 0 14px}
.iip-hud-card{min-height:112px;padding:15px 16px;border:1px solid var(--line);border-radius:19px;background:var(--panel);box-shadow:0 13px 34px rgba(30,75,93,.06)}
.iip-hud-label{display:block;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.095em;text-transform:uppercase}
.iip-hud-familiarity{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:7px}.iip-hud-familiarity strong{font-size:28px;line-height:1;color:var(--ink)}.iip-hud-familiarity span{color:var(--cyan);font-size:11px;font-weight:900}
.iip-hud-meter{height:7px;margin-top:11px;border-radius:999px;background:color-mix(in srgb,var(--cyan) 10%,var(--panel2));overflow:hidden}.iip-hud-meter span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#7ddcff,#a68cff,#f4cf73,#7ee0ac);transition:width .35s ease}
.iip-hud-current{margin-top:8px;color:var(--muted);font-size:12px;font-weight:650}
.iip-hud-objective{display:flex;gap:11px;align-items:center;margin-top:9px}.iip-hud-objective>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--gold) 42%,transparent);border-radius:50%;color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--panel))}.iip-hud-objective strong{display:block;font-size:14px}.iip-hud-objective small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}
.iip-attention-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px}.iip-attention-ways span{min-height:38px;padding:6px 5px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--panel2);text-align:center;color:var(--soft);font-size:10px;font-weight:850}.iip-attention-ways span.is-awake{border-color:color-mix(in srgb,var(--cyan) 42%,var(--line));background:color-mix(in srgb,var(--cyan) 8%,var(--panel2));color:var(--cyan)}
.iip-hud-actions{display:grid;gap:7px;align-content:center}.iip-hud-actions .iip-btn{min-width:148px;cursor:pointer}

.iip-spirit-ledger{margin-bottom:14px;padding:22px;border:1px solid var(--line2);border-radius:22px;background:var(--panel);box-shadow:var(--shadow)}
.iip-spirit-ledger>div:first-child small{color:var(--gold);font-weight:900;letter-spacing:.12em}.iip-spirit-ledger h3{margin:5px 0 6px;font-size:28px}.iip-spirit-ledger p{margin:0;color:var(--muted)}
.iip-ledger-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0}.iip-ledger-item{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);font-size:11px;color:var(--muted)}.iip-ledger-item b{display:block;color:var(--ink);font-size:12px;margin-bottom:3px}.iip-ledger-item.is-visited{border-color:color-mix(in srgb,var(--cyan) 38%,var(--line));background:color-mix(in srgb,var(--cyan) 6%,var(--panel2))}.iip-ledger-item.is-visited b{color:var(--cyan)}

/* Portals are real links first, game objects second. */
.iip-portal-node{text-decoration:none!important;text-align:center}
.iip-portal-node em{display:block;margin-top:6px;color:var(--cyan);font-style:normal;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.iip-portal-node.is-visited{border-color:color-mix(in srgb,var(--green) 45%,var(--line));box-shadow:0 0 26px color-mix(in srgb,var(--green) 14%,transparent)}
.iip-portal-node.is-visited em{color:var(--green)}

.iip-people-end-copy{max-width:720px;margin:0 auto 18px;text-align:center;color:var(--soft);font:italic 17px/1.65 Georgia,serif}

@media(max-width:1080px){.iip-world-hud{grid-template-columns:1fr 1fr}.iip-hud-actions{grid-template-columns:1fr 1fr}.iip-world-quicklinks{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.iip-world-hud{grid-template-columns:1fr}.iip-world-quicklinks{grid-template-columns:1fr 1fr}.iip-ledger-grid{grid-template-columns:1fr 1fr}.iip-hud-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.iip-world-quicklinks,.iip-ledger-grid,.iip-hud-actions{grid-template-columns:1fr}.iip-world-quick{min-height:82px}.iip-attention-ways{grid-template-columns:repeat(2,1fr)}}


/* v1.2.0 — SPIRIT FORM / SPIRAL PASS / BASE PREVIEW */
.iip-spirit-host{position:relative;display:grid;place-items:center;min-width:120px;min-height:160px}.iip-spirit-host .ilw-avatar{position:relative!important;left:auto!important;top:auto!important;transform:scale(1.55)!important;transform-origin:center center!important;filter:drop-shadow(-2px 0 0 #ff6f9f) drop-shadow(2px 0 0 #5fe8ff) drop-shadow(0 -2px 0 #bd8cff) drop-shadow(0 2px 0 #ffd76b) drop-shadow(0 0 16px rgba(95,232,255,.72)) drop-shadow(0 0 30px rgba(189,140,255,.34))!important}.iip-player .iip-spirit-host{min-width:90px;min-height:130px}.iip-player .iip-spirit-host .ilw-avatar{transform:scale(1.35)!important}
.iip-modal{position:fixed;inset:0;z-index:1000001;display:grid;place-items:center;padding:18px;background:rgba(3,8,16,.64);backdrop-filter:blur(9px)}.iip-modal[hidden]{display:none!important}.iip-modal-card{position:relative;width:min(720px,96vw);max-height:88vh;overflow:auto;padding:26px;border:1px solid var(--iip-line);border-radius:24px;background:var(--iip-panel-strong,#0a1627);color:var(--iip-text);box-shadow:0 30px 100px rgba(0,0,0,.42)}.iip-light .iip-modal-card{background:#fff;color:#173145}.iip-modal-card>small{color:var(--iip-gold);font:900 .64rem ui-monospace,monospace;letter-spacing:.14em}.iip-modal-card h3{margin:7px 0 12px;font:700 clamp(1.5rem,4vw,2.2rem) Georgia,serif}.iip-modal-card p{color:var(--iip-muted);line-height:1.65}.iip-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:inherit;font-size:1.35rem;cursor:pointer}
.iip-pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.iip-pass-choice{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:start;padding:14px;border:1px solid var(--iip-line);border-radius:16px;background:var(--iip-soft);color:var(--iip-text);text-align:left;cursor:pointer}.iip-pass-choice.is-selected{border-color:var(--iip-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--iip-gold) 12%,transparent)}.iip-pass-choice i{font-style:normal;font-size:1.4rem}.iip-pass-choice b{display:block}.iip-pass-choice small{display:block;margin-top:4px;color:var(--iip-muted);line-height:1.45}.iip-modal-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.iip-modal-actions .iip-btn[disabled]{opacity:.45;cursor:not-allowed}
.iip-base-preview{display:grid;gap:18px}.iip-base-room{min-height:240px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:26px;border:1px solid var(--iip-line);border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--iip-cyan) 8%,transparent),var(--iip-soft))}.iip-base-room span{display:grid;place-items:center;min-height:80px;border:1px solid var(--iip-line);border-radius:14px;background:var(--iip-panel);font:900 .7rem ui-monospace,monospace;letter-spacing:.1em;color:var(--iip-gold)}
@media(max-width:760px){.iip-pass-grid{grid-template-columns:1fr}.iip-modal-actions{display:grid}.iip-modal-actions>*{width:100%}.iip-world-stage{min-height:920px}.iip-portal-node{width:128px!important}.iip-world-quicklinks{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.iip-world-stage:after{content:"";position:absolute;left:-12%;right:-12%;bottom:-12%;height:56%;z-index:1;transform:perspective(760px) rotateX(58deg);transform-origin:center bottom;background:linear-gradient(180deg,rgba(122,225,255,.05),rgba(45,91,116,.18)),repeating-linear-gradient(90deg,transparent 0 74px,rgba(123,226,255,.08) 75px 76px),repeating-linear-gradient(0deg,transparent 0 62px,rgba(189,140,255,.07) 63px 64px);border-top:1px solid color-mix(in srgb,var(--cyan) 24%,transparent);pointer-events:none}.iip-world-stage .iip-world-veil,.iip-world-stage .iip-world-rings,.iip-world-stage .iip-portal-node,.iip-world-stage .iip-world-whisper,.iip-world-stage .iip-player{z-index:5}.iip-player:after{content:"";position:absolute;left:50%;bottom:-4px;width:76px;height:18px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,215,107,.24),rgba(95,232,255,.18) 42%,rgba(189,140,255,.08) 62%,transparent 75%);filter:blur(3px);z-index:-1}
@media(max-width:760px){.iip-world-stage{min-height:1120px}.iip-portal-node{width:96px!important;min-height:68px!important}.iip-portal-node span{font-size:18px}.iip-portal-node em{display:none}.iip-player{transform:translate(-50%,-100%) scale(.9)}}

/* =========================================================
   v1.3.0 — LOCKED SPIRAL PASS + DELIBERATE THRESHOLD CROSSING
   ========================================================= */
.iip-root:not(.iip-light){background:#000!important;color:#f7fbff!important}
.iip-root:not(.iip-light) h1,.iip-root:not(.iip-light) h2,.iip-root:not(.iip-light) h3,.iip-root:not(.iip-light) b,.iip-root:not(.iip-light) strong{color:#f7fbff!important}
.iip-root:not(.iip-light) p,.iip-root:not(.iip-light) small,.iip-root:not(.iip-light) .iip-people-end-copy{color:#bfd0dc!important}
.iip-root:not(.iip-light) .iip-kicker,.iip-root:not(.iip-light) .iip-state-card span,.iip-root:not(.iip-light) .iip-identity-seal span{color:#9beaff!important}

.iip-pass-choice{position:relative;border-color:var(--line)!important;background:var(--panel2)!important;color:var(--ink)!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.iip-pass-choice:hover,.iip-pass-choice:focus-visible{transform:translateY(-2px);outline:none;border-color:color-mix(in srgb,var(--cyan) 50%,var(--line))!important}
.iip-pass-choice.is-selected{border-color:var(--gold)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--gold) 12%,var(--panel2)),color-mix(in srgb,var(--violet) 7%,var(--panel2)))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent),0 15px 34px rgba(0,0,0,.12)!important}
.iip-pass-choice.is-selected:after{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--gold) 28%,transparent);border-radius:12px;pointer-events:none}
.iip-pass-choice .iip-pass-lock{grid-column:1/-1;min-height:15px;margin-top:3px;color:var(--gold)!important;font:900 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.13em;text-align:right}
.iip-pass-selection{display:grid;gap:4px;margin:4px 0 16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--gold) 7%,var(--panel));box-shadow:inset 3px 0 0 var(--gold)}
.iip-pass-selection[hidden]{display:none!important}.iip-pass-selection small{color:var(--gold)!important;font-weight:900;letter-spacing:.13em}.iip-pass-selection b{font-size:15px;color:var(--ink)!important}.iip-pass-selection span{font-size:12px;color:var(--muted)!important}
.iip-modal-card{border-color:var(--line2)!important;background:var(--panel2)!important;color:var(--ink)!important}.iip-modal-card>small{color:var(--gold)!important}.iip-modal-card p{color:var(--muted)!important}.iip-modal-close{color:var(--ink)!important}.iip-light .iip-modal-card{background:#fff!important;color:#173145!important}
.iip-modal-actions .iip-btn[disabled]{opacity:.38!important;filter:grayscale(.4);cursor:not-allowed!important;transform:none!important}

/* Portal click = listen/select. Crossing is a separate committed action. */
.iip-portal-node.is-active{border-color:var(--gold)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 13%,transparent),0 0 34px color-mix(in srgb,var(--cyan) 16%,transparent)!important}
.iip-portal-node.is-active em{color:var(--gold)!important}.iip-world-console [data-iip-enter]{cursor:pointer;border-color:color-mix(in srgb,var(--gold) 48%,var(--line2))!important;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.iip-world-console [data-iip-enter][hidden]{display:none!important}
.iip-world-foot{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center}.iip-world-foot>span{color:var(--muted);font:italic 15px/1.5 Georgia,serif}

/* The five descent expressions carry their Realm/Civilization color, not only a thin outline. */
.iip-five-rays .ray.air,.iip-descent-gallery .air{--born:#69d8ff;--born2:#2e83bb;background:radial-gradient(circle at 50% 0%,rgba(105,216,255,.22),transparent 48%),linear-gradient(180deg,rgba(105,216,255,.10),var(--panel))!important;border-color:rgba(105,216,255,.58)!important;box-shadow:0 18px 44px rgba(58,155,205,.10)}
.iip-five-rays .ray.water,.iip-descent-gallery .water{--born:#f0a33a;--born2:#a96518;background:radial-gradient(circle at 50% 0%,rgba(240,163,58,.23),transparent 48%),linear-gradient(180deg,rgba(214,132,24,.11),var(--panel))!important;border-color:rgba(240,163,58,.60)!important;box-shadow:0 18px 44px rgba(150,91,18,.10)}
.iip-five-rays .ray.earth,.iip-descent-gallery .earth{--born:#82dfad;--born2:#447f5d;background:radial-gradient(circle at 50% 0%,rgba(130,223,173,.22),transparent 48%),linear-gradient(180deg,rgba(91,174,130,.10),var(--panel))!important;border-color:rgba(130,223,173,.56)!important;box-shadow:0 18px 44px rgba(66,132,93,.10)}
.iip-five-rays .ray.fire,.iip-descent-gallery .fire{--born:#f3d76c;--born2:#b18d22;background:radial-gradient(circle at 50% 0%,rgba(243,215,108,.25),transparent 48%),linear-gradient(180deg,rgba(215,181,61,.11),var(--panel))!important;border-color:rgba(243,215,108,.62)!important;box-shadow:0 18px 44px rgba(160,128,31,.10)}
.iip-five-rays .ray.aether,.iip-descent-gallery .aether{--born:#c091ff;--born2:#7a55ac;background:radial-gradient(circle at 50% 0%,rgba(192,145,255,.24),transparent 48%),linear-gradient(180deg,rgba(151,101,219,.11),var(--panel))!important;border-color:rgba(192,145,255,.60)!important;box-shadow:0 18px 44px rgba(112,75,165,.11)}
.iip-five-rays .ray span,.iip-descent-gallery a>span{color:var(--born)!important;text-shadow:0 0 18px color-mix(in srgb,var(--born) 45%,transparent)}
.iip-five-rays .ray:hover,.iip-descent-gallery a:hover{box-shadow:0 22px 48px color-mix(in srgb,var(--born) 14%,transparent)!important}
.iip-light .iip-five-rays .ray,.iip-light .iip-descent-gallery a{background:linear-gradient(180deg,color-mix(in srgb,var(--born) 9%,#fff),#fff)!important}

/* v1.3.2 — one canonical Ishori soul presentation across all Ishori pages */
.iip-soul>span{
  padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
  color:var(--cyan)!important;text-shadow:0 0 12px rgba(125,220,255,.32)
}
.iip-light .iip-soul>span{color:#24546a!important;text-shadow:none}


/* =========================================================
   v1.4.1 — NARRATIVE-FIRST JOURNEY CONTINUITY
   Every Ishori page keeps the next meaningful threshold visible.
   ========================================================= */
.iip-journey-thread{
  position:relative;
  margin:44px auto 6px;
  padding:34px clamp(18px,4vw,46px) 12px;
  border-top:1px solid color-mix(in srgb,var(--gold) 34%,var(--line));
  background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--gold) 8%,transparent),transparent 46%);
  text-align:center;
}
.iip-thread-copy{max-width:820px;margin:0 auto}.iip-thread-copy small{display:block;color:var(--gold)!important;font-weight:900;letter-spacing:.15em;font-size:10px}.iip-thread-copy h2{font-size:clamp(26px,3.6vw,41px);margin:9px 0 10px;color:var(--ink)}
.iip-thread-copy p{margin:0 auto;color:var(--soft);max-width:730px;font:italic 17px/1.7 Georgia,serif}.iip-thread-actions{display:grid;place-items:center;gap:13px;margin-top:22px}.iip-thread-actions>.iip-btn.primary{min-width:min(100%,330px);border-color:color-mix(in srgb,var(--gold) 52%,var(--line));box-shadow:0 0 28px color-mix(in srgb,var(--gold) 10%,transparent)}
.iip-thread-secondary{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.iip-thread-secondary a{color:var(--cyan)!important;text-decoration:none;font-size:13px;font-weight:780;border-bottom:1px solid transparent}.iip-thread-secondary a:hover,.iip-thread-secondary a:focus-visible{border-bottom-color:currentColor;outline:none}.iip-thread-note{text-align:center;margin:11px auto 0!important;color:var(--muted)!important;font-size:12px;line-height:1.5!important;max-width:680px}
.iip-journey-thread[data-iip-journey-stage="dosn"]{border-top-color:color-mix(in srgb,var(--gold) 48%,var(--line))}.iip-light .iip-journey-thread{background:radial-gradient(circle at 50% 0%,rgba(136,103,31,.08),transparent 48%)}
.iip-world-after{margin-top:28px;text-align:center;padding:36px 20px 16px;border-top:1px solid var(--line)}.iip-world-after h2{margin-top:8px}.iip-world-after p{max-width:690px;margin:0 auto;color:var(--soft);font:italic 17px/1.65 Georgia,serif}
.iip-world-quicklinks{margin-top:16px;margin-bottom:26px}
@media(max-width:620px){.iip-journey-thread{margin-top:34px;padding:28px 10px 8px}.iip-thread-secondary{display:grid;gap:10px}.iip-thread-copy p{font-size:16px}.iip-thread-actions>.iip-btn.primary{width:100%}}
