@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-latin-400-normal-BV_iYGc9.woff2)format("woff2"),url(/assets/noto-serif-latin-400-normal-DT0cwSa_.woff)format("woff")}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-serif-latin-500-normal-D33jzduc.woff2)format("woff2"),url(/assets/noto-serif-latin-500-normal-D71fw6bd.woff)format("woff")}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-serif-latin-600-normal-BiuDA9L7.woff2)format("woff2"),url(/assets/noto-serif-latin-600-normal-RZopCp-J.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-sans-latin-400-normal-gapTbOY8.woff2)format("woff2"),url(/assets/geist-sans-latin-400-normal-BOaIZNA2.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-sans-latin-500-normal-uokXdC-Q.woff2)format("woff2"),url(/assets/geist-sans-latin-500-normal-CN2lyvyL.woff)format("woff")}@font-face{font-family:Geist Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-sans-latin-600-normal-DFOURf8L.woff2)format("woff2"),url(/assets/geist-sans-latin-600-normal-CA1yjETN.woff)format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-mono-latin-400-normal-DTRLJnHl.woff2)format("woff2"),url(/assets/geist-mono-latin-400-normal-B2yvC1Cq.woff)format("woff")}:root{--papel:#eff1e9;--lamina:#f8f9f4;--lavado:#cfdccb;--arena:#e6d5b3;--ceniza:#cdd4c8;--piedra:#66706a;--tinta:#1c2621;--bosque:#1f4d3d;--sello:#b8432f;--agua:#2f6f86;--jade:#3e8a6a;--brote:#7faf5b;--trigo:#c9b64a;--oro:#e3a92b;--serif:"Noto Serif", Georgia, serif;--ui:"Geist Sans", system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--r-btn:8px;--r-panel:14px;--r-pill:999px;--sombra:0 6px 16px #1f4d3d21;--sombra-alta:0 18px 36px #1f4d3d2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--papel);color:var(--tinta);font:15px/1.5 var(--ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:500;line-height:1.2}h2{font-size:26px}h3{font-size:18px}p{margin:0}a{color:var(--bosque)}code,.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--piedra)}.small{font-size:13px}:focus-visible{outline:2px solid var(--bosque);outline-offset:2px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:40px;padding:0 var(--s4);border-radius:var(--r-btn);white-space:nowrap;font-size:14px;font-weight:500;display:inline-flex}.btn.small{min-height:34px;padding:0 var(--s3);font-size:13px}.btn.primary{background:var(--bosque);color:var(--lamina)}.btn.ghost{border:1px solid var(--bosque);color:var(--bosque)}.btn.danger{border:1px solid var(--sello);color:var(--sello)}.btn:disabled{opacity:.5;cursor:default}.icon-btn{width:40px;height:40px;color:var(--tinta);border-radius:50%;place-items:center;display:grid}.icon-btn:hover,.icon-btn.on{background:var(--lamina);color:var(--bosque)}.chip{min-height:28px;padding:0 var(--s3);border-radius:var(--r-pill);border:1px solid var(--ceniza);background:var(--lamina);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.panel{background:var(--lamina);border:1px solid var(--ceniza);border-radius:var(--r-panel);box-shadow:var(--sombra)}.avatar{color:#fff;width:32px;height:32px;font:600 12px var(--ui);box-shadow:0 0 0 2px var(--papel), 0 0 0 3.5px var(--tinta);border-radius:50%;place-items:center;display:grid}.avatar.big{width:76px;height:76px;box-shadow:0 0 0 4px var(--papel), 0 0 0 6px var(--tinta);font-size:22px}.field{gap:6px;min-width:0;display:grid}.field>span{color:var(--piedra);font-size:13px;font-weight:500}.field input,.field textarea{width:100%;font:16px var(--ui);color:var(--tinta);background:var(--lamina);border:1px solid var(--ceniza);border-radius:var(--r-btn);padding:10px 12px}.field textarea{font-family:var(--serif);resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--bosque);outline:none}.app{grid-template-rows:auto 1fr auto;height:100dvh;display:grid}.topbar{z-index:10;align-items:center;gap:var(--s3);padding:calc(var(--s2) + env(safe-area-inset-top)) max(var(--s4), env(safe-area-inset-right)) var(--s2) max(var(--s4), env(safe-area-inset-left));background:var(--papel);border-bottom:1px solid var(--ceniza);display:flex;position:relative}.brand{align-items:center;gap:var(--s2);color:var(--tinta);text-decoration:none;display:flex}.brand-name{font:500 19px var(--serif)}.view-title{font-size:19px;display:none}.views-pill{border-radius:var(--r-pill);background:var(--lamina);border:1px solid var(--ceniza);margin:0 auto;padding:3px;display:flex}.views-pill button{min-height:34px;padding:0 var(--s4);border-radius:var(--r-pill);color:var(--piedra);font-size:14px}.views-pill button.on{background:var(--bosque);color:var(--lamina);font-weight:500}@media (width>=1100px){.views-pill{position:absolute;left:50%;transform:translate(-50%)}}.topbar-actions{align-items:center;gap:var(--s2);margin-left:auto;display:flex}.chip.offline{color:var(--sello);border-color:color-mix(in srgb, var(--sello) 40%, var(--ceniza))}.main{min-height:0;position:relative;overflow:hidden}.loading{color:var(--piedra);place-items:center;display:grid;position:absolute;inset:0}.fab{right:max(var(--s4), env(safe-area-inset-right));z-index:5;background:var(--bosque);width:56px;height:56px;color:var(--lamina);box-shadow:var(--sombra-alta);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:40px}.bottomnav{padding:var(--s1) max(var(--s2), env(safe-area-inset-right)) calc(var(--s1) + env(safe-area-inset-bottom)) max(var(--s2), env(safe-area-inset-left));background:var(--papel);border-top:1px solid var(--ceniza);display:none}.bottomnav button{color:var(--piedra);flex:1;justify-items:center;gap:2px;padding:6px 0;font-size:12px;display:grid}.bottomnav button.on{color:var(--bosque);font-weight:600}.bottomnav button.on .icon{stroke-width:1.8px}.toast-zone{left:0;right:0;bottom:calc(96px + env(safe-area-inset-bottom));z-index:50;pointer-events:none;justify-items:center;display:grid;position:fixed}.toast{border-radius:var(--r-pill);background:var(--bosque);color:var(--lamina);box-shadow:var(--sombra-alta);padding:10px 20px;font-size:14px;font-weight:500;animation:.25s ease-out both toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.mobile-only{display:none}@media (width<=767px){.brand-name,.views-pill,.desktop-only{display:none}.mobile-only{display:grid}.view-title{display:block}.bottomnav{display:flex}.toast-zone{bottom:calc(150px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.view-fill,.view-fill .map-box{position:absolute;inset:0}.count-badge{top:var(--s3);left:max(var(--s3), env(safe-area-inset-left));z-index:2;color:var(--piedra);background:color-mix(in srgb, var(--lamina) 90%, transparent);margin:0;position:absolute}.empty{justify-items:center;gap:var(--s2);padding:var(--s5) var(--s5) 112px;text-align:center;grid-template-rows:1fr auto auto;display:grid;position:absolute;inset:0}.empty-tree{width:100%;max-width:420px;min-height:200px;position:relative}.empty-tree canvas{display:block;position:absolute;inset:0}.empty h2{font-size:22px}.empty p{max-width:34ch}.settings{align-content:start;gap:var(--s4);padding:var(--s5) max(var(--s4), env(safe-area-inset-right)) var(--s7) max(var(--s4), env(safe-area-inset-left));max-width:640px;margin:0 auto;display:grid;position:absolute;inset:0;overflow-y:auto}.settings .panel{gap:var(--s3);padding:var(--s4) var(--s5);justify-items:start;display:grid}.settings .row{align-items:center;gap:var(--s2);color:var(--bosque);display:flex}.settings .about{grid-template-columns:auto 1fr;align-items:center}.settings .profile-row{color:var(--tinta)}.settings .buttons{gap:var(--s2);flex-wrap:wrap;display:flex}.settings .password-form{gap:var(--s3);width:100%;display:grid}.settings .error{color:var(--sello)}.intro{z-index:60;background:var(--papel);cursor:pointer;place-items:center;animation:.5s 2.6s both intro-out;display:grid;position:fixed;inset:0}.intro>*{grid-area:1/1}.intro-drop{background:var(--bosque);border-radius:50%/60% 60% 40% 40%;width:14px;height:14px;margin-bottom:120px;animation:.45s cubic-bezier(.5,0,1,.6) both intro-drop}.intro-wash{filter:blur(6px);background:radial-gradient(circle,#3e8a6a59,#cfdccb40 55%,#0000 72%);border-radius:50%;width:260px;height:260px;margin-bottom:120px;animation:1.3s ease-out .4s both intro-wash}.intro-logo{width:120px;height:120px;margin-bottom:120px;overflow:visible}.intro-stroke{fill:none;stroke:#fff;stroke-width:6px;stroke-dasharray:1 1;stroke-dashoffset:1px;animation:.9s cubic-bezier(.55,.1,.35,1) .75s forwards intro-brush}.intro-bud{transform-box:fill-box;transform-origin:20% 80%;animation:.6s cubic-bezier(.2,.8,.3,1.4) 1.55s both intro-bud}.intro-text{font-family:var(--serif);justify-items:center;gap:2px;margin:140px 0 0;animation:.7s 1.8s both intro-text;display:grid}.intro-text span{color:var(--piedra);font-size:18px}.intro-text strong{font-size:40px;font-weight:500}@keyframes intro-drop{0%{transform:translateY(-45vh)scale(.8)}95%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes intro-wash{0%{opacity:.9;transform:scale(.05)}to{opacity:1;transform:scale(1)}}@keyframes intro-brush{to{stroke-dashoffset:0}}@keyframes intro-bud{0%{opacity:0;transform:scale(0)}}@keyframes intro-text{0%{opacity:0;transform:translateY(8px)}}@keyframes intro-out{to{opacity:0;visibility:hidden}}.welcome{background:var(--papel);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.welcome-tree{position:absolute;inset:72px 0 240px}.welcome-tree canvas{display:block;position:absolute;inset:0}.tree-fade{pointer-events:none;background:linear-gradient(to bottom, transparent, var(--papel));height:35%;transition:opacity .8s;position:absolute;bottom:0;left:0;right:0}.welcome-brand{justify-content:center;align-items:center;gap:var(--s2);padding:var(--s5) 0 0;font:500 22px var(--serif);display:flex;position:relative}.welcome-panel{justify-items:center;gap:var(--s4);padding:var(--s5) var(--s5) var(--s7);text-align:center;grid-row:3;display:grid;position:relative}.welcome-panel h1{font-size:24px}.welcome-panel .error{min-height:1.5em;color:var(--sello);font-size:14px}.password{width:min(360px,100%);padding:5px 5px 5px var(--s5);background:var(--lamina);border:1px solid var(--ceniza);border-radius:var(--r-pill);box-shadow:var(--sombra);align-items:center;display:flex}.password:focus-within{border-color:var(--bosque)}.password.bad{border-color:var(--sello)}.password input{min-width:0;font:16px var(--ui);color:var(--tinta);background:0 0;border:0;outline:none;flex:1}.password button{background:var(--bosque);width:44px;height:44px;color:var(--lamina);border-radius:50%;place-items:center;display:grid}.password button:disabled{opacity:.45}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.profiles{gap:var(--s6);display:flex}.profile{justify-items:center;gap:var(--s2);font:500 17px var(--serif);display:grid}.appear{animation:.7s both appear}@keyframes appear{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.shake,.appear{animation:none}}.sheet-backdrop{z-index:40;padding:var(--s5);background:#1c262152;place-items:center;animation:.2s both fade;display:grid;position:fixed;inset:0}.sheet{background:var(--papel);border:1px solid var(--ceniza);border-radius:var(--r-panel);width:min(560px,100%);max-height:min(860px,100%);box-shadow:var(--sombra-alta);grid-template-rows:auto 1fr auto;animation:.25s ease-out both rise;display:grid;overflow:hidden}.sheet>form{display:contents}.sheet-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s3) var(--s3) var(--s5);border-bottom:1px solid var(--ceniza);display:flex}.sheet-head h2{overflow-wrap:anywhere;flex:1;font-size:21px}.sheet-head .icon-btn:first-child{margin-left:calc(-1 * var(--s3))}.sheet-body{align-content:start;gap:var(--s4);padding:var(--s5);display:grid;overflow-y:auto}.sheet-foot{justify-content:flex-end;align-items:center;gap:var(--s2);padding:var(--s3) var(--s5) calc(var(--s3) + env(safe-area-inset-bottom));border-top:1px solid var(--ceniza);flex-wrap:wrap;display:flex}.sheet-foot .btn.danger:first-child{margin-right:auto}.sheet-foot .confirm{color:var(--sello);margin-right:auto;font-weight:500}.sheet .meta{color:var(--piedra);font-weight:500}.sheet .note{font:17px/1.6 var(--serif);white-space:pre-wrap}.sheet .byline{align-items:center;gap:var(--s3);flex-wrap:wrap;font-size:14px;display:flex}.sheet .byline .mono{margin-left:auto;font-size:12px}.field-row{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.sheet .error{color:var(--sello)}.place-picker{gap:var(--s2);display:grid}.place-map{border:1px solid var(--ceniza);border-radius:var(--r-btn);height:220px;position:relative;overflow:hidden}.place-tools{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.pin{cursor:grab;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 34'%3E%3Cpath d='M13 33S2 21.5 2 13a11 11 0 0122 0c0 8.5-11 20-11 20z' fill='%231F4D3D' stroke='%23F8F9F4' stroke-width='2'/%3E%3Ccircle cx='13' cy='13' r='4.5' fill='%23E3A92B'/%3E%3C/svg%3E") 50%/contain no-repeat;width:26px;height:34px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@media (width<=767px){.sheet-backdrop{padding:0}.sheet{width:100%;height:100%;max-height:none;padding-top:env(safe-area-inset-top);border:0;border-radius:0}.field-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.sheet-backdrop,.sheet{animation:none}}
