:root{--soil:#0f0e0b;--soil-2:#15140f;--soil-3:#1d1a13;--bark:#2a2319;--bark-dark:#16130e;--panel:#16130ee6;--panel-solid:#18150f;--line:#d6c8a021;--line-strong:#d6c8a042;--text:#ede4cf;--text-dim:#aa9f86;--text-faint:#6f6754;--moss:#9dbb6e;--lichen:#cfd9a8;--hypha:#5fe3c8;--hypha-dim:#5fe3c829;--nutrient:#f2b45a;--rich:#ff86ae;--golden:#ffea6a;--firefly:#ffd970;--creep:#7fad62;--vein:#8fcfdc;--pulse:#5fa8ff;--sugar:#f4e3a1;--spore:#b69cff;--rose:#e8a3a8;--growth:#9fd98b;--serif:"Fraunces", Georgia, serif;--sans:"Alegreya Sans", "Gill Sans", system-ui, sans-serif;--hand:"Reenie Beanie", "Bradley Hand", cursive;--hand-scale:1.5;--radius:14px;--ease:cubic-bezier(.22, .8, .26, 1);--halo:0 1px 2px #080705e6, 0 0 14px #080705d9}*{box-sizing:border-box}html,body,#app{background:var(--soil);height:100%;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;font-size:15px;overflow:hidden}button{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}.icon{flex:none;width:18px;height:18px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.menu{--box:min(100vw, 177.78vh);--words-left:calc((100vw - var(--box)) / 2 + clamp(48px, calc(var(--box) * .085), 270px));background:#0a0908;position:fixed;inset:0}.title-floor{position:absolute;inset:0}.title{z-index:1;pointer-events:none;transition:opacity .8s var(--ease), transform 1.4s var(--ease), filter .8s var(--ease);position:absolute;inset:0}.title.leaving{opacity:0;filter:blur(4px);transform:scale(1.04)}.title-head,.title-body{left:var(--words-left);isolation:isolate;text-align:left;position:absolute}.title-head:before,.title-body:before{content:"";z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(closest-side,#0807058c,#0807054d 55%,#08070500);position:absolute}.title.ready .title-head:before,.title.ready .title-body:before{animation:fade-in 2s .2s var(--ease) forwards}.title-head{transition:top .7s var(--ease);top:27vh}.title-head:before{inset:-70% -32%}.title-body{top:calc(27vh + clamp(170px, calc(var(--box) * .17), 420px));min-width:320px;transition:top .7s var(--ease)}.title.slots-open .title-head{top:12vh}.title.slots-open .title-body{top:calc(12vh + clamp(170px, calc(var(--box) * .17), 420px))}.title-body:before{inset:-28% -40% -18%}.title-logo{font-family:var(--serif);font-weight:300;font-size:clamp(64px, calc(var(--box) * .072), 200px);letter-spacing:.06em;color:var(--text);white-space:nowrap;text-shadow:0 1px 2px #080705f2,0 0 24px #080705e6,0 0 70px #5fe3c829;margin:0;line-height:1;position:relative}.title-letter{opacity:0;animation:title-letter 1.9s var(--ease) forwards;animation-delay:calc(.35s + var(--i) * 85ms);display:inline-block}@keyframes title-letter{0%{opacity:0;filter:blur(12px);transform:translateY(.16em)}to{opacity:1;filter:blur();transform:none}}.title-i{position:relative}.title-i:after{--pulse:var(--beat,.5);content:"";width:.12em;height:.12em;box-shadow:0 0 .08em #fff, 0 0 calc(.25em + .2em * var(--pulse)) var(--hypha), 0 0 calc(.6em + .7em * var(--pulse)) rgba(95, 227, 200, calc(.4 + .3 * var(--pulse)));scale:calc(.9 + .2 * var(--pulse));animation:title-spore 1.2s 2s var(--ease) forwards;background:#d9fff5;border-radius:50%;position:absolute;top:.27em;left:50%;transform:translate(-50%)scale(0)}@keyframes title-spore{to{transform:translate(-50%)scale(1)}}.title-flourish{width:98%;height:.28em;position:absolute;bottom:-.3em;left:-2%;overflow:visible}.title-flourish path{fill:none;stroke:var(--hypha);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 3px #5fe3c8cc);animation:2.2s cubic-bezier(.45,.1,.25,1) 1.2s forwards title-draw}.title-flourish .twig{stroke-width:1.1px;opacity:.8;animation-duration:1.1s;animation-delay:2.4s}.title-flourish .node{fill:var(--nutrient);opacity:0;filter:drop-shadow(0 0 3px var(--nutrient));animation:fade-in .8s 2.6s var(--ease) forwards}@keyframes title-draw{to{stroke-dashoffset:0}}.title-tagline{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(16px, calc(var(--box) * .0135), 34px);letter-spacing:.015em;color:var(--text-dim);text-shadow:var(--halo);opacity:0;animation:title-rise 1.4s 2s var(--ease) forwards;margin:1.3em 0 0}@keyframes title-rise{0%{opacity:0;filter:blur(5px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:none}}.title-menu{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.title-line{font-family:var(--serif);font-size:clamp(21px, calc(var(--box) * .0165), 42px);color:var(--text-dim);text-shadow:var(--halo);cursor:pointer;pointer-events:auto;opacity:0;animation:title-rise 1.1s var(--ease) forwards;animation-delay:calc(2.4s + var(--i) * .11s);transition:color .5s var(--ease);background:0 0;border:none;flex-direction:column;align-items:flex-start;padding:9px 26px 13px 0;display:flex}.title-menu.back .title-line{animation-duration:.45s;animation-delay:calc(var(--i) * 60ms)}.title-line:hover:not(:disabled),.title-line:focus-visible{color:var(--text);outline:none}.title-line:disabled{color:var(--text-faint);cursor:default}.title-line small{font-family:var(--sans);letter-spacing:.08em;color:var(--text-faint);transition:color .5s var(--ease);margin-top:7px;font-size:12px}.title-line:hover:not(:disabled) small{color:var(--text-dim)}.title-word{display:inline-block;position:relative}.title-hypha{background:linear-gradient(90deg, var(--hypha), #b8fbe9 70%, #5fe3c800);transform-origin:0;opacity:0;height:1px;transition:transform .7s var(--ease), opacity .4s var(--ease);position:absolute;bottom:-7px;left:0;right:-8%;transform:scaleX(0);box-shadow:0 0 6px #5fe3c8b3}.title-bead{width:5px;height:5px;box-shadow:0 0 6px var(--nutrient);opacity:0;transition:opacity .4s var(--ease), transform .6s var(--ease), left .75s var(--ease);background:#ffd08a;border-radius:50%;margin-left:-2.5px;position:absolute;bottom:-9px;left:0;transform:scale(.3)}.title-line:hover:not(:disabled) .title-hypha,.title-line:focus-visible .title-hypha{opacity:1;transform:scaleX(1)}.title-line:hover:not(:disabled) .title-bead,.title-line:focus-visible .title-bead{opacity:1;left:100%;transform:scale(1)}.title-credits{max-width:400px;color:var(--text-dim);text-shadow:var(--halo);pointer-events:auto;animation:title-rise .6s var(--ease) both;font-size:14px;line-height:1.55}.title-credits p{margin:0 0 14px}.title-credits b{font-family:var(--serif);color:var(--text);font-size:16px;font-weight:400;display:block}.title-foot{left:var(--words-left);letter-spacing:.06em;color:var(--text-faint);opacity:0;animation:fade-in 1.2s 3.2s var(--ease) forwards;font-size:12px;position:absolute;bottom:22px}.title.settled :is(.title-letter,.title-tagline,.title-line,.title-foot,.title-flourish path,.title-flourish .node,.title-i),.title.settled :is(.title-head,.title-body,.title-i):before,.title.settled :is(.title-head,.title-body,.title-i):after{animation-duration:10ms!important;animation-delay:0s!important}@media (prefers-reduced-motion:reduce){.title :is(.title-letter,.title-tagline,.title-line,.title-foot,.title-flourish path,.title-flourish .node),.title :is(.title-head,.title-body):before,.title .title-i:after{animation-duration:10ms!important;animation-delay:0s!important}}.title:not(.ready) *,.title:not(.ready) :before,.title:not(.ready) :after{animation-play-state:paused!important}.slots{pointer-events:auto;animation:title-rise .5s var(--ease) both;flex-direction:column;align-items:flex-start;gap:18px;display:flex}.slots-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(21px, calc(var(--box,100vw) * .0165), 42px);color:var(--text);text-shadow:var(--halo);margin:0}.slots-head p{color:var(--text-dim);text-shadow:var(--halo);margin:4px 0 0;font-size:14px}.slots-row{flex-wrap:wrap;gap:14px;display:flex}.slot{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:240px;animation:title-rise .55s var(--ease) both;animation-delay:calc(var(--i) * 70ms);transition:border-color .4s var(--ease), box-shadow .4s var(--ease);background:#0d0c09eb;border:1px solid #5fe3c821;border-radius:12px;flex-direction:column;display:flex;position:relative;box-shadow:0 10px 30px #00000080}:is(.slot:has(.slot-main:hover:not(:disabled)),.slot:has(.slot-main:focus-visible)){border-color:#5fe3c873;box-shadow:0 10px 30px #00000059,0 0 26px #5fe3c81f}.slot.asking{border-color:#f2b45a80}.slot.empty{background:#0d0c09cc;border-style:dashed}.slot-main{font:inherit;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;outline:none;flex-direction:column;flex:1;gap:12px;padding:14px 14px 12px;display:flex}.slot-main:disabled{cursor:default}.slot-top{align-items:center;gap:12px;display:flex;position:relative}.slot-top .sketch{transition:filter .4s var(--ease);flex:none}.slot-main:hover:not(:disabled) .sketch,.slot-main:focus-visible .sketch{filter:brightness(1.35)}.slot-dish{background:radial-gradient(circle,#bff7ea59 0 3px,#14160e99 4px);border:1px dashed #9dbb6e47;border-radius:50%;flex:none;width:64px;height:64px}.slot-title{flex-direction:column;gap:2px;min-width:0;display:flex;position:relative}.slot-title b{font-family:var(--serif);color:var(--text);font-size:19px;font-weight:400}.slot-title span{font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;color:var(--text-dim);font-size:14px;font-style:italic;overflow:hidden}.slot.empty .slot-title b,.slot.empty .slot-title span{color:var(--text-faint)}.slot-title .slot-last{font-family:var(--sans);letter-spacing:.06em;color:var(--hypha);align-items:center;gap:6px;margin-top:2px;font-size:12px;font-style:normal;display:flex;position:absolute;top:100%}.slot-last-bead{width:5px;height:5px;box-shadow:0 0 4px var(--hypha), 0 0 9px #5fe3c899;background:#d9fff5;border-radius:50%}.slot-rows{border-top:1px solid var(--line);flex-direction:column;gap:3px;padding-top:10px;font-size:13px;display:flex}.slot-row{justify-content:space-between;gap:12px;display:flex}.slot-value{font-variant-numeric:tabular-nums;color:var(--text)}.slot-saved,.slot-hint{letter-spacing:.04em;color:var(--text-faint);margin-top:auto;font-size:12px}.slot-main:hover:not(:disabled) .slot-hint{color:var(--hypha)}.slot-foot{font-size:13px;position:absolute;bottom:8px;right:14px}.slot.asking :is(.slot-rows,.slot-saved){visibility:hidden}.slot-ask{color:var(--text);animation:slot-ask .3s var(--ease) both;background:#0e0c09f5;border-top:1px solid #f2b45a4d;border-radius:0 0 12px 12px;flex-direction:column;gap:10px;padding:14px;font-size:13px;display:flex;position:absolute;inset:auto 0 0}@keyframes slot-ask{0%{opacity:0;transform:translateY(6px)}}.slot-ask-actions{align-items:center;gap:12px;display:flex}@media (max-width:760px){.title.slots-open .title-head{top:6vh}.title.slots-open .title-body{top:calc(6vh + 96px)}.title.slots-open :is(.title-tagline,.title-foot){visibility:hidden}.slots{gap:12px;max-height:calc(100dvh - 6vh - 112px);overflow-y:auto}.slots-row{flex-flow:column;gap:10px}.slot{width:min(340px, calc(100vw - 32px - var(--words-left)))}.slot-main{gap:8px;padding:10px 12px}.slot-top .sketch,.slot-dish{width:44px;height:44px}.slot-rows{flex-flow:wrap;gap:2px 12px;padding-top:6px;font-size:12px}.slot-row{gap:5px}.slot-foot{bottom:6px}}.btn{height:34px;color:var(--text);cursor:pointer;white-space:nowrap;transition:background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);background:linear-gradient(#30281d,#1f1a13);border:1px solid #d6c8a02e;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:500;display:inline-flex;box-shadow:inset 0 1px #ffecc814,0 2px 6px #00000059}.btn:hover:not(:disabled){background:linear-gradient(#3a3022,#251f16);border-color:#cfd9a866}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{box-shadow:none;border-color:var(--line);background:0 0}.btn.primary{background:linear-gradient(#1f3a31,#15261f);border-color:#5fe3c873}.btn.warm{color:#fbe3bd;background:linear-gradient(#4a3519,#2c2012);border-color:#f2b45a73}.btn.warm:hover:not(:disabled){background:linear-gradient(#56401f,#342614);border-color:#f2b45acc;box-shadow:inset 0 1px #ffecc81a,0 0 18px #f2b45a2e}.button{--tone:var(--moss);background:color-mix(in srgb, var(--tone) 7%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 32%, transparent);font:inherit;color:var(--text-dim);white-space:nowrap;cursor:pointer;transition:box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease), opacity .3s var(--ease);border:none;border-radius:3px 14px;align-items:center;gap:8px;padding:7px 16px 7px 12px;font-size:15px;display:inline-flex;position:relative}.button:hover:not(:disabled),.button:focus-visible{color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 58%, transparent), 0 0 22px color-mix(in srgb, var(--tone) 22%, transparent)}.button:focus-visible{outline:2px solid color-mix(in srgb, var(--tone) 70%, transparent);outline-offset:3px}.button[aria-pressed=true]{color:var(--text);background:color-mix(in srgb, var(--tone) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 60%, transparent), 0 0 18px color-mix(in srgb, var(--tone) 12%, transparent)}.button.amber{--tone:var(--nutrient);color:var(--nutrient);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 34%, transparent), 0 0 18px color-mix(in srgb, var(--tone) 12%, transparent)}.button.amber:hover:not(:disabled),.button.amber:focus-visible{color:color-mix(in srgb, var(--nutrient) 70%, var(--text))}.button.amber .icon{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--nutrient) 80%, transparent))}.button-value{color:var(--text)}.button.small{border-radius:3px 12px;gap:6px;padding:3px 10px 3px 7px;font-size:13px}.button.big{padding:8px 18px 8px 12px;font-size:16px}.button.busy{opacity:.6;pointer-events:none}.button:disabled{opacity:.4;cursor:default}.text-btn{--underline:#cfd9a857;--ink:var(--lichen);font-family:var(--serif);color:var(--lichen);cursor:pointer;white-space:nowrap;transition:color .3s var(--ease), text-shadow .3s var(--ease);background:0 0;border:none;padding:4px 1px 6px;font-size:15px;position:relative}.text-btn:before,.text-btn:after{content:"";pointer-events:none;height:6px;position:absolute;bottom:0;left:-2px;right:-2px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='52' height='6'><path d='M0 3.2 C9 1.9 17 4.4 26 3 S43 2 52 3.2' fill='none' stroke='black' stroke-width='1.1'/></svg>") repeat-x;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='52' height='6'><path d='M0 3.2 C9 1.9 17 4.4 26 3 S43 2 52 3.2' fill='none' stroke='black' stroke-width='1.1'/></svg>") repeat-x}.text-btn:after{background:linear-gradient(90deg, transparent, var(--underline) 14% 86%, transparent)}.text-btn:before{z-index:1;background:linear-gradient(90deg, transparent, var(--ink) 14% 86%, transparent);filter:drop-shadow(0 0 3px color-mix(in srgb, var(--ink) 45%, transparent));clip-path:inset(0 100% 0 0);transition:clip-path .45s var(--ease)}.text-btn:hover,.text-btn:focus-visible,.text-btn[aria-pressed=true]{color:var(--text);text-shadow:0 0 14px color-mix(in srgb, var(--lichen) 30%, transparent)}.text-btn:hover:before,.text-btn:focus-visible:before,.text-btn[aria-pressed=true]:before{clip-path:inset(0)}@media (prefers-reduced-motion:reduce){.text-btn:before{transition:none}}.text-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--lichen) 60%, transparent);outline-offset:3px}.modal-back{z-index:50;-webkit-backdrop-filter:blur(8px)saturate(.7);backdrop-filter:blur(8px)saturate(.7);animation:fade-in .4s var(--ease);background:radial-gradient(90% 90% at 50% 45%,#18120c99,#070503e0);place-items:center;display:grid;position:fixed;inset:0}.modal{--vein:var(--moss);border:1px solid color-mix(in srgb, var(--vein) 20%, #d6c8a01a);border-top:2px solid var(--vein);background:var(--paper-grain), radial-gradient(95% 70% at 100% 0%, color-mix(in srgb, var(--vein) 6%, transparent), transparent 72%), radial-gradient(120% 45% at 50% 100%, color-mix(in srgb, var(--moss) 5%, transparent), transparent 75%), linear-gradient(180deg, #1f1710fa, #0f0b07fa);width:380px;animation:leaf-in .35s var(--ease);border-radius:4px 26px;padding:16px 20px 40px;font-size:14px;line-height:1.45;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffecc80d,0 24px 70px #0009}.modal h2{font-family:var(--serif);justify-content:space-between;align-items:center;margin:0 0 6px;font-size:22px;font-weight:400;display:flex}.modal-part{animation:tc-part-in .22s var(--ease) 40ms both}.modal-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:12px 0 0;font-size:11px;font-weight:700;display:block}.modal-rows{background:#0003;border-radius:8px;margin:8px 0 0;padding:8px 12px;list-style:none;box-shadow:inset 0 1px 2px #00000059}.modal-rows li+li{margin-top:2px}.slider-row{grid-template-columns:84px 1fr 34px;align-items:center;gap:12px;padding:5px 0;display:grid}.slider-label{color:var(--text);font-size:15px}.slider-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:18px;font-weight:700}.slider-row:focus-within .slider-value,.slider-row:hover .slider-value{color:var(--moss)}.modal-note{font-family:var(--serif);color:var(--text-dim);animation:tc-part-in .22s var(--ease) 80ms both;margin:12px 0 0;font-size:13px;font-style:italic;line-height:1.5}.modal-actions{border-top:1px solid var(--line);animation:tc-part-in .22s var(--ease) .12s both;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.modal>:not(.tc-ground,.tc-moss){position:relative}.modal .tc-mottle{opacity:.12}.modal .tc-grain{opacity:.09}.modal-tag-row{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.modal-tag-row .modal-tag{margin:0}.modal-switch{font:inherit;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-direction:row-reverse;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:700;display:flex}.modal-switch.on{color:var(--moss)}.modal-knob{background:#00000059;border-radius:8px;width:30px;height:16px;position:relative;box-shadow:inset 0 1px 2px #00000080}.modal-knob:after{content:"";background:var(--text-faint);width:10px;height:10px;transition:transform .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.modal-switch.on .modal-knob:after{background:var(--moss);transform:translate(14px);box-shadow:0 0 8px #9dbb6eb3}.modal-switch:focus-visible{outline:none}.modal-switch:focus-visible .modal-knob{box-shadow:0 0 0 2px #9dbb6e66}.modal-rows>li{transition:opacity .3s var(--ease)}.modal-rows.muted>li{opacity:.4}.slider-bar{display:flex;position:relative}.slider-bar .jr-hypha{flex:1}.slider-bar input[type=range]{opacity:0;cursor:pointer;appearance:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.slider-bar input[type=range]:disabled{cursor:default}.slider-bar input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:16px}.slider-bar:has(input:focus-visible){border-radius:8px;box-shadow:0 0 0 2px #9dbb6e59}.modal-back.leaving{pointer-events:none;animation:.26s ease-in forwards fade-out}.modal-back.leaving .modal{animation:.26s ease-in forwards modal-out}@keyframes modal-out{to{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes fade-out{to{opacity:0}}.world{background:var(--soil);position:absolute;inset:0;overflow:hidden}.world canvas{display:block;position:absolute;inset:0}.stage-still{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.world:after{content:"";pointer-events:none;background:radial-gradient(75% 70%,#0000 50%,#070604b3 100%);position:absolute;inset:0}.c-nutrient{color:var(--nutrient)}.c-sugar{color:var(--sugar)}.c-spore{color:var(--spore)}.c-hypha{color:var(--hypha)}.c-rose{color:var(--rose)}.c-dim{color:var(--text-dim)}.c-faint{color:var(--text-faint)}.game{background:var(--soil);animation:fade-in 1s var(--ease);position:fixed;inset:0;overflow:hidden}.purse,.corner,.colony,.grove,.dock{z-index:3;pointer-events:none;position:absolute}.purse:before,.colony:before,.grove:before,.dock:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#0807059e,#0807054d 60%,#0000);position:absolute;inset:-36px -48px}.corner>*,.colony>*,.grove>*,.dock>*{pointer-events:auto}.purse{text-shadow:var(--halo);flex-direction:column;gap:2px;display:flex;top:24px;left:28px}.purse-hero{letter-spacing:-.01em;align-items:center;gap:10px;font-size:40px;font-weight:500;line-height:1;display:flex}.purse-hero .icon{filter:drop-shadow(0 0 8px #f2b45a8c)}.purse-rate{min-height:18px;color:var(--text-dim);margin-left:37px;font-size:14px}.purse-sugar{color:var(--sugar);align-items:baseline;gap:8px;margin:4px 0 0 4px;font-size:22px;font-weight:500;display:flex}.purse-sugar .icon{filter:drop-shadow(0 0 6px #f4e3a173);align-self:center}.purse-unit{color:var(--text-dim);font-size:14px;font-weight:400}.whisper{font-family:var(--serif);color:var(--text-dim);text-shadow:var(--halo);opacity:0;animation:whisper 10s var(--ease) .6s forwards;margin:4px 0 0;font-size:16px;font-style:italic}@keyframes whisper{0%{opacity:0;filter:blur(3px);transform:translateY(-4px)}12%{opacity:1;filter:none;transform:none}78%{opacity:1}to{opacity:0}}.corner{flex-direction:column;align-items:flex-end;gap:46px;display:flex;top:22px;right:26px}.corner-tokens{gap:12px;display:flex}.corner-tokens .token-btn:after{content:attr(aria-label);z-index:1;font-family:var(--serif);white-space:nowrap;color:var(--text);text-shadow:var(--halo);opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease);font-size:13px;line-height:1.1;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px)}.corner-tokens .token-btn:hover:after,.corner-tokens .token-btn:focus-visible:after{opacity:1;transform:translate(-50%)}.corner-tokens .token-btn.has-tip:after{content:none}.corner-tokens .token-tip{z-index:1;font-family:var(--serif);white-space:nowrap;color:var(--text);text-shadow:var(--halo);opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease);font-size:13px;line-height:1.1;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px)}.corner-tokens .token-btn:hover .token-tip,.corner-tokens .token-btn:focus-visible .token-tip{opacity:1;transform:translate(-50%)}.leafcard{animation:leaf-in .35s var(--ease);background:radial-gradient(120% 90% at 15% 0,#9dbb6e14,#0000 60%),linear-gradient(#241e15f5,#15120df5);border:1px solid #d6c8a01f;border-radius:4px 22px;box-shadow:inset 0 1px #ffecc80d,0 16px 44px #0000008c}@keyframes leaf-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.leafcard h3{font-family:var(--serif);margin:0 0 10px;font-size:18px;font-weight:400}.leafcard.away{z-index:4;font-family:var(--serif);animation:away-in .9s var(--ease);align-items:center;gap:14px;padding:16px 20px;font-size:16px;display:flex;position:absolute;top:30%;left:50%;transform:translate(-50%)}@keyframes away-in{0%{opacity:0;transform:translate(-50%,-10px)}}.tracker{justify-items:stretch;width:max-content;min-width:230px;max-width:min(320px,100%);display:grid}.track-slot{animation:slot-in .6s var(--ease);transition:grid-template-rows .4s var(--ease) .3s, margin-top .4s var(--ease) .3s;grid-template-rows:1fr;margin-top:10px;display:grid}.track-slot:first-child{margin-top:0}.track-slot-inner{min-height:0;overflow:hidden}.track-slot.leaving{grid-template-rows:0fr;margin-top:0}.track-slot.leaving .track-card{opacity:0;transform:translate(18px)}@keyframes slot-in{0%{opacity:0;grid-template-rows:0fr}}.track-card{--vein:var(--hypha);text-align:right;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .95  0 0 0 0 .88  0 0 0 0 .7  0 0 0 .08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"), radial-gradient(90% 90% at 100% 0%, color-mix(in srgb, var(--vein) 9%, transparent), transparent 70%), linear-gradient(180deg, #1e19129e, #100d099e);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--vein) 38%, transparent), inset 0 0 0 1px #d6c8a012, 0 6px 18px #00000052;text-shadow:0 1px 2px #000000b3;cursor:pointer;transition:opacity .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);border-radius:3px 16px;flex-direction:column;align-items:flex-end;gap:5px;padding:12px 20px 14px 22px;display:flex;position:relative}.track-card:hover,.track-card:focus-visible{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--vein) 60%, transparent), inset 0 0 0 1px #d6c8a024, 0 6px 18px #0000005c;outline:none}.track-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--vein) 70%, var(--text-dim));font-size:10.5px;font-weight:500}.track-text{font-family:var(--serif);justify-content:flex-end;align-items:baseline;gap:9px;min-width:0;font-size:17px;line-height:1.2;display:flex}.track-count{font-family:var(--sans);color:var(--text-dim);font-size:13px}.track-check{color:var(--vein);font-size:14px}.track-vine{background:#d6c8a01f;border-radius:2px;align-self:stretch;height:2px;margin-top:3px}.track-vine>span{background:linear-gradient(90deg, color-mix(in srgb, var(--vein) 45%, var(--moss)), var(--vein));height:100%;box-shadow:0 0 6px color-mix(in srgb, var(--vein) 50%, transparent);transition:width .6s var(--ease);border-radius:2px;display:block}.track-card.done{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--vein) 70%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--vein) 30%, transparent), 0 0 20px color-mix(in srgb, var(--vein) 18%, transparent)}.track-card.news{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--vein) 60%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--vein) 22%, transparent), 0 0 18px color-mix(in srgb, var(--vein) 12%, transparent)}.track-card .button{margin-top:4px}.track-unfollow{width:20px;height:20px;color:var(--text-dim);opacity:.5;cursor:pointer;transition:opacity .2s var(--ease), color .2s var(--ease), background .2s var(--ease);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:8px;left:9px}.track-card:hover .track-unfollow,.track-card:focus-within .track-unfollow{opacity:.8}.track-unfollow:hover,.track-unfollow:focus-visible{opacity:1;color:var(--text);background:#d6c8a01a;outline:none}.purse-hint{max-width:290px;font-family:var(--serif);text-align:left;color:color-mix(in srgb, var(--lichen) 80%, var(--text-dim));text-shadow:var(--halo);cursor:pointer;animation:hint-in 1s var(--ease);background:0 0;border:none;align-items:flex-start;gap:9px;margin-top:22px;padding:0;font-size:15px;font-style:italic;line-height:1.4;display:flex}.purse-hint .icon{color:var(--moss);filter:drop-shadow(0 0 5px #9dbb6e80);flex:none;margin-top:2px}.purse-hint:hover{color:var(--lichen)}.purse-hint.leaving{animation:hint-out 2s var(--ease) forwards}@keyframes hint-in{0%{opacity:0;filter:blur(3px)}}@keyframes hint-out{to{opacity:0;filter:blur(3px)}}.journal-line{z-index:3;text-align:center;pointer-events:none;width:min(620px,56vw);margin:0 auto;font-size:19px;position:absolute;top:34px;left:0;right:0}:root{--paper-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .85  0 0 0 0 .78  0 0 0 0 .6  0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.journal-view{z-index:30;-webkit-backdrop-filter:blur(12px)saturate(.7);backdrop-filter:blur(12px)saturate(.7);animation:journal-in .45s var(--ease);background:radial-gradient(90% 90% at 50% 45%,#14180e9e,#060604f0);position:fixed;inset:0}@keyframes journal-in{0%{opacity:0}}.journal-title{text-align:center;text-shadow:var(--halo);pointer-events:none;position:absolute;bottom:calc(100% + 26px);left:50%;transform:translate(-50%)}.journal-title h2{font-family:var(--serif);margin:0;font-size:30px;font-weight:300}.journal-title p{color:var(--text-dim);margin:2px 0 0;font-size:14px}.journal-head{position:absolute;top:22px;right:26px}.book-wrap{width:min(1260px,100% - 380px);max-height:860px;animation:book-in .55s var(--ease);margin-block:auto;display:flex;position:absolute;top:96px;bottom:36px;left:50%;transform:translate(-50%)}@keyframes book-in{0%{opacity:0;transform:translate(-50%,14px)scale(.985)}}.book-tabs{flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;top:44px;right:100%}.book-tab{--tone:var(--lichen);width:50px;height:50px;font-family:var(--serif);white-space:nowrap;color:var(--text-dim);cursor:pointer;transition:width .3s var(--ease), color .3s var(--ease), background .3s var(--ease);background:linear-gradient(90deg,#17130e,#211b13);border:none;border-radius:14px 0 0 14px;align-items:center;gap:10px;padding:0 0 0 16px;font-size:16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #d6c8a012,0 6px 14px #00000073}.book-tab .tab-name{opacity:0;transition:opacity .25s var(--ease)}.book-tab:hover,.book-tab:focus-visible{width:140px;color:var(--text)}.book-tab.on{width:156px;color:var(--text);background:linear-gradient(90deg,#211b13,#282118)}.book-tab:hover .tab-name,.book-tab:focus-visible .tab-name,.book-tab.on .tab-name{opacity:1}.book-tab:before{content:"";background:var(--tone);opacity:.45;border-radius:0 3px 3px 0;width:3px;position:absolute;top:13px;bottom:13px;left:0}.book-tab .icon{color:color-mix(in srgb, var(--tone) 65%, var(--text-faint));flex:none}.book-tab.on:before{opacity:1;box-shadow:0 0 10px var(--tone)}.book-tab.on .icon{color:var(--tone);filter:drop-shadow(0 0 5px var(--tone))}.book{filter:drop-shadow(0 30px 50px #000000b3);flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;position:relative}.book:before,.book:after{content:"";z-index:-1;background:repeating-linear-gradient(90deg,#3a3024 0 1px,#19150f 1px 3px);width:12px;position:absolute;top:6px;bottom:-6px}.book:before{border-radius:14px 0 0 14px;left:-6px}.book:after{border-radius:0 14px 14px 0;right:-6px}.page{background-image:var(--spots,none), var(--paper-grain), var(--ground,none), radial-gradient(120% 80% at 20% 0%, #9dbb6e12, transparent 60%), linear-gradient(180deg, #282118, #1b1711);background-size:100% 100%,auto,100% 100%,auto,auto;flex-direction:column;min-height:0;padding:40px 48px 34px;display:flex;position:relative;overflow:hidden}.page.l{border-radius:14px 2px 2px 14px;box-shadow:inset -40px 0 50px -30px #000000bf,inset 0 0 0 1px #d6c8a014}.page.r{border-radius:2px 14px 14px 2px;box-shadow:inset 40px 0 50px -30px #000000bf,inset 0 0 0 1px #d6c8a014}.journal-view.narrow .book-wrap{width:min(700px,100% - 380px)}.journal-view.narrow .book{grid-template-columns:1fr}.journal-view.narrow .book .page{border-radius:14px}.journal-view.narrow .book:not(.detail) .page.r,.journal-view.narrow .book.detail .page.l,.journal-view.narrow .book.spread .page.r{display:none}.journal-view.narrow .book.spread .page.l{display:flex}.jr-back{color:var(--hypha);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin:-14px 0 14px;padding:0;font-size:14px;display:none}.journal-view.narrow .jr-back{display:block}.jr-heading h2{font-family:var(--serif);margin:2px 0 0;font-size:30px;font-weight:400;line-height:1.15}.jr-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-size:11px;display:block}.jr-rule{align-items:center;gap:12px;margin:20px 0 4px;display:flex}.jr-rule:after{content:"";background:#d6c8a038;flex:1;height:6px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='6'><path d='M0 3.4 C20 2.2 40 4.4 62 3 S100 2.4 120 3.6' fill='none' stroke='black' stroke-width='1'/></svg>") repeat-x;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='6'><path d='M0 3.4 C20 2.2 40 4.4 62 3 S100 2.4 120 3.6' fill='none' stroke='black' stroke-width='1'/></svg>") repeat-x}.jr-sub{color:var(--text-dim);margin:6px 0 0;font-size:14px}.jr-lead{max-width:460px;color:var(--text-dim);margin:14px 0 0;font-size:17px;line-height:1.5}.jr-scroll{scrollbar-width:thin;scrollbar-color:#d6c8a02e transparent;flex:1;min-height:0;margin:6px -14px 0;padding:12px 14px 14px;overflow:hidden auto}.jr-progress{color:var(--text-dim);align-items:center;gap:12px;margin-top:18px;font-size:14px;display:flex}.jr-progress.small{margin-top:8px;font-size:13px}.jr-hypha{flex:1;min-width:60px;max-width:240px;height:16px;display:block}.jr-hypha svg{display:block;overflow:visible}.jr-hypha-thread{fill:color-mix(in srgb, var(--tone) 82%, var(--lichen));filter:drop-shadow(0 0 2.5px color-mix(in srgb, var(--tone) 55%, transparent))}.jr-hypha-fibre{fill:none;stroke:color-mix(in srgb, var(--tone) 25%, #fff);stroke-width:.5px;stroke-linecap:round;opacity:.45}.jr-hypha-ahead{fill:none;stroke:#d6c8a057;stroke-width:1px;stroke-linecap:round;stroke-dasharray:.5 4.5}.jr-hypha-end{fill:none;stroke:#d6c8a057;stroke-width:1px;stroke-dasharray:1.4 2}.jr-hypha.bold .jr-hypha-ahead,.jr-hypha.bold .jr-hypha-end:not(.reached){stroke:#ede4cfbf;stroke-width:1.6px}.jr-hypha.bold .jr-hypha-ahead{stroke-dasharray:.5 5}.jr-hypha-end.reached{fill:#1f1a13;stroke:var(--tone);stroke-width:1.4px;stroke-dasharray:none}.jr-hypha-tip{fill:color-mix(in srgb, var(--tone) 25%, #fff);filter:drop-shadow(0 0 4px var(--tone));animation:2.6s ease-in-out infinite jr-hypha-tip}@keyframes jr-hypha-tip{50%{filter:drop-shadow(0 0 8px var(--tone))}}@media (prefers-reduced-motion:reduce){.jr-hypha-tip{animation:none}}.jr-list{flex-direction:column;margin-top:28px;display:flex}.jr-list-row{font-family:var(--serif);color:var(--text-dim);justify-content:space-between;gap:16px;padding:9px 0;font-size:16px;display:flex;position:relative}.jr-list-row:after,.tier-list li:after,.path-step:not(.ahead):after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--tone,var(--hypha)) 30%, #d6c8a033) 25% 75%, transparent);opacity:.8;pointer-events:none;height:6px;position:absolute;bottom:-3px;left:0;right:0;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='6'><path d='M0 3 C16 1.4 32 4.6 48 3 S80 1.4 96 3' fill='none' stroke='black' stroke-width='1'/></svg>") repeat-x;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='6'><path d='M0 3 C16 1.4 32 4.6 48 3 S80 1.4 96 3' fill='none' stroke='black' stroke-width='1'/></svg>") repeat-x}.jr-list-when{font-family:var(--sans);color:var(--text-faint);font-size:13px}.jr-foot{border-top:1px solid var(--line);color:var(--text-dim);flex-direction:column;gap:2px;margin-top:auto;padding-top:16px;font-size:14px;display:flex}.jr-foot-title{font-family:var(--serif);color:var(--text);font-size:16px}.jr-actions{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.book .page{--tone:var(--moss)}.jr-entry{font:inherit;text-align:left;color:var(--text);cursor:pointer;border:none;position:relative}.jr-entry:focus-visible{outline:2px solid var(--hypha);outline-offset:4px}.jr-entry>:not(.jr-growth,.jr-fireflies,.jr-loop,.jr-tapes){z-index:1;position:relative}.jr-entry .jr-name{transition:color .3s var(--ease)}.jr-entry.chosen .jr-name{color:color-mix(in srgb, var(--tone) 35%, var(--text))}.jr-loop{z-index:2;pointer-events:none;position:absolute;overflow:visible}.jr-loop path{fill:none;stroke:color-mix(in srgb, var(--tone) 72%, #d6c8a0);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:jr-loop-draw .45s var(--ease) both}.jr-loop .pass-0{stroke-width:1.5px;opacity:.85;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--tone) 40%, transparent))}.jr-loop .pass-1{stroke-width:1.1px;opacity:.5;animation-delay:.16s}.jr-loop .pass-2{stroke-width:.8px;opacity:.28;animation-delay:.3s}@keyframes jr-loop-draw{0%{stroke-dashoffset:1px}}.jr-growth{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.jr-moss{filter:drop-shadow(0 0 6px #9dbb6e38);position:absolute;bottom:0;right:0;overflow:visible}.moss-3{fill:color-mix(in srgb, var(--lichen) 70%, var(--moss));opacity:.75}.moss-dew{fill:#e1f0fa66}.hood{fill:color-mix(in srgb, var(--sugar) 50%, #5a3a1a)}.jr-moss .moss-grow,.jr-moss .moss-spores>g{transform-box:fill-box;transform-origin:80% 100%}.jr-moss .moss-grow{animation:jr-moss-in .6s var(--ease) both}.jr-moss .moss-spores>g{animation:jr-moss-in .4s var(--ease) both}.jr-growth.leaving .moss-grow,.jr-growth.leaving .moss-spores>g{animation:.6s ease-in both jr-moss-back;animation-delay:0s!important}@keyframes jr-moss-in{0%{opacity:0;transform:scale(.25,.1)}}@keyframes jr-moss-back{to{opacity:0;transform:scale(.25,.1)}}.jr-moss-icon{flex:none;overflow:visible}.jr-moss-icon.bare path{fill:none;stroke:var(--moss);stroke-width:.9px;stroke-dasharray:1.4 2}.jr-fireflies{pointer-events:none;position:absolute;inset:0}.jr-firefly{width:14px;height:14px;animation:9s ease-in-out infinite jr-ff-drift;position:absolute}.jr-firefly:before{content:"";width:22px;height:22px;animation:3.2s ease-in-out infinite jr-ff-glow;animation-delay:inherit;background:radial-gradient(circle,#ffd9708c,#ffd9701f 45%,#0000 70%);border-radius:50%;margin:-11px 0 0 -11px;position:absolute;top:64%;left:50%}.jr-firefly svg{width:100%;height:100%;display:block;position:relative;overflow:visible}.jr-firefly .wing{fill:#e6e1c829;stroke:#e6e1c847;stroke-width:.5px}.jr-firefly .body{fill:#3a3022}.jr-firefly .light{fill:var(--firefly);filter:drop-shadow(0 0 3px var(--firefly));animation:3.2s ease-in-out infinite jr-ff-light;animation-delay:inherit}.button .jr-fireflies{width:40px;height:30px;inset:-8px -8px auto auto}.book-tab-spot{display:flex;position:relative}.book-tab-spot>.jr-fireflies{z-index:1;width:26px;height:26px;inset:5px auto auto 0}@keyframes jr-ff-drift{0%,to{transform:translate(0)rotate(-8deg)}25%{transform:translate(-4px,-3px)rotate(6deg)}50%{transform:translate(-1px,2px)rotate(-2deg)}75%{transform:translate(3px,-2px)rotate(10deg)}}@keyframes jr-ff-glow{0%,to{opacity:.25;transform:scale(.7)}45%{opacity:1;transform:scale(1.1)}}@keyframes jr-ff-light{0%,to{opacity:.45}45%{opacity:1}}.jr-firefly.jr-flying{z-index:100;pointer-events:none;animation:none;position:fixed;right:auto}.jr-hand{font-family:var(--hand);font-size:calc(var(--hand-scale) * 13px);letter-spacing:.01em;color:color-mix(in srgb, var(--lichen) 70%, var(--text-dim));font-weight:400;line-height:.92}@media (prefers-reduced-motion:reduce){.jr-firefly,.jr-firefly:before,.jr-firefly .light,.jr-loop path,.jr-moss .moss-grow,.jr-moss .moss-spores>g{animation:none}}.jr-lead .jr-hand{font-size:30px;line-height:1}.page{isolation:isolate;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.jr-dress{z-index:-1;pointer-events:none;position:absolute;overflow:visible}.page.worn:before{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.page.l.worn:before{background:radial-gradient(110px 150px at 0 100%,#0000003d,#0000 70%),radial-gradient(34px 120px at 0 64%,#00000029,#0000 72%),radial-gradient(70px 150px at 0 66%,#d6c8a006,#0000 70%)}.page.r.worn:before{background:radial-gradient(110px 150px at 100% 100%,#0000003d,#0000 70%),radial-gradient(34px 120px at 100% 64%,#00000029,#0000 72%),radial-gradient(70px 150px at 100% 66%,#d6c8a006,#0000 70%)}.page.r:has(>.jr-page-moss){padding-bottom:60px}.jr-page-moss{bottom:0;left:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 70px);mask-image:linear-gradient(90deg,#0000,#000 70px)}.jr-page-moss .moss-grow,.jr-page-moss .rise{transform-box:fill-box;transform-origin:50% 100%}.jr-page-moss .moss-grow{animation:jr-foot-in .7s var(--ease) both}.jr-page-moss .rise{animation:jr-foot-in .45s var(--ease) both}@keyframes jr-foot-in{0%{opacity:0;transform:scaleY(.1)}}@media (prefers-reduced-motion:reduce){.jr-page-moss .moss-grow,.jr-page-moss .rise{animation:none}}.moss-air{stop-color:var(--moss);stop-opacity:.08}.moss-air.top{stop-opacity:0}.moss-back{fill:color-mix(in srgb, var(--moss) 14%, #0a0b06)}.jr-page-moss .sprout path{fill:none;stroke:color-mix(in srgb, var(--moss) 75%, #1a2210);stroke-width:.8px}.jr-page-moss .sprout ellipse{fill:color-mix(in srgb, var(--moss) 70%, #1a2210)}.jr-fold.right{bottom:0;right:0}.jr-fold.left{bottom:0;left:0;transform:scaleX(-1)}.fold-lit{stop-color:#584a32}.fold-mid{stop-color:#433826}.fold-tip{stop-color:#2a2318}.fold-under-near{stop-color:#120f0a}.fold-under-far{stop-color:#1e1913}.fold-shadow{fill:#000;opacity:.6}.fold-rim{fill:none;stroke:#0006;stroke-width:.6px}.fold-crease{fill:none;stroke:#ffeecd38;stroke-width:.9px}.jr-creases{inset:0}.jr-creases path{fill:none;stroke-linecap:round}.jr-creases .dark{stroke:#0006;stroke-width:1px}.jr-creases .light{stroke:#fff0d214;stroke-width:.8px}.jr-creases .near{stroke-width:1.2px}.jr-stain{width:170px;height:170px;transform:translate(-50%, -50%) rotate(var(--turn)) scale(var(--size));opacity:.72}.stain-inside{fill:#140c0429}.stain-rim,.stain-edge,.stain-again{fill:none}.stain-rim{stroke:#0c07028c;stroke-width:3.2px}.stain-edge{stroke:#9664321a;stroke-width:3px}.stain-again{stroke:#0c070259;stroke-width:2px}.jr-doodle{opacity:.5;bottom:52px;left:40px}.jr-doodle path{fill:none;stroke:#d6c8a06b;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.jr-doodle text{fill:var(--text-faint);font-size:18px}.jr-pressed-leaf{z-index:2;pointer-events:none;animation:jr-leaf-in .6s var(--ease) both;position:absolute;left:50%;overflow:visible;transform:translate(-50%,-50%)}@keyframes jr-leaf-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}}.journal-view.narrow .jr-pressed-leaf{display:none}.book .page.path{--tone:var(--hypha);--pencil:#d6c8a057}.page.path .jr-sub .num{color:var(--text-faint);font-size:13px}.path-rows{position:relative}.path-strand{pointer-events:none;position:absolute;top:0;left:14px;overflow:visible}.path-thread{fill:color-mix(in srgb, var(--hypha) 82%, var(--lichen));filter:drop-shadow(0 0 2.5px #5fe3c880)}.path-fibre{fill:none;stroke:#d8fff5;stroke-width:.5px;stroke-linecap:round;opacity:.45}.path-knot{fill:color-mix(in srgb, var(--hypha) 75%, #0c2a24);filter:drop-shadow(0 0 4px #5fe3c8b3)}.path-pencil{fill:none;stroke:var(--pencil);stroke-width:1px;stroke-linecap:round;stroke-dasharray:.5 4.5}.path-core{fill:#e2fff8}.path-ring{fill:#1f1a13;stroke-width:1.4px}.path-ring.now{stroke:var(--hypha)}.path-ring.ahead{fill:none;stroke:var(--pencil);stroke-width:1px;stroke-dasharray:1.4 2}.path-arc{fill:none;stroke:var(--hypha);stroke-width:1.3px;stroke-linecap:round;opacity:.75}.path-tip{fill:#e2fff8;filter:drop-shadow(0 0 4px #5fe3c8f2);animation:2.6s ease-in-out infinite path-tip}@keyframes path-tip{50%{filter:drop-shadow(0 0 8px #5fe3c8)}}.path-group{flex-direction:column;display:flex}.path-chapter{width:100%;transition:background .25s var(--ease);background:0 0;border-radius:4px 16px;flex-direction:column;padding:6px 14px 6px 0;display:flex}.path-chapter:not(.ahead):hover{background:#0a090629}.path-head{align-items:baseline;gap:10px;min-width:0;min-height:28px;display:flex}.path-mark{flex:none;align-self:center;width:16px;height:16px;margin-left:12px}.path-chapter .jr-name{font-family:var(--serif);white-space:nowrap;font-size:19px}.path-chapter.done .jr-name{color:var(--text-dim)}.path-chapter.ahead .path-blank{align-self:center;margin:0}.path-substep{grid-template-columns:26px 20px 1fr auto;align-items:start;min-height:29px;display:grid}.path-head+.path-substep{margin-top:4px}.path-bead{grid-column:2;justify-self:center;width:12px;height:12px;margin-top:5px}.path-substep-text{font-family:var(--serif);color:var(--text-dim);padding:1px 0 0 8px;font-size:16px}.path-substep.now .path-substep-text{color:var(--text)}.path-substep .path-blank{margin:11px 0 0 8px}.path-substep .jr-hand{color:var(--text-faint);padding-top:4px}.path-blank{background:linear-gradient(90deg, var(--pencil) 0 1px, transparent 1px 5px) repeat-x;background-size:5px 1px;height:1px;display:inline-block}.path-tick{flex:none;width:16px;height:16px;overflow:visible}.path-tick path{fill:none;stroke:color-mix(in srgb, var(--hypha) 55%, #d6c8a06b);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.path-leader{flex:1;align-self:center;min-width:24px;height:6px;margin-top:4px;overflow:visible}.path-leader path{fill:none;stroke:color-mix(in srgb, var(--tone) 22%, #d6c8a042);stroke-width:1px;stroke-linecap:round;vector-effect:non-scaling-stroke}.path-line{font-family:var(--serif);color:var(--lichen);margin:18px 0 0;font-size:18px;font-style:italic}.path-steps{flex-direction:column;margin-top:24px;display:flex}.path-step{flex-direction:column;display:flex;position:relative}.path-step-head{width:calc(100% + 24px);font-family:var(--serif);text-align:left;color:var(--text-dim);cursor:pointer;transition:background .25s var(--ease);background:0 0;border:none;border-radius:4px 12px;align-items:center;gap:12px;margin:0 -12px;padding:9px 12px;font-size:16px;display:flex}button.path-step-head:hover{background:#0a090629}.path-step-head:focus-visible{outline:2px solid var(--hypha);outline-offset:2px}span.path-step-head{cursor:default}.path-step-name{flex:1}.path-step.now .path-step-name,.path-step.open .path-step-name{color:var(--text)}.path-step.now.open .path-step-name{font-size:21px}.path-step-head .jr-hand{white-space:nowrap;flex:none}.path-step-body{padding:0 0 16px 28px}.path-step-body .jr-lead{margin-top:0}.path-step.ahead .path-blank{margin:0}.path-progress{color:var(--text-dim);align-items:center;gap:14px;margin-top:14px;font-size:14px;display:flex}.path-notyet circle{fill:none;stroke:var(--pencil);stroke-width:1.2px;stroke-dasharray:2 2.4}.path-progress .jr-hand{font-size:calc(var(--hand-scale) * 15px)}.path-hint{max-width:260px;font-size:calc(var(--hand-scale) * 15px);align-self:flex-end;margin:18px 0 0;transform:rotate(-2deg)}.path-art-place{flex:1 1 0;justify-content:center;align-items:flex-end;min-height:72px;padding:16px 0 52px;display:flex}.path-art{width:auto;max-width:100%;height:100%;max-height:176px;overflow:visible}.path-art path{fill:none;stroke:#d6c8a066;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.path-art path.faint{stroke:#d6c8a029;stroke-dasharray:1 3}.path-art.inked path{stroke:color-mix(in srgb, var(--hypha) 60%, #d6c8a080);filter:drop-shadow(0 0 2px #5fe3c859)}.path-art.inked path.faint{stroke:color-mix(in srgb, var(--hypha) 30%, #d6c8a033);filter:none}@media (prefers-reduced-motion:reduce){.path-tip{animation:none}}.foray-card{width:100%;transition:box-shadow .25s var(--ease);background:#0a090642;border-radius:4px 20px;flex-direction:column;align-items:flex-start;margin-bottom:12px;padding:14px 18px 15px 20px;display:flex;box-shadow:inset 0 0 0 1px #d6c8a014}.foray-card:hover{box-shadow:inset 0 0 0 1px #d6c8a033}.foray-card .jr-name{font-family:var(--serif);font-size:18px}.foray-card .jr-progress{align-self:stretch}.pressed-row{width:100%;transition:background .25s var(--ease);background:0 0;border-radius:4px 14px;grid-template-columns:22px 1fr;align-items:center;gap:1px 8px;padding:8px 14px 9px 8px;display:grid}.pressed-row:hover{background:#0a09062e}.pressed-tick{grid-row:1/span 2;width:18px;height:18px;overflow:visible}.pressed-tick path{fill:none;stroke:color-mix(in srgb, var(--moss) 60%, #d6c8a06b);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.pressed-row .jr-name{font-family:var(--serif);color:var(--text-dim);font-size:16px}.pressed-when{color:var(--text-faint)}.ring-group{margin-bottom:20px}.ring-group h3{font-family:var(--serif);color:var(--tone);align-items:baseline;gap:10px;margin:0 0 12px;font-size:18px;font-weight:400;display:flex}.ring-dab{background:radial-gradient(circle at 40% 45%, color-mix(in srgb, var(--tone) 55%, transparent), color-mix(in srgb, var(--tone) 22%, transparent) 70%);width:20px;height:12px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 35%, transparent);border-radius:60% 40% 55% 45%/55% 60% 40% 45%;align-self:center;transform:rotate(-6deg)}.ring-group h3 span{font-family:var(--sans);color:var(--text-faint);font-size:13px}.ring-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.ring-card{transition:box-shadow .25s var(--ease);background:#0a090638;border-radius:3px 14px;align-items:center;gap:14px;padding:13px 14px 14px 12px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #d6c8a00f}.ring-card:hover{box-shadow:inset 0 0 0 1px #d6c8a033}.ring-card.complete{background:linear-gradient(#ffea6a0f,#0000 60%),#0a090638;box-shadow:inset 0 0 0 1px #ffea6a42,inset 0 2px #ffea6a52}.ring-body{flex-direction:column;flex:1;min-width:0;display:flex}.ring-card .jr-name{font-family:var(--serif);font-size:15px;line-height:1.2}.ring-value{margin-top:2px;font-size:19px;font-weight:500}.ring-value small{color:var(--text-faint);margin-left:7px;font-size:12.5px;font-weight:400}.ring-value .jr-hand{color:var(--golden);margin-left:6px;font-size:21px}.ring-card .jr-hypha{max-width:none;margin-top:6px}.ring-glyph{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--tone) 35%, transparent));flex:none;overflow:visible}.ring-glyph ellipse{fill:none}.ring-glyph ellipse.lit{stroke:var(--tone);stroke-width:1.2px}.ring-glyph ellipse.dim{stroke:#d6c8a029;stroke-width:.8px;stroke-dasharray:1.2 2.4}.ring-glyph ellipse.next{stroke:color-mix(in srgb, var(--tone) 60%, transparent);stroke-width:.9px;stroke-dasharray:3 2.4}.ring-note path{fill:none;stroke:#d6c8a06b;stroke-width:.8px}.ring-note text{fill:color-mix(in srgb, var(--lichen) 70%, var(--text-dim));font-size:18px}.ring-detail-head:has(.ring-note){align-items:flex-start;margin-bottom:26px}.ring-glyph .bark{fill:none;stroke:var(--golden);stroke-width:1.6px;filter:drop-shadow(0 0 4px var(--golden))}.ring-detail-head{align-items:center;gap:24px;display:flex}.ring-detail-head .jr-sub{color:var(--text);font-size:26px}.tier-list{--tone:var(--hypha);margin:26px 0 0;padding:0;list-style:none}.tier-list li{grid-template-columns:22px 80px 1fr auto;align-items:center;gap:12px;min-height:38px;display:grid;position:relative}.tier-dot{border:1.5px solid #d6c8a033;border-radius:50%;width:8px;height:8px}.tier-list .passed .tier-dot{border-color:var(--tone);background:var(--tone);box-shadow:0 0 8px var(--tone)}.tier-list .next .tier-dot{border-color:var(--tone)}.tier-value{font-size:16px;font-weight:500}.tier-list .ahead .tier-value{color:var(--text-faint)}.tier-when{color:var(--text-faint);font-size:13px}.tier-when .jr-hand{color:var(--text-faint)}.tier-gift{min-width:56px;color:var(--text-faint);justify-content:flex-end;align-items:center;gap:6px;font-size:14px;display:inline-flex}.tier-list .next .tier-gift{color:var(--nutrient);opacity:.85}.tier-gift.waiting{color:var(--nutrient)}.tier-gift.waiting svg{filter:drop-shadow(0 0 5px #f2b45a99)}.plates{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:14px;margin:-4px -26px 0;padding:22px 26px 14px;display:grid}.plate{text-align:center;transition:box-shadow .25s var(--ease);background:#0a090647;border-radius:3px 16px;flex-direction:column;align-items:center;padding:12px 10px 10px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #d6c8a014}.plate.found{background:radial-gradient(80% 70% at 50% 30%, color-mix(in srgb, var(--tone) 14%, transparent), transparent 70%), #0a090647;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 38%, transparent), 0 0 22px color-mix(in srgb, var(--tone) 10%, transparent)}.plate .plate-found{color:color-mix(in srgb, var(--tone) 75%, var(--text-dim));margin-top:auto;padding-top:6px}.plate.hidden{cursor:default;background:repeating-linear-gradient(135deg,#d6c8a006 0 6px,#0000 6px 12px),#0a090633;min-height:176px}.plate:not(.hidden):hover{box-shadow:inset 0 0 0 1px #ffea6a4d}.plate.found:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tone) 70%, transparent), 0 0 26px color-mix(in srgb, var(--tone) 18%, transparent)}.plate-name{font-family:var(--serif);margin-top:6px;font-size:16px}.plate-line{color:var(--text-dim);margin-top:3px;font-size:12.5px;line-height:1.3}.plate.hinted .plate-name{color:var(--text-faint)}.plate .plate-hint{text-wrap:balance;margin-top:4px;padding-inline:6px;font-size:20px;display:block}.specimen-glyph{fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;overflow:visible}.specimen-glyph .fill{stroke:none}.specimen-glyph.found{stroke:var(--tone);filter:drop-shadow(0 0 5px var(--tone))}.specimen-glyph.found .fill{fill:var(--tone)}.specimen-glyph.shown{stroke:color-mix(in srgb, var(--tone) 55%, var(--text-faint))}.specimen-glyph.shown .fill{fill:color-mix(in srgb, var(--tone) 40%, transparent)}.specimen-glyph.hinted{stroke:#cfd9a859;stroke-dasharray:3 4}.specimen-glyph.hinted .fill{fill:none;stroke:#cfd9a84d}.specimen-detail{text-align:center;align-items:center}.jr-tapes{z-index:2;pointer-events:none;position:absolute;inset:0}.jr-tape{background:linear-gradient(#e8debe33,#e8debe21);position:absolute;box-shadow:0 1px 2px #0000004d}.jr-mount{flex:none;margin:10px 0 0;display:block;position:relative}.jr-mount-card{filter:drop-shadow(0 8px 12px #00000080)drop-shadow(0 1px 1px #0006);position:absolute;inset:0}.jr-mount-card .paper{background-image:var(--card-grain,none), var(--card-ground,none), radial-gradient(90% 70% at 30% 20%, #d6c8a00d, transparent 70%), linear-gradient(180deg, #342b1f, #221c14);background-size:var(--grain-tile) var(--grain-tile), 100% 100%, auto, auto;position:absolute;inset:0}.jr-mount-edge{position:absolute;inset:0;overflow:visible}.jr-mount-edge path{fill:none}.jr-mount.found .jr-mount-edge path{stroke:#fff0d217;stroke-width:1px}.jr-mount.waiting .jr-mount-edge path{stroke:#d6c8a038;stroke-width:1px;stroke-dasharray:3 5}.jr-mount-body{place-items:center;display:grid;position:absolute;inset:0}.jr-mount-tape{position:absolute;inset:10%}.specimen-label{text-align:left;background:#e8debe0b;align-self:flex-end;width:min(240px,100%);margin-top:auto;padding:10px 14px 12px;transform:rotate(-.8deg);box-shadow:inset 0 0 0 1px #d6c8a02e,inset 0 0 0 4px #0000,inset 0 0 0 5px #d6c8a014}.specimen-label .jr-kicker{text-align:center;font-size:9.5px}.specimen-label dl{color:var(--text-faint);grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0 0;font-size:12px;display:grid}.specimen-label dd{border-bottom:1px dotted #d6c8a038;margin:0;font-size:19px}.specimen-detail .specimen-glyph{margin:22px 0 6px}.jr-mount .specimen-glyph{margin:0}.specimen-detail h2{font-family:var(--serif);margin:12px 0 0;font-size:30px;font-weight:400}.specimen-detail .jr-lead{margin-inline:auto}.specimen-detail .jr-actions{justify-content:center}.chronicle-leaf{text-align:center;flex-direction:column;flex:1;align-items:center;min-height:0;display:flex}.chronicle-leaf h2{font-family:var(--serif);margin:4px 0 0;font-size:28px;font-weight:400}.chronicle-leaf .sketch{flex:none;max-width:100%;height:auto;margin-top:18px}.chronicle-line{max-width:420px;font-family:var(--serif);margin:20px 0 0;font-size:21px;font-style:italic;font-weight:300;line-height:1.4}.chronicle-found{color:var(--text-faint);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:14px;font-size:13px;display:flex}.chronicle-specimen{align-items:center;gap:6px;display:flex}.chronicle-number{font-family:var(--serif);color:var(--text-faint);margin-top:auto;font-size:13px;font-style:italic}.chronicle-blank{max-width:320px;font-family:var(--serif);text-align:center;color:var(--text-faint);margin:auto;font-size:17px;font-style:italic;line-height:1.5}.chronicle-turn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;position:absolute;bottom:26px}.chronicle-turn.back{left:40px}.chronicle-turn.on{right:40px}.sketch-dish{fill:#14160ee6;stroke:#9dbb6e2e}.sketch-creep{fill:#7fad621a;filter:blur(6px)}.sketch-strand{fill:none;stroke:var(--hypha);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px var(--hypha))}.sketch-pile{fill:var(--nutrient);filter:drop-shadow(0 0 3px var(--nutrient))}.sketch-tree{fill:none;stroke:var(--sugar);stroke-width:1.8px;filter:drop-shadow(0 0 3px var(--sugar))}.sketch-core{fill:#bff7ea;filter:drop-shadow(0 0 6px var(--hypha))}.s-tendrils{--c:var(--pulse)}.s-coreTendrils{--c:var(--hypha)}.s-pores{--c:var(--vein)}.s-mites{--c:var(--spore)}.s-hand,.s-clicks{--c:var(--sugar)}.s-springtails{--c:var(--rose)}.s-grazing{--c:color-mix(in srgb, var(--sugar) 55%, var(--bark))}.s-plain{--c:var(--nutrient)}.s-rich{--c:var(--rich)}.s-golden{--c:var(--golden)}.s-soil{--c:var(--creep)}.s-drip{--c:var(--moss)}.s-leaf{--c:var(--growth)}.s-twig{--c:var(--lichen)}.s-log{--c:color-mix(in srgb, var(--nutrient) 50%, var(--bark))}.s-fell{--c:var(--growth)}.s-turned{--c:color-mix(in srgb, var(--growth) 55%, var(--bark))}.s-beadsMade{--c:var(--lichen)}.s-beadsHome{--c:var(--hypha)}.s-pressed{--c:color-mix(in srgb, var(--lichen) 40%, var(--bark))}.s-piling{--c:var(--rose)}.purse>.purse-flow,.purse>.ledger{pointer-events:auto}.purse-flow{font:inherit;color:inherit;text-align:left;text-shadow:var(--halo);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:1px;margin-left:37px;padding:0;display:flex}.purse-flow:disabled{cursor:default}.purse-flow .purse-rate{transition:color .3s var(--ease);margin-left:0}.purse-flow:not(:disabled):hover .purse-rate,.purse-flow.lit .purse-rate{color:var(--text)}.purse-beads{color:var(--text-faint);font-size:12px}.purse-piling{color:var(--rose)}.ledger{max-height:calc(100vh - 330px);text-shadow:none;grid-template-columns:272px 272px;column-gap:28px;margin-top:12px;padding:4px 20px 12px;display:grid;overflow-y:auto}.ledger-col{min-width:0}.ledger::-webkit-scrollbar{width:6px}.ledger::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px}.c-beads{color:var(--hypha)}.c-leaves{color:var(--growth)}.c-warn{color:var(--rose)}.ledger h4{font-family:var(--serif);color:var(--lichen);justify-content:space-between;align-items:baseline;margin:12px 0 6px;font-size:16px;font-weight:400;display:flex}.ledger h4 .num{font-family:var(--sans);font-size:16px}.ledger-unit{font-family:var(--sans);color:var(--text-faint);font-size:13px}.ledger-row{color:var(--text-dim);grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:3px 0 5px;font-size:14px;display:grid}.ledger-row>.num{text-align:right}.ledger-bar{background:#d6c8a014;border-radius:2px;grid-column:1/-1;height:4px;display:flex;overflow:hidden}.ledger-bar>span{height:100%;transition:width .6s var(--ease);background:var(--c)}.ledger-more{grid-column:1/-1;justify-self:end;margin-top:8px;font-size:14px}.flow-overlay{z-index:30;animation:fade-in .5s var(--ease);background:radial-gradient(circle at 30% 20%,#19170f,#090a07 75%);flex-direction:column;padding:20px 28px 24px;display:flex;position:fixed;inset:0}.flow-head{align-items:flex-start;gap:32px;display:flex}.flow-head h2{font-family:var(--serif);margin:0;font-size:34px;font-weight:300}.flow-head p{color:var(--text-dim);margin:4px 0 0;font-size:15px}.flow-when{color:var(--text)}.flow-switches{gap:32px;margin:14px 0 0 auto;display:flex}.flow-switch{gap:16px;display:flex}.flow-switch .text-btn{--underline:transparent;color:var(--text-faint)}.flow-switch .text-btn[aria-pressed=true]{color:var(--text)}.flow-switch .text-btn:hover:not([aria-pressed=true]){--ink:#cfd9a866;color:var(--text-dim);text-shadow:none}.flow-grid-charts{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:24px 40px;min-height:0;margin-top:20px;display:grid}.flow-cell{flex-direction:column;min-height:0;display:flex}.flow-chart{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) 210px;column-gap:20px;min-height:0;display:grid}.flow-chart h3{font-family:var(--serif);color:var(--lichen);grid-column:1/-1;justify-content:space-between;align-items:baseline;margin:0 0 8px;font-size:18px;font-weight:400;display:flex}.flow-title{align-items:baseline;gap:20px;display:flex}.flow-title .flow-switch{font-size:13px}.flow-title .flow-switch .text-btn{padding:2px 1px;font-size:13px}.flow-chart h3 .num{font-family:var(--sans)}.flow-unit{color:var(--text-faint);font-size:13px}.flow-plot{border-bottom:1px solid var(--line-strong);cursor:crosshair;min-height:0;position:relative}.flow-plot svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.flow-plot path.area{fill:var(--c);fill-opacity:.8;stroke:var(--c);stroke-width:1px;vector-effect:non-scaling-stroke}.flow-plot path.line{fill:none;stroke:var(--c);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.flow-plot path.gap{fill:var(--c);fill-opacity:.35}.flow-grid{stroke:var(--line);vector-effect:non-scaling-stroke}.flow-cursor{stroke:var(--text);stroke-opacity:.6;vector-effect:non-scaling-stroke}.flow-away{stroke:var(--text-faint);stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.flow-away-label{color:var(--text-faint);pointer-events:none;font-size:12px;position:absolute;top:2px;transform:translate(4px)}.flow-away-label.before{transform:translate(calc(-100% - 4px))}.flow-y{color:var(--text-faint);text-shadow:var(--halo);pointer-events:none;font-size:12px;position:absolute;left:4px}.flow-y.top{top:2px}.flow-y.mid{top:calc(50% - 8px)}.flow-empty{color:var(--text-faint);font-family:var(--serif);place-items:center;margin:0;font-style:italic;display:grid;position:absolute;inset:0}.flow-legend{align-self:start;margin:0;padding:0;list-style:none}.flow-legend li{color:var(--text-dim);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 0;font-size:14px;display:grid}.flow-swatch{background:var(--c);border-radius:3px;width:10px;height:10px}.flow-swatch.lines{border-radius:2px;height:3px}.flow-x{width:calc(100% - 230px);color:var(--text-faint);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.flow-note{text-align:center;font-family:var(--serif);color:var(--text-faint);margin:12px 0 0;font-style:italic}.token{--size:56px;--tone:var(--lichen);width:var(--size);height:var(--size);color:color-mix(in srgb, var(--tone) 70%, var(--text-dim));transition:transform .35s var(--ease), box-shadow .35s var(--ease), color .35s var(--ease), filter .35s var(--ease);background:repeating-radial-gradient(circle at 50% 52%,#0000 0 5px,#00000029 5px 6px,#0000 6px 9px),radial-gradient(circle at 36% 30%,#3d3224,#251e15 55%,#17130d 100%);border-radius:50%;flex:none;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 2px #604a30b3,inset 0 0 0 3px #0c0a07cc,inset 0 2px 5px #ffecc814,0 0 0 1px #d6c8a01a,0 8px 18px #00000080}.token .icon{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--tone) 40%, transparent))}.token.rose{--tone:var(--rose)}.token.sugar{--tone:var(--sugar)}.token.hypha{--tone:var(--hypha)}.rim-dot{width:6px;height:6px;transform:rotate(var(--a)) translateY(calc(var(--size) / -2 - 7px));border-radius:50%;margin:-3px;position:absolute;top:50%;left:50%}.rim-dot.on{background:var(--tone);box-shadow:0 0 6px var(--tone)}.rim-dot.off{border:1px solid color-mix(in srgb, var(--tone) 65%, transparent)}.rim-dot.slot{background:#d6c8a02e;width:4px;height:4px;margin:-2px}.rim-dot.mote{background:var(--nutrient);box-shadow:0 0 8px var(--nutrient);animation:2.8s ease-in-out infinite mote;animation-delay:calc(var(--i) * -.41s)}@keyframes mote{50%{opacity:.5}}.token-arc{pointer-events:none;width:calc(100% + 18px);height:calc(100% + 18px);position:absolute;inset:-9px;overflow:visible}.token-arc circle{fill:none;stroke-width:3px;stroke-linecap:round}.token-arc .track{stroke:#d6c8a01a}.token-arc .fill{stroke:var(--tone);filter:drop-shadow(0 0 3px var(--tone));transition:stroke-dasharray .4s var(--ease)}.token-arc .mark{stroke:var(--text-dim);stroke-width:1.5px}.token-btn{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:14px;padding:0;display:flex;position:relative}.token-btn.small{gap:9px}.token-btn:disabled{cursor:default}.token-btn:hover:not(:disabled) .token,.token-btn:focus-visible .token{color:var(--tone);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--tone) 45%, #604a30), inset 0 0 0 3px #0c0a07cc, inset 0 2px 5px #ffecc81a, 0 0 0 1px color-mix(in srgb, var(--tone) 30%, transparent), 0 0 22px color-mix(in srgb, var(--tone) 28%, transparent), 0 10px 20px #00000080}.token-btn:focus-visible{outline:none}.token-btn:active:not(:disabled) .token{transform:scale(.96)}.token-btn.lit .token{color:var(--tone);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--tone) 55%, #604a30), inset 0 0 0 3px #0c0a07cc, 0 0 18px color-mix(in srgb, var(--tone) 30%, transparent), 0 8px 18px #00000080}.token-name{font-family:var(--serif);white-space:nowrap;color:var(--text);text-shadow:var(--halo);font-size:14px;line-height:1.1}.token-btn.small .token-name{color:var(--text-dim);font-size:13px}.token-btn.small:hover .token-name{color:var(--text)}.token-price{white-space:nowrap;color:var(--nutrient);text-shadow:var(--halo);align-items:center;gap:4px;margin-top:-9px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.token-btn:disabled .token-price{color:var(--text-faint)}.kbd{min-width:1.6em;font-family:var(--sans);letter-spacing:.04em;text-align:center;vertical-align:.08em;color:var(--text-dim);text-shadow:none;background:#d6c8a012;border:1px solid #d6c8a042;border-bottom-width:2px;border-radius:4px;margin:0 2px 0 4px;padding:0 5px;font-size:11px;font-style:normal;font-weight:700;line-height:1.5;display:inline-block}.colony{grid-template-columns:auto auto;align-items:center;gap:24px 30px;display:grid;bottom:26px;left:30px}.token-btn.critter{flex-direction:row;grid-column:1;gap:18px;position:static}.colony .switches{grid-column:2;gap:18px;display:flex}.critter-text{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.critter-text .token-price{margin:0}.token-btn.critter:disabled:not(.full) .token{filter:saturate(.6)brightness(.8)}.token-why{width:210px;font-family:var(--serif);text-align:left;color:var(--text-dim);text-shadow:var(--halo);opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);pointer-events:none;font-size:14px;font-style:italic;line-height:1.4;position:absolute;bottom:calc(100% + 16px);left:0;transform:translateY(4px)}.token-btn.full:hover .token-why{opacity:1;transform:none}.grove{flex-direction:column;align-items:flex-end;gap:30px;display:flex;top:50%;right:34px;transform:translateY(-50%)}.token-btn.tree{flex-direction:row;gap:18px}.tree-text{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.tree-text .token-name{font-size:15px;font-style:italic}.tree-text .token-price{margin:0}.token-btn.tree.quiet .token{filter:saturate(.5)brightness(.7)}.token-price.quiet{font-family:var(--serif);font-size:13px;font-style:italic;font-weight:400}.token-btn.tree.called .token{animation:called 1.6s var(--ease)}@keyframes called{20%{box-shadow:inset 0 0 0 2px var(--sugar), 0 0 30px #f4e3a18c;transform:scale(1.12)}}.grove-empty{max-width:180px;font-family:var(--serif);text-align:right;color:var(--text-dim);text-shadow:var(--halo);margin:0;font-style:italic}.dock{align-items:flex-end;gap:26px;display:flex;bottom:22px;left:50%;transform:translate(-50%)}.game:has(.genome-overlay) .dock{z-index:31}.dock:before,.dock>:not(.genome){transition:opacity .25s var(--ease)}.dock.over-genome:before,.dock.over-genome>:not(.genome){opacity:0;pointer-events:none}.token-btn.genome:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);opacity:0;transition:opacity .25s var(--ease);pointer-events:none;background:radial-gradient(closest-side,#0506048c,#0506044d 55%,#0000);position:absolute;inset:-40px -96px -30px;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000);mask-image:radial-gradient(closest-side,#000 55%,#0000)}.dock.over-genome .token-btn.genome:before{opacity:1}.token-btn.switch:not(.lit) .token{filter:saturate(.4)brightness(.75)}.token-btn.genome.fresh .token{animation:2.4s ease-in-out infinite genome-call}@keyframes genome-call{50%{color:var(--hypha);box-shadow:inset 0 0 0 2px #5fe3c899,inset 0 0 0 3px #0c0a07cc,0 0 30px #5fe3c873,0 8px 18px #00000080}}.token-btn.genome.ready .token,.token-btn.critter.ready .token,.token-btn.journal.ready .token{color:var(--nutrient);animation:2.4s ease-in-out infinite ready}.token-btn.genome.ready .token .icon,.token-btn.critter.ready .token .icon,.token-btn.journal.ready .token .icon{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--nutrient) 80%, transparent))}@keyframes ready{0%,to{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--nutrient) 65%, #604a30), inset 0 0 0 3px #0c0a07cc, inset 0 0 18px color-mix(in srgb, var(--nutrient) 20%, transparent), 0 0 0 2px color-mix(in srgb, var(--nutrient) 35%, transparent), 0 0 26px 4px color-mix(in srgb, var(--nutrient) 40%, transparent), 0 8px 18px #00000080}50%{box-shadow:inset 0 0 0 2px var(--nutrient), inset 0 0 0 3px #0c0a07cc, inset 0 0 24px color-mix(in srgb, var(--nutrient) 35%, transparent), 0 0 0 3px color-mix(in srgb, var(--nutrient) 60%, transparent), 0 0 48px 12px color-mix(in srgb, var(--nutrient) 65%, transparent), 0 8px 18px #00000080;transform:scale(1.06)}}.genome-overlay{z-index:30;background:radial-gradient(circle,#172019,#090a07 70%);position:fixed;inset:0}.genome-overlay.closing,.genome-overlay.closing *{pointer-events:none}.genome-overlay .canvas-host{touch-action:none;position:absolute;inset:0}.genome-title{z-index:2;text-align:center;pointer-events:none;text-shadow:var(--halo);position:absolute;top:18px;left:50%;transform:translate(-50%)}.genome-title:before,.genome-head:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);background:radial-gradient(closest-side,#0506048c,#0506044d 55%,#0000);position:absolute;inset:-18px -110px -26px;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000);mask-image:radial-gradient(closest-side,#000 55%,#0000)}.genome-title h2{font-family:var(--serif);margin:0;font-size:30px;font-weight:300}.genome-title p{color:var(--text-dim);margin:2px 0 0;font-size:14px}.genome-head{pointer-events:none;z-index:2;display:flex;position:absolute;top:22px;right:26px}.genome-head>*{pointer-events:auto}.genome-head:before{pointer-events:none;inset:-26px -80px -34px -70px}.asleep{z-index:3;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.asleep div{background:var(--panel);border:1px solid var(--line-strong);text-align:center;font-family:var(--serif);color:var(--text-dim);border-radius:14px;padding:18px 24px;font-size:17px}.tooltip{z-index:10;pointer-events:none;position:absolute}.leafcard.trait-card{border-color:color-mix(in srgb, var(--vein) 20%, #d6c8a01a);border-top:2px solid var(--vein,var(--line-strong));background:radial-gradient(95% 70% at 100% 0%, color-mix(in srgb, var(--vein) 13%, transparent), transparent 72%), radial-gradient(120% 45% at 50% 100%, color-mix(in srgb, var(--moss) 11%, transparent), transparent 75%), linear-gradient(180deg, #241e15f7, #13100bf7);transform-origin:0 0;width:330px;animation:trait-card-in .14s var(--ease);padding:14px 18px 24px;font-size:14px;line-height:1.45;overflow:hidden}.leafcard.trait-card.leaving{animation:90ms ease-in forwards trait-card-out}.trait-card .tc-part{animation:tc-part-in .22s var(--ease) both}.trait-card .tc-text{animation-delay:25ms}.trait-card .tc-effects{animation-delay:50ms}.trait-card .tc-more{animation-delay:75ms}.trait-card .tc-hint{animation-delay:.1s}@keyframes trait-card-in{0%{opacity:0;transform:translateY(3px)scale(.985)}}@keyframes trait-card-out{to{opacity:0;transform:scale(.99)}}@keyframes tc-part-in{0%{opacity:0;transform:translateY(2px)}}.tc-head{align-items:center;gap:10px;display:flex}.trait-mark{flex:none;margin:-4px 0 -4px -6px;overflow:visible}.trait-mark.lit{filter:drop-shadow(0 0 5px var(--vein))}.trait-mark.owned{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--vein) 55%, transparent))}.tc-head h4{font-family:var(--serif);flex:1;margin:0;font-size:19px;font-weight:400;line-height:1.2}.tc-cost{color:var(--text-dim);flex:none;align-items:center;gap:6px;font-size:26px;font-weight:700;line-height:1;display:flex}.tc-cost.lit{color:var(--nutrient)}.tc-cost.owned{color:#16130d;text-shadow:0 1px #ffecc833,0 -1px #0009,0 0 1px #0006}.tc-cost.owned .icon{filter:drop-shadow(0 1px #ffecc833)drop-shadow(0 -1px #0009)}.tc-text{color:var(--text);margin:9px 0 0}.tc-effects{background:#0003;border-radius:8px;margin:10px 0 0;padding:7px 11px;list-style:none;box-shadow:inset 0 1px 2px #00000059}.tc-effects li+li{margin-top:3px}.tc-line{align-items:baseline;gap:7px;display:flex}.tc-subject{color:var(--text-faint);font-size:13px}.tc-property{flex:1;font-size:15px}.tc-value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.tc-value.good{color:var(--hypha)}.tc-value.bad{color:var(--rose)}.tc-unlock .tc-line{color:var(--nutrient);gap:8px}.tc-unlock.limit .tc-line{color:var(--rose)}.tc-tag{letter-spacing:.12em;text-transform:uppercase;opacity:.75;flex:none;font-size:11px;font-weight:700}.tc-label{font-size:15px;font-weight:600}.tc-more{font-family:var(--serif);color:var(--text-dim);margin:10px 0 0;font-size:13px;font-style:italic;line-height:1.5}.tc-hint{color:var(--text-dim);justify-content:space-between;align-items:baseline;gap:10px;margin-top:10px;padding-top:9px;font-size:13px;display:flex}.tc-does{flex-direction:column;gap:2px;display:flex}.tc-alt,.tc-shift{color:var(--text-faint);font-size:12px}.tc-shift .kbd{margin:0 0 0 3px}.tc-detail{color:var(--text-dim);animation:tc-part-in .16s var(--ease) both;margin:2px 0 6px;font-size:12.5px;line-height:1.4}.tc-step{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;display:flex}.tc-step b{color:var(--text);font-weight:600}.tc-arrow{color:var(--text-faint)}.tc-gain{color:var(--hypha);white-space:nowrap;margin-left:auto;font-size:12px}.tc-caption{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-top:4px;font-size:11px;font-weight:700}.tc-note{color:var(--text-faint);margin-top:3px;font-size:11.5px}.tc-starts{margin:3px 0 0}.tc-starts div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tc-starts dt{flex:none}.tc-starts dd{color:var(--text);text-align:right;font-variant-numeric:tabular-nums;margin:0}.tc-starts .grows dt:before{content:"▴ ";color:var(--hypha)}.tc-about{margin:3px 0 0}.tc-terms{color:var(--text-dim);animation:tc-part-in .16s var(--ease) both;margin:10px 0 0;padding-top:9px;font-size:12.5px;line-height:1.4}.tc-terms div+div{margin-top:4px}.tc-terms dt{color:var(--text);margin-right:5px;font-weight:700;display:inline}.tc-terms dd{margin:0;display:inline}.tc-ground,.tc-moss{pointer-events:none;position:absolute;left:0}.tc-ground{top:0}.tc-moss{bottom:0}.trait-card>:not(.tc-ground,.tc-moss){position:relative}.tc-mottle{opacity:.13}.tc-grain{opacity:.05}.tc-motes circle{fill:var(--vein);transform-box:fill-box;animation:6s ease-in-out infinite tc-mote}@keyframes tc-mote{0%{opacity:0;transform:translate(0)}35%{opacity:.55}to{opacity:0;transform:translate(-7px,-12px)}}.moss-body{fill:color-mix(in srgb, var(--moss) 28%, #0b0d07)}.moss-0{fill:color-mix(in srgb, var(--moss) 40%, #0b0d07)}.moss-1{fill:color-mix(in srgb, var(--moss) 52%, #0e1109)}.moss-fronds{fill:none;stroke:color-mix(in srgb, var(--moss) 62%, #0e1109);stroke-width:.6px;stroke-linecap:round}.moss-2{fill:color-mix(in srgb, var(--lichen) 40%, var(--moss));opacity:.6}.stalk{fill:none;stroke:color-mix(in srgb, var(--nutrient) 40%, #3a2a16);stroke-width:.7px;stroke-linecap:round}.capsule{fill:color-mix(in srgb, var(--nutrient) 65%, #5a3a1a)}.tc-moss-grow,.tc-stalks>g{transform-box:fill-box;transform-origin:50% 100%}.tc-moss-grow{animation:tc-moss-in .45s var(--ease) both}.tc-stalks>g{animation:tc-moss-in .35s var(--ease) both}@keyframes tc-moss-in{0%{opacity:0;transform:scaleY(.15)}}.tc-terms:before,.tc-hint:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--vein) 40%, #d6c8a04d) 30% 70%, transparent);height:6px;position:absolute;top:-3px;left:0;right:0;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='6'><path d='M0 3 C16 1.4 32 4.6 48 3 S80 1.4 96 3' fill='none' stroke='black' stroke-width='1.1'/></svg>") repeat-x;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='6'><path d='M0 3 C16 1.4 32 4.6 48 3 S80 1.4 96 3' fill='none' stroke='black' stroke-width='1.1'/></svg>") repeat-x}.tc-terms:after,.tc-hint:after{content:"";background:color-mix(in srgb, var(--vein) 70%, var(--text));width:4px;height:4px;box-shadow:0 0 6px color-mix(in srgb, var(--vein) 60%, transparent);opacity:.8;border-radius:50%;position:absolute;top:-2px;left:calc(50% - 2px)}.appear{animation:appear .9s var(--ease)}@keyframes appear{0%{opacity:0;transform:translateY(6px)}}.dev-console{z-index:60;border:1px solid var(--line-strong);width:380px;color:var(--text-dim);-webkit-user-select:text;user-select:text;background:#0a090cf0;border-radius:12px;padding:14px;font:12px/1.45 ui-monospace,SF Mono,Menlo,monospace;position:fixed;top:12px;bottom:12px;right:12px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.dev-console header{color:var(--text);justify-content:space-between;margin-bottom:10px;display:flex}.dev-actions{gap:6px;margin-bottom:8px;display:flex}.dev-actions .btn{height:28px;padding:0 10px;font-size:12px}.dev-note{color:var(--hypha);margin:4px 0 8px}.dev-tree{margin:0}.dev-tree dt{color:var(--text-faint)}.dev-row{justify-content:space-between;gap:12px;padding:1px 0;display:flex}.dev-row dd{color:var(--text);text-align:right;margin:0}.dev-group{margin-top:8px}.dev-group>dt{text-transform:uppercase;letter-spacing:.1em;color:var(--nutrient);border-bottom:1px solid var(--line);margin-bottom:3px}.dev-group>dd{margin:0}.dev-console textarea{border:1px solid var(--line-strong);width:100%;height:90px;color:var(--text);font:inherit;resize:vertical;background:#ffffff08;border-radius:8px;margin:12px 0 8px;padding:8px}.badge{background:var(--nutrient);color:#1a1206;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid;box-shadow:0 0 10px #f2b45a80}.effect-lines{margin:8px 0 0;padding:0;font-size:12px;line-height:1.5;list-style:none}.effect-lines li{align-items:baseline;gap:6px;display:flex}.effect-lines .subject{color:var(--text-faint)}.effect-lines .subject:empty{display:none}.effect-lines .property{color:var(--text-dim);flex:1}.effect-lines .value{font-variant-numeric:tabular-nums;font-weight:600}.effect-lines .value.good{color:var(--hypha)}.effect-lines .value.bad{color:var(--rose)}.effect-lines .unlock{color:var(--nutrient)}.effect-lines .limit{color:var(--rose)}.stats-panel{z-index:2;width:290px;max-height:calc(100% - 150px);padding:16px 20px;position:absolute;top:92px;right:26px;overflow-y:auto}.stats-panel h3{font-family:var(--serif);margin:0 0 6px;font-size:17px;font-weight:400}.stats-panel h4{letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:12px 0 0;font-size:11px;font-weight:600}.stats-panel .effect-lines{margin-top:4px}.dev-genome{z-index:70;border:1px solid var(--line-strong);font:12px/1.4 var(--sans);color:var(--text-dim);background:#0a090cf7;border-radius:12px;flex-direction:column;display:flex;position:fixed;inset:12px;box-shadow:0 20px 60px #00000080}.dev-genome header{border-bottom:1px solid var(--line);color:var(--text);align-items:center;gap:16px;padding:10px 14px;display:flex}.dev-genome header .btn{height:28px;margin-left:auto}.dev-genome-scroll{flex:1;overflow:auto}.dev-genome-canvas{position:relative}.dev-genome-canvas svg{position:absolute;inset:0}.dev-genome-canvas path{fill:none;stroke:var(--line-strong);stroke-width:1.5px}.dev-genome-canvas path.owned{stroke:var(--hypha)}.dev-genome-canvas .ring-label{fill:var(--text-faint);font-size:10px}.dev-genome-branch{text-align:center;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600;position:absolute;top:8px}.dev-genome-card{z-index:1;text-align:left;font:inherit;color:var(--text-dim);background:var(--soil-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:7px 9px;position:absolute}.dev-genome-card:hover{border-color:var(--line-strong);background:var(--soil-3)}.dev-genome-card.notable{box-shadow:inset 0 0 0 1px var(--line-strong)}.dev-genome-card.keystone{box-shadow:inset 0 0 0 2px var(--line-strong)}.dev-genome-card.locked{opacity:.55}.dev-genome-card.available .cost{color:var(--nutrient)}.dev-genome-card.owned .cost{color:var(--hypha)}.dev-genome-card .name{color:var(--text);justify-content:space-between;gap:8px;font-weight:600;display:flex}.dev-genome-card .step{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-right:6px;font-size:11px;font-weight:500}.dev-genome-card .cost{font-variant-numeric:tabular-nums;color:var(--text-faint);font-weight:500}.dev-genome-card .effect-lines{margin-top:4px;font-size:11px}.effect-lines li.with-total{flex-wrap:wrap}.effect-lines .total{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;flex-basis:100%;margin-top:-1px;font-size:11px}.effect-lines .total:before{content:"→ ";color:var(--text-faint)}.dev-genome-card .base{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-top:1px;font-size:10px}
