/* ISHAURA LIVING WORLD CORE v0.2.0 */
.ilw-mount{margin:18px 0 22px}
.ilw-world{--lw-bg:#eef4f8;--lw-panel:#fff;--lw-panel2:#f7fafc;--lw-ink:#102033;--lw-muted:#5d6c7c;--lw-line:rgba(27,57,84,.15);--lw-accent:#2a78a8;--lw-accent2:#7357a5;--lw-glow:rgba(42,120,168,.20);color:var(--lw-ink)!important;border:1px solid var(--lw-line);border-radius:28px;background:var(--lw-bg);box-shadow:0 24px 70px rgba(19,43,65,.13);overflow:hidden;font-family:Inter,"Segoe UI",system-ui,sans-serif}
.ilw-world *{box-sizing:border-box}.ilw-world button{font:inherit}
.ilw-top{display:flex;justify-content:space-between;gap:18px;align-items:end;padding:22px 24px 17px;background:var(--lw-panel);border-bottom:1px solid var(--lw-line)}
.ilw-top small{display:block;color:var(--lw-accent)!important;font-size:.68rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.ilw-top h2{margin:5px 0 3px;color:var(--lw-ink)!important;font-family:Georgia,serif;font-size:clamp(2rem,5vw,4rem);line-height:.95}.ilw-top p{margin:0;color:var(--lw-muted)!important;font-size:.88rem}.ilw-live-pill{display:flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid var(--lw-line);border-radius:999px;background:var(--lw-panel2);color:var(--lw-muted)!important;font-size:.62rem;font-weight:900;letter-spacing:.08em}.ilw-live-pill i{width:8px;height:8px;border-radius:50%;background:#2b8d66;box-shadow:0 0 14px rgba(43,141,102,.45)}
.ilw-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;background:var(--lw-panel2);border-bottom:1px solid var(--lw-line)}.ilw-status>div{min-width:0;padding:9px 10px;border:1px solid var(--lw-line);border-radius:12px;background:var(--lw-panel)}.ilw-status small{display:block;color:var(--lw-muted)!important;font-size:.56rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.ilw-status b{display:block;margin-top:3px;color:var(--lw-ink)!important;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ilw-scene{position:relative;isolation:isolate;min-height:clamp(550px,64vw,760px);overflow:hidden;outline:none;background:#dfeef6}.ilw-scene:focus-visible{box-shadow:inset 0 0 0 4px var(--lw-accent)}.ilw-terrain{position:absolute;inset:0;z-index:-6;pointer-events:none}.ilw-route-svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}.ilw-route-svg line{stroke:var(--lw-accent);stroke-opacity:.24;stroke-width:.65;stroke-dasharray:2.5 2;vector-effect:non-scaling-stroke}
/* Noeira */
.ilw-air{--lw-accent:#457b9d;--lw-accent2:#8b7fbd}.ilw-air .ilw-scene{background:linear-gradient(180deg,#cfe5f2 0%,#eef8fc 61%,#dceaf0 100%)}.ilw-air .ilw-terrain{background:radial-gradient(ellipse at 15% 16%,rgba(255,255,255,.96) 0 9%,transparent 10%),radial-gradient(ellipse at 62% 25%,rgba(255,255,255,.9) 0 12%,transparent 13%),radial-gradient(ellipse at 85% 56%,rgba(255,255,255,.82) 0 10%,transparent 11%),linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.42) 43% 47%,transparent 48%)}
/* Aequora */
.ilw-water{--lw-accent:#187ea4;--lw-accent2:#6f55a0}.ilw-water .ilw-scene{background:linear-gradient(180deg,#83cce1 0%,#51b6cf 34%,#2e9eba 70%,#1f879f 100%)}.ilw-water .ilw-terrain{background:radial-gradient(ellipse at 11% 8%,rgba(255,255,255,.22),transparent 28%),radial-gradient(ellipse at 70% 27%,rgba(180,240,247,.28),transparent 27%),repeating-radial-gradient(ellipse at 45% 52%,transparent 0 22px,rgba(255,255,255,.11) 23px 24px,transparent 25px 48px)}.ilw-water .ilw-route-svg line{stroke:#e9fbff;stroke-opacity:.72;stroke-width:.85;stroke-dasharray:1.2 2.3}.ilw-water-life{position:absolute;inset:0;pointer-events:none;z-index:0}.ilw-water-life .wave{position:absolute;width:80px;height:14px;border-top:2px solid rgba(255,255,255,.34);border-radius:50%}.ilw-water-life .w1{left:8%;top:25%;transform:rotate(-5deg)}.ilw-water-life .w2{left:39%;top:34%;width:120px}.ilw-water-life .w3{right:8%;top:56%;transform:rotate(8deg)}.ilw-water-life .w4{left:26%;bottom:18%;width:105px}.ilw-water-life .w5{right:29%;bottom:27%;width:70px}.ilw-water-life .reed{position:absolute;width:7px;height:29px;border-radius:100% 0;background:#4e9b78;opacity:.72}.ilw-water-life .r1{left:12%;bottom:16%;transform:rotate(-8deg)}.ilw-water-life .r2{right:11%;top:21%;transform:rotate(14deg)}.ilw-water-life .buoy{position:absolute;width:8px;height:8px;border-radius:50%;background:#f2c16d;box-shadow:0 5px 0 -2px #674b34}.ilw-water-life .b1{left:42%;top:61%}.ilw-water-life .b2{right:17%;top:42%}
/* Tendara */
.ilw-earth{--lw-accent:#5f7d4a;--lw-accent2:#9a7744}.ilw-earth .ilw-scene{background:linear-gradient(180deg,#e7efe0,#d5e2cc 58%,#c3d1b7)}.ilw-earth .ilw-terrain{background:repeating-linear-gradient(170deg,transparent 0 56px,rgba(73,101,58,.08) 57px 61px,transparent 62px 108px),radial-gradient(circle at 25% 75%,rgba(71,119,63,.18),transparent 25%),radial-gradient(circle at 78% 32%,rgba(122,96,54,.12),transparent 22%)}
/* Solvia */
.ilw-fire{--lw-accent:#a45731;--lw-accent2:#c09131}.ilw-fire .ilw-scene{background:radial-gradient(circle at 50% 49%,rgba(255,238,192,.8),transparent 19%),linear-gradient(180deg,#f4e7dc,#ecd8c8 56%,#ddc5b4)}.ilw-fire .ilw-terrain{background:repeating-conic-gradient(from 0deg at 50% 49%,rgba(164,87,49,.08) 0 8deg,transparent 9deg 43deg),radial-gradient(circle at 50% 49%,transparent 0 20%,rgba(164,87,49,.09) 21% 22%,transparent 23% 39%,rgba(164,87,49,.07) 40% 41%,transparent 42%)}
/* Omnoria */
.ilw-aether{--lw-bg:#eef0f8;--lw-accent:#7767a6;--lw-accent2:#3b779d}.ilw-aether .ilw-scene{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.98),rgba(230,234,248,.9) 34%,#d8dfef 74%)}.ilw-aether .ilw-terrain{background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 77% 15%,rgba(255,255,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 83% 72%,rgba(255,255,255,.95) 0 2px,transparent 3px),radial-gradient(circle at 28% 82%,rgba(255,255,255,.95) 0 2px,transparent 3px),repeating-radial-gradient(circle at 50% 49%,transparent 0 72px,rgba(119,103,166,.09) 73px 74px,transparent 75px 125px)}
/* Districts become places, not cards */
.ilw-place-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:4;border:0;background:transparent;padding:0;cursor:pointer;text-align:center}.ilw-place-node:focus-visible{outline:none}.ilw-landmass{position:relative;display:block;width:clamp(112px,14vw,176px);height:clamp(76px,10vw,118px);border:1px solid rgba(36,72,66,.22);background:linear-gradient(180deg,#89bd8c,#5c9b72);border-radius:48% 52% 43% 57%/56% 41% 59% 44%;box-shadow:0 18px 0 rgba(31,84,82,.14),0 24px 32px rgba(15,69,85,.18);transition:transform .2s ease,box-shadow .2s ease}.ilw-water .ilw-landmass:before{content:"";position:absolute;left:8%;right:8%;bottom:-5px;height:12px;border-radius:50%;background:rgba(196,239,220,.85);box-shadow:0 5px 0 rgba(255,255,255,.25)}.ilw-air .ilw-landmass{background:linear-gradient(180deg,#f7fbfd,#d8e7ed);border-radius:26px 26px 40px 40px;box-shadow:0 19px 30px rgba(56,90,112,.17)}.ilw-earth .ilw-landmass{background:linear-gradient(180deg,#a5ba83,#768f63);border-radius:24px 24px 15px 15px;box-shadow:0 14px 0 rgba(90,108,63,.13),0 22px 28px rgba(60,78,46,.17)}.ilw-fire .ilw-landmass{background:linear-gradient(180deg,#d8a06c,#b46f48);border-radius:18px 18px 7px 7px;box-shadow:0 14px 24px rgba(119,70,41,.18)}.ilw-aether .ilw-landmass{background:radial-gradient(circle,#fbfbff 0 42%,#dcdff2 75%);border-radius:50%;box-shadow:0 0 0 5px rgba(119,103,166,.07),0 17px 34px rgba(77,66,119,.15)}
.ilw-place-node:hover .ilw-landmass,.ilw-place-node:focus-visible .ilw-landmass{transform:translateY(-5px) scale(1.03);box-shadow:0 0 0 5px var(--lw-glow),0 28px 40px rgba(25,64,79,.24)}
.ilw-architecture{position:absolute;left:50%;bottom:24%;transform:translateX(-50%);width:58%;height:55%;filter:drop-shadow(0 5px 5px rgba(20,48,51,.18))}.ilw-architecture .wall{position:absolute;left:14%;right:14%;bottom:0;height:55%;border-radius:5px 5px 2px 2px;background:#f3ead9;border:1px solid rgba(74,72,65,.18)}.ilw-architecture .roof{position:absolute;left:8%;right:8%;top:8%;height:38%;background:#426b71;clip-path:polygon(50% 0,100% 100%,0 100%)}.ilw-architecture .door{position:absolute;left:43%;bottom:0;width:15%;height:30%;border-radius:4px 4px 0 0;background:#6c4a38;z-index:3}.ilw-architecture .window{position:absolute;bottom:24%;width:10%;height:14%;border-radius:2px;background:#8dd6e8;z-index:3;box-shadow:inset 0 0 0 1px rgba(42,79,90,.22)}.ilw-architecture .window.w1{left:27%}.ilw-architecture .window.w2{right:27%}.ilw-architecture strong{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);z-index:4;font-size:clamp(.9rem,1.7vw,1.25rem);font-weight:400}.ilw-architecture.pavilion .wall{left:25%;right:25%;height:38%}.ilw-architecture.pavilion .roof{left:1%;right:1%;top:18%;height:28%}.ilw-architecture.archive .wall{left:6%;right:6%;height:62%}.ilw-architecture.archive .roof{top:0}.ilw-architecture.workshop .roof{background:#8a603f}.ilw-architecture.sanctuary .wall{border-radius:50% 50% 4px 4px}.ilw-architecture.houses{width:70%}.ilw-architecture.houses:before,.ilw-architecture.houses:after{content:"";position:absolute;bottom:0;width:31%;height:44%;background:#f4e5cf;border-radius:4px;box-shadow:inset 0 0 0 1px rgba(80,68,57,.15)}.ilw-architecture.houses:before{left:4%;transform:rotate(-3deg)}.ilw-architecture.houses:after{right:4%;transform:rotate(3deg)}.ilw-architecture.terminal .roof{background:#3a7883;clip-path:polygon(0 35%,100% 35%,88% 100%,12% 100%)}.ilw-dock{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:52px;height:31px;background:repeating-linear-gradient(90deg,#aa7c50 0 7px,#8b633e 8px 10px);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);box-shadow:0 5px 0 rgba(68,73,64,.15)}
.ilw-place-sign{display:inline-block;max-width:160px;margin-top:12px;padding:5px 8px 6px;border-radius:10px;background:rgba(255,255,255,.92);box-shadow:0 7px 18px rgba(17,65,81,.16);backdrop-filter:blur(6px)}.ilw-place-sign b{display:block;color:#152738!important;font-size:.71rem;line-height:1.12}.ilw-place-sign small{display:block;margin-top:2px;color:#5c7080!important;font-size:.53rem;line-height:1.2}.ilw-water .ilw-place-sign{border:1px solid rgba(255,255,255,.58)}
/* Citizen */
.ilw-avatar{--av-skin:#9b6b50;--av-hair:#241b18;--av-outfit:#26758a;--av-accent:#7fd4db;position:absolute;z-index:13;transform:translate(-50%,-76%);width:48px;height:78px;pointer-events:none;transition:left .66s cubic-bezier(.2,.8,.25,1),top .66s cubic-bezier(.2,.8,.25,1),opacity .18s ease}.ilw-avatar.is-moving .ilw-person{animation:ilwBob .26s ease-in-out infinite alternate}.ilw-avatar.is-riding{opacity:0}.ilw-avatar>b{position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);padding:2px 5px;border-radius:999px;background:rgba(15,30,43,.82);color:white!important;font-size:.48rem;letter-spacing:.08em}.ilw-shadow{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:34px;height:11px;border-radius:50%;background:rgba(24,43,54,.22);filter:blur(2px)}.ilw-person{position:absolute;inset:0}.ilw-person .head{position:absolute;left:15px;top:4px;width:18px;height:19px;border-radius:48% 48% 45% 45%;background:var(--av-skin);box-shadow:inset -3px -2px rgba(0,0,0,.08);z-index:3}.ilw-person .hair{position:absolute;left:13px;top:1px;width:22px;height:13px;border-radius:60% 60% 30% 30%;background:var(--av-hair);z-index:4}.ilw-avatar[data-hair="crop"] .hair{height:8px;top:2px}.ilw-avatar[data-hair="curls"] .hair{width:25px;height:16px;left:12px;border-radius:50%;box-shadow:-4px 2px 0 -1px var(--av-hair),4px 1px 0 -1px var(--av-hair)}.ilw-avatar[data-hair="bun"] .hair:after{content:"";position:absolute;right:-1px;top:-7px;width:10px;height:10px;border-radius:50%;background:var(--av-hair)}.ilw-avatar[data-hair="locs"] .hair{height:20px;border-radius:50% 50% 7px 7px}.ilw-person .body{position:absolute;left:10px;top:22px;width:28px;height:31px;border-radius:12px 12px 8px 8px;background:linear-gradient(135deg,var(--av-outfit),var(--av-accent));box-shadow:inset -4px -3px rgba(0,0,0,.08);z-index:2}.ilw-avatar[data-outfit="tunic"] .body{border-radius:9px 9px 14px 14px;height:35px}.ilw-avatar[data-outfit="cloak"] .body{left:7px;width:34px;height:38px;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);border-radius:8px}.ilw-person .arm{position:absolute;top:26px;width:7px;height:25px;border-radius:6px;background:var(--av-skin);z-index:1}.ilw-person .arm.l{left:7px;transform:rotate(8deg)}.ilw-person .arm.r{right:7px;transform:rotate(-8deg)}.ilw-person .leg{position:absolute;top:50px;width:9px;height:24px;border-radius:5px;background:#26394b}.ilw-person .leg.l{left:12px;transform:rotate(5deg)}.ilw-person .leg.r{right:12px;transform:rotate(-5deg)}@keyframes ilwBob{to{transform:translateY(-3px)}}
/* Realm transport */
.ilw-transport{position:absolute;z-index:12;left:50%;top:90%;transform:translate(-50%,-58%);min-width:66px;min-height:48px;opacity:0;pointer-events:none;transition:left .95s cubic-bezier(.16,.75,.2,1),top .95s cubic-bezier(.16,.75,.2,1),opacity .12s ease;filter:drop-shadow(0 10px 8px rgba(12,54,70,.26))}.ilw-transport.is-active{opacity:1}.ilw-transport span{display:block;font-size:2.3rem;line-height:1;text-align:center}.ilw-transport b{display:block;margin-top:2px;padding:3px 6px;border-radius:999px;background:rgba(14,48,64,.84);color:#fff!important;font-size:.48rem;letter-spacing:.06em;text-align:center;white-space:nowrap}.ilw-transport-boat span{animation:ilwBoat .55s ease-in-out infinite alternate}.ilw-transport-glider span{animation:ilwGlide .65s ease-in-out infinite alternate}.ilw-transport-light-thread{filter:drop-shadow(0 0 11px rgba(255,255,255,.8))}@keyframes ilwBoat{to{transform:translateY(-4px) rotate(2deg)}}@keyframes ilwGlide{to{transform:translateY(-5px) rotate(-2deg)}}
/* Preview residents */
.ilw-resident{position:absolute;left:var(--x);top:var(--y);z-index:2;transform:translate(-50%,-50%);width:20px;height:36px;opacity:.5}.ilw-resident:before{content:"";position:absolute;left:5px;top:0;width:10px;height:10px;border-radius:50%;background:#4a5862}.ilw-resident i{position:absolute;left:3px;top:10px;width:14px;height:19px;border-radius:7px 7px 4px 4px;background:#6d7b84}.ilw-resident:after{content:"";position:absolute;left:5px;top:28px;width:10px;height:6px;border-radius:50%;background:rgba(41,53,62,.18);filter:blur(2px)}
/* World gates and access */
.ilw-gate{position:absolute;z-index:6;min-width:78px;padding:8px;border:1px solid rgba(33,55,72,.18);border-radius:12px;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(38,57,70,.12);cursor:pointer}.ilw-gate span{display:block;font-size:1rem}.ilw-gate b{display:block;margin-top:2px;color:#223544!important;font-size:.58rem}.ilw-gate-base{left:3%;bottom:3%}.ilw-gate-dosn{left:50%;bottom:3%;transform:translateX(-50%)}.ilw-gate-station{right:3%;bottom:3%}.ilw-gate:hover,.ilw-gate:focus-visible{outline:none;border-color:var(--lw-accent);box-shadow:0 0 0 3px var(--lw-glow)}
.ilw-special-doc{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:7;width:132px;padding:10px;border:1px dashed rgba(70,60,96,.34);border-radius:17px;background:rgba(255,255,255,.9);cursor:pointer;box-shadow:0 12px 24px rgba(53,48,74,.12)}.ilw-special-doc span{font-size:1.15rem}.ilw-special-doc b{display:block;margin-top:3px;color:#2a2740!important;font-size:.65rem}.ilw-special-doc small{display:block;margin-top:3px;color:#716987!important;font-size:.51rem;font-weight:900}.ilw-special-doc.is-open{border-style:solid;box-shadow:0 0 0 4px rgba(119,103,166,.08),0 12px 24px rgba(53,48,74,.10)}
.ilw-scene-help{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:3;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.82);color:#415f70!important;font-size:.58rem;font-weight:800;white-space:nowrap;pointer-events:none}.ilw-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px;background:var(--lw-panel);border-top:1px solid var(--lw-line)}.ilw-btn{min-height:41px;padding:8px 12px;border:1px solid var(--lw-line);border-radius:11px;background:var(--lw-panel2);color:var(--lw-ink)!important;font-weight:900;font-size:.75rem;cursor:pointer}.ilw-btn:hover,.ilw-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--lw-glow)}.ilw-btn.primary{background:linear-gradient(135deg,var(--lw-accent),var(--lw-accent2));border-color:transparent;color:white!important}.ilw-note,.ilw-preview-law{padding:10px 14px;color:var(--lw-muted)!important;font-size:.72rem;line-height:1.5;background:var(--lw-panel2);border-top:1px solid var(--lw-line)}.ilw-note b{color:var(--lw-ink)!important}.ilw-preview-law{font-size:.65rem;background:var(--lw-panel)}
/* Collapse the old duplicate municipal-map UI, without removing its data/drawers/quest engine. */
.ilw-legacy-ui.is-collapsed{display:none!important}
/* Access + avatar dialogs */
.ilw-access-modal,.ilw-avatar-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:18px;background:rgba(3,8,16,.68)}.ilw-access-card,.ilw-avatar-card{position:relative;width:min(620px,100%);max-height:min(88vh,760px);overflow:auto;padding:26px;border:1px solid var(--lw-line);border-radius:22px;background:var(--lw-panel);color:var(--lw-ink);box-shadow:0 24px 80px rgba(0,0,0,.32)}.ilw-access-card{text-align:center;max-width:460px}.ilw-access-card .mark{font-size:2rem}.ilw-access-card small,.ilw-avatar-card>small{display:block;color:var(--lw-accent)!important;font-size:.62rem;font-weight:950;letter-spacing:.08em}.ilw-access-card h3,.ilw-avatar-card h3{margin:7px 0 14px;color:var(--lw-ink)!important}.ilw-access-card p{margin:0;color:var(--lw-muted)!important;line-height:1.6}.ilw-access-code{display:inline-flex;margin-top:14px;padding:6px 9px;border:1px solid var(--lw-line);border-radius:999px;background:var(--lw-panel2);font-size:.68rem;font-weight:900}.ilw-access-close{position:absolute;right:10px;top:10px;width:36px;height:36px;border:1px solid var(--lw-line);border-radius:50%;background:var(--lw-panel2);color:var(--lw-ink);font-size:1.2rem;cursor:pointer}.ilw-avatar-preview{position:relative;height:128px;margin:8px 0 16px;border:1px solid var(--lw-line);border-radius:18px;background:linear-gradient(180deg,#d8eff8,#eef7f8);overflow:hidden}.ilw-avatar.preview{left:50%!important;top:94%!important;transform:translate(-50%,-100%) scale(1.25);opacity:1!important}.ilw-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ilw-custom-grid fieldset{margin:0;padding:10px;border:1px solid var(--lw-line);border-radius:14px;background:var(--lw-panel2)}.ilw-custom-grid legend{padding:0 5px;color:var(--lw-muted);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.ilw-choice{margin:3px;padding:7px 8px;border:1px solid var(--lw-line);border-radius:999px;background:var(--lw-panel);color:var(--lw-ink);font-size:.67rem;font-weight:800;text-transform:capitalize;cursor:pointer}.ilw-choice.is-selected{border-color:var(--lw-accent);box-shadow:0 0 0 2px var(--lw-glow);background:#fff}.ilw-avatar-note{color:var(--lw-muted)!important;font-size:.72rem;line-height:1.5}
/* Dark-mode inheritance */
body.dark-mode .ilw-world,body.is-dark .ilw-world,html.dark .ilw-world{--lw-bg:#040a12;--lw-panel:#09121d;--lw-panel2:#0e1925;--lw-ink:#edf6ff;--lw-muted:#a9bac8;--lw-line:rgba(169,199,222,.16);--lw-glow:rgba(110,193,237,.14)}body.dark-mode .ilw-place-sign,body.is-dark .ilw-place-sign,html.dark .ilw-place-sign,body.dark-mode .ilw-gate,body.is-dark .ilw-gate,html.dark .ilw-gate,body.dark-mode .ilw-special-doc,body.is-dark .ilw-special-doc,html.dark .ilw-special-doc{background:rgba(9,18,29,.92);border-color:rgba(181,208,228,.18)}body.dark-mode .ilw-place-sign b,body.dark-mode .ilw-place-sign small,body.dark-mode .ilw-gate b,body.dark-mode .ilw-special-doc b,body.dark-mode .ilw-special-doc small,body.is-dark .ilw-place-sign b,body.is-dark .ilw-place-sign small,body.is-dark .ilw-gate b,body.is-dark .ilw-special-doc b,body.is-dark .ilw-special-doc small,html.dark .ilw-place-sign b,html.dark .ilw-place-sign small,html.dark .ilw-gate b,html.dark .ilw-special-doc b,html.dark .ilw-special-doc small{color:#eaf4fb!important}.ilw-world .ilw-avatar-card,.ilw-world .ilw-access-card{background:var(--lw-panel)}
@media(max-width:820px){.ilw-status{grid-template-columns:repeat(2,1fr)}.ilw-top{align-items:flex-start}.ilw-scene{min-height:650px}.ilw-landmass{width:116px;height:82px}.ilw-place-sign{max-width:116px}.ilw-place-sign b{font-size:.64rem}.ilw-place-sign small{font-size:.5rem}.ilw-special-doc{width:110px}.ilw-scene-help{display:none}.ilw-custom-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ilw-top{display:block}.ilw-live-pill{display:inline-flex;margin-top:10px}.ilw-status{grid-template-columns:1fr 1fr}.ilw-scene{min-height:720px}.ilw-place-node{transform:translate(-50%,-50%) scale(.86)}.ilw-landmass{width:104px;height:76px}.ilw-place-sign{margin-top:9px}.ilw-special-doc{top:10%!important;right:2%;left:auto!important;transform:none;width:104px}.ilw-actions{display:grid}.ilw-btn{width:100%}.ilw-gate{min-width:68px;padding:6px}.ilw-gate b{font-size:.52rem}}
@media(prefers-reduced-motion:reduce){.ilw-avatar,.ilw-transport,.ilw-landmass{transition:none}.ilw-avatar.is-moving .ilw-person,.ilw-transport span{animation:none}}


/* v0.2.1 — full Civilization experiences must visually own the screen while open.
   Spiral Junction remains persistent behind them; it should never cover the drawer. */
#iv9-vishuddha .iv9-drawer,
#iv9-svadhisthana .iv9-drawer,
#iv9-anahata .iv9-drawer,
#iv9-manipura .iv9-drawer,
#iv9-sahasrara .iv9-drawer{z-index:2147482000!important}

/* Aequora preview residents use the water safely and legibly: they travel in little skiffs
   instead of appearing to stand/swim in active ferry lanes. */
.ilw-water .ilw-resident-skiff{width:48px;height:40px;opacity:.78;z-index:3;animation:ilwNpcSkiff 4.8s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.ilw-water .ilw-resident-skiff:before,.ilw-water .ilw-resident-skiff:after{display:none}
.ilw-water .ilw-resident-skiff>i{position:absolute;left:50%;top:21px;width:22px;height:7px;transform:translateX(-50%);border-radius:50%;background:rgba(16,79,101,.22);filter:blur(2px)}
.ilw-water .ilw-npc-boat{position:absolute;left:50%;top:0;transform:translateX(-50%);font-size:1.7rem;line-height:1;filter:drop-shadow(0 6px 5px rgba(10,65,84,.25));animation:ilwNpcBoatBob .7s ease-in-out infinite alternate}
@keyframes ilwNpcBoatBob{to{transform:translate(-50%,-3px) rotate(2deg)}}
@keyframes ilwNpcSkiff{0%{margin-left:-7px;margin-top:0}100%{margin-left:9px;margin-top:-5px}}


/* =========================================================
   v0.3.1 — EXPANDED CITIZEN FACE / HAIR / WARDROBE
   ========================================================= */
.ilw-person .head:before{content:"";position:absolute;left:4px;top:7px;width:2.5px;height:2.5px;border-radius:50%;background:#2c211d;box-shadow:7px 0 0 #2c211d;z-index:2}
.ilw-person .head:after{content:"";position:absolute;left:6px;top:13px;width:6px;height:2.5px;border-radius:0 0 8px 8px;border-bottom:1.5px solid rgba(70,39,34,.78);z-index:2}
.ilw-avatar[data-face="calm"] .head:after{width:6px;height:1px;border-radius:0;border-bottom:1px solid rgba(70,39,34,.72)}
.ilw-avatar[data-face="curious"] .head:before{transform:translateY(-1px);box-shadow:7px 1px 0 #2c211d}
.ilw-avatar[data-face="curious"] .head:after{left:7px;width:4px;height:4px;border:1px solid rgba(70,39,34,.65);border-top:0;border-radius:50%}
.ilw-avatar[data-face="focused"] .head:before{height:1.8px;border-radius:2px;transform:rotate(8deg);box-shadow:7px 0 0 #2c211d}
.ilw-avatar[data-face="focused"] .head:after{height:1px;border-radius:0;border-bottom:1px solid rgba(70,39,34,.72)}
.ilw-person .face-accessory{display:none;position:absolute;left:13px;top:10px;width:22px;height:8px;z-index:6;pointer-events:none}
.ilw-avatar[data-accessory="glasses"] .face-accessory{display:block;border-top:1.5px solid #273642}
.ilw-avatar[data-accessory="glasses"] .face-accessory:before,.ilw-avatar[data-accessory="glasses"] .face-accessory:after{content:"";position:absolute;top:-3px;width:7px;height:6px;border:1.5px solid #273642;border-radius:3px;background:rgba(255,255,255,.12)}
.ilw-avatar[data-accessory="glasses"] .face-accessory:before{left:1px}.ilw-avatar[data-accessory="glasses"] .face-accessory:after{right:1px}
.ilw-avatar[data-accessory="headband"] .face-accessory{display:block;left:12px;top:5px;width:24px;height:3px;border-radius:4px;background:var(--av-accent)}
.ilw-avatar[data-accessory="cap"] .face-accessory{display:block;left:12px;top:0;width:24px;height:8px;border-radius:8px 8px 3px 3px;background:var(--av-accent);box-shadow:8px 6px 0 -4px var(--av-accent)}
.ilw-avatar[data-accessory="earrings"] .face-accessory{display:block;left:11px;top:16px;width:3px;height:3px;border-radius:50%;background:#e4bf58;box-shadow:23px 0 0 #e4bf58}
.ilw-avatar[data-hair="braids"] .hair{height:18px;border-radius:45% 45% 8px 8px;box-shadow:-5px 8px 0 -2px var(--av-hair),5px 8px 0 -2px var(--av-hair),-6px 15px 0 -3px var(--av-hair),6px 15px 0 -3px var(--av-hair)}
.ilw-avatar[data-hair="puff"] .hair{width:26px;height:14px;left:11px;top:2px;border-radius:50%;box-shadow:-7px -2px 0 -1px var(--av-hair),7px -2px 0 -1px var(--av-hair)}
.ilw-avatar[data-hair="ponytail"] .hair:after{content:"";position:absolute;right:-7px;top:5px;width:11px;height:18px;border-radius:50% 50% 60% 40%;background:var(--av-hair);transform:rotate(-12deg)}
.ilw-avatar[data-hair="waves"] .hair{width:25px;height:15px;left:12px;border-radius:60% 45% 48% 30%;box-shadow:-3px 5px 0 -1px var(--av-hair),4px 4px 0 -1px var(--av-hair)}
.ilw-avatar[data-outfit="hoodie"] .body{border-radius:12px 12px 8px 8px}.ilw-avatar[data-outfit="hoodie"] .body:before{content:"";position:absolute;left:6px;top:-7px;width:16px;height:10px;border:3px solid var(--av-accent);border-bottom:0;border-radius:10px 10px 0 0}
.ilw-avatar[data-outfit="jacket"] .body{background:linear-gradient(90deg,var(--av-outfit) 0 47%,var(--av-accent) 48% 52%,var(--av-outfit) 53% 100%);border-radius:8px}
.ilw-avatar[data-outfit="overalls"] .body{background:linear-gradient(180deg,var(--av-accent) 0 24%,var(--av-outfit) 25% 100%);border-radius:9px 9px 6px 6px}
.ilw-avatar[data-outfit="dress"] .body{left:7px;width:34px;height:38px;clip-path:polygon(25% 0,75% 0,100% 100%,0 100%);border-radius:9px;background:linear-gradient(145deg,var(--av-outfit),var(--av-accent))}
.ilw-avatar[data-outfit="uniform"] .body{border-radius:7px;background:linear-gradient(180deg,var(--av-accent) 0 12%,var(--av-outfit) 13% 100%)}


/* =========================================================
   v0.3.2 — BUILD YOUR ISHAURA / EXPANDED LIVE APPEARANCE
   ========================================================= */
.ilw-avatar[data-hair="bald"] .hair{display:none}
.ilw-avatar[data-hair="buzz"] .hair{height:5px;top:3px;border-radius:50% 50% 34% 34%}
.ilw-avatar[data-hair="straight"] .hair{height:18px;border-radius:45% 45% 12px 12px}
.ilw-avatar[data-hair="long-straight"] .hair{height:31px;left:12px;width:24px;border-radius:45% 45% 8px 8px}
.ilw-avatar[data-hair="bob"] .hair{height:23px;left:12px;width:24px;border-radius:48% 48% 12px 12px}
.ilw-avatar[data-hair="long-curls"] .hair{width:27px;height:28px;left:11px;border-radius:48%;box-shadow:-4px 8px 0 -1px var(--av-hair),4px 8px 0 -1px var(--av-hair),-3px 16px 0 -1px var(--av-hair),3px 16px 0 -1px var(--av-hair)}
.ilw-avatar[data-hair="coils"] .hair{width:27px;height:18px;left:11px;border-radius:50%;box-shadow:-5px 2px 0 -1px var(--av-hair),5px 2px 0 -1px var(--av-hair),-3px -3px 0 -1px var(--av-hair),3px -3px 0 -1px var(--av-hair)}
.ilw-avatar[data-hair="afro"] .hair{width:31px;height:25px;left:9px;top:-3px;border-radius:50%;box-shadow:-5px 3px 0 0 var(--av-hair),5px 3px 0 0 var(--av-hair)}
.ilw-avatar[data-hair="double-puffs"] .hair{width:17px;height:10px;left:16px;top:2px;border-radius:50%;box-shadow:-12px -2px 0 2px var(--av-hair),12px -2px 0 2px var(--av-hair)}
.ilw-avatar[data-hair="double-buns"] .hair:before,.ilw-avatar[data-hair="double-buns"] .hair:after{content:"";position:absolute;top:-7px;width:10px;height:10px;border-radius:50%;background:var(--av-hair)}
.ilw-avatar[data-hair="double-buns"] .hair:before{left:-2px}.ilw-avatar[data-hair="double-buns"] .hair:after{right:-2px}
.ilw-avatar[data-hair="long-locs"] .hair{height:32px;border-radius:48% 48% 7px 7px;box-shadow:-4px 8px 0 -2px var(--av-hair),4px 8px 0 -2px var(--av-hair)}
.ilw-avatar[data-hair="box-braids"] .hair{height:28px;border-radius:45% 45% 8px 8px;box-shadow:-6px 9px 0 -3px var(--av-hair),6px 9px 0 -3px var(--av-hair),-6px 18px 0 -3px var(--av-hair),6px 18px 0 -3px var(--av-hair)}
.ilw-avatar[data-hair="cornrows"] .hair{height:11px;top:1px;border-radius:58% 58% 30% 30%;background:repeating-linear-gradient(90deg,var(--av-hair) 0 3px,rgba(255,255,255,.16) 3px 4px,var(--av-hair) 4px 7px)}

.ilw-avatar[data-outfit="tee"] .body{height:27px;border-radius:8px 8px 5px 5px}
.ilw-avatar[data-outfit="sweater"] .body{height:34px;border-radius:11px;background:linear-gradient(180deg,var(--av-accent) 0 10%,var(--av-outfit) 11% 100%)}
.ilw-avatar[data-outfit="bomber"] .body{height:31px;border-radius:12px 12px 8px 8px;box-shadow:inset 0 -5px 0 var(--av-accent)}
.ilw-avatar[data-outfit="denim"] .body{background:linear-gradient(90deg,var(--av-outfit),var(--av-accent));border-radius:7px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14)}
.ilw-avatar[data-outfit="robe"] .body{left:7px;width:34px;height:40px;clip-path:polygon(22% 0,78% 0,92% 100%,8% 100%);border-radius:10px;background:linear-gradient(180deg,var(--av-outfit),var(--av-accent))}
.ilw-avatar[data-outfit="jumpsuit"] .body{height:38px;border-radius:8px;background:linear-gradient(180deg,var(--av-accent) 0 12%,var(--av-outfit) 13% 100%)}
.ilw-avatar[data-outfit="skirt-set"] .body{left:8px;width:32px;height:37px;clip-path:polygon(18% 0,82% 0,82% 43%,100% 100%,0 100%,18% 43%);border-radius:7px;background:linear-gradient(180deg,var(--av-outfit) 0 43%,var(--av-accent) 44% 100%)}
.ilw-avatar[data-outfit="suit"] .body{border-radius:6px;background:linear-gradient(90deg,var(--av-outfit) 0 43%,#f2f3f5 44% 56%,var(--av-outfit) 57% 100%)}
.ilw-avatar[data-outfit="sport"] .body{height:29px;border-radius:8px;background:linear-gradient(180deg,var(--av-outfit) 0 68%,var(--av-accent) 69% 100%)}
.ilw-avatar[data-outfit="formal"] .body{left:8px;width:32px;height:37px;border-radius:8px;background:linear-gradient(145deg,var(--av-outfit),var(--av-accent));box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}

.ilw-avatar[data-face="soft-smile"] .head:after{left:6px;width:6px;height:2.5px;border-radius:0 0 8px 8px;border-bottom:1.5px solid rgba(70,39,34,.78)}
.ilw-avatar[data-face="big-smile"] .head:after{left:5px;top:12px;width:8px;height:4px;border-radius:0 0 8px 8px;border-bottom:2px solid rgba(70,39,34,.82)}
.ilw-avatar[data-face="bright"] .head:before{width:3px;height:3px;box-shadow:7px 0 0 #2c211d}.ilw-avatar[data-face="bright"] .head:after{left:5px;width:8px;height:3px;border-radius:0 0 8px 8px;border-bottom:1.5px solid rgba(70,39,34,.8)}
.ilw-avatar[data-face="thoughtful"] .head:before{transform:rotate(-7deg);box-shadow:7px 1px 0 #2c211d}.ilw-avatar[data-face="thoughtful"] .head:after{left:7px;width:5px;height:1px;border-radius:0;border-bottom:1px solid rgba(70,39,34,.72)}
.ilw-avatar[data-face="playful"] .head:before{height:2px;box-shadow:7px 1px 0 #2c211d}.ilw-avatar[data-face="playful"] .head:after{left:5px;width:8px;height:3px;border-radius:0 0 8px 8px;border-bottom:1.5px solid rgba(70,39,34,.82);transform:rotate(-5deg)}
.ilw-avatar[data-face="surprised"] .head:after{left:7px;top:12px;width:4px;height:4px;border:1px solid rgba(70,39,34,.7);border-radius:50%}
.ilw-avatar[data-face="sleepy"] .head:before{height:1px;border-radius:0;box-shadow:7px 0 0 #2c211d}.ilw-avatar[data-face="sleepy"] .head:after{left:6px;width:6px;height:1px;border-radius:0;border-bottom:1px solid rgba(70,39,34,.68)}

.ilw-avatar[data-accessory="round-glasses"] .face-accessory,.ilw-avatar[data-accessory="square-glasses"] .face-accessory,.ilw-avatar[data-accessory="sunglasses"] .face-accessory{display:block;left:13px;top:10px;width:22px;height:8px;border-top:1.5px solid #273642}
.ilw-avatar[data-accessory="round-glasses"] .face-accessory:before,.ilw-avatar[data-accessory="round-glasses"] .face-accessory:after,.ilw-avatar[data-accessory="square-glasses"] .face-accessory:before,.ilw-avatar[data-accessory="square-glasses"] .face-accessory:after,.ilw-avatar[data-accessory="sunglasses"] .face-accessory:before,.ilw-avatar[data-accessory="sunglasses"] .face-accessory:after{content:"";position:absolute;top:-3px;width:7px;height:6px;border:1.5px solid #273642;background:rgba(255,255,255,.12)}
.ilw-avatar[data-accessory="round-glasses"] .face-accessory:before,.ilw-avatar[data-accessory="round-glasses"] .face-accessory:after{border-radius:50%}.ilw-avatar[data-accessory="square-glasses"] .face-accessory:before,.ilw-avatar[data-accessory="square-glasses"] .face-accessory:after{border-radius:2px}.ilw-avatar[data-accessory="sunglasses"] .face-accessory:before,.ilw-avatar[data-accessory="sunglasses"] .face-accessory:after{border-radius:2px;background:#273642}
.ilw-avatar[data-accessory="round-glasses"] .face-accessory:before,.ilw-avatar[data-accessory="square-glasses"] .face-accessory:before,.ilw-avatar[data-accessory="sunglasses"] .face-accessory:before{left:1px}.ilw-avatar[data-accessory="round-glasses"] .face-accessory:after,.ilw-avatar[data-accessory="square-glasses"] .face-accessory:after,.ilw-avatar[data-accessory="sunglasses"] .face-accessory:after{right:1px}
.ilw-avatar[data-accessory="beanie"] .face-accessory,.ilw-avatar[data-accessory="bucket-hat"] .face-accessory,.ilw-avatar[data-accessory="headwrap"] .face-accessory,.ilw-avatar[data-accessory="headscarf"] .face-accessory{display:block;z-index:7;background:var(--av-accent)}
.ilw-avatar[data-accessory="beanie"] .face-accessory{left:12px;top:-1px;width:24px;height:9px;border-radius:10px 10px 3px 3px}
.ilw-avatar[data-accessory="bucket-hat"] .face-accessory{left:9px;top:0;width:30px;height:8px;border-radius:8px;box-shadow:0 4px 0 -1px var(--av-accent)}
.ilw-avatar[data-accessory="headwrap"] .face-accessory{left:11px;top:-2px;width:26px;height:12px;border-radius:50% 50% 26% 26%}.ilw-avatar[data-accessory="headwrap"] .face-accessory:after{content:"";position:absolute;right:2px;top:-6px;width:9px;height:9px;border-radius:50%;background:var(--av-accent)}
.ilw-avatar[data-accessory="headscarf"] .face-accessory{left:10px;top:0;width:28px;height:29px;border-radius:50% 50% 12px 12px;opacity:.92}.ilw-avatar[data-accessory="headscarf"] .head{z-index:8}.ilw-avatar[data-accessory="headscarf"] .face-accessory{z-index:6}
.ilw-avatar[data-accessory="studs"] .face-accessory,.ilw-avatar[data-accessory="hoops"] .face-accessory{display:block;left:11px;top:16px;width:3px;height:3px;border-radius:50%;background:#e4bf58;box-shadow:23px 0 0 #e4bf58}
.ilw-avatar[data-accessory="hoops"] .face-accessory{background:transparent;border:1px solid #e4bf58;box-shadow:23px 0 0 -1px transparent,23px 0 0 0 #e4bf58}
.ilw-avatar[data-accessory="necklace"] .face-accessory{display:block;left:19px;top:25px;width:10px;height:7px;border-bottom:1.5px solid #e4bf58;border-radius:50%}
.ilw-avatar[data-accessory="scarf"] .face-accessory{display:block;left:10px;top:23px;width:28px;height:7px;border-radius:6px;background:var(--av-accent)}
.ilw-avatar[data-accessory="flower"] .face-accessory{display:block;left:30px;top:4px;width:7px;height:7px;border-radius:50%;background:#e58fa7;box-shadow:-3px 0 0 -1px #f2bdca,3px 0 0 -1px #f2bdca,0 -3px 0 -1px #f2bdca,0 3px 0 -1px #f2bdca}
.ilw-avatar[data-accessory="star-pin"] .face-accessory{display:block;left:30px;top:27px;width:7px;height:7px;background:#e4bf58;clip-path:polygon(50% 0,62% 36%,100% 38%,69% 59%,80% 100%,50% 75%,20% 100%,31% 59%,0 38%,38% 36%)}

.ilw-build-card{width:min(1040px,96vw)!important;max-height:92vh!important}
.ilw-build-lede{margin:4px 0 16px;color:var(--lw-muted)!important;line-height:1.55;font-size:.82rem}
.ilw-builder-layout{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}
.ilw-builder-preview{position:sticky;top:0;height:520px!important;min-height:520px;margin:0!important;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.94),rgba(216,239,248,.86) 42%,rgba(178,220,234,.8) 72%,rgba(126,194,215,.72));box-shadow:inset 0 0 0 10px rgba(255,255,255,.38)}
.ilw-builder-preview .ilw-avatar.preview{top:88%!important;transform:translate(-50%,-100%) scale(3.35)!important;transform-origin:center bottom}
.ilw-mirror-label{position:absolute;top:16px;left:0;right:0;text-align:center;color:var(--lw-muted)!important;font-size:.61rem;font-weight:950;letter-spacing:.17em}
.ilw-custom-grid{grid-template-columns:1fr 1fr;align-content:start}.ilw-custom-grid fieldset.wide{grid-column:1/-1}.ilw-custom-grid fieldset{max-height:210px;overflow:auto}.ilw-custom-grid fieldset.wide{max-height:230px}
.ilw-choice{padding:8px 10px}.ilw-swatch{display:inline-flex;align-items:center;gap:5px}.ilw-swatch i{width:14px;height:14px;border-radius:50%;background:var(--sw);border:1px solid rgba(0,0,0,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.ilw-avatar-note b{color:var(--lw-ink)!important}
@media(max-width:760px){.ilw-builder-layout{grid-template-columns:1fr}.ilw-builder-preview{position:relative;height:390px!important;min-height:390px}.ilw-builder-preview .ilw-avatar.preview{transform:translate(-50%,-100%) scale(2.55)!important}.ilw-custom-grid{grid-template-columns:1fr}.ilw-custom-grid fieldset.wide{grid-column:auto}}


/* =========================================================
   v0.4.0 — ISHAURA AVATAR ENGINE v1 + ROOM INTERACTION ENGINE v1
   ========================================================= */
/* Modular hair layering: long hair lives behind the face; front detail never masks the whole head. */
.ilw-person .hair{z-index:1!important}
.ilw-person .head{z-index:5!important;overflow:visible}
.ilw-person .hair-front{position:absolute;left:13px;top:1px;width:22px;height:7px;border-radius:60% 60% 34% 34%;background:var(--av-hair);z-index:6;pointer-events:none}
.ilw-person .face-accessory{z-index:8!important}
.ilw-avatar[data-hair="bald"] .hair-front{display:none}
.ilw-avatar[data-hair="buzz"] .hair-front{height:4px;top:3px}
.ilw-avatar[data-hair="crop"] .hair-front{height:6px;top:2px}
.ilw-avatar[data-hair="waves"] .hair-front{width:25px;left:12px;height:8px;border-radius:64% 46% 45% 26%;background:repeating-linear-gradient(160deg,var(--av-hair) 0 4px,color-mix(in srgb,var(--av-hair) 78%,white) 4px 5px,var(--av-hair) 5px 9px)}
.ilw-avatar[data-hair="straight"] .hair-front,.ilw-avatar[data-hair="long-straight"] .hair-front,.ilw-avatar[data-hair="bob"] .hair-front{height:9px;border-radius:54% 54% 22% 22%}
.ilw-avatar[data-hair="curls"] .hair-front,.ilw-avatar[data-hair="long-curls"] .hair-front,.ilw-avatar[data-hair="coils"] .hair-front{width:25px;left:12px;height:9px;border-radius:50%;box-shadow:-3px 1px 0 -1px var(--av-hair),3px 1px 0 -1px var(--av-hair)}
.ilw-avatar[data-hair="afro"] .hair-front{width:29px;left:10px;top:-1px;height:12px;border-radius:50%}
.ilw-avatar[data-hair="puff"] .hair-front,.ilw-avatar[data-hair="double-puffs"] .hair-front{height:7px}
.ilw-avatar[data-hair="bun"] .hair-front,.ilw-avatar[data-hair="double-buns"] .hair-front,.ilw-avatar[data-hair="ponytail"] .hair-front{height:7px}
.ilw-avatar[data-hair="locs"] .hair,.ilw-avatar[data-hair="long-locs"] .hair,.ilw-avatar[data-hair="braids"] .hair,.ilw-avatar[data-hair="box-braids"] .hair{z-index:1!important;top:1px}
.ilw-avatar[data-hair="locs"] .hair-front,.ilw-avatar[data-hair="long-locs"] .hair-front{height:8px;border-radius:55% 55% 30% 30%;box-shadow:-7px 7px 0 -4px var(--av-hair),7px 7px 0 -4px var(--av-hair)}
.ilw-avatar[data-hair="braids"] .hair-front,.ilw-avatar[data-hair="box-braids"] .hair-front{height:8px;box-shadow:-8px 7px 0 -5px var(--av-hair),8px 7px 0 -5px var(--av-hair)}
.ilw-avatar[data-hair="cornrows"] .hair-front{height:8px;top:2px;background:repeating-linear-gradient(90deg,var(--av-hair) 0 3px,rgba(255,255,255,.18) 3px 4px,var(--av-hair) 4px 7px)}

/* Walk-in room shell */
body.ilw-room-is-open{overflow:hidden}
.ilw-room-modal{position:fixed;inset:0;z-index:2147483400;display:grid;place-items:end center;padding:18px;background:rgba(3,9,17,.66);backdrop-filter:blur(8px);animation:ilwRoomFade .18s ease both}
.ilw-room-modal.is-leaving{opacity:0;transition:opacity .16s ease}
@keyframes ilwRoomFade{from{opacity:0}to{opacity:1}}
.ilw-room-shell{width:min(1180px,100%);max-height:94vh;display:grid;grid-template-rows:auto minmax(360px,1fr) auto;border:1px solid var(--lw-line);border-radius:28px 28px 20px 20px;overflow:hidden;background:var(--lw-panel);color:var(--lw-ink);box-shadow:0 24px 90px rgba(0,0,0,.36)}
.ilw-room-shell>header{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:18px 20px;border-bottom:1px solid var(--lw-line);background:color-mix(in srgb,var(--lw-panel) 94%,transparent)}
.ilw-room-shell>header small{display:block;color:var(--lw-accent);font-size:.62rem;font-weight:950;letter-spacing:.12em}
.ilw-room-shell>header h3{margin:4px 0 4px;font:700 clamp(1.45rem,3vw,2.4rem)/1.05 Georgia,serif;color:var(--lw-ink)}
.ilw-room-shell>header p{max-width:780px;margin:0;color:var(--lw-muted);font-size:.82rem;line-height:1.55}
.ilw-room-close{width:44px;height:44px;border:1px solid var(--lw-line);border-radius:50%;background:var(--lw-panel2);color:var(--lw-ink);font-size:1.3rem;cursor:pointer}
.ilw-room-shell>footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--lw-line);background:var(--lw-panel)}
.ilw-room-stage{position:relative;min-height:520px;overflow:hidden;outline:none;background:linear-gradient(180deg,#eaf7fb 0 48%,#d5c5a3 49% 100%)}
.ilw-room-stage:focus-visible{box-shadow:inset 0 0 0 3px var(--lw-accent)}
.ilw-room-window{position:absolute;left:8%;right:8%;top:7%;height:31%;display:grid;grid-template-columns:repeat(3,1fr);gap:3%;z-index:0}
.ilw-room-window i{border:8px solid rgba(90,80,65,.28);border-radius:18px;background:linear-gradient(180deg,#c8eef6,#83cddd 58%,#4ca8bd 59%,#82d0d8);box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.ilw-room-floor{position:absolute;left:0;right:0;bottom:0;height:54%;background:repeating-linear-gradient(90deg,rgba(112,84,52,.11) 0 2px,transparent 2px 74px),linear-gradient(180deg,#dccba8,#c5aa7c);z-index:0}
.ilw-room-water-ribbon{position:absolute;left:0;right:0;bottom:0;height:17%;background:linear-gradient(180deg,rgba(88,183,205,.84),rgba(45,134,163,.92));opacity:.86;z-index:0}
.ilw-room-water-ribbon:before,.ilw-room-water-ribbon:after{content:"";position:absolute;left:0;right:0;height:5px;background:repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.52) 24px 58px,transparent 58px 94px);opacity:.6}.ilw-room-water-ribbon:before{top:18px}.ilw-room-water-ribbon:after{top:52px;transform:translateX(31px)}
.ilw-room-world-mark{position:absolute;right:5%;top:8%;font-size:3rem;opacity:.22}
.ilw-room-object{position:absolute;left:var(--rx);top:var(--ry);z-index:10;transform:translate(-50%,-50%);width:clamp(98px,12vw,150px);min-height:78px;padding:10px;border:1px solid rgba(27,75,95,.24);border-radius:18px;background:rgba(255,255,255,.93);color:#142431;text-align:center;box-shadow:0 12px 28px rgba(33,74,92,.13);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.ilw-room-object:hover,.ilw-room-object:focus-visible,.ilw-room-object.is-near{transform:translate(-50%,-55%) scale(1.04);border-color:#278aad;box-shadow:0 14px 32px rgba(32,126,158,.24);outline:none}
.ilw-room-object>span{display:block;font-size:1.45rem}.ilw-room-object>b{display:block;margin-top:3px;font-size:.76rem}.ilw-room-object>small{display:block;margin-top:2px;color:#536b78;font-size:.54rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;line-height:1.25}
.ilw-room-avatar{z-index:30!important;transform:translate(-50%,-82%) scale(1.22)!important;transform-origin:center bottom;transition:left .24s ease,top .24s ease!important}
.ilw-room-avatar>b{bottom:-10px;white-space:nowrap}
.ilw-room-nearby{position:absolute;left:50%;bottom:10px;z-index:40;transform:translateX(-50%);width:min(760px,calc(100% - 28px));padding:8px 12px;border-radius:999px;background:rgba(9,23,33,.86);color:#fff!important;text-align:center;font-size:.64rem;font-weight:800;pointer-events:none}

/* Aequora room props */
.ilw-room-shelves{position:absolute;left:5%;top:10%;width:18%;height:46%;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:8px;border-radius:12px;background:#725745;z-index:1}.ilw-room-shelves i{background:linear-gradient(90deg,#44778b 0 22%,#9d6d75 23% 42%,#c49b58 43% 61%,#5e7c62 62% 80%,#6d5b85 81%);border-radius:2px}
.ilw-room-screen{position:absolute;right:6%;top:10%;width:22%;height:24%;display:grid;place-items:center;border:8px solid #26333d;border-radius:10px;background:linear-gradient(145deg,#142c3b,#315d6f);color:#d7f4fa;font-size:.62rem;font-weight:950;letter-spacing:.1em;z-index:1}
.ilw-album-wall{position:absolute;left:5%;top:8%;width:28%;height:36%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:26px 10px 10px;border-radius:14px;background:rgba(53,64,72,.87);z-index:1}.ilw-album-wall small{position:absolute;left:10px;top:8px;color:#fff;font-size:.52rem;font-weight:950;letter-spacing:.1em}.ilw-album-wall i{aspect-ratio:1;border-radius:4px;background:linear-gradient(145deg,#725c8b,#d19583)}.ilw-album-wall i:nth-of-type(2n){background:linear-gradient(145deg,#3f7990,#d3c064)}.ilw-album-wall i:nth-of-type(3n){background:linear-gradient(145deg,#497153,#c0839a)}
.ilw-maker-table{position:absolute;right:7%;top:15%;width:24%;height:16%;display:flex;align-items:center;justify-content:space-around;border-radius:10px;background:#8c6849;box-shadow:0 9px 0 #6b4c35;color:white;font-size:1.3rem;z-index:1}
.ilw-room-table{position:absolute;width:18%;height:12%;border-radius:50%;background:#9a7959;box-shadow:0 8px 0 #715239;z-index:1}.ilw-room-table.t1{left:12%;top:22%}.ilw-room-table.t2{right:12%;top:20%}
.ilw-room-lanterns{position:absolute;left:6%;right:6%;top:4%;display:flex;justify-content:space-around;z-index:2}.ilw-room-lanterns i{width:15px;height:20px;border-radius:7px;background:#f1c864;box-shadow:0 0 22px rgba(241,200,100,.72)}
.ilw-indoor-pool{position:absolute;left:8%;right:8%;bottom:10%;height:34%;border:11px solid #cfbf9f;border-radius:48%;background:radial-gradient(ellipse,#b8edf1,#56b4c6 70%,#2c859e);z-index:1}.ilw-indoor-pool i{position:absolute;inset:18%;border:1px solid rgba(255,255,255,.45);border-radius:50%}
.ilw-sound-shelf{position:absolute;right:5%;top:13%;display:grid;gap:7px;padding:9px;border-radius:12px;background:rgba(63,74,82,.86);color:#fff;z-index:2}
.ilw-civic-desk{position:absolute;left:32%;right:32%;top:13%;height:18%;display:grid;place-items:center;border-radius:16px;background:#98724f;box-shadow:0 10px 0 #765239;z-index:1}.ilw-civic-desk span{color:white;font-size:.58rem;font-weight:950;letter-spacing:.1em}
.ilw-house-doors{position:absolute;left:5%;right:5%;top:12%;display:flex;justify-content:space-between;z-index:1}.ilw-house-doors i{width:14%;height:115px;border:7px solid #d8c6a2;border-radius:50% 50% 8px 8px;background:linear-gradient(180deg,#6d8b94,#385764)}
.ilw-departure-board{position:absolute;left:28%;right:28%;top:10%;padding:16px;border-radius:10px;background:#26333d;color:#dcebf0;text-align:center;z-index:1}.ilw-departure-board b,.ilw-departure-board span{display:block}.ilw-departure-board span{margin-top:5px;font-size:.54rem;letter-spacing:.07em}

@media(max-width:720px){
 .ilw-room-modal{padding:8px}.ilw-room-shell{max-height:96vh;border-radius:20px;grid-template-rows:auto minmax(430px,1fr) auto}.ilw-room-stage{min-height:430px}.ilw-room-object{width:92px;min-height:68px;padding:7px}.ilw-room-object>b{font-size:.65rem}.ilw-room-object>small{display:none}.ilw-room-avatar{transform:translate(-50%,-82%) scale(1.05)!important}.ilw-room-shell>header p{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.ilw-room-modal{animation:none}.ilw-room-avatar,.ilw-room-object{transition:none!important}}


/* =========================================================
   v0.4.1 — TENDARA TRACTOR + OMNORIA RADIANT THREADWAY
   ========================================================= */
.ilw-transport-tractor span{font-size:2.65rem!important;animation:ilwTractorRoll .42s ease-in-out infinite alternate}
@keyframes ilwTractorRoll{to{transform:translateY(-2px) rotate(-1deg)}}
.ilw-transport-radiant-threadway{min-width:108px;min-height:102px;filter:drop-shadow(0 0 18px rgba(183,165,255,.72))}
.ilw-transport-radiant-threadway .ilw-threadway-mark{position:relative;display:block;width:86px;height:86px;margin:auto;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.98) 0 8%,rgba(224,217,255,.72) 10% 21%,rgba(167,148,237,.25) 34%,transparent 66%);box-shadow:0 0 18px rgba(255,255,255,.95),0 0 38px rgba(146,119,200,.72),0 0 64px rgba(125,217,255,.35);animation:ilwThreadwayPulse .45s ease-in-out infinite alternate}
.ilw-transport-radiant-threadway .tw-core{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:2.7rem;color:#fff;text-shadow:0 0 8px #fff,0 0 18px #b7a5ff;animation:ilwThreadwayCore .65s linear infinite}
.ilw-transport-radiant-threadway .tw-orbit{position:absolute;inset:7px;border:2px solid rgba(255,255,255,.76);border-left-color:rgba(125,217,255,.25);border-radius:50%;animation:ilwThreadwaySpin .85s linear infinite}
.ilw-transport-radiant-threadway .tw-orbit.tw2{inset:18px;border-color:rgba(183,165,255,.75);border-right-color:transparent;animation-direction:reverse;animation-duration:.58s}
.ilw-transport-radiant-threadway .tw-star{position:absolute;font-style:normal;color:#fff;text-shadow:0 0 7px #fff;font-size:1.1rem}.ilw-transport-radiant-threadway .tw-star.s1{left:1px;top:31px}.ilw-transport-radiant-threadway .tw-star.s2{right:2px;top:13px}.ilw-transport-radiant-threadway .tw-star.s3{right:14px;bottom:3px}
.ilw-aether .ilw-scene.is-threadway-crossing:after{content:"";position:absolute;inset:0;z-index:11;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.46),transparent 24%),repeating-linear-gradient(112deg,transparent 0 34px,rgba(183,165,255,.23) 35px 37px,transparent 38px 62px),repeating-linear-gradient(68deg,transparent 0 45px,rgba(125,217,255,.18) 46px 48px,transparent 49px 78px);animation:ilwThreadwayField .55s ease-in-out infinite alternate}
@keyframes ilwThreadwaySpin{to{transform:rotate(360deg)}}
@keyframes ilwThreadwayCore{to{transform:rotate(360deg)}}
@keyframes ilwThreadwayPulse{to{transform:scale(1.08);filter:brightness(1.18)}}
@keyframes ilwThreadwayField{to{opacity:.45;filter:brightness(1.35)}}
@media(prefers-reduced-motion:reduce){.ilw-transport-radiant-threadway .tw-core,.ilw-transport-radiant-threadway .tw-orbit,.ilw-transport-radiant-threadway .ilw-threadway-mark,.ilw-aether .ilw-scene.is-threadway-crossing:after,.ilw-transport-tractor span{animation:none!important}}


/* =========================================================
   v0.4.2 — OMNORIA SIGNATURE TRAVEL: CONSTELLATION FOLD
   Local grammar remains Threadways; long crossings become an event.
   ========================================================= */
.ilw-transport-constellation-fold{min-width:176px;min-height:166px;filter:drop-shadow(0 0 28px rgba(179,137,255,.92));z-index:15!important}
.ilw-transport-constellation-fold b{display:block;margin-top:-4px;padding:4px 8px;border-radius:999px;background:rgba(31,15,58,.86);color:#fff!important;font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 0 20px rgba(198,167,255,.45)}
.ilw-transport-constellation-fold small{display:block;margin-top:3px;color:#f3eaff!important;font-size:.45rem;font-weight:900;letter-spacing:.08em}
.ilw-transport-constellation-fold .ilw-threadway-mark{position:relative;display:block;width:146px;height:146px;margin:auto;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,1) 0 5%,rgba(241,225,255,.96) 7% 13%,rgba(181,133,255,.55) 18%,rgba(105,76,196,.25) 34%,transparent 68%);box-shadow:0 0 22px #fff,0 0 55px rgba(191,149,255,.95),0 0 105px rgba(106,91,221,.72);animation:ilwFoldPulse .38s ease-in-out infinite alternate}
.ilw-transport-constellation-fold .tw-core{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:4rem;color:#fff;text-shadow:0 0 9px #fff,0 0 22px #d8baff,0 0 45px #8c62ff;animation:ilwFoldCore .72s linear infinite}
.ilw-transport-constellation-fold .tw-orbit,.ilw-transport-constellation-fold .tw-halo{position:absolute;border-radius:50%;pointer-events:none}
.ilw-transport-constellation-fold .tw-orbit{inset:18px;border:3px solid rgba(255,255,255,.88);border-left-color:rgba(127,216,255,.25);border-bottom-color:rgba(207,160,255,.42);animation:ilwFoldSpin .72s linear infinite}
.ilw-transport-constellation-fold .tw-orbit.tw2{inset:34px;border-color:rgba(204,164,255,.85);border-right-color:transparent;animation-direction:reverse;animation-duration:.48s}
.ilw-transport-constellation-fold .tw-halo.h1{inset:-10px;border:2px solid rgba(216,187,255,.48);transform:rotateX(67deg);box-shadow:0 0 22px rgba(196,155,255,.48);animation:ilwFoldHalo 1.1s linear infinite}
.ilw-transport-constellation-fold .tw-halo.h2{inset:4px;border:2px dashed rgba(134,218,255,.62);transform:rotateY(68deg);animation:ilwFoldHalo .85s linear infinite reverse}
.ilw-transport-constellation-fold .tw-star{position:absolute;font-style:normal;color:#fff;text-shadow:0 0 9px #fff,0 0 17px #b78dff}.ilw-transport-constellation-fold .tw-star.s1{left:4px;top:49px;font-size:1.15rem}.ilw-transport-constellation-fold .tw-star.s2{right:-2px;top:27px;font-size:1.4rem}.ilw-transport-constellation-fold .tw-star.s3{right:18px;bottom:3px;font-size:1.15rem}.ilw-transport-constellation-fold .tw-star.s4{left:29px;bottom:6px;font-size:1.35rem}
.ilw-aether .ilw-scene.is-constellation-fold:before{content:"CONSTELLATION FOLD";position:absolute;z-index:20;left:50%;top:8%;transform:translateX(-50%);padding:7px 13px;border:1px solid rgba(238,219,255,.72);border-radius:999px;background:rgba(37,18,65,.86);color:#fff;font-size:.58rem;font-weight:950;letter-spacing:.13em;pointer-events:none;box-shadow:0 0 28px rgba(191,149,255,.6);animation:ilwFoldTitle .8s ease-in-out infinite alternate}
.ilw-aether .ilw-scene.is-constellation-fold:after{content:"";position:absolute;inset:0;z-index:11;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.82) 0 3%,rgba(217,188,255,.42) 12%,transparent 31%),conic-gradient(from 0deg at 50% 50%,transparent 0 8%,rgba(172,117,255,.22) 9% 11%,transparent 12% 24%,rgba(102,216,255,.18) 25% 27%,transparent 28% 42%,rgba(226,182,255,.18) 43% 46%,transparent 47% 100%),repeating-radial-gradient(circle at 50% 50%,transparent 0 34px,rgba(234,218,255,.26) 35px 37px,transparent 38px 66px);box-shadow:inset 0 0 110px rgba(92,49,154,.55);animation:ilwFoldField .42s ease-in-out infinite alternate}
.ilw-aether .ilw-scene.is-constellation-fold .ilw-avatar.is-folding{opacity:.28;filter:brightness(2.2) saturate(.5) drop-shadow(0 0 22px #fff);transform:translate(-50%,-86%) scale(.68)!important;transition:opacity .28s ease,filter .28s ease,transform .45s ease!important}
.ilw-aether .ilw-scene .ilw-avatar.is-reforming{animation:ilwReform .58s ease-out}
@keyframes ilwFoldSpin{to{transform:rotate(360deg)}}
@keyframes ilwFoldCore{50%{transform:scale(.76) rotate(180deg)}to{transform:rotate(360deg)}}
@keyframes ilwFoldHalo{to{rotate:360deg}}
@keyframes ilwFoldPulse{to{transform:scale(1.14);filter:brightness(1.3)}}
@keyframes ilwFoldField{to{opacity:.48;filter:hue-rotate(18deg) brightness(1.3)}}
@keyframes ilwFoldTitle{to{letter-spacing:.18em;filter:brightness(1.22)}}
@keyframes ilwReform{0%{opacity:.08;filter:brightness(3);transform:translate(-50%,-86%) scale(.55)}65%{opacity:1;filter:brightness(1.6);transform:translate(-50%,-86%) scale(1.18)}100%{filter:none}}
@media(prefers-reduced-motion:reduce){.ilw-transport-constellation-fold *, .ilw-aether .ilw-scene.is-constellation-fold:before,.ilw-aether .ilw-scene.is-constellation-fold:after,.ilw-aether .ilw-scene .ilw-avatar.is-reforming{animation:none!important}.ilw-aether .ilw-scene.is-constellation-fold .ilw-avatar.is-folding{opacity:.55!important;transform:translate(-50%,-86%) scale(1)!important}}


/* =========================================================
   v0.4.3 — AVATAR / WARDROBE SITE-THEME FIX
   The avatar editor is appended to <body>, outside .ilw-world.
   Therefore it must carry its own theme variables instead of
   relying on variables inherited from .ilw-world.
   Website appearance remains authoritative; there is no local toggle.
   ========================================================= */
.ilw-avatar-modal,.ilw-access-modal{
  --lw-bg:#eef4f8;
  --lw-panel:#ffffff;
  --lw-panel2:#f7fafc;
  --lw-ink:#102033;
  --lw-muted:#5d6c7c;
  --lw-line:rgba(27,57,84,.15);
  --lw-accent:#2a78a8;
  --lw-accent2:#7357a5;
  --lw-glow:rgba(42,120,168,.20);
  color:var(--lw-ink)!important;
  background:rgba(37,52,70,.34)!important;
  color-scheme:light;
}
.ilw-avatar-modal .ilw-avatar-card,.ilw-access-modal .ilw-access-card{
  background:var(--lw-panel)!important;
  color:var(--lw-ink)!important;
  border-color:var(--lw-line)!important;
}
.ilw-avatar-modal .ilw-avatar-card h3,
.ilw-avatar-modal .ilw-avatar-card h4,
.ilw-avatar-modal .ilw-avatar-card b,
.ilw-avatar-modal .ilw-avatar-card strong,
.ilw-avatar-modal .ilw-choice,
.ilw-avatar-modal .ilw-btn,
.ilw-access-modal .ilw-access-card h3,
.ilw-access-modal .ilw-access-card b,
.ilw-access-modal .ilw-access-card strong{
  color:var(--lw-ink)!important;
}
.ilw-avatar-modal .ilw-avatar-card p,
.ilw-avatar-modal .ilw-avatar-card legend,
.ilw-avatar-modal .ilw-avatar-note,
.ilw-access-modal .ilw-access-card p{
  color:var(--lw-muted)!important;
}
.ilw-avatar-modal .ilw-custom-grid fieldset,
.ilw-avatar-modal .ilw-access-code{
  background:var(--lw-panel2)!important;
  border-color:var(--lw-line)!important;
}
.ilw-avatar-modal .ilw-choice{
  background:var(--lw-panel)!important;
  border-color:var(--lw-line)!important;
}
.ilw-avatar-modal .ilw-choice.is-selected{
  background:#eaf5fb!important;
  border-color:var(--lw-accent)!important;
  color:#102033!important;
}
.ilw-avatar-modal .ilw-access-close,
.ilw-avatar-modal [data-avatar-close],
.ilw-access-modal .ilw-access-close{
  background:var(--lw-panel2)!important;
  color:var(--lw-ink)!important;
  border-color:var(--lw-line)!important;
}

/* explicit site-light states win, even if a theme/plugin leaves stale classes elsewhere */
html[data-theme="light"] .ilw-avatar-modal,
html[data-appearance="light"] .ilw-avatar-modal,
body[data-theme="light"] .ilw-avatar-modal,
body.light-mode .ilw-avatar-modal,
html.light .ilw-avatar-modal,
html[data-theme="light"] .ilw-access-modal,
html[data-appearance="light"] .ilw-access-modal,
body[data-theme="light"] .ilw-access-modal,
body.light-mode .ilw-access-modal,
html.light .ilw-access-modal{
  --lw-bg:#eef4f8;--lw-panel:#ffffff;--lw-panel2:#f7fafc;--lw-ink:#102033;--lw-muted:#5d6c7c;
  --lw-line:rgba(27,57,84,.15);--lw-accent:#2a78a8;--lw-accent2:#7357a5;--lw-glow:rgba(42,120,168,.20);
  background:rgba(37,52,70,.34)!important;color-scheme:light;
}

/* dark mode follows the website when it is actually dark */
body.dark-mode .ilw-avatar-modal,body.is-dark .ilw-avatar-modal,html.dark .ilw-avatar-modal,
html[data-theme="dark"] .ilw-avatar-modal,html[data-appearance="dark"] .ilw-avatar-modal,body[data-theme="dark"] .ilw-avatar-modal,
body.dark-mode .ilw-access-modal,body.is-dark .ilw-access-modal,html.dark .ilw-access-modal,
html[data-theme="dark"] .ilw-access-modal,html[data-appearance="dark"] .ilw-access-modal,body[data-theme="dark"] .ilw-access-modal{
  --lw-bg:#040a12;--lw-panel:#09121d;--lw-panel2:#0e1925;--lw-ink:#edf6ff;--lw-muted:#a9bac8;
  --lw-line:rgba(169,199,222,.16);--lw-accent:#7bd9ff;--lw-accent2:#b7a5ff;--lw-glow:rgba(110,193,237,.14);
  background:rgba(3,8,16,.72)!important;color-scheme:dark;
}
body.dark-mode .ilw-avatar-modal .ilw-choice.is-selected,body.is-dark .ilw-avatar-modal .ilw-choice.is-selected,html.dark .ilw-avatar-modal .ilw-choice.is-selected,
html[data-theme="dark"] .ilw-avatar-modal .ilw-choice.is-selected,html[data-appearance="dark"] .ilw-avatar-modal .ilw-choice.is-selected,body[data-theme="dark"] .ilw-avatar-modal .ilw-choice.is-selected{
  background:#132739!important;color:#edf6ff!important;
}

/* =========================================================
   v0.5.0 — IMMERSIVE CIVILIZATION WORLD RESTORE
   One canonical Civilization, full-width playable surface.
   ========================================================= */
.ilw-mount{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 0 26px -50vw!important;
  padding:0!important;
  z-index:2;
}
.ilw-world{
  width:100vw!important;
  max-width:none!important;
  min-height:100svh;
  border-left:0!important;border-right:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.ilw-top{position:relative;z-index:30;padding:14px clamp(16px,3vw,34px)!important;align-items:center!important}
.ilw-top h2{font-size:clamp(2rem,4vw,4.4rem)!important}
.ilw-top-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ilw-fullscreen-btn{min-height:38px;padding:8px 12px;border:1px solid var(--lw-line);border-radius:999px;background:var(--lw-panel2);color:var(--lw-ink);font-weight:900;font-size:.68rem;cursor:pointer}
.ilw-fullscreen-btn:hover,.ilw-fullscreen-btn:focus-visible{border-color:var(--lw-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--lw-accent) 16%,transparent)}
.ilw-status{position:relative;z-index:28}
.ilw-scene{
  min-height:calc(100svh - 178px)!important;
  height:calc(100svh - 178px)!important;
  max-height:none!important;
  overflow:hidden!important;
}
.ilw-world:fullscreen{width:100vw!important;height:100vh!important;overflow:hidden!important;background:var(--lw-bg)}
.ilw-world:fullscreen .ilw-scene{height:calc(100vh - 160px)!important;min-height:calc(100vh - 160px)!important}
.ilw-world:fullscreen .ilw-actions,.ilw-world:fullscreen .ilw-note,.ilw-world:fullscreen .ilw-preview-law{display:none!important}
.ilw-world:fullscreen .ilw-top{padding-top:10px!important;padding-bottom:10px!important}
.ilw-world:fullscreen .ilw-status{padding-top:7px!important;padding-bottom:7px!important}

/* The map should read as a PLACE before it reads as an interface. */
.ilw-place-node{z-index:7!important}
.ilw-place-node .ilw-landmass{width:clamp(132px,15vw,230px)!important;height:clamp(92px,11vw,156px)!important}
.ilw-place-sign{max-width:210px!important;font-size:.77rem!important;box-shadow:0 12px 28px rgba(10,34,49,.18)!important}
.ilw-place-sign b{font-size:.88rem!important}.ilw-place-sign small{font-size:.54rem!important}
.ilw-scene-help{left:50%!important;right:auto!important;bottom:14px!important;transform:translateX(-50%);max-width:min(860px,calc(100% - 28px));padding:9px 14px!important;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(8,25,37,.76)!important;color:#fff!important;backdrop-filter:blur(12px);text-align:center;z-index:24!important}
.ilw-scene-help b{color:#fff!important}

/* CIVILIZATION HOME — actual Base route, visible inside the local world. */
.ilw-home-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:10;width:190px;border:0;background:transparent;color:var(--lw-ink);cursor:pointer;text-align:center}
.ilw-home-shape{position:relative;display:grid;place-items:center;gap:2px;min-height:112px;padding:16px 12px 12px;border:2px solid color-mix(in srgb,var(--lw-accent) 52%,#fff);border-radius:36px 36px 16px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--lw-panel) 90%,var(--lw-accent) 10%),var(--lw-panel));box-shadow:0 20px 36px rgba(20,48,65,.22),0 0 0 7px color-mix(in srgb,var(--lw-accent) 9%,transparent)}
.ilw-home-shape:before{content:"";position:absolute;left:26px;right:26px;top:-34px;height:54px;clip-path:polygon(50% 0,100% 100%,0 100%);background:color-mix(in srgb,var(--lw-accent) 70%,#5b4336);filter:drop-shadow(0 5px 4px rgba(0,0,0,.14))}
.ilw-home-shape i{font-style:normal;font-size:2rem;color:var(--lw-accent)}
.ilw-home-shape b{font-size:.62rem;letter-spacing:.08em}
.ilw-home-node>small{display:inline-block;margin-top:8px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.88);color:#243744;font-size:.51rem;font-weight:900;box-shadow:0 8px 20px rgba(15,49,64,.14)}
.ilw-home-node:hover .ilw-home-shape,.ilw-home-node:focus-visible .ilw-home-shape{transform:translateY(-5px);box-shadow:0 0 0 6px color-mix(in srgb,var(--lw-accent) 16%,transparent),0 28px 45px rgba(18,45,60,.26)}
.ilw-home-node:focus-visible{outline:none}

/* NOEIRA — sky, suspended places, moving cloud lanes */
.ilw-air .ilw-scene{background:linear-gradient(180deg,#65bce5 0%,#bfe8f7 42%,#eefaff 76%,#d8eef5 100%)!important}
.ilw-air .ilw-terrain{background:radial-gradient(ellipse at 14% 18%,rgba(255,255,255,.92) 0 7%,transparent 8%),radial-gradient(ellipse at 72% 14%,rgba(255,255,255,.82) 0 10%,transparent 11%),radial-gradient(ellipse at 88% 67%,rgba(255,255,255,.72) 0 9%,transparent 10%),linear-gradient(118deg,transparent 0 42%,rgba(255,255,255,.42) 43% 46%,transparent 47%)!important}
.ilw-air .ilw-landmass{background:linear-gradient(180deg,#ffffff,#dcecf3)!important;border-radius:38px 38px 58px 58px!important;box-shadow:0 26px 38px rgba(47,84,108,.22),0 12px 0 rgba(255,255,255,.55)!important}
.ilw-air .ilw-landmass:after{content:"";position:absolute;left:12%;right:12%;bottom:-19px;height:22px;border-radius:50%;background:rgba(255,255,255,.55);filter:blur(6px)}
.ilw-air-life .cloud{position:absolute;width:160px;height:46px;border-radius:50%;background:rgba(255,255,255,.66);filter:blur(.2px);box-shadow:45px 8px 0 -8px rgba(255,255,255,.63),-42px 14px 0 -12px rgba(255,255,255,.58)}
.ilw-air-life .c1{left:4%;top:43%}.ilw-air-life .c2{right:4%;top:28%;transform:scale(.75)}.ilw-air-life .c3{left:44%;bottom:8%;transform:scale(.95)}
.ilw-air-life .windline{position:absolute;height:2px;width:190px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:ilwWindDrift 5.2s linear infinite}
.ilw-air-life .w1{left:9%;top:27%}.ilw-air-life .w2{right:8%;top:51%;animation-delay:-1.6s}.ilw-air-life .w3{left:38%;top:69%;animation-delay:-3.1s}
@keyframes ilwWindDrift{50%{transform:translateX(24px);opacity:.45}}

/* AEQUORA — ocean first, islands second. */
.ilw-water .ilw-scene{background:linear-gradient(180deg,#78d2e6 0%,#2aa4c3 38%,#117b9c 74%,#07556f 100%)!important}
.ilw-water .ilw-terrain{background:radial-gradient(ellipse at 18% 12%,rgba(255,255,255,.30),transparent 25%),repeating-radial-gradient(ellipse at 48% 48%,transparent 0 32px,rgba(255,255,255,.12) 33px 35px,transparent 36px 68px)!important}
.ilw-water .ilw-landmass{width:clamp(150px,17vw,250px)!important;height:clamp(105px,12vw,170px)!important;background:radial-gradient(ellipse at 50% 34%,#dbe7a8 0 38%,#8db06f 39% 58%,#55785d 59% 72%,#d6e8c0 73% 78%,transparent 79%),linear-gradient(180deg,#d9e7b0,#779c68)!important;border-radius:52% 48% 57% 43%/54% 42% 58% 46%!important;border:2px solid rgba(232,244,211,.74)!important;box-shadow:0 12px 0 rgba(211,238,224,.54),0 25px 34px rgba(2,67,89,.32)!important}
.ilw-water .ilw-dock{bottom:-29px!important;width:66px!important;height:38px!important}
.ilw-water .ilw-route-svg line{stroke:#e9fbff!important;stroke-opacity:.7!important;stroke-width:.72!important;stroke-dasharray:1.2 2.2!important}
.ilw-water-life .sun-glint{position:absolute;left:9%;right:9%;top:11%;height:18%;background:linear-gradient(105deg,transparent 0 45%,rgba(255,255,255,.36) 48%,rgba(255,255,255,.08) 52%,transparent 55%);filter:blur(4px);transform:skewX(-12deg)}
.ilw-water-life .wave{animation:ilwOceanPulse 4.4s ease-in-out infinite}
.ilw-water-life .w6{left:54%;top:16%;width:135px}
.ilw-water-life .reef{position:absolute;width:90px;height:30px;border-radius:50%;background:rgba(91,191,172,.24);filter:blur(3px)}.ilw-water-life .reef1{left:6%;bottom:25%}.ilw-water-life .reef2{right:10%;bottom:15%;width:130px}
@keyframes ilwOceanPulse{50%{transform:translateX(18px) scaleX(1.15);opacity:.6}}

/* TENDARA — land, terraces, fields and Rootways. */
.ilw-earth .ilw-scene{background:linear-gradient(180deg,#c9e2d0 0%,#9cbc8c 36%,#718a55 68%,#4f633c 100%)!important}
.ilw-earth .ilw-terrain{background:radial-gradient(ellipse at 18% 16%,rgba(255,255,255,.28),transparent 25%),repeating-linear-gradient(168deg,transparent 0 65px,rgba(63,91,52,.12) 66px 70px,transparent 71px 126px)!important}
.ilw-earth .ilw-landmass{background:linear-gradient(180deg,#a9c27d,#789052 58%,#5a6d3f)!important;border-radius:26px 26px 13px 13px!important;border:2px solid rgba(76,103,55,.38)!important;box-shadow:0 13px 0 #6f7a46,0 24px 30px rgba(45,62,32,.28)!important}
.ilw-earth-life .ridge{position:absolute;width:42%;height:30%;clip-path:polygon(0 100%,18% 46%,32% 67%,48% 24%,66% 68%,82% 40%,100% 100%);background:linear-gradient(180deg,rgba(96,119,70,.44),rgba(67,86,51,.12));bottom:0}.ilw-earth-life .r1{left:-4%}.ilw-earth-life .r2{right:-4%;transform:scaleX(-1)}
.ilw-earth-life .terrace{position:absolute;width:300px;height:90px;border-radius:50%;border-top:7px solid rgba(233,217,168,.62);border-bottom:5px solid rgba(73,109,58,.3)}.ilw-earth-life .t1{left:6%;top:18%;transform:rotate(-8deg)}.ilw-earth-life .t2{right:7%;top:53%;transform:rotate(7deg)}
.ilw-earth-life .grove{position:absolute;width:120px;height:95px;background:radial-gradient(circle at 16% 45%,#4f7f49 0 8%,transparent 9%),radial-gradient(circle at 42% 30%,#5c8a50 0 9%,transparent 10%),radial-gradient(circle at 70% 48%,#416d40 0 10%,transparent 11%),radial-gradient(circle at 88% 24%,#638f55 0 7%,transparent 8%)}.ilw-earth-life .g1{left:3%;top:53%}.ilw-earth-life .g2{right:3%;top:17%}
.ilw-earth-life .field{position:absolute;left:34%;bottom:5%;width:32%;height:14%;transform:perspective(200px) rotateX(56deg);background:repeating-linear-gradient(90deg,#b5a866 0 9px,#8d874f 10px 13px)}

/* SOLVIA — radiant volcanic city + Emberline. */
.ilw-fire .ilw-scene{background:radial-gradient(circle at 50% 50%,rgba(255,236,172,.75),transparent 18%),linear-gradient(180deg,#f1b268 0%,#ca6d42 42%,#783c32 78%,#351e24 100%)!important}
.ilw-fire .ilw-terrain{background:repeating-conic-gradient(from 2deg at 50% 48%,rgba(255,220,130,.10) 0 7deg,transparent 8deg 40deg),radial-gradient(circle at 50% 48%,transparent 0 21%,rgba(255,215,106,.18) 22% 23%,transparent 24% 38%,rgba(75,31,27,.18) 39% 40%,transparent 41%)!important}
.ilw-fire .ilw-landmass{background:linear-gradient(180deg,#d98853,#a9533b 63%,#71342f)!important;border:2px solid rgba(255,194,111,.38)!important;box-shadow:0 15px 0 #713d31,0 24px 36px rgba(66,28,28,.34)!important}
.ilw-fire-life .ember{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffe19a;box-shadow:0 0 16px #ff9d4b;animation:ilwEmber 2.4s ease-in-out infinite}.ilw-fire-life .e1{left:14%;top:17%}.ilw-fire-life .e2{right:18%;top:26%;animation-delay:-.9s}.ilw-fire-life .e3{left:64%;bottom:14%;animation-delay:-1.7s}
.ilw-fire-life .lava{position:absolute;height:7px;border-radius:999px;background:linear-gradient(90deg,transparent,#ffb34f,#ff6f3d,transparent);box-shadow:0 0 18px rgba(255,104,50,.5)}.ilw-fire-life .l1{left:5%;right:54%;bottom:15%;transform:rotate(7deg)}.ilw-fire-life .l2{left:58%;right:5%;top:18%;transform:rotate(-8deg)}
.ilw-fire-life .rail{position:absolute;left:7%;right:7%;top:48%;height:12%;border:4px double rgba(71,31,31,.55);border-left:0;border-right:0;border-radius:50%}
@keyframes ilwEmber{50%{transform:translateY(-24px);opacity:.35}}

/* OMNORIA — constellation field, glowing nodes and folds. */
.ilw-aether .ilw-scene{background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.20),transparent 18%),linear-gradient(180deg,#171335,#27204d 45%,#11152f 100%)!important}
.ilw-aether .ilw-terrain{background:radial-gradient(circle at 12% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 77% 15%,#fff 0 1px,transparent 2px),radial-gradient(circle at 83% 72%,#fff 0 1px,transparent 2px),radial-gradient(circle at 28% 82%,#c7b8ff 0 1px,transparent 2px),repeating-radial-gradient(circle at 50% 49%,transparent 0 72px,rgba(185,164,255,.14) 73px 74px,transparent 75px 125px)!important;background-size:auto,auto,auto,auto,auto}
.ilw-aether .ilw-landmass{background:radial-gradient(circle,#f8f6ff 0 28%,#c7baf0 55%,#7e6db4 78%,rgba(78,60,120,.25) 79%)!important;border:2px solid rgba(225,213,255,.52)!important;box-shadow:0 0 0 8px rgba(182,156,255,.08),0 0 36px rgba(172,137,255,.45)!important}
.ilw-aether .ilw-place-sign{background:rgba(24,19,49,.82)!important;color:#fff!important}.ilw-aether .ilw-place-sign b,.ilw-aether .ilw-place-sign small{color:#fff!important}
.ilw-aether-life .star{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff}.ilw-aether-life .s1{left:11%;top:31%}.ilw-aether-life .s2{right:13%;top:22%}.ilw-aether-life .s3{right:27%;bottom:12%}.ilw-aether-life .s4{left:26%;bottom:23%}
.ilw-aether-life .ring{position:absolute;border:1px solid rgba(203,184,255,.28);border-radius:50%}.ilw-aether-life .r1{inset:13% 24%}.ilw-aether-life .r2{inset:22% 14%;transform:rotate(16deg)}
.ilw-aether-life .thread{position:absolute;height:2px;width:32%;background:linear-gradient(90deg,transparent,#cdb6ff,transparent);box-shadow:0 0 14px rgba(185,151,255,.6)}.ilw-aether-life .th1{left:9%;top:57%;transform:rotate(23deg)}.ilw-aether-life .th2{right:9%;top:39%;transform:rotate(-19deg)}

/* Make every Civilization's signature transport obvious when it moves. */
.ilw-transport{min-width:92px!important;min-height:70px!important;z-index:18!important;filter:drop-shadow(0 13px 10px rgba(8,35,48,.3))!important}
.ilw-transport span{font-size:3rem!important}.ilw-transport b{font-size:.58rem!important;padding:5px 8px!important}
.ilw-transport-glider span{filter:drop-shadow(0 0 12px rgba(255,255,255,.85));animation:ilwGlide .55s ease-in-out infinite alternate!important}
.ilw-transport-boat span{font-size:3.5rem!important;animation:ilwBoat .45s ease-in-out infinite alternate!important}
.ilw-transport-tractor span{font-size:3.45rem!important}
.ilw-transport-ember-tram span{font-size:3.35rem!important;filter:drop-shadow(0 0 12px rgba(255,164,72,.65));animation:ilwTram .35s ease-in-out infinite alternate}
@keyframes ilwTram{to{transform:translateX(4px);filter:brightness(1.15)}}

/* Dark-mode worlds stay world-specific rather than becoming the same black card. */
html[data-theme="dark"] .ilw-world,body.dark .ilw-world,body.dark-mode .ilw-world{--lw-bg:#071018;--lw-panel:#0b151e;--lw-panel2:#111e29;--lw-ink:#f5f9fc;--lw-muted:#c1cdd7;--lw-line:rgba(226,240,249,.15)}
html[data-theme="dark"] .ilw-home-node>small,body.dark .ilw-home-node>small,body.dark-mode .ilw-home-node>small{background:rgba(9,21,31,.87);color:#f5f9fc}

@media(max-width:820px){
 .ilw-scene{height:calc(100svh - 205px)!important;min-height:620px!important}
 .ilw-top{align-items:flex-start!important}.ilw-top-tools{align-items:flex-end}
 .ilw-status{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ilw-place-node .ilw-landmass{width:122px!important;height:86px!important}
 .ilw-home-node{width:145px}.ilw-home-shape{min-height:92px}.ilw-home-node>small{display:none}
 .ilw-scene-help{border-radius:16px!important;font-size:.58rem!important}
}
@media(max-width:560px){
 .ilw-top{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}.ilw-live-pill{display:none!important}
 .ilw-fullscreen-btn{font-size:.58rem;padding:7px 9px}
 .ilw-scene{min-height:650px!important;height:calc(100svh - 190px)!important}
 .ilw-place-node .ilw-landmass{width:104px!important;height:76px!important}
 .ilw-place-sign{max-width:118px!important;padding:4px 6px!important}.ilw-place-sign b{font-size:.67rem!important}.ilw-place-sign small{display:none!important}
 .ilw-home-node{width:118px}.ilw-home-shape{min-height:80px;padding:10px 6px 6px}.ilw-home-shape:before{left:20px;right:20px;top:-25px;height:40px}.ilw-home-shape b{font-size:.49rem}.ilw-home-shape i{font-size:1.45rem}
}
@media(prefers-reduced-motion:reduce){.ilw-air-life .windline,.ilw-water-life .wave,.ilw-fire-life .ember,.ilw-transport-ember-tram span{animation:none!important}}

/* Guest/Family Play may mount the safe playable surface even when the canonical civic record is not mapped. */
.ilw-playonly-hidden{display:none!important}
.ilw-family-play [data-ilw-gate="dosn"],.ilw-family-play [data-ilw-atlas],.ilw-family-play [data-ilw-ledger]{display:none!important}
.ilw-family-play .ilw-note:after{content:" Family Play keeps deeper adult civic panels, records, and community handoffs closed."}


/* =========================================================
   v0.6 — AVATAR STUDIO UX / LIGHT MODE / SPORTS + CHEER
   One preview, one menu, one scroll surface.
   ========================================================= */
.ilw-avatar-modal,.ilw-avatar-focus{
  --lw-bg:#eef4f8;--lw-panel:#ffffff;--lw-panel2:#f5f8fb;--lw-ink:#102033;--lw-muted:#596b7b;
  --lw-line:rgba(27,57,84,.16);--lw-accent:#257ca8;--lw-glow:rgba(42,120,168,.18);
  color:var(--lw-ink)!important;
}
body.dark-mode .ilw-avatar-modal,body.is-dark .ilw-avatar-modal,html.dark .ilw-avatar-modal,
html[data-theme="dark"] .ilw-avatar-modal,html[data-appearance="dark"] .ilw-avatar-modal,
body.dark-mode .ilw-avatar-focus,body.is-dark .ilw-avatar-focus,html.dark .ilw-avatar-focus,
html[data-theme="dark"] .ilw-avatar-focus,html[data-appearance="dark"] .ilw-avatar-focus{
  --lw-bg:#040a12;--lw-panel:#09121d;--lw-panel2:#0e1925;--lw-ink:#edf6ff;--lw-muted:#a9bac8;
  --lw-line:rgba(169,199,222,.18);--lw-accent:#75d5f4;--lw-glow:rgba(110,193,237,.15)
}
.ilw-avatar-modal{overflow:auto;display:block;padding:18px;background:rgba(3,8,16,.62)}
.ilw-avatar-card.ilw-build-card{width:min(1120px,100%);max-height:none;overflow:visible;margin:auto;padding:22px;background:var(--lw-panel)!important;color:var(--lw-ink)!important}
.ilw-wardrobe-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-right:48px}
.ilw-wardrobe-top h3{font-size:clamp(2rem,4vw,3.4rem);margin:5px 0 4px;color:var(--lw-ink)!important}
.ilw-wardrobe-top p{margin:0;color:var(--lw-muted)!important}
.ilw-wardrobe-top-actions{display:flex;gap:8px;align-items:center}
.ilw-builder-layout-v6{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start;margin-top:18px}
.ilw-builder-layout-v6 .ilw-builder-preview{position:sticky;top:18px;height:min(66vh,620px);min-height:430px;margin:0;background:
 radial-gradient(circle at 50% 30%,rgba(122,210,239,.22),transparent 32%),
 linear-gradient(180deg,#eefaff,#e6f0f6)!important;border:1px solid var(--lw-line)}
body.dark-mode .ilw-builder-layout-v6 .ilw-builder-preview,body.is-dark .ilw-builder-layout-v6 .ilw-builder-preview,html.dark .ilw-builder-layout-v6 .ilw-builder-preview,
html[data-theme="dark"] .ilw-builder-layout-v6 .ilw-builder-preview,html[data-appearance="dark"] .ilw-builder-layout-v6 .ilw-builder-preview{
 background:radial-gradient(circle at 50% 30%,rgba(102,215,255,.15),transparent 32%),linear-gradient(180deg,#0c1d2b,#08111b)!important
}
.ilw-builder-layout-v6 .ilw-avatar.preview{top:88%!important;transform:translate(-50%,-100%) scale(3.8)!important;transform-origin:center bottom}
.ilw-wardrobe-ui{min-width:0}
.ilw-wardrobe-menu{display:flex;gap:7px;flex-wrap:wrap;padding:8px;border:1px solid var(--lw-line);border-radius:18px;background:var(--lw-panel2)}
.ilw-wardrobe-menu button{min-height:42px;padding:9px 12px;border:1px solid var(--lw-line);border-radius:999px;background:var(--lw-panel)!important;color:var(--lw-ink)!important;font-weight:900;cursor:pointer}
.ilw-wardrobe-menu button.is-active{border-color:var(--lw-accent);background:color-mix(in srgb,var(--lw-panel) 84%,var(--lw-accent) 16%)!important;box-shadow:0 0 0 2px var(--lw-glow)}
.ilw-wardrobe-options{margin-top:12px;padding:2px 2px 18px;min-height:330px}
.ilw-wardrobe-section{padding:15px;border:1px solid var(--lw-line);border-radius:18px;background:var(--lw-panel)!important;margin-bottom:10px;color:var(--lw-ink)!important}
.ilw-wardrobe-section h4{margin:0 0 10px;color:var(--lw-ink)!important;font:800 1rem/1.2 Inter,system-ui,sans-serif}
.ilw-wardrobe-help{margin:-4px 0 10px;color:var(--lw-muted)!important;font-size:.78rem}
.ilw-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ilw-swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.ilw-wardrobe-item,.ilw-wardrobe-swatch{min-height:46px;border:1px solid var(--lw-line);border-radius:13px;background:var(--lw-panel2)!important;color:var(--lw-ink)!important;font-weight:800;cursor:pointer;text-align:left;padding:9px 10px}
.ilw-wardrobe-item:hover,.ilw-wardrobe-swatch:hover{border-color:var(--lw-accent)}
.ilw-wardrobe-item.is-selected,.ilw-wardrobe-swatch.is-selected{border-color:var(--lw-accent);box-shadow:0 0 0 2px var(--lw-glow);background:color-mix(in srgb,var(--lw-panel) 82%,var(--lw-accent) 18%)!important}
.ilw-wardrobe-swatch{display:flex;align-items:center;gap:8px}
.ilw-wardrobe-swatch i{display:block;width:24px;height:24px;border-radius:50%;background:var(--sw);border:1px solid rgba(30,45,60,.2);box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.ilw-item-color-rail{position:absolute;left:12px;right:12px;bottom:12px;padding:10px;border:1px solid var(--lw-line);border-radius:15px;background:color-mix(in srgb,var(--lw-panel) 93%,transparent);backdrop-filter:blur(10px)}
.ilw-item-color-rail>small{display:block;margin-bottom:6px;color:var(--lw-muted)!important;font-size:.6rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ilw-mini-swatches{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.ilw-mini-swatches .ilw-wardrobe-swatch{flex:0 0 auto;min-height:34px;padding:5px 7px}
.ilw-mini-swatches .ilw-wardrobe-swatch span{display:none}.ilw-mini-swatches .ilw-wardrobe-swatch i{width:21px;height:21px}
.ilw-wardrobe-save{position:sticky;bottom:8px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:11px 13px;border:1px solid var(--lw-line);border-radius:16px;background:color-mix(in srgb,var(--lw-panel) 94%,transparent);backdrop-filter:blur(12px);box-shadow:0 12px 32px rgba(22,45,65,.12)}
.ilw-wardrobe-save .ilw-btn.primary{min-width:180px;background:linear-gradient(90deg,#3c83b4,#6b55b7)!important;color:#fff!important;border-color:transparent!important}
.ilw-avatar-modal .ilw-btn,.ilw-avatar-focus .ilw-btn{border:1px solid var(--lw-line)!important;background:var(--lw-panel2)!important;color:var(--lw-ink)!important;opacity:1!important}
.ilw-avatar-modal .ilw-btn.primary,.ilw-avatar-focus .ilw-btn.primary{background:linear-gradient(90deg,#3c83b4,#6b55b7)!important;color:#fff!important}
.ilw-avatar-modal .ilw-access-close,.ilw-avatar-focus .ilw-access-close{background:var(--lw-panel2)!important;color:var(--lw-ink)!important;border-color:var(--lw-line)!important}
.ilw-avatar-focus{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;padding:14px;background:rgba(2,6,12,.78)}
.ilw-avatar-focus-card{position:relative;width:min(980px,100%);height:min(92vh,820px);padding:22px;border:1px solid var(--lw-line);border-radius:26px;background:var(--lw-panel)!important;color:var(--lw-ink)!important;display:grid;grid-template-rows:auto auto 1fr auto}
.ilw-avatar-focus-card h3{font-size:clamp(2rem,5vw,4rem);margin:4px 0;color:var(--lw-ink)!important}
.ilw-avatar-focus-stage{position:relative;min-height:0;border:1px solid var(--lw-line);border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(104,201,236,.25),transparent 35%),linear-gradient(180deg,#eaf8ff,#dfeaf1)}
body.dark-mode .ilw-avatar-focus-stage,body.is-dark .ilw-avatar-focus-stage,html.dark .ilw-avatar-focus-stage,html[data-theme="dark"] .ilw-avatar-focus-stage,html[data-appearance="dark"] .ilw-avatar-focus-stage{background:radial-gradient(circle at 50% 35%,rgba(104,201,236,.12),transparent 35%),linear-gradient(180deg,#0a1a28,#07101a)}
.ilw-avatar-focus-stage .ilw-avatar.preview{top:88%!important;transform:translate(-50%,-100%) scale(5.5)!important;transform-origin:center bottom}
.ilw-focus-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:12px}

/* Clothing / sports visual differentiation */
.ilw-avatar[data-outfit="athletic"] .body{border-radius:10px;background:linear-gradient(180deg,var(--av-accent) 0 20%,var(--av-outfit) 21% 100%)}
.ilw-avatar[data-outfit="jersey"] .body{border-radius:8px;background:linear-gradient(90deg,var(--av-outfit) 0 15%,var(--av-accent) 16% 22%,var(--av-outfit) 23% 77%,var(--av-accent) 78% 84%,var(--av-outfit) 85%)}
.ilw-avatar[data-outfit="cheer"] .body{left:8px;width:32px;height:36px;clip-path:polygon(12% 0,88% 0,82% 45%,100% 100%,0 100%,18% 45%);background:linear-gradient(180deg,var(--av-outfit) 0 42%,var(--av-accent) 43% 53%,var(--av-outfit) 54%)}
.ilw-avatar[data-outfit="warmup"] .body{border-radius:10px;background:linear-gradient(90deg,var(--av-outfit) 0 47%,var(--av-accent) 48% 52%,var(--av-outfit) 53%)}
.ilw-avatar[data-outfit="tennis"] .body{left:8px;width:32px;height:35px;clip-path:polygon(15% 0,85% 0,80% 50%,100% 100%,0 100%,20% 50%);background:linear-gradient(180deg,var(--av-outfit),var(--av-accent))}
.ilw-avatar[data-outfit="soccer"] .body,.ilw-avatar[data-outfit="basketball"] .body{border-radius:7px;background:linear-gradient(180deg,var(--av-outfit) 0 72%,var(--av-accent) 73% 100%)}

/* Shoes */
.ilw-person .shoe{position:absolute;display:block;top:70px;width:12px;height:7px;border-radius:7px 7px 4px 4px;background:var(--av-shoe,#f6f8fb);z-index:3;box-shadow:inset -2px -1px rgba(0,0,0,.12)}
.ilw-person .shoe.l{left:8px}.ilw-person .shoe.r{right:8px}
.ilw-avatar[data-shoe="high-tops"] .shoe{height:10px;top:67px;border-radius:5px}
.ilw-avatar[data-shoe="running"] .shoe{width:13px;transform:skewX(-12deg)}
.ilw-avatar[data-shoe="cheer-shoes"] .shoe{background:#f9fbff;border:1px solid rgba(52,75,95,.22)}
.ilw-avatar[data-shoe="boots"] .shoe{height:14px;top:63px;border-radius:4px}
.ilw-avatar[data-shoe="flats"] .shoe{height:5px;top:71px}

/* Jewelry / beauty — subtle, optional */
.ilw-person .jewelry-mark,.ilw-person .makeup-mark{display:none;position:absolute;z-index:7;pointer-events:none}
.ilw-avatar[data-jewelry="studs"] .jewelry-mark{display:block;left:13px;top:18px;width:3px;height:3px;border-radius:50%;background:#d9b65c;box-shadow:19px 0 0 #d9b65c}
.ilw-avatar[data-jewelry="hoops"] .jewelry-mark{display:block;left:12px;top:18px;width:5px;height:6px;border:1.4px solid #d9b65c;border-radius:50%;box-shadow:20px 0 0 -1px transparent}
.ilw-avatar[data-jewelry="necklace"] .jewelry-mark,.ilw-avatar[data-jewelry="layered-necklace"] .jewelry-mark{display:block;left:18px;top:24px;width:13px;height:9px;border-bottom:1.4px solid #d9b65c;border-radius:50%}
.ilw-avatar[data-jewelry="layered-necklace"] .jewelry-mark{box-shadow:0 3px 0 -2px #d9b65c}
.ilw-avatar[data-jewelry="bracelet"] .jewelry-mark{display:block;right:5px;top:44px;width:7px;height:3px;border-radius:4px;background:#d9b65c}
.ilw-avatar[data-makeup="gloss"] .makeup-mark{display:block;left:21px;top:17px;width:6px;height:2px;border-radius:50%;background:var(--av-makeup)}
.ilw-avatar[data-makeup="blush"] .makeup-mark{display:block;left:16px;top:13px;width:4px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--av-makeup) 55%,transparent);box-shadow:12px 0 0 color-mix(in srgb,var(--av-makeup) 55%,transparent)}
.ilw-avatar[data-makeup="liner"] .makeup-mark{display:block;left:18px;top:11px;width:13px;height:2px;border-top:1px solid var(--av-makeup)}
.ilw-avatar[data-makeup="sparkle"] .makeup-mark{display:block;left:13px;top:9px;width:3px;height:3px;border-radius:50%;background:var(--av-makeup);box-shadow:18px 3px 0 var(--av-makeup),8px 8px 0 -1px var(--av-makeup)}

/* Hand gear */
.ilw-person .handgear{display:none;position:absolute;z-index:9;pointer-events:none}
.ilw-avatar[data-handgear="pom-poms"] .handgear{display:block;top:38px;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle,var(--av-accent) 0 22%,var(--av-outfit) 23% 45%,var(--av-accent) 46% 68%,transparent 69%)}
.ilw-avatar[data-handgear="pom-poms"] .handgear.l{left:-2px}.ilw-avatar[data-handgear="pom-poms"] .handgear.r{right:-2px}
.ilw-avatar[data-handgear="basketball"] .handgear.r{display:block;right:-6px;top:39px;width:13px;height:13px;border-radius:50%;background:#c66a2d;border:1px solid #6e3618}
.ilw-avatar[data-handgear="soccer-ball"] .handgear.r{display:block;right:-6px;top:39px;width:13px;height:13px;border-radius:50%;background:#f5f5f2;border:2px dotted #28313a}
.ilw-avatar[data-handgear="tennis-racket"] .handgear.r{display:block;right:-9px;top:33px;width:10px;height:17px;border:2px solid #4e6b78;border-radius:50%}
.ilw-avatar[data-handgear="tennis-racket"] .handgear.r:after{content:"";position:absolute;left:3px;top:14px;width:3px;height:10px;background:#5f4632;border-radius:3px}
.ilw-avatar[data-handgear="microphone"] .handgear.r{display:block;right:-4px;top:36px;width:5px;height:18px;border-radius:5px;background:linear-gradient(#303944 0 30%,#596575 31% 100%)}

@media(max-width:820px){
 .ilw-avatar-card.ilw-build-card{padding:14px}
 .ilw-wardrobe-top{padding-right:42px}
 .ilw-builder-layout-v6{grid-template-columns:1fr}
 .ilw-builder-layout-v6 .ilw-builder-preview{position:relative;top:auto;height:42vh;min-height:310px}
 .ilw-builder-layout-v6 .ilw-avatar.preview{transform:translate(-50%,-100%) scale(3.2)!important}
 .ilw-wardrobe-menu{position:sticky;top:0;z-index:5;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .ilw-wardrobe-menu::-webkit-scrollbar{display:none}
 .ilw-wardrobe-menu button{flex:0 0 auto}
 .ilw-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ilw-swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ilw-wardrobe-save{bottom:4px}
}
@media(max-width:520px){
 .ilw-avatar-modal{padding:5px}
 .ilw-avatar-card.ilw-build-card{border-radius:16px}
 .ilw-wardrobe-top-actions .ilw-btn{display:none}
 .ilw-builder-layout-v6 .ilw-builder-preview{height:39vh;min-height:280px}
 .ilw-item-grid{grid-template-columns:1fr 1fr}
 .ilw-swatch-grid{grid-template-columns:1fr 1fr 1fr}
 .ilw-wardrobe-save{align-items:stretch;flex-direction:column}
 .ilw-wardrobe-save .ilw-btn.primary{width:100%;min-height:50px}
}

/* v0.6.1 — avatar actions return */
.ilw-actions-modal{position:fixed;inset:0;z-index:2147483500;display:grid;place-items:center;padding:16px;background:rgba(3,8,16,.68);backdrop-filter:blur(7px)}
.ilw-actions-card{position:relative;width:min(780px,100%);max-height:92dvh;overflow:auto;padding:22px;border:1px solid var(--lw-line);border-radius:24px;background:var(--lw-panel);color:var(--lw-ink);box-shadow:0 28px 90px rgba(0,0,0,.36)}.ilw-actions-card>small{color:var(--lw-accent)!important;font-size:.6rem;font-weight:950;letter-spacing:.1em}.ilw-actions-card h3{font-size:2rem;margin:5px 0}.ilw-actions-card>p{color:var(--lw-muted)!important}.ilw-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ilw-action-grid section{padding:13px;border:1px solid var(--lw-line);border-radius:17px;background:var(--lw-panel2)}.ilw-action-grid section>b{font-size:.62rem;letter-spacing:.1em;color:var(--lw-accent)!important}.ilw-action-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.ilw-action-buttons button,.ilw-custom-say button{border:1px solid var(--lw-line);border-radius:999px;background:var(--lw-panel);color:var(--lw-ink)!important;padding:8px 10px;font-size:.7rem;font-weight:900;cursor:pointer}.ilw-custom-say{margin-top:13px}.ilw-custom-say label{display:block;color:var(--lw-ink)!important;font-size:.72rem;font-weight:900;margin-bottom:6px}.ilw-custom-say>div{display:grid;grid-template-columns:1fr auto;gap:6px}.ilw-custom-say input{min-width:0;border:1px solid var(--lw-line);border-radius:11px;background:var(--lw-panel);color:var(--lw-ink)!important;padding:9px}.ilw-custom-say small,.ilw-action-note{display:block;margin-top:7px;color:var(--lw-muted)!important;font-size:.63rem;line-height:1.45}
.ilw-avatar-speech{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);z-index:99;width:max-content;max-width:180px;padding:7px 9px;border:1px solid rgba(25,45,65,.16);border-radius:12px 12px 12px 3px;background:#fff;color:#172334!important;box-shadow:0 10px 28px rgba(0,0,0,.18);font:800 10px/1.3 Inter,system-ui,sans-serif;white-space:normal;text-align:center}.ilw-avatar-speech:after{content:"";position:absolute;left:48%;top:100%;border:5px solid transparent;border-top-color:#fff}
.ilw-avatar.ilw-perform-dance .ilw-person{animation:ilwDanceAction .62s ease-in-out infinite alternate!important}.ilw-avatar.ilw-perform-highv .arm.l{transform:rotate(145deg)!important;transform-origin:top center}.ilw-avatar.ilw-perform-highv .arm.r{transform:rotate(-145deg)!important;transform-origin:top center}.ilw-avatar.ilw-perform-pom .arm.l{animation:ilwPomL .42s ease-in-out infinite alternate!important;transform-origin:top center}.ilw-avatar.ilw-perform-pom .arm.r{animation:ilwPomR .42s ease-in-out infinite alternate!important;transform-origin:top center}.ilw-avatar.ilw-perform-sideline .ilw-person{animation:ilwActionBounce .4s ease-in-out infinite alternate!important}.ilw-avatar.ilw-perform-mic .ilw-person{animation:ilwActionSway .8s ease-in-out infinite alternate!important}.ilw-avatar.ilw-perform-bow .ilw-person{transform:rotate(11deg) translateY(3px)!important;transform-origin:center bottom}.ilw-avatar.ilw-perform-sing .head{box-shadow:0 0 0 5px color-mix(in srgb,var(--lw-accent) 24%,transparent),inset -3px -2px rgba(0,0,0,.08)!important}@keyframes ilwDanceAction{to{transform:translateY(-4px) rotate(7deg)}}@keyframes ilwPomL{to{transform:rotate(125deg)}}@keyframes ilwPomR{to{transform:rotate(-125deg)}}@keyframes ilwActionBounce{to{transform:translateY(-5px)}}@keyframes ilwActionSway{to{transform:rotate(-7deg)}}
@media(max-width:650px){.ilw-action-grid{grid-template-columns:1fr}.ilw-actions-card{width:100%;height:100dvh;max-height:none;border-radius:0;padding:16px}.ilw-custom-say>div{grid-template-columns:1fr}.ilw-actions{position:relative;z-index:4;padding-bottom:calc(12px + env(safe-area-inset-bottom))}}

/* v0.7 — neutral dark UI + grouped preset conversation. World color stays in scenery/accent. */
body.dark-mode .ilw-world,body.is-dark .ilw-world,html.dark .ilw-world,html[data-theme="dark"] .ilw-world,html[data-appearance="dark"] .ilw-world{--lw-bg:#070708;--lw-panel:#101012;--lw-panel2:#18181c;--lw-ink:#f5f3ee;--lw-muted:#c1bdb5;--lw-line:rgba(255,255,255,.12);--lw-glow:rgba(255,255,255,.06)}
body.dark-mode .ilw-place-sign,body.is-dark .ilw-place-sign,html.dark .ilw-place-sign,html[data-theme="dark"] .ilw-place-sign,html[data-appearance="dark"] .ilw-place-sign,
body.dark-mode .ilw-gate,body.is-dark .ilw-gate,html.dark .ilw-gate,html[data-theme="dark"] .ilw-gate,html[data-appearance="dark"] .ilw-gate,
body.dark-mode .ilw-special-doc,body.is-dark .ilw-special-doc,html.dark .ilw-special-doc,html[data-theme="dark"] .ilw-special-doc,html[data-appearance="dark"] .ilw-special-doc{background:rgba(16,16,18,.94);border-color:rgba(255,255,255,.12)}
.ilw-say-group{margin-top:10px;padding-top:9px;border-top:1px solid rgba(120,140,160,.18)}.ilw-say-group>small{display:block;margin-bottom:6px;font-size:.58rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;opacity:.78}

/* =========================================================
   v0.8.0 — FACE STUDIO + REAL BOTTOMS / PANTS
   Neutral appearance choices only: no ranked/idealized face types.
   ========================================================= */
.ilw-avatar[data-face-engine="2"] .head:before,
.ilw-avatar[data-face-engine="2"] .head:after{display:none!important}
.ilw-person .brow,.ilw-person .eye,.ilw-person .nose-mark,.ilw-person .mouth-mark,.ilw-person .face-detail{position:absolute;display:block;pointer-events:none;z-index:7}
.ilw-person .brow{top:8px;width:6px;height:1.3px;border-radius:999px;background:#5d4038;transform-origin:center}
.ilw-person .brow.l{left:17px}.ilw-person .brow.r{left:26px}
.ilw-person .eye{top:11px;width:3px;height:2.4px;border-radius:50%;background:#2c211d}
.ilw-person .eye.l{left:18px}.ilw-person .eye.r{left:27px}
.ilw-person .nose-mark{left:23px;top:14px;width:2px;height:3px;border-radius:50%;border-right:1px solid rgba(70,39,34,.5);border-bottom:1px solid rgba(70,39,34,.36)}
.ilw-person .mouth-mark{left:21px;top:18px;width:7px;height:3px;border-bottom:1.5px solid rgba(70,39,34,.76);border-radius:0 0 8px 8px}
.ilw-person .face-detail{left:16px;top:14px;width:18px;height:8px}

/* Face shapes change geometry only; none is treated as a default/ideal. */
.ilw-avatar[data-face-shape="round"] .head{border-radius:48%}
.ilw-avatar[data-face-shape="soft-square"] .head{border-radius:38% 38% 32% 32%}
.ilw-avatar[data-face-shape="heart"] .head{border-radius:48% 48% 54% 54%;clip-path:polygon(8% 0,92% 0,98% 58%,50% 100%,2% 58%)}
.ilw-avatar[data-face-shape="long"] .head{height:25px;border-radius:46% 46% 42% 42%}

.ilw-avatar[data-eye-style="round"] .eye{width:3.4px;height:3.4px}
.ilw-avatar[data-eye-style="soft"] .eye{height:1.7px;border-radius:999px}
.ilw-avatar[data-eye-style="bright"] .eye{width:3.5px;height:3.5px;box-shadow:inset 1px 1px 0 rgba(255,255,255,.7)}
.ilw-avatar[data-eye-style="sleepy"] .eye{height:1px;border-radius:0;background:transparent;border-bottom:1.5px solid #2c211d;transform:rotate(5deg)}
.ilw-avatar[data-eye-style="focused"] .eye{height:1.5px;border-radius:999px}
.ilw-avatar[data-brow-style="straight"] .brow{transform:none}
.ilw-avatar[data-brow-style="arched"] .brow.l{transform:rotate(-10deg)}.ilw-avatar[data-brow-style="arched"] .brow.r{transform:rotate(10deg)}
.ilw-avatar[data-brow-style="bold"] .brow{height:2px}
.ilw-avatar[data-nose-style="button"] .nose-mark{width:3px;height:2px;border:0;border-bottom:1px solid rgba(70,39,34,.55);border-radius:50%}
.ilw-avatar[data-nose-style="bridge"] .nose-mark{height:5px;border-bottom:0;border-radius:0}
.ilw-avatar[data-nose-style="dot"] .nose-mark{width:2px;height:2px;border:0;background:rgba(70,39,34,.45);border-radius:50%}
.ilw-avatar[data-mouth-style="grin"] .mouth-mark{left:20px;width:9px;height:4px;border-bottom-width:2px}
.ilw-avatar[data-mouth-style="calm"] .mouth-mark{left:21px;width:7px;height:1px;border-radius:0;border-bottom-width:1px}
.ilw-avatar[data-mouth-style="open"] .mouth-mark{left:22px;width:5px;height:4px;border:1px solid rgba(70,39,34,.65);border-radius:50%;background:rgba(120,62,65,.13)}
.ilw-avatar[data-mouth-style="playful"] .mouth-mark{transform:rotate(-7deg);left:20px;width:8px}
.ilw-avatar[data-face-detail="freckles"] .face-detail{background:radial-gradient(circle,#8b5d49 0 1px,transparent 1.2px) 0 0/5px 4px;opacity:.52}
.ilw-avatar[data-face-detail="dimples"] .face-detail:before,.ilw-avatar[data-face-detail="dimples"] .face-detail:after{content:"";position:absolute;top:5px;width:2px;height:2px;border-bottom:1px solid rgba(70,39,34,.45);border-radius:50%}.ilw-avatar[data-face-detail="dimples"] .face-detail:before{left:2px}.ilw-avatar[data-face-detail="dimples"] .face-detail:after{right:2px}
.ilw-avatar[data-face-detail="beauty-marks"] .face-detail:after{content:"";position:absolute;right:3px;top:5px;width:1.6px;height:1.6px;border-radius:50%;background:rgba(67,43,39,.65)}

/* Bottoms / pants are independent from the top/outfit. */
.ilw-avatar[data-face-engine="2"] .leg{background:var(--av-bottom)!important}
.ilw-avatar[data-bottom="jeans"] .leg{background:linear-gradient(90deg,color-mix(in srgb,var(--av-bottom) 82%,white),var(--av-bottom))!important;box-shadow:inset 0 -2px 0 rgba(255,255,255,.12)}
.ilw-avatar[data-bottom="cargos"] .leg{width:8px!important;background:var(--av-bottom)!important;box-shadow:inset 0 7px 0 rgba(255,255,255,.08),inset 0 11px 0 rgba(0,0,0,.06)}
.ilw-avatar[data-bottom="joggers"] .leg,.ilw-avatar[data-bottom="sweatpants"] .leg{width:8px!important;border-radius:4px 4px 6px 6px;background:var(--av-bottom)!important}
.ilw-avatar[data-bottom="leggings"] .leg{width:6px!important;background:var(--av-bottom)!important}
.ilw-avatar[data-bottom="shorts"] .leg{height:11px!important;top:42px!important;width:8px!important;border-radius:3px;background:var(--av-bottom)!important}
.ilw-avatar[data-bottom="trousers"] .leg{width:8px!important;border-radius:1px;background:linear-gradient(90deg,var(--av-bottom),color-mix(in srgb,var(--av-bottom) 76%,white))!important}
.ilw-avatar[data-bottom="wide-leg"] .leg{width:10px!important;border-radius:2px;background:var(--av-bottom)!important}
.ilw-avatar[data-bottom="athletic"] .leg{width:8px!important;background:linear-gradient(90deg,var(--av-bottom) 0 72%,var(--av-accent) 73% 100%)!important}
.ilw-avatar[data-bottom="uniform"] .leg{width:8px!important;background:var(--av-bottom)!important;box-shadow:inset 0 3px 0 var(--av-accent)}
.ilw-avatar[data-bottom="skirt"] .body:after{content:"";position:absolute;left:2px;right:2px;bottom:-10px;height:14px;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%);background:var(--av-bottom);border-radius:3px}.ilw-avatar[data-bottom="skirt"] .leg{top:51px!important;height:12px!important;width:6px!important;background:var(--av-skin)!important}

/* v0.8.1 restored universal avatar actions */
.ilw-avatar.ilw-perform-wave .arm.r{animation:ilwWaveArm .34s ease-in-out 6 alternate!important;transform-origin:top center!important}
.ilw-avatar.ilw-perform-nod .head{animation:ilwNod .38s ease-in-out 4 alternate!important}
.ilw-avatar.ilw-perform-point .arm.r{transform:rotate(-82deg)!important;transform-origin:top center!important}
.ilw-avatar.ilw-perform-jump .ilw-person{animation:ilwJump .48s ease-in-out 3!important}
.ilw-avatar.ilw-perform-groove .ilw-person{animation:ilwGroove .58s ease-in-out infinite alternate!important}
@keyframes ilwWaveArm{from{transform:rotate(-80deg)}to{transform:rotate(-145deg)}}
@keyframes ilwNod{to{transform:translateY(2px) rotate(4deg)}}
@keyframes ilwJump{50%{transform:translateY(-12px)}100%{transform:translateY(0)}}
@keyframes ilwGroove{to{transform:translateY(-3px) rotate(5deg)}}


/* v0.8.2 — CIVILIZATION DIRECTORY + QUICK WAYFINDER */
.ilw-world .ilw-directory{margin:18px 0 0;padding:20px;border:1px solid color-mix(in srgb,var(--ilw-accent,#54a7c6) 34%,rgba(120,140,155,.28));border-radius:24px;background:linear-gradient(180deg,color-mix(in srgb,var(--ilw-accent,#54a7c6) 7%,var(--ilw-panel,#fff)),var(--ilw-panel,#fff));box-shadow:0 18px 45px rgba(20,42,56,.08)}
.ilw-world .ilw-directory-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ilw-world .ilw-directory-head small{font-weight:900;letter-spacing:.11em}.ilw-world .ilw-directory-head h3{margin:5px 0 6px;font:700 clamp(1.45rem,3vw,2.15rem)/1.05 Georgia,serif}.ilw-world .ilw-directory-head p{margin:0;max-width:780px;color:var(--ilw-muted,#5e6c75);line-height:1.55}.ilw-world .ilw-directory-count{white-space:nowrap;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--ilw-accent,#54a7c6) 12%,transparent);font-size:.72rem;font-weight:900;letter-spacing:.08em}
.ilw-world .ilw-wayfinder{margin-top:16px;padding:16px;border:1px solid color-mix(in srgb,var(--ilw-accent,#54a7c6) 26%,rgba(120,140,155,.2));border-radius:18px;background:color-mix(in srgb,var(--ilw-panel,#fff) 94%,var(--ilw-accent,#54a7c6) 6%)}.ilw-world .ilw-wayfinder>label{display:block;margin-bottom:8px;font-weight:900}.ilw-world .ilw-wayfinder-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.ilw-world .ilw-wayfinder-row input{min-height:48px;width:100%;border:1px solid rgba(120,140,155,.28);border-radius:13px;padding:10px 13px;background:var(--ilw-panel,#fff);color:var(--ilw-ink,#17232d);font:inherit}.ilw-world .ilw-wayfinder-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.ilw-world .ilw-wayfinder-chips button{border:1px solid rgba(120,140,155,.25);border-radius:999px;padding:7px 10px;background:var(--ilw-panel,#fff);color:inherit;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.ilw-world .ilw-wayfinder-result{margin-top:12px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--ilw-accent,#54a7c6) 8%,var(--ilw-panel,#fff))}.ilw-world .ilw-wayfinder-result>b,.ilw-world .ilw-wayfinder-result>span{display:block}.ilw-world .ilw-wayfinder-result>span{margin-top:3px;color:var(--ilw-muted,#5e6c75)}.ilw-world .ilw-wayfinder-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:10px}.ilw-world .ilw-wayfinder-picks button{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;text-align:left;align-items:center;padding:10px;border:1px solid rgba(120,140,155,.24);border-radius:13px;background:var(--ilw-panel,#fff);color:inherit;cursor:pointer}.ilw-world .ilw-wayfinder-picks button>span{grid-row:1/3;font-size:1.25rem}.ilw-world .ilw-wayfinder-picks button>b{font-size:.84rem}.ilw-world .ilw-wayfinder-picks button>small{color:var(--ilw-muted,#5e6c75)}
.ilw-world .ilw-directory-groups{display:grid;gap:9px;margin-top:14px}.ilw-world .ilw-directory-group{border:1px solid rgba(120,140,155,.2);border-radius:15px;background:var(--ilw-panel,#fff);overflow:hidden}.ilw-world .ilw-directory-group summary{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:12px 14px;cursor:pointer}.ilw-world .ilw-directory-group summary b{font-size:.92rem}.ilw-world .ilw-directory-group summary em{font-style:normal;color:var(--ilw-muted,#5e6c75);font-size:.72rem}.ilw-world .ilw-directory-list{display:grid;border-top:1px solid rgba(120,140,155,.14)}.ilw-world .ilw-directory-link{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid rgba(120,140,155,.11);color:inherit;text-decoration:none}.ilw-world .ilw-directory-link:last-child{border-bottom:0}.ilw-world .ilw-directory-link:hover,.ilw-world .ilw-directory-link:focus-visible{background:color-mix(in srgb,var(--ilw-accent,#54a7c6) 7%,transparent)}.ilw-world .ilw-directory-icon{font-size:1.25rem}.ilw-world .ilw-directory-link b,.ilw-world .ilw-directory-link small{display:block}.ilw-world .ilw-directory-link small{margin-top:2px;color:var(--ilw-muted,#5e6c75);line-height:1.35}.ilw-world .ilw-directory-link em{font-style:normal;font-weight:900;font-size:.75rem;color:var(--ilw-accent,#317e9b)}
@media(max-width:650px){.ilw-world .ilw-directory-head{display:block}.ilw-world .ilw-directory-count{display:inline-block;margin-top:10px}.ilw-world .ilw-wayfinder-row{grid-template-columns:1fr}.ilw-world .ilw-directory-link{grid-template-columns:30px minmax(0,1fr)}.ilw-world .ilw-directory-link em{grid-column:2}}

/* =========================================================
   v0.8.3 — LAUNCH DIRECTORY / HONEST STATUS / PEOPLE-LATER
   Three questions: What do you need? Where do you want to go?
   What is in this Civilization?
   ========================================================= */
.ilw-world .ilw-dir-section{margin-top:16px;padding:16px;border:1px solid rgba(120,140,155,.18);border-radius:18px;background:color-mix(in srgb,var(--lw-panel,#fff) 96%,var(--lw-accent,#54a7c6) 4%)}
.ilw-world .ilw-dir-section-head small{display:block;font-size:.64rem;font-weight:950;letter-spacing:.1em;color:var(--lw-accent,#317e9b)}
.ilw-world .ilw-dir-section-head h4{margin:4px 0 5px;font:750 clamp(1.05rem,2.2vw,1.35rem)/1.15 system-ui,sans-serif;color:var(--lw-ink,#17232d)}
.ilw-world .ilw-dir-section-head p{margin:0;color:var(--lw-muted,#5e6c75);line-height:1.5}
.ilw-world .ilw-need-section .ilw-wayfinder{margin-top:12px}
.ilw-world .ilw-destination-grid,.ilw-world .ilw-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:12px}
.ilw-world .ilw-destination-card,.ilw-world .ilw-service-card{min-width:0;border:1px solid rgba(120,140,155,.2);border-radius:15px;background:var(--lw-panel,#fff);color:var(--lw-ink,#17232d);padding:12px;text-align:left;cursor:pointer;box-shadow:0 5px 16px rgba(20,42,56,.05)}
.ilw-world .ilw-destination-card{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;align-items:start}
.ilw-world .ilw-destination-card>span{grid-row:1/3;font-size:1.35rem}.ilw-world .ilw-destination-card>b{font-size:.88rem}.ilw-world .ilw-destination-card>small{color:var(--lw-muted,#5e6c75);line-height:1.35}
.ilw-world .ilw-service-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px 10px;align-items:start}
.ilw-world .ilw-service-card:hover:not(:disabled),.ilw-world .ilw-service-card:focus-visible:not(:disabled),.ilw-world .ilw-destination-card:hover,.ilw-world .ilw-destination-card:focus-visible{border-color:color-mix(in srgb,var(--lw-accent,#54a7c6) 48%,rgba(120,140,155,.2));transform:translateY(-1px)}
.ilw-world .ilw-service-icon{grid-row:1/3;font-size:1.35rem}.ilw-world .ilw-service-copy{min-width:0}.ilw-world .ilw-service-copy>b,.ilw-world .ilw-service-copy>small{display:block}.ilw-world .ilw-service-copy>b{font-size:.88rem}.ilw-world .ilw-service-copy>small{margin-top:3px;color:var(--lw-muted,#5e6c75);line-height:1.4}.ilw-world .ilw-service-card>em{grid-column:2;font-size:.68rem;font-style:normal;font-weight:900;color:var(--lw-accent,#317e9b)}
.ilw-world .ilw-service-card.is-disabled{cursor:default;opacity:.75;background:color-mix(in srgb,var(--lw-panel2,#f5f6f7) 90%,transparent)}
.ilw-world .ilw-status-badge{display:inline-flex!important;width:max-content;margin-top:7px;padding:4px 7px;border-radius:999px;font-size:.56rem!important;font-weight:950;letter-spacing:.06em;line-height:1!important;border:1px solid rgba(120,140,155,.2)}
.ilw-world .ilw-status-badge.is-open{background:rgba(64,155,102,.1);border-color:rgba(64,155,102,.24)}
.ilw-world .ilw-status-badge.is-construction{background:rgba(180,132,47,.11);border-color:rgba(180,132,47,.26)}
.ilw-world .ilw-status-badge.is-connected{background:rgba(78,126,180,.1);border-color:rgba(78,126,180,.24)}
.ilw-world .ilw-status-badge.is-realm{background:rgba(117,91,170,.1);border-color:rgba(117,91,170,.24)}
.ilw-world .ilw-wayfinder-picks button{grid-template-columns:32px minmax(0,1fr)!important;align-items:start!important}
.ilw-world .ilw-wayfinder-picks button>span:first-child{grid-row:auto!important;font-size:1.2rem!important}.ilw-world .ilw-wayfinder-picks button>span:nth-child(2)>b,.ilw-world .ilw-wayfinder-picks button>span:nth-child(2)>small{display:block}.ilw-world .ilw-wayfinder-picks button>span:nth-child(2)>small{margin-top:2px;color:var(--lw-muted,#5e6c75);line-height:1.3}.ilw-world .ilw-wayfinder-picks button:disabled{opacity:.7;cursor:default}
.ilw-world .ilw-directory-link .ilw-status-badge{margin-top:5px}
.ilw-world .ilw-people-later{margin-top:16px;padding:13px 15px;border:1px dashed rgba(120,140,155,.25);border-radius:15px;background:color-mix(in srgb,var(--lw-panel2,#f6f7f8) 90%,transparent)}
.ilw-world .ilw-people-later>b,.ilw-world .ilw-people-later>span{display:block}.ilw-world .ilw-people-later>b{font-size:.68rem;letter-spacing:.08em}.ilw-world .ilw-people-later>span{margin-top:4px;color:var(--lw-muted,#5e6c75);font-size:.78rem;line-height:1.45}
.ilw-world .ilw-preview-law{margin-top:10px;padding:10px 12px;border-radius:13px;background:color-mix(in srgb,var(--lw-panel2,#f6f7f8) 92%,transparent);color:var(--lw-muted,#5e6c75);font-size:.75rem;line-height:1.45}.ilw-world .ilw-preview-law b{color:var(--lw-ink,#17232d)}
@media(max-width:650px){.ilw-world .ilw-dir-section{padding:12px}.ilw-world .ilw-destination-grid,.ilw-world .ilw-service-grid{grid-template-columns:1fr}.ilw-world .ilw-wayfinder-chips{display:grid;grid-template-columns:1fr 1fr}.ilw-world .ilw-wayfinder-chips button{width:100%}}
\n\n/* v0.8.4 — AVATAR PROPORTION + CLOTHING POLISH */
/* Brows sit on the face, not up inside the hairline. */
.ilw-person .brow{top:10.5px!important;z-index:9!important}
.ilw-person .eye{top:13.5px!important}

/* Buzz cut follows the head instead of sitting like an oval cap. */
.ilw-avatar[data-hair="buzz"] .hair-back{display:none!important}
.ilw-avatar[data-hair="buzz"] .hair-front{left:15px!important;top:3px!important;width:18px!important;height:5px!important;border-radius:55% 55% 35% 35%!important;background:var(--av-hair)!important;box-shadow:none!important}

/* Box braids: narrower crown plus visible hanging braid strands. */
.ilw-avatar[data-hair="box-braids"] .hair-back{left:12px!important;top:1px!important;width:24px!important;height:24px!important;border-radius:48% 48% 20% 20%!important;background:repeating-linear-gradient(90deg,var(--av-hair) 0 2px,color-mix(in srgb,var(--av-hair) 72%,white) 2px 3px,var(--av-hair) 3px 5px)!important;box-shadow:-6px 8px 0 -3px var(--av-hair),6px 8px 0 -3px var(--av-hair),-7px 15px 0 -3px var(--av-hair),7px 15px 0 -3px var(--av-hair),-7px 22px 0 -3px var(--av-hair),7px 22px 0 -3px var(--av-hair)!important}
.ilw-avatar[data-hair="box-braids"] .hair-front{height:7px!important;box-shadow:none!important;background:repeating-linear-gradient(90deg,var(--av-hair) 0 2px,color-mix(in srgb,var(--av-hair) 70%,white) 2px 3px,var(--av-hair) 3px 5px)!important}

/* Jackets and outerwear now visibly have sleeves; hands remain skin-toned. */
.ilw-avatar[data-outfit="jacket"] .arm,.ilw-avatar[data-outfit="bomber"] .arm,.ilw-avatar[data-outfit="denim"] .arm,.ilw-avatar[data-outfit="hoodie"] .arm,.ilw-avatar[data-outfit="sweater"] .arm{background:linear-gradient(180deg,var(--av-outfit) 0 64%,var(--av-skin) 65% 100%)!important}
.ilw-avatar[data-outfit="tee"] .arm{background:linear-gradient(180deg,var(--av-outfit) 0 34%,var(--av-skin) 35% 100%)!important}

/* Skirt keeps complete legs and no white block / chopped-leg effect. */
.ilw-avatar[data-bottom="skirt"] .body:after{left:1px!important;right:1px!important;bottom:-12px!important;height:16px!important;background:linear-gradient(180deg,var(--av-bottom),color-mix(in srgb,var(--av-bottom) 82%,black))!important;clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)!important;border-radius:2px 2px 5px 5px!important}
.ilw-avatar[data-bottom="skirt"] .leg{top:54px!important;height:17px!important;width:6px!important;background:var(--av-skin)!important;border-radius:4px!important}

/* Eyewear sits slightly lower across the eyes. */
.ilw-avatar[data-accessory="glasses"] .face-accessory,.ilw-avatar[data-accessory="round-glasses"] .face-accessory,.ilw-avatar[data-accessory="square-glasses"] .face-accessory,.ilw-avatar[data-accessory="sunglasses"] .face-accessory{top:12px!important}

/* Both hoop earrings. */
.ilw-avatar[data-jewelry="hoops"] .jewelry-mark{box-shadow:none!important}
.ilw-avatar[data-jewelry="hoops"] .jewelry-mark:after{content:"";position:absolute;left:20px;top:-1.4px;width:5px;height:6px;border:1.4px solid #d9b65c;border-radius:50%}

/* Gloss covers the lip shape rather than one tiny top stripe. */
.ilw-avatar[data-makeup="gloss"] .makeup-mark{display:block!important;left:21px!important;top:18px!important;width:7px!important;height:3px!important;border-radius:50% 50% 45% 45%!important;background:var(--av-makeup)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)!important}

/* v0.8.6 — Avatar actions stay beside the world, not over it. */
.ilw-actions-modal{position:fixed!important;inset:0!important;z-index:2147483500!important;display:block!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;pointer-events:none!important}
.ilw-actions-card{position:fixed!important;right:14px;top:92px;width:min(430px,calc(100vw - 24px))!important;max-height:min(72vh,650px)!important;overflow:hidden!important;padding:0!important;border-radius:20px!important;pointer-events:auto!important;background:var(--lw-panel)!important;box-shadow:0 24px 70px rgba(0,0,0,.34)!important}
.ilw-actions-drag{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;border-bottom:1px solid var(--lw-line);background:var(--lw-panel2);cursor:move;touch-action:none;user-select:none}
.ilw-actions-drag small{display:block;color:var(--lw-accent)!important;font-size:.52rem;font-weight:950;letter-spacing:.08em}.ilw-actions-drag b{display:block;margin-top:2px;color:var(--lw-ink)!important;font-size:.86rem}.ilw-actions-drag>div:last-child{display:flex;gap:5px}.ilw-actions-drag button{width:32px;height:30px;border:1px solid var(--lw-line);border-radius:9px;background:var(--lw-panel);color:var(--lw-ink)!important;font-weight:950;cursor:pointer}
.ilw-actions-body{max-height:calc(min(72vh,650px) - 54px);overflow:auto;padding:11px}.ilw-actions-body>p{margin:0 0 9px;color:var(--lw-muted)!important;font-size:.68rem}.ilw-actions-card .ilw-action-grid{grid-template-columns:1fr!important;gap:8px!important}.ilw-actions-card .ilw-action-grid section{padding:10px!important}.ilw-actions-card .ilw-action-buttons{max-height:170px;overflow:auto}.ilw-actions-card.is-minimized{width:230px!important}.ilw-actions-card.is-minimized .ilw-actions-body{display:none!important}.ilw-actions-card.is-minimized .ilw-actions-drag{border-bottom:0}
@media(max-width:650px){.ilw-actions-card{right:6px;top:auto!important;bottom:72px;width:min(380px,calc(100vw - 12px))!important;max-height:55vh!important;border-radius:17px!important}.ilw-actions-body{max-height:calc(55vh - 54px)}.ilw-actions-card.is-minimized{width:210px!important}}


/* v0.8.7 — ISHORI SOUL FORM BEFORE MAPPING
   Adult/public Ishaura does not render a human body until a Mapping/Born identity exists.
   Family Play remains its own protected avatar system and is intentionally not changed here. */
.ilw-avatar.is-soul-state{width:58px!important;height:82px!important;filter:drop-shadow(0 0 16px rgba(156,225,255,.7));}
.ilw-avatar.is-soul-state .ilw-person,.ilw-avatar.is-soul-state .ilw-shadow{display:none!important}
.ilw-avatar.is-soul-state:before{content:"";position:absolute;left:50%;top:6px;width:38px;height:58px;transform:translateX(-50%);border-radius:52% 48% 60% 40%/38% 42% 58% 62%;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.96) 0 7%,rgba(197,242,255,.9) 8% 22%,rgba(134,208,255,.58) 33%,rgba(168,127,255,.34) 56%,rgba(84,243,205,.12) 72%,transparent 76%);box-shadow:0 0 10px rgba(228,249,255,.95),0 0 28px rgba(113,207,255,.75),0 0 55px rgba(153,111,255,.44);animation:ilwSoulFloat 3.4s ease-in-out infinite alternate;}
.ilw-avatar.is-soul-state:after{content:"";position:absolute;left:50%;top:28px;width:64px;height:35px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(128,229,255,.18),rgba(171,120,255,.08) 48%,transparent 70%);filter:blur(3px);animation:ilwSoulPulse 2.8s ease-in-out infinite alternate;}
.ilw-avatar.is-soul-state>b{color:#eafbff!important;text-shadow:0 1px 8px rgba(20,60,95,.9),0 0 10px rgba(121,214,255,.75)!important}
@keyframes ilwSoulFloat{from{transform:translateX(-50%) translateY(3px) scale(.96) rotate(-1.5deg)}to{transform:translateX(-50%) translateY(-5px) scale(1.04) rotate(1.5deg)}}
@keyframes ilwSoulPulse{from{opacity:.45;transform:translateX(-50%) scale(.9)}to{opacity:.95;transform:translateX(-50%) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.ilw-avatar.is-soul-state:before,.ilw-avatar.is-soul-state:after{animation:none!important}}
