:root{color-scheme:dark;--bg:#171211;--ink:#f6e7d3;--muted:#bc9c86;--line:#e2b18b26;--primary:#a84e32;--rust:#ef9c68;--orange:#f0aa77;--cream:#241b18;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px var(--sans);overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;transition:background .15s,border-color .15s,transform .15s}button:disabled{opacity:.4;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #f4ad78;outline-offset:4px}a{color:inherit}[hidden]{display:none!important}
/* The world is the page. Interface elements float above it. */
.app-shell,main,.play-layout,.game-column,.lower-grid{display:contents}.scene-frame{position:fixed;inset:0;background:#633a2b}.canvas-wrap{position:absolute;inset:0;line-height:0}.canvas-wrap canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;outline:none}.scene-frame:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#160d0b99 0,transparent 30%,transparent 70%,#130e0cd9 100%)}
.masthead{position:fixed;z-index:8;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:20px;border-bottom:1px solid var(--line);background:linear-gradient(#201613f2,#201613b5);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:17px;font-weight:850;letter-spacing:2px;white-space:nowrap}.brand-icon{display:grid;place-items:center;width:36px;height:40px;font-size:35px;color:#f6b47b}.brand small{display:block;font:7px var(--mono);letter-spacing:2.6px;color:#ba8e72;margin-top:6px}.header-center{font:8px var(--mono);letter-spacing:1px;display:flex;align-items:center;gap:8px;color:#caa88d}.divider{color:#84624d;margin:0 4px}.signal-dot,.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b8cf9c;box-shadow:0 0 10px #b8cf9c44}.header-right{display:flex;align-items:center;gap:22px}.credit{font:14px var(--mono);color:#f8cb92;white-space:nowrap}.credit small{font-size:8px;color:#b69c85}.profile{display:flex;align-items:center;gap:9px;background:none;border:0;border-left:1px solid var(--line);padding-left:20px;font:9px var(--mono);letter-spacing:1px}.profile #avatar{display:grid;place-items:center;width:28px;height:28px;border:1px solid #b57c5655;background:#72483266;color:#f5c599;border-radius:50%}.caret{color:#b89376}.quiet-button{border:0;background:none;color:#d5b295;font:8px var(--mono);letter-spacing:1px;padding:9px 0}.quiet-button:hover{color:#ffe0b6}.journal-toggle{border:1px solid var(--line);padding:9px 12px;border-radius:3px}.journal-toggle[aria-expanded=true]{background:#b35b3938;border-color:#cf885b88}
.page-heading{position:fixed;top:121px;left:32px;z-index:3;pointer-events:none}.eyebrow{font:8px var(--mono);letter-spacing:1.8px;color:var(--muted);margin-bottom:10px}h1{font-size:clamp(30px,3.8vw,52px);line-height:1.05;font-weight:600;letter-spacing:-1.8px;margin:0 0 12px;text-shadow:0 2px 20px #0004}h1 span,h2 span{color:var(--rust)}.page-heading p{font-size:11px;color:#d1ac91;margin:0;text-shadow:0 1px 4px #0008}.heading-actions{position:fixed;right:30px;top:126px;display:flex;gap:20px;pointer-events:auto}.heading-actions .quiet-button:last-child{display:none}
.scene-top{position:fixed;top:87px;left:32px;right:32px;z-index:3;display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);letter-spacing:1.2px;color:#ddb695;pointer-events:none}.scene-top>span:first-child{display:flex;align-items:center;gap:10px}.scene-top b{font-weight:500}.scene-top #coordinates{font-size:7px;opacity:.6;margin-left:7px}.scene-bottom{position:fixed;bottom:166px;left:32px;right:32px;z-index:3;display:flex;justify-content:center;gap:20px;font:7px var(--mono);letter-spacing:.6px;color:#d1b29a;pointer-events:none;text-shadow:0 1px 4px #000}.scene-bottom #presence{display:none}.key{padding:3px 5px;border:1px solid #d8b38e44;border-radius:2px;background:#21151177;font-size:7px;margin-right:5px;color:#f0d4b4}.dot-separator{margin:0 10px;opacity:.5}
.rail{position:fixed;z-index:9;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;background:linear-gradient(#2b211deb,#1d1715f5);border:1px solid #c58d5b44;border-top-color:#eab68866;border-radius:9px;padding:5px 10px;box-shadow:0 8px 35px #0005;backdrop-filter:blur(18px)}.rail-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:4px;background:none;color:#bc9578;width:66px;height:56px}.rail-button>span{font-size:22px;line-height:23px}.rail-button small{font:7px var(--mono);letter-spacing:1px}.rail-button:hover{background:#e4a87614;color:#ffe5c2}.rail-button.active{color:#ffd5a3;border-color:#d08c5844;background:linear-gradient(#a65e3c4a,#a65e3c12)}.rail-button.active:after{content:'';height:2px;width:16px;background:#f8b37b;position:absolute;bottom:-6px;box-shadow:0 0 9px #f8b37b77}.rail-button b{position:absolute;right:6px;top:2px;background:#ba6541;color:white;min-width:15px;height:15px;line-height:15px;font-size:9px;border-radius:50%}.rail-line{height:26px;width:1px;background:var(--line);margin:0 4px}.rail-bottom{display:flex}.version{display:none}
.action-bar{position:fixed;bottom:106px;left:50%;transform:translateX(-50%);z-index:5;display:flex;justify-content:center;gap:7px;max-width:calc(100% - 48px);width:max-content;flex-wrap:wrap}.action-bar button,.action-bar select,.chip{font:9px var(--mono);letter-spacing:.3px;padding:12px 14px;background:#231a16e8;border:1px solid #c895684d;border-radius:4px;box-shadow:0 4px 14px #0002;backdrop-filter:blur(12px)}.action-bar button:hover{background:#69432ee8;border-color:#dba16b}.action-bar select{max-width:150px;font-size:10px;color:#eac9a7}.action-bar .primary,.action-bar button.selected{background:linear-gradient(#ac5d39,#7f3c29);border-color:#dc9160;color:#fff1d9}.combat-button{min-width:115px;text-align:left}.combat-button b{font-weight:500}.combat-button small{display:block;font-size:7px;margin-top:6px;opacity:.7}
.supplies{position:fixed;right:30px;top:163px;z-index:3;display:grid;grid-template-columns:repeat(6,1fr);padding:10px 8px;border-top:1px solid #d7a17533;border-bottom:1px solid #d7a17533;background:linear-gradient(90deg,transparent,#25171333);pointer-events:none}.supply{text-align:center;min-width:51px;padding:0 6px}.supply .symbol{display:block;color:#daa97b;font-size:13px;height:22px}.supply b{font:12px var(--mono);color:#f6dabc}.supply b small{font-size:7px;color:#c49c78;margin-left:3px}.supply>small{display:block;font:5px var(--mono);letter-spacing:.7px;color:#c5a184;margin-top:5px}
.mission-cue{position:fixed;left:32px;top:232px;z-index:4;max-width:255px;padding:0 0 0 13px;border:0;border-left:2px solid #e8ac6d;background:none;text-align:left;text-shadow:0 1px 5px #0008}.mission-cue .eyebrow{display:block;font-size:7px;margin-bottom:7px;color:#ffca91}.mission-cue strong{display:block;font-size:12px;font-weight:500;color:#ffe6c6;line-height:1.5}.mission-cue>span:last-child{display:block;font:8px/1.6 var(--mono);color:#d2ab8b;margin-top:5px}.mission-cue:hover strong{color:#fff}.mission-drawer{position:fixed;z-index:12;right:22px;top:87px;bottom:103px;width:340px;max-width:calc(100vw - 32px);overflow:auto;background:#211a17f5;border:1px solid #bc875b55;border-radius:7px;box-shadow:-10px 8px 60px #0005;backdrop-filter:blur(24px);scrollbar-width:thin;scrollbar-color:#805b42 transparent}.drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:2px;position:sticky;top:0;background:#211a17;z-index:1}.sidebar{display:flex;flex-direction:column;padding:0 18px}.panel{padding:20px 0;border-bottom:1px solid var(--line)}.panel:last-child{border:0}.panel h3{font-size:18px;letter-spacing:-.4px;margin:11px 0 9px;font-weight:500}.panel p{font-size:11px;line-height:1.8;color:#c3a68e;margin:8px 0 14px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.panel .eyebrow{font-size:7px;margin:0}.pill{font:7px var(--mono);letter-spacing:.5px;color:#e2b587;border:1px solid #bd885332;padding:4px 6px;border-radius:2px;background:#9f69371a}.objective{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #bc8b5c15;align-items:flex-start}.objective:last-child{border:0}.check{width:15px;height:15px;flex:0 0 15px;border:1px solid #b18a6555;border-radius:50%;font-size:10px;line-height:14px;text-align:center;color:#bace9e;margin-top:2px}.check.done{background:#9eb1791a;border-color:#9eb17955}.objective b{font-size:11px;font-weight:500;display:block}.objective small{display:block;font-size:9px;line-height:1.6;color:#b0957b;margin-top:5px}.launch-panel{background:radial-gradient(ellipse at 100% 70%,#93452830,transparent 70%)}.launch-clock{font:28px var(--mono);letter-spacing:3px;color:#f5c086;margin:18px 0 12px}
.primary,.secondary,.danger-button{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #c98150;border-radius:3px;background:linear-gradient(#a95b38,#843c28);color:#fff0d5;padding:12px 15px;font:9px var(--mono);letter-spacing:.6px}.primary:hover{background:#b66a40}.secondary{background:#38281e;border-color:#96643c66;color:#edc49a}.secondary:hover{background:#573b29}.danger-button{background:#6d3025;border-color:#9d5039;color:#f4c7a5}.wide{width:100%}.button-link{display:block;border:0;background:none;color:#d9a879;padding:9px 0 0;text-align:left;font:8px var(--mono);letter-spacing:.5px}.button-link:hover{color:#ffdaaa}.small-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.small-grid button{font-size:8px;padding:10px}.crew-person{display:flex;align-items:center;gap:9px;margin:14px 0}.person-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #d8b99344;color:#edd4ad}.crew-person b{display:block;font-size:11px;font-weight:500}.crew-person small{display:block;font:7px var(--mono);color:#bba17e;margin-top:4px}.crew-person .crew-state{margin-left:auto;font:7px var(--mono);color:#b7c691}.progress{height:4px;background:#b58a6030;border-radius:2px;margin:10px 0;overflow:hidden}.progress i{display:block;height:100%;background:#d3a06d;transition:width .5s}.health i{background:#aab982}.health.low i{background:#d77f51}.stat-line{display:flex;justify-content:space-between;gap:8px;font:8px var(--mono);color:#c8a98a;margin:12px 0}.mission-distance{font:28px var(--mono);margin:18px 0}.mission-distance small{font-size:10px;color:#b99979}.log{max-height:190px;overflow:auto;scrollbar-width:thin}.log p{font:9px/1.8 var(--mono);color:#bca184;padding-left:10px;border-left:2px solid #a87b4833;margin:12px 0}.log p:first-child{border-color:#d28b52;color:#e4c8a4}.route-list{display:flex;flex-direction:column;gap:10px;font:9px var(--mono);color:#b89d80}.route-list div{display:flex;justify-content:space-between}.route-list .passed{color:#b9cb9b}.empty-state,.farm-info{font-size:10px;line-height:1.8;color:#b89b7b}.lobby-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.choice-options{display:flex;flex-direction:column;gap:8px}.choice-options button{display:block;text-align:left;background:#473020;border:1px solid #b9895266;border-radius:4px;padding:13px;color:#f2d7b4;font-size:11px}.choice-options button:hover{background:#64432b}.choice-options small{display:block;font-size:9px;line-height:1.6;color:#c3a481;margin-top:7px}
.colony-chat{position:fixed;z-index:11;left:24px;bottom:87px;width:320px;max-width:calc(100vw - 48px);padding:16px;background:#211a17f2;border:1px solid #c28b5855;border-radius:6px;box-shadow:0 8px 40px #0004;backdrop-filter:blur(20px)}.section-label{display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:#e5bd94}.muted{font-size:6px;color:#a5876b}.chat-messages{height:140px;overflow:auto;margin:15px 0;scrollbar-width:thin}.chat-messages p{font-size:11px;line-height:1.7;margin:0 0 8px;color:#c5ac90;overflow-wrap:anywhere}.system,.chat-name{font:8px var(--mono);color:#e3aa78;margin-right:8px}.colony-chat form{display:flex;padding:10px 0 0;border-top:1px solid var(--line)}.colony-chat input{width:100%;background:none;border:0;color:#f5dbb6;font-size:11px}.colony-chat input::placeholder{color:#9b7d63}.colony-chat form button{background:none;border:0;color:#deb282}.chat-toggle{position:fixed;z-index:10;left:30px;bottom:44px;background:#251b16bb;border:1px solid #bc8b5844;border-radius:4px;padding:10px 12px;color:#d6b28c;font:8px var(--mono);letter-spacing:1px}.chat-toggle[aria-expanded=true]{border-color:#e3a56c;color:#ffdaaa}
.scene-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;line-height:normal;display:flex;align-items:center;justify-content:center}.scene-message{width:390px;max-width:80%;padding:28px;text-align:center;pointer-events:auto;background:linear-gradient(135deg,#31221a,#201815);border:1px solid #d39b6677;border-radius:6px;box-shadow:0 18px 60px #0005}.scene-message h2{font-size:34px;font-weight:500;letter-spacing:-1px;margin:12px 0}.scene-message p{font-size:12px;line-height:1.8;color:#cdb092}.scene-message button{margin-top:10px}.danger-banner{position:absolute;top:31%;background:#7d3025ee;color:#ffddbc;border:1px solid #ec9f6b66;padding:13px 22px;border-radius:4px;font:12px var(--mono);animation:pulse .6s infinite alternate}.drill-timer{position:absolute;top:27%;right:30px;background:#231a16e8;border:1px solid #e4a46066;padding:12px 18px;color:#ffdbab;border-radius:4px;font:11px var(--mono)}.map-tooltip{position:absolute;z-index:5;pointer-events:none;background:#211813ef;border:1px solid #d7995a77;color:#ffe4bd;padding:10px 14px;border-radius:4px;font:10px/1.5 var(--mono);white-space:nowrap;box-shadow:0 5px 15px #0004}.map-tooltip small{display:block;color:#c89e75;font-size:8px;margin-top:4px}
.modal-backdrop,.welcome-backdrop{position:fixed;inset:0;z-index:30;background:#120d0bb8;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px}.modal-card,.welcome-card{background:linear-gradient(135deg,#33241d,#1e1815);border:1px solid #c28b5655;border-top-color:#e0a76e88;border-radius:8px;box-shadow:0 25px 100px #0007;scrollbar-width:thin;scrollbar-color:#785438 transparent}.modal-card{width:600px;max-width:100%;max-height:88dvh;overflow:auto;padding:28px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.modal-header h2{font-size:28px;font-weight:500;letter-spacing:-.8px;margin:0}.close-button{border:1px solid #c8965f33;background:#ac794b15;color:#dab68e;width:30px;height:30px;font-size:23px;line-height:25px;border-radius:4px}.close-button:hover{background:#b07b4b33}.modal-intro{font-size:12px;line-height:1.8;color:#c3a88b;margin:0 0 20px}.shop-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.shop-row:last-child{border:0}.shop-row b{font-size:13px;font-weight:500;display:block}.shop-row small{display:block;font-size:10px;line-height:1.6;color:#b69a7e;margin-top:6px}.shop-row .row-actions{display:flex;gap:7px}.shop-row button{font-size:8px;padding:10px 12px;white-space:nowrap}.guide-list{padding-left:20px;font-size:12px;line-height:1.9;color:#c1a789}.guide-list li{margin-bottom:15px;padding-left:5px}.guide-list b{color:#f4d8b2}.modal-card h4{font:10px var(--mono);letter-spacing:1px;color:#d9b187;margin:25px 0 10px}.pack-display{text-align:center;padding:15px 0}.pack-art{width:120px;height:150px;margin:10px auto 28px;background:linear-gradient(130deg,#d57d43,#833c28);border:1px solid #efa970;border-radius:5px;box-shadow:9px 9px 0 #0f0c0b44,0 0 60px #f5a15a18;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffdfac;transform:rotate(-7deg);position:relative}.pack-art:before,.pack-art:after{content:'';position:absolute;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,#8b462a 0 2px,#bd6d3c 2px 4px)}.pack-art:before{top:0}.pack-art:after{bottom:0}.pack-art span{font-size:45px}.pack-art b{font:12px var(--mono);letter-spacing:3px}.pack-art small{font:7px var(--mono);letter-spacing:1px;margin-top:9px}.reward-item{background:#b37c3b15;border:1px solid #ba8b4f33;padding:20px;border-radius:5px;margin:15px 0}.reward-item h3{font-size:18px}.swatch{display:inline-block;width:24px;height:24px;border:3px solid #d6ae6f66;border-radius:50%;vertical-align:middle;margin-right:8px}
.welcome-backdrop{z-index:40;background:radial-gradient(ellipse at 70% 40%,#6b372455,#100d0de8)}.welcome-card{width:500px;max-height:95dvh;overflow:auto;padding:35px 40px;position:relative}.welcome-card h2{position:relative;font-size:53px;font-weight:500;line-height:1.05;letter-spacing:-2px;margin:30px 0 20px}.welcome-card>.eyebrow{position:relative;z-index:1}.welcome-card>p{color:#c6a58b;font-size:13px;line-height:1.8;margin-bottom:28px}.welcome-planet{position:absolute;right:20px;top:40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#e6a46b,#9c452d 60%,#351918 90%);box-shadow:0 0 60px #df8b4622;overflow:hidden;opacity:.7}.welcome-planet:after{content:'';position:absolute;inset:30px -20px;background:repeating-linear-gradient(15deg,transparent 0 15px,#6b332533 15px 21px);transform:rotate(-18deg)}.welcome-card label,.welcome-card legend{font:8px var(--mono);letter-spacing:1.3px;color:#d4ad89}.welcome-card input[type=text]{width:100%;border:1px solid #b7834f55;background:#191311aa;color:#ffdfb7;padding:13px 12px;margin:8px 0 20px;border-radius:3px;font-size:13px}.welcome-card fieldset{border:0;padding:0;margin:0 0 23px}.role-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.role-options label{cursor:pointer;letter-spacing:0}.role-options input{position:absolute;opacity:0;width:1px;height:1px}.role-options span{display:block;border:1px solid #b18a5733;padding:12px 7px;border-radius:3px;background:#a1784110}.role-options b{display:block;font:600 12px var(--sans);white-space:nowrap}.role-options small{display:block;font:6px var(--mono);letter-spacing:.2px;margin-top:9px;color:#b99b76}.role-options input:checked+span{background:#a4673638;border-color:#c78f52;color:#ffe0ac}.role-options input:focus-visible+span{outline:2px solid var(--rust)}.welcome-foot{display:block;text-align:center;font:7px var(--mono);color:#a38769;letter-spacing:.7px;margin-top:20px}#loginError{font-size:11px;color:#f0ab7d;margin-top:8px}
.toasts{position:fixed;z-index:60;right:25px;bottom:105px;max-width:350px;display:flex;flex-direction:column;gap:9px;pointer-events:none}.toast{padding:14px 18px;background:#2c2119f2;color:#eed5b6;border:1px solid #be895566;border-radius:4px;box-shadow:0 6px 20px #0003;font-size:12px;line-height:1.6;animation:slidein .2s}.toast.error{background:#642d22;border-color:#cc7f51}.toast.reward,.toast.event{background:#413322;border-color:#d7b36b;color:#ffe0a5}footer{position:fixed;bottom:8px;left:30px;font:6px var(--mono);letter-spacing:1px;color:#ad8a6c;z-index:3;pointer-events:none}footer>span:not(:first-child){display:none}footer .live-dot{width:3px;height:3px;margin-right:5px}@keyframes pulse{to{opacity:.65}}@keyframes slidein{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:1200px){.header-center{display:none}.brand{font-size:15px}.header-right{gap:16px}.supplies{top:163px}.mission-cue{max-width:220px}}
@media(max-width:700px){.masthead{height:62px;padding:0 16px;gap:12px}.brand{font-size:12px;letter-spacing:1.5px;gap:6px}.brand-icon{width:26px;font-size:29px}.brand small{font-size:5px;letter-spacing:1.4px}.header-right{gap:10px}.credit{font-size:11px}.credit small{font-size:6px}.profile{padding-left:10px}.profile #playerName,.profile .caret{display:none}.profile #avatar{width:25px;height:25px}.journal-toggle{padding:7px;font-size:14px}.journal-toggle span{display:none}.page-heading{top:110px;left:20px}.page-heading h1{font-size:35px}.page-heading p{font-size:10px;max-width:240px;line-height:1.6}.page-heading .eyebrow{font-size:6px;letter-spacing:1.3px}.scene-top{top:77px;left:20px;right:20px;font-size:6px;letter-spacing:.7px}.scene-top #coordinates{display:none}.heading-actions{right:20px;top:113px}.quiet-button{font-size:6px}.supplies{top:200px;left:20px;right:20px;background:#2a1b1533;padding:8px 0;grid-template-columns:repeat(6,1fr)}.supply{min-width:0;padding:0 3px}.supply b{font-size:11px}.supply>small{font-size:5px;letter-spacing:.3px}.supply .symbol{height:18px;font-size:12px}.mission-cue{top:281px;left:20px;max-width:270px}.mission-cue strong{font-size:11px}.mission-cue .eyebrow{font-size:6px}.mission-cue>span:last-child{font-size:7px}.rail{bottom:16px;gap:2px;padding:4px 6px;width:calc(100% - 32px);max-width:430px;justify-content:space-around}.rail-button{width:48px;height:49px;gap:4px}.rail-button>span{font-size:20px}.rail-button small{font-size:6px;letter-spacing:.6px}.rail-line{margin:0 2px}.action-bar{bottom:95px;gap:5px;max-width:calc(100% - 32px)}.action-bar button,.action-bar select{font-size:7px;padding:10px 9px}.action-bar select{max-width:125px}.scene-bottom{bottom:191px;left:20px;right:20px;font-size:6px;text-align:center;line-height:1.8}.key{display:none}.dot-separator{margin:0 4px}.chat-toggle{bottom:78px;left:18px;font-size:6px;padding:4px 6px;border:0;background:none}.chat-toggle span{display:none}.colony-chat{bottom:97px;left:16px}.mission-drawer{top:75px;bottom:88px;right:16px;width:340px}.scene-message{padding:22px;max-width:85%;width:340px;transform:translateY(30px)}.scene-message h2{font-size:29px}.scene-message p{font-size:11px}.scene-overlay{padding-top:80px}.danger-banner{top:39%;font-size:9px;padding:10px 15px}.drill-timer{top:39%;right:20px;font-size:9px}.modal-backdrop{padding:16px}.modal-card{padding:22px;max-height:90dvh}.modal-header h2{font-size:25px}.shop-row{gap:8px}.shop-row b{font-size:12px}.shop-row button{font-size:7px;padding:9px 8px}.welcome-card{padding:28px 24px}.welcome-card h2{font-size:45px}.welcome-planet{width:115px;height:115px}.welcome-foot{font-size:6px}.toasts{bottom:170px;left:20px;right:20px;max-width:none}footer{left:auto;right:20px;bottom:80px;font-size:5px}.combat-button{min-width:94px}.combat-button small{font-size:6px}}
@media(max-height:650px) and (min-width:701px){.masthead{height:55px}.scene-top{top:68px}.page-heading{top:91px}.page-heading h1{font-size:30px}.page-heading p{display:none}.heading-actions{top:91px}.mission-cue{top:170px;max-width:200px}.supplies{top:125px}.rail{bottom:12px}.action-bar{bottom:90px}.scene-bottom{bottom:139px}.mission-drawer{top:68px;bottom:90px}.chat-toggle{bottom:29px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Neighborhood homes and short scavenging trips. */
.neighbor-row{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.neighbor-row>div{flex:1;min-width:0}.neighbor-row b{font-size:11px;font-weight:500;display:block;overflow-wrap:anywhere}.neighbor-row small{display:block;font:8px var(--mono);color:var(--muted);margin-top:5px}.neighbor-row button{font-size:8px;padding:8px}.home-dot{width:10px;height:10px;border-radius:3px;flex:0 0 10px}.material-strip{display:flex;justify-content:space-around;gap:8px;margin:18px 0;padding:12px 8px;border:1px solid var(--line);background:#c9945210;border-radius:4px;font:8px var(--mono);color:var(--muted)}.material-strip span{display:flex;flex-direction:column;gap:6px;text-align:center}.material-strip b{font-size:18px;font-weight:500;color:#f4d3a3}.home-name-form>label{font:8px var(--mono);letter-spacing:1.3px;color:var(--muted)}.home-name-form>div{display:flex;gap:8px;margin-top:9px}.home-name-form input{min-width:0;flex:1;padding:11px;background:#181210;border:1px solid var(--line);border-radius:3px;color:var(--ink)}.palette-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.palette-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 5px;border:1px solid var(--line);background:#b58a5c10;border-radius:4px;font-size:9px;color:#d1b18c}.palette-option i{width:26px;height:26px;border-radius:50%;border:3px solid #fff2}.palette-option.chosen{border-color:#e8ad6e;background:#b58a5c2a;color:#ffe0b4}.yard-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.yard-slots button{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:14px}.yard-slots small{font-size:7px;letter-spacing:0}.trip-picker{width:480px;max-width:90%}.trip-picker h2{font-size:31px}.route-cards{display:flex;flex-direction:column;gap:9px;margin:22px 0 12px}.route-card{display:flex;align-items:center;gap:15px;text-align:left;background:#e2a36b0c;border:1px solid #d4a26844;border-radius:4px;padding:15px;color:#f4dabc}.route-card:hover{background:#b878322e;border-color:#d69c5f}.route-card>span:nth-child(2){flex:1}.route-card b{display:block;font-size:13px;font-weight:500}.route-card small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:5px}.route-gem{font-size:30px;width:34px;text-align:center}.travel-caption{text-align:center;align-self:flex-end;margin-bottom:25%;text-shadow:0 2px 15px #0008}.travel-caption h2{font-size:28px;font-weight:500;letter-spacing:-.7px}.travel-caption>span{font:12px var(--mono);color:#e7bb8b}.gather-hud{position:absolute;top:25%;right:32px;width:230px;text-align:right;background:#261a15d9;border:1px solid #bc865645;border-radius:5px;padding:16px;backdrop-filter:blur(12px)}.gather-hud .eyebrow{font-size:7px;display:block}.gather-hud strong{font:20px var(--mono);display:block;margin:7px 0}.gather-hud>span:last-of-type{font:9px var(--mono);color:var(--muted)}.gather-hud .material-strip{margin:12px 0 0}.tiny-note{font-size:9px!important}.page-heading h1{max-width:650px;overflow-wrap:anywhere}body[data-view=expedition] .mission-cue{display:none}
@media(max-width:700px){.page-heading h1{font-size:30px;max-width:290px}.page-heading p{max-width:265px}.scene-overlay .trip-picker{transform:translateY(60px);padding:20px}.trip-picker h2{font-size:25px}.route-card{padding:12px;gap:10px}.route-card b{font-size:11px}.route-card small{font-size:9px}.route-gem{font-size:24px}.gather-hud{top:30%;right:20px;width:190px;padding:12px}.gather-hud .material-strip{padding:8px 4px}.gather-hud strong{font-size:16px}.travel-caption{margin-bottom:60%;padding:0 25px}.travel-caption h2{font-size:23px}.palette-options{gap:5px}.palette-option{font-size:8px}.rail-button small{font-size:5px}.yard-slots small{font-size:6px}}

body[data-trip]:not([data-trip=""]) .supplies{display:none}.gather-hud{top:130px}@media(max-width:700px){.gather-hud{top:195px}.scene-overlay .trip-picker{max-height:calc(100dvh - 270px);overflow:auto}.trip-picker h2{font-size:23px}.route-cards{margin:12px 0}.route-card{padding:10px}.scene-message .choice-options small{font-size:9px}}
body[data-view=expedition] .scene-bottom{display:none}
/* Mars atlas: terrain first, people one short hop away. */
#modal[data-mode=map] .modal-card{width:1080px;padding:24px;background:linear-gradient(125deg,#352020,#1d1718)}
#modal[data-mode=map] .modal-header{margin-bottom:18px;padding-bottom:16px}
.atlas-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:24px}
.atlas-map,.atlas-directory{min-width:0}.atlas-map-intro p{font-size:12px;color:#d7ad91;margin:8px 0 15px}
.atlas-surface{height:350px;position:relative;overflow:hidden;border:1px solid #d88c6840;border-radius:8px;background:#211719;box-shadow:inset 0 0 45px #0003}
.atlas-surface svg{position:absolute;inset:0;width:100%;height:100%;opacity:.88}.atlas-terrain-label{position:absolute;bottom:12px;left:15px;font:7px var(--mono);letter-spacing:3px;color:#dc9d7f80}
.atlas-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;padding:5px 8px;white-space:nowrap;text-shadow:0 2px 5px #240f15;color:#ffd9b5;min-width:74px;min-height:55px}
.atlas-node:active:not(:disabled){transform:translate(-50%,-50%)}.atlas-node i{font-style:normal;display:grid;place-items:center;width:25px;height:25px;border:1px solid #ffcc9d88;background:#341c1ee8;border-radius:50%;box-shadow:0 0 0 5px #f5ac7020;font-size:13px}
.atlas-node b{font:8px var(--mono);letter-spacing:.3px}.atlas-node small{font:6px var(--mono);color:#f2c397}.atlas-node.here i{background:#cb8253;color:#251518;border-color:#ffdfb9;box-shadow:0 0 0 5px #f5ac7030,0 0 20px #ffb47a66}.atlas-node:hover i,.atlas-node:focus-visible i{background:#a86149;box-shadow:0 0 0 7px #ffc49825}
.atlas-caption{display:flex;justify-content:space-between;gap:8px;font:6px var(--mono);letter-spacing:.6px;color:#ba8e76;padding:12px 0;line-height:1.7}
.map-pagination{display:flex;align-items:center;justify-content:center;gap:14px;min-height:28px;font:7px var(--mono);letter-spacing:.5px;color:#bc9883}.map-pagination button{padding:7px 11px}
.atlas-home{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.atlas-home>span{font:7px var(--mono);color:#bd947e;line-height:1.8}.atlas-home b{display:block;font-size:12px;color:#ffd2a7;letter-spacing:1px}.atlas-home button{font-size:7px;padding:10px}
.atlas-note{font-size:10px;line-height:1.7;color:#b49483;margin:12px 0 0}.atlas-directory{border-left:1px solid var(--line);padding-left:24px}.atlas-directory>label{display:block;font:8px var(--mono);letter-spacing:1.3px;margin-bottom:10px;color:#e7b997}
.atlas-directory input{width:100%;min-width:0;padding:12px;background:#170f12;border:1px solid #b9775b66;border-radius:4px;color:#f6d2b6;font-size:12px}.friend-filter{margin:12px 0 18px;padding:8px 11px;background:#b9785515;border:1px solid #ad76524d;border-radius:20px;font:8px var(--mono);color:#d4b18d}.friend-filter[aria-pressed=true]{background:#965b3538;color:#ffce8d;border-color:#c58d55}
.friend-results{height:340px;overflow:auto;scrollbar-width:thin;scrollbar-color:#82533e transparent;padding-right:5px}.friend-row{padding:14px 0;border-bottom:1px solid var(--line)}.friend-row:first-child{padding-top:0}.friend-identity{display:flex;align-items:center;gap:9px}.friend-identity>i{width:7px;height:7px;border-radius:50%;background:#6e5c55;flex-shrink:0}.friend-identity>i.online{background:#b3cf98;box-shadow:0 0 8px #accf8850}.friend-identity>div{flex:1;min-width:0}.friend-identity b{font-size:12px;font-weight:500;overflow-wrap:anywhere}.friend-identity small{display:block;font:6px var(--mono);color:#b58b76;margin-top:6px}.save-friend{background:none;border:0;color:#e0b179;font-size:20px;padding:7px}.friend-row p{font-size:11px;color:#e0b99b;margin:9px 0 5px;overflow-wrap:anywhere}.friend-location{font-size:9px;color:#b6a28c}.friend-actions{display:flex;gap:7px;margin-top:12px}.friend-actions button{font-size:7px;padding:9px 10px}.map-empty{padding:25px 8px;color:#ebc0a5;font-size:14px;line-height:1.7}.map-empty p{font-size:11px;color:#b59785}
@media(max-width:700px){.rail-button{width:40px}.rail-button small{font-size:5px;letter-spacing:.3px}.rail-line{display:none}.rail{gap:0;padding:4px}.atlas-layout{grid-template-columns:1fr;gap:20px}#modal[data-mode=map] .modal-card{padding:18px}.atlas-directory{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.atlas-surface{height:300px}.atlas-node{padding:4px;min-width:58px}.atlas-node b{font-size:6px}.atlas-node small{font-size:5px}.atlas-node i{width:22px;height:22px}.atlas-caption{font-size:5px}.friend-results{height:auto;max-height:360px}.atlas-home{gap:8px}.atlas-home button{font-size:6px}.atlas-note{font-size:9px}}
#modal[data-mode=map] .modal-header{position:sticky;top:-24px;z-index:2;background:#2c1e1e}
@media(min-width:701px) and (max-height:800px){#modal[data-mode=map] .modal-card{padding:20px}#modal[data-mode=map] .modal-header{top:-20px;padding-bottom:12px;margin-bottom:12px}.atlas-surface{height:250px}.atlas-map-intro p{margin:6px 0 10px}.atlas-note{font-size:9px}.friend-results{height:285px}.atlas-caption{padding:8px 0}.atlas-home{margin-top:8px;padding-top:9px}}
@media(max-width:700px){#modal[data-mode=map] .modal-header{top:-18px}}
/* A guest can try the actual loop without making an account. */
.welcome-card{max-height:calc(100dvh - 32px);overflow:auto}.guest-entry{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.guest-entry>a{text-decoration:none;justify-content:space-between}.guest-entry .button-link{margin:10px auto;padding:5px;text-align:center}.guest-entry>small{display:block;font:6px var(--mono);letter-spacing:1px;color:#c29980;text-align:center;margin:12px 0}.welcome-foot{margin-top:14px!important}
.demo-banner{position:fixed;z-index:10;left:50%;transform:translateX(-50%);bottom:187px;display:flex;gap:22px;align-items:center;padding:11px 16px;border:1px solid #efac7755;border-radius:5px;background:#211416ed;box-shadow:0 6px 25px #0003;max-width:calc(100% - 32px);width:max-content}.demo-banner b{display:block;font:8px var(--mono);letter-spacing:1.4px;color:#ffc38d}.demo-banner span{display:block;font:9px var(--sans);color:#d0aa8d;margin-top:5px}.demo-banner a{font:8px var(--mono);color:#f8cf9f;text-decoration:none;white-space:nowrap}.demo-banner a:hover{color:#fff}body[data-demo=true] .scene-bottom{display:none}
.access-steps>div{padding:13px 0 19px;border-bottom:1px solid var(--line)}.access-steps>div>span{font:10px var(--mono);color:#efa76c}.access-steps h3{font-size:20px;font-weight:500;margin:9px 0}.access-steps p,.access-note{font-size:12px;line-height:1.8;color:#c8a48c}.access-steps a{text-decoration:none}.access-note{font-size:10px;margin:20px 0 0;color:#bda086}
@media(max-width:700px){.demo-banner{bottom:auto;top:65px;padding:6px 10px;gap:13px;right:14px;left:auto;transform:none}.demo-banner b{font-size:6px}.demo-banner span{display:none}.demo-banner a{font-size:6px}body[data-demo=true] .scene-top{top:94px}body[data-demo=true] .page-heading{top:118px}.welcome-card{padding:22px}.welcome-card h2{font-size:39px}.welcome-planet{width:90px;height:90px}.welcome-backdrop{padding:16px}.guest-entry{margin-top:12px;padding-top:12px}}
@media(prefers-reduced-motion:no-preference){.reward-item{animation:reward-arrival .65s cubic-bezier(.2,.8,.2,1)}.pack-art{animation:pack-float 3.8s ease-in-out infinite}@keyframes reward-arrival{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pack-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-7px) rotate(-4deg)}}}

/* Wallet passport: launch access is separate from the free practice colony. */
.wallet-panel { text-align:left; margin-top:22px; padding:20px; border:1px solid #d48b6245; border-radius:12px; background:linear-gradient(135deg,#743c2b40,#1d1416c0); }
.wallet-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.wallet-heading .eyebrow { font-size:9px; letter-spacing:.13em; overflow-wrap:anywhere; }
.wallet-seal { font-size:27px; color:#efb58a; }
.wallet-panel p { font-size:12px; line-height:1.7; margin:8px 0 16px; color:#ddc7b5; }
.wallet-panel label { display:block; font:9px monospace; letter-spacing:.08em; color:#cfaa8d; }
.wallet-selects { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.wallet-panel select,.wallet-panel input:not([type=checkbox]):not([type=file]) { width:100%; min-width:0; padding:11px 9px; border:1px solid #d48b6240; border-radius:5px; background:#211719; color:#f5dbc1; margin:7px 0 12px; font:12px monospace; }
.wallet-tools { display:flex; justify-content:space-between; gap:12px; }
.wallet-tools .button-link,.wallet-import { font-size:9px; padding:10px 0; }
.wallet-panel .wallet-status { min-height:32px; margin:4px 0 0; color:#f0cf9f; }
.wallet-token { display:block; overflow-wrap:anywhere; color:#bda18a; font:10px/1.6 monospace; margin-top:10px; }
#walletNewProfile { margin:18px 0 12px; border-top:1px solid #d48b622c; padding-top:15px; }
.wallet-panel .wallet-link-choice { display:flex; align-items:center; gap:10px; font:12px/1.5 sans-serif; letter-spacing:0; }
.wallet-link-choice input { accent-color:#d58c62; }
.wallet-import { cursor:pointer; display:inline-block!important; }
.wallet-panel button:disabled { opacity:.55; cursor:default; }
.welcome-card:has(.wallet-panel:not([hidden])) .welcome-planet { height:80px; }
.welcome-card:has(.wallet-panel:not([hidden])) h2 { font-size:44px; }
@media(max-width:600px) { .wallet-panel { padding:16px; } .wallet-selects { grid-template-columns:1fr; gap:0; } .welcome-card:has(.wallet-panel:not([hidden])) h2 { font-size:36px; } }
/* Colony dispatch: warm paper, personal notes, and a growing collection. */
#modal[data-mode=orders] .modal-card{width:1120px;padding:30px;background:radial-gradient(ellipse at 10% 0,#7b402a55,transparent 60%),#25191b;max-width:100%}
#modal[data-mode=orders] .modal-header{margin-bottom:18px}#modal[data-mode=orders] .modal-header h2{font-size:32px;max-width:700px}
.dispatch-intro{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:20px}.dispatch-intro p{font-size:14px;line-height:1.7;color:#dcb79a;max-width:570px;margin:8px 0}.rep-medal{flex-shrink:0;width:90px;height:90px;border:1px solid #ddaa6c80;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 5px #b7784920;color:#f6c88f}.rep-medal b{font:32px var(--serif,Georgia)}.rep-medal span{font:7px var(--mono);letter-spacing:1px;margin-top:7px}
.dispatch-bonuses{display:flex;gap:30px;border-top:1px solid #d08e5f40;border-bottom:1px solid #d08e5f40;padding:14px 0;margin-bottom:26px}.dispatch-bonuses>div{flex:1}.dispatch-bonuses b{display:block;font-size:12px;font-weight:500;color:#e8cba7}.dispatch-bonuses span{display:block;color:#bb9e88;font-size:10px;line-height:1.6;margin-top:6px}
.board-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.board-heading h3{font:24px Georgia,serif;color:#f2d4b5;margin:0 0 15px}.board-heading>span{font:8px var(--mono);color:#c39a7c;white-space:nowrap}.board-heading .eyebrow{display:block;margin-bottom:10px}.request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:6px}.request-card{position:relative;display:flex;flex-direction:column;padding:18px;background:linear-gradient(155deg,#654130,#3c2824);border:1px solid #c58c6259;border-radius:3px 3px 12px 3px;box-shadow:0 7px 20px #0002;min-width:0}.request-card:before{content:'';position:absolute;width:32px;height:9px;top:-5px;left:calc(50% - 16px);background:#d59b735e;transform:rotate(-4deg)}.request-card.ready{border-color:#b5c18a88;background:linear-gradient(155deg,#574632,#352b26)}.request-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.request-top>span{font:7px/1.6 var(--mono);letter-spacing:.5px;color:#dfb48d}.pin-order{padding:6px;font:7px var(--mono);background:none;border:1px solid #cf997348;color:#e8c099;white-space:nowrap}.pin-order[aria-pressed=true]{background:#ba7c4c40;border-color:#d5a67c}.request-sender{display:flex;gap:9px;align-items:center;margin:18px 0 10px}.request-sender i{display:grid;place-items:center;width:30px;height:30px;border:1px solid #e0b79166;border-radius:50%;font:18px Georgia;color:#f6cda5;background:#b7724820;flex-shrink:0}.request-sender>span{font-size:11px;color:#e4c7ad}.request-sender small{display:block;font:6px var(--mono);letter-spacing:1.2px;margin-top:5px;color:#ba9477}.request-card h3{font:23px/1.2 Georgia,serif;color:#ffe1bf;margin:8px 0;min-height:55px}.request-note{font:italic 12px/1.7 Georgia,serif;color:#d7b497;min-height:41px;margin:0 0 14px}.request-items{margin-top:auto;min-height:76px;padding:10px 0;border-top:1px dashed #e4b48433;border-bottom:1px dashed #e4b48433}.request-items>div{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#ddbd9e;padding:5px 0}.request-items b{font:11px var(--mono);white-space:nowrap}.request-items .gathered{color:#d1dfac}.request-rewards{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:15px 0;color:#f2c488}.request-rewards>b{font-size:14px}.request-rewards>span{font:8px var(--mono)}.request-card>.wide{font-size:8px;padding:13px 8px}.request-hints{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px;min-height:29px;align-items:center}.request-hints .button-link{font-size:7px;padding:6px 0;color:#efbf95}.request-hints>span{font-size:9px;color:#c7af94}
.blueprint-book{margin-top:32px;padding-top:24px;border-top:1px solid #d08e5f40}.blueprint-book>p{font-size:12px;line-height:1.8;color:#ceac91;margin:0 0 15px}.blueprint-track{height:3px;background:#765042;margin:16px 0 20px;border-radius:5px;overflow:hidden}.blueprint-track i{display:block;height:100%;background:#e7b57d;transition:width .6s}.blueprint-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.blueprint-card{display:flex;flex-direction:column;padding:12px;border:1px solid #a7775a40;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#d9ad7810 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,#d9ad7810 20px),#20191b;border-radius:4px;min-width:0}.blueprint-card.unlocked{border-color:#c49a6c80;background-color:#302321}.blueprint-card svg{width:100%;height:100px}.blueprint-card.locked svg{opacity:.6}.blueprint-card .eyebrow{font-size:6px;letter-spacing:.7px;color:#c7ac8c}.blueprint-card h4{font:17px/1.25 Georgia,serif;margin:10px 0 7px;color:#efcbaa;min-height:42px}.blueprint-card p{font-size:10px;line-height:1.65;color:#bc9c88;margin:0 0 12px;min-height:48px}.blueprint-card>small{margin-top:auto;font:8px/1.8 var(--mono);color:#c1a182;min-height:43px}.blueprint-card>button{font-size:7px;padding:10px 5px;margin-top:9px}.blueprint-card>.button-link{line-height:1.6;margin-top:0;color:#ebc296}.dispatch-foot{font:9px/1.8 var(--mono);color:#ac8978;margin:24px 0 0}.order-away{color:#efc48d;font-size:12px;line-height:1.6}.delivery-receipt{display:flex;align-items:center;gap:18px;padding:20px;margin-bottom:22px;border:1px solid #b6c48b66;background:linear-gradient(120deg,#75844830,#4f412530);border-radius:5px}.delivery-seal{display:grid;place-items:center;width:43px;height:43px;border:2px solid #b9c98e;color:#d8e5aa;border-radius:50%;font-size:22px;flex-shrink:0;transform:rotate(-12deg)}.delivery-receipt>div{flex:1}.delivery-receipt h3{font:23px Georgia;color:#efdbb6;margin:10px 0}.delivery-receipt p{font:10px/1.8 var(--mono);color:#c9d8ac;margin:0}.delivery-receipt .eyebrow{font-size:7px}.delivery-receipt>.button-link{align-self:flex-start}.unlock-note{display:block;font:9px/1.8 var(--mono);color:#ffcc8f;margin-top:8px}
@media(prefers-reduced-motion:no-preference){.delivery-receipt{animation:reward-arrival .5s ease-out}.delivery-seal{animation:stamp-in .45s ease-out}@keyframes stamp-in{from{transform:scale(1.8) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(-12deg);opacity:1}}}
@media(max-width:850px){.request-grid{gap:10px}.request-card{padding:12px}.blueprint-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.request-card h3{font-size:21px}.request-rewards>span{font-size:7px}}
@media(max-width:600px){#modal[data-mode=orders] .modal-card{padding:20px}#modal[data-mode=orders] .modal-header h2{font-size:27px}.dispatch-intro{gap:15px}.dispatch-intro p{font-size:12px}.rep-medal{width:67px;height:67px}.rep-medal b{font-size:26px}.rep-medal span{font-size:6px}.dispatch-bonuses{flex-direction:column;gap:15px}.board-heading{align-items:flex-start}.board-heading h3{font-size:21px}.board-heading>span{font-size:6px;padding-top:6px;white-space:normal;max-width:88px;text-align:right}.request-grid{grid-template-columns:1fr;gap:20px}.request-card{padding:18px}.request-card h3{min-height:0;font-size:26px}.request-note{min-height:0}.request-items{min-height:0}.request-top>span{font-size:8px}.pin-order{font-size:8px;padding:9px}.request-card>.wide{font-size:9px}.request-hints .button-link{font-size:8px}.blueprint-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blueprint-card h4{font-size:17px}.blueprint-card>small{font-size:8px}.delivery-receipt{padding:13px;gap:10px}.delivery-seal{width:28px;height:28px;font-size:17px}.delivery-receipt h3{font-size:19px}.delivery-receipt p{font-size:9px}.dispatch-intro .eyebrow{font-size:7px}}
@media(min-width:701px) and (max-height:800px){#modal[data-mode=orders] .modal-card{padding:20px}#modal[data-mode=orders] .modal-header{padding-bottom:14px;margin-bottom:12px}#modal[data-mode=orders] .modal-header h2{font-size:28px}.dispatch-intro{margin-bottom:12px}.dispatch-intro p{margin:6px 0;font-size:12px}.rep-medal{width:58px;height:58px}.rep-medal b{font-size:24px}.rep-medal span{font-size:6px;margin-top:3px}.dispatch-bonuses{padding:10px 0;margin-bottom:18px}.request-card{padding:14px}.request-sender{margin:12px 0 6px}.request-card h3{font-size:22px;min-height:50px;margin:6px 0}.request-note{min-height:36px;line-height:1.5;margin-bottom:10px}.request-items{min-height:66px;padding:6px 0}.request-rewards{margin:12px 0}.request-card>.wide{padding:11px 7px}}
.dispatch-tabs{display:flex;gap:8px;margin:18px 0}.dispatch-tabs button{flex:1;padding:13px 10px;font:9px var(--mono);letter-spacing:.6px;border:1px solid #d09d6d44;background:#21191b;color:#bca18c;border-radius:4px}.dispatch-tabs button[aria-pressed=true]{color:#ffdbaf;background:#a86c4033;border-color:#d7a37399;box-shadow:inset 0 -2px #d7a373}.blueprint-book{margin-top:0;padding-top:8px;border-top:0}.delivery-receipt .button-link{font-size:8px;padding:7px 0;color:#f2c191}.blueprint-book[hidden]{display:none}@media(max-width:600px){.dispatch-tabs{gap:5px}.dispatch-tabs button{font-size:7px;letter-spacing:.1px;padding:12px 7px}}@media(min-width:701px) and (max-height:800px){.dispatch-tabs{margin:12px 0}.dispatch-tabs button{padding:10px}.dispatch-bonuses{margin-bottom:12px}.request-sender{margin-top:8px}.request-card h3{min-height:44px;font-size:21px}.request-items{min-height:56px}.request-note{font-size:11px;min-height:33px}.request-card{padding:12px}.board-heading h3{margin-bottom:10px}}
/* Shared neighborhood builds: construction plans become places in the square. */
#modal[data-mode=projects] .modal-card{width:1040px;padding:24px;background:radial-gradient(ellipse at 0 0,#72472d55,transparent 65%),#25191b}
#modal[data-mode=projects] .modal-header{margin-bottom:14px;padding-bottom:16px}#modal[data-mode=projects] .modal-header h2{font-size:32px}.project-intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.project-intro p{font-size:13px;color:#dfbb9b;margin:0;line-height:1.6}.project-intro>span{font:8px var(--mono);color:#d0a581;white-space:nowrap}.project-demo{font:9px/1.7 var(--mono);color:#dcb58d;background:#b9844c12;border-left:2px solid #cb985f;padding:10px 14px;margin:14px 0}.project-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.project-chapters button{display:grid;grid-template-columns:30px 1fr;gap:6px;text-align:left;background:#211a1b;border:1px solid #b8895d4a;padding:13px;border-radius:4px;color:#bd9d81;min-width:0}.project-chapters button[aria-pressed=true]{border-color:#e3b780;background:#a26c3d2b;box-shadow:inset 0 -2px #d6a777;color:#f1d1a5}.project-chapters button>span{grid-row:span 2;font:20px Georgia;align-self:center;color:#e4bd89}.project-chapters b{font-size:12px;font-weight:500;line-height:1.4}.project-chapters small{font:6px var(--mono);letter-spacing:.9px}
.project-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px}.project-vision,.project-supplies{min-width:0}.project-art{display:block;width:100%;height:220px;border:1px solid #bd95602b;border-radius:8px;background:radial-gradient(ellipse at 50% 50%,#a66a3c22,transparent 70%)}.project-stage{display:flex;justify-content:space-between;gap:12px;margin:14px 0 0;font:8px var(--mono);color:#dcb58b}.project-stage b{color:#f2d2a4}.project-vision .blueprint-track{margin:9px 0 18px}.project-layout h3{font:25px/1.2 Georgia;color:#f0d0ad;margin:10px 0}.project-vision p{font-size:12px;line-height:1.8;color:#c4a48d;margin:10px 0}.project-vision .project-total{font:9px/1.7 var(--mono);color:#e2bb8b}.project-supplies>.eyebrow{font-size:7px}.project-supply{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px dashed #c59b7040}.project-supply>div:first-child{min-width:0}.project-supply b{display:block;font-size:13px;color:#e6caaa;font-weight:500}.project-supply span{display:block;font:8px/1.7 var(--mono);color:#bb9b7e;margin-top:6px}.project-supply>div:last-child{display:flex;align-items:center;gap:6px;flex-shrink:0}.project-supply button{padding:11px 10px;font-size:8px}.project-supply b.project-filled{font:8px var(--mono);color:#b8cc97}.project-note{font-size:10px;line-height:1.8;color:#bd9d88;margin:13px 0}.project-personal{padding:13px 16px;background:#bc8c5420;border-left:2px solid #d0a06a;margin-top:18px}.project-personal b{font-size:12px;color:#efd0a5;font-weight:500}.project-personal p{font-size:10px;line-height:1.7;color:#d2b18e;margin:6px 0 0}.project-links{display:flex;gap:18px}.project-links button{font-size:8px;padding:6px 0;color:#e7ba87}.project-thanks{padding:20px;background:#9fb57a15;border:1px solid #a9c08555;border-radius:4px;margin:18px 0}.project-thanks>b{font:9px var(--mono);color:#c1d49e}.project-thanks p{font-size:13px;line-height:1.8;color:#d4d6b1}.project-thanks button{font-size:8px}.project-neighbors{border-top:1px solid #c8956340;margin-top:20px;padding-top:15px}.project-neighbors summary{font:9px var(--mono);color:#caa787;cursor:pointer;line-height:1.6}.project-neighbors>div{display:flex;gap:10px;flex-wrap:wrap;padding-top:14px}.project-neighbors span{display:flex;gap:20px;padding:9px 12px;background:#b8895420;border-radius:3px;font-size:11px;color:#dfbfa2}.project-neighbors b{font:8px var(--mono);color:#b6c796;align-self:center}.project-neighbors p{font-size:12px;color:#b89a81}.project-discovery{display:block;margin:0 0 15px;font-size:8px;color:#eac18f}
@media(min-width:701px) and (max-height:800px){#modal[data-mode=projects] .modal-card{padding:20px}.project-art{height:180px}.project-chapters{margin:14px 0}.project-supply{padding:11px 0}.project-supply button{padding:9px}.project-layout h3{font-size:23px}.project-personal{margin-top:12px;padding:10px 12px}}
@media(max-width:700px){#modal[data-mode=projects] .modal-card{padding:20px}#modal[data-mode=projects] .modal-header h2{font-size:27px}.project-intro{align-items:flex-start;gap:12px}.project-intro p{font-size:12px}.project-intro>span{font-size:6px;white-space:normal;min-width:65px;line-height:1.7;text-align:right}.project-demo{font-size:8px}.project-chapters{gap:5px}.project-chapters button{grid-template-columns:1fr;padding:10px 7px;gap:5px}.project-chapters button>span{grid-row:auto;font-size:16px}.project-chapters b{font-size:10px;min-height:28px}.project-chapters small{font-size:5px;letter-spacing:.4px}.project-layout{grid-template-columns:1fr;gap:20px}.project-art{height:180px}.project-layout h3{font-size:25px}.project-vision p{font-size:11px}.project-supply{gap:8px}.project-supply button{font-size:8px;padding:11px 8px}.project-supply span{font-size:7px}.project-supply b{font-size:12px}.project-stage{font-size:7px}.project-links{gap:12px}.project-links button{font-size:7px}}

/* First Harvest: a warm, tactile passport and a compact field puzzle. */
.festival-button { color:#ffd499!important; border-color:#b77348!important; }
.festival-hero { display:flex; align-items:center; gap:28px; padding:26px; border:1px solid #a66a43; border-radius:14px; background:radial-gradient(ellipse at 8% 30%,#ae613b50,transparent 60%),#35201e; }
.festival-hero h3 { font-size:32px; margin:10px 0; color:#ffe0af; }
.festival-hero p { line-height:1.6; color:#dec6ad; }
.festival-season { font:10px monospace; color:#ebb47c; }
.festival-lantern { flex:0 0 90px; height:110px; border:2px solid #e8b06f; border-radius:38% 38% 44% 44%; background:repeating-linear-gradient(90deg,transparent 0 20px,#90482255 20px 23px),radial-gradient(#ffe0a1,#b76033); box-shadow:0 0 55px #ed9d4335,inset 0 0 20px #ffecb7; display:grid; place-items:center; color:#793b26; position:relative; }
.festival-lantern:before { content:''; position:absolute; width:25px; height:18px; border:2px solid #c28e61; border-bottom:0; top:-20px; border-radius:18px 18px 0 0; }
.festival-lantern span { font-size:42px; }
.festival-passport-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:25px 0 15px; }
.festival-passport-head h4,.festival-passport-head h3 { margin:0; }
.festival-passport-head b { font:11px monospace; color:#f4c88e; white-space:nowrap; }
.festival-passport { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.festival-stamp { border:1px dashed #9b796354; padding:20px; border-radius:12px; background:#241a19; display:flex; align-items:flex-start; flex-wrap:wrap; gap:14px; }
.festival-stamp>div { flex:1; min-width:130px; }.festival-stamp h3 { font-size:18px; margin:0 0 7px; }.festival-stamp p { font-size:12px; line-height:1.5; color:#bca795; margin:0 0 10px; }.festival-stamp small { font:10px monospace; color:#c8b49a; }.festival-stamp button { width:100%; }
.stamp-icon { width:42px; height:42px; display:grid; place-items:center; border:1px solid #9b6c49; border-radius:50%; font-size:24px; color:#c99c6b; }.stamped { border-style:solid; border-color:#a6b68770; background:#71855712; }.stamped .stamp-icon { color:#d4e4b2; border:2px solid #a7bd89; transform:rotate(-12deg); }
.festival-rewards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }.festival-rewards>div { padding:18px; border-radius:10px; background:#c5854910; border:1px solid #9e70442a; }.festival-rewards b { font:10px monospace; color:#f1c38e; }.festival-rewards p { font-size:15px; }.festival-rewards small,.festival-feast small { color:#bba88e; line-height:1.6; }.festival-rewards .earned { border-color:#a7bd8970; }
.festival-feast { padding:0 22px 22px; border:1px solid #9d724744; border-radius:12px; background:#56302530; }.festival-feast p { font-size:13px; line-height:1.7; color:#c8b5a2; }.festival-progress { height:9px; border-radius:5px; background:#1e1717; overflow:hidden; }.festival-progress i { display:block; height:100%; background:linear-gradient(90deg,#b66440,#f3cf8c); }.festival-demo { border-top:1px solid #b3885733; padding-top:15px; font-size:11px!important; }.festival-footer { display:flex; gap:12px; margin:20px 0; flex-wrap:wrap; }
.gather-hud { pointer-events:auto; }.gather-buttons { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin:10px 0; }.gather-buttons button { padding:8px; font-size:9px; }.gather-hud>small { display:block; padding-top:8px; }
.excavation-panel { pointer-events:auto; margin:auto; padding:24px 30px; width:min(500px,94%); max-height:100%; overflow:auto; border:1px solid #be8758; border-radius:18px; background:linear-gradient(140deg,#38251ff5,#211a1af9); box-shadow:0 15px 80px #100b0b80; text-align:center; }.excavation-panel h2 { margin:8px 0 10px; font-size:28px; color:#ffdfb1; }.excavation-panel>p { font-size:12px; line-height:1.5; color:#cebaa4; }.excavation-status { display:flex; justify-content:space-between; font:11px monospace; color:#e5bf8d; margin:16px 0 8px; }.excavation-grid { display:grid; grid-template-columns:28px repeat(4,1fr); gap:8px; max-width:320px; margin:0 auto; }.dig-clue,.dig-corner { display:grid; place-items:center; font:14px monospace; color:#ebc89c; min-height:24px; }.dig-corner { font-size:10px; color:#a38063; }.dig-tile { aspect-ratio:1; min-height:44px; background:linear-gradient(145deg,#89523a,#54372b); border:1px solid #b37b4c; border-radius:9px; box-shadow:0 3px 0 #180f0b; color:#ebcba1; font-size:24px; transition:background .15s,transform .15s; }.dig-tile:hover:not(:disabled) { background:#a26740; transform:translateY(-2px); }.dig-tile:focus-visible { outline:3px solid #ffe0a4; outline-offset:2px; }.dig-tile:disabled { opacity:1; cursor:default; }.dig-tile.empty { background:#251e1b; border-color:#61432f; font-size:18px; color:#bea68b; box-shadow:none; }.dig-tile.fragment { background:#7b5731; color:#ffe3a5; text-shadow:0 0 15px #ffc664; border-color:#f4c981; animation:fragment-pop .3s ease-out; }.excavation-panel .dig-feedback { min-height:36px; color:#f4d5a7; margin:14px 0 8px; }.excavation-actions { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }.excavation-actions button { font-size:10px; padding:12px; }.excavation-panel>small { display:block; margin-top:12px; font-size:10px; line-height:1.5; color:#bda58d; }.excavation-summary { color:#f2cc92; }
@keyframes fragment-pop { from { transform:scale(.85); } to { transform:scale(1); } }
@media(max-width:600px) { .festival-hero { gap:18px; padding:20px; }.festival-lantern { flex-basis:58px; height:80px; }.festival-hero h3 { font-size:24px; }.festival-passport,.festival-rewards { grid-template-columns:1fr; }.festival-passport-head { align-items:flex-start; }.excavation-panel { padding:15px; }.excavation-panel h2 { font-size:23px; }.excavation-panel>p { font-size:11px; }.excavation-grid { max-width:270px; gap:6px; }.excavation-panel>small { margin-top:8px; } }
@media(prefers-reduced-motion:reduce) { .dig-tile { animation:none!important; transition:none; } }
.modal-backdrop[data-mode=festival] .modal-card { width:880px; max-width:100%; }
body[data-trip=excavate] .scene-overlay { padding:115px 12px 145px; }
body[data-trip=excavate] .page-heading { display:none; }
@media(max-width:700px) { body[data-trip=excavate] .scene-overlay { padding:105px 10px 150px; } }

body[data-trip]:not([data-trip=""]) .demo-banner { display:none; }
.excavation-panel { width:min(760px,96%); display:grid; grid-template-columns:1fr 280px; column-gap:28px; text-align:left; padding:22px 26px; }
.excavation-copy { align-self:center; }.excavation-copy p { font-size:12px; line-height:1.7; color:#cebaa4; }.excavation-copy h2 { font-size:30px; }.excavation-status { margin-top:24px; }
.excavation-grid { width:100%; max-width:280px; }.excavation-panel .dig-feedback { grid-column:1/-1; text-align:center; margin:12px 0 5px; min-height:18px; }.excavation-actions,.excavation-panel>small { grid-column:1/-1; text-align:center; }.excavation-panel>small { margin-top:8px; }
@media(max-width:700px) { .excavation-panel { display:block; width:min(370px,96%); text-align:center; padding:16px; }.excavation-copy h2 { font-size:24px; margin:7px 0; }.excavation-copy p { font-size:11px; line-height:1.45; margin:8px 0; }.excavation-status { margin:12px 0 6px; }.excavation-grid { max-width:245px; }.excavation-panel .dig-feedback { min-height:30px; margin:10px 0 5px; }.excavation-panel>small { font-size:9px; } }

/* A field journal, specimen cases and a quiet visitor book. */
.modal-backdrop[data-mode=discoveries] .modal-card,.modal-backdrop[data-mode=displays] .modal-card { width:900px; max-width:100%; }
.journal-intro { display:flex; align-items:center; gap:25px; margin:0 0 20px; }.journal-intro p { color:#c9b3a0; font-size:13px; line-height:1.7; margin:0; flex:1; }.journal-intro>b { font:11px var(--mono); color:#e7c18b; white-space:nowrap; }
.journal-tabs { display:flex; gap:8px; margin:18px 0; }.journal-tabs button { flex:1; padding:14px 12px; display:flex; align-items:center; gap:10px; background:#261b18; border:1px solid #ab825443; border-radius:6px; color:#bda48c; font-size:11px; }.journal-tabs button span { font-size:20px; }.journal-tabs small { margin-left:auto; font:10px var(--mono); }.journal-tabs .selected { background:#754c342e; border-color:#d3a76d; color:#ffddb0; }
.journal-cover { display:flex; align-items:center; gap:25px; border:1px solid #be8e5e66; border-radius:12px; background:radial-gradient(ellipse at 20% 40%,#ad734b36,transparent 70%),#281d19; padding:18px 24px; }.journal-cover.frost { border-color:#92b6b55e; background:radial-gradient(ellipse at 20% 40%,#75abb128,transparent 70%),#24201c; }.journal-cover.garden { border-color:#afbf835e; background:radial-gradient(ellipse at 20% 40%,#b4ba7524,transparent 70%),#28201b; }.journal-cover>div:last-child { flex:1; }.journal-cover h3 { font-size:29px; margin:12px 0 8px; letter-spacing:-.6px; }.journal-cover p { font-size:12px; color:#bda88f; line-height:1.7; }.journal-cover small { font:8px/1.7 var(--mono); color:#d2b58f; }
.collection-art { width:225px; flex:0 0 225px; }.collection-art svg { width:100%; display:block; }.collection-art.small { width:155px; flex-basis:155px; }.journal-dots { display:flex; gap:6px; margin:18px 0 10px; }.journal-dots i { width:38px; height:4px; border-radius:3px; background:#aa84552b; }.journal-dots .filled { background:#e6bd86; }
.journal-target { border-left:2px solid #b7c58c; padding:12px 18px; margin:22px 0; background:#98ac7910; }.journal-target>span { display:block; font:9px var(--mono); color:#b9c494; margin-bottom:8px; }.journal-target b { font-size:16px; }.journal-target p { font-size:12px; color:#bfba9b; }.journal-target button { font-size:8px; }
.discovery-cards { margin:18px 0; display:flex; flex-direction:column; gap:12px; }.discovery-card { display:flex; gap:20px; align-items:center; padding:20px; border:1px dashed #b38c6045; border-radius:10px; background:#201916; }.discovery-card.found { border-style:solid; border-color:#9da87960; background:#8d9a6410; }.discovery-specimen { flex:0 0 78px; height:85px; display:grid; place-items:center; border:1px solid #c0955e2b; background:radial-gradient(#9f774523,transparent); position:relative; border-radius:50%; }.discovery-specimen>span { font-size:39px; color:#e6c28c; }.discovery-specimen small { position:absolute; bottom:-4px; font:8px var(--mono); color:#a99278; background:#281e19; padding:3px 6px; }.discovery-card>div:last-child { flex:1; }.discovery-card .eyebrow { font-size:8px; }.discovery-card h3 { margin:7px 0; font-size:19px; }.discovery-card p { font-size:12px; line-height:1.7; color:#bfae97; margin:7px 0 12px; }.discovery-saved { font:9px var(--mono); color:#b7c490; }.discovery-card button { font-size:9px; padding:10px 12px; }
.journal-unlock { display:flex; gap:18px; align-items:center; padding:20px; border:1px solid #b38b5944; background:#9f70461a; border-radius:10px; }.journal-unlock>div { flex:1; }.journal-unlock h3 { font-size:19px; margin:8px 0; }.journal-unlock p { font-size:12px; line-height:1.6; color:#cab098; margin:0; }.journal-unlock button { font-size:9px; max-width:210px; }
.discovery-receipt { padding:17px; margin:16px 0; background:#a67d4220; border:1px solid #e1b47866; border-radius:8px; }.discovery-receipt h3 { font-size:24px; margin:8px 0; }.discovery-receipt strong { display:block; font:10px/1.7 var(--mono); color:#d4dfb1; }.discovery-receipt p { line-height:1.65; }.trip-clue { font-size:11px; color:#e9ceaa; padding:10px 0 0; }.trip-clue small { display:block; font-size:9px; color:#c6b29a; line-height:1.5; margin-top:5px; }.scene-overlay .trip-report { width:560px; max-height:calc(100dvh - 230px); overflow:auto; }.trip-report .material-strip { margin:12px 0; }.trip-report>h2 { font-size:27px; margin:9px 0; }
.home-collection-intro p { color:#c7b099; font-size:13px; line-height:1.7; }.visitor-display { padding:22px; border:1px solid #a88a6559; border-radius:12px; background:#221a17; margin:20px 0; }.visitor-display.highlighted { border-color:#e0b47c; }.visitor-display-heading { display:flex; align-items:center; gap:20px; }.visitor-display h3 { font-size:27px; margin:10px 0; }.visitor-display-heading p { font-size:12px; color:#c3ae92; }.display-stories { border-top:1px solid #a687552a; margin-top:15px; }.display-stories article { display:flex; gap:18px; padding:16px 0; border-bottom:1px solid #a687552a; }.display-stories article>span { font-size:28px; color:#dfbc86; flex:0 0 35px; text-align:center; }.display-stories h4 { margin:3px 0 8px; font-size:15px; }.display-stories p { margin:0; font-size:12px; color:#c2ad95; line-height:1.75; }.visitor-display>button { margin-top:16px; }.display-empty { text-align:center; padding:25px; background:#b4884e0c; border:1px dashed #aa825b4d; border-radius:10px; }.display-empty>span { font-size:40px; color:#d4b381; }.display-empty h3 { font-size:23px; }.display-empty p { color:#bda58e; font-size:13px; line-height:1.7; }
.visitor-book { padding:0 0 20px; }.visitor-book .festival-passport-head>span { font:10px var(--mono); color:#c8b08b; }.reaction-options { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.reaction { display:flex; flex-direction:column; gap:10px; align-items:center; padding:18px 10px; border:1px solid #a9825755; border-radius:10px; background:#ad795510; color:#d2b28d; }.reaction>span { font-size:27px; }.reaction>b { font-size:12px; font-weight:500; }.reaction small { font:9px var(--mono); color:#bca38b; }.reaction:hover:not(:disabled),.reaction.chosen { border-color:#dcad74; background:#c38e492a; }.reaction:disabled { opacity:1; cursor:default; }.reaction.chosen { color:#ffdeb0; }.visitor-notes { margin-top:20px; }.visitor-notes p { display:flex; align-items:center; gap:12px; font-size:11px; padding:12px 0; margin:0; border-bottom:1px solid #a37f5326; }.visitor-notes p>span:first-child { font-size:20px; color:#d6bb90; }.visitor-notes b { font-weight:500; color:#e5c8a3; }.visitor-notes p>span:last-child { margin-left:auto; color:#c0a78a; }.visitor-quiet { color:#b2987e; font-size:12px; font-style:italic; }
@media(max-width:700px) { .journal-intro { display:block; }.journal-intro>b { display:block; margin-top:12px; }.journal-tabs { gap:5px; }.journal-tabs button { flex-direction:column; gap:6px; padding:12px 5px; font-size:9px; }.journal-tabs small { margin:0; }.journal-cover { flex-direction:column; gap:2px; padding:16px; text-align:center; }.collection-art { width:170px; flex-basis:auto; }.journal-cover h3 { font-size:25px; }.journal-dots { justify-content:center; }.discovery-card { padding:15px; gap:12px; align-items:flex-start; }.discovery-specimen { flex-basis:44px; height:56px; }.discovery-specimen>span { font-size:28px; }.discovery-card h3 { font-size:17px; }.journal-unlock { flex-direction:column; align-items:flex-start; }.journal-unlock button { max-width:100%; }.visitor-display { padding:16px; }.visitor-display-heading { flex-direction:column; gap:0; align-items:flex-start; }.collection-art.small { flex-basis:auto; width:145px; align-self:center; }.visitor-display h3 { font-size:23px; }.reaction-options { gap:6px; }.reaction { padding:14px 5px; }.reaction>b { font-size:10px; }.reaction small { font-size:7px; }.visitor-notes p { flex-wrap:wrap; }.visitor-notes p>span:last-child { margin-left:0; }.scene-overlay .trip-report { transform:none; max-height:calc(100dvh - 255px); padding:18px; }.trip-report .discovery-receipt h3 { font-size:21px; }.trip-report .discovery-receipt { padding:12px; } }

.scene-overlay .trip-report { max-height:calc(100dvh - 280px); transform:translateY(-20px); }
@media(max-width:700px) { body[data-trip=result] .page-heading { display:none; }.scene-overlay .trip-report { max-height:calc(100dvh - 275px); transform:translateY(-30px); } }

/* A little companion workshop, with earned styles instead of a shop. */
.buddy-hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:20px 0 24px}.buddy-stage{position:relative;padding:22px 12px 18px;text-align:center;border:1px solid #b8754940;border-radius:18px;background:radial-gradient(ellipse at 50% 60%,#a45b3e60,transparent 70%),#281b19;overflow:hidden}.buddy-art{width:100%;max-width:330px;display:block;margin:auto;filter:drop-shadow(0 8px 18px #160a0955)}.buddy-status{font:8px monospace;letter-spacing:1px;color:#d5b08e}.buddy-intro h3{font:32px Georgia,serif;margin:10px 0}.buddy-intro p,.buddy-foot{font-size:13px;line-height:1.7;color:#c5ab98}.buddy-name{display:flex;gap:10px;align-items:end;margin:20px 0 28px}.buddy-name label{flex:1;font:9px monospace;letter-spacing:1px}.buddy-name input{display:block;width:100%;margin-top:9px}.buddy-name button{min-height:42px}.buddy-wardrobe{display:grid;grid-template-columns:1fr 1fr;gap:22px}.buddy-wardrobe h3{font:20px Georgia,serif;margin:0 0 15px}.buddy-choices{display:grid;gap:9px}.buddy-choice{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px!important;min-height:72px;border:1px solid #98735945;background:#2c211e;border-radius:10px}.buddy-choice>span:nth-child(2){flex:1}.buddy-choice b{display:block;font-size:12px}.buddy-choice small{display:block;font:9px/1.6 monospace;color:#cbb098;margin-top:5px}.buddy-choice.selected{border-color:#e5b778;background:#69422c50}.buddy-choice:disabled{opacity:.65}.buddy-swatch{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;font-size:23px;border-radius:50%;background:var(--paint,#574134);box-shadow:inset 0 0 0 3px #fff2ce22}.buddy-foot{padding-top:20px;border-top:1px solid #a9795230;margin-top:24px}.buddy-reply{min-height:44px;margin-bottom:0}.buddy-bob{animation:buddy-bob 3s ease-in-out infinite}.buddy-eyes{animation:buddy-blink 4.6s infinite;transform-origin:160px 76px}@keyframes buddy-bob{50%{transform:translateY(-4px)}}@keyframes buddy-blink{0%,95%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}
@media(max-width:600px){.buddy-hero{grid-template-columns:1fr;gap:16px}.buddy-art{max-width:240px}.buddy-intro h3{font-size:27px}.buddy-name{flex-wrap:wrap}.buddy-name label{flex-basis:100%}.buddy-name button{flex:1}.buddy-wardrobe{grid-template-columns:1fr}.buddy-stage{padding:15px 8px}.buddy-reply{min-height:22px}}
@media(prefers-reduced-motion:reduce){.buddy-bob,.buddy-eyes{animation:none}}
.modal-backdrop[data-mode="companion"] .modal-card{width:min(820px,94vw)}.buddy-name label{min-width:0}.buddy-name input{box-sizing:border-box;min-height:42px;padding:10px 12px;border:1px solid #ad805d66;border-radius:6px;background:#251a17;color:#f4dfc4;font-size:14px;font-family:inherit}.buddy-name input:focus{outline:2px solid #e0b67a;outline-offset:2px}

/* First chapter and quiet, factual return briefings. */
.modal-backdrop[data-mode="introduction"] .modal-card,.modal-backdrop[data-mode="arrival"] .modal-card{width:min(800px,94vw)}.arrival-hero{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:24px;padding:18px 0}.arrival-buddy{border-radius:20px;background:radial-gradient(ellipse,#a35d3a55,transparent 70%)}.arrival-hero h3{font:30px/1.15 Georgia,serif;margin:12px 0}.arrival-hero p,.arrival-step p,.arrival-news p,.arrival-next p,.arrival-break p{font-size:13px;line-height:1.65;color:#cfb6a2}.arrival-note{font:11px/1.7 monospace;color:#bc9e89;padding:12px 0}.arrival-steps{display:grid;gap:10px}.arrival-step{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #a67a5340;border-radius:10px;background:#261b1855}.arrival-step.current{border-color:#d8a46588;background:#6b442a28}.arrival-step.done{opacity:.65}.arrival-step>div{flex:1}.arrival-step h3{font-size:14px;margin:0}.arrival-step p{margin:7px 0}.arrival-step small{font:9px monospace;color:#cda77c}.arrival-number{font:16px monospace;color:#dfb680}.arrival-step.done .arrival-number{color:#b7d29c}.arrival-step button{max-width:160px;font-size:9px}.arrival-footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.arrival-footer small{font-size:11px;color:#baa08c}.arrival-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.arrival-stats article{border:1px solid #ac7b4e55;background:#8a57341c;border-radius:10px;padding:18px;text-align:center}.arrival-stats b{display:block;font:32px Georgia,serif;color:#edc897}.arrival-stats span{display:block;font:9px monospace;letter-spacing:1px;margin:12px 0 6px}.arrival-stats small{font-size:10px;color:#bd9c83}.arrival-news{padding:18px 0;border-bottom:1px solid #a67a5340}.arrival-next{padding:22px;background:#96614120;border:1px solid #b7865155;border-radius:10px;margin-top:20px}.arrival-next h3{font:23px Georgia,serif;margin:10px 0}.arrival-break{text-align:center}.arrival-break .buddy-art{max-width:230px}.arrival-success{color:#c7dfa5!important}.tutorial-target{outline:2px solid #f1c78a!important;outline-offset:4px;box-shadow:0 0 22px #efa75840!important}.mission-cue.first-chapter{border-left-color:#d8c28b}.mission-cue.first-chapter .eyebrow{color:#f2cd91}
@media(max-width:600px){.arrival-hero{grid-template-columns:95px 1fr;gap:12px}.arrival-hero h3{font-size:24px}.arrival-hero button{font-size:10px}.arrival-step{flex-wrap:wrap;gap:10px;padding:14px}.arrival-step>div{min-width:180px}.arrival-step button{margin-left:26px;max-width:none}.arrival-stats{gap:6px}.arrival-stats article{padding:14px 6px}.arrival-stats span{font-size:8px}.arrival-stats b{font-size:27px}#arrivalButton{font-size:8px;padding:7px}.arrival-footer button{flex:1}.arrival-footer small{flex-basis:100%}}
.community-people{display:grid;gap:10px}.community-people article{padding:14px;border:1px solid #9f765244;border-radius:8px}.community-people article>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.community-people button{font-size:9px}.community-people button[aria-pressed="true"]{border-color:#dbad7a;background:#6c493e}#reportText,#homeInvite{display:block;box-sizing:border-box;width:100%;margin:12px 0 18px;padding:12px;border:1px solid #b7825a66;background:#221815;color:#f1d8ba;border-radius:7px;font-size:14px;font-family:inherit;line-height:1.6}#reportText{resize:vertical;min-height:130px}#reportText:focus,#homeInvite:focus{outline:2px solid #e5bd87}

.connection-banner{padding:14px 18px;margin:0 0 14px;border:1px solid #b97956;border-radius:8px;background:#422b24;color:#f5d4b5;line-height:1.5}
@media(max-width:600px){.header-right{gap:6px;flex-wrap:wrap;justify-content:flex-end}.masthead{min-height:76px;height:auto;align-items:center;padding:10px 14px}.header-right #arrivalButton{font-size:9px;padding:8px}.header-right .credit{font-size:13px}.arrival-step{grid-template-columns:30px minmax(0,1fr)}.arrival-step>button{grid-column:2;justify-self:start}.arrival-footer>button{white-space:normal;min-height:42px}.community-people article{align-items:flex-start;gap:10px;flex-wrap:wrap}}
