:root{--round:"Fredoka", "LXGW WenKai Screen", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--kai:"LXGW WenKai Screen", "LXGW WenKai", "Kaiti SC", "STKaiti", "KaiTi", serif;--paper:#fbf0d6;--paper-edge:#ead6a8;--wood:#9a6634;--wood-dark:#5e3b1c;--ink:#3a2a1f;--ink-soft:#6b5440;--accent:#d9822b;--page:#2f3a22;--page-ink:#f4ecd6;--page-muted:#b9b394;--page-accent:#f1c35b}:root[data-theme=night]{--paper:#2c3157;--paper-edge:#3b4170;--wood:#7d6b9e;--wood-dark:#171a33;--ink:#eceaf6;--ink-soft:#b9bcd9;--accent:#f2d66b;--page:#121527;--page-ink:#e8e6f2;--page-muted:#8e93b4;--page-accent:#f2e27e}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:#a7cd73}body{background:var(--page);color:var(--page-ink);font-family:var(--kai);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit}.hero{height:100vh;-webkit-user-select:none;user-select:none;background:#a7cd73;height:100svh;min-height:520px;position:relative;overflow:hidden}#farm{touch-action:pan-y;outline:none;display:block;position:absolute;inset:0}#farm:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}.panel{background:var(--paper);color:var(--ink);border:3px solid var(--wood);box-shadow:inset 0 0 0 2px var(--paper-edge), 0 3px 0 var(--wood-dark), 0 8px 18px #281c0a2e;border-radius:12px}.corner{align-items:stretch;gap:.5rem;display:flex;position:absolute;top:clamp(.75rem,2.5vh,1.5rem);right:clamp(.75rem,2.5vw,1.5rem)}.tally{font-family:var(--round);align-items:center;gap:.75rem;padding:.3rem .75rem;font-size:1.05rem;font-weight:600;display:flex}.tally:empty{display:none}.tally span{align-items:center;gap:.25rem;display:inline-flex}.tally img{display:block}.open-projects{height:46px;font:600 1rem/1 var(--round);cursor:pointer;align-items:center;gap:.4rem;padding:0 .9rem 0 .75rem;display:inline-flex}.open-projects svg{width:22px;height:22px}.mode,.sound{cursor:pointer;place-items:center;width:46px;height:46px;padding:0;display:grid}.mode svg,.sound svg{width:22px;height:22px}.sound .off,.sound[aria-pressed=false] .on{display:none}.sound[aria-pressed=false] .off{display:block}.mode .moon,:root[data-theme=night] .mode .sun{display:none}:root[data-theme=night] .mode .moon{display:block}.bottom{pointer-events:none;flex-direction:column;align-items:center;gap:.45rem;display:flex;position:absolute;bottom:clamp(.6rem,2vh,1.25rem);left:0;right:0}.bottom>*{pointer-events:auto}.status{color:#fff6df;background:#3a2a1fb8;border-radius:999px;margin:0;padding:.15rem .85rem;font-size:.95rem}.status.pop{animation:.35s pop}@keyframes pop{0%{opacity:.4;transform:translateY(4px)}}.toolbar{scrollbar-width:none;gap:4px;max-width:calc(100vw - 1.5rem);padding:5px;display:flex;overflow-x:auto}.toolbar::-webkit-scrollbar{display:none}.slot{border:2px solid var(--paper-edge);background:color-mix(in srgb, var(--paper) 70%, #fff 30%);width:64px;color:var(--ink);font:500 .78rem/1.2 var(--kai);cursor:pointer;border-radius:8px;flex-direction:column;flex:none;align-items:center;gap:1px;padding:5px 2px 4px;display:flex}.slot img{width:34px;height:34px;display:block}.slot:hover{border-color:var(--wood)}.slot.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.slot:focus-visible,.mode:focus-visible,.sound:focus-visible,.open-projects:focus-visible,.projects-close:focus-visible,.projects a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.hint{color:#281e12bf;text-shadow:0 1px #fff6;margin:0;font-size:.82rem}:root[data-theme=night] .hint{color:#e6e6fabf;text-shadow:none}.hint a{color:inherit;text-underline-offset:2px;text-decoration-color:#281e1259}:root[data-theme=night] .hint a{text-decoration-color:#e6e6fa66}.hint-touch{display:none}@media (hover:none){.hint-key{display:none}.hint-touch{display:inline}}@media (max-width:640px){.tally{display:none}.mode,.sound{width:40px;height:40px}.open-projects{height:40px;padding:0 .7rem 0 .6rem}.slot{white-space:nowrap;width:58px;font-size:.72rem}.slot img{width:30px;height:30px}.status{font-size:.85rem}}@media (prefers-reduced-motion:reduce){.status.pop{animation:none}}.projects{width:min(34rem,100vw - 2rem);max-height:min(80vh,44rem);font-family:var(--kai);padding:1.4rem 1.6rem 1.2rem;overflow-y:auto}.projects[open]{animation:.22s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.projects::backdrop{background:#281c0e61}.projects h2{font:700 1.6rem/1.2 var(--round);margin:0 0 .8rem}.projects-close{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:1.6rem;line-height:1;position:absolute;top:.55rem;right:.7rem}.projects-close:hover{background:color-mix(in srgb, var(--wood) 15%, transparent)}.group+.group{margin-top:.9rem}.group h3{border-bottom:2px dashed var(--paper-edge);color:var(--ink-soft);margin:0 0 .25rem;padding-bottom:.25rem;font-size:.9rem;font-weight:400}.group ul{margin:0;padding:0;list-style:none}.projects li a{color:var(--ink);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name host""desc desc";gap:0 1rem;margin:0 -.5rem;padding:.32rem .5rem;text-decoration:none;display:grid}.projects li a:hover{background:color-mix(in srgb, var(--wood) 12%, transparent)}.projects .name{font:600 1.2rem/1.3 var(--round);grid-area:name}.projects .host{color:var(--ink-soft);grid-area:host;align-self:center;font-size:.82rem}.projects .desc{color:var(--ink-soft);grid-area:desc;font-size:.92rem}.projects .desc:empty{display:none}.credits{border-top:2px dashed var(--paper-edge);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin:1.2rem 0 0;padding-top:.75rem;font-size:.8rem;display:flex}.credits a{text-underline-offset:.2em}@media (prefers-reduced-motion:reduce){.projects[open]{animation:none}}
