/* World tree expedition — lobby, roster, and apostle archive. */
:root{--bg:#142c29;--panel:#203b35;--panel2:#29473e;--line:#40564a;--ink:#f6f1de;--dim:#b4c4b5;--gold:#e4c681;--r:14px}
body{background:radial-gradient(ellipse at 78% 10%,#325342 0,transparent 55%),#142c29;font-family:'Malgun Gothic',system-ui,sans-serif}
button,input,select{font:inherit}button{transition:background .18s,transform .18s}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f3d895;outline-offset:4px}button:hover:not(:disabled){transform:translateY(-2px)}
.top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid #ffffff18}.top h1{font-size:24px;letter-spacing:-1px}.top .ver{border:1px solid #879c7455;border-radius:20px;padding:4px 9px;margin-left:12px;color:#c1d3b3}.unofficial{max-width:360px;text-align:right}.bottom{border-color:#ffffff15;padding:12px 28px}main{max-width:1376px;padding:26px 28px 38px}
.home-eyebrow,.chapter-label{font-size:11px;font-weight:700;letter-spacing:2px;color:#d4c38e}.home-eyebrow{padding:4px 0 22px;color:#a8bba7}.home-hero{min-height:470px;display:grid;grid-template-columns:1fr 1.2fr;position:relative;border-bottom:1px solid #d9d8ad30;padding:22px 0 45px;gap:22px}.home-copy{align-self:center;z-index:1}.home-copy h2{font-size:clamp(38px,4.5vw,66px);letter-spacing:-3px;line-height:1.2;white-space:pre-line;margin:24px 0;color:#f8f0d5;font-family:Georgia,'Malgun Gothic',serif}.home-lead{font-size:16px;line-height:1.9;color:#bdcbbc;white-space:pre-line;margin-bottom:30px}.home-primary{background:#e8cf94;color:#233b2e;border:0;border-radius:9px;padding:16px 26px;font-weight:800;box-shadow:0 8px 26px #061b1940;min-height:52px}.home-primary:hover:not(:disabled){background:#f8dfa4}.home-caption{font-size:11px;color:#a3b9a7;letter-spacing:.5px;margin-top:18px}.home-scene{position:relative;min-height:425px;display:flex;align-items:center;justify-content:center;isolation:isolate}.scene-orbit{position:absolute;inset:0 10%;border:1px solid #d1d69b36;border-radius:50%;background:radial-gradient(ellipse at center,#9bae6740,transparent 67%);z-index:-1}.scene-orbit:before,.scene-orbit:after{content:'';position:absolute;inset:20px;border:1px dashed #d1d69b30;border-radius:50%}.scene-orbit:after{inset:50px -38px;transform:rotate(-24deg);border-style:solid}.scene-person{position:relative;padding:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;margin:0 -30px;min-width:0}.scene-person .art{background:transparent!important;filter:drop-shadow(0 18px 12px #071b2380);max-width:100%}.scene-person .art img{object-fit:contain}.person-0{transform:rotate(-9deg) translateY(32px)}.person-2{transform:rotate(9deg) translateY(42px)}.person-1{z-index:2}.person-tag{font-size:12px;color:#f2e6c7;border:1px solid #d8d7a64d;background:#254139;padding:5px 17px;border-radius:30px}.scene-note{position:absolute;bottom:-5px;font-size:12px;color:#c8cda9;letter-spacing:1px}.scene-star{position:absolute;color:#e7ca86;font-size:34px}.star-a{top:18px;right:19%}.star-b{bottom:44px;left:8%;font-size:24px}.home-route{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:14px;padding-top:30px}.route-title{padding:15px 12px 0 0}.route-title h3{font-size:21px;margin:12px 0}.route-title p,.route-card p{font-size:12px;color:#b2c3b4}.route-card{position:relative;padding:24px;border:1px solid #a9bb8a32;border-radius:12px;background:#ffffff04;overflow:hidden}.route-number{position:absolute;right:16px;top:6px;font:60px Georgia;color:#ffffff0c}.route-place{font-size:10px;color:#c6ba8a;letter-spacing:2px}.route-card h3{font-size:22px;margin:17px 0 8px}
/* Selection: gallery on the left, build preview on the right. */
main.pickscreen{max-width:1440px;--ef-card:#1d3730;--ef-line:#47604b;--ef-primary:#d6c68b;--ef-accent:#ebd49b;--ef-muted:#acbca9;--cut:none;--cut-sm:none}.pickscreen .ihead{background:transparent;border:0;padding:6px 0 22px}.ihead:before{display:none}.ihead h1{font-size:28px}.ien{color:#aabdac}.itotal{letter-spacing:0;font-size:12px}.journey-back{font-size:12px;margin-right:8px}.ccols{grid-template-columns:minmax(300px,.85fr) minmax(0,1.25fr);gap:24px}.clist{border-radius:16px;padding:18px;background:#10292399;max-height:740px;top:14px;gap:12px}.isearch{padding:12px 14px;background:#244036;border-radius:9px;color:#f5efd9;font-size:13px}.cfilters{gap:7px}.ichip{border-radius:20px;background:transparent;font-size:11px;padding:5px 9px}.ichip.on{background:#e2ca8a;color:#233b2c;border-color:#e2ca8a}.crows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:8px;min-height:260px}.crow{position:relative;flex-direction:column;padding:12px 7px;text-align:center;border-radius:11px;background:#264235;border:1px solid #405b43;gap:9px}.crow .art{width:64px!important;height:64px!important}.crow.cur{background:#3a513b;box-shadow:inset 0 0 0 1px #e4cc8f;border-color:#e4cc8f}.crow.on{border-left:1px solid #e4cc8f;padding-left:7px}.crtop{flex-direction:column;gap:4px}.crmeta{font-size:10px;color:#b9c4ae;margin-top:5px}.crmark{position:absolute;top:5px;right:5px;font-size:9px}.cdetail{min-width:0}.dhero{background:#eae6cf;color:#263f33;border:0;border-radius:18px;padding:24px;gap:20px}.dshot{background:radial-gradient(ellipse,#c6cea6,transparent 70%);border:0;width:210px;min-width:130px}.dshot .art{max-width:100%;background:transparent!important}.dinfo{min-width:0}.dtop h2{font-size:32px;color:#263f33}.drole,.dblurb{color:#536450}.dstat{border-color:#bac4a4}.dstatc b{color:#2c4737}.dstatc i{color:#64725b}.dline{font-size:12px;color:#485940}.dtake{background:#304d3b;color:#fff5dc;border:0;border-radius:8px;margin-top:15px}.profile-link{font-size:12px;color:#35513d;background:transparent;border:1px solid #899979;border-radius:8px;margin:10px 0 0 6px}.dsec{color:#d6c796;font-size:12px;letter-spacing:.5px;margin-top:22px}.kgrid{gap:10px}.kcard{border-radius:10px;background:#233e34;border-color:#465d48;clip-path:none}.kname{color:#f1e8cd}.ktext{color:#bbcbb8}.cfoot{border-radius:14px;background:#102b24;border-color:#4b604a;padding:18px;position:relative}.slot{border-radius:9px;background:#203a2d}.cfoot .go{border-radius:8px;min-width:220px}.slot select{background:#2d4736;color:#e4e9d5}
/* Profile dialog: a separate, keyboard-accessible character sheet. */
.hero-profile{padding:0;border:1px solid #829071;border-radius:20px;background:#eee9d7;color:#2c4034;width:min(1050px,94vw);max-height:90vh;overflow:auto;box-shadow:0 35px 120px #071a16aa}.hero-profile::backdrop{background:#061b18ce;backdrop-filter:blur(7px)}.profile-sheet{display:grid;grid-template-columns:.8fr 1.2fr;position:relative}.profile-visual{background:radial-gradient(ellipse at 50% 40%,var(--hero-tone),#284a3a 83%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 20px;min-width:0}.profile-visual .art{background:transparent!important;width:100%!important;max-width:370px;height:370px!important;filter:drop-shadow(0 20px 20px #203d3850)}.profile-number{font-size:10px;letter-spacing:3px;color:#e9e6c1;margin-top:25px}.profile-body{padding:50px 36px 32px;min-width:0}.profile-body>.chapter-label{color:#6b7e58}.profile-body h2{font-size:44px;margin:10px 0 0;letter-spacing:-2px}.profile-role{font-size:12px;color:#738064;margin:0 0 22px}.profile-blurb{font-size:15px;color:#55614d;line-height:1.8}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 0;border-block:1px solid #c9cdb4;margin:22px 0}.profile-stats small,.profile-stats strong{display:block}.profile-stats small{color:#758067;font-size:11px}.profile-stats strong{font:26px Georgia;margin-top:5px}.profile-ability h3{font-size:12px;color:#526747;margin:16px 0 5px}.profile-ability p{font-size:13px;margin:0;line-height:1.8}.profile-section{font-size:14px;margin-top:25px}.profile-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0 24px}.profile-cards article{border:1px solid #c1c9ac;border-radius:9px;padding:13px;background:#f9f6e9}.profile-cards h4{margin:0 0 8px;font-size:13px}.profile-cards p{font-size:11px;line-height:1.7;margin:0;color:#67725e}.profile-cost{float:right;background:#365640;color:#fff1bf;border-radius:50%;width:24px;height:24px;text-align:center;font-size:12px}.profile-close{position:absolute;right:16px;top:14px;background:#ffffff99;border:1px solid #a6b493;color:#34513a;font-size:12px;padding:6px 12px}.profile-body .home-primary{background:#34503b;color:#fff3cb;width:100%}
@media(min-width:1500px){.home-hero{min-height:530px}.home-scene{min-height:470px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
