:root{color-scheme:dark;--gold:#d9ae66;--pale:#f6e8c9;--line:#a0783d77;--black:#070705}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#33240f 0%,#080705 49%,#030302 100%);color:var(--pale);font:17px/1.65 Georgia,serif;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(#f8dfab 1px,transparent 1px);background-size:67px 73px;mask-image:linear-gradient(#000,transparent 80%)}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:#f5d99f}.top{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px clamp(16px,4vw,55px);border-bottom:1px solid var(--line);background:#050504e8}.brand{text-decoration:none;color:var(--gold);font-size:.86rem;letter-spacing:.12em}.brand b{color:#fff}.top span{font-size:.72rem;letter-spacing:.23em;color:#bda778;text-align:center}.text-button{color:#e9d2a7;background:none;border:0;font-size:.75rem;letter-spacing:.08em}.stage{position:relative;width:min(1080px,100%);margin:auto;padding:clamp(30px,5vw,70px) 20px 100px}.narrow{width:min(760px,100%)}h1,h2,h3{line-height:1.13;font-weight:400;color:#f5d79b}h1{font-size:clamp(2.25rem,6vw,4.8rem);margin:.2em 0 .35em}h2{font-size:clamp(1.65rem,3vw,2.65rem)}p{margin:0 0 1.2em}.eyebrow{letter-spacing:.28em;text-transform:uppercase;font: .76rem/1.6 Arial,sans-serif;color:#dfbe81}.muted{color:#d2c5ae}.gold{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:11px 24px;border:1px solid #f8d99d;border-radius:3px;background:linear-gradient(125deg,#7b541b,#e3bb73 48%,#866027);color:#130d05;text-decoration:none;font:700 .86rem/1.3 Arial,sans-serif;letter-spacing:.1em;text-align:center;box-shadow:0 0 26px #c5984a50}.gold:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.ghost{display:inline-flex;align-items:center;justify-content:center;min-height:45px;border:1px solid var(--line);background:#100e0a;color:#f1dfba;padding:8px 16px;text-decoration:none;font:.84rem Arial,sans-serif}.actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin:28px 0}.hero{min-height:calc(100svh - 62px);display:grid;place-items:center;text-align:center;background:linear-gradient(180deg,#03030280,#050504df),url('/assets/golden-door.png') center/cover}.hero-inner{max-width:680px;padding:30px;background:#03030288;backdrop-filter:blur(3px)}.hero p{letter-spacing:.12em}.hero h1{font-size:clamp(2.4rem,7vw,5.4rem);text-shadow:0 3px 28px #000}.progress{display:flex;gap:8px;margin:22px 0 34px}.progress i{height:3px;flex:1;background:#614d2b}.progress i.on{background:#f5d898;box-shadow:0 0 11px #f5d898}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#171109ed,#090907e8);padding:clamp(18px,3vw,32px);margin:22px 0;box-shadow:0 15px 50px #0008}.warning{border-left:3px solid var(--gold)}.door-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.door-list button,.portal-grid button{min-height:75px;text-align:left;border:1px solid #9671419c;background:#151008;color:#f0dfb9;padding:18px;transition:background .2s,box-shadow .2s}.door-list button:hover,.door-list button.chosen,.portal-grid button:hover{background:#3b2b12;box-shadow:0 0 15px #a67c37aa}.door-list button.chosen{border-color:#f9d391}.field{display:block;margin:22px 0;font-size:1.05rem;color:#f7e3ba}.field small{display:block;color:#c1b295}.field textarea,.field input{display:block;width:100%;min-height:100px;margin-top:8px;padding:13px;border:1px solid #9d784d;background:#080705;color:white;border-radius:2px;resize:vertical;line-height:1.5}.field input{min-height:48px}.artifact{padding:clamp(20px,5vw,50px);border:double 4px #b78a47;outline:1px solid #5c452c;outline-offset:8px;background:radial-gradient(circle at top,#2a1c0e,#090806 70%);text-align:center;margin:35px 10px}.artifact p{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.8}.artifact textarea{width:100%;min-height:220px;background:transparent;border:0;border-bottom:1px solid #8c6d42;color:#f7e7c6;font:clamp(1.1rem,2vw,1.45rem)/1.75 Georgia;text-align:center;resize:vertical}.artifact small{letter-spacing:.18em;color:#d7b679}.count{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.count article{border:1px solid var(--line);padding:18px;background:#130e09}.count strong{font-size:1.4rem;color:#f6d797}.count audio{max-width:100%}.map-art{position:relative;max-width:850px;margin:25px auto;border:1px solid #a87c40;overflow:hidden}.map-art img{width:100%;display:block;filter:brightness(.64) saturate(.5)}.map-art:after{content:"";position:absolute;inset:0;background:#0005;pointer-events:none}.portal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.portal-grid button{min-height:100px}.portal-grid b{display:block;color:#f5d69a;font-size:1.5rem}.portal-grid small{display:block;font:.68rem Arial,sans-serif;letter-spacing:.1em;color:#c6b187}.portal-grid .open{border-color:#f6db9d;box-shadow:0 0 20px #d9ae66}.key-list,.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.key-list a,.product-list a{display:block;padding:17px;border:1px solid #b58d51;background:#1c150b;text-decoration:none}.key-list strong{display:block;color:#ffdfa3;text-shadow:0 0 14px #eac077}.key-list small{display:block;margin:9px 0;color:#dfd0b4}.key-list b{font:.7rem Arial;letter-spacing:.09em}.product-list a{font:.82rem Arial;color:#f7d69c}.overlay{position:fixed;z-index:10;inset:0;background:#000c;display:grid;place-items:center;padding:18px}.overlay .panel{max-height:85svh;overflow:auto;width:min(650px,100%);box-shadow:0 0 60px #c4964a5a}.close{float:right;background:none;border:0;color:white;font-size:2rem}.note{font:.83rem/1.5 Arial,sans-serif;color:#cbbca0}.checkbox{display:flex;gap:13px;align-items:flex-start;margin:25px 0}.checkbox input{width:22px;height:22px;accent-color:#c29a58}audio{max-width:100%}@media(max-width:700px){.top span{display:none}.stage{padding:30px 17px 70px}.door-list,.key-list,.product-list{grid-template-columns:1fr}.portal-grid{grid-template-columns:repeat(2,1fr)}.count{grid-template-columns:1fr}.hero{min-height:calc(100svh - 55px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.map-keys{position:absolute;inset:0;z-index:2;pointer-events:none}.map-keys a{position:absolute;display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffe3a7;border-radius:50%;background:#1f1306;color:#fff0bf;text-decoration:none;text-shadow:0 0 12px white;box-shadow:0 0 13px #fff4cf,0 0 29px #e8ae54;pointer-events:auto}.map-keys a:focus-visible{outline:3px solid white}
.field select{display:block;width:100%;min-height:54px;margin-top:9px;padding:12px 42px 12px 14px;border:1px solid #a9824c;border-radius:2px;background:#100c07;color:#f7e7c6;font:1rem/1.4 Georgia,serif;appearance:auto}.field select:focus-visible{outline:2px solid #f5d898;outline-offset:2px}.hero-actions{justify-content:center}
.guide-download{display:inline-flex;align-items:center;min-height:45px;margin:3px 0 12px;padding:8px 16px;border:1px solid #c49c59;color:#f3d79e;background:#191207;text-decoration:none;font:.82rem/1.4 Arial,sans-serif;letter-spacing:.06em}
.resource-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.resource-choices button{min-height:48px;padding:9px 11px;text-align:left;border:1px solid #9671419c;background:#151008;color:#f0dfb9}.resource-choices button.chosen{border-color:#f9d391;background:#3b2b12;box-shadow:0 0 12px #b88e49}@media(max-width:700px){.resource-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* The artwork is the Map; these layers follow its original Portal coordinates. */
.map-art img{filter:brightness(1.02) saturate(1.08)}.map-art:after{background:transparent}.map-current,.map-node-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-current{z-index:1;overflow:visible}.map-node-layer{z-index:3}.outer-current{fill:none;stroke:#ffe5a4;stroke-width:2.4;opacity:.88;filter:drop-shadow(0 0 8px #fff0bb) drop-shadow(0 0 16px #d6a146)}.outer-current-second{stroke-width:1.2;opacity:.75}.current-thread{fill:none;stroke:#ffdfa0;stroke-width:2;opacity:.75;filter:drop-shadow(0 0 8px #ffe6b2)}.map-node{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(22px,4.1vw,43px);height:clamp(22px,4.1vw,43px);border:1px solid #ffe6ad;border-radius:50%;background:#160c03ea;color:#fff0c3;font:700 clamp(.8rem,1.75vw,1.4rem)/1 Georgia,serif;box-shadow:0 0 9px #fff1bf,0 0 20px #d4a448;pointer-events:auto;z-index:1;padding:0}.map-node.open{border-color:#fff9d7;box-shadow:0 0 15px #fff4b9,0 0 30px #ffd071}.map-node.threshold{width:clamp(19px,2.8vw,28px);height:clamp(19px,2.8vw,28px);font-size:clamp(.7rem,1.2vw,1rem);z-index:2}.map-node:hover,.map-node:focus-visible{outline:2px solid white;outline-offset:3px;background:#7b5219}.map-keys a{width:clamp(20px,3vw,32px);height:clamp(20px,3vw,32px);transform:translate(-50%,-50%);font-size:clamp(.7rem,1.3vw,1rem);z-index:4}.map-keys a.recommended{box-shadow:0 0 17px #fff,0 0 34px #ffcf65,0 0 54px #e8ae54}.map-keys a:hover{transform:translate(-50%,-50%) scale(1.14)}@media(max-width:700px){.map-node.threshold{transform:translate(20%,-115%)}.map-node{width:25px;height:25px;font-size:.9rem}.map-keys a{width:22px;height:22px;font-size:.72rem}}
/* Open teachings and the Line of Consequence */
.teaching-text{max-width:860px;margin:34px auto;padding:clamp(23px,4vw,48px);border:1px solid #9e7846;background:linear-gradient(160deg,#1c140aec,#090807f5);box-shadow:0 20px 60px #000a}.teaching-text h2{font-size:clamp(2rem,4vw,3.3rem);margin:0 0 1em}.teaching-text h3{font-size:clamp(1.35rem,2.5vw,2rem);margin:1.8em 0 .7em}.teaching-text p{line-height:1.83}.teaching-text strong{color:#ffe1a5}.teaching-text a{overflow-wrap:anywhere}.portal-deep{margin-top:55px}.deep-divider{margin:65px 0 35px;border-top:1px solid #a67c4b;padding-top:26px}.key-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.key-door{display:flex;gap:16px;align-items:flex-start;border:1px solid #866335;background:#130f0a;padding:20px}.key-door.assigned{border-color:#f9d891;box-shadow:0 0 20px #d9ae6680}.key-door>span{font-size:1.5rem}.key-door h3{margin:0 0 8px;font-size:1.25rem}.key-door p{font-size:.9rem}.key-door a{font:.78rem Arial,sans-serif}.key-teaching{margin:70px 0}.assigned-keys{margin:30px 0}.consequence-line{position:absolute;z-index:4;left:57.7%;top:44%;width:25%;height:25%;transform:rotate(31deg);transform-origin:center;border:0;background:transparent;color:#bdeeff;cursor:pointer}.consequence-line:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:4px;background:linear-gradient(#6dd7ff,#e3faff,#338fdf);box-shadow:0 0 9px #60c6ff,0 0 20px #168ef5;animation:blue-current 3s linear infinite}.consequence-line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-31deg);width:155px;padding:4px 6px;background:#05090dde;color:#bdeeff;font:700 .55rem/1.3 Arial,sans-serif;letter-spacing:.1em;box-shadow:0 0 9px #4bbaff}.consequence-line:focus-visible{outline:2px solid #9feaff}.map-current #consequence-path{fill:none;stroke:#50b6ff;stroke-width:3;opacity:.92;filter:drop-shadow(0 0 7px #2ebfff);stroke-dasharray:11 13;animation:blue-current 3s linear infinite;pointer-events:none}.map-art:has(.map-node[data-portal="2"]:hover) #consequence-path,.map-art:has(.map-node[data-portal="4"]:hover) #consequence-path{stroke-width:6;filter:drop-shadow(0 0 15px #71d9ff)}@keyframes blue-current{to{stroke-dashoffset:-48;filter:drop-shadow(0 0 12px #71d9ff)}}@media(max-width:700px){.key-directory{grid-template-columns:1fr}.consequence-line span{font-size:.4rem;width:85px}.consequence-line:before{width:2px}.teaching-text{padding:22px 17px}}
/* Keep the clickable label at the midpoint of the actual 2-4 SVG segment. */
.consequence-line{left:59%;top:48%;width:9%;height:18%;transform:none}.consequence-line:before{display:none}.consequence-line span{top:50%;left:50%;transform:translate(-50%,-50%) rotate(-61deg)}.consequence-line:hover~.map-node-layer .map-node[data-portal="4"]{box-shadow:0 0 20px #81d7ff}
.map-keys button{position:absolute;display:grid;place-items:center;width:clamp(20px,3vw,32px);height:clamp(20px,3vw,32px);transform:translate(-50%,-50%);border:1px solid #ffe3a7;border-radius:50%;background:#1f1306;color:#fff0bf;text-shadow:0 0 12px white;box-shadow:0 0 13px #fff4cf,0 0 29px #e8ae54;pointer-events:auto;z-index:4}.map-keys button.recommended{box-shadow:0 0 17px #fff,0 0 34px #ffcf65,0 0 54px #e8ae54}.map-keys button:hover{transform:translate(-50%,-50%) scale(1.14)}.coordinate{padding:18px;border:1px solid #b39160;margin:20px 0;background:#181005}.resource-chamber{margin:38px 0;padding:clamp(18px,4vw,38px);border:2px solid #9b7846;background:radial-gradient(circle at 50% 0%,#392713,#090807 70%);box-shadow:inset 0 0 60px #b98d2518,0 15px 60px #000b}.resource-shelf{margin:32px 0;padding:22px;border-bottom:5px ridge #8e672e;background:#140e09}.resource-shelf h3{margin:0 0 12px}.resource-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resource-card{padding:12px;border:1px solid #a78347;background:#2b1c0b;box-shadow:0 0 12px #b783293f}.resource-card.chosen{border-color:#82d5ff;box-shadow:0 0 19px #349cff}.resource-card button,.response-options button,.key-suggestion{border:1px solid #a88548;background:#1d150b;color:#f6dfa9;padding:10px;cursor:pointer}.resource-card>button{display:block;width:100%;text-align:left}.resource-card div{display:flex;gap:10px;margin-top:10px}.resource-card div button{font:.65rem Arial}.response-panel,.portal4-glimpse{margin:28px 0;padding:24px;border:1px solid #8bbfe2;background:linear-gradient(#101b24,#0b0c0d);box-shadow:0 0 24px #1979bd50}.response-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.response-options button.chosen{background:#274e6c;border-color:#bcecff}.key-suggestion{display:block;width:100%;text-align:left;margin:12px 0;box-shadow:0 0 14px #e9c77270}@media(max-width:700px){.resource-cards,.response-options{grid-template-columns:1fr}.resource-chamber{padding:18px}}
.map-coordinates{position:absolute;z-index:2;left:3%;bottom:2%;right:3%;display:flex;gap:5px;flex-wrap:wrap;pointer-events:none}.map-coordinates span{padding:3px 6px;border:1px solid #ffe2a877;background:#100c07d9;color:#ffdf9e;font:.5rem Arial,sans-serif;box-shadow:0 0 8px #e2ab6466}#consequence-path.active{stroke:#80dcff;stroke-width:5;stroke-dasharray:8 12;animation:blue-current .65s linear infinite;filter:drop-shadow(0 0 16px #47bfff)}@media(prefers-reduced-motion:reduce){#consequence-path.active{animation:none}}
/* Blue 2-4 circuit is an independent Map control; its button follows the same endpoints as the SVG path. */
.consequence-line{left:63.4%;top:55.8%;width:27%;height:38px;transform:translate(-50%,-50%) rotate(118deg);z-index:5;background:transparent}.consequence-line span{top:50%;left:50%;width:190px;transform:translate(-50%,-50%) rotate(-118deg);background:#06111de8;border:1px solid #56b7ec;color:#d5f4ff;padding:5px 7px;box-shadow:0 0 12px #2b9de9}.consequence-line small{display:none;font-size:.63rem;line-height:1.4;letter-spacing:0;text-transform:none}.consequence-line:hover span,.consequence-line:focus-visible span{width:240px;box-shadow:0 0 24px #62c9ff}.consequence-line:hover small,.consequence-line:focus-visible small{display:block}.map-art:has(.consequence-line:hover) #consequence-path,.map-art:has(.consequence-line:focus-visible) #consequence-path{stroke-width:6;stroke:#9be6ff;filter:drop-shadow(0 0 18px #51bbff)}.stage:has(.line-panel) .map-node[data-portal="2"],.stage:has(.line-panel) .map-node[data-portal="4"]{box-shadow:0 0 23px #7cd8ff,0 0 38px #2594dd;border-color:#d6f6ff}.stage:has(.line-panel) #consequence-path{stroke-width:6;animation:blue-current .8s linear infinite}.line-panel{max-height:85svh;overflow:auto;width:min(780px,100%);border-color:#77bbdb;box-shadow:0 0 40px #2997d050}.line-panel h3{margin-top:35px}.line-panel strong{color:#d8f4ff}.line-keys{border:1px solid #ad8751;padding:20px;background:#160f09;margin:35px 0}.line-keys button{margin:5px;padding:8px;border:1px solid #ac824c;background:#281b0d;color:#f9d99c}.early-map-markers{position:absolute;inset:0;pointer-events:none;z-index:3}.early-pin{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;display:grid;place-items:center;padding:0;border:1px solid #fee2a8;border-radius:50%;background:#120b04;color:#ffe9b9;font:9px Arial;box-shadow:0 0 8px #edbb68;pointer-events:auto}.early-pin.visited{background:#a47534;box-shadow:0 0 12px #ffe5ac}.early-pin:hover,.early-pin:focus-visible{transform:translate(-50%,-50%) scale(1.5);outline:1px solid white}.early-panel{max-height:85svh;overflow:auto;width:min(790px,100%)}.early-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}.early-list button{background:#180f08;border:1px solid #906b3d;color:#f6dca9;text-align:left;padding:13px}.early-list b,.early-list span{display:block}.early-list span{font-size:.8rem;color:#ded1b8;margin-top:6px}.reality-response{padding:24px;background:#24170d;border-left:3px solid #e2bb75;margin:25px 0}.reality-response small{letter-spacing:.16em;color:#e9be72}.reality-response p{margin:12px 0 0;font-size:1.25rem}@media(max-width:700px){.consequence-line{height:44px;width:32%}.consequence-line span{width:100px;font-size:.42rem}.consequence-line small{display:none!important}.early-pin{width:11px;height:11px;font-size:7px}.early-list{grid-template-columns:1fr}.line-panel,.early-panel{padding:18px}}
.map-offers{margin:40px 0}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.offer-grid article{border:1px solid #987043;padding:20px;background:#120d08}.offer-grid article span{display:block;color:#e8c184;font:.75rem Arial,sans-serif;letter-spacing:.1em;margin-bottom:13px}.offer-grid a{display:block;margin:7px 0;font-size:.77rem;text-align:left}@media(max-width:700px){.offer-grid{grid-template-columns:1fr}}
/* The outer gold circle represents Time around the whole Map. */
.outer-current{stroke:#ffe1a0;stroke-width:4.2;opacity:1;filter:drop-shadow(0 0 10px #ffe2a4) drop-shadow(0 0 26px #d69d3c);animation:time-ring 6s ease-in-out infinite}.outer-current-second{stroke:#e7b96f;stroke-width:1.3}.time-legend{fill:#fce0a4;font:700 17px Georgia,serif;letter-spacing:3px;paint-order:stroke;stroke:#130d05;stroke-width:6px;filter:drop-shadow(0 0 10px #e3bb73)}@keyframes time-ring{50%{stroke:#fff0c6;filter:drop-shadow(0 0 17px #ffdc8d) drop-shadow(0 0 36px #bb7f28)}}@media(max-width:700px){.time-legend{font-size:12px;letter-spacing:1px}}@media(prefers-reduced-motion:reduce){.outer-current{animation:none}}
.portal-stage-list{margin:42px 0;padding:clamp(18px,3vw,30px);border:1px solid #ac834d;background:linear-gradient(135deg,#211608,#0e0b08);box-shadow:inset 0 0 30px #d8a95516}.stage-mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stage-mini-list button{padding:15px;text-align:left;border:1px solid #9b7544;background:#17120d;color:#f8dfac}.stage-mini-list button:hover,.stage-mini-list button:focus-visible{background:#382813;box-shadow:0 0 14px #c19659}.stage-mini-list b,.stage-mini-list small{display:block}.stage-mini-list small{margin-top:7px;color:#d1c0a2;font:.82rem/1.5 Georgia,serif}.early-panel{max-height:85svh;overflow:auto}@media(max-width:700px){.stage-mini-list{grid-template-columns:1fr}}
/* Time and the ordered early stages live on the outer map ring. */
.map-time-wrap{max-width:850px;margin:25px auto}.map-time-wrap .map-art{margin:0 auto}.time-heading{display:block;width:100%;margin:0 auto 10px;padding:12px 18px;border:1px solid #c69959;background:linear-gradient(90deg,#080705,#24190b,#080705);color:#ffe2a6;font:700 clamp(.85rem,2vw,1.3rem)/1.3 Georgia,serif;letter-spacing:.13em;text-shadow:0 0 13px #ddb265;box-shadow:0 0 18px #8f602839}.map-time-wrap:has(.time-heading:hover) .outer-current,.map-time-wrap:has(.time-heading:focus-visible) .outer-current{stroke:#fff9d4;stroke-width:8;filter:drop-shadow(0 0 18px #ffe5a0) drop-shadow(0 0 40px #ffc469)}.map-time-wrap:has(.time-heading:hover) .outer-current-second,.map-time-wrap:has(.time-heading:focus-visible) .outer-current-second{stroke-width:4;stroke:#fff4c4}.early-map-markers{z-index:4}.early-pin{width:18px;height:18px;box-shadow:0 0 9px #ffda91,0 0 17px #ab792a}.early-pin.visited{background:#b7823d}.map-node[data-portal="9"]{box-shadow:0 0 14px #fff7d9,0 0 35px #e5bb70;animation:inheritance-pulse 4s ease-in-out infinite}.inheritance-hover-sign{position:absolute;z-index:7;top:8%;left:29%;width:42%;padding:14px;border:1px solid #ecd4a2;background:linear-gradient(130deg,#201407f5,#080706f5);box-shadow:0 0 26px #e8b35b9c;color:#fbe6bb;text-align:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;pointer-events:none}.inheritance-hover-sign strong,.inheritance-hover-sign em{display:block}.inheritance-hover-sign strong{font-size:clamp(.75rem,1.8vw,1.25rem)}.inheritance-hover-sign em{font-size:clamp(.55rem,1vw,.85rem);margin:6px 0}.inheritance-hover-sign .gold{min-height:30px;padding:7px;font-size:clamp(.45rem,.9vw,.7rem)}.map-art:has(.map-node[data-portal="9"]:hover) .inheritance-hover-sign,.map-art:has(.map-node[data-portal="9"]:focus-visible) .inheritance-hover-sign,.map-art:has(.inheritance-hover-sign:hover) .inheritance-hover-sign,.map-art.inheritance-sign-open .inheritance-hover-sign{opacity:1;visibility:visible;transform:none;pointer-events:auto}.map-art:has(.map-node[data-portal="9"]:hover) .map-node[data-portal="9"],.map-art.inheritance-sign-open .map-node[data-portal="9"]{background:#a26f28;box-shadow:0 0 24px white,0 0 50px #ffcd72}@keyframes inheritance-pulse{50%{box-shadow:0 0 22px white,0 0 50px #e5bb70}}@media(max-width:700px){.early-pin{width:15px;height:15px;font-size:8px}.inheritance-hover-sign{top:5%;left:13%;width:74%;padding:8px}.inheritance-hover-sign em{display:none}}
/* Portal 9's free chamber. */
.inheritance-overlay{padding:0;display:block;overflow:hidden}.inheritance-panel{position:relative!important;width:100%!important;max-width:none!important;height:100dvh;max-height:none!important;margin:0!important;padding:0!important;overflow:auto!important;background:radial-gradient(circle at 50% 10%,#483118,#080705 42%,#030302 100%)!important;scroll-behavior:smooth}.inheritance-sticky{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px clamp(12px,3vw,38px);background:#080705ed;border-bottom:1px solid #b89660}.inheritance-sticky span{font:.72rem Arial,sans-serif;letter-spacing:.15em;color:#d5b57a}.inheritance-sticky .close{float:none}.inheritance-hero{text-align:center;min-height:580px;padding:50px 20px 60px;background:linear-gradient(#0504036b,#050403d6),url('/assets/mmk-canonical-map.png') center 27%/cover}.inheritance-hero h1{font-size:clamp(2.6rem,6vw,5.5rem);text-shadow:0 0 30px #d4a74c}.inheritance-arch{position:relative;width:min(450px,90vw);height:310px;margin:0 auto 22px;border:double 8px #c69b55;border-bottom:0;border-radius:50% 50% 0 0;background:radial-gradient(circle at 50% 80%,#654625 0,#18100b 45%,#080705 75%);box-shadow:0 0 35px #f3c27d,inset 0 0 40px #e0a44980}.inheritance-nine{display:flex;justify-content:center;gap:5px;padding-top:22px}.inheritance-nine span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #e5bc76;border-radius:50%;color:#ffe4aa;font-size:.7rem;box-shadow:0 0 8px #eec481}.inheritance-tree{font-size:6rem;color:#d6b06a;line-height:1.8;text-shadow:0 0 35px #e4bd75}.inheritance-vessel{display:grid;place-items:center;width:90px;height:90px;margin:0 auto;border:double 5px #efcd8e;border-radius:22% 22% 46% 46%;background:radial-gradient(circle,#9a6b31,#1a1009 75%);color:#fff4c7;font-size:2rem;box-shadow:0 0 calc(14px + var(--fragments,0)*4px) #e8b45a,inset 0 0 20px #e7bd76;animation:vessel-glow 4s ease-in-out infinite}.inheritance-arch>.inheritance-vessel{position:absolute;bottom:12px;left:50%;transform:translateX(-50%)}.inheritance-prose{width:min(880px,calc(100% - 30px));margin:40px auto;padding:clamp(20px,4vw,45px);border:1px solid #a78350;background:linear-gradient(150deg,#1b130b,#0b0907);line-height:1.85}.inheritance-prose h2,.inheritance-prose h3{margin:1.5em 0 .7em;color:#f8dc9f}.inheritance-prose strong,.inheritance-door strong{color:#ffe1a2}.inheritance-prose p{margin-bottom:1.3em}.inheritance-prose blockquote{margin:25px 0;padding:15px;border-left:3px solid #efcf91;font-size:1.2rem}.inheritance-opening>h3:first-child{font-size:1.4rem}.inheritance-archive{width:min(1080px,calc(100% - 30px));margin:55px auto;text-align:center}.inheritance-door-grid{text-align:left;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inheritance-door{align-self:start;border:1px solid #af824b;background:#140e08;box-shadow:0 0 16px #a06b2940}.inheritance-door[open]{grid-column:span 3;box-shadow:0 0 25px #d9aa5870}.inheritance-door summary{cursor:pointer;min-height:130px;list-style:none;padding:22px;background:radial-gradient(circle at top,#553719,#170f09 75%)}.inheritance-door summary::-webkit-details-marker{display:none}.inheritance-door summary span,.inheritance-door summary strong,.inheritance-door summary i{display:block}.inheritance-door summary span{font:.7rem Arial,sans-serif;letter-spacing:.16em;color:#f8d694}.inheritance-door summary strong{font-size:1.1rem;margin:11px 0}.inheritance-door summary i{font:.68rem Arial;color:#c5a874}.inheritance-door-body{padding:clamp(18px,4vw,45px);line-height:1.8;max-width:850px;margin:auto}.inheritance-door-body h3,.inheritance-door-body h4{color:#f3d49a}.inheritance-door-body h4{font-size:1.5rem}.inheritance-door-body p{margin-bottom:1.2em}.inheritance-door:focus-within{outline:2px solid #ffecb0}.inheritance-vessel-scene{margin:45px auto;padding:45px 20px;border:1px solid #b69058;background:radial-gradient(circle,#57391c,#080705 65%);text-align:center}.inheritance-fragments{display:flex;justify-content:center;gap:12px;margin-bottom:30px;color:#705638}.inheritance-fragments span.lit{color:#fff0b9;text-shadow:0 0 20px #fff,0 0 35px #f2bb6b;animation:fragment-arrive .7s ease-out}.inheritance-reflection{width:min(850px,calc(100% - 30px));margin:50px auto}.inheritance-reflection textarea{min-height:105px}.inheritance-revelation{text-align:center}.inheritance-revelation .inheritance-vessel{margin-bottom:45px}.inheritance-cycle{text-align:center;box-shadow:0 0 60px #c0934c55}.inheritance-cycle h3{text-align:left}.cycle-map{position:relative;width:min(430px,82vw);aspect-ratio:1;margin:10px auto 40px;background:linear-gradient(#080705a0,#080705bb),url('/assets/mmk-canonical-map.png') center/cover;border-radius:50%;box-shadow:0 0 35px #dda65c}.cycle-ring{position:absolute;inset:9%;border:3px solid #ffe2a6;border-radius:50%;box-shadow:0 0 17px #f6c36e,0 0 30px #b98032;animation:cycle-light 9s linear infinite}.cycle-ring span{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1c1208;border:1px solid #ffe4ab;color:#ffe9b7;box-shadow:0 0 10px #f8d184}.cycle-current{position:absolute;inset:4%;border:2px dashed #e9c67c;border-radius:50%;animation:cycle-turn 18s linear infinite}.cycle-heart{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;color:#fff0b7;text-shadow:0 0 20px #ffca70}.cycle-heart small{display:block;font:.55rem Arial;letter-spacing:.1em}.inheritance-cycle a.gold,.inheritance-invitation a.gold{margin:15px auto;max-width:100%;white-space:normal}.inheritance-invitation{text-align:center;border:2px solid #e5bd78;box-shadow:0 0 45px #d8a4556d}@keyframes vessel-glow{50%{box-shadow:0 0 44px #ffd99a,inset 0 0 30px #f7dca6}}@keyframes fragment-arrive{from{opacity:0;transform:translateY(-24px)}}@keyframes cycle-turn{to{transform:rotate(360deg)}}@keyframes cycle-light{50%{box-shadow:0 0 30px #fff2bc,0 0 65px #db9e45}}@media(max-width:700px){.inheritance-sticky span{display:none}.inheritance-sticky .ghost{font-size:.7rem;padding:8px}.inheritance-door-grid{grid-template-columns:1fr}.inheritance-door[open]{grid-column:auto}.inheritance-hero{min-height:500px}.inheritance-arch{height:270px}.inheritance-prose{padding:20px}.inheritance-nine span{width:21px;height:21px}.inheritance-fragments{gap:7px}}@media(prefers-reduced-motion:reduce){.map-node[data-portal="9"],.inheritance-vessel,.cycle-current,.cycle-ring,.inheritance-fragments span{animation:none!important}.inheritance-panel{scroll-behavior:auto}}
/* The free route occupies the top-to-lower-right arc of Time, ending at Portal 3. */
.outer-progress{fill:none;stroke:#fff7d4;stroke-width:9;opacity:.95;filter:drop-shadow(0 0 11px #ffe5a1) drop-shadow(0 0 22px #f7bb61);transition:stroke-dasharray .55s ease}.early-pin::after{content:attr(data-stage-title);position:absolute;left:50%;top:18px;transform:translateX(-50%);width:max-content;max-width:180px;padding:5px 9px;border:1px solid #f7d69a;background:#181006f5;color:#ffe6af;font:700 .65rem/1.3 Arial,sans-serif;letter-spacing:.05em;box-shadow:0 0 17px #e7af53;opacity:0;visibility:hidden;pointer-events:none}.early-pin:hover::after,.early-pin:focus-visible::after{opacity:1;visibility:visible}.portal0-hover-sign,.portal3-hover-sign{position:absolute;z-index:7;width:46%;padding:13px;border:1px solid #f4d9a2;background:#150e07f4;color:#ffe6af;text-align:center;box-shadow:0 0 25px #e5af61;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;pointer-events:none}.portal0-hover-sign{top:12%;left:30%}.portal3-hover-sign{top:48%;left:45%}.portal0-hover-sign strong,.portal3-hover-sign strong,.portal0-hover-sign em,.portal3-hover-sign em{display:block}.portal0-hover-sign strong,.portal3-hover-sign strong{font-size:clamp(.6rem,1.5vw,1rem)}.portal0-hover-sign em,.portal3-hover-sign em{font-size:clamp(.5rem,1vw,.75rem);margin:7px 0}.portal0-hover-sign .gold,.portal3-hover-sign .gold{min-height:30px;padding:6px;font-size:clamp(.45rem,.85vw,.68rem)}.map-art:has(.map-node[data-portal="0"]:hover) .portal0-hover-sign,.map-art:has(.map-node[data-portal="0"]:focus-visible) .portal0-hover-sign,.map-art:has(.portal0-hover-sign:hover) .portal0-hover-sign,.map-art.portal0-sign-open .portal0-hover-sign,.map-art:has(.map-node[data-portal="3"]:hover) .portal3-hover-sign,.map-art:has(.map-node[data-portal="3"]:focus-visible) .portal3-hover-sign,.map-art:has(.portal3-hover-sign:hover) .portal3-hover-sign,.map-art.portal3-sign-open .portal3-hover-sign{opacity:1;visibility:visible;transform:none;pointer-events:auto}.stage:has(.early-panel) .outer-progress{stroke-width:12}.stage:has(.portal3-threshold) .map-node[data-portal="3"]{background:#a57633;box-shadow:0 0 25px white,0 0 50px #f7c97a}.ring-portal-intro{border-color:#e3be77}.ring-stage-teaching{border:1px solid #ae8752;background:#171108;padding:clamp(18px,3vw,28px);line-height:1.8}.ring-stage-teaching strong{color:#f9dfaa}.ring-stage-teaching p{margin-bottom:1.1em}.ring-stage-teaching .eyebrow{font-size:.7rem}.portal3-threshold{width:min(880px,100%)!important;max-height:90svh!important;box-shadow:0 0 50px #d7a95880!important}.portal3-copy{line-height:1.75}.portal3-copy strong{color:#ffe0a2}.portal3-copy h2,.portal3-copy h3{margin-top:1.5em}.portal3-visual{position:relative;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;min-height:180px;margin:0 0 28px;background:radial-gradient(circle,#6d4b2488,#090806 70%);border:1px solid #a9814a}.portal3-signal{font-size:3rem;filter:drop-shadow(0 0 17px #fff0c5)}.portal3-visual span{font:.65rem Arial,sans-serif;letter-spacing:.13em;color:#ffe0a5;border:1px solid #cca768;padding:8px;box-shadow:0 0 12px #d9a95d;animation:fragment-arrive 2s ease-in-out infinite alternate}.portal3-visual span:nth-child(even){animation-delay:.7s}@media(max-width:700px){.portal0-hover-sign,.portal3-hover-sign{width:70%;left:15%;padding:7px}.portal0-hover-sign em,.portal3-hover-sign em{display:none}.portal3-hover-sign{top:42%}.early-pin::after{max-width:125px;font-size:.48rem}.portal3-visual{min-height:130px}.portal3-visual span{font-size:.5rem}}@media(prefers-reduced-motion:reduce){.portal3-visual span{animation:none}.outer-progress{transition:none}}
.map-art:has(.early-pin[data-early="29"].visited) .map-node[data-portal="3"]{border-color:#fff4c6;background:#68491d;box-shadow:0 0 22px #fff5d0,0 0 42px #ffc677;animation:inheritance-pulse 2.5s ease-in-out infinite}.map-art:has(.early-pin[data-early="29"].visited) .outer-progress{stroke:#fffdf0;filter:drop-shadow(0 0 15px #fff) drop-shadow(0 0 27px #ffd391)}@media(prefers-reduced-motion:reduce){.map-art:has(.early-pin[data-early="29"].visited) .map-node[data-portal="3"]{animation:none}}
/* Concealed passage between the warm Resource chamber and the dark resistance mirror. */
.line-chamber{width:min(930px,100%)!important;max-height:92svh!important;overflow:auto!important;padding:0!important;border:2px solid #749fc1!important;background:linear-gradient(130deg,#251707,#060d1c 50%,#050507)!important;box-shadow:0 0 45px #3687c47a!important}.line-chamber-top{padding:clamp(25px,5vw,55px);background:linear-gradient(110deg,#67401e,#122235 55%,#050609);border-bottom:1px solid #6bb3df}.line-chamber-top h2{font-size:clamp(2rem,5vw,4rem)}.line-chamber-top .close{color:#e8d5b5}.line-mirror{position:relative;min-height:190px;display:grid;place-items:center;text-align:center;overflow:hidden;border:1px solid #567b9a;margin:28px clamp(17px,4vw,44px);background:linear-gradient(105deg,#7b511c55,#081a2dd9 47%,#030408);box-shadow:inset 0 0 40px #05080d,0 0 25px #2475af55}.line-mirror:before{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;background:linear-gradient(90deg,#efc275,#7dd5ff,#182533);box-shadow:0 0 14px #7fcdff;animation:line-flicker 4s linear infinite}.line-mirror-coordinate{position:absolute;top:17px;max-width:80%;color:#d6c5a5aa;font-style:italic;font-size:.85rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.line-mirror strong{font:700 clamp(1.6rem,4vw,3rem) Georgia,serif;letter-spacing:.1em;color:#d9e0e5;text-shadow:0 0 20px #6b8fab;animation:mirror-dissolve 6s ease-in-out infinite}.line-mirror span{position:absolute;bottom:15px;color:#a7c5d8;font:.65rem Arial,sans-serif;letter-spacing:.2em}.line-chamber-copy{padding:clamp(18px,4vw,45px);line-height:1.82}.line-chamber-copy h2,.line-chamber-copy h3{margin:1.7em 0 .7em}.line-chamber-copy strong{color:#e8d2aa}.line-chamber-copy p{margin-bottom:1.25em}.line-chamber-copy a:not(.gold):not(.ghost){overflow-wrap:anywhere;color:#a6dfff}.line-key-gallery{margin:42px 0;padding:clamp(17px,3vw,28px);border:1px solid #baa26e;background:#14100d}.line-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.line-key-card{padding:18px;border:1px solid #c3a26c;background:#20170e;box-shadow:0 0 15px #b78e3b39}.line-key-card h3{font-size:1.2rem;margin:0 0 12px}.line-key-card .ghost{font-size:.72rem}.line-key-gallery>p strong{color:#ffdfa3}@keyframes mirror-dissolve{50%{opacity:.12;filter:blur(5px)}}@keyframes line-flicker{50%{opacity:.3}}@media(max-width:700px){.line-key-grid{grid-template-columns:1fr}.line-mirror{min-height:150px}}@media(prefers-reduced-motion:reduce){.line-mirror strong,.line-mirror:before{animation:none}}
.early-pin{background:#9f7135;color:#fff7d2;border-color:#fff1b9;box-shadow:0 0 8px #fff0bf,0 0 19px #dfaa60}.early-pin.visited{background:#fff0b9;color:#614017;box-shadow:0 0 14px #fff,0 0 28px #ffc76d}
/* The white-gold walking current traces only the free 0 → 1 → 2 → 3 route. */
.free-walk-route{fill:none;stroke:#ffdc91;stroke-width:4;stroke-linecap:round;opacity:.96;filter:drop-shadow(0 0 8px #fff4bd) drop-shadow(0 0 17px #e4aa4e)}.free-walk-trail{fill:none;stroke:#fff9df;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:4 24;filter:drop-shadow(0 0 10px #fff);animation:walk-current 3.2s linear infinite}.walk-step{fill:#fff0bd;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #dba451);opacity:.3;animation:walk-step 3.5s ease-in-out infinite;animation-delay:calc(var(--walk-i)*.22s)}.free-route-label{position:absolute;z-index:2;top:7%;left:7%;max-width:35%;padding:6px 8px;border:1px solid #e3c17f;background:#130c05e8;color:#ffe1a5;font:700 clamp(.5rem,1vw,.75rem)/1.35 Arial,sans-serif;letter-spacing:.1em;box-shadow:0 0 14px #d8a45188;pointer-events:none}.map-node[data-portal="0"],.map-node[data-portal="1"],.map-node[data-portal="2"],.map-node[data-portal="3"]{box-shadow:0 0 16px #fff4bd,0 0 30px #e4ac59}@keyframes walk-current{to{stroke-dashoffset:-56}}@keyframes walk-step{20%,45%{opacity:1}70%,100%{opacity:.25}}@media(max-width:700px){.free-walk-route{stroke-width:5}.free-walk-trail{stroke-width:3}.walk-step ellipse{rx:3;ry:5}.free-route-label{top:6%;left:4%;max-width:40%;font-size:.46rem;padding:4px}}@media(prefers-reduced-motion:reduce){.free-walk-trail,.walk-step{animation:none}.walk-step{opacity:1}}
.portal4-chamber{width:min(850px,100%)!important;border-color:#d7a96c!important;background:radial-gradient(circle at 50% 0%,#3a2518 0,#100d0c 42%,#060607 100%)!important;box-shadow:0 0 80px #d4a35c52, inset 0 0 45px #d6a35a1a!important;scrollbar-color:#c69b5e #100c09}.portal4-opening{padding:28px 20px 35px;margin:10px 0 35px;border:1px solid #ba895d;background:radial-gradient(circle at 50% 10%,#4a3226aa,#120d0b);text-align:center}.portal4-opening h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.16}.portal4-chamber h2{margin:2.2em 0 .7em;font-size:clamp(1.45rem,2.8vw,2.25rem);border-top:1px solid #b68b6655;padding-top:1.05em}.portal4-chamber p{font-size:1.04rem;line-height:1.8}.portal4-chamber blockquote{border-left:2px solid #e8bd78;margin:25px 0;padding:20px 26px;background:#2a1b16a8;box-shadow:inset 0 0 20px #cf88512a}.portal4-chamber blockquote p{margin:.45em 0}.portal4-chamber strong{color:#ffe2aa}.portal4-chamber .portal4-link{display:inline-flex;text-decoration:none;font:700 .82rem/1.4 Arial,sans-serif;letter-spacing:.07em;white-space:normal;text-align:center;max-width:100%}.portal4-final-actions{margin:35px 0 20px;align-items:stretch}.portal4-chamber .close{position:sticky;top:0;z-index:2;float:right;background:#21160ee8;border:1px solid #b58c58;line-height:1;padding:3px 10px}.portal4-chamber>.actions:last-child{border-top:1px solid #b68b6655;padding-top:25px;margin-top:32px}@media(max-width:700px){.portal4-opening{padding:25px 12px}.portal4-chamber blockquote{padding:14px 17px}.portal4-chamber p{font-size:1rem}.portal4-final-actions{flex-direction:column}}
/* Love Chamber: an accessible heart at the exact centre of the existing Map. */
.heart-thread{fill:none;stroke:#ffe7b1;stroke-width:1.5;opacity:.2;stroke-dasharray:4 16;filter:drop-shadow(0 0 4px #e8b269);transition:opacity .5s,stroke-width .5s}
.map-art:has(.love-heart:hover) .heart-thread,.map-art:has(.love-heart:focus-visible) .heart-thread{opacity:.8;stroke-width:2.5;animation:heart-current 2.5s linear infinite;animation-delay:calc(var(--thread-i)*.09s)}
@keyframes heart-current{to{stroke-dashoffset:-40}}
.love-heart-wrap{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center}
.love-heart{position:relative;width:clamp(43px,6.2vw,72px);height:clamp(43px,6.2vw,72px);border:1px solid #e5bc78;border-radius:50%;background:radial-gradient(circle,#3d251cf0,#150d0af2 70%);color:#ffdfaa;box-shadow:0 0 14px #ffde9b,0 0 31px #bf7859, inset 0 0 12px #ffdda883;display:grid;place-items:center;transition:transform .3s,box-shadow .3s;cursor:pointer}
.love-heart:before,.love-heart:after{content:"✧";position:absolute;color:#ffe1a6;font-size:.8rem;top:2px;left:8px}.love-heart:after{top:auto;left:auto;bottom:2px;right:8px}
.love-heart span{font:2.2rem/1 Georgia,serif;color:#f3ad9b;text-shadow:0 0 9px #fff6d2,0 0 20px #f59b82;animation:heart-beat 4s ease-in-out infinite}
.love-heart:hover,.love-heart:focus-visible{transform:scale(1.17);box-shadow:0 0 23px #fff4c2,0 0 60px #e4a466, inset 0 0 15px #ffdaa9;outline:2px solid #fff0bb;outline-offset:4px}
@keyframes heart-beat{50%{transform:scale(1.12);filter:brightness(1.25)}}
.love-heart-sign{pointer-events:none;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);width:min(320px,75vw);padding:10px 14px;border:1px solid #dfb777;background:#0d0908f5;box-shadow:0 0 30px #cc925777;text-align:center;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s;color:#ffe7b4}
.love-heart-sign strong,.love-heart-sign em{display:block}.love-heart-sign strong{font:700 .8rem/1.3 Arial,sans-serif;letter-spacing:.1em}.love-heart-sign em{font:.78rem/1.4 Georgia,serif;margin-top:6px}
.love-heart-wrap:hover .love-heart-sign,.love-heart-wrap:focus-within .love-heart-sign{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.love-overlay{background:#020102ed}.love-chamber{width:min(900px,100%)!important;max-height:92svh!important;margin:0!important;overflow:auto!important;border-color:#d9b071!important;background:radial-gradient(circle at 50% 0%,#332019,#090708 60%)!important;box-shadow:0 0 85px #d9a57866, inset 0 0 55px #d5a0691c!important;scrollbar-color:#b78b6a #100b0a}
.love-chamber-bar{position:sticky;top:-32px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 15px;background:#140d0df2;border-bottom:1px solid #b58966;color:#ebc898;font:.72rem/1.3 Arial,sans-serif;letter-spacing:.16em}
.love-chamber-bar .close{float:none;font-size:1.5rem;line-height:1;border:1px solid #b58966;background:#251613;padding:5px 11px}
.love-orbit-scene{position:relative;width:min(480px,90%);aspect-ratio:1;margin:30px auto 46px;filter:drop-shadow(0 0 25px #b46b60)}
.love-orbit-scene:before{content:"";position:absolute;inset:4%;border:1px solid #d5a879;border-radius:50%;box-shadow:0 0 25px #d7a0607a,inset 0 0 25px #d7a0604a}
.love-orbit-rings i{position:absolute;inset:calc(7% + var(--orbit-i)*3.5%);border:1px solid #cda47a66;border-radius:50%;transform:rotate(calc(var(--orbit-i)*21deg)) scaleX(.88)}
.love-orbit-portals span{position:absolute;transform:translate(-50%,-50%);width:27px;height:27px;display:grid;place-items:center;border:1px solid #b78859;border-radius:50%;background:#150d0d;color:#efd3a9;font:.8rem Arial,sans-serif;transition:box-shadow .4s,background .4s}
.love-orbit-portals span.lit{background:#a77150;color:#fff;box-shadow:0 0 18px #fff0bd,0 0 38px #d08d74}
.love-orbit-heart{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:clamp(4rem,12vw,7rem)/1 Georgia,serif;color:#e6a09c;text-shadow:0 0 28px #fff4dc,0 0 70px #d18479;animation:heart-beat 5s ease-in-out infinite}
.love-chamber-copy{max-width:740px;margin:auto}.love-chamber-copy h1{text-align:center;font-size:clamp(2.4rem,5vw,4.5rem)}.love-chamber-copy h2{font-size:clamp(1.5rem,2.7vw,2.35rem);margin:1.8em 0 .7em;border-top:1px solid #aa79554d;padding-top:1em}.love-chamber-copy .love-copy-section:first-of-type h2{text-align:center;border:0;margin-top:0;padding-top:0;color:#f3c9b9}.love-chamber-copy p{font-size:1.05rem;line-height:1.83}.love-chamber-copy strong{color:#ffe2b0}.love-chamber-copy .love-copy-section:last-of-type{border:1px solid #d0a374;padding:clamp(16px,3vw,29px);background:#2115169c;margin-top:55px;box-shadow:0 0 38px #b9765a2d}.love-begin{text-align:center;color:#ffe1ac;margin:40px auto 25px;font:700 clamp(1.2rem,3vw,2rem) Georgia,serif;letter-spacing:.08em;text-shadow:0 0 25px #e8b67d;animation:heart-beat 5s infinite}.love-chamber>.actions{justify-content:center;margin-bottom:20px}
@media(max-width:700px){.love-overlay{padding:8px}.love-chamber{max-height:96svh!important;padding:15px!important}.love-chamber-bar{top:-15px}.love-orbit-scene{width:min(310px,90%)}.love-heart{width:43px;height:43px}.love-heart span{font-size:1.8rem}.love-chamber-copy p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.heart-thread,.love-heart span,.love-orbit-heart,.love-begin{animation:none!important}.love-heart-sign{transition:none}}
/* Free Map: the shared Creation artwork is the object; paid paths in it stay quiet. */
body{background:radial-gradient(ellipse at 50% 5%,#2b1d0d 0,#090806 38%,#020202 100%)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#02020296,#040302b8),url('/assets/golden-door.png') center/cover}
.hero:before{content:"";position:absolute;inset:5% 12%;z-index:-1;border:1px solid #b88d4b44;border-radius:50%;box-shadow:0 0 90px #d5ab4a22,inset 0 0 90px #f4dca218;animation:arrival 2.8s ease-out both;pointer-events:none}
.hero-inner{position:relative;text-shadow:0 2px 20px #000,0 0 36px #b18b4d55}
.hero-next{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 24px;margin:34px auto 0;color:#d8bd88;font: .74rem/1.5 Arial,sans-serif;letter-spacing:.13em}
@keyframes arrival{from{opacity:0;transform:scale(.91)}to{opacity:1;transform:scale(1)}}
.map-time-wrap{max-width:min(1220px,100%);margin:28px auto 48px}.map-art{max-width:none;box-shadow:0 0 0 4px #0c0905,0 0 0 5px #a9874b,0 15px 90px #d6a85825;overflow:hidden}.map-art img{filter:brightness(1.04) saturate(1.09)}
.map-time-wrap .time-heading{max-width:490px;border-color:#9c7946;background:#100c08;color:#e8d19d;box-shadow:none}
/* The original painted geometry remains visible, while added paid route lights are dormant. */
.free-walk-route,.free-walk-trail,.walk-step,.current-thread,.heart-thread,.outer-progress{opacity:0!important;animation:none!important}.outer-current,.outer-current-second{opacity:.24;stroke-width:1.2;animation:none;filter:none}.early-pin{box-shadow:0 0 5px #d6a758}.map-node{box-shadow:0 0 7px #eed09d,0 0 13px #ad7e3f}.map-node:hover,.map-node:focus-visible{box-shadow:0 0 17px #fff5d7,0 0 34px #e5b85e}
#consequence-path{stroke:#7acfff;stroke-width:3;opacity:.9;stroke-dasharray:none;animation:none!important;filter:drop-shadow(0 0 8px #65c9ff)}.consequence-line{background:transparent}.consequence-line span{background:#06111ce8;line-height:1.3}
.universe-preview,.deeper-invitation,.paid-key-doors{max-width:1100px;margin:65px auto;padding:24px 0;border-top:1px solid #9e783e88}.universe-preview h2,.deeper-invitation h2,.paid-key-doors h2{color:#f1d49c;line-height:1.25}.universe-doors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.universe-doors a,.universe-doors button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:158px;padding:17px 10px;border:1px solid #ac87539c;background:radial-gradient(circle at 50% 22%,#3b2916,#0c0a08 75%);color:#f2daa9;text-decoration:none;text-align:center;cursor:pointer;box-shadow:inset 0 0 24px #d9ae6614}.door-star{font-size:2rem;text-shadow:0 0 18px #eecb82}.universe-doors strong{font-size:1.08rem;line-height:1.2}.universe-doors small{font:700 .68rem/1.5 Arial,sans-serif;letter-spacing:.09em;color:#d4b476}.universe-doors a:hover,.universe-doors a:focus-visible,.universe-doors button:hover,.universe-doors button:focus-visible{border-color:#fff0c8;box-shadow:0 0 28px #d9ac5566;transform:translateY(-3px)}
.purchase-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.purchase-pair a{display:flex;flex-direction:column;gap:10px;min-height:155px;padding:25px;border:1px solid #c49b58;background:linear-gradient(130deg,#2a1b0d,#090806 70%);color:#f7e1b7;text-decoration:none}.purchase-pair a:hover,.purchase-pair a:focus-visible{border-color:#fff0c9;box-shadow:0 0 26px #d7a85d70}.purchase-pair strong{font:1.45rem/1.2 Georgia,serif}.purchase-pair span{color:#dbc9aa}.purchase-pair b{margin-top:auto;color:#f8d797;font:.76rem/1.4 Arial,sans-serif;letter-spacing:.08em}.paid-key-doors small,.key-door small{font:700 .7rem/1.4 Arial,sans-serif;letter-spacing:.14em;color:#f4d28d}.twelfth-image-only{z-index:30;background:#020203f7;overflow:auto}.twelfth-view{max-width:min(1300px,100%);max-height:96dvh;overflow:auto;text-align:center}.twelfth-view img{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:20px auto;filter:drop-shadow(0 0 28px #d5a45166)}.twelfth-view p{color:#efd5a0;letter-spacing:.15em}.twelfth-view .ghost{display:inline-flex}
@media(max-width:900px){.universe-doors{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.map-time-wrap{width:100%}.map-art{margin-inline:-10px;width:calc(100% + 20px)}.map-node{min-width:27px;min-height:27px}.consequence-line{min-height:38px}.universe-doors{grid-template-columns:repeat(2,1fr)}.purchase-pair{grid-template-columns:1fr}.universe-preview,.deeper-invitation,.paid-key-doors{margin:42px auto;padding-top:25px}.hero-next{font-size:.66rem}.twelfth-view img{max-height:62dvh}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none}.universe-doors a,.universe-doors button{transition:none}}
/* Give the artwork a quiet upper edge and reserve its printed legend. */
.stage:has(.map-time-wrap){padding-top:34px}.stage:has(.map-time-wrap)>h1{font-size:clamp(2.2rem,4.5vw,4.4rem);margin:10px 0 16px}.stage:has(.map-time-wrap)>p{max-width:850px}.stage:has(.map-time-wrap)>.actions:first-child{margin:0 0 15px}
.map-time-wrap .map-art{overflow:visible;margin-bottom:40px}.free-route-label{top:auto;left:0;right:auto;bottom:-34px;padding:4px 8px;border:1px solid #9f7c44;background:#100c08;color:#e6cb91;box-shadow:none;font-size:.67rem}
.map-explore-control{display:block;margin:0 auto 10px;min-height:40px;padding:7px 18px;font-size:.78rem;letter-spacing:.12em}.map-time-wrap.exploring{overflow:auto;max-width:100%;scrollbar-color:#b78c4a #0c0905}.map-time-wrap.exploring .map-art{min-width:1050px;width:1050px;margin-left:0}.map-time-wrap.exploring .time-heading{margin-left:0}
@media(max-width:700px){.stage:has(.map-time-wrap){padding-top:18px}.stage:has(.map-time-wrap)>h1{font-size:clamp(2rem,9vw,3rem)}.map-time-wrap.exploring .map-art{min-width:760px;width:760px;margin-left:0}.free-route-label{font-size:.58rem;bottom:-29px}}
/* The paid Creation Map's own painted portal worlds carry the imagery. This layer only responds over their actual circles. */
.free-portal-rim{position:absolute;z-index:2;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:1px solid #f4d39622;border-radius:50%;background:transparent;cursor:pointer;box-shadow:inset 0 0 16px #f7e8b41e;transition:filter .3s,box-shadow .35s,transform .35s,border-color .3s;pointer-events:auto}
.free-portal-rim .rim-light{position:absolute;inset:1.5%;border:1px solid #ffedbb2e;border-radius:50%;pointer-events:none}
.free-portal-rim:hover,.free-portal-rim:focus-visible,.free-portal-rim.emphasis{transform:translate(-50%,-50%) scale(1.035);border-color:#fff3cf8c;box-shadow:inset 0 0 24px #ffe7ab66,0 0 24px #f6d692a8,0 0 42px #a97939aa;backdrop-filter:brightness(1.18) saturate(1.13);outline:0}
.free-portal-rim.recent:not(:hover):not(:focus-visible){border-color:#efd29a7a;box-shadow:0 0 14px #f4cf8680,inset 0 0 12px #f6deb055}
.map-art:has(.free-portal-rim:hover) .free-portal-rim:not(:hover),.map-art:has(.free-portal-rim:focus-visible) .free-portal-rim:not(:focus-visible){filter:brightness(.91)}
.map-portal-caption{min-height:28px;margin:40px 0 0;text-align:center;color:#e9d3a7;font:.8rem/1.6 Arial,sans-serif;letter-spacing:.11em}
.map-time-wrap .map-art{margin-bottom:0}.free-route-label{bottom:-31px}.map-art .portal6-wealth-door{position:absolute;z-index:7;left:32%;bottom:-94px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;width:max-content;max-width:330px;padding:10px 14px;border:1px solid #bb9353;background:#100c08;color:#f9dcac;text-decoration:none;box-shadow:0 0 18px #b3863c55}.portal6-wealth-door:before{content:"";position:absolute;bottom:100%;left:50%;height:26px;border-left:1px solid #d8b77e8c}.portal6-wealth-door span{font-size:1.5rem;line-height:1;text-shadow:0 0 15px #fff4d0}.portal6-wealth-door b{font:.73rem/1.4 Arial,sans-serif;letter-spacing:.08em}.portal6-wealth-door small{display:block;width:100%;text-align:center;color:#e2bd79;font:.65rem/1.2 Arial,sans-serif;letter-spacing:.1em}.portal6-wealth-door:hover,.portal6-wealth-door:focus-visible{border-color:#fff4cf;box-shadow:0 0 25px #e6be73a8;outline:2px solid #fff2cb;outline-offset:2px}
.map-time-wrap{padding-bottom:75px}.map-time-wrap.exploring{padding-bottom:75px}
.paid-portal-overlay{background:#020204dc;backdrop-filter:blur(6px)}.paid-portal-panel{width:min(650px,100%);max-height:92dvh;overflow:auto;padding:clamp(17px,3vw,32px);border:1px solid #c8a15e;background:radial-gradient(circle at 50% 0,#423019,#090806 74%);color:#f8e5c2;text-align:center;box-shadow:0 0 70px #e1b56750}.paid-portal-image{width:min(310px,70vw);aspect-ratio:1;margin:18px auto 22px;border:4px double #eac587;border-radius:50%;background-image:url('/assets/mmk-canonical-map.png');background-size:455% 415%;background-position:var(--portal-x) var(--portal-y);box-shadow:0 0 28px #f3d08985,inset 0 0 25px #f4d08766}.paid-portal-panel h2{margin:5px 0 14px;color:#ffe0a8;font-size:clamp(2rem,5vw,3.1rem)}.paid-portal-panel .actions{justify-content:center}.paid-portal-panel .close{float:right}
.free-library{max-width:1120px;margin:75px auto;padding-top:30px;border-top:1px solid #a7824b77}.free-library>p{max-width:780px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.library-grid article{padding:18px;border:1px solid #9f7c4a;background:linear-gradient(150deg,#26190c,#090806 64%)}.library-grid img{display:block;width:100%;height:145px;object-fit:cover;object-position:center;border:1px solid #6b4f2a}.library-grid h3{font-size:1.35rem;color:#efcf95}.library-grid a{display:block;padding:7px 0;color:#eed1a0;text-decoration:none;border-bottom:1px solid #9b764342;font:.78rem/1.4 Arial,sans-serif}.library-grid a:hover,.library-grid a:focus-visible{color:#fff1d1;text-shadow:0 0 9px #eecb7e}.library-keys>span{display:block;height:145px;text-align:center;font-size:6rem;line-height:145px;color:#ecd099;text-shadow:0 0 24px #f3d886}.library-key-list{max-height:290px;overflow:auto}.library-key-list small{display:inline-block;margin-right:9px;color:#dcb778;font-size:.65rem}.library-chambers img{object-position:50% 24%}
.portal2-vision{width:min(360px,90vw);aspect-ratio:1;margin:5px auto 30px;border:7px double #d7ae6d;border-radius:50%;background:url('/assets/mmk-canonical-map.png') 94% 40%/455% 415%;box-shadow:0 0 0 7px #201509,0 0 45px #d6ac5d8c,inset 0 0 24px #f4dfa565;animation:portal2-arrive .75s ease-out both}
@keyframes portal2-arrive{from{opacity:.2;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
.stage:has(.portal2-vision)>h1{text-align:center;color:#f8d9a2}.stage:has(.portal2-vision)>.actions:first-child{justify-content:space-between}.stage:has(.portal2-vision) .resource-chamber{border-color:#d4a861;box-shadow:inset 0 0 58px #e3b15f22,0 25px 70px #000a}.stage:has(.portal2-vision) .resource-card:hover,.stage:has(.portal2-vision) .resource-card:focus-within{box-shadow:0 0 24px #e6b964a0;transform:translateY(-2px)}
@media(max-width:900px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.free-portal-rim{width:22%}.map-portal-caption{font-size:.67rem;margin-top:39px}.map-art .portal6-wealth-door{left:36%;bottom:-89px;max-width:240px;padding:8px}.portal6-wealth-door b{font-size:.64rem}.library-grid{grid-template-columns:1fr}.library-grid img,.library-keys>span{height:110px}.library-keys>span{line-height:110px}.paid-portal-panel .actions{flex-direction:column}.paid-portal-panel .actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){.free-portal-rim,.portal2-vision{animation:none;transition:none}}
/* Match the paid Walking Map's engraved Portal instruments; actions remain free-configured. */
.map-art .free-portal-rim.walking-landmark{position:absolute;z-index:3;transform:translate(-50%,-50%);width:clamp(52px,7.5vw,92px);height:clamp(52px,7.5vw,92px);padding:0;border:1px solid #d5b779;border-radius:50%;background:radial-gradient(circle at center,#191812cd 0 42%,#1e1a17a9 53%,#20170e85 65%,transparent 69%);box-shadow:0 0 0 3px #70532b99,0 0 0 5px #f4e0ac66,inset 0 0 16px #edd4a33b,0 0 16px #f8d99b45;clip-path:none;opacity:.92;transition:box-shadow .35s,transform .35s,opacity .35s;overflow:visible}
.map-art .walking-landmark::before{content:"";position:absolute;inset:8%;border:1px solid #e9cd93a3;border-radius:50%;box-shadow:inset 0 0 9px #cda96b66;pointer-events:none}
.map-art .walking-landmark::after{content:"✧  ·  ✧";position:absolute;top:6%;left:0;right:0;font-size:.43rem;letter-spacing:.35em;color:#f4d697;opacity:.65;pointer-events:none}
.map-art .walking-landmark .portal-engraving{position:absolute;display:block;inset:13%;background:url('/assets/walking-portal-symbols.webp') var(--symbol-x) var(--symbol-y)/200% 500% no-repeat;filter:sepia(.1) saturate(.75) brightness(.78);opacity:.83;transition:transform .65s,filter .65s,opacity .65s;pointer-events:none}
.map-art .walking-landmark .portal-number{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);min-width:1.5em;border-radius:50%;background:#0a0d0bd9;color:#ffe2aa;font:normal clamp(.8rem,1.5vw,1.1rem)/1 Georgia,serif;text-align:center;text-shadow:0 0 8px #f5d896;pointer-events:none}
.map-art .walking-landmark .portal-entry-prompt{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:190px;display:grid;gap:2px;padding:6px 9px;background:#0a0e12ef;color:#fff0cb;border:1px solid #e5c68c;font:.65rem/1.3 Georgia,serif;letter-spacing:.12em;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s}
.map-art .walking-landmark .portal-entry-prompt small{font-size:.57rem;line-height:1.25;letter-spacing:.05em;color:#eacb92}
.map-art .walking-landmark:hover,.map-art .walking-landmark:focus-visible,.map-art .walking-landmark.emphasis,.map-art .walking-landmark.recent{transform:translate(-50%,-50%) scale(1.07);opacity:1;border-color:#fff1c6;outline:2px solid #fff3cb;outline-offset:3px;box-shadow:0 0 0 4px #f9dc9b9e,0 0 0 8px #eed4a756,0 0 28px #ffe3a9,inset 0 0 22px #fce9bb99}
.map-art .walking-landmark:hover .portal-engraving,.map-art .walking-landmark:focus-visible .portal-engraving,.map-art .walking-landmark.emphasis .portal-engraving{filter:saturate(1.15) brightness(1.28) drop-shadow(0 0 7px #fff0c3);opacity:1}
.map-art .walking-landmark:hover .portal-entry-prompt,.map-art .walking-landmark:focus-visible .portal-entry-prompt,.map-art .walking-landmark.emphasis .portal-entry-prompt{opacity:1;visibility:visible;transform:translateX(-50%)}
@media(max-width:760px){.map-art .free-portal-rim.walking-landmark{width:44px;height:44px;min-width:44px;min-height:44px}.map-art .walking-landmark .portal-entry-prompt{display:none}}
@media(prefers-reduced-motion:reduce){.map-art .walking-landmark,.map-art .walking-landmark .portal-engraving,.map-art .walking-landmark .portal-entry-prompt{animation:none!important;transition:none!important}}
.free-library .library-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}
.free-library .library-products a{display:grid;grid-template-columns:57px 1fr;align-items:center;gap:9px;min-height:70px;padding:5px;border:1px solid #ad844d70;background:#110e0aca;color:#eed5a1;text-decoration:none;font-size:.74rem;line-height:1.35}
.free-library .library-products a:hover,.free-library .library-products a:focus-visible{border-color:#f6d99c;box-shadow:0 0 18px #e7b76055;outline:none}
.free-library .library-products img{width:57px;height:57px;object-fit:cover;display:block}
.free-library .library-products small{display:block;margin-top:5px;color:#e9c583;letter-spacing:.08em;font:.56rem Arial,sans-serif}
@media(max-width:760px){.free-library .library-products{grid-template-columns:1fr}}
/* The real Map appears in the entrance before the full artwork is revealed. */
.hero::after{content:"";position:absolute;z-index:-1;left:50%;bottom:-21vw;width:min(65vw,740px);aspect-ratio:1312/1199;transform:translateX(-50%);background:url('/assets/mmk-canonical-map.png') center/contain no-repeat;opacity:.22;filter:saturate(.75) brightness(.74);mask-image:radial-gradient(ellipse at center,#000 24%,transparent 71%);pointer-events:none;animation:arrival 1.2s ease-out both}
.hero-actions .gold{position:relative;box-shadow:0 0 22px #ecc77f5c}
.map-art .free-portal-rim.landmark-2.recent{animation:portal-two-return 2.5s ease-out 1}
@keyframes portal-two-return{30%{box-shadow:0 0 0 8px #f9dc9b99,0 0 32px #fff0bd,inset 0 0 22px #fce9bb99}100%{box-shadow:0 0 0 3px #70532b99,0 0 0 5px #f4e0ac66,inset 0 0 16px #edd4a33b}}
@media(max-width:760px){.hero::after{width:105vw;bottom:-4vw;opacity:.16}}
@media(prefers-reduced-motion:reduce){.hero::after,.map-art .free-portal-rim.landmark-2.recent{animation:none!important}}
@media(max-width:760px){.map-art .walking-landmark .portal-entry-prompt{display:none}.map-art .walking-landmark.emphasis .portal-entry-prompt,.map-art .walking-landmark:focus-visible .portal-entry-prompt{display:grid;bottom:auto;top:calc(100% + 7px);max-width:148px;width:148px;font-size:.57rem;z-index:12}}
.paid-portal-panel .product-preview-image{display:block;width:min(300px,70vw);height:min(300px,70vw);object-fit:cover;margin:18px auto 20px;border:1px solid #dfbd7d;box-shadow:0 0 30px #d5aa6e66}
/* Walking Map room light stays local to the illustrated Portal, never the circuit. */
.map-art .portal-aura{position:absolute;z-index:2;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .3s,box-shadow .3s;backdrop-filter:brightness(1.23) saturate(1.16);box-shadow:inset 0 0 20px #fff0bf49,0 0 24px #f7df9c44}
.map-art:has(.landmark-1:hover) .aura-1,.map-art:has(.landmark-1:focus-visible) .aura-1,.map-art:has(.landmark-1.emphasis) .aura-1{opacity:1}
.map-art:has(.landmark-2:hover) .aura-2,.map-art:has(.landmark-2:focus-visible) .aura-2,.map-art:has(.landmark-2.emphasis) .aura-2{opacity:1}
.map-art:has(.landmark-3:hover) .aura-3,.map-art:has(.landmark-3:focus-visible) .aura-3,.map-art:has(.landmark-3.emphasis) .aura-3{opacity:1}
.map-art:has(.landmark-4:hover) .aura-4,.map-art:has(.landmark-4:focus-visible) .aura-4,.map-art:has(.landmark-4.emphasis) .aura-4{opacity:1}
.map-art:has(.landmark-5:hover) .aura-5,.map-art:has(.landmark-5:focus-visible) .aura-5,.map-art:has(.landmark-5.emphasis) .aura-5{opacity:1}
.map-art:has(.landmark-6:hover) .aura-6,.map-art:has(.landmark-6:focus-visible) .aura-6,.map-art:has(.landmark-6.emphasis) .aura-6{opacity:1}
.map-art:has(.landmark-7:hover) .aura-7,.map-art:has(.landmark-7:focus-visible) .aura-7,.map-art:has(.landmark-7.emphasis) .aura-7{opacity:1}
.map-art:has(.landmark-8:hover) .aura-8,.map-art:has(.landmark-8:focus-visible) .aura-8,.map-art:has(.landmark-8.emphasis) .aura-8{opacity:1}
.map-art:has(.landmark-9:hover) .aura-9,.map-art:has(.landmark-9:focus-visible) .aura-9,.map-art:has(.landmark-9.emphasis) .aura-9{opacity:1}
/* Shared Walking Map geometry from the paid atlas; its routes remain unlit here. */
.map-art>img{filter:sepia(.28) saturate(.74) brightness(.64) contrast(1.18)}
.map-art:has(.free-portal-rim:hover)>img,.map-art:has(.free-portal-rim:focus-visible)>img{filter:sepia(.16) saturate(.88) brightness(.78) contrast(1.1)}
.free-walking-ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 1.3px #ffebad)}
.free-walking-ribbon circle,.free-walking-ribbon path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.free-walking-ribbon .walking-gold-ring{stroke:#efc77d;stroke-width:1.15;opacity:.98;filter:drop-shadow(0 0 1px #fff5d7) drop-shadow(0 0 5px #d3a253)}
.free-walking-ribbon .walking-gold-ring-inner{stroke:#b68642;stroke-width:.32;stroke-dasharray:.3 .55;opacity:.95}
.free-walking-ribbon .walking-inner-engraving{stroke:#a5814b;stroke-width:.22;opacity:.65}
.free-walking-ribbon .walking-ribbon-base{stroke:#8f713a;stroke-width:.75;opacity:.55}
.free-walking-ribbon .walking-force-geometry{stroke:#d8c7a2;stroke-width:.28;opacity:.38}
.map-art .walking-landmark.landmark-0{z-index:4}
.free-walking-guide{position:absolute;z-index:6;left:50%;top:49%;transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(47px,5.2vw,70px);height:clamp(47px,5.2vw,70px);border-radius:50%;border:1.5px solid #d8b47b;background:radial-gradient(circle,#27334a,#101621 68%,#07090f);color:#f3d495;box-shadow:inset 0 0 13px #d2a85a55,0 0 13px #b98f4a66;text-decoration:none;transition:box-shadow .25s,transform .25s}
.free-walking-guide svg{width:73%;height:73%;filter:drop-shadow(0 0 4px #d3ab65)}
.free-walking-guide span{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;padding:6px 9px;border:1px solid #c7a575;background:#0a111fee;color:#ffe5ac;font:600 .65rem/1.4 Georgia,serif;opacity:0;pointer-events:none}
.free-walking-guide:hover,.free-walking-guide:focus-visible{transform:translate(-50%,-50%) scale(1.08);outline:2px solid #fff2c6;outline-offset:3px;box-shadow:0 0 22px #ffe2a5,inset 0 0 18px #f1ce8655}
.free-walking-guide:hover span,.free-walking-guide:focus-visible span{opacity:1}
@media(max-width:760px){.free-walking-guide{width:45px;height:45px}.free-walking-guide span{font-size:.58rem}}
/* The Map is the first view; existing instructions and actions remain below it. */
.stage:has(.map-time-wrap){display:flex;flex-direction:column;max-width:min(1500px,100%);padding-top:12px}
.stage:has(.map-time-wrap)>.map-time-wrap{order:-1;width:100%;max-width:min(1440px,100%);margin:0 auto 24px}
.stage:has(.map-time-wrap)>.eyebrow,.stage:has(.map-time-wrap)>h1,.stage:has(.map-time-wrap)>p{max-width:980px;width:100%;margin-left:auto;margin-right:auto}
.stage:has(.map-time-wrap)>.actions{max-width:1100px;width:100%;margin-left:auto;margin-right:auto}
.map-time-wrap .time-heading{width:auto;min-width:0;margin:0 0 10px auto;padding:6px 11px;font:600 .68rem/1.3 Georgia,serif;letter-spacing:.1em;box-shadow:none}
.map-time-wrap .map-explore-control{margin:0 0 8px auto;min-height:35px;font-size:.7rem}
.map-art .early-pin{opacity:.52;box-shadow:0 0 3px #d6a758}
.map-art .early-pin:hover,.map-art .early-pin:focus-visible{opacity:1}
/* Leave an uncluttered frame seat for Portal 4 after the older Key tray rules. */
.map-art .map-keys{top:calc(100% + 95px)}
.map-time-wrap{padding-bottom:165px}
@media(max-width:760px){.map-art .map-keys{top:calc(100% + 72px)}.map-time-wrap{padding-bottom:170px}}
.artifact p.note{max-width:620px;margin:12px auto 0;color:#d6c4a4;font:400 .92rem/1.55 Arial,sans-serif}
/* The free Guide belongs to the frame; the centre remains the Heart Chamber entrance. */
.map-art .free-walking-guide{top:-42px;left:50%;width:54px;height:54px}
.map-art .free-walking-guide span{bottom:auto;top:calc(100% + 7px)}
@media(max-width:760px){.map-art .free-walking-guide{top:-36px;width:43px;height:43px}}
/* Portal 4's 99 / 1 instrument sits in the frame below its painted room. */
.map-art .free-portal-four-threshold{position:absolute;z-index:8;left:62%;top:calc(100% + 34px);transform:translate(-50%,-50%);width:62px;height:62px;padding:0;border:1px solid #e9c98c;border-radius:50%;background:radial-gradient(circle at 47% 40%,#322219,#090d12 70%);color:#fff0cb;box-shadow:inset 0 0 15px #d8a96788,0 0 0 2px #8c673b,0 0 17px #daa65388;transition:transform .3s,box-shadow .3s;cursor:pointer}
.free-portal-four-threshold:before,.free-portal-four-threshold:after,.free-portal-four-threshold .threshold-orbits{content:"";position:absolute;inset:5px;border:1px solid #f9e1ac83;border-radius:50%;pointer-events:none}
.free-portal-four-threshold:after{inset:10px;border-style:dotted;transform:rotate(22deg)}
.free-portal-four-threshold .threshold-orbits{inset:-6px;border-color:#cfa86b52;box-shadow:0 0 12px #f1bd6970;animation:portal-four-breathe 5s ease-in-out infinite}
.free-portal-four-threshold .threshold-numbers{position:relative;z-index:1;font:700 15px/1 Georgia,serif;white-space:nowrap;text-shadow:0 0 9px #ffefc3}
.free-portal-four-threshold .threshold-numbers i{font-weight:400;color:#d5ab68;margin:0 2px}
.free-portal-four-threshold .threshold-reveal{position:absolute;bottom:calc(100% + 11px);left:50%;transform:translate(-50%,6px);padding:7px 11px;width:max-content;max-width:185px;border:1px solid #eac989;background:#080b10f4;color:#fff0cc;font:600 .64rem/1.3 Georgia,serif;letter-spacing:.1em;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,transform .25s}
.free-portal-four-threshold:hover,.free-portal-four-threshold:focus-visible{transform:translate(-50%,-50%) scale(1.18);box-shadow:inset 0 0 23px #ffe6ac9c,0 0 0 3px #c99f60,0 0 28px #ffe1a6,0 0 48px #d6a55a88}
.free-portal-four-threshold:hover .threshold-reveal,.free-portal-four-threshold:focus-visible .threshold-reveal{opacity:1;visibility:visible;transform:translate(-50%,0)}
@keyframes portal-four-breathe{50%{box-shadow:0 0 19px #e9bc7288}}
.map-art .map-keys{top:calc(100% + 95px)}
.map-time-wrap{padding-bottom:165px}
.free-portal-four-veil{background:radial-gradient(circle at 62% 75%,#64431c68,transparent 38%),#020407ed;backdrop-filter:blur(6px)}
.free-portal-four-chamber{position:relative;width:min(670px,100%);max-height:92svh;overflow:auto;padding:clamp(22px,4vw,43px);border:1px solid #d5b578;background:radial-gradient(circle at 50% 0,#4d361b76,transparent 46%),linear-gradient(145deg,#101317,#06090b 72%);box-shadow:0 0 0 7px #aa814b2e,inset 0 0 45px #c4954c24,0 30px 90px #000;color:#f6e9d0;text-align:center;line-height:1.55}
.free-portal-four-chamber:before{content:"";position:absolute;inset:10px;border:1px solid #d5ab6850;pointer-events:none}
.free-portal-four-chamber .close{position:sticky;top:0;z-index:2;width:42px;height:42px;border:1px solid #d1b37d;background:#101418;color:#f9e9c8;font-size:25px}
.free-portal-four-seal{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:112px;height:112px;margin:5px auto 17px;border:double 4px #dab778;border-radius:50%;box-shadow:0 0 26px #e7bf755c,inset 0 0 28px #dcae6249;color:#fff2cf;font:700 27px Georgia,serif;text-shadow:0 0 11px #fff3d5}
.free-portal-four-seal i{font-weight:400;color:#d7aa6c}
.free-portal-four-chamber .eyebrow{clear:both;margin:0 0 8px}
.free-portal-four-chamber h2{margin:8px 0 21px;color:#ffe9b8;font:normal clamp(1.55rem,4vw,2.35rem)/1.15 Georgia,serif;letter-spacing:.08em}
.free-portal-four-chamber p{max-width:55ch;margin:0 auto 15px;font-size:clamp(.95rem,1.7vw,1.08rem)}
.free-portal-four-stat{padding:17px 13px;margin:17px auto!important;border-top:1px solid #c8a46a87;border-bottom:1px solid #c8a46a87;color:#f2ddad}
.free-portal-four-stat strong{color:#fff1bd;font-size:1.35em;text-shadow:0 0 9px #e4b66c}
.free-portal-four-chamber .free-portal-four-choice{color:#d9c49e;font-size:.91rem}
.free-portal-four-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 14px}
.free-portal-four-actions a{display:grid;place-content:center;min-height:78px;padding:12px;border:1px solid #d5b474;background:linear-gradient(135deg,#4b3215,#1d1a14);color:#fff0c6;text-decoration:none;font:700 .76rem/1.4 Arial,sans-serif;letter-spacing:.07em;transition:box-shadow .25s,transform .25s}
.free-portal-four-actions a:nth-child(2){background:linear-gradient(135deg,#b28a47,#573b1b);color:#fff9df}
.free-portal-four-actions a:hover,.free-portal-four-actions a:focus-visible{transform:translateY(-2px);box-shadow:0 0 22px #f3d1939c}
.free-portal-four-actions small{display:block;margin-top:5px;font:normal .57rem/1.3 Arial,sans-serif;letter-spacing:.1em}
.free-portal-four-key-choice{display:inline-block;margin:4px auto 20px;padding:8px;color:#efd6a2;font:.69rem Arial,sans-serif;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid #bf9b60}
.free-portal-four-chamber>.ghost{display:block;margin:0 auto;background:transparent}
@media(max-width:760px){.map-art .free-portal-four-threshold{width:48px;height:48px;top:calc(100% + 27px)}.free-portal-four-threshold .threshold-numbers{font-size:12px}.free-portal-four-actions{grid-template-columns:1fr}.free-portal-four-chamber{max-height:94svh}.free-portal-four-seal{width:92px;height:92px;font-size:23px}.map-art .map-keys{top:calc(100% + 72px)}.map-time-wrap{padding-bottom:170px}}
@media(prefers-reduced-motion:reduce){.free-portal-four-threshold .threshold-orbits{animation:none}.free-portal-four-threshold,.free-portal-four-actions a{transition:none}}
.map-art .outer-current,.map-art .outer-current-second{opacity:.12}
@media(max-width:760px){.stage:has(.map-time-wrap){padding-top:6px}.map-time-wrap .time-heading{font-size:.6rem;padding:5px 8px}.map-time-wrap .map-explore-control{font-size:.63rem}.map-art .early-pin{opacity:.42}}
.stage:has(.map-time-wrap){width:min(1500px,100%)}
.map-time-wrap .map-art{width:100%}
/* Paid Walking Map Key artefacts, with free access actions resolved separately. */
.free-walking-gold-trail{position:absolute;inset:0;z-index:5;pointer-events:none}
.free-walking-gold-key{position:absolute;pointer-events:auto;width:46px;height:46px;min-height:46px;padding:0;border:0;background:transparent;color:#f2cc82;cursor:pointer;transform:translate(-50%,-50%) rotate(var(--key-angle));filter:drop-shadow(0 0 5px #d7a653);transition:transform .28s ease,filter .28s ease}
.free-walking-gold-key::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#f3cc8250;opacity:0;filter:blur(10px);transition:opacity .28s;pointer-events:none}
.free-walking-gold-key svg{position:relative;display:block;width:100%;height:100%;fill:none;stroke:#f3cf88;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 0 #603d1a)}
.free-walking-gold-key svg .key-inner{stroke:#aa783e;stroke-width:1.1}
.free-walking-gold-key .key-engraving{position:absolute;left:26%;top:23%;color:#fff3c8;font:9px Georgia,serif;transform:rotate(calc(-1 * var(--key-angle)));text-shadow:0 0 4px #fff2c9;pointer-events:none}
.free-walking-gold-key:hover,.free-walking-gold-key:focus-visible{transform:translate(-50%,-56%) rotate(var(--key-angle)) scale(1.14);filter:drop-shadow(0 0 10px #ffe5a7) drop-shadow(0 5px 8px #f5d393);outline:2px solid #fff4cb;outline-offset:3px;border-radius:50%}
.free-walking-gold-key:hover::before,.free-walking-gold-key:focus-visible::before{opacity:1}
.free-walking-gold-key .gold-key-label{position:absolute;z-index:2;top:50%;right:calc(100% + 7px);transform:translateY(-50%) rotate(calc(-1 * var(--key-angle)));width:max-content;max-width:155px;padding:7px 9px;background:#101827f5;color:#ffe8b6;border:1px solid #dfb978;box-shadow:0 7px 20px #000c;font:600 .64rem/1.25 Georgia,serif;letter-spacing:.04em;opacity:0;visibility:hidden;pointer-events:none}
.free-walking-gold-key .gold-key-label small{display:block;margin-top:3px;font-size:.56rem;font-weight:normal;color:#f3d39b}
.free-walking-gold-key:hover .gold-key-label,.free-walking-gold-key:focus-visible .gold-key-label{opacity:1;visibility:visible}
/* The original Key discovery buttons remain usable in a quiet tray beneath the artwork. */
.map-art .map-keys{position:absolute;z-index:6;left:0;top:calc(100% + 38px);right:0;height:auto;display:flex;justify-content:center;gap:.25rem;flex-wrap:wrap;pointer-events:auto}
.map-art .map-keys button{position:static!important;transform:none!important;width:33px;height:33px;min-height:33px;font-size:.8rem}
.map-art .map-keys:before{content:'MORE KEYS';align-self:center;color:#d9b873;font:600 .62rem Georgia,serif;letter-spacing:.1em;margin-right:.4rem}
.map-time-wrap{padding-bottom:116px}
@media(max-width:760px){.free-walking-gold-key{width:44px;height:44px;min-height:44px}.free-walking-gold-key .gold-key-label{max-width:120px;white-space:normal}.map-art .map-keys{top:calc(100% + 25px)}.map-time-wrap{padding-bottom:150px}}
@media(prefers-reduced-motion:reduce){.free-walking-gold-key{transition:none}}
.free-walking-gold-key.revealed{transform:translate(-50%,-56%) rotate(var(--key-angle)) scale(1.14);filter:drop-shadow(0 0 10px #ffe5a7)}
.free-walking-gold-key.revealed .gold-key-label{opacity:1;visibility:visible}
.map-art .map-keys button svg{display:block;width:27px;height:27px;fill:none;stroke:#f3cf88;stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 4px #d7a653)}
html,body{overflow-x:clip}
@media(max-width:760px){.free-walking-gold-trail{display:none}.map-time-wrap.exploring .free-walking-gold-trail{display:block}.map-time-wrap.exploring .free-walking-gold-key{width:42px;height:42px;min-height:42px}}
/* Keep the painted Map dominant. The shared image already contains its geometry. */
.free-walking-ribbon{filter:none}
.free-walking-ribbon circle,.free-walking-ribbon path{vector-effect:non-scaling-stroke}
.free-walking-ribbon .walking-gold-ring{stroke-width:1px;opacity:.38;filter:none}
.free-walking-ribbon .walking-gold-ring-inner{stroke-width:.7px;opacity:.38;stroke-dasharray:2 6}
.free-walking-ribbon .walking-inner-engraving{stroke-width:.65px;opacity:.28}
.free-walking-ribbon .walking-ribbon-base{stroke-width:.8px;opacity:.2}
.free-walking-ribbon .walking-force-geometry{stroke-width:.65px;opacity:.13}
.map-art .early-pin{opacity:.22;box-shadow:0 0 2px #d6a758}
.map-art .early-pin:hover,.map-art .early-pin:focus-visible{opacity:1}
.map-art .map-keys{top:calc(100% + 95px)}
.map-time-wrap{padding-bottom:165px}
@media(max-width:760px){.map-art .map-keys{top:calc(100% + 72px)}.map-time-wrap{padding-bottom:170px}}

/* Shared Walking Map portal-specific responses and Portal 5 symbol. */
.map-art .walking-landmark .portal-engraving{background-image:url("/assets/walking-portal-symbols.webp")}
.walking-landmark.landmark-1:hover .portal-engraving,.walking-landmark.landmark-1.emphasis .portal-engraving{transform:scaleX(1.07)}
.walking-landmark.landmark-2:hover .portal-engraving,.walking-landmark.landmark-2.emphasis .portal-engraving{transform:rotate(7deg)}
.walking-landmark.landmark-3:hover .portal-engraving,.walking-landmark.landmark-3.emphasis .portal-engraving{animation:portal-gather .9s ease-out both}
.walking-landmark.landmark-4:hover .portal-engraving,.walking-landmark.landmark-4.emphasis .portal-engraving{transform:rotate(12deg)}
.walking-landmark.landmark-5:hover .portal-engraving,.walking-landmark.landmark-5.emphasis .portal-engraving{transform:translate(4px,-4px)}
.walking-landmark.landmark-6:hover .portal-engraving,.walking-landmark.landmark-6.emphasis .portal-engraving{animation:portal-rise 1.5s ease-in-out infinite alternate}
.walking-landmark.landmark-7:hover .portal-engraving,.walking-landmark.landmark-7.emphasis .portal-engraving{transform:scaleY(1.07)}
.walking-landmark.landmark-8:hover .portal-engraving,.walking-landmark.landmark-8.emphasis .portal-engraving{filter:brightness(1.4) drop-shadow(0 0 10px #fff0ba)}
.walking-landmark.landmark-9:hover .portal-engraving,.walking-landmark.landmark-9.emphasis .portal-engraving{animation:portal-seal 1.4s ease-out both}
.walking-landmark.landmark-0:hover .portal-engraving,.walking-landmark.landmark-0.emphasis .portal-engraving{transform:rotate(12deg)}
@keyframes portal-gather{from{opacity:.25;transform:scale(.7)}to{opacity:1;transform:scale(1.04)}}@keyframes portal-rise{to{transform:translateY(-5px)}}@keyframes portal-seal{from{filter:brightness(.5);transform:scale(.8)}to{filter:brightness(1.4);transform:scale(1)}}
.walking-landmark.landmark-5 .portal-engraving{background:none!important;display:grid;place-items:center}.walking-landmark.landmark-5 .portal-engraving:before{content:"";width:54%;height:68%;border-radius:52% 46% 45% 50%;transform:rotate(38deg);background:radial-gradient(ellipse at 37% 32%,#f5d99b 0 18%,#a6753b 45%,#69441f 72%);border:1px solid #f3d9a2;box-shadow:0 0 0 2px #61452555}.walking-landmark.landmark-5 .portal-engraving:after{content:"";position:absolute;left:25%;right:9%;top:63%;height:2px;background:#daba7d;box-shadow:0 0 9px #f3d79a}.walking-landmark.landmark-5:hover .portal-engraving:after,.walking-landmark.landmark-5:focus-visible .portal-engraving:after,.walking-landmark.landmark-5.emphasis .portal-engraving:after{box-shadow:0 0 15px 4px #ffe9ac}.walking-landmark.landmark-5:hover .portal-engraving:before,.walking-landmark.landmark-5:focus-visible .portal-engraving:before{transform:rotate(38deg) translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.map-art .walking-landmark .portal-engraving{animation:none!important;transform:none!important}}

/* Phone map: the painted rooms remain the only numbers on the artwork. The
   supplemental instruments live in a reserved rail below its frame. */
@media(max-width:760px){
  .top{align-items:flex-start;gap:12px;padding:12px 16px}
  .top .brand{max-width:54%;font-size:.72rem;line-height:1.45;letter-spacing:.09em}
  .top .text-button{max-width:42%;font-size:.68rem;line-height:1.4;text-align:right;padding:2px 0}
  .stage:has(.map-time-wrap){padding:8px 12px 70px}
  .stage:has(.map-time-wrap)>.map-time-wrap{margin-bottom:18px}
  .map-time-wrap .map-explore-control,.map-time-wrap .time-heading{display:block;width:100%;max-width:none;margin:0 0 8px;padding:9px 12px;min-height:42px;text-align:center;font-size:.72rem;line-height:1.3}
  .map-time-wrap .map-art{width:100%;margin:0;overflow:visible}
  .map-art>img{filter:sepia(.12) saturate(.98) brightness(.89) contrast(1.08)}
  .map-art .map-node-layer{display:none}
  .map-art .free-route-label{display:none}
  .map-art .consequence-line{left:78%;top:calc(100% + 37px);width:38%;height:52px;min-height:52px;transform:translate(-50%,-50%);border:1px solid #6eb8d9;background:#07121b;color:#d9f4ff;box-shadow:0 0 12px #3b91bb55}
  .map-art .consequence-line span{position:static;display:block;width:auto;padding:0 4px;transform:none;border:0;background:none;box-shadow:none;font-size:.57rem;line-height:1.2}
  .map-art .consequence-line small{display:none}
  .map-art .free-walking-guide{left:14%;top:calc(100% + 37px);width:54px;height:54px}
  .map-art .free-walking-guide span{top:auto;bottom:calc(100% + 5px);font-size:.58rem}
  .map-art .free-portal-four-threshold{left:44%;top:calc(100% + 37px);width:54px;height:54px}
  .map-art .portal6-wealth-door{left:50%;top:calc(100% + 111px);bottom:auto;width:min(100%,360px);max-width:100%;min-height:58px;transform:translateX(-50%);padding:9px 12px;gap:7px}
  .portal6-wealth-door:before{display:none}
  .portal6-wealth-door b{font-size:.71rem}
  .portal6-wealth-door small{font-size:.61rem}
  .map-art .map-keys{left:0;right:0;top:calc(100% + 165px);width:100%;gap:7px;justify-content:center;align-items:center}
  .map-art .map-keys:before{flex-basis:100%;text-align:center;margin:0 0 2px;font-size:.69rem}
  .map-art .map-keys button{width:35px;height:35px;min-height:35px}
  .map-time-wrap,.map-time-wrap.exploring{padding-bottom:285px}
  .map-time-wrap.exploring .map-art{width:760px}
  .map-time-wrap.exploring .map-node-layer{display:none}
}

/* The Map is the discovery surface. Existing catalogue copy opens from its
   Library instrument rather than repeating beneath the artwork. */
.stage:has(>.map-time-wrap)>:is(.actions,.portal-grid,.universe-preview,.free-library,.paid-key-doors,.deeper-invitation,.map-offers,.panel),
.stage #map>:is(.actions,.portal-grid,.universe-preview,.free-library,.paid-key-doors,.deeper-invitation,.map-offers,.panel){display:none}
.map-library-overlay .map-library-panel{width:min(1100px,100%);max-width:1100px;max-height:90svh;overflow:auto}
.map-time-wrap .map-art{margin-top:52px}
.map-library-panel .free-library,.map-library-panel .universe-preview,.map-library-panel .paid-key-doors,.map-library-panel .deeper-invitation{display:block}
.map-library-symbol{position:absolute;z-index:9;right:0;top:-44px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #dcb77e;border-radius:50%;background:#0b1018;color:#ffe4ac;box-shadow:inset 0 0 12px #c69a5066,0 0 10px #c69a5077;cursor:pointer}
.map-library-symbol>span:first-child{font-size:1.4rem;line-height:1}
.map-library-symbol .library-reveal{position:absolute;right:0;top:calc(100% + 7px);width:max-content;max-width:170px;padding:7px 10px;border:1px solid #d8b27a;background:#090d16f5;color:#ffe3ad;font:600 .67rem/1.3 Georgia,serif;letter-spacing:.07em;opacity:0;visibility:hidden;pointer-events:none}
.map-library-symbol:is(:hover,:focus-visible,.revealed) .library-reveal{opacity:1;visibility:visible}
.map-library-symbol:is(:hover,:focus-visible,.revealed){outline:2px solid #ffedc5;outline-offset:2px;box-shadow:0 0 22px #e9c482}

.map-art .consequence-line{border:0;background:transparent;box-shadow:none}
.map-art .consequence-line span{opacity:0;visibility:hidden;transition:opacity .2s ease;pointer-events:none}
.map-art .consequence-line:is(:hover,:focus-visible,.revealed) span{opacity:1;visibility:visible}
.map-art .consequence-line:is(:hover,:focus-visible,.revealed)~.map-node-layer .map-node[data-portal="4"]{box-shadow:0 0 16px #83dbff}
.map-art .free-portal-four-threshold{left:69%;top:74%;width:34px;height:34px}
.map-art .free-portal-four-threshold .threshold-numbers{font-size:9px}
.map-art .free-portal-four-threshold.revealed .threshold-reveal{opacity:1;visibility:visible;transform:translate(-50%,0)}
.map-art .free-walking-guide.revealed span{opacity:1}
.map-art .portal6-wealth-door{left:31%;top:62%;bottom:auto;transform:translate(-50%,-50%);width:42px;height:42px;min-height:42px;max-width:none;padding:0;border-radius:50%;background:radial-gradient(circle,#493021,#100c0c 72%);display:grid;place-items:center;gap:0}
.map-art .portal6-wealth-door:before{display:none}
.map-art .portal6-wealth-door>span:first-child{font-size:1.5rem}
.map-art .portal6-wealth-door .wealth-reveal{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);display:block;width:168px;padding:8px 10px;border:1px solid #d8b574;background:#100d0bf2;box-shadow:0 0 14px #ac824c88;opacity:0;visibility:hidden;pointer-events:none;text-align:left}
.map-art .portal6-wealth-door .wealth-reveal b,.map-art .portal6-wealth-door .wealth-reveal small{display:block;width:auto;text-align:left}
.map-art .portal6-wealth-door:is(:hover,:focus-visible,.revealed) .wealth-reveal{opacity:1;visibility:visible}
.map-art .portal6-wealth-door:is(:hover,:focus-visible,.revealed){outline:2px solid #fff2cf;outline-offset:2px;box-shadow:0 0 20px #e8bc78}
.map-art .map-keys{display:none}
.map-art .walking-time-ring-control{position:absolute;z-index:8;left:50%;top:91%;transform:translate(-50%,-50%);min-width:72px;min-height:44px;padding:8px 10px;border:1px solid #f4d69a;border-radius:60px;background:#160f08e8;color:#ffe9b8;letter-spacing:.2em;box-shadow:0 0 20px #e7b7699c;cursor:pointer;transition:box-shadow .25s ease,transform .25s ease}
.map-art .free-walking-ribbon .walking-gold-ring{opacity:.82;stroke:#efc77d;filter:drop-shadow(0 0 3px #efc77d)}
.map-art .free-walking-ribbon .walking-time-current{fill:none;stroke:#fff7d5;stroke-width:.52;stroke-dasharray:2 75;stroke-linecap:round;opacity:.92;filter:drop-shadow(0 0 3px #fff0c1);animation:time-current 10s linear infinite;transform-origin:50% 49%}
@keyframes time-current{to{transform:rotate(360deg)}}
.map-art .walking-time-ring-control>span{display:block}
.map-art .walking-time-ring-control small{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:190px;padding:7px;border:1px solid #b88d50;background:#080a0bef;color:#ffe6ab;font:.65rem/1.3 Georgia,serif;letter-spacing:.08em;opacity:0;visibility:hidden;pointer-events:none}
.map-art .walking-time-ring-control:is(:hover,:focus-visible,.revealed){outline:2px solid #fff4cf;box-shadow:0 0 36px 8px #f4cb7b8c;animation:time-breathe 1.5s ease-in-out infinite}
.map-art .walking-time-ring-control:is(:hover,:focus-visible,.revealed) small{opacity:1;visibility:visible}
.time-product-seal{display:grid;place-items:center;width:112px;height:112px;margin:12px auto 22px;border:double 4px #e4c48b;border-radius:50%;background:radial-gradient(circle,#442b11,#0c0a09 68%);color:#ffe7b3;letter-spacing:.2em;box-shadow:0 0 27px #d8ae6d80,inset 0 0 19px #efcd9166}
@keyframes time-breathe{50%{box-shadow:0 0 44px 12px #f4cb7ba8}}

@media(max-width:760px){
  .map-time-wrap,.map-time-wrap.exploring{padding-bottom:8px}
  .map-time-wrap .map-art{margin-top:43px}
  .map-art .free-walking-guide{left:50%;top:-29px;width:43px;height:43px}
  .map-art .map-library-symbol{right:2px;top:-30px;width:34px;height:34px}
  .map-art .free-portal-four-threshold{left:70%;top:76%;width:28px;height:28px}
  .map-art .free-portal-four-threshold .threshold-numbers{font-size:8px}
  .map-art .portal6-wealth-door{left:31%;top:62%;width:31px;height:31px;min-height:31px;transform:translate(-50%,-50%)}
  .map-art .portal6-wealth-door .wealth-reveal{left:calc(100% + 5px);width:min(150px,43vw);padding:6px;font-size:.62rem}
  .map-art .consequence-line{left:63.4%;top:55.8%;width:27%;height:38px;min-height:38px;transform:translate(-50%,-50%) rotate(118deg);border:0;background:transparent;box-shadow:none}
  .map-art .consequence-line span{position:absolute;top:50%;left:50%;width:min(170px,45vw);padding:5px 7px;transform:translate(-50%,-50%) rotate(-118deg);border:1px solid #68bbdf;background:#07121be9;box-shadow:0 0 12px #2b9de9;font-size:.57rem;line-height:1.25}
  .map-art .free-walking-gold-trail{display:block}
  .map-art .free-walking-gold-key,.map-time-wrap.exploring .free-walking-gold-key{width:25px;height:25px;min-height:25px}
  .free-walking-gold-key .key-engraving{font-size:7px}
  .free-walking-gold-key .gold-key-label{right:auto;left:calc(100% + 4px);max-width:min(130px,37vw);padding:5px 6px;font-size:.6rem}
  .free-walking-gold-key[style*="left:81%"] .gold-key-label,.free-walking-gold-key[style*="left:92%"] .gold-key-label,.free-walking-gold-key[style*="left:86%"] .gold-key-label,.free-walking-gold-key[style*="left:75%"] .gold-key-label,.free-walking-gold-key[style*="left:74%"] .gold-key-label,.free-walking-gold-key[style*="left:70%"] .gold-key-label{left:auto;right:calc(100% + 4px)}
  .map-art .free-route-label{display:none}
  .map-art .map-keys{display:none}
  .map-art .walking-time-ring-control{top:90%;min-width:56px;min-height:38px;font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){.map-art .walking-time-ring-control,.map-art .walking-time-current{animation:none!important}}

.map-portal-caption .touch-hint{display:none}
@media(max-width:760px){.map-portal-caption .touch-hint{display:inline}.map-library-overlay{padding:8px}.map-library-overlay .map-library-panel{max-height:96svh;padding:18px}.map-library-panel .universe-doors{grid-template-columns:repeat(2,minmax(0,1fr))}.map-library-panel .universe-doors>*{min-width:0}.map-library-panel a{overflow-wrap:anywhere}}
/* Keep Portal 4's threshold distinct from the Walking Map's Hesitation Key. */
.map-art .free-portal-four-threshold{left:61%;top:75%}
@media(max-width:760px){.map-art .free-portal-four-threshold{left:61%;top:75%}}
/* The 99 / 1 marker sits beside Portal 4's outer rim, clear of its room and nearby Keys. */
.map-art .free-portal-four-threshold{left:70%;top:82%}
@media(max-width:760px){.map-art .free-portal-four-threshold{left:70%;top:82%}}
/* Curated Ask the Map instrument sits in the Map frame, outside the artwork. */
.ask-map-dock{position:relative;z-index:10;margin:16px 0 10px;border:1px solid #b58b54;background:linear-gradient(110deg,#101923ed,#16120eef);box-shadow:inset 0 0 18px #c39c421f,0 0 16px #b68c4b26;color:#f5e3bf}
.ask-map-trigger{display:flex;align-items:center;gap:13px;width:100%;min-height:52px;padding:8px 16px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.ask-map-trigger>span:nth-child(2){display:grid;gap:2px}.ask-map-trigger strong{font:700 .79rem/1.25 Georgia,serif;letter-spacing:.16em}.ask-map-trigger small{font:.68rem/1.3 Arial,sans-serif;letter-spacing:.03em;color:#d5bd91}.ask-map-star{display:grid;place-items:center;width:33px;height:33px;border:1px solid #d6bb7b;border-radius:50%;color:#fff4cc;font-size:1.4rem;box-shadow:0 0 10px #e0b86d77}.ask-map-chevron{margin-left:auto;font-size:1.2rem}.ask-map-trigger:hover,.ask-map-trigger:focus-visible{background:#49371d55;outline:2px solid #ffe6aa;outline-offset:2px}
.ask-map-content{max-height:min(52svh,470px);overflow:auto;padding:8px clamp(14px,2vw,26px) 17px;border-top:1px solid #b58b5480}.ask-map-content[hidden],.ask-map-answer[hidden],.ask-map-options[hidden]{display:none!important}.ask-map-scope{font-size:.84rem;line-height:1.5;margin:7px 0 14px;color:#e6d8bf}.ask-map-starters{display:flex;flex-wrap:wrap;gap:7px}.ask-map-starters button{border:1px solid #907750;background:#18202b;color:#f1dcad;padding:8px 10px;font:.71rem/1.3 Arial,sans-serif;cursor:pointer}.ask-map-starters button:hover,.ask-map-starters button:focus-visible{border-color:#fff1bc;background:#3a2b19;outline:2px solid #fff1bc}
.ask-map-form{margin:15px 0}.ask-map-form label{display:block;margin-bottom:6px;font:700 .75rem Arial,sans-serif;letter-spacing:.07em}.ask-map-form label small{font-weight:normal;color:#cbbda5}.ask-map-form>div{display:flex;gap:6px}.ask-map-form input{flex:1;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #94764c;background:#070b11;color:#fff4d8;font:1rem Arial,sans-serif}.ask-map-form button,.ask-map-answer button,.ask-map-answer a,.ask-map-back{min-height:40px;padding:8px 11px;border:1px solid #d1a965;background:#2b2116;color:#ffe6b5;font:700 .69rem/1.25 Arial,sans-serif;letter-spacing:.04em;text-decoration:none;cursor:pointer}.ask-map-answer{margin:12px 0;padding:13px;border-left:2px solid #e1ba75;background:#111927;color:#f3e9d6;line-height:1.5}.ask-map-answer p{margin:5px 0 10px;font-size:.9rem}.ask-map-asked{font-style:italic;color:#bdc9d2}.ask-map-specific,.ask-map-next,.ask-map-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.ask-map-answer a small{display:block;margin-top:3px;font-size:.56rem;font-weight:normal;color:#d9c8ac}.ask-map-answer :is(button,a):hover,.ask-map-answer :is(button,a):focus-visible,.ask-map-back:focus-visible{outline:2px solid #fff0b9;outline-offset:2px;background:#604626}.ask-map-next{padding-top:10px;border-top:1px solid #9c7c4a77}.ask-map-back{display:block;margin-top:14px;background:transparent}
@media(max-width:760px){.ask-map-dock{margin:10px 0 8px}.ask-map-trigger{min-height:49px;padding:7px 10px}.ask-map-trigger small{font-size:.62rem}.ask-map-content{max-height:45svh;padding:9px 12px 13px}.ask-map-starters{display:grid;grid-template-columns:1fr 1fr}.ask-map-starters button{font-size:.68rem}.ask-map-form>div{flex-direction:column}.ask-map-form button{width:100%}.ask-map-specific,.ask-map-next,.ask-map-options{display:grid;grid-template-columns:1fr}.ask-map-answer :is(button,a){width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){.ask-map-dock *{scroll-behavior:auto!important}}
.portal-product-directory{margin:14px 0 30px;padding:15px 0 22px;border-top:1px solid #93724d77;border-bottom:1px solid #93724d77}.portal-product-directory h2{margin:.25em 0}.portal-product-directory>p:not(.eyebrow){font-size:.9rem}.portal-product-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.portal-product-links a{display:flex;gap:10px;align-items:center;min-width:0;padding:8px;border:1px solid #a7834f;background:#151310;color:#f4ddb1;text-decoration:none}.portal-product-links img{width:48px;height:48px;object-fit:cover;flex:none}.portal-product-links strong,.portal-product-links small{display:block;overflow-wrap:anywhere}.portal-product-links strong{font:700 .76rem/1.25 Georgia,serif}.portal-product-links small{margin-bottom:4px;color:#e3c283;font:.58rem Arial,sans-serif;letter-spacing:.06em}.portal-product-links a:hover,.portal-product-links a:focus-visible{outline:2px solid #ffefbc;outline-offset:2px;box-shadow:0 0 16px #dfb76855}
@media(max-width:760px){.portal-product-links{grid-template-columns:1fr}.portal-product-links a{min-height:58px}.portal-product-directory{margin-top:10px}}
.portal-full-map-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.portal-full-map-choices a{display:grid;gap:5px;padding:13px;border:1px solid #dcba78;background:#211a12;color:#ffe7b7;text-decoration:none}.portal-full-map-choices small{font:.61rem Arial,sans-serif;letter-spacing:.1em;color:#d0b47a}.portal-full-map-choices strong{font:1.05rem Georgia,serif}.portal-full-map-choices span{font:.64rem Arial,sans-serif}.portal-full-map-choices a:is(:hover,:focus-visible){outline:2px solid #fff2ca;box-shadow:0 0 18px #e1b36580}
@media(max-width:760px){.portal-full-map-choices{grid-template-columns:1fr}}
.portal-two-products{margin:1.4rem 0;padding:1.1rem;border:1px solid rgba(220,176,82,.45);background:linear-gradient(135deg,rgba(29,22,12,.94),rgba(6,7,12,.94))}.portal-two-products h2{margin:.2rem 0 .5rem;color:#f7dfa4}.portal-two-products>p:not(.eyebrow){max-width:58rem}.portal-two-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.portal-two-product-grid a{display:flex;gap:.7rem;align-items:center;min-width:0;padding:.6rem;border:1px solid rgba(215,173,87,.4);color:#f7e7c5;text-decoration:none;background:rgba(255,231,177,.035)}.portal-two-product-grid a:hover,.portal-two-product-grid a:focus-visible{outline:2px solid #f4db91;box-shadow:0 0 16px #cb9c4938}.portal-two-product-grid img{width:4.5rem;height:4.5rem;object-fit:cover;flex:none}.portal-two-product-grid strong,.portal-two-product-grid small,.portal-two-product-grid b{display:block;line-height:1.25}.portal-two-product-grid small{margin:.3rem 0;color:#e0ccaa}.portal-two-product-grid b{color:#f0c875;font-size:.8rem}.portal3-product-choices{border-top:1px solid #9a723a;border-bottom:1px solid #9a723a;margin:1rem 0;padding:.8rem 0}.portal3-product-choices a{color:#f8d783}.portal3-product-choices p{font-size:.9rem;line-height:1.4}@media(max-width:750px){.portal-two-product-grid{grid-template-columns:1fr}.portal-two-products{padding:.8rem}.portal-two-product-grid img{width:3.7rem;height:3.7rem}}
.portal-two-deeper{margin:1.2rem 0;border:1px solid rgba(210,170,89,.35);padding:.7rem;background:rgba(8,8,11,.78)}.portal-two-deeper summary{cursor:pointer;color:#f5d994;font-size:1rem;letter-spacing:.08em;padding:.7rem}.portal-two-deeper summary:focus-visible{outline:2px solid #ffe6a8}
.unverified-product{padding:.8rem;border:1px solid rgba(205,165,85,.35);color:#e7d8b6}.unverified-product>*{display:block}.unverified-product small{color:#d6aa65}.unverified-product strong{margin:.35rem 0}
.map-utility{display:flex;align-items:center;gap:.7rem;margin-left:auto;padding:.35rem .55rem;border:1px solid rgba(188,145,66,.35);background:rgba(30,23,14,.82);color:#e9d3a1;font-size:.76rem}.language-control{display:flex;align-items:center;gap:.35rem}.language-control>span:nth-child(2){white-space:nowrap;letter-spacing:.08em}.language-control select,.listen-panel select{max-width:13rem;background:#15110c;color:#f4dfb1;border:1px solid #9d7a3d;padding:.35rem}.listen-toggle{background:none;border:1px solid #9d7a3d;color:#f5db9f;padding:.4rem .6rem;cursor:pointer}.listen-panel{position:absolute;top:calc(100% + .25rem);right:1rem;width:min(21rem,calc(100vw - 2rem));z-index:100;padding:1rem;background:#100d0a;border:1px solid #b18b49;box-shadow:0 12px 35px #000b;color:#f3e3be}.listen-panel[hidden]{display:none}.listen-control{position:relative}.listen-control .listen-panel{right:0}.listen-panel p{font-size:.85rem;line-height:1.4}.listen-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin:.65rem 0}.listen-actions button{border:1px solid #9d7a3d;background:#281c0f;color:#ffdf9d;padding:.4rem .5rem;cursor:pointer}.listen-panel label{display:flex;align-items:center;gap:.6rem;margin:.45rem 0;font-size:.85rem}.listen-panel progress{width:100%;accent-color:#d8ad5e}.listen-panel input{width:100%;accent-color:#d8ad5e}.map-utility :focus-visible{outline:2px solid #fff0bb;outline-offset:2px}.map-utility.speaking .listen-toggle{box-shadow:0 0 12px #f3c87388}@media(max-width:850px){.top{flex-wrap:wrap}.map-utility{order:3;width:100%;justify-content:space-between;margin:0}.language-control>span:nth-child(2){font-size:.7rem}.listen-control .listen-panel{right:0}.language-control select{max-width:9rem}}@media(max-width:390px){.map-utility{gap:.3rem}.language-control select{max-width:7rem;font-size:.72rem}}
/* Final touch and keyboard pass: full artwork stays fitted, while Explore Map is optional. */
html,body{max-width:100%;overflow-x:clip}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #fff1ba;outline-offset:3px}
.overlay{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}
.overlay>.panel,.overlay>.paid-portal-panel,.overlay>.free-portal-four-chamber,.overlay>.twelfth-view{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);overflow-y:auto;overscroll-behavior:contain}
.overlay .close,.overlay [data-action="close"]{position:sticky;top:0;z-index:30;min-width:44px;min-height:44px}
@media(max-width:760px){
  .stage:has(.map-time-wrap){padding-inline:10px}
  .map-time-wrap:not(.exploring){overflow:visible}
  .map-time-wrap:not(.exploring) .map-art{width:100%;max-width:100%;aspect-ratio:1312/1199}
  .map-art>img{display:block;width:100%;height:auto;object-fit:contain}
  .map-art .map-library-symbol{width:44px;height:44px;right:0;top:-38px}
  .map-art .free-walking-guide{width:44px;height:44px;top:-36px}
  .map-art .free-portal-four-threshold{width:44px;height:44px;top:82%}
  .map-art .portal6-wealth-door{width:44px;height:44px;min-height:44px}
  .map-art .free-walking-gold-key,.map-time-wrap.exploring .free-walking-gold-key{width:42px;height:42px;min-height:42px}
  .map-art .walking-time-ring-control{min-width:60px;min-height:44px}
  .map-art .early-pin{min-width:34px;min-height:34px}
  .map-art .consequence-line{min-height:44px}
  .map-portal-caption .touch-hint{display:inline}
  .listen-control .listen-panel{max-height:min(80dvh,600px);overflow-y:auto}
}
@media(max-width:400px){
  .map-utility{padding:.4rem;flex-wrap:wrap;gap:.45rem}
  .language-control{width:100%;justify-content:space-between}
  .language-control select{max-width:45vw;min-height:44px}
  .listen-toggle{min-height:44px}
  .map-art .free-walking-gold-key,.map-time-wrap.exploring .free-walking-gold-key{width:38px;height:38px;min-height:38px}
  .map-art .walking-time-ring-control{top:91%}
  .map-art .portal6-wealth-door .wealth-reveal{width:min(125px,38vw)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.language-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
