@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans.ttf) format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-bold.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope.ttf) format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/manrope-bold.ttf) format("truetype")}:root{font-family:DM Sans,sans-serif;color:#26362b;background:#f4f4ed;font-synthesis:none;--ink:#26362b;--muted:#7a8377;--line:#dce1d4;--lime:#d6f78a;--nature:#91b870}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #819956;outline-offset:4px}button{border:0;background:none}svg{width:21px;height:21px;flex:none}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;outline:none;touch-action:none;z-index:0}#world.creator-canvas{left:41%;width:59%;height:calc(100% - 76px);top:76px}#app{position:relative;z-index:1;pointer-events:none}#app button,#app a,#app input,#app dialog,#app form,#app .joystick{pointer-events:auto}.topbar{height:91px;padding:0 4.4%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1.5px}.brand-mark{width:36px;height:36px;border-radius:12px;background:var(--lime);display:grid;place-items:center}.brand-mark svg{width:26px;height:26px}.alpha{font:500 9px DM Sans,sans-serif;letter-spacing:1.7px;margin:5px 0 0 9px;border:1px solid #ced6c5;border-radius:4px;padding:5px 6px}.top-actions{display:flex;align-items:center;gap:22px}.text-button{font-size:12px;display:flex;align-items:center;gap:8px}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:50%;position:relative}.icon-button:hover,.text-button:hover{background:#dfe5d54d}.off-dot{position:absolute;right:6px;bottom:7px;width:6px;height:6px;background:#99a28e;border:2px solid #f4f4ed;border-radius:50%}#sound-button[aria-pressed=true] .off-dot{background:#78a342}.creator{min-height:calc(100svh - 91px);position:relative}.creator-panel{position:relative;width:41%;padding:36px 2% 95px 10.7%;z-index:3;pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;display:flex;align-items:center;gap:10px}.tiny-line{width:22px;height:1px;background:#718459}h1{font-family:Manrope,sans-serif;font-size:clamp(38px,3.8vw,62px);letter-spacing:-3px;line-height:1.12;margin:23px 0 17px;font-weight:500}h1 em{font-family:Georgia,serif;font-weight:400;color:#768d53;letter-spacing:-2px}.intro{font-size:13px;line-height:1.8;color:#7b8377;margin:0 0 30px}.field-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;margin-bottom:10px}.field-heading>span:last-child:not(:first-child){font-size:8px;color:#9ba38f;letter-spacing:1.1px;font-weight:400}#avatar-name{border:1px solid #d6ddcd;background:#fafbf780;border-radius:8px;height:43px;width:100%;padding:0 14px;font-size:13px;color:var(--ink);margin-bottom:22px}.nature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.nature{border:1px solid #dbe0d2;border-radius:9px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11px;position:relative;background:#f7f8f14d;transition:.2s}.nature:hover{transform:translateY(-2px);background:var(--swatch)}.nature.selected{border:1.5px solid #687e4c;background:var(--swatch)}.nature-glyph{font-size:29px;line-height:1;color:var(--ink)}.selected-dot{display:none;position:absolute;width:5px;height:5px;background:#53683e;border-radius:50%;top:7px;right:7px}.selected .selected-dot{display:block}.style-description{font-size:10px;line-height:1.65;color:#7b8377;min-height:33px;margin:10px 0 15px}.detail-row{display:flex;justify-content:space-between;gap:16px}.field-heading.compact{font-size:10px;margin-bottom:11px}.swatches{display:flex;gap:7px;align-items:center}.swatch{width:18px;height:18px;background:var(--color);border-radius:50%;padding:0;position:relative}.swatch[aria-pressed=true]:after{content:"";position:absolute;inset:-4px;border:1px solid #718459;border-radius:50%}.custom-color{width:22px;height:22px;position:relative;border:1px dashed #a4ae97;border-radius:50%;display:grid;place-items:center;font-size:14px;overflow:hidden;pointer-events:auto;cursor:pointer}.custom-color input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.accessories{display:flex;gap:6px}.accessories button{width:29px;height:27px;border:1px solid #d4dcc9;border-radius:5px;font-size:20px;line-height:1}.accessories button[aria-pressed=true]{background:#e2eacb;border-color:#87976d}.enter-button{width:100%;background:var(--ink);color:#f4f7e9;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:16px 19px;margin-top:27px;font-size:12px;transition:.2s}.enter-button:hover{background:#415337;transform:translateY(-1px)}.enter-button svg{width:18px}.entry-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:8px;color:#8a927e;margin-top:12px}.status-dot{display:inline-block;width:6px;height:6px;background:#7f9e51;border-radius:50%;flex:none}.preview-label{position:absolute;top:48px;left:49%;right:8%;display:flex;align-items:center;justify-content:space-between;color:#8f9983}.preview-label .eyebrow{font-size:9px;letter-spacing:2px}.preview-index{font-size:9px;letter-spacing:1.2px}.preview-caption{position:absolute;left:41%;width:59%;bottom:105px;text-align:center}.preview-pill{display:inline-block;font-size:9px;letter-spacing:1.8px;padding:7px 12px;border-radius:30px;background:#d6edb8}.preview-caption h2{font-family:Manrope,sans-serif;font-size:27px;font-weight:500;letter-spacing:-1px;margin:13px 0 6px}.preview-caption p{font-size:11px;color:#8a947e;margin:0}.preview-footnote{position:absolute;bottom:56px;left:41%;width:59%;display:flex;justify-content:center;align-items:center;gap:8px;font-size:9px;color:#939c87}.orbit-dot{width:9px;height:9px;border-radius:50%;border:1px solid #a7b591;position:relative}.orbit-dot:after{content:"";width:3px;height:3px;position:absolute;left:2px;top:2px;background:#87966c;border-radius:50%}.creator-footer{position:absolute;left:4.4%;right:4.4%;bottom:17px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#9aa28d}.location-chip{position:fixed;top:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:11px;padding:11px 18px;border:1px solid #e0e5d7;background:#fafbf6dd;backdrop-filter:blur(12px);border-radius:10px}.location-chip strong{display:block;font-size:12px;font-weight:550}.location-chip div>span{display:block;font-size:9px;color:#8a947c;margin-top:4px}.presence-card{position:fixed;left:32px;top:123px;width:212px;padding:21px;background:#fafbf6e8;border:1px solid #e0e5d7;border-radius:13px;backdrop-filter:blur(12px)}.card-eyebrow{font-size:8px;letter-spacing:1.8px;display:flex;justify-content:space-between;align-items:center}.card-eyebrow>span{color:var(--nature);font-size:23px;line-height:1}.presence-card h2{font-family:Manrope,sans-serif;font-size:25px;font-weight:500;letter-spacing:-1px;margin:14px 0 4px;overflow:hidden;text-overflow:ellipsis}.presence-card p{font-size:10px;color:#8a927e;margin:0 0 21px}.presence-meter{height:4px;background:#e4e9da;border-radius:5px;overflow:hidden}.presence-meter span{display:block;height:100%;width:0;background:var(--nature);transition:width .5s}.meter-label{display:flex;justify-content:space-between;gap:4px;font-size:8px;color:#8a927e;margin-top:8px}.stats-row{display:flex;gap:24px;margin:23px 0}.stats-row strong{display:block;font-size:21px;font-weight:450}.stats-row span{display:block;font-size:8px;color:#8a927e;margin-top:4px}.edit-button{border-top:1px solid #e2e7d9;width:100%;padding:13px 0 0;display:flex;align-items:center;justify-content:space-between;font-size:10px}.edit-button svg{width:15px;height:15px}.world-hint{position:fixed;left:50%;bottom:170px;transform:translate(-50%);display:flex;align-items:center;gap:13px;background:#fafbf6d9;border:1px solid #dfe5d6;border-radius:12px;padding:12px 12px 12px 16px;backdrop-filter:blur(10px)}.hint-spark{color:#839b60;font-size:26px}.world-hint strong{display:block;font-size:11px;font-weight:500}.world-hint div>span{display:block;font-size:10px;margin-top:4px;color:#939a88}.world-hint .icon-button{width:24px;height:24px}.world-hint svg{width:14px;height:14px}.tool-dock{position:fixed;bottom:61px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;background:#fafbf6f0;border:1px solid #d8e0cf;box-shadow:0 12px 35px #4350310c;padding:7px;border-radius:14px;backdrop-filter:blur(12px);pointer-events:auto}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:5px;min-width:67px;height:63px;border-radius:9px;font-size:9px}.tool svg{width:23px;height:23px}.tool:hover{background:#eaf0df}.tool.active{background:#dcebbf}.tool kbd{position:absolute;right:5px;top:4px;font-size:7px;color:#8c997b;background:none;padding:0}.undo-tool{min-width:36px}.undo-tool svg{width:18px}.dock-divider{height:30px;width:1px;background:#dfe5d7;margin:0 3px}.controls-caption{position:fixed;bottom:29px;left:50%;transform:translate(-50%);font-size:9px;color:#8d9680;white-space:nowrap}.controls-caption>span{margin:0 7px}kbd{font-family:inherit;font-size:8px;background:#e9eddf;border-radius:3px;padding:3px 5px;color:#6a795d}.world-footer{position:fixed;bottom:25px;left:32px;display:flex;flex-direction:column;gap:7px;color:#8f9b80;font-size:8px;letter-spacing:1.5px}#coordinates{font-size:11px;letter-spacing:1px}.minimap{position:fixed;bottom:65px;right:35px;width:145px;height:145px;background:#fafbf6dd;border:1px solid #dce3d3;border-radius:50%;padding:5px;backdrop-filter:blur(10px)}#map{width:100%;height:100%}.map-north{position:absolute;top:-10px;left:calc(50% - 5px);font-size:8px;color:#81916e}.map-caption{position:absolute;left:0;right:0;bottom:-25px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.9px;white-space:nowrap;color:#8b977d}.toast{position:fixed;top:98px;left:50%;transform:translate(-50%,-10px);background:#29392def;color:#f4f7e9;border-radius:9px;padding:13px 18px;font-size:11px;max-width:min(460px,85vw);text-align:center;opacity:0;transition:opacity .3s,transform .3s;z-index:20}.toast.visible{opacity:1;transform:translate(-50%)}dialog{border:1px solid #d5ddc9;border-radius:18px;background:#f7f8f0;color:var(--ink);padding:40px;width:min(550px,90vw);max-height:90svh;box-shadow:0 30px 100px #23361b30}dialog::backdrop{background:#26392e55;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:14px;top:14px}dialog h2{font-family:Manrope,sans-serif;font-size:35px;line-height:1.15;font-weight:500;letter-spacing:-1.7px;margin:22px 0 15px}dialog p{color:#879178;font-size:12px;line-height:1.7}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.help-grid>div>span{font-size:10px;color:#93aa6a}.help-grid h3{font-size:13px;font-weight:500;margin:6px 0}.help-grid p{font-size:11px;margin:0}.help-controls{border-top:1px solid #dce3d1;padding-top:18px;margin-top:24px}.joystick{display:none;position:fixed;left:25px;bottom:155px;width:110px;height:110px;background:#f6f9ee70;border:1px solid #b9c6a770;border-radius:50%;touch-action:none;align-items:center;justify-content:center}.joystick span{display:block;width:44px;height:44px;background:#a1b68866;border:1px solid #90a87680;border-radius:50%}.error-panel{padding:10vw;pointer-events:auto}.error-panel button{background:var(--lime);padding:15px;border-radius:8px}@media(min-width:1500px){.creator-panel{padding-top:70px;max-width:660px}.intro{margin-bottom:36px}#avatar-name{height:49px}.nature{height:90px}.style-description{font-size:11px}.enter-button{margin-top:34px}.preview-caption{bottom:140px}}@media(max-height:800px)and (min-width:901px){.topbar{height:72px}.creator{min-height:calc(100svh - 72px)}.creator-panel{padding-top:15px;padding-bottom:60px}h1{font-size:45px;margin-top:15px}.intro{margin-bottom:20px}.nature{height:68px}.style-description{margin-bottom:10px}.enter-button{margin-top:20px;padding:13px 17px}.preview-caption{bottom:85px}.preview-footnote{bottom:45px}.preview-label{top:27px}#world.creator-canvas{top:72px;height:calc(100% - 72px)}}@media(max-width:1100px){.creator-panel{padding-left:7%;width:44%;padding-right:2%}#world.creator-canvas,.preview-caption,.preview-footnote{left:44%;width:56%}.swatches{gap:6px}.swatch{width:15px;height:15px}.detail-row{gap:10px}.alpha{display:none}.presence-card{left:20px;width:185px;padding:17px}.minimap{right:22px;width:115px;height:115px}.tool{min-width:59px}}@media(max-width:700px){.topbar{height:74px;padding:0 22px}.brand{font-size:24px}.top-actions{gap:8px}.text-button span{display:none}.creator{min-height:0;padding-bottom:60px}.creator-panel{width:100%;padding:365px 25px 30px;background:linear-gradient(transparent 340px,#f4f4ed 365px);pointer-events:none}.creator-panel>*,.creator-panel form{pointer-events:auto}.creator-panel>.eyebrow{display:none}h1{font-size:33px;letter-spacing:-1.8px;line-height:1.14;margin:0 0 10px}h1 br{display:none}.intro{font-size:12px;line-height:1.65;margin-bottom:22px}.desktop-break{display:none}#world.creator-canvas{top:74px;left:0;width:100%;height:345px;position:absolute}.preview-label{left:25px;right:25px;top:5px}.preview-label .eyebrow,.preview-index{font-size:7px}.preview-caption{left:0;width:100%;top:263px;bottom:auto}.preview-caption h2{font-size:20px;margin:6px 0}.preview-caption p{font-size:10px}.preview-pill{font-size:8px;padding:5px 9px}.preview-footnote{display:none}.creator-footer{position:relative;left:25px;right:auto;bottom:auto;font-size:7px;display:block;line-height:1.8}.creator-footer span:last-child{display:none}.nature{height:77px}.style-description{font-size:11px;min-height:0;margin:11px 0 20px}.field-heading{font-size:12px}.field-heading.compact{font-size:11px}.swatches{gap:10px}.swatch{width:22px;height:22px}.accessories button{height:30px;width:30px}.entry-note{font-size:8px}.enter-button{font-size:13px;padding:17px}.location-chip{top:80px;max-width:95%;width:max-content;padding:9px 14px}.location-chip strong{font-size:11px}.location-chip div>span{font-size:8px}.presence-card{top:145px;left:15px;width:165px;padding:13px}.presence-card h2{font-size:20px;margin-top:8px}.presence-card p{font-size:8px;margin-bottom:12px}.card-eyebrow{font-size:7px}.stats-row{display:none}.edit-button{margin-top:13px;padding-top:9px;font-size:9px}.meter-label{font-size:7px}.world-hint{bottom:158px;max-width:92%;width:max-content;padding:10px;gap:7px}.world-hint strong{font-size:9px}.world-hint div>span{font-size:8px}.hint-spark{font-size:21px}.minimap{bottom:auto;top:155px;right:15px;width:80px;height:80px}.map-caption{font-size:6px;bottom:-20px;letter-spacing:0}.map-caption span{display:none}.tool-dock{bottom:50px;padding:5px;gap:2px}.tool{min-width:53px;height:57px;font-size:8px}.tool kbd{display:none}.undo-tool{min-width:30px}.dock-divider{margin:0 1px}.controls-caption{font-size:8px;bottom:22px}.controls-caption kbd{font-size:7px}.world-footer{display:none}.toast{top:120px;font-size:10px;max-width:90vw;width:max-content}.joystick{bottom:210px;left:20px;width:90px;height:90px}.joystick span{width:36px;height:36px}.help-grid{gap:14px}dialog{padding:30px 24px}dialog h2{font-size:30px}}@media(pointer:coarse){.joystick{display:flex}.controls-caption{font-size:0}.controls-caption:after{content:"Use the pad to move · drag to look · tap to place";font-size:9px}.controls-caption>*{display:none}}@media(max-width:700px){.creator-footer{left:0;margin:0 25px;width:calc(100% - 50px)}}#render-loading{position:absolute;top:42%;left:70%;transform:translate(-50%,-50%);font-size:11px;letter-spacing:1px;background:#f4f6e9e8;padding:12px 18px;border:1px solid #dce3d1;border-radius:30px;color:#718459}@media(max-width:700px){#render-loading{top:150px;left:50%;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
