:root{--ink:#102b2a;--navy:#0d242b;--cream:#fff0d0;--muted:#acbfad;--gold:#e7b65e;--gold-light:#f5d48e;--line:#ffffff25}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--navy);color:var(--cream);font:14px Avenir Next,Avenir,Trebuchet MS,sans-serif}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}button{color:inherit}button:disabled{cursor:wait}.world-shell{background:var(--navy);width:100%;height:100svh;position:relative}.world-shell:fullscreen{width:100vw;height:100vh}.entry-screen{isolation:isolate;background:url(/art/meadow-living-v1.png) 50%/cover no-repeat;height:100%;position:relative;overflow:auto}.entry-shade{z-index:-1;background:linear-gradient(90deg,#05191ff5 0%,#061d1fd9 23%,#071f1f5c 55%,#061c1c0a 78%),linear-gradient(#0000 70%,#05171ccc);position:absolute;inset:0}.entry-header{justify-content:space-between;align-items:center;gap:20px;padding:34px 48px;display:flex;position:relative}.small-brand{letter-spacing:3px;color:var(--cream);align-items:center;gap:12px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.small-brand span{color:var(--gold);font-size:24px}.study-tag{letter-spacing:1.8px;background:#102d2b9c;border:1px solid #c5dab22b;align-items:center;gap:8px;padding:10px 13px;font-size:9px;display:flex}.study-tag i,.status-dot{background:#b9cc86;border-radius:50%;width:5px;height:5px;display:inline-block}.entry-content{width:640px;max-width:95%;padding:clamp(20px,5vh,80px) 0 110px 8vw}.overline{letter-spacing:2.3px;color:#c8d6b1;font-size:9px;font-weight:600}.welcome-line{letter-spacing:2.1px;font-size:9px}.entry-content h1{letter-spacing:-5px;color:#fff0d5;text-shadow:0 3px #052026;margin:22px 0 23px;font-family:Georgia,Times New Roman,serif;font-size:clamp(64px,6.4vw,104px);font-weight:700;line-height:1;position:relative}.title-leaf{color:#a4bf5d;font-size:46px;position:absolute;top:-24px;left:1px;transform:rotate(-30deg)}.entry-description{color:#d5e1d4;margin:0;font-family:Georgia,serif;font-size:24px;line-height:1.5}.ornament{color:#d5c493;align-items:center;gap:12px;width:302px;margin:29px 0;display:flex}.ornament span{background:linear-gradient(90deg,#b9cda738,#0000);flex:1;height:1px}.ornament span:first-child{background:linear-gradient(90deg,#0000,#b9cda738)}.entry-form{width:330px;max-width:100%}label{letter-spacing:.2px;font-size:13px;font-weight:600;display:block}.field-help{color:#a2b7ad;margin:7px 0 13px;font-size:11px}.name-field{background:#092628ce;border:1px solid #99b39b70;border-radius:4px;align-items:center;height:51px;display:flex;box-shadow:inset 0 2px 4px #0003}.name-field>span{color:#bdcfa6;padding-left:16px;font-size:20px}.name-field:focus-within{border-color:#ddbf7e;box-shadow:0 0 0 2px #ddbf7e20}.name-field input{color:#fff1d6;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:13px}.name-field input::placeholder{color:#809991;font-size:12px}.gold-button{color:#3e301c;background:linear-gradient(#f1cf87,#dda84f);border:1px solid #ffdd9c;border-bottom:3px solid #a77831;border-radius:4px;justify-content:space-between;align-items:center;gap:20px;min-height:48px;padding:12px 19px;font-size:13px;font-weight:700;transition:filter .15s,transform .15s;display:flex;box-shadow:0 4px 16px #05181350,inset 0 1px #fff3ca88}.gold-button:hover{filter:brightness(1.09);transform:translateY(-1px)}.gold-button span{font-size:21px;font-weight:400}.enter-button{width:100%;margin-top:13px}.entry-note{color:#9bb2a6;text-align:center;margin:14px 0;font-size:10px}.form-error{color:#ffd4b5;font-size:11px;line-height:1.5}.meadow-caption{text-shadow:0 2px 5px #07231c;pointer-events:none;max-width:260px;position:absolute;bottom:140px;right:8vw}.caption-rule{background:#f3d48b;width:38px;height:2px;margin-bottom:15px;display:block}.meadow-caption .overline{color:#ffedc3;letter-spacing:3px;font-size:11px}.meadow-caption p{color:#eff0d5;font-family:Georgia,serif;font-size:21px;font-style:italic}.entry-footer{letter-spacing:1.6px;color:#a3baad;justify-content:space-between;gap:20px;padding:27px 48px;font-size:8px;display:flex;position:relative;bottom:0;left:0;right:0}.entry-footer i{color:#d7c285;padding:0 9px;font-style:normal}.game-view,.playfield{position:absolute;inset:0}.playfield{outline:none}.playfield:focus-visible{outline-offset:-3px;outline:2px solid #e6c47b70}.playfield canvas{image-rendering:auto;width:100%;height:100%;display:block}.game-vignette{pointer-events:none;background:linear-gradient(#082a282b,#0000 18% 84%,#0b26254d);position:absolute;inset:0;box-shadow:inset 0 0 130px 20px #0d29273b}.location-hud{pointer-events:none;background:linear-gradient(90deg,#0c2b2cdc,#0c2b2c8c);border:1px solid #ccdbab30;border-radius:5px;align-items:center;gap:15px;padding:13px 25px 15px 14px;display:flex;position:absolute;top:27px;left:30px;box-shadow:0 4px 18px #06262433}.location-hud h1{letter-spacing:-.3px;margin:6px 0;font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1}.game-actions{gap:9px;display:flex;position:absolute;top:29px;right:28px}.game-actions button{background:#112f2be6;border:1px solid #d8d7a64a;border-radius:4px;height:40px;padding:0 13px;font-size:11px;box-shadow:0 3px 10px #16342430}.game-actions button:first-child{width:41px;padding:0;font-size:24px}.game-actions button:hover{background:#254638}.game-actions button span{margin-right:8px}.player-name{text-shadow:0 1px 3px #0a2819,1px 0 #0a2819,-1px 0 #0a2819;pointer-events:none;color:#fff5d8;white-space:nowrap;background:#19382b9c;border:1px solid #dbe0b445;border-radius:3px;padding:4px 9px;font-size:11px;font-weight:600;position:absolute;top:calc(50% - 84px);left:50%;transform:translate(-50%)}.name-diamond{background:#e8d28d;width:5px;height:5px;position:absolute;bottom:-4px;left:calc(50% - 3px);transform:rotate(45deg)}kbd{text-align:center;color:#f0e6c6;border:1px solid #bec9a777;border-bottom-width:2px;border-radius:3px;min-width:18px;padding:3px 4px;font-family:inherit;font-size:9px}.pause-layer{pointer-events:none;background:#09282726;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-panel{text-align:center;pointer-events:auto;background:#0e2b2af2;border:1px solid #cbbd8866;border-radius:7px;max-width:420px;margin:20px;padding:32px;box-shadow:0 15px 70px #09232088}.pause-panel h2,.meadow-menu h2{letter-spacing:-.5px;margin:14px 0;font:28px Georgia,serif}.pause-panel p{color:#becfb9;font-size:12px;line-height:1.6}.pause-panel .gold-button{width:100%;margin-top:23px}.meadow-menu{color:#f3ecd2;background:#0e2b2a;border:1px solid #d6c28f8c;border-radius:7px;width:420px;max-width:calc(100vw - 32px);padding:36px;box-shadow:0 20px 80px #06181399}.meadow-menu::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#071e247d}.close-menu{color:#c5d2bc;background:0 0;border:0;font-size:27px;position:absolute;top:10px;right:15px}.meadow-menu .overline{font-size:8px}.menu-player{color:#bacbb5;margin:0 0 28px;font-size:12px}.menu-player strong{color:#f3d497}.seed-row{border:1px solid #c1cca369;border-radius:3px;margin-top:9px;display:flex;overflow:hidden}.seed-row input{color:#eee6c9;background:#082323;border:0;flex:1;min-width:0;padding:12px;font-family:monospace;font-size:12px}.seed-row button{color:#29392a;background:#d7b96e;border:0;width:43px;font-size:23px}.fine-print,.menu-footnote{color:#a7bda9;font-size:10px;line-height:1.6}.meadow-menu .gold-button{width:100%;margin-top:24px}.quiet-button{color:#ccd6ba;background:0 0;border:1px solid #c1cca333;border-radius:4px;width:100%;margin-top:10px;padding:12px;font-size:12px}.quiet-button:hover{background:#ffffff0c}.menu-footnote{text-align:center;margin:20px 0 0;font-size:9px}.fullscreen-note{color:#d7dfc7;background:#0f2d2aec;border:1px solid #cfcd9755;border-radius:3px;align-items:center;gap:12px;max-width:90%;margin:0;padding:10px 12px;font-size:10px;display:flex;position:absolute;inset:66px 20px auto auto}.fullscreen-note button{color:#e2d49f;background:0 0;border:0;font-size:18px}@media (width<=800px){.entry-header{padding:24px}.study-tag{letter-spacing:1px;font-size:7px}.entry-content{width:510px;padding:6vh 28px 110px}.entry-content h1{letter-spacing:-4px;font-size:72px}.entry-shade{background:linear-gradient(90deg,#09242ced,#09272ca8 60%,#09272c50),linear-gradient(#0000 50%,#09242c)}.entry-footer{padding:22px 25px;font-size:7px}.entry-footer span:last-child,.meadow-caption{display:none}.location-hud{gap:9px;padding:10px 13px;top:17px;left:17px}.location-hud h1{font-size:20px}.game-actions{top:18px;right:17px}}@media (height<=740px){.entry-header{padding-top:22px;padding-bottom:15px}.entry-content{padding-top:18px}.entry-content h1{margin:16px 0;font-size:76px}.entry-description{font-size:21px}.ornament{margin:20px 0}.entry-footer{padding-bottom:18px}.entry-note{margin-top:10px}.welcome-line{font-size:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}.invite-panel{text-align:left;margin:24px 0}.invite-panel label{margin-bottom:8px;display:block}.invite-panel input{color:#fff2d2;width:100%;font:inherit;background:#173d36;border:1px solid #917647;border-radius:6px;padding:12px}.enter-button:disabled{opacity:.65;cursor:wait}.character-selector{border:0;min-width:0;margin:20px 0 16px;padding:0}.character-selector legend{color:#f1e4c8;margin-bottom:10px;font-size:13px}.character-choices{gap:10px;display:flex}.character-choice{cursor:pointer;flex:1;position:relative}.character-choice input{opacity:0;z-index:1;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.character-card{background:#0e302bc7;border:1px solid #ffffff35;border-radius:9px;flex-direction:column;align-items:center;padding:10px 8px 9px;font-size:12px;transition:border-color .15s,background .15s;display:flex;position:relative}.character-card canvas{image-rendering:auto;width:56px;height:70px}.character-choice input:checked+.character-card{background:#324632e6;border-color:#e9c37a;box-shadow:0 0 0 1px #e9c37a}.character-choice input:focus-visible+.character-card{outline-offset:4px;outline:3px solid #fff2ce}.character-choice:hover .character-card{border-color:#e9c37a}.character-check{color:#e9c37a;position:absolute;top:5px;right:8px}.character-help{color:#c0cabb;margin:9px 0 0;font-size:10px;line-height:1.5}.character-selector:disabled .character-choice{cursor:default}.copy-invite{color:#fff2d2;background:#284b3e;border:1px solid #917647;border-radius:6px;width:100%;margin-top:10px;padding:10px}@media (height<=860px){.entry-footer{position:relative}.entry-content{padding-top:12px;padding-bottom:24px}.entry-content h1{margin:10px 0;font-size:68px}.entry-description{font-size:20px}.ornament{margin:14px 0}}@media (width<=480px){.entry-content h1{letter-spacing:-3px;font-size:clamp(40px,14vw,64px)}.character-choices{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.world-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.world-name{text-shadow:0 1px 2px #081e17;white-space:nowrap;background:#17362bc9;border:1px solid #f5dfa32e;border-radius:4px;padding:4px 8px;font:600 12px Georgia,serif;position:absolute;top:0;left:0}.gather-hud{color:#ecdfbe;pointer-events:none;background:#102b2ee8;border:1px solid #d4bc7950;border-radius:12px;width:330px;padding:16px;position:absolute;bottom:78px;right:24px;box-shadow:0 8px 30px #071f2940}.inventory-heading{color:#b9c8b4;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;display:flex}.inventory-slots{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.inventory-slot{background:#071d2266;border:1px solid #d1c29528;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;height:48px;display:flex;position:relative}.item-symbol{color:#c5bba0;font-size:23px;line-height:24px}.inventory-slot.sweet-berry .item-symbol{color:#e789aa;text-shadow:4px -3px #b5517c,-4px -2px #c96b96;font-size:18px}.inventory-slot.wood .item-symbol{color:#b28d60;transform:rotate(-25deg)}.inventory-slot small{color:#bac8bb;font-size:8px}.inventory-slot b{font-size:10px;font-weight:500;position:absolute;top:2px;right:3px}@media (width<=700px){.gather-hud{width:260px;padding:10px;bottom:76px;right:12px}.inventory-slot{height:36px}}.location-hud{box-shadow:none;background:#102b2ee8;gap:12px;padding:10px 12px;top:20px;left:20px}.location-hud h1{margin:0;font-size:18px}.party-count{color:#d1ddcb;border-left:1px solid #cad5b64a;padding-left:12px;font-size:11px}.game-actions{gap:6px;top:20px;right:20px}.game-actions button{height:36px;box-shadow:none}.game-actions button:first-child{width:36px}.satchel-toggle{color:#ebd8ad;background:#102b2ef2;border:1px solid #d6c39670;border-radius:4px;justify-content:center;align-items:center;gap:12px;min-width:76px;height:44px;display:flex;position:absolute;bottom:20px;right:20px}.satchel-toggle:hover{background:#29433a}.satchel-toggle:disabled{opacity:.5}.gather-hud{pointer-events:auto;width:340px;max-width:calc(100vw - 32px);box-shadow:none;background:#112b2d;border-radius:6px;margin:0;padding:20px;position:fixed;inset:auto 20px 76px auto}.gather-hud::backdrop{background:#06171745}.inventory-heading{margin-bottom:20px;padding-right:32px}.inventory-heading h2{color:#f2dfb6;margin:0;font:24px Georgia,serif}.inventory-close{color:#d1ddcb;background:0 0;border:0;width:32px;height:32px;font-size:24px;position:absolute;top:10px;right:10px}.inventory-slot{height:54px}.inventory-slot small{font-size:9px}.inventory-slot b{font-size:11px}.inventory-footnote,.inventory-shortcut{color:#bbcbbf;margin:16px 0 0;font-size:11px}.inventory-shortcut{text-align:right}.interaction-hint{color:#f1dcad;pointer-events:none;white-space:nowrap;background:#102b2eee;border-radius:4px;padding:7px 10px;font-size:12px;position:absolute;top:calc(50% + 46px);left:50%;transform:translate(-50%)}.gather-notice{color:#f6e5b8;pointer-events:none;background:#102b2eee;border-radius:4px;padding:9px 14px;font-size:14px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.gather-notice:empty{display:none}.first-play-hint{color:#e3dfc4;white-space:nowrap;background:#102b2ef2;border:1px solid #d6c39650;border-radius:5px;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:12px 14px;font-size:12px;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.first-play-hint kbd{margin-right:4px}.first-play-hint kbd:not(:first-child){margin-left:10px}.first-play-hint button{color:#f4d38b;background:0 0;border:0;min-height:32px;text-decoration:underline}.connection-notice{color:#f0d39f;background:#102b2ef2;padding:8px 12px;font-size:12px;position:absolute;top:70px;left:20px}.controls-reference{border-top:1px solid #cad5b633;border-bottom:1px solid #cad5b633;margin:20px 0;padding:12px 0;font-size:13px}.controls-reference summary{cursor:pointer;color:#edd7a7}.controls-reference dl{color:#bfcebf;grid-template-columns:1fr auto;gap:8px;margin-bottom:0;display:grid}.controls-reference dd{color:#e8dec4;margin:0}@media (width<=700px){.gather-hud{bottom:76px;right:16px}.first-play-hint{gap:8px;font-size:10px}.first-play-hint kbd:not(:first-child){margin-left:4px}}.combat-hud{color:#f4ead5;pointer-events:none;background:#152e2ad9;border:1px solid #c8bb8640;border-radius:5px;width:190px;padding:10px 12px;position:absolute;bottom:24px;left:24px}.health-caption{justify-content:space-between;gap:12px;font-size:12px;display:flex}.combat-hud meter{width:100%;height:12px;margin-top:3px;display:block}.combat-hud meter::-webkit-meter-bar{background:#17221e;border:0}.combat-hud meter::-webkit-meter-optimum-value{background:#cf745d}.combat-hud small{margin-top:5px;font-size:11px;display:block}.slime-label{color:#ffe2ba;background:#392c29d9;border-color:#de967259}@media (width<=600px){.combat-hud{width:155px;bottom:12px;left:12px}}.moss-label{color:#d8efbb;background:#223b2eda}.moss-prompt small{color:#dedac6;margin-top:5px;font-size:11px;display:block}.companion-hud{color:#f2eddc;background:#16332ee8;border:1px solid #b6d18a50;border-radius:5px;padding:10px 12px;font-size:12px;position:absolute;bottom:24px;right:94px}.companion-hud>span{color:#c5d6b2;margin-left:12px}.companion-hud button{color:inherit;cursor:pointer;background:0 0;border:1px solid #adbf8e60;border-radius:3px;margin:7px 7px 0 0;padding:5px 9px;font-size:11px}.companion-notice{color:#f4eedc;pointer-events:none;background:#203c31e8;border-radius:4px;padding:8px 12px;font-size:13px;position:absolute;top:88px;left:50%;transform:translate(-50%)}.companion-notice:empty{display:none}@media (width<=600px){.companion-hud{bottom:80px;right:12px}.moss-prompt{max-width:270px}}.vine-prompt small{max-width:320px;margin-top:5px;font-size:11px;display:block}.forest-complete{text-align:center;pointer-events:none;background:#102822e0;border:1px solid #9bb78d66;border-radius:5px;width:min(360px,85vw);padding:18px 24px;position:absolute;top:90px;left:50%;transform:translate(-50%)}.forest-complete span{letter-spacing:.2em;color:#b9d0a3;margin-bottom:8px;font-size:10px;display:block}.forest-complete strong{color:#f4ebd7;font-family:Georgia,serif;font-size:23px}.forest-complete p{color:#d4e0cb;margin:9px 0 0;font-size:12px;line-height:1.6}.vine-label{color:#e8f1d9;border:1px solid #90b36a55}.entry-recovery{color:var(--cream,#efe8d5);margin-top:1rem;font-size:.75rem}.entry-recovery summary{cursor:pointer}.entry-recovery input{max-width:100%;margin-top:.5rem;display:block}.entry-recovery input::file-selector-button{color:#efe8d5;cursor:pointer;background:#193e36;border:1px solid #658679;border-radius:4px;padding:.5rem}.world-map{z-index:5;color:#eee9cd;width:164px;font-size:12px;position:absolute;top:76px;right:20px}.map-toggle{width:100%;color:inherit;cursor:pointer;background:#102c26ed;border:1px solid #78927c88;border-radius:7px;padding:5px;display:block;box-shadow:0 5px 20px #071e2344}.map-surface{aspect-ratio:1;border-radius:3px;display:block;position:relative;overflow:hidden}.map-surface canvas,.map-surface svg{width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.map-north{color:#fff3cd;font:700 10px Georgia;position:absolute;top:3px;left:5px}.map-caption{letter-spacing:.08em;justify-content:space-between;padding:7px 3px 2px;font-size:9px;display:flex}.travel-list{background:#102c26f5;border:1px solid #78927c66;border-radius:6px;max-height:50vh;margin-top:6px;padding:12px;overflow:auto}.travel-list p{margin:0 0 10px;font-weight:600}.travel-list>div{border-top:1px solid #78927c33;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;display:flex}.travel-list small{color:#adbfad;font-size:10px;line-height:1.5;display:block}.travel-list>small{margin-top:8px}.travel-list button{color:#fff1c9;cursor:pointer;background:#355c48;border:1px solid #8da88666;border-radius:4px;padding:5px 8px}.travel-list button:disabled{opacity:.4;cursor:default}.running-cue{color:#f1e3ab;letter-spacing:.1em;pointer-events:none;font-size:11px;position:absolute;bottom:23px;left:50%;transform:translate(-50%)}@media (width<=650px){.world-map{width:126px;top:68px;right:12px}}.crafting-panel{border-top:1px solid #ffffff26;margin-top:16px;padding-top:12px}.crafting-panel h3{margin:0 0 12px;font-family:Georgia,serif}.crafting-panel>div{justify-content:space-between;align-items:center;gap:16px;margin:12px 0;display:flex}.crafting-panel small{color:#b9ccbd;font-size:11px;line-height:1.5;display:block}.crafting-panel button{color:#f6e9c6;cursor:pointer;background:#3c5845;border:1px solid #d3b47777;border-radius:5px;flex-shrink:0;padding:9px 12px}.crafting-panel button:disabled{opacity:.45;cursor:default}.crafting-panel p{color:#eed096;font-size:12px}.combat-kit{color:#f3e3b8;background:#122e25e8;border:1px solid #b4a17655;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;max-width:320px;padding:9px 12px;font-size:12px;display:flex;position:absolute;bottom:90px;left:22px}.combat-kit>span{font-weight:700}.combat-kit button,.weapon-choices button{color:#f4e3b5;cursor:pointer;background:#385543;border:1px solid #a7946666;border-radius:4px;padding:6px 8px}.combat-kit button:disabled{opacity:.5;cursor:default}.combat-kit small{color:#b9c9bc;flex-basis:100%;font-size:10px}.combat-kit .friendly-fire-cue{color:#f5ac84}.weapon-choices{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.weapon-choices button[aria-pressed=true]{background:#5b6340;border-color:#ffcf75}.weapon-choices small{margin-top:4px;display:block}.world-rule{align-items:center;gap:8px;margin:16px 0 8px;display:flex}.world-rule input{accent-color:#dac078;width:auto;min-height:0}@media (width<=650px){.combat-kit{max-width:255px;padding:6px 8px;bottom:83px;left:12px}}
