*{box-sizing:border-box}body{color:#203b3b;background:#f3f4f0;margin:0;font:1rem/1.7 system-ui}header{border-bottom:1px solid #cdd9d2;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 4vw;display:flex}header strong{font-size:1.5625rem}header small,header span{font-size:.75rem}main{max-width:1160px;margin:auto;padding:28px 24px}h1{font-size:2rem}h2{margin:0 0 12px;font-size:1.3125rem}h3{font-size:1rem}p{margin:0 0 12px}.eyebrow,.muted,footer{color:#526c61;font-size:.75rem}button,input{font:inherit;min-width:0;max-width:100%}button{color:#244f46;cursor:pointer;background:#fffef9;border:1px solid #9eb5a8;border-radius:8px;min-height:44px;padding:8px 12px}button[aria-pressed=true]{color:#fff;background:#244f46}button:focus-visible,input:focus-visible,[role=button]:focus-visible{outline-offset:3px;outline:3px solid #17669a}.dates{background:#e8ede5;border-radius:15px;flex-wrap:wrap;align-items:end;gap:16px;margin:23px 0;padding:20px;display:flex}.dates h2,.dates p{width:100%}.dates label{gap:4px;display:grid}.dates input{background:#fffef9;border:1px solid #819b89;padding:8px;display:block}.dates p{margin:0;font-size:.8125rem}.layout{grid-template-columns:340px 1fr;gap:20px;display:grid}.panel{background:#fffef9;border:1px solid #d7dfd8;border-radius:16px;min-width:0;padding:22px}.panel svg{width:100%;height:350px;display:block}.regions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.regions button{font-size:.8125rem}.cards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.day{border:1px solid #d7dfd8;border-radius:12px;min-width:0;padding:18px}.day h3{margin:0}.day time{font-size:1.1875rem;font-weight:650}.day .count{font-size:.75rem}.record{border-top:1px solid #d7dfd8;margin-top:15px;padding:15px 0}.record p{overflow-wrap:anywhere;font-size:.875rem}.record small{overflow-wrap:anywhere;font-size:.625rem}.empty{padding:25px 0;font-size:.875rem}#error{color:#7b321e}#order{color:#526c61;font-size:.8125rem}.body-part{fill:#c6d8cc;stroke:#789789;stroke-width:1px;cursor:pointer}.body-part.selected{fill:#639b8a;stroke:#234f49;stroke-width:3px}.body-part:focus-visible{stroke:#17669a;stroke-width:4px}.map-label{fill:#476158;font:.6875rem system-ui}footer{border-top:1px solid #d7dfd8;margin-top:25px;padding-top:18px}@media (width<=850px){.layout{grid-template-columns:1fr}.panel svg{height:300px}.regions{grid-template-columns:repeat(4,1fr)}}@media (width<=520px){main{padding:20px 14px}h1{font-size:1.625rem}.dates{gap:12px;padding:16px}.dates label,.dates input{width:100%}.panel{padding:17px}.cards{grid-template-columns:1fr}.regions{grid-template-columns:1fr 1fr}.day{padding:15px}}fieldset{border:1px solid #a8beb0;border-radius:12px;min-width:0;padding:15px}#actions button{margin:4px}#actions label{margin:10px 0;display:block}input[type=file]{width:100%}dialog{border:1px solid #789789;border-radius:15px;max-width:min(92vw,740px);max-height:85vh;padding:24px;overflow:auto}dialog::backdrop{background:#0008}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}#saveStatus{font-weight:700}#savedMeta{font-size:.8125rem}#dialogStatus{color:#7b321e}.entry-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}fieldset{min-width:0}form label{flex-direction:column;gap:.25rem;margin:.6rem 0;display:flex}input,select,textarea{font:inherit;box-sizing:border-box;max-width:100%;padding:.5rem}textarea{width:100%;min-height:5rem}#profileHistory{flex-wrap:wrap;gap:.5rem;display:flex}#profileHistory button{overflow-wrap:anywhere;max-width:100%}#avatarView{width:100%;min-height:390px}#avatarView canvas{touch-action:pan-y;max-width:100%;display:block}#profileState,#timeline article{overflow-wrap:anywhere}#timeline article{border-left:3px solid #8faea8;margin:1rem 0;padding:.5rem 1rem}#timeline h3{margin-top:1.8rem}#eventFields fieldset{grid-template-columns:1fr 1fr;display:grid}#eventFields fieldset label{flex-direction:row}input[type=checkbox]{width:1.2rem;height:1.2rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #6653b8}@media (width<=700px){.entry-grid,#eventFields fieldset{grid-template-columns:1fr}button{white-space:normal}}html.large-text{font-size:200%}
