:root{--ink:#173b34;--muted:#67776b;--paper:#fbf9f0;--gold:#e4ac51;--line:rgba(35,65,48,.13);font-family:system-ui,-apple-system,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#c4d3a5}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #dba13f;outline-offset:3px}button{transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.97)}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world{position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#f7f6eb20,transparent 25%,transparent 80%,#23433625)}header{position:fixed;top:25px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;z-index:8;pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{position:relative;background:var(--ink);color:#f4c574;border-radius:13px;width:48px;height:48px;font-size:35px;font-weight:700;display:grid;place-items:center;line-height:1}.brand-mark>span{font-size:16px;position:absolute;right:4px;top:5px}.brand strong{font-family:system-ui,sans-serif;font-size:20px;letter-spacing:-.8px;font-weight:800}.brand strong b{font-weight:500}.brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:5px;font-weight:700}.top-right{display:flex;align-items:center;gap:9px}.status{display:flex;align-items:center;gap:8px;background:#fcfaf1e8;padding:10px 15px;border:1px solid #fff9;border-radius:30px;font-size:11px;font-weight:600;box-shadow:0 4px 20px #21463008}.status i{height:6px;width:6px;border-radius:50%;background:#b69c62}.status.online i{background:#518760}.icon-btn,.avatar-btn{height:37px;width:37px;border-radius:50%;background:#fbf9efde;font-size:17px;border:1px solid #fff9}.avatar-btn{background:#f1c579;font-size:11px;font-weight:700}.entry{position:fixed;inset:0;background:linear-gradient(90deg,#f5f4e9 0%,#f5f4e9fa 22%,#f5f4e9dd 34%,#f5f4e933 55%,transparent 68%);z-index:5;pointer-events:none}.entry-copy{position:absolute;top:23%;left:7%;width:470px;pointer-events:auto}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2.2px;display:flex;align-items:center;gap:9px}.eyebrow>span{height:6px;width:6px;background:#6c8a5e;border-radius:50%}h1{font-family:system-ui,sans-serif;font-weight:700;letter-spacing:-3px;font-size:clamp(39px,4.15vw,65px);line-height:1.12;margin:22px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#62856c}.intro{font-size:14px;line-height:1.9;color:#69776b;margin:0}.entry-tags{display:flex;gap:18px;font-size:10px;font-weight:500;margin:23px 0 26px}.login-card{background:#fffdf5e8;border:1px solid #fff;border-radius:17px;padding:21px 23px;box-shadow:0 14px 45px #39583e0c;max-width:425px}.login-heading{display:flex;gap:12px;align-items:center}.tiny-mark{display:grid;place-items:center;width:35px;height:35px;background:#eceddc;border-radius:10px;font-size:24px;color:#6d8661}.login-heading h2{font-size:15px;margin:0 0 3px;font-weight:600}.login-heading p{font-size:11px;color:#879081;margin:0}form{margin-top:18px}label{display:block;font-size:10px;margin:0 0 7px;font-weight:600}.input-row{display:flex;gap:7px}.input-row input{min-width:0;flex:1}input,select{border:1px solid #dbe0d4;background:#fffef9;border-radius:8px;padding:11px 12px;font-size:12px;color:var(--ink);outline:none}input:focus{border-color:#648c74;box-shadow:0 0 0 2px #87a08722}.primary{background:var(--ink);color:#fffcf0;border-radius:9px;padding:11px 15px;white-space:nowrap;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:17px}.form-note{font-size:10px;color:#8c9589;margin:12px 0 0;line-height:1.6}.form-note.error{color:#a24735}#code-step{margin-top:12px}.preview-link{padding:12px 0 0;width:100%;margin-top:10px;border-top:1px solid var(--line);background:none;text-align:left;font-size:11px;display:flex;justify-content:space-between}.initiative{font-size:10px;color:#8d9588;margin-top:19px}.initiative strong{font-weight:500;color:#60745e}.entry-caption{position:absolute;right:6%;bottom:13%;display:flex;align-items:center;gap:12px;background:#fffdf2cf;backdrop-filter:blur(12px);border:1px solid #ffffffb0;padding:14px 18px;border-radius:12px;max-width:440px}.entry-caption strong{display:block;font-size:12px;font-weight:600}.entry-caption span:not(.caption-dot){font-size:10px;color:#7a8876;display:block;margin-top:4px}.caption-dot{width:7px;height:7px;background:#be8c42;border-radius:50%}.caption-number{margin-left:20px;white-space:nowrap;font-size:9px!important}.entry-footer{position:absolute;bottom:24px;left:7%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px;color:#7e8e78}.entry-footer button{pointer-events:auto;background:none;font-size:10px;letter-spacing:0;color:#52694f}.location-card{position:fixed;left:33px;top:112px;max-width:330px;background:#fffdf0cf;border:1px solid #fff9;backdrop-filter:blur(10px);padding:17px 21px;border-radius:13px;box-shadow:0 5px 20px #24472308}.location-card .eyebrow{font-size:7px;letter-spacing:1.6px;color:#7f8f76}.location-card h2{font-family:system-ui,sans-serif;font-size:22px;letter-spacing:-.7px;margin:7px 0 4px}.location-card p{font-size:10px;color:#7b8874;margin:0;line-height:1.6}.right-hud{position:fixed;right:32px;top:105px;width:180px;display:flex;flex-direction:column;gap:12px}.score-card{display:flex;align-items:center;text-align:left;gap:12px;background:#fffbeeeb;border-radius:12px;padding:14px 15px;box-shadow:0 5px 20px #2447230a;border:1px solid #fffd}.sun{color:#d3a046;font-size:26px}.score-card strong{font-size:23px;line-height:1;font-weight:600}.score-card small{display:block;font-size:7px;letter-spacing:1px;color:#969a80;margin-top:4px}.chevron{margin-left:auto;font-size:17px}.mini-map{padding:0;overflow:hidden;border:4px solid #fffaf0da;background:#d8dfc1;border-radius:13px;box-shadow:0 5px 20px #24472310}.mini-map canvas{display:block;width:100%}.mini-map>span{display:flex;justify-content:space-between;align-items:center;background:#fffaf0e8;font-size:8px;letter-spacing:1px;padding:8px 10px}.mini-map i{font-size:14px;font-style:normal}.dock{position:fixed;bottom:47px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#fffdf2ed;border:1px solid #fff;border-radius:19px;padding:7px;gap:3px;box-shadow:0 12px 40px #21462e28;backdrop-filter:blur(15px)}.dock button{position:relative;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:65px;height:61px;font-size:9px;border-radius:13px;gap:5px;color:#71816c}.dock button>span{font-size:23px;height:26px;line-height:26px}.dock button.active{background:#dfe7cf;color:#325c42}.dock button:hover{background:#ecefdf}.dock kbd{position:absolute;right:5px;top:5px;font-size:7px;color:#8d9983;background:none;border:0;padding:0}.dock>i{height:33px;width:1px;background:#dee3d2;margin:0 5px}kbd{font:9px system-ui,sans-serif;border:1px solid #a4af9555;background:#fff9;border-radius:3px;padding:2px 4px;color:#5d7256}.movement-hint{position:fixed;bottom:13px;left:0;right:0;text-align:center;font-size:9px;color:#45603c;text-shadow:0 1px #fff9}.movement-hint span{margin:0 12px}.journey{position:fixed;bottom:145px;left:32px;background:#fffdf1df;border:1px solid #fff9;border-radius:12px;display:flex;align-items:center;gap:13px;padding:12px 16px;max-width:380px}.journey>span{font-size:25px;color:#c9954f}.journey strong{font-size:10px;display:block}.journey small{font-size:9px;display:block;color:#86917a;margin-top:4px}#journey-dots{display:flex;gap:3px;margin-left:8px}#journey-dots i{width:4px;height:13px;background:#e3e6d7;border-radius:2px}#journey-dots i.done{background:#91a66e}.interaction{position:fixed;left:50%;top:65%;transform:translateX(-50%);background:#203f35e8;color:#fffbe9;padding:10px 17px;border-radius:10px;font-size:11px;box-shadow:0 5px 20px #0002}.chat-lines{position:fixed;left:32px;bottom:220px;max-width:340px;font-size:11px;pointer-events:none}.chat-lines>div{background:#fffcecd9;border-radius:7px;margin-top:5px;padding:8px 12px;line-height:1.5}.chat-lines b{color:#356751}#toast{position:fixed;left:50%;top:100px;transform:translate(-50%,-12px);background:#204b3ceF;color:#fff9e6;padding:13px 22px;border-radius:12px;z-index:40;font-size:12px;box-shadow:0 5px 25px #163c2f20;opacity:0;pointer-events:none;transition:.2s;max-width:85vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #fff;box-shadow:0 20px 100px #0d352c44;background:var(--paper);color:var(--ink);border-radius:22px;padding:30px;width:480px;max-width:94vw;max-height:85vh;overflow:auto}dialog::backdrop{background:#173c344a;backdrop-filter:blur(5px)}.close-panel{position:absolute;right:16px;top:13px;width:30px;height:30px;font-size:24px;background:#e9eddf;border-radius:50%;line-height:1}dialog h2{font-family:system-ui,sans-serif;font-size:26px;letter-spacing:-.8px;margin:5px 0 7px}dialog p{font-size:12px;color:#7e8976;line-height:1.8}dialog .eyebrow{color:#9a9b79;font-size:8px}dialog h3{font-size:13px;margin-top:22px}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.tile{background:#ecefdf;border:1px solid #e3e7d8;border-radius:13px;text-align:left;padding:15px}.tile .symbol{font-size:27px;display:block;margin-bottom:14px}.tile strong{display:block;font-size:13px}.tile small{display:block;font-size:10px;color:#85907c;margin-top:4px}.wide{width:100%;margin-top:12px;justify-content:center}.secondary{background:#e6ebda;color:var(--ink);padding:11px 16px;border-radius:9px;font-size:11px}.row{display:flex;align-items:center;gap:9px;margin-top:12px}.row.spread{justify-content:space-between}.person-row,.board-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.person-row .person-color{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;font-size:11px}.person-row .person-name{flex:1}.person-row button{font-size:9px;padding:6px 9px;background:#e7ecdf;border-radius:6px}.board-row .rank{font-size:13px;color:#90a178;width:20px}.board-row .name{flex:1}.board-row .points{font-weight:700}.map-large{width:100%;height:330px;background:#dbe0c7;border-radius:14px;cursor:crosshair}.landmark-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.landmark-list button{border-radius:7px;background:#edf0e4;text-align:left;font-size:10px;padding:9px}.profile-input{width:100%;margin-bottom:12px}.swatches{display:flex;gap:9px}.swatches button{height:30px;width:30px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #dce2d0}.swatches button.selected{box-shadow:0 0 0 2px #325943}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;margin:18px 0}.chess-board button{font-size:31px;padding:0;background:#f0ead7;aspect-ratio:1}.chess-board button.dark{background:#8aa184}.chess-board button.selected{background:#ddb55d}.chess-board button.target{box-shadow:inset 0 0 0 3px #d1ab51}.game-status{padding:11px;background:#e9eddc;border-radius:8px;font-size:12px!important}.snakes-board{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;margin-top:15px}.snakes-board>div{aspect-ratio:1;background:#e4ead5;display:flex;align-items:center;justify-content:center;position:relative;font-size:9px;border-radius:3px}.snakes-board .ladder{background:#c5d9b2}.snakes-board .snake{background:#efd3be}.snakes-board .piece{position:absolute;border-radius:50%;width:17px;height:17px;background:#274d3b;color:white;display:grid;place-items:center;font-size:9px}.dice{font-size:42px;text-align:center;padding:12px}.touch-controls{display:none}.controls-list{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:12px;margin-top:20px}.about-links a{color:#4c7759;font-size:11px}.loading-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff9ea;padding:25px;border-radius:15px;z-index:50}.reduced-ui header,.reduced-ui #hud>*{opacity:0;pointer-events:none}
@media(max-height:760px) and (min-width:701px){.entry-copy{top:19%;width:430px}h1{font-size:48px;margin:14px 0}.entry-tags{margin:16px 0}.login-card{padding:16px 20px}.intro{font-size:12px}.journey{bottom:140px}.login-heading p{font-size:10px}}
@media(max-width:700px){header{top:17px;left:17px;right:17px}.brand strong{font-size:16px}.brand small{font-size:6px;letter-spacing:1px}.brand-mark{width:38px;height:38px;font-size:28px}.brand{gap:9px}.top-right{gap:6px}.top-right .status{font-size:9px;padding:8px}.top-right .icon-btn{display:none}.avatar-btn{width:32px;height:32px}.entry{background:linear-gradient(180deg,transparent 0%,#f6f5e9aa 27%,#f6f5e9f7 44%,#f6f5e9 70%);overflow:auto}.entry-copy{top:33%;left:6%;width:88%;padding-bottom:70px}.entry-copy .eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:38px;letter-spacing:-2px;margin:12px 0}.intro{font-size:11px;line-height:1.7}.entry-tags{font-size:9px;gap:12px;margin:16px 0}.login-card{padding:16px;max-width:none}.initiative{margin-top:13px;font-size:9px}.entry-caption{display:none}.entry-footer{display:none}.location-card{left:15px;top:78px;padding:12px 14px;max-width:58%}.location-card h2{font-size:16px}.location-card p{display:none}.location-card .eyebrow{font-size:6px;letter-spacing:1px}.right-hud{right:15px;top:78px;width:120px}.score-card{padding:10px;gap:8px}.score-card strong{font-size:18px}.score-card small{font-size:6px}.sun{font-size:20px}.mini-map canvas{height:100px}.mini-map>span{font-size:6px}.journey{left:15px;bottom:96px;right:15px;max-width:none;padding:9px 12px;gap:8px}.journey strong{font-size:9px}.journey small{font-size:8px}.journey>span{font-size:18px}#journey-dots{margin-left:auto}.dock{bottom:17px;padding:5px;border-radius:14px;width:94%;justify-content:space-around;gap:0}.dock button{width:11%;height:52px;font-size:7px;border-radius:9px}.dock button>span{font-size:19px}.dock kbd{display:none}.dock>i{margin:0 3px}.movement-hint{display:none}.touch-controls{display:block}#joystick{position:fixed;bottom:158px;left:30px;width:95px;height:95px;border-radius:50%;background:#fff9e84d;border:1px solid #fff9;touch-action:none}#joystick span{position:absolute;left:28px;top:28px;height:38px;width:38px;border-radius:50%;background:#fff9e8a6;border:1px solid #fff9}#touch-action{position:fixed;right:30px;bottom:168px;width:56px;height:56px;border-radius:50%;background:#fff9e88c;border:1px solid #fff9;font-size:24px;touch-action:none}.interaction{top:55%;font-size:10px;width:max-content;max-width:85vw}.chat-lines{left:15px;bottom:275px;max-width:230px;font-size:9px}dialog{padding:24px}.map-large{height:260px}.chess-board button{font-size:25px}}

/* Destination finder: keyboard-accessible list mirrors the selectable map. */
.map-toolbar{display:flex;gap:10px;margin:20px 0}.map-toolbar input{flex:1;min-width:0}.map-toolbar select{max-width:40%;border:1px solid #aebdaa;border-radius:10px;padding:10px;background:#f2f0df;color:#284b40}.map-large{max-height:52vh;object-fit:contain;cursor:crosshair}.destination-results{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:34vh;overflow:auto}.destination-row{text-align:left;padding:12px;border:1px solid #c4cbb7;border-radius:10px;background:#f1efdf;color:#315448}.destination-row strong,.destination-row small{display:block}.destination-row small{font-size:11px;opacity:.75;margin-top:5px}.destination-detail:not(:empty){padding:16px;background:#e5e8d5;border-radius:12px;margin-top:12px}.destination-detail h3{margin:0}.destination-detail button{margin:5px 8px 0 0}.destination-row:focus-visible,.map-toolbar :focus-visible{outline:3px solid #a36f32;outline-offset:2px}.interaction{cursor:pointer}.map-toolbar input{padding:12px;border:1px solid #aebdaa;border-radius:10px;background:#faf8ec;color:#284b40}@media(max-width:600px){.map-toolbar{flex-direction:column}.map-toolbar select{max-width:100%;min-height:44px}.destination-results{grid-template-columns:1fr}.map-large{max-height:42vh}.destination-detail button{min-height:44px}}

#panel.map-panel{width:min(1000px,95vw);max-width:1000px}.map-panel #panel-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 22px}.map-panel .eyebrow,.map-panel h2,.map-panel #panel-content>p:first-of-type,.map-panel .map-toolbar{grid-column:1/-1}.map-panel .map-large{grid-column:1;grid-row:5/9;width:100%;height:auto;max-height:65vh}.map-panel .destination-detail,.map-panel .destination-results,.map-panel #panel-content>p[role=status]{grid-column:2}.map-panel .destination-results{grid-template-columns:1fr;max-height:44vh}.map-panel .destination-detail button{display:inline-flex}.rope-meter{height:35px;width:100%;accent-color:#a26d38}.rope-buttons{display:flex;gap:12px}.rope-buttons button{flex:1;min-height:70px}@media(max-width:700px){.map-panel #panel-content{display:block}.map-panel .map-large{height:auto;max-height:42vh}.map-panel .destination-results{max-height:34vh}}
.directory-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.directory-controls input{grid-column:1/-1}.directory-controls select{width:100%;min-width:0}.directory-results{display:grid;gap:9px;max-height:52vh;overflow:auto}.directory-row{display:block;width:100%;text-align:left;padding:14px;border:1px solid #cdd5c0;border-radius:12px;background:#edf0e0;margin:7px 0}.directory-row strong,.directory-row small{display:block}.directory-row small{font-size:11px;color:#647a64;line-height:1.6;margin-top:4px}.directory-card{background:#e9eddb;border-radius:12px;padding:16px;margin:12px 0}.directory-card button{display:inline-flex;margin-right:9px}.directory-note{padding:12px;background:#e7ead9;border-radius:10px}.facility-row{padding:12px 0;border-bottom:1px solid #d9dfcf}.facility-row strong,.facility-row small{display:block}.facility-row small{font-size:11px;color:#6b7b67;margin-top:6px}.map-zoom{display:flex;gap:8px;grid-column:1;grid-row:9;align-self:start}.map-zoom button{padding:10px 14px;border-radius:9px}.map-toolbar{flex-wrap:wrap}.map-toolbar input{min-width:200px}.map-toolbar button{padding:10px;border-radius:9px}.map-large{touch-action:none}details{margin:18px 0}details small{font-size:10px}details p{font-size:12px}@media(max-width:700px){.directory-controls{grid-template-columns:1fr}.map-zoom{margin:10px 0}.map-toolbar input{min-width:0}.map-toolbar button{min-height:44px}.directory-results{max-height:48vh}}
