:root{color-scheme:dark;--gold:#d8bd87;--aqua:#58e7e3;--ink:#071516;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#061011;color:#ede7d7}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #7dffed;outline-offset:4px}button{color:inherit}#scene{position:relative;width:100%;aspect-ratio:1672/941;isolation:isolate;overflow:hidden}.artwork{display:block;width:100%;height:100%;object-fit:contain}.hotspot,.card-explore,.launch,.feature-row button{position:absolute;display:block;border:0;padding:0;background:transparent;color:transparent;cursor:pointer;transition:background .25s,box-shadow .25s,filter .25s,transform .25s}.hotspot:hover,.hotspot:focus-visible{background:#55fff316;box-shadow:inset 0 0 20px #5ffff42b}.brand{left:10.8%;top:0;width:15%;height:4.8%}.nav{top:0;height:4.7%;transform:skew(-23deg)}.bazaar{left:32.8%;width:8%}.projects{left:41.5%;width:7.8%}.assets{left:49.5%;width:7%}.exports{left:56.6%;width:7.4%}.docs{left:64.2%;width:7.3%}.portal{left:79.6%;top:.6%;width:10.5%;height:3.4%;border-radius:5px}.search{position:absolute;left:30.25%;top:29.4%;width:41.7%;height:3.6%}.search input{display:block;width:100%;height:100%;background:#061918;border:0;color:#f0f2ed;font-size:clamp(9px,.94vw,19px);padding:0 .3em;border-radius:2px}.search input::placeholder{color:#c9ccca;opacity:1}.categories{position:absolute;left:19.5%;top:34.5%;width:61%;height:3.5%;display:flex;gap:1.5%}.filter{position:relative;height:100%;flex:1;border-radius:5px}.filter:nth-child(2){flex:1.12}.filter:nth-child(3){flex:1.34}.filter[aria-pressed=true]:not(:first-child){box-shadow:inset 0 0 15px #41fff899,0 0 10px #41fff888;outline:1px solid #7afff0}.card-region{position:absolute;top:41.7%;width:26.5%;height:40.3%;--glow:#53f5ee;pointer-events:none}#scene .card-region.harbinger{left:9.1%}#scene .card-region.sylvan{left:36.8%;--glow:#b8ff61}#scene .card-region.human{left:64.6%;--glow:#ffbc69}.card-explore{inset:0 0 25% 0;width:100%;height:73%;pointer-events:auto;clip-path:polygon(6% 0,94% 0,100% 8%,100% 100%,0 100%,0 8%)}.card-region:has(.card-explore:hover){filter:drop-shadow(0 0 9px var(--glow))}.card-explore:hover{background:linear-gradient(transparent 65%,color-mix(in srgb,var(--glow) 12%,transparent))}.launch{pointer-events:auto;left:20%;top:84.2%;width:60%;height:11.4%;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%)}.launch:hover,.launch:focus-visible{background:color-mix(in srgb,var(--glow) 19%,transparent);box-shadow:inset 0 0 24px var(--glow);transform:scale(1.03)}.feature-row{position:absolute;top:73%;left:4%;width:92%;height:10%;display:flex;pointer-events:auto}.feature-row button{position:relative;flex:1;height:100%}.feature-row button:hover{background:#e1d8bd20;box-shadow:0 0 12px #ffffff20}.footer-actions{position:absolute;left:10%;top:87.6%;height:7.4%;width:80%;display:flex}.footer-actions button{position:relative;flex:1;height:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:#062f31;padding:15px}.skip:focus{top:10px}.motes{position:absolute;inset:0;pointer-events:none;overflow:hidden}.motes i{position:absolute;width:3px;height:3px;background:#d7faca;border-radius:50%;box-shadow:0 0 9px #95f9dc;left:25%;top:67%;opacity:0;animation:drift 9s infinite}.motes i:nth-child(2){left:51%;top:58%;animation-delay:2s}.motes i:nth-child(3){left:75%;top:73%;animation-delay:4s;background:#ffcd72}.motes i:nth-child(4){left:6%;top:65%;animation-delay:1s;background:#ffd399}.motes i:nth-child(5){left:61%;top:46%;animation-delay:5s}.motes i:nth-child(6){left:92%;top:57%;animation-delay:3s}@keyframes drift{20%{opacity:.7}80%{opacity:0;transform:translate(15px,-55px)}}.directory{padding:85px max(6vw,24px) 0;background:radial-gradient(ellipse at 50% 0,#18313055,transparent 65%),#071112;border-top:1px solid #86734444}.section-heading{text-align:center;margin:0 auto 45px;max-width:700px}.eyebrow{font-size:11px;letter-spacing:2.7px;color:var(--gold)}h2,h3,h1{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(28px,3vw,44px);margin:15px 0}p{line-height:1.8;color:#bbc8c3;font-size:15px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1400px;margin:auto}.text-card{border:1px solid #88784f66;background:linear-gradient(150deg,#152524,#0a1314);padding:0 28px 26px;position:relative;overflow:hidden}.text-card .eyebrow{color:var(--accent);font-size:10px}.text-card h3{font-size:33px;margin:12px 0}.text-card p{min-height:140px}.text-card button,.guide button,footer button,.modal-tab,.tab-button,.modal-tabs button,.tabs button{background:transparent;color:var(--gold);border:1px solid #8c815f;padding:12px 16px;transition:.2s}.text-card button{display:flex;justify-content:space-between;width:100%;border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.text-card button:hover,.guide button:hover,footer button:hover{background:#d8bd8715;box-shadow:0 0 20px #e6b96e11}.crop{height:180px;margin:0 -28px 25px;background-image:url('assets/bazaar.png');background-size:375% auto;border-bottom:1px solid #88784f66}.crop-harbinger{background-position:12% 50%}.crop-sylvan{background-position:50% 50%}.crop-human{background-position:88% 50%}.guide{max-width:1400px;margin:75px auto 0;padding:40px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #88784f66;border-bottom:1px solid #88784f66;gap:50px}.guide>div{max-width:760px}.guide button{white-space:nowrap}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1400px;margin:auto;padding:30px 0}footer>a{text-decoration:none;font:22px Georgia;color:var(--gold)}footer p{font-size:12px}footer button{font-size:12px;border:0}#results{padding:35px 8%;background:#0a1c1d;border-block:1px solid #4ab7b155}#results h2{font-size:28px}#results button{background:#122c2b;border:1px solid #8b815d;color:#e5dec7;padding:15px;margin:6px}dialog{width:min(920px,92vw);max-height:88vh;padding:0;background:radial-gradient(ellipse at top,#1d3732,#081315 65%);color:#e8e2cf;border:1px solid #c6ad75;box-shadow:0 0 0 5px #101c1c,0 0 0 6px #7a714b,0 30px 150px #000,0 0 60px #31baba26;overflow:auto}dialog::backdrop{background:#020a0bce;backdrop-filter:blur(7px)}dialog[open]{animation:reveal .25s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}.close{position:sticky;top:12px;float:right;margin:12px 14px -48px 0;background:#091d1e;border:1px solid #b09b6b;color:#f6e2b1;font-size:28px;z-index:2;width:35px;height:35px}#modal-content{padding:45px}#modal-content h2{color:#f1ddb7;margin-top:8px}#modal-content h3{color:#dfca9d;font-size:23px}#modal-content a{color:#a8ede5}#modal-content li{line-height:1.8;color:#c7d2cb;margin:8px 0}#modal-content button{background:#163533;border:1px solid #7e9d80;padding:10px 16px;color:#ede7cf;margin:5px;cursor:pointer}#modal-content button[aria-selected=true]{background:#326059;border-color:#8ef7d8}#modal-content .launch-link,#modal-content .launch-button,#modal-content a.cta{display:inline-block;padding:14px 24px;border:1px solid #8ee8d5;background:#133633;text-decoration:none;margin-top:20px}.modal-tabs,.tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid #6d7350;padding-bottom:12px;margin:20px 0}.modal-meta,.project-tags{display:flex;gap:8px;flex-wrap:wrap}.modal-meta span,.project-tags span{padding:5px 9px;font-size:12px;background:#c4eaca0b;border:1px solid #b1bb7844}input[type=range]{accent-color:#73e8ca;width:100%}
@media(min-width:1900px){#scene{max-width:2200px;margin:auto}}@media(max-width:700px){#scene{min-width:700px;width:100%;transform-origin:top left}body{overflow-x:hidden}.directory{padding-top:45px}.directory-grid{grid-template-columns:1fr}.text-card p{min-height:0}.guide,footer{flex-direction:column;align-items:flex-start;gap:15px}.guide{margin-top:40px}.crop{height:220px}.search input{font-size:10px}#modal-content{padding:35px 22px}.section-heading{padding:0 10px}h2{font-size:30px}.directory-grid{gap:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.modal-open{overflow:hidden}.modal-eyebrow{color:var(--gold);font-size:11px;letter-spacing:2px;text-transform:uppercase}.modal-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.modal-actions a{margin-top:0!important}.feature-list{padding-left:20px}.feature-list strong{color:#e4d3ad}.feature-list p{margin:4px 0 16px}.directory-entry{padding:15px 0 22px;border-bottom:1px solid #b7ac7844}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;width:100%;max-width:1440px;margin:24px auto}.result-card{position:relative;inset:auto;width:100%;min-width:0;max-width:none;display:flex;flex-direction:column;padding:26px;border:1px solid #8f8a5a88;background:linear-gradient(145deg,#142c2a,#0a191a);overflow:hidden;box-shadow:0 14px 35px #0003}.result-card h3{font-size:28px}.result-card a{display:inline-block;color:#8eeadf;margin:10px}.portal-entry{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #aca16d44;padding:10px 0}.atmosphere-settings{padding-top:20px}.motion-paused .motes{display:none}.motes{opacity:var(--glow-strength,.65)}.mobile-bar{display:none}
@media(max-width:700px){#scene{min-width:0;width:100%}#scene nav,#scene .search,#scene .categories,#scene .card-region,#scene .footer-actions{display:none}.mobile-bar{display:flex;flex-wrap:wrap;gap:10px;padding:18px;background:#091d1d;border-bottom:1px solid #9e8e5b}.mobile-bar a{flex:1 0 100%;font:22px Georgia;text-decoration:none;color:var(--gold)}.mobile-bar button{background:#102d2c;border:1px solid #786d4a;padding:10px 15px;color:#f0dfb7}.mobile-bar label{flex:1 0 100%}.mobile-bar input{width:100%;padding:13px;border:1px solid #72aaa0;background:#061717;font:16px Arial;color:#eee}.result-grid{grid-template-columns:1fr}.portal-entry{align-items:flex-start;flex-direction:column;gap:8px}.portal-entry h3{margin-bottom:0}.directory{padding-top:35px}}
.categories{left:0;top:0;width:100%;height:100%;pointer-events:none}.categories .filter{position:absolute;top:34.538%;height:3.507%;pointer-events:auto}.filter:nth-child(1){left:19.557%;width:8.074%}.filter:nth-child(2){left:28.589%;width:8.792%}.filter:nth-child(3){left:38.397%;width:10.646%}.filter:nth-child(4){left:50%;width:7.775%}.filter:nth-child(5){left:58.672%;width:6.459%}.filter:nth-child(6){left:66.089%;width:6.878%}.filter:nth-child(7){left:73.983%;width:6.4%}.card-region{top:40.276%;height:41.658%}#scene .card-region.harbinger{left:9.151%;width:26.435%}#scene .card-region.sylvan{left:36.722%;width:26.615%}#scene .card-region.human{left:64.474%;width:26.675%}.feature-row{top:72.2%}.launch{top:84.7%;height:10.97%}#scene .card-region.sylvan .launch{left:16.63%;width:66.74%}#scene .card-region.human .launch{left:17.49%;width:66.36%}dialog[data-theme=sylvan]{border-color:#acd476;background:radial-gradient(ellipse at top,#263b24,#081510 70%)}dialog[data-theme=human]{border-color:#d6ac76;background:radial-gradient(ellipse at top,#3a2c23,#15110d 70%)}.motes::before{content:'';position:absolute;left:25%;top:24%;width:50%;height:20%;background:radial-gradient(ellipse,#89e8e80c,transparent 70%);filter:blur(20px);animation:mist 14s ease-in-out infinite alternate}@keyframes mist{to{transform:translate(5%,15%) scale(1.1)}}.motion-paused *{animation-play-state:paused!important}
.filter:first-child[aria-pressed=false]{background:#021b1b60;box-shadow:inset 0 0 14px #0008}

/* Project grids use normal document flow; scene geometry stays scoped to #scene. */
#results{scroll-margin-top:24px}
#results>h2,#results>.result-count{max-width:1440px;margin-left:auto;margin-right:auto}
.result-card>p{overflow-wrap:anywhere}
.result-card>.modal-eyebrow{line-height:1.6;min-height:36px}
.result-card>h3{font-size:32px;margin:12px 0 16px;color:#f0dfba;line-height:1.15}
.result-card>.secondary-button{margin-top:auto!important;align-self:flex-start}
.result-card>.launch-link{align-self:flex-start;text-decoration:none;border-bottom:1px solid #75aca066;padding-bottom:5px}
.text-card{min-width:0}
@media(min-width:701px) and (max-width:1050px){.directory-grid,.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide{gap:24px;flex-wrap:wrap}.guide button{white-space:normal}}
@media(max-width:700px){.result-grid{grid-template-columns:minmax(0,1fr);gap:20px}#results{padding:28px 20px}.result-card{padding:24px}.result-card>.modal-eyebrow{min-height:0}.directory-grid{grid-template-columns:minmax(0,1fr)}}
/* Project identities are independent of scene hit-area geometry. */
.project-banner{--project-color:#7fe8e4;position:relative;isolation:isolate;min-height:220px;display:flex;align-items:flex-end;overflow:hidden;background:#123031;border-bottom:1px solid color-mix(in srgb,var(--project-color) 55%,transparent);text-align:left}
.project-banner[data-theme=sylvan]{--project-color:#c0e78e;background-color:#1a2c17}.project-banner[data-theme=human]{--project-color:#efc48a;background-color:#2e241b}
.project-banner::before,.project-banner-art{content:'';position:absolute;inset:0;z-index:-2;background-image:url('assets/bazaar.png');background-size:375% auto;background-position:12% 52%;transition:transform .7s ease}
.project-banner[data-theme=sylvan]::before,.project-banner[data-theme=sylvan] .project-banner-art{background-position:50% 52%}.project-banner[data-theme=human]::before,.project-banner[data-theme=human] .project-banner-art{background-position:88% 52%}
.project-banner::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#04131205 0%,#04131235 25%,#041312e8 90%)}
.project-banner-identity{position:relative;display:flex;align-items:center;gap:18px;padding:26px;width:100%;min-width:0}.project-brand-mark{display:block;flex:0 0 70px;width:70px;height:80px;object-fit:contain;filter:drop-shadow(0 2px 9px #000);margin:0}.project-brand-copy{min-width:0}.project-banner-title,.project-banner h3,.project-banner h2{font:400 clamp(26px,2.5vw,38px)/1.1 Georgia,serif!important;color:#f3e5c5!important;margin:0 0 8px!important;text-shadow:0 2px 9px #000}.project-banner-subtitle{font-size:10px!important;color:var(--project-color)!important;letter-spacing:2px;line-height:1.6!important;margin:0!important;text-transform:uppercase}.project-banner .eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--project-color)}
.text-card{display:flex;flex-direction:column;min-width:0}.text-card>.project-banner{margin:0 -28px 23px;min-height:220px;padding:26px;gap:18px}.text-card>.project-banner>.project-brand-copy{position:relative;flex:1}.text-card>.project-banner .eyebrow{display:block;margin-bottom:9px}.text-card p{min-height:0;flex:1}.text-card>button{margin-top:auto}.project-domain{font-size:11px;letter-spacing:.6px;text-decoration:none;color:var(--accent);overflow-wrap:anywhere}.project-domain:hover{text-decoration:underline}
.result-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;min-width:0;width:100%}.result-card .project-banner{min-height:235px;flex:none}.result-card-copy{padding:24px;display:flex;flex-direction:column;flex:1;min-width:0}.result-card-copy>p{margin:0 0 22px}.result-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;align-items:stretch}.result-card-actions button,.result-card-actions a{margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;padding:12px 15px!important;font-size:13px}.result-card-actions a{border:1px solid #77b8aa88;background:#193c37;text-decoration:none;color:#c7f6e8}.result-card:hover .project-banner-art,.text-card:hover .project-banner::before{transform:scale(1.025)}
#modal-content>.project-banner{margin:-45px -45px 28px;min-height:260px}.directory-entry>.project-banner{min-height:210px;margin:8px 0 22px}.directory-entry{margin-bottom:20px}.portal-entry{flex-direction:column;align-items:stretch;gap:12px;padding:0 0 24px;margin-bottom:24px}.portal-entry>.project-banner{width:100%;min-height:180px}.portal-entry .project-banner-identity{padding:20px}.portal-entry .launch-link{align-self:flex-start}
@media(min-width:701px) and (max-width:1100px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-banner-title,.project-banner h3{font-size:28px!important}.project-banner-identity{padding:20px;gap:12px}.project-brand-mark{width:56px;height:65px;flex-basis:56px}}
@media(max-width:700px){.project-banner,.text-card>.project-banner{min-height:220px}.project-brand-mark{width:60px;height:72px;flex-basis:60px}.project-banner-identity{padding:24px 20px;gap:14px}.project-banner-title,.project-banner h3{font-size:30px!important}.project-banner-subtitle{font-size:9px!important;letter-spacing:1.5px}#modal-content>.project-banner{margin:-35px -22px 24px;min-height:220px}.result-card .project-banner{min-height:220px}.result-card-copy{padding:20px}.text-card>.project-banner{padding:22px;gap:12px}.mobile-bar button{flex:1}.result-card-actions{flex-direction:column}.project-domain{font-size:12px}}
/* Crop only the illustration area, excluding the concept's baked UI labels. */
.project-banner::before,.project-banner-art{background-size:375% 640%;background-position:12% 51.7%}.project-banner[data-theme=sylvan]::before,.project-banner[data-theme=sylvan] .project-banner-art{background-position:50% 51.7%}.project-banner[data-theme=human]::before,.project-banner[data-theme=human] .project-banner-art{background-position:88% 51.7%}
.project-banner::after{background:linear-gradient(180deg,#04131200 0%,#04131220 20%,#041312c9 60%,#041312 100%)}
.mobile-category select{width:100%;padding:12px;color:#e9dfc6;background:#102d2c;border:1px solid #7c8e68;font:15px Arial}
