*{box-sizing:border-box}body{margin:0;color:#242040;font:1rem system-ui,sans-serif;background:#83ddff}
header,main{position:relative;max-width:660px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:1rem;gap:1rem}.brand{font-size:1.3rem;font-weight:900;text-decoration:none}main{padding:1rem 1rem 7rem}
h1{font-size:clamp(2rem,7vw,3.4rem);line-height:1.05;margin:1rem 0 1.3rem}a{color:#332078}section,form{background:#fffdf3;border-radius:20px;padding:1rem;margin:0 0 .7rem;box-shadow:0 4px 0 #42326a20}section form{box-shadow:none;padding:0;margin:.5rem 0}label{display:block;margin:.4rem 0 .7rem;font-weight:650}input,select{display:block;width:100%;padding:.6rem;font:inherit;border:2px solid #a699cb;border-radius:12px;background:white;color:inherit}fieldset{border:1px solid #a699cb;border-radius:12px;margin:.7rem 0}.check input{display:inline;width:auto}
button{border:0;border-radius:14px;background:#4c2d9d;color:white;font:inherit;font-weight:750;padding:.55rem .8rem;cursor:pointer;text-align:left}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tiles a{border-radius:27px;text-decoration:none;text-align:center;font-size:clamp(1.15rem,5vw,2rem);font-weight:900;padding:1.25rem .4rem;color:#17203a;background:#37ecd0;box-shadow:0 7px 0 #168f82;transition:transform .18s}.tiles a:nth-child(2){background:#cba4ff;box-shadow:0 7px 0 #8055b5}.tiles a:active{transform:translateY(5px) scale(.98)}code{overflow-wrap:anywhere}
.scenery{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(#71d8ff,#d9f9ff 70%)}.cloud{position:absolute;width:135px;height:45px;border-radius:50px;background:white;box-shadow:25px -23px white,58px -10px white;left:-220px;top:12%;animation:drift 38s linear infinite}.two{top:28%;animation-duration:57s;animation-delay:-25s;opacity:.72}.hill{position:absolute;bottom:-8vh;left:-15%;width:130%;height:34vh;border-radius:70% 55% 0 0;background:linear-gradient(#a8f45e,#5bd051)}.flowers{position:absolute;inset:auto 0 1vh;height:80px}.flowers i{position:absolute;left:var(--x);bottom:0;height:var(--h);font:900 36px system-ui;color:#ff49a1;transform-origin:bottom center;animation:sway 3s ease-in-out var(--d) infinite alternate}.flowers i:after{content:"";display:block;width:5px;height:30px;margin:-5px auto 0;background:#237c37;border-radius:4px}.flowers i:nth-child(3n){color:#ffce17}.flowers i:nth-child(3n+1){color:#a36aff}@keyframes drift{to{transform:translateX(calc(100vw + 230px))}}@keyframes sway{from{transform:rotate(-8deg)}to{transform:rotate(9deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.cloud{left:20%}.two{left:65%}}

header{z-index:2}.account{position:relative}.account summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.45rem;font-weight:800}.account summary::-webkit-details-marker{display:none}.account summary::after{content:" ▾"}.account-menu{position:absolute;right:0;top:calc(100% + .45rem);width:max-content;border-radius:14px;padding:.75rem;background:#fffdf3;box-shadow:0 6px 18px #33207835}.account-menu form{padding:0;box-shadow:none;margin:.65rem 0 0}.avatar,.profile-avatar{object-fit:cover;border-radius:50%;width:36px;height:36px;vertical-align:middle}.profile-avatar{width:100px;height:100px}
.tiles a:nth-child(3){background:#ffce58;box-shadow:0 7px 0 #c68120}.tiles a:nth-child(4){background:#ff83c5;box-shadow:0 7px 0 #c44791}
.month,.calendar-grid{padding:.7rem;background:#fffdf3;border-radius:16px;margin:0 0 .7rem}.month{display:flex;justify-content:space-between;align-items:center}.month a{font-size:1.8rem;padding:0 .55rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:.2rem}.calendar-grid>*{padding:.35rem .05rem;border-radius:8px}.calendar-grid .weekday{font-weight:800}.calendar-grid a{background:#fbd5f0}.calendar-grid .today{outline:2px solid #5b399c}
textarea{display:block;width:100%;font:inherit;padding:.6rem;border:2px solid #a699cb;border-radius:12px}.message{padding:.65rem 0;border-bottom:1px solid #dcd2ee}.message:last-child{border-bottom:0}.message>div{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.4rem 0}.chat-photo{display:block;max-width:100%;max-height:300px;border-radius:12px;margin:.4rem 0}
.animals{position:absolute;bottom:9vh;width:100%;height:70px}.animal{position:absolute;left:-90px;bottom:0;font-size:36px;animation:meadow-cross 32s linear infinite}.animal b{display:inline-block;animation:meadow-graze 8s ease-in-out infinite}.animal-1{bottom:38px;animation-duration:45s;animation-delay:-18s}.animal-2{bottom:14px;animation-duration:34s;animation-delay:-12s}.animal-3{bottom:54px;animation-duration:54s;animation-delay:-35s}.animal-0 b,.animal-2 b{animation-name:meadow-hop}
@keyframes meadow-cross{0%{transform:translateX(0) scaleX(-1)}26%,38%{transform:translateX(35vw) scaleX(-1)}63%,74%{transform:translateX(70vw) scaleX(-1)}100%{transform:translateX(calc(100vw + 160px)) scaleX(-1)}}
@keyframes meadow-graze{0%,48%,100%{transform:rotate(0)}54%,66%,78%{transform:rotate(-17deg)}60%,72%{transform:rotate(-8deg)}}
@keyframes meadow-hop{0%,14%,28%,42%,100%{transform:translateY(0)}7%,21%,35%{transform:translateY(-11px)}54%,67%,80%{transform:rotate(-14deg)}61%,74%{transform:rotate(-7deg)}}
@media(prefers-reduced-motion:reduce){.animal-0{left:8%}.animal-1{left:33%}.animal-2{left:58%}.animal-3{left:81%}}
.account-menu>a{display:block;margin:.15rem 0 .65rem}

.hill{bottom:-13vh;left:-8%;width:116%;height:43vh;border-radius:54% 58% 0 0;background:linear-gradient(#aaf260,#5fca55)}
.homestead{position:absolute;left:70%;bottom:27vh;width:clamp(84px,16vw,170px);transform:translateX(-50%);filter:drop-shadow(1px 4px 0 #36582842)}
.tree{position:absolute;bottom:23vh;width:clamp(34px,8vw,80px);filter:drop-shadow(1px 3px 0 #36582835)}.tree-a{left:8%}.tree-b{left:22%;bottom:26vh;transform:scale(.76)}.tree-c{right:5%;bottom:25vh;transform:scale(.9)}
.notice{background:#fff2a4;border:2px solid #ecae39}.notice p{margin:.4rem 0}
