.capture{display:flex;gap:.5rem;padding:.95rem 1.1rem;background:linear-gradient(#fff,#fbfdf8);border:1px solid #dfeada;border-radius:16px;box-shadow:0 4px 16px #2f8f3b29}.capture-input{flex:1;border:none;outline:none;font-size:1.05rem;font-family:inherit;color:var(--ink);background:transparent}.capture-input::placeholder{color:var(--ink-faint)}.capture-date-hint{align-self:center;flex-shrink:0;font-size:.8rem;font-weight:600;color:var(--color-action);background:var(--color-action-soft);border-radius:999px;padding:.3rem .7rem;white-space:nowrap}.capture-button{border:none;border-radius:10px;padding:.5rem 1.1rem;background:var(--color-action);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .15s ease}.capture-button:disabled{opacity:.35;cursor:default}.capture-button:not(:disabled):hover{background:var(--color-action-hover)}.task-row-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 6px #1e28140f;overflow:hidden}.task-row{display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem}.task-check{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #a9c99a;background:transparent;display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .12s ease}.task-check:hover{border-color:var(--color-action)}.task-check-dot{width:10px;height:10px;border-radius:50%;background:transparent;transition:background .12s ease}.task-check:hover .task-check-dot{background:var(--color-action)}.task-title{flex:1;text-align:left;border:none;background:transparent;font-family:inherit;color:var(--ink);font-size:1rem;cursor:pointer;padding:0}.task-tag{flex:none;font-size:.72rem;color:#6a8f56;background:#eef7e9;border-radius:999px;padding:.15rem .55rem}.task-star{flex:none;border:none;background:transparent;font-size:1.1rem;line-height:1;color:#cfd6c4;cursor:pointer;padding:0}.task-star:hover,.task-star--active{color:#e0b84a}.task-let-go{flex:none;border:none;background:transparent;font-size:.85rem;line-height:1;color:#cfd6c4;cursor:pointer;padding:0}.task-let-go:hover{color:#b06a5a}.task-date-pill{flex:none;font-size:.75rem;color:#8a9280;background:#f0f2ea;border-radius:999px;padding:.15rem .55rem}.task-editor{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .8rem .75rem;border-top:1px solid #eef1e7;background:#fafcf7}.task-editor-field{display:flex;flex-direction:column;gap:.15rem;font-size:.72rem;color:#7c8a6e}.task-editor-field select,.task-editor-field input{font-family:inherit;font-size:.85rem;padding:.25rem .4rem;border:1px solid #dce4d3;border-radius:8px;color:#2b3324;background:#fff}.task-editor-clear,.task-editor-plan-time,.task-editor-done{border:none;border-radius:8px;padding:.35rem .65rem;font-size:.78rem;font-family:inherit;cursor:pointer;align-self:flex-end}.task-editor-clear,.task-editor-plan-time{background:#f0f2ea;color:#7c8a6e}.task-editor-done{background:var(--color-action);color:#fff;margin-left:auto}.task-section{display:flex;flex-direction:column}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.task-list-empty{margin:.25rem 0 0;color:#7c8a6e;font-size:.9rem}.let-go-pile{margin-top:.5rem}.let-go-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.let-go-row{display:flex;align-items:center;gap:.5rem;background:#f3f6ee;border-radius:10px;padding:.4rem .7rem}.let-go-title{flex:1;color:#6a7460;font-size:.85rem}.let-go-bring-back{flex:none;border:none;background:transparent;color:#9aa78e;font-size:.75rem;font-family:inherit;cursor:pointer;padding:0}.let-go-bring-back:hover{color:var(--color-action)}.new-goal-trigger{align-self:flex-start;border:1px dashed #c3d4b3;background:transparent;border-radius:10px;padding:.5rem .9rem;color:var(--color-action);font-weight:600;font-size:.9rem;font-family:inherit;cursor:pointer}.new-goal-trigger:hover{background:#f3f8ee}.new-goal-trigger--compact{padding:.35rem .7rem;font-size:.8rem;border-radius:8px}.new-goal-form{display:flex;gap:.4rem;background:#fff;border-radius:12px;padding:.6rem;box-shadow:0 1px 6px #1e28140f}.new-goal-form--compact{padding:.45rem;border-radius:10px}.new-goal-form--compact .new-goal-input{font-size:.85rem}.new-goal-input{flex:1;border:none;outline:none;font-family:inherit;font-size:.95rem;color:#2b3324}.new-goal-submit,.new-goal-cancel{border:none;border-radius:8px;padding:.35rem .7rem;font-family:inherit;font-size:.85rem;cursor:pointer}.new-goal-submit{background:var(--color-action);color:#fff;font-weight:600;transition:background .15s ease}.new-goal-submit:not(:disabled):hover{background:var(--color-action-hover)}.new-goal-submit:disabled{opacity:.4;cursor:default}.new-goal-cancel{background:transparent;color:#9aa78e}.goal-card{background:#fff;border-radius:16px;border-left:7px solid var(--color-action);padding:1.15rem 1.3rem;box-shadow:0 4px 16px #1e28141a;display:flex;flex-direction:column;gap:.75rem}.goal-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.goal-title{margin:0;font-size:1.35rem;font-weight:700;color:#2b3324}.goal-pct{flex:none;font-size:1.9rem;font-weight:800;line-height:1}.goal-progress-row{display:flex;align-items:center;gap:.6rem}.goal-count{flex:none;font-size:.8rem;color:#7c8a6e;font-weight:600}.goal-progress-track{flex:1;height:11px;border-radius:999px;background:#eef1e7;overflow:hidden}.goal-progress-fill{height:100%;background:var(--color-action);border-radius:999px;transition:width .3s ease}.goal-task-list{margin:0}.goal-add{display:flex;gap:.4rem}.goal-add-input{flex:1;border:1px solid #e3ead9;border-radius:10px;padding:.4rem .6rem;font-family:inherit;font-size:.9rem;color:#2b3324;outline:none}.goal-add-input:focus{border-color:#a9c99a}.goal-add-button{border:none;border-radius:10px;padding:.4rem .8rem;background:var(--color-action);color:#fff;font-weight:600;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background .15s ease}.goal-add-button:not(:disabled):hover{background:var(--color-action-hover)}.goal-add-button:disabled{opacity:.35;cursor:default}.goal-achieve{align-self:flex-start;border:none;background:transparent;color:#7c8a6e;font-size:.78rem;font-family:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.goal-achieve:hover{color:var(--color-action)}.goal-card--achieved{flex-direction:row;align-items:center;gap:.6rem;padding:.55rem .9rem;box-shadow:none;background:#f3f6ee}.goal-achieved-badge{flex:none;color:var(--color-action);font-weight:700}.goal-achieved-title{flex:1;color:#6a7460;font-size:.92rem;text-decoration:line-through;text-decoration-color:#b9c4ac}.goal-reopen{flex:none;border:none;background:transparent;color:#9aa78e;font-size:.75rem;font-family:inherit;cursor:pointer}.goal-reopen:hover{color:var(--color-action)}.goal-subgoals{display:flex;flex-direction:column;gap:.6rem;margin-left:.2rem;padding-left:1rem;border-left:2px dashed #dde6d0}.goal-card--sub{padding:.8rem .95rem;border-radius:12px;border-left-width:4px;box-shadow:0 2px 8px #1e28140f;gap:.55rem}.goal-card--sub .goal-title{font-size:1.05rem}.goal-card--sub .goal-pct{font-size:1.35rem}.goal-card--sub.goal-card--achieved{padding:.45rem .75rem}.goal-subgoals-achieved-pile{margin-top:-.1rem}.goal-subgoals-achieved{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.goals-section{display:flex;flex-direction:column;gap:.75rem}.goals-achieved-pile{margin-top:.2rem}.goals-achieved{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.session-form-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;overflow-y:auto;padding:1rem;background:#141e0f75}.session-form{width:min(590px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;display:flex;flex-direction:column;gap:.8rem;padding:1.15rem;border-radius:16px;background:#fff;box-shadow:0 16px 38px #141e0f47}.session-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.session-form-heading h2{margin:0;color:#2b3324;font-size:1.12rem}.session-form-heading p{margin:.25rem 0 0;color:#74806c;font-size:.8rem}.session-form-close{border:0;background:transparent;color:#87917f;font-size:1.3rem;cursor:pointer}.session-form-quickstart{display:flex;flex-wrap:wrap;gap:.4rem}.session-form-quickstart button{border:1px solid #d8e2d1;border-radius:999px;padding:.35rem .7rem;background:#f4f7f0;color:#4c5a42;font:inherit;font-size:.74rem;font-weight:600;cursor:pointer}.session-form-quickstart button:hover{background:#e9efe2}.session-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.session-form label{display:flex;flex-direction:column;gap:.28rem;color:#58664d;font-size:.76rem;font-weight:700}.session-form label span{color:#98a191;font-weight:500}.session-form input,.session-form select,.session-form textarea{width:100%;border:1px solid #d8e2d1;border-radius:8px;padding:.55rem .62rem;background:#fbfcfa;color:#34402f;font:inherit;font-size:.84rem}.session-form input:focus,.session-form select:focus,.session-form textarea:focus{outline:2px solid #b9d4aa;border-color:#82ac6e}.session-form-weekdays{display:flex;gap:.35rem}.session-form-weekday{width:2.1rem;height:2.1rem;border-radius:999px;border:1px solid #d8e2d1;background:#fbfcfa;color:#58664d;font:inherit;font-weight:700;cursor:pointer}.session-form-weekday--active{background:var(--color-action);border-color:var(--color-action);color:#fff}.session-form-message{margin:0;padding:.55rem .65rem;border-radius:8px;background:#fff3e7;color:#875a31;font-size:.8rem}.session-form-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.session-form-actions-end{display:flex;gap:.5rem;margin-left:auto}.session-form-actions button{border:0;border-radius:8px;padding:.55rem .8rem;background:#eef0e9;color:#58664d;font:inherit;font-size:.8rem;cursor:pointer}.session-form-actions button:disabled{cursor:wait;opacity:.6}.session-form-actions .session-form-primary{background:var(--color-action);color:#fff;font-weight:750}.session-form-actions .session-form-cancel-session{background:#fdeceb;color:#a1382b}@media(max-width:560px){.session-form-grid{grid-template-columns:1fr}}.calendar{display:flex;flex-direction:column;gap:.9rem}.calendar-connection{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #dfe7d9}.calendar-connection strong{color:#2b3324;font-size:.95rem}.calendar-connection p{margin:.18rem 0 0;color:#77836d;font-size:.8rem}.calendar-connection-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.calendar-connection-actions a,.calendar-connection-actions button{border:1px solid #cddbc4;background:#fff;color:#4d6944;border-radius:8px;padding:.42rem .72rem;font:inherit;font-size:.78rem;text-decoration:none;cursor:pointer}.calendar-connection-actions a:hover,.calendar-connection-actions button:hover:not(:disabled){border-color:var(--color-action);color:var(--color-action)}.calendar-connection-actions button:disabled{cursor:wait;opacity:.55}.calendar-connection-actions .calendar-disconnect{color:#80766d;border-color:transparent;background:transparent}.calendar-connection-actions .calendar-enable-adding,.calendar-connection-actions .calendar-add-class{border-color:var(--color-action);background:var(--color-action);color:#fff;font-weight:750}.calendar-connection-actions .calendar-enable-adding:hover,.calendar-connection-actions .calendar-add-class:hover:not(:disabled){color:#fff;filter:brightness(.96)}.calendar-message{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-left:3px solid #91ad7e;padding:.55rem .7rem;background:#f5f8f2;color:#55604d;font-size:.8rem}.calendar-message button{border:0;background:transparent;color:#87917f;cursor:pointer;font-size:1rem}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.calendar-nav-arrow{border:none;background:#fff;box-shadow:0 1px 6px #1e281414;border-radius:999px;width:34px;height:34px;font-size:1.1rem;color:var(--color-action);cursor:pointer}.calendar-nav-center{display:flex;align-items:center;gap:.6rem}.calendar-range{font-size:.95rem;font-weight:600;color:#2b3324}.calendar-today{border:1px solid #dce4d3;background:#fff;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;color:#7c8a6e;font-family:inherit;cursor:pointer}.calendar-today:hover{border-color:var(--color-action);color:var(--color-action)}.calendar-view-switch{align-self:center;display:inline-flex;padding:.2rem;border:1px solid #dce4d3;border-radius:999px;background:#fff}.calendar-view-option{border:0;border-radius:999px;padding:.35rem .85rem;background:transparent;color:#78866e;font:inherit;font-size:.78rem;cursor:pointer}.calendar-view-option:hover{color:var(--color-action)}.calendar-view-option--active{background:#eaf3e4;color:#446b37;font-weight:750}.calendar-grid-shell{max-width:100%}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.calendar-grid--day{grid-template-columns:minmax(0,1fr)}.calendar-grid--day .calendar-day{min-height:240px}.calendar-grid--month{gap:.35rem}.calendar-grid--month .calendar-day{min-height:118px;padding:.45rem}.calendar-grid--month .calendar-external-event{padding:.25rem .3rem}.calendar-grid--month .calendar-external-time,.calendar-grid--month .calendar-external-location,.calendar-grid--month .calendar-external-event small{display:none}.calendar-grid--month .calendar-external-event strong{font-size:.69rem}.calendar-grid--month .calendar-day-tasks .task-row{padding:.28rem .35rem}.calendar-grid--month .calendar-day-tasks .task-title{font-size:.72rem}.calendar-day--outside-month{background:#f7f8f5;opacity:.58}@media(max-width:640px){.calendar-connection{align-items:flex-start;flex-direction:column}.calendar-nav-center{flex-direction:column;gap:.25rem}.calendar-range{text-align:center}.calendar-grid-shell--week,.calendar-grid-shell--month{overflow-x:auto;padding-bottom:.35rem}.calendar-grid--week,.calendar-grid--month{min-width:760px;grid-template-columns:repeat(7,minmax(96px,1fr))}}.calendar-day{background:#fff;border-radius:12px;padding:.6rem;box-shadow:0 1px 6px #1e28140f;display:flex;flex-direction:column;gap:.4rem;min-height:90px}.calendar-day--today{background:#f3f8ee;box-shadow:0 0 0 2px #cfe4bf inset}.calendar-day--clickable{cursor:pointer}.calendar-day--clickable:hover{box-shadow:0 0 0 2px #b9d4aa inset}.calendar-day-header{display:flex;align-items:baseline;gap:.35rem}.calendar-day-weekday{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#9aa78e}.calendar-day-num{font-size:.95rem;font-weight:700;color:#2b3324}.calendar-day-empty{margin:0;color:#c3cbb7;font-size:.85rem}.calendar-day-more{margin:0;color:#78866e;font-size:.7rem;font-weight:700}.calendar-day-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.calendar-day-tasks .task-row{padding:.4rem .5rem;flex-wrap:wrap}.calendar-day-tasks .task-title{font-size:.85rem}.calendar-external-event{display:flex;flex-direction:column;gap:.08rem;border-left:3px solid #6f8f66;padding:.32rem .4rem;color:#34402f;text-decoration:none;background:#f8faf6}button.calendar-external-event--sanctuary{width:100%;border:none;border-left:3px solid #6f8f66;font:inherit;text-align:left;cursor:pointer}.calendar-external-event:hover{background:#f0f5ed}.calendar-external-event strong{overflow:hidden;text-overflow:ellipsis;font-size:.78rem;white-space:nowrap}.calendar-external-time,.calendar-external-location,.calendar-external-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-external-time{color:#697761;font-size:.68rem}.calendar-external-location{color:#6f7869;font-size:.68rem}.calendar-external-event small{color:#98a292;font-size:.62rem}.material-bag{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:0 1rem}.material-chip{display:flex;align-items:center;gap:.4rem;border:2px solid transparent;border-radius:999px;background:#fff;padding:.4rem .8rem;cursor:pointer;box-shadow:0 1px 6px #1e281414;font-family:inherit}.material-chip:disabled{opacity:.35;cursor:default}.material-chip--selected{border-color:#f5d76e;background:#fff8e0}.material-swatch{width:12px;height:12px;border-radius:50%;flex:none}.material-chip--shop{border-color:#f0dca8}.material-chip--shop.material-chip--selected{border-color:#f5d76e}.material-swatch--shop{display:grid;place-items:center;background:transparent;color:#c9a63e;font-size:.8rem}.material-chip--trophy{border-color:#e0b84a}.material-chip--trophy.material-chip--selected{border-color:#d6a020}.material-swatch--trophy{display:grid;place-items:center;background:transparent;font-size:.9rem}.material-label{font-size:.85rem;color:#2b3324}.material-count{font-size:.8rem;font-weight:700;color:var(--color-action);min-width:1ch}.bestiary{background:#fff;border-radius:14px;padding:.9rem 1rem;box-shadow:0 2px 10px #1e281414;width:100%;max-width:700px;margin:.75rem auto 0;box-sizing:border-box}.bestiary-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem}.bestiary-title{margin:0;font-size:.95rem;color:#2b3324}.bestiary-count{font-size:.78rem;font-weight:700;color:#9aa78e}.bestiary-back{border:none;background:transparent;font-size:.85rem;font-weight:700;color:#4f8a5f;cursor:pointer;padding:.15rem .3rem .15rem 0;margin:0 -.3rem;border-radius:6px}.bestiary-back:hover{background:#edf0e5}.bestiary-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}.bestiary-folder{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:#f7f9f2;border:none;border-radius:12px;padding:.8rem .5rem .6rem;cursor:pointer;font-family:inherit;transition:transform .1s ease,box-shadow .1s ease}.bestiary-folder:hover{box-shadow:0 2px 8px #1e28141f;transform:translateY(-1px)}.bestiary-folder--empty{opacity:.55}.bestiary-folder--complete{background:linear-gradient(135deg,#eef7ea,#e2f0dc);box-shadow:inset 0 0 0 1px #cfe6c4}.bestiary-folder-glyph{font-size:1.6rem;line-height:1}.bestiary-folder-name{font-size:.78rem;font-weight:700;color:#2b3324;text-align:center}.bestiary-folder-count{font-size:.68rem;font-weight:700;color:#9aa78e}.bestiary-group{margin-bottom:.9rem}.bestiary-group:last-child{margin-bottom:0}.bestiary-group-title{margin:0 0 .4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9aa78e;border-bottom:1px solid #edf0e5;padding-bottom:.25rem}.bestiary-group-count{font-weight:400;text-transform:none;letter-spacing:normal;color:#b7bfa8}.bestiary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.bestiary-entry{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .55rem;border-radius:10px;background:#f7f9f2}.bestiary-entry--locked{opacity:.6}.bestiary-entry--legendary{background:linear-gradient(135deg,#fdf6e3,#f7ecd0);box-shadow:inset 0 0 0 1px #e8cf94}.bestiary-entry-header{display:flex;align-items:center;gap:.5rem}.bestiary-num{font-size:.7rem;font-weight:700;color:#b7bfa8;min-width:1.8rem;margin-top:.15rem;font-variant-numeric:tabular-nums}.bestiary-swatch{width:18px;height:18px;border-radius:50%;flex:none;margin-top:.1rem}.bestiary-name{font-size:.9rem;font-weight:700;color:#2b3324}.bestiary-entry-body{min-width:0;flex:1}.bestiary-name-row{display:flex;align-items:center;gap:.3rem}.bestiary-tier-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;flex:none;padding:.1rem .4rem;border-radius:999px;color:#fff}.bestiary-tier-badge--common{background:#9aa78e}.bestiary-tier-badge--uncommon{background:#4f8a5f}.bestiary-tier-badge--rare{background:#3a7fa0}.bestiary-tier-badge--mythical{background:#8a5fc9}.bestiary-tier-badge--legendary{background:#c9924f}.bestiary-shiny-badge{font-size:.85rem;flex:none;filter:drop-shadow(0 0 2px rgba(245,215,110,.8))}.bestiary-name-input{font-size:.9rem;font-weight:700;color:#2b3324;border:1px solid transparent;border-radius:6px;padding:.05rem .3rem;margin:-.05rem -.3rem;font-family:inherit;background:transparent;width:100%;max-width:220px}.bestiary-name-input:hover{border-color:#d8ddca}.bestiary-name-input:focus{outline:none;border-color:var(--color-action);background:#fff}.bestiary-blurb{font-size:.8rem;color:#7c8a6e;margin:0}.bestiary-clue{font-size:.72rem;color:#9aa78e;font-style:italic;margin:0}.bestiary-meta-row{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.68rem;color:#9aa78e}.bestiary-variant-toggle{display:inline-flex;gap:.25rem;background:#edf0e5;border-radius:999px;padding:.15rem;width:fit-content}.bestiary-variant-btn{border:none;background:transparent;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:700;cursor:pointer;color:#6a7362}.bestiary-variant-btn--active{background:#fff;color:#2b3324;box-shadow:0 1px 3px #141e0f26}.bestiary-variant-btn--locked{color:#b7bfa8;cursor:not-allowed}.bestiary-stage-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;max-width:320px}.bestiary-stage-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:#fff;border-radius:8px;padding:.3rem;box-shadow:inset 0 0 0 1px #edf0e5}.bestiary-entry--legendary .bestiary-stage-card{padding:.4rem}.bestiary-stage-card--locked{background:#eceee5}.bestiary-stage-art{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.bestiary-entry--legendary .bestiary-stage-art{width:60px;height:60px}.bestiary-stage-art img{width:100%;height:100%;image-rendering:pixelated}.bestiary-stage-art-loading{width:70%;height:70%;border-radius:50%;background:#e5e9dd}.bestiary-stage-label{font-size:.62rem;font-weight:700;color:#9aa78e;text-transform:uppercase;letter-spacing:.03em}.creature-thumb{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:10px;background:#eef3e6;overflow:hidden}.creature-thumb img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.creature-thumb--loading{animation:creature-thumb-pulse 1.1s ease-in-out infinite}@keyframes creature-thumb-pulse{0%,to{background:#eef3e6}50%{background:#dde6d0}}.companions{background:#f8faf3;border-radius:14px;padding:.9rem 1rem;max-width:900px;margin:.75rem auto 0;display:flex;flex-direction:column;gap:.7rem}.companions-title{margin:0;font-size:.95rem;color:#2b3324}.companions-count{font-size:.78rem;font-weight:700;color:#9aa78e}.companions-empty{font-size:.82rem;color:#9aa78e;margin:0}.companions-travelling-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.45rem}.companions-travelling-portraits{display:flex;gap:.6rem;flex-wrap:wrap}.companion-portrait{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:68px}.companion-portrait-name{font-size:.68rem;font-weight:600;color:#2b3324;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.companions-groups{display:flex;flex-direction:column;gap:.4rem;border-top:1px solid rgba(20,30,15,.08);padding-top:.6rem}.companions-group{background:#fff;border-radius:10px;overflow:hidden}.companions-group-header{width:100%;display:flex;align-items:center;gap:.5rem;border:none;background:transparent;padding:.45rem .6rem;cursor:pointer;font-family:inherit;font-size:.85rem;text-align:left}.companions-group-header:focus-visible{outline:2px solid var(--color-action);outline-offset:-2px}.companions-group-name{font-weight:700;color:#2b3324;flex:1}.companions-group-count{font-size:.74rem;font-weight:700;color:#8a9578;background:#f0f3e8;border-radius:999px;padding:.05rem .5rem}.companions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem;padding:0 .6rem .6rem}.companion-card{display:flex;align-items:center;gap:.5rem;border:2px solid transparent;background:#f8faf3;border-radius:10px;padding:.45rem .5rem}.companion-card--active{border-color:#4f8a5f;background:#eef7ea}.companion-card-info{display:flex;flex-direction:column;min-width:0;flex:1}.companion-card-name{font-size:.8rem;font-weight:700;color:#2b3324;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.companion-card-species,.companion-card-meta{font-size:.68rem;color:#8a9578}.companion-card-state{font-size:.68rem;font-weight:700;color:#9aa78e}.companion-card-state--active{color:#4f8a5f}.companion-card-action{flex:none;border:none;border-radius:8px;padding:.3rem .5rem;background:var(--color-action);color:#fff;font-size:.7rem;font-weight:700;font-family:inherit;cursor:pointer}.companion-card-action:hover:not(:disabled){background:var(--color-action-hover)}.companion-card-action:disabled{background:#cfd6c4;cursor:not-allowed}.biome-selector{display:flex;flex-direction:column;gap:.9rem;padding:.5rem 0 1.5rem;max-width:900px;margin:0 auto;width:100%}.biome-selector-header{display:flex;align-items:center;justify-content:space-between}.biome-selector-title{margin:0;font-size:1.15rem;color:#2b3324}.biome-selector-coins{font-weight:700;background:#fff;border-radius:999px;padding:.3rem .7rem;box-shadow:0 1px 6px #1e28141a}.biome-overview{display:flex;flex-direction:column;gap:.4rem;background:linear-gradient(180deg,#cfe8f5,#eaf6fb 55%,#d8ecc9);border-radius:20px;padding:1.1rem;box-shadow:inset 0 0 0 1px #ffffff80}.biome-islands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem;padding-bottom:.6rem}@media(max-width:620px){.biome-islands-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:400px){.biome-islands-grid{grid-template-columns:1fr}}.biome-ocean-foundation{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding-top:.6rem;border-top:1px dashed rgba(20,60,80,.2)}.biome-ocean-foundation .biome-card{width:min(320px,100%)}.biome-ocean-caption{margin:0;font-size:.75rem;color:#3a5a66;text-align:center}.biome-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;border:none;border-radius:16px;padding:.8rem .6rem .7rem;background:linear-gradient(160deg,var(--biome-color-light, #fff) 0%,var(--biome-color, #eee) 100%);cursor:pointer;font-family:inherit;color:#2b3324;box-shadow:0 10px 0 -4px #14281414,0 18px 22px -12px #0a1e2866;transition:transform .28s ease,box-shadow .28s ease,filter .2s ease}.biome-card:after{content:"";position:absolute;left:12%;right:12%;bottom:-10px;height:8px;border-radius:50%;background:radial-gradient(closest-side,rgba(10,30,45,.35),transparent 75%);filter:blur(1px)}.biome-card--locked{filter:saturate(.55) brightness(.92)}.biome-card--selected{transform:translateY(-6px) scale(1.04);box-shadow:0 14px 0 -4px #1428141a,0 26px 30px -14px #0a1e2880}.biome-card--entering{animation:biome-card-rise .36s ease forwards}@keyframes biome-card-rise{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-26px) scale(1.12);opacity:0}}.biome-card-preview{position:relative;width:100%;display:flex;align-items:center;justify-content:center;height:46px}.biome-card-glyph{font-size:1.7rem;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}.biome-card-lock{position:absolute;right:4px;top:-2px;font-size:.85rem}.biome-card-name{font-weight:800;font-size:.82rem;text-align:center;line-height:1.15}.biome-card-label{font-size:.65rem;opacity:.75;text-align:center}.biome-card-progress{font-size:.68rem;font-weight:700;background:#ffffffb3;border-radius:999px;padding:.12rem .5rem;display:flex;align-items:center;gap:.25rem}.biome-card-price{font-size:.7rem;font-weight:800;background:#ffffffd9;border-radius:999px;padding:.15rem .55rem}.biome-card-price--unaffordable{color:#a04a3a}.biome-preview-panel{background:#fff;border-radius:16px;padding:.9rem 1rem;box-shadow:0 4px 16px #141e0f24;display:flex;flex-direction:column;gap:.4rem}.biome-preview-heading{display:flex;align-items:baseline;justify-content:space-between}.biome-preview-heading h3{margin:0;font-size:1rem}.biome-preview-type{font-weight:400;opacity:.7;font-size:.8rem}.biome-preview-close{border:none;background:transparent;cursor:pointer;font-size:.9rem;opacity:.6}.biome-preview-blurb{margin:0;font-size:.85rem;color:#3a4232}.biome-preview-hint{margin:0;font-size:.75rem;color:#6a7362;font-style:italic}.biome-preview-footer{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.biome-preview-cost{font-weight:800}.biome-preview-earn{font-size:.78rem;color:#5a6a4a}.biome-preview-buy{border:none;border-radius:999px;padding:.4rem 1rem;background:var(--color-action);color:#fff;font-weight:700;cursor:pointer}.biome-preview-confirm{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8rem}.biome-preview-cancel{border:none;background:transparent;color:#7a6a4a;cursor:pointer;font-size:.8rem;text-decoration:underline}.journal{background:#fff;border-radius:14px;padding:.9rem 1rem;box-shadow:0 2px 10px #1e281414;max-width:700px;margin:.75rem auto 0}.journal-title{margin:0 0 .5rem;font-size:.95rem;color:#2b3324}.journal-empty{margin:0;color:#7c8a6e;font-size:.85rem}.journal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.journal-entry{display:flex;align-items:flex-start;gap:.6rem}.journal-emoji{font-size:1.1rem;line-height:1.3;flex:none}.journal-entry-title{font-size:.9rem;font-weight:700;color:#2b3324}.journal-entry-detail{font-size:.8rem;color:#7c8a6e;margin-top:.1rem}.journal-entry-date{font-size:.72rem;color:#9aa78e;margin-top:.15rem}.shop{background:#f8faf3;border-radius:14px;padding:.9rem 1rem 1.1rem;max-width:960px;margin:.75rem auto 0}.shop-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}.shop-title{margin:0;font-size:.95rem;color:#2b3324}.shop-filters{display:flex;gap:.3rem}.shop-filter{border:1px solid transparent;background:#fff;color:#4a5540;border-radius:999px;padding:.3rem .75rem;font-size:.76rem;font-weight:600;font-family:inherit;cursor:pointer}.shop-filter:hover{background:#eef2e4}.shop-filter--active{background:var(--color-action);color:#fff}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}.shop-card{display:flex;flex-direction:column;gap:.4rem;background:#fff;border-radius:12px;padding:.65rem .7rem .75rem}.shop-card--locked{opacity:.65}.shop-card-preview{display:flex;justify-content:center;background:#eef3e6;border-radius:10px;padding:.4rem}.shop-card-body{display:flex;flex-direction:column;gap:.15rem}.shop-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem}.shop-card-name{font-size:.88rem;font-weight:700;color:#2b3324}.shop-card-filter{font-size:.64rem;text-transform:uppercase;letter-spacing:.03em;color:#9aa78e;white-space:nowrap}.shop-card-description{margin:0;font-size:.76rem;color:#7c8a6e}.shop-card-effect{margin:.1rem 0 0;font-size:.76rem;color:#3f6b45;font-weight:600}.shop-card-compat{margin:0;font-size:.68rem;color:#9aa78e}.shop-card-action{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}.shop-card-owned{font-size:.7rem;color:#9aa78e;white-space:nowrap}.shop-card-locked-note{font-size:.72rem;color:#9aa78e}.shop-card-buy{border:none;border-radius:999px;padding:.35rem .7rem;background:var(--color-action);color:#fff;font-weight:700;font-size:.78rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s ease}.shop-card-buy:not(:disabled):hover{background:var(--color-action-hover)}.shop-card-buy:disabled{background:#cfd6c4;cursor:default}.shop-card-place{border:1px solid var(--color-action);border-radius:999px;padding:.32rem .65rem;background:#fff;color:var(--color-action);font-weight:700;font-size:.76rem;font-family:inherit;cursor:pointer;white-space:nowrap}.shop-card-place:not(:disabled):hover{background:#eef7ea}.shop-card-place:disabled{opacity:.45;cursor:default}.achievements{background:#fff;border-radius:14px;padding:.9rem 1rem;box-shadow:0 2px 10px #1e281414;max-width:700px;margin:.75rem auto 0}.achievements-title{margin:0 0 .5rem;font-size:.95rem;color:#2b3324;display:flex;align-items:baseline;gap:.4rem}.achievements-count{font-size:.75rem;font-weight:400;color:#9aa78e}.achievements-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.achievement-entry{display:flex;align-items:flex-start;gap:.6rem}.achievement-entry--locked{opacity:.55}.achievement-emoji{font-size:1.1rem;line-height:1.3;flex:none;width:18px;text-align:center}.achievement-name{font-size:.9rem;font-weight:700;color:#2b3324}.achievement-blurb{font-size:.8rem;color:#7c8a6e}.demo-menu{position:relative}.demo-menu-trigger{border:1px solid #dce4d3;background:#fff;border-radius:999px;padding:.35rem .8rem;font-size:.78rem;color:#7c8a6e;font-family:inherit;cursor:pointer}.demo-menu-trigger:hover{border-color:var(--color-action);color:var(--color-action)}.demo-menu-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:20;background:#fff;border-radius:12px;box-shadow:0 8px 24px #1e28142e;padding:.4rem;display:flex;flex-direction:column;gap:.2rem;width:260px}.demo-menu-option{display:flex;flex-direction:column;gap:.15rem;text-align:left;border:none;background:transparent;border-radius:8px;padding:.5rem .6rem;cursor:pointer;font-family:inherit}.demo-menu-option:hover{background:#f3f8ee}.demo-menu-option-name{font-size:.88rem;font-weight:700;color:#2b3324}.demo-menu-option-blurb{font-size:.76rem;color:#7c8a6e;line-height:1.35}.demo-menu-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e0f59;display:grid;place-items:center;z-index:30;padding:1rem}.demo-menu-confirm{background:#fff;border-radius:14px;padding:1.1rem;max-width:340px;box-shadow:0 12px 30px #141e0f40}.demo-menu-confirm p{margin:0 0 .9rem;color:#2b3324;font-size:.92rem;line-height:1.45}.demo-menu-confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.demo-menu-cancel,.demo-menu-confirm-yes{border:none;border-radius:8px;padding:.4rem .8rem;font-size:.85rem;font-family:inherit;cursor:pointer}.demo-menu-cancel{background:#f0f2ea;color:#7c8a6e}.demo-menu-confirm-yes{background:var(--color-action);color:#fff;font-weight:600}.account-menu{position:relative}.account-sign-in,.account-trigger{min-height:32px;display:inline-flex;align-items:center;gap:.42rem;border:1px solid #dce4d3;border-radius:999px;background:#fff;padding:.3rem .72rem;color:#536346;font-family:inherit;font-size:.76rem;text-decoration:none;cursor:pointer}.account-sign-in:hover,.account-trigger:hover{border-color:var(--color-action);color:var(--color-action)}.account-trigger:disabled{cursor:wait;opacity:.7}.account-trigger img,.account-trigger>span:first-child:not(.account-trigger-label){width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#e8f1df;color:#4d6b3d;font-weight:800}.account-trigger img{object-fit:cover}.account-trigger-label{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-status{width:7px;height:7px;border-radius:50%;background:#a4ad9a}.account-status--saved{background:#65a849}.account-status--saving,.account-status--checking{background:#d6a53c}.account-status--offline,.account-status--attention,.account-status--choice{background:#cc6b58}.account-panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:28;width:min(280px,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.35rem;padding:.75rem;border:1px solid #e2e8da;border-radius:12px;background:#fff;box-shadow:0 8px 24px #1e28142e}.account-panel strong{color:#2b3324;font-size:.9rem}.account-email,.account-sync,.account-auto-save{overflow-wrap:anywhere;color:#77836c;font-size:.75rem}.account-sync{margin:.25rem 0;padding:.4rem .5rem;border-radius:7px;background:#f2f6ee}.account-auto-save{margin-bottom:.25rem;line-height:1.35}.account-panel button,.account-choice button{border:0;border-radius:8px;padding:.5rem .7rem;background:#eef0e9;color:#58664d;font-family:inherit;font-size:.8rem;cursor:pointer}.account-panel button:disabled,.account-choice button:disabled{cursor:wait;opacity:.6}.account-message{position:fixed;z-index:46;top:.75rem;left:50%;width:min(430px,calc(100vw - 2rem));display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;transform:translate(-50%);padding:.65rem .75rem;border-radius:10px;background:#fff5e6;color:#752;box-shadow:0 8px 22px #3228142e;font-size:.82rem}.account-message button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:1rem}.account-choice-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;display:grid;place-items:center;padding:1rem;background:#141e0f6b}.account-choice{width:min(430px,100%);padding:1.2rem;border-radius:15px;background:#fff;box-shadow:0 14px 34px #141e0f45}.account-choice h2{margin:0 0 .55rem;color:#2b3324;font-size:1.08rem}.account-choice p{margin:0 0 .7rem;color:#59654f;font-size:.86rem;line-height:1.5}.account-safety{padding:.55rem .65rem;border-radius:8px;background:#f3f8ee}.account-choice-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.9rem}.account-choice-actions--stacked{flex-direction:column}.account-choice .account-primary{background:var(--color-action);color:#fff;font-weight:750}.account-panel .account-reset,.account-choice .account-reset{background:#fff0ed;color:#9a493c}@media(max-width:620px){.account-trigger-label{display:none}}.chat-panel{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;max-height:420px;margin-top:.5rem}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .7rem;background:#f0f3e8}.chat-panel-title{font-weight:700;font-size:.85rem;color:#2b3324}.chat-panel-close{border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:#7c8a6e;line-height:1}.chat-panel-messages{flex:1;overflow-y:auto;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.4rem;min-height:160px}.chat-panel-empty{color:#9aa78e;font-size:.8rem;text-align:center;margin:auto}.chat-message{display:flex;flex-direction:column;gap:.1rem;max-width:80%;align-self:flex-start}.chat-message--mine{align-self:flex-end;align-items:flex-end}.chat-message-sender{font-size:.68rem;font-weight:700;color:#8a9578}.chat-message-body{background:#eef1e6;border-radius:10px;padding:.4rem .6rem;font-size:.83rem;color:#2b3324;white-space:pre-wrap;overflow-wrap:break-word}.chat-message--mine .chat-message-body{background:var(--color-action-soft, #e5f3e1)}.chat-panel-error{margin:0;padding:.3rem .7rem 0;font-size:.74rem;color:#a13d2a}.chat-panel-composer{display:flex;gap:.4rem;padding:.5rem .7rem;border-top:1px solid #eef1e6}.chat-panel-composer textarea{flex:1;border:1px solid #dde3d0;border-radius:8px;padding:.4rem .55rem;font-size:.82rem;font-family:inherit;resize:none}.chat-panel-send{border:none;border-radius:8px;padding:0 .9rem;background:var(--color-action);color:#fff;font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer}.chat-panel-send:hover:not(:disabled){background:var(--color-action-hover)}.chat-panel-send:disabled{opacity:.5;cursor:not-allowed}.campfire{background:#2b2417;border-radius:12px;padding:.8rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;transition:box-shadow .6s ease}.campfire--glowing{box-shadow:0 0 24px 6px #ff963c73}.campfire-scene{display:flex;flex-direction:column;align-items:center;gap:.3rem}.campfire-fire{font-size:1.8rem;filter:drop-shadow(0 0 6px rgba(255,150,40,.6))}.campfire--glowing .campfire-fire{filter:drop-shadow(0 0 16px rgba(255,170,60,.9))}.campfire-members{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.campfire-member{position:relative}.campfire-member--sparked{filter:drop-shadow(0 0 6px rgba(255,210,120,.8))}.campfire-spark{position:absolute;top:-4px;right:-4px;font-size:.7rem}.campfire-status{margin:0;color:#f3e6c8;font-size:.8rem;font-weight:700}.campfire-meta{margin:0;color:#b9ab8a;font-size:.7rem}@media(prefers-reduced-motion:reduce){.campfire{transition:none}}.friends-section{max-width:900px;margin:.75rem auto 0;display:flex;flex-direction:column;gap:.9rem;padding:0 .4rem}.friends-loading,.friends-error,.friends-empty{font-size:.85rem;color:var(--ink-muted, #7c8a6e);margin:.5rem 0}.friends-signin-explainer{background:#f8faf3;border-radius:14px;padding:1.2rem 1.3rem;max-width:480px;margin:1.5rem auto;text-align:center}.friends-signin-explainer h2{margin:0 0 .5rem;font-size:1.05rem;color:#2b3324}.friends-signin-explainer p{margin:0 0 1rem;font-size:.85rem;color:#5c6a4e;line-height:1.5}.friends-signin-link{display:inline-block;background:var(--color-action);color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;padding:.5rem 1.1rem;border-radius:999px}.friends-signin-link:hover{background:var(--color-action-hover)}.friends-message{display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:#fff3d6;border-radius:10px;padding:.5rem .75rem;font-size:.82rem;color:#7a5a12}.friends-message button{border:none;background:transparent;cursor:pointer;font-size:1rem;color:inherit;line-height:1}.friends-block{background:#f8faf3;border-radius:14px;padding:.85rem 1rem}.friends-rows{display:flex;flex-direction:column;gap:.35rem}.friend-row{display:flex;align-items:center;gap:.6rem;background:#fff;border-radius:10px;padding:.5rem .65rem}.friend-row-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#e4e9d9;flex:none}.friend-row-name{font-weight:700;font-size:.85rem;color:#2b3324}.friend-row-handle{font-size:.74rem;color:#8a9578}.friend-row-status{font-size:.76rem;color:#5c6a4e;font-style:italic;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-row-visit-biomes{display:flex;gap:.35rem;flex-wrap:wrap}.friend-action--visit{background:var(--color-action-soft, #e5f3e1);color:var(--color-action-hover, #26762f)}.friend-action--visit:hover{background:#d5ecce}.friend-row-actions{display:flex;gap:.4rem;margin-left:auto;flex:none}.friend-action{border:none;border-radius:8px;padding:.32rem .6rem;background:#eef1e6;color:#4a5540;font-size:.74rem;font-weight:700;font-family:inherit;cursor:pointer}.friend-action:hover{background:#e2e7d6}.friend-action--primary{background:var(--color-action);color:#fff}.friend-action--primary:hover{background:var(--color-action-hover)}.friend-action--danger{background:#f3d9d2;color:#7a3320}.friend-action:disabled{opacity:.5;cursor:not-allowed}.circle-requirement{margin-top:.65rem;max-width:42rem;line-height:1.45}.activity-row{justify-content:space-between}.activity-reactions{display:flex;gap:.3rem;margin-left:auto}.activity-reaction{border:none;border-radius:8px;background:#eef1e6;padding:.25rem .45rem;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.2rem}.activity-reaction:hover{background:#e2e7d6}.activity-reaction--active{background:var(--color-action-soft, #e5f3e1);box-shadow:inset 0 0 0 1.5px var(--color-action)}.activity-reaction-count{font-size:.68rem;font-weight:700;color:#5c6a4e}.conversation-row{width:100%;border:none;cursor:pointer;font-family:inherit;text-align:left}.conversation-unread{background:var(--color-action);color:#fff;font-size:.68rem;font-weight:700;border-radius:999px;padding:.1rem .45rem;margin-left:auto;flex:none}.circle-detail{margin-top:.6rem;background:#fff;border-radius:10px;padding:.7rem;display:flex;flex-direction:column;gap:.5rem}.circle-detail-header{display:flex;align-items:center;justify-content:space-between}.circle-invite-row{display:flex;flex-wrap:wrap;gap:.35rem}.circle-create-form{margin-top:.5rem;background:#fff;border-radius:10px;padding:.7rem}.friends-add-row{display:flex;gap:.5rem}.friends-add-row input{flex:1;border:1px solid #dde3d0;border-radius:8px;padding:.45rem .6rem;font-size:.85rem;font-family:inherit}.friends-add-hint{margin:.4rem 0 0;font-size:.72rem;color:#8a9578}.profile-setup{display:flex;flex-direction:column;gap:.6rem;max-width:420px}.profile-setup-intro{font-size:.8rem;color:#5c6a4e;margin:0}.profile-field{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#4a5540;font-weight:600}.profile-field input,.profile-field select{border:1px solid #dde3d0;border-radius:8px;padding:.4rem .55rem;font-size:.85rem;font-family:inherit;font-weight:400;color:#2b3324}.profile-field-hint{margin:0;font-size:.72rem;font-weight:400;color:#8a9578}.profile-biome-toggles{display:flex;flex-wrap:wrap;gap:.5rem}.profile-checkbox{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:#4a5540;font-weight:400}.profile-checkbox--inline{background:#fff;border-radius:8px;padding:.3rem .55rem}.profile-setup-error{color:#a13d2a;font-size:.78rem;margin:0}.profile-setup-saved{color:var(--color-action);font-size:.78rem;margin:0}@media(max-width:640px){.friend-row{flex-wrap:wrap}.friend-row-actions{margin-left:0;width:100%;justify-content:flex-end}}.sanctuary-hud{position:absolute;top:1.5rem;left:1.5rem;z-index:5;display:flex;gap:.5rem;pointer-events:none}.sanctuary-hud-item{display:flex;align-items:center;gap:.45rem;background:#ffffffe0;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:700;color:#2b3324;box-shadow:0 2px 8px #141e0f2e}.sanctuary-hud-level{color:var(--color-action);white-space:nowrap}.sanctuary-hud-xp-track{width:46px;height:6px;border-radius:999px;background:#e5e9dd;overflow:hidden}.sanctuary-hud-xp-fill{height:100%;background:var(--color-action);border-radius:999px;transition:width .3s ease}.animal-card-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#14181047;display:flex;align-items:flex-end;justify-content:center;padding:.6rem;z-index:20}.animal-card{position:relative;background:#fff;border-radius:16px;padding:.9rem 1rem 1rem;width:100%;max-width:360px;box-shadow:0 6px 24px #14181040}.animal-card-close{position:absolute;top:.5rem;right:.6rem;border:none;background:transparent;font-size:1.2rem;line-height:1;color:#9aa78e;cursor:pointer}.animal-card-header{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.4rem;padding-right:1.4rem}.animal-card-name{margin:0;font-size:1.05rem;color:#2b3324;display:flex;align-items:center;gap:.3rem}.animal-card-species{font-size:.75rem;color:#9aa78e;text-transform:capitalize}.animal-card-badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}.animal-card-badge{font-size:.7rem;background:#f0f3ea;color:#5c6a4f;border-radius:999px;padding:.15rem .55rem;text-transform:capitalize}.animal-card-badge--status{background:#fff3d6;color:#8a6a2a}.animal-card-relationship{margin-bottom:.5rem}.animal-card-relationship-label{font-size:.78rem;color:#5c6a4f;display:block;margin-bottom:.2rem}.animal-card-trust-bar{height:6px;border-radius:999px;background:#eef1e6;overflow:hidden}.animal-card-trust-fill{height:100%;background:linear-gradient(90deg,#f0c14b,#e86a8a);transition:width .3s ease}.animal-card-blurb{font-size:.82rem;color:#4a5540;margin:0 0 .5rem}.animal-card-favorite{font-size:.78rem;color:#5c6a4f;margin-bottom:.4rem}.animal-card-favorite-unknown{color:#9aa78e;font-style:italic}.animal-card-fact{font-size:.78rem;background:#f0f7f3;border-radius:10px;padding:.4rem .6rem;color:#3a5a48;margin:0 0 .5rem}.animal-card-food-row{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}.animal-card-food-button{border:1px solid #eef1e6;background:#fbfcf8;border-radius:10px;padding:.3rem .5rem;font-size:.85rem;cursor:pointer}.animal-card-food-button:disabled{opacity:.4;cursor:not-allowed}.animal-card-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.animal-card-buttons button{flex:1 1 auto;border:none;background:#f2a65a;color:#fff;border-radius:10px;padding:.45rem .6rem;font-size:.82rem;cursor:pointer}.animal-card-buttons button:hover{filter:brightness(1.05)}.discovery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;border-radius:18px;overflow:hidden;font-family:var(--font-sans, inherit)}.discovery-overlay--trace{align-items:flex-start}.discovery-mute{position:absolute;top:.6rem;left:.6rem;z-index:5;pointer-events:auto;border:none;border-radius:999px;width:34px;height:34px;background:#14190f8c;color:#fff;font-size:1rem;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.discovery-mute:focus-visible{outline:2px solid #fff;outline-offset:2px}.discovery-trace-hint{pointer-events:auto;margin-top:.6rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#14190f8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:14px;padding:.55rem .9rem;animation:discovery-hint-breathe 2.6s ease-in-out infinite}.discovery-overlay--reduced .discovery-trace-hint{animation:none}@keyframes discovery-hint-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.discovery-trace-text{margin:0;color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.02em;text-shadow:0 1px 3px rgba(0,0,0,.6)}.discovery-trace-clue{margin:0;color:#ffffffbf;font-size:.72rem;font-style:italic;text-align:center;max-width:26ch;text-shadow:0 1px 3px rgba(0,0,0,.6)}.discovery-investigate-btn{border:1.5px solid rgba(255,255,255,.7);border-radius:999px;padding:.3rem .85rem;background:#ffffff1f;color:#fff;font-weight:700;font-size:.78rem;cursor:pointer;font-family:inherit}.discovery-investigate-btn:hover,.discovery-investigate-btn:focus-visible{background:#ffffff47;outline:none}.discovery-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center 42%,#080a0600 22%,#080a06b8 88%);pointer-events:none}.discovery-anticipation{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding-bottom:1.2rem}.discovery-silhouette-wrap{position:relative;display:flex;align-items:center;justify-content:center;animation:discovery-silhouette-rise 1.4s ease-out both}.discovery-overlay--reduced .discovery-silhouette-wrap{animation-duration:.5s}@keyframes discovery-silhouette-rise{0%{transform:translateY(18px) scale(.85);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.discovery-silhouette-glow{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--discovery-accent) 0%,transparent 70%);opacity:.55;filter:blur(4px);animation:discovery-glow-pulse 1.6s ease-in-out infinite}.discovery-overlay--tier-mythical .discovery-silhouette-glow,.discovery-overlay--tier-legendary .discovery-silhouette-glow{width:190px;height:190px;opacity:.7}@keyframes discovery-glow-pulse{0%,to{transform:scale(.9);opacity:.45}50%{transform:scale(1.12);opacity:.75}}.discovery-overlay--reduced .discovery-silhouette-glow{animation:none}.discovery-silhouette{position:relative}.discovery-silhouette-img img{filter:brightness(0) saturate(100%);opacity:.92}.discovery-anticipation-text{margin:0;color:#f2ede0;font-size:.82rem;font-weight:600;letter-spacing:.03em;text-shadow:0 1px 3px rgba(0,0,0,.6);animation:discovery-hint-breathe 1.8s ease-in-out infinite}.discovery-overlay--reduced .discovery-anticipation-text{animation:none}.discovery-reveal-card{position:relative;pointer-events:auto;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.35rem;padding:.6rem 1rem 1rem;width:100%;max-width:420px;margin:0 auto}.discovery-skip-btn{position:absolute;top:.6rem;right:.6rem;border:none;border-radius:999px;background:#ffffff29;color:#fff;font-size:.72rem;font-weight:600;padding:.28rem .7rem;cursor:pointer;font-family:inherit}.discovery-skip-btn:hover,.discovery-skip-btn:focus-visible{background:#ffffff4d;outline:none}.discovery-reveal-portrait{position:relative;display:flex;align-items:center;justify-content:center;animation:discovery-reveal-pop .6s cubic-bezier(.2,.9,.3,1.2) both}.discovery-overlay--reduced .discovery-reveal-portrait{animation-duration:.28s}@keyframes discovery-reveal-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.06);opacity:1}to{transform:scale(1);opacity:1}}.discovery-reveal-glow{position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,var(--discovery-accent) 0%,transparent 72%);opacity:.6;filter:blur(6px)}.discovery-overlay--tier-rare .discovery-reveal-glow{width:175px;height:175px}.discovery-overlay--tier-mythical .discovery-reveal-glow{width:210px;height:210px;opacity:.7}.discovery-overlay--tier-legendary .discovery-reveal-glow{width:320px;height:320px;opacity:.85;animation:discovery-glow-pulse 2.4s ease-in-out infinite}.discovery-overlay--reduced .discovery-overlay--tier-legendary .discovery-reveal-glow{animation:none}.discovery-reveal-img img{filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}.discovery-shiny-beat{min-height:2.4rem;display:flex;align-items:center;justify-content:center}.discovery-shiny-wait{margin:0;color:#fff;font-size:1.3rem;font-weight:700;letter-spacing:.06em;animation:discovery-fade-in .4s ease-out both,discovery-hint-breathe 1.2s ease-in-out infinite .4s;text-shadow:0 2px 6px rgba(0,0,0,.6)}.discovery-reveal-info{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;background:#0c0e0999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:16px;padding:.7rem 1.1rem .9rem;width:100%}.discovery-fade-in{animation:discovery-fade-in .45s ease-out both}.discovery-overlay--reduced .discovery-fade-in{animation-duration:.18s}@keyframes discovery-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.discovery-reveal-kicker{margin:0;color:var(--discovery-accent);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-shadow:0 1px 2px rgba(0,0,0,.5)}.discovery-reveal-name{margin:0;color:#fff;font-size:1.35rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;text-shadow:0 2px 5px rgba(0,0,0,.55)}.discovery-shiny-badge{font-size:.85rem;font-weight:800;color:#ffe8a3;background:#ffe8a329;border:1px solid rgba(255,232,163,.5);border-radius:999px;padding:.1rem .55rem;animation:discovery-glow-pulse 1.4s ease-in-out infinite}.discovery-overlay--reduced .discovery-shiny-badge{animation:none}.discovery-reveal-badges{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center}.discovery-badge{background:#ffffff24;color:#fff;border-radius:999px;padding:.15rem .6rem;font-size:.7rem;font-weight:700;text-transform:capitalize;letter-spacing:.02em}.discovery-reveal-blurb{margin:.15rem 0 0;color:#eef0e6;font-size:.8rem;line-height:1.35;max-width:32ch}.discovery-welcome-btn{margin-top:.5rem;border:none;border-radius:999px;padding:.55rem 1.4rem;background:var(--color-action, #2f8f3b);color:#fff;font-weight:800;font-size:.9rem;cursor:pointer;font-family:inherit;box-shadow:0 4px 14px #00000059}.discovery-welcome-btn:hover,.discovery-welcome-btn:focus-visible{filter:brightness(1.08);outline:none}@media(max-width:520px){.discovery-reveal-name{font-size:1.1rem}.discovery-reveal-glow{width:120px;height:120px}.discovery-overlay--tier-legendary .discovery-reveal-glow{width:230px;height:230px}}.sanctuary-frame{display:flex;flex-direction:column;align-items:stretch;gap:.6rem;padding:1rem;max-width:960px;margin:0 auto;width:100%}.scene-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.1rem .1rem .2rem}.scene-header-back{border:none;border-radius:999px;padding:.4rem .85rem;background:var(--color-action);color:#fff;font-weight:700;font-size:.82rem;cursor:pointer;flex:none}.scene-header-back:hover{background:var(--color-action-hover)}.scene-header-back:focus-visible{outline:2px solid #2b3324;outline-offset:2px}.scene-header-biome{display:flex;align-items:center;gap:.4rem;font-weight:700;color:#2b3324;min-width:0}.scene-header-glyph{font-size:1.15rem}.scene-header-name{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctuary-canvas-wrap{position:relative;width:100%}.sanctuary-host{width:100%;max-width:960px;aspect-ratio:2 / 1;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #141e0f40;border:4px solid #4a6b3a;background:#8ed2ec;cursor:pointer;touch-action:none}.sanctuary-host--placing{cursor:crosshair;box-shadow:0 0 0 3px #f5d76e,0 12px 30px #141e0f40}.sanctuary-canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.zoom-controls{position:absolute;right:.5rem;bottom:.5rem;display:flex;align-items:center;gap:.3rem;background:#14190f8c;border-radius:999px;padding:.25rem .4rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.zoom-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:#ffffffeb;color:#2b2b2b;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;font-family:inherit}.zoom-btn:disabled{opacity:.4;cursor:default}.zoom-btn:focus-visible{outline:2px solid var(--color-action);outline-offset:1px}.zoom-btn--fit{width:auto;padding:0 .55rem;font-size:.72rem}.zoom-pct{min-width:2.6rem;text-align:center;font-size:.72rem;font-weight:600;color:#fff}.sanctuary-zoom-hint{margin:.2rem 0 0;font-size:.72rem;color:#8a9380;text-align:center}.habitat-controls{display:flex;gap:.4rem;flex-wrap:wrap}.habitat-control-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid transparent;background:#f3f6ec;color:#4a5540;border-radius:10px;padding:.35rem .65rem;font-size:.78rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.habitat-control-btn:hover{background:#e7ecdc}.habitat-control-btn:focus-visible{outline:2px solid var(--color-action);outline-offset:1px}.habitat-control-btn--active{background:#f2a65a;color:#fff}.food-inventory{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.82rem}.food-inventory-item{background:#f3f6ec;border-radius:8px;padding:.2rem .5rem}.sanctuary-hint{margin:0;font-size:.78rem;color:#6a7362}.residents-panel{border-top:1px solid rgba(20,30,15,.08);padding-top:.5rem}.residents-panel-header{width:100%;display:flex;align-items:center;gap:.5rem;border:none;background:transparent;padding:.2rem .1rem;cursor:pointer;font-family:inherit;text-align:left}.residents-panel-header:focus-visible{outline:2px solid var(--color-action);outline-offset:1px}.residents-panel-title{font-weight:700;font-size:.88rem;color:#2b3324}.residents-panel-count{font-size:.76rem;color:#7c8a6e;flex:1}.residents-panel-body{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem}.resident-group{background:#f8faf3;border-radius:10px;overflow:hidden}.resident-group-header{width:100%;display:flex;align-items:center;gap:.5rem;border:none;background:transparent;padding:.35rem .5rem;cursor:pointer;font-family:inherit;text-align:left}.resident-group-header:focus-visible{outline:2px solid var(--color-action);outline-offset:-2px}.resident-group-label{display:flex;flex-direction:column;flex:1;min-width:0}.resident-group-name{font-size:.82rem;font-weight:700;color:#2b3324}.resident-group-meta{font-size:.7rem;color:#8a9578}.resident-individuals{display:flex;flex-direction:column;gap:.2rem;padding:0 .5rem .4rem}.resident-individual{display:flex;align-items:center;gap:.45rem;border:2px solid transparent;background:#fff;border-radius:8px;padding:.25rem .5rem;cursor:pointer;font-family:inherit;text-align:left}.resident-individual:focus-visible{outline:2px solid var(--color-action);outline-offset:1px}.resident-individual--selected{border-color:#4f8a5f;background:#eef7ea}.resident-individual-label{font-size:.74rem;color:#4a5540}@media(max-width:480px){.sanctuary-frame{padding:.6rem}.scene-header-name{max-width:46vw}}.biome-visit{display:flex;flex-direction:column;gap:.5rem}.biome-visit-header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .75rem;background:#f8faf3;border-radius:12px}.biome-visit-back{border:none;background:transparent;color:var(--color-action);font-weight:700;font-size:.85rem;cursor:pointer;padding:.2rem 0}.biome-visit-crumb{font-size:.82rem;font-weight:700;color:#2b3324;flex:1}.biome-visit-actions{display:flex;gap:.4rem}.biome-visit-action{border:none;border-radius:8px;padding:.35rem .7rem;background:#eef1e6;color:#4a5540;font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer}.biome-visit-action:hover:not(:disabled){background:#e2e7d6}.biome-visit-action:disabled{opacity:.5;cursor:not-allowed}.biome-visit-action--primary{background:var(--color-action);color:#fff}.biome-visit-action--primary:hover{background:var(--color-action-hover)}.biome-visit-status{padding:1rem;font-size:.85rem;color:#7c8a6e;text-align:center}.biome-visit-status--error{color:#a13d2a}@media(max-width:640px){.biome-visit-header{justify-content:space-between}.biome-visit-crumb{order:3;flex:1 1 100%}}.celebration-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e0f59;display:flex;align-items:center;justify-content:center;z-index:60;padding:1rem}.celebration-prompt{background:#fff;border-radius:16px;padding:1.2rem 1.3rem;max-width:380px;width:100%;display:flex;flex-direction:column;gap:.7rem}.celebration-prompt h2{margin:0;font-size:1.02rem;color:#2b3324}.celebration-prompt p{margin:0;font-size:.85rem;color:#5c6a4e}.celebration-prompt textarea{border:1px solid #dde3d0;border-radius:8px;padding:.5rem .6rem;font-size:.85rem;font-family:inherit;resize:vertical}.celebration-actions{display:flex;flex-direction:column;gap:.4rem}.celebration-action{border:none;border-radius:8px;padding:.5rem .7rem;background:#eef1e6;color:#4a5540;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer}.celebration-action:hover:not(:disabled){background:#e2e7d6}.celebration-action--primary{background:var(--color-action);color:#fff}.celebration-action--primary:hover:not(:disabled){background:var(--color-action-hover)}.celebration-action:disabled{opacity:.5;cursor:not-allowed}.celebration-error{color:#a13d2a;font-size:.78rem}.celebration-done{font-size:.95rem;color:#2b3324;text-align:center}.folder-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.folder-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;border:none;border-radius:14px;padding:.75rem .9rem;cursor:pointer;font-family:inherit;box-shadow:0 2px 10px #1e281414;transition:transform .12s ease}.folder-tile:hover{filter:brightness(.97);transform:translateY(-1px)}.folder-tile--do,.folder-expanded--do{background:var(--color-priority-do)}.folder-tile--plan,.folder-expanded--plan{background:var(--color-priority-plan)}.folder-tile--fit,.folder-expanded--fit{background:var(--color-priority-fit)}.folder-tile--someday,.folder-expanded--someday{background:var(--color-priority-someday)}.folder-tile--do .folder-tile-count,.folder-tile--do .folder-tile-label{color:var(--color-priority-do-ink)}.folder-tile--plan .folder-tile-count,.folder-tile--plan .folder-tile-label{color:var(--color-priority-plan-ink)}.folder-tile--fit .folder-tile-count,.folder-tile--fit .folder-tile-label{color:var(--color-priority-fit-ink)}.folder-tile--someday .folder-tile-count,.folder-tile--someday .folder-tile-label{color:var(--color-priority-someday-ink)}.folder-tile-count{font-size:1.5rem;font-weight:800;line-height:1}.folder-tile-label{font-size:.92rem;font-weight:700}.folder-tile-hint{font-size:.72rem;color:var(--ink-muted)}.folder-expanded{border-radius:18px;padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.8rem}.folder-back{align-self:flex-start;border:none;background:#fff9;border-radius:999px;padding:.3rem .75rem;font-size:.8rem;color:#4a5540;font-family:inherit;cursor:pointer}.folder-back:hover{background:#fff}.folder-expanded-heading{display:flex;align-items:baseline;gap:.6rem}.folder-expanded-heading h2{margin:0;font-size:1.4rem;color:#2b3324}.folder-expanded-heading span{font-size:.9rem;color:#6a7460}.folder-add{display:flex;gap:.4rem}.folder-add-input{flex:1;border:none;border-radius:12px;padding:.6rem .8rem;font-family:inherit;font-size:.95rem;color:#2b3324;outline:none;background:#ffffffbf}.folder-add-input:focus{background:#fff}.folder-add-button{border:none;border-radius:12px;padding:.6rem 1rem;background:var(--color-action);color:#fff;font-weight:700;font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .15s ease}.folder-add-button:not(:disabled):hover{background:var(--color-action-hover)}.folder-add-button:disabled{opacity:.35;cursor:default}.folder-expanded-empty{margin:0;color:#8a9280;font-size:.9rem}.folder-expanded .task-list{gap:.4rem}.habit-form-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b332473;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:40}.habit-form{background:#fff;border-radius:.9rem;padding:1.4rem;max-width:32rem;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem}.habit-form-heading{display:flex;justify-content:space-between;align-items:flex-start}.habit-form-heading h2{margin:0 0 .2rem;color:var(--ink)}.habit-form-heading p{margin:0;color:var(--ink-muted);font-size:.85rem}.habit-form-close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--ink-muted)}.habit-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--ink)}.habit-form label span{color:var(--ink-faint);font-weight:400}.habit-form input,.habit-form select,.habit-form textarea{border:1px solid var(--ink-faint);border-radius:.4rem;padding:.45rem .6rem;font:inherit}.habit-form-wide{width:100%}.habit-form small{color:var(--ink-faint);font-size:.75rem}.habit-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem}.habit-form-checkbox{flex-direction:row!important;align-items:center;gap:.5rem!important}.habit-form-preview{margin:0;padding:.5rem .7rem;background:var(--color-action-soft);border-radius:.5rem;color:var(--color-action-hover);font-style:italic;font-size:.85rem}.habit-form-weekdays{display:flex;gap:.35rem;flex-wrap:wrap}.habit-form-weekday{border:1px solid var(--ink-faint);background:#fff;border-radius:999px;padding:.35rem .7rem;cursor:pointer;font-size:.8rem}.habit-form-weekday--active{background:var(--color-action);border-color:var(--color-action);color:#fff}.habit-form-message{color:#7a5a12;background:var(--color-priority-do);padding:.5rem .7rem;border-radius:.4rem;margin:0;font-size:.85rem}.habit-form-actions{display:flex;justify-content:flex-end;gap:.6rem}.habit-form-actions button{padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--ink-faint);background:#fff;cursor:pointer}.habit-form-primary{background:var(--color-action);border-color:var(--color-action);color:#fff;font-weight:600}.trail{background:linear-gradient(180deg,#eef6ea,#fff);border:1px solid var(--ink-faint);border-radius:.9rem;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.6rem}.trail-heading h2{margin:0 0 .15rem;font-size:1.05rem;color:var(--ink)}.trail-heading p{margin:0;color:var(--ink-muted);font-size:.85rem}.trail-progress{display:flex;align-items:center;gap:.7rem}.trail-pawprints{display:flex;gap:.25rem;font-size:1.1rem}.trail-pawprint{opacity:.25}.trail-pawprint--filled{opacity:1}.trail-progress-label{font-size:.8rem;color:var(--ink-faint)}.trail-empty{margin:0;color:var(--ink-faint);font-size:.85rem}.trail-clues{display:flex;flex-direction:column;gap:.5rem}.trail-clues>p{margin:0;color:var(--color-action-hover);font-size:.9rem}.trail-clue-open{background:var(--color-action);color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;font-weight:600}.trail-clue-open:disabled{opacity:.5;cursor:not-allowed}.trail-clue-picker{background:#fff;border:1px solid var(--ink-faint);border-radius:.6rem;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.5rem}.trail-clue-picker p{margin:0;font-size:.85rem;color:var(--ink)}.trail-clue-biomes{display:flex;flex-wrap:wrap;gap:.4rem}.trail-clue-biomes button{border:1px solid var(--color-action);background:var(--color-action-soft);color:var(--color-action-hover);border-radius:.4rem;padding:.35rem .7rem;cursor:pointer;font-size:.8rem}.trail-clue-biomes button:disabled{opacity:.5;cursor:not-allowed}.trail-clue-cancel{align-self:flex-start;background:none;border:none;color:var(--ink-faint);font-size:.8rem;cursor:pointer;text-decoration:underline}.habits-page{display:flex;flex-direction:column;gap:1rem}.habits-header{display:flex;align-items:center;justify-content:space-between}.habits-header h1{margin:0;font-size:1.4rem;color:var(--ink)}.habits-new-button{background:var(--color-action);color:#fff;border:none;border-radius:.6rem;padding:.55rem 1rem;font-weight:600;cursor:pointer}.habits-new-button:hover{background:var(--color-action-hover)}.habits-subnav{display:flex;gap:.4rem}.habits-trail-toast{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--color-action-soft);border:1px solid var(--color-action);border-radius:.6rem;padding:.6rem .9rem;color:var(--ink)}.habits-trail-toast button{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--ink-muted)}.habits-empty{color:var(--ink-muted);padding:1rem 0}.habits-today,.habits-yours,.habits-reflect{display:flex;flex-direction:column;gap:.75rem}.habit-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--ink-faint);border-radius:.75rem;padding:.9rem 1.1rem}.habit-card-main h3{margin:0 0 .15rem;font-size:1.05rem;color:var(--ink)}.habit-card-cue{margin:0;color:var(--ink-muted);font-size:.9rem}.habit-card-minimum{margin:.2rem 0 0;color:var(--ink-muted);font-size:.85rem}.habit-card-progress{margin:.3rem 0 0;font-size:.8rem;color:var(--ink-faint)}.habit-card-actions{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end}.habit-card-done{background:var(--color-action-soft);border:1px solid var(--color-action);color:var(--color-action-hover);border-radius:999px;padding:.5rem 1.1rem;font-weight:600;cursor:pointer;white-space:nowrap}.habit-card-done--active{background:var(--color-action);color:#fff}.habit-card-skip{background:none;border:none;color:var(--ink-faint);font-size:.8rem;cursor:pointer;text-decoration:underline}.habits-catchup{background:var(--color-priority-fit);border-radius:.6rem;padding:.7rem 1rem}.habits-catchup h4{margin:0 0 .4rem;color:var(--color-priority-fit-ink);font-size:.9rem}.habits-catchup-row{display:flex;align-items:center;gap:.6rem;padding:.25rem 0;color:var(--ink)}.habits-catchup-row button{border:1px solid var(--ink-faint);background:#fff;border-radius:.4rem;padding:.2rem .55rem;cursor:pointer;font-size:.8rem}.habit-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--ink-faint);border-radius:.75rem;padding:.9rem 1.1rem;flex-wrap:wrap}.habit-row-title{display:flex;align-items:center;gap:.5rem}.habit-row-title strong{color:var(--ink)}.habit-row-badge{font-size:.7rem;background:var(--color-priority-someday);color:var(--color-priority-someday-ink);border-radius:999px;padding:.1rem .5rem}.habit-row-cue{margin:.2rem 0;color:var(--ink-muted);font-size:.85rem}.habit-row-stats{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.78rem;color:var(--ink-faint)}.habit-row-run{color:var(--ink-muted)}.habit-row-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.habit-row-actions button{border:1px solid var(--ink-faint);background:#fff;border-radius:.4rem;padding:.3rem .6rem;cursor:pointer;font-size:.8rem;white-space:nowrap}.habit-row-trail-toggle{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--ink-muted)}.habit-row-reserve{display:flex;align-items:center;gap:.35rem}.habit-row-reserve input[type=time],.habit-row-reserve input[type=number]{width:4.5rem;padding:.2rem .3rem;border:1px solid var(--ink-faint);border-radius:.35rem}.habit-reflect-card{background:#fff;border:1px solid var(--ink-faint);border-radius:.75rem;padding:1rem 1.1rem}.habit-reflect-card h3{margin:0 0 .3rem;color:var(--ink)}.habit-reflect-card p{margin:0 0 .6rem;color:var(--ink-muted);font-size:.9rem}.habit-reflect-options{display:flex;flex-wrap:wrap;gap:.4rem}.habit-reflect-options button{border:1px solid var(--color-action);background:var(--color-action-soft);color:var(--color-action-hover);border-radius:.5rem;padding:.4rem .7rem;cursor:pointer;font-size:.85rem}.habit-reflect-automaticity{margin-top:.7rem;font-size:.8rem;color:var(--ink-faint)}.habit-reflect-automaticity-scale{display:flex;gap:.3rem;margin-top:.3rem}.habit-reflect-scale-btn{width:1.8rem;height:1.8rem;border-radius:50%;border:1px solid var(--ink-faint);background:#fff;cursor:pointer}.habit-reflect-scale-btn--active{background:var(--color-action);color:#fff;border-color:var(--color-action)}@media(max-width:640px){.habit-card,.habit-row{flex-direction:column;align-items:stretch}.habit-card-actions{align-items:stretch}}.app{min-height:100vh;background:#eef3e4;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem .5rem}.app-title{margin:0;font-size:1.3rem;color:#2b3324;letter-spacing:.02em}.app-header-right{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.mode-toggle{display:flex;gap:.3rem;background:#fff;border-radius:999px;padding:.25rem;box-shadow:0 1px 6px #1e281414}.mode-button{border:none;background:transparent;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-family:inherit;color:#7c8a6e;cursor:pointer}.mode-button--active{background:var(--color-action);color:#fff}.sanctuary-subnav{display:flex;justify-content:center;gap:.3rem;background:#fff;border-radius:999px;padding:.25rem;box-shadow:0 1px 6px #1e281414;width:fit-content;max-width:100%;margin:0 auto .75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.sanctuary-subnav .mode-button{flex:none}@media(max-width:480px){.sanctuary-subnav{justify-content:flex-start;border-radius:14px}}.app-main{flex:1;width:100%;max-width:780px;margin:0 auto;padding:.5rem 1rem 3rem;display:flex;flex-direction:column;gap:.9rem}.app-main--todo{padding-top:1.5rem;max-width:560px;gap:1.6rem}.app-main--calendar{max-width:1000px}.app-main--sanctuary{max-width:1020px}.app-main--habits{max-width:720px}.sanctuary-hint{text-align:center;margin:0;color:#7c8a6e;font-size:.85rem}.visitor-toast{margin:0 auto .4rem;max-width:960px;text-align:center;background:var(--color-action-soft);color:#35602a;border-radius:10px;padding:.4rem .8rem;font-size:.82rem;font-weight:600;animation:visitor-toast-fade 4s ease-in-out both}@keyframes visitor-toast-fade{0%{opacity:0;transform:translateY(-4px)}10%,80%{opacity:1;transform:translateY(0)}to{opacity:0}}.dev-discovery-tools{display:flex;align-items:center;gap:.3rem;padding:.15rem .4rem;background:#fff3d6;border:1px dashed #d8a94a;border-radius:8px}.dev-discovery-tools-label{font-size:.68rem;font-weight:700;color:#7a5a12}.dev-discovery-tools button{border:none;border-radius:6px;background:#d8a94a;color:#2b2b2b;font-size:.68rem;font-weight:700;padding:.2rem .4rem;cursor:pointer}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light;--color-action: #2f8f3b;--color-action-hover: #26762f;--color-action-soft: #e5f3e1;--color-priority-do: #f6dfa0;--color-priority-do-ink: #7a5a12;--color-priority-plan: #cfe8c2;--color-priority-plan-ink: #35602a;--color-priority-fit: #c9dcf5;--color-priority-fit-ink: #2c4f7c;--color-priority-someday: #dbdfd2;--color-priority-someday-ink: #565f4c;--ink: #2b3324;--ink-muted: #7c8a6e;--ink-faint: #9aa78e}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:#eef3e4;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input{font-family:inherit}button{-webkit-tap-highlight-color:transparent}.section-title{margin:0 0 .4rem;font-size:.85rem;font-weight:700;color:#7c8a6e;text-transform:uppercase;letter-spacing:.04em}.pile-toggle{border:none;background:transparent;color:var(--ink-faint);font-size:.78rem;font-family:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.pile-toggle:hover{color:var(--color-action)}
