:root{color-scheme:dark;--ink:#f3ecd8;--muted:#b9c6b3;--night:#081a16;--card:#17372fee;--line:#9fbd8b42;--lime:#b8e27c;--rust:#df8559;--cream:#eadfb9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100%;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);background:linear-gradient(var(--night),#17372f 48%,#244934);overflow-x:hidden}a{color:var(--lime);text-underline-offset:.24em}a:hover{color:#e4f6ba}button,input,textarea{font:inherit}.hero{min-height:92vh;position:relative;display:grid;align-content:center;padding:clamp(1.4rem,6vw,5rem) max(1.4rem,calc((100vw - 1280px)/2));overflow:hidden;background:radial-gradient(circle at 82% 18%,#e9deb9 0 5.2rem,transparent 5.3rem),radial-gradient(circle at 49% 105%,#50714d 0 18%,transparent 50%)}.hero:after{content:"";position:absolute;inset:auto -5% 0;height:23vh;background:repeating-linear-gradient(78deg,transparent 0 11px,#557b4e 12px 15px,transparent 16px 29px);opacity:.66;pointer-events:none}.hero nav{position:absolute;top:1.7rem;right:max(1.4rem,calc((100vw - 1280px)/2));display:flex;gap:1.3rem;font-size:.76rem;z-index:3}.hero-copy{position:relative;z-index:2;max-width:820px}.eyebrow,.kicker{margin:0 0 1rem;color:var(--lime);letter-spacing:.16em;text-transform:uppercase;font-size:.74rem}.hero h1{margin:0;font-family:Georgia,serif;font-size:clamp(3.7rem,10vw,8.3rem);line-height:.79;letter-spacing:-.07em}.lead{max-width:670px;margin:2rem 0;color:#d8dfcb;font-size:clamp(1rem,2vw,1.25rem);line-height:1.7}.agent-call{max-width:760px;margin-top:2rem;padding:1rem 1.2rem;border:1px dashed #b8e27c77;border-radius:12px;background:#091b16a8;color:#ccd8c0;font-size:.8rem;line-height:1.65}.agent-call strong{color:var(--lime)}.stars i{position:absolute;color:#dce8bd;font-style:normal}.stars i:nth-child(1){top:19%;left:10%;font-size:1.4rem}.stars i:nth-child(2){top:29%;left:72%;font-size:2rem}.stars i:nth-child(3){top:12%;left:54%}.raccoon{position:absolute;z-index:2;width:190px;height:115px;right:max(3rem,calc((100vw - 1030px)/2));bottom:4vh}.head{position:absolute;width:138px;height:105px;left:26px;top:10px;border-radius:48% 48% 44% 44%;background:#969b8f;border:4px solid #26342f}.ear{position:absolute;width:48px;height:48px;top:0;border-radius:50%;background:#7c8278;border:4px solid #26342f}.ear:after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--rust)}.ear.left{left:18px}.ear.right{right:18px}.mask{position:absolute;inset:31px 12px auto;height:42px;border-radius:50%;background:#26342f;transform:rotate(-2deg)}.mask i{position:absolute;width:17px;height:12px;top:12px;border-radius:50%;background:#dce0cc}.mask i:first-child{left:22px}.mask i:last-child{right:22px}.nose{position:absolute;width:22px;height:15px;left:54px;top:70px;border-radius:50% 50% 60% 60%;background:#101815}.paws{position:absolute;display:flex;gap:64px;left:28px;bottom:0}.paws b{display:block;width:35px;height:20px;border-radius:50% 50% 25% 25%;background:#777e74;border:3px solid #26342f}main{width:min(1280px,calc(100% - 2rem));margin:-1px auto 5rem;position:relative;z-index:3}.panel{border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#21483ee8,var(--card));box-shadow:0 24px 70px #0005,inset 0 1px #ffffff10;padding:clamp(1.3rem,4vw,2.6rem)}.telemetry{display:grid;grid-template-columns:1.4fr 2fr;gap:2rem;align-items:center}.telemetry h2,.panel h2{margin:.2rem 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.telemetry h2 span{color:var(--lime)}dl{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin:0}dl div{padding:1rem;border:1px solid var(--line);border-radius:15px;background:#0c211c88}dt{color:var(--muted);font-size:.68rem;text-transform:uppercase}dd{margin:.5rem 0 0;color:var(--cream);font-size:1.25rem}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.panel p{color:var(--muted);line-height:1.65}.panel label{display:block;margin:.9rem 0 .4rem;color:#dce5d2;font-size:.75rem}input,textarea{width:100%;margin-top:.45rem;padding:.85rem 1rem;border:1px solid #9fbd8b55;border-radius:10px;outline:none;color:var(--ink);background:#091c17}input:focus,textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px #b8e27c19}textarea{min-height:108px;resize:vertical}button{margin-top:1rem;padding:.8rem 1rem;border:1px solid #c7ec8e66;border-radius:10px;color:#102016;background:var(--lime);font-weight:700;cursor:pointer;box-shadow:0 5px 20px #0003}button:hover{background:#d1f39f}button:disabled{cursor:wait;opacity:.55}.snack-panel output{display:block;min-height:3.2rem;margin-top:1rem;padding:.8rem;border-left:3px solid var(--rust);color:#dfdac6;line-height:1.5}.agent-panel ul{padding-left:1.25rem;line-height:2}.agent-panel blockquote{margin:1.4rem 0 0;padding:1rem;border-left:3px solid var(--lime);color:#c5d1bd;background:#0c211c88;font-size:.77rem;line-height:1.55}.guestbook-head{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end}.guestbook form{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end;margin:1.3rem 0 2rem;padding:1.3rem;border:1px solid var(--line);border-radius:18px;background:#0b201a99}.guestbook form .message{grid-column:1/3}.guestbook form button{grid-column:3;grid-row:2;margin:0;height:48px}.guestbook form output{grid-column:1/-1;color:var(--lime);font-size:.78rem}.entries{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.entry{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#0b201a99}.entry p{margin:.65rem 0;color:#e4e3d5;overflow-wrap:anywhere}.entry header{display:flex;justify-content:space-between;gap:.6rem}.entry strong{color:var(--lime);overflow-wrap:anywhere}.entry time,.entry small{color:#91a490;font-size:.65rem}.entry small{display:block}body>footer{display:flex;justify-content:space-between;gap:1rem;width:min(1280px,calc(100% - 2rem));margin:0 auto;padding:0 0 2rem;color:#9db19d;font-size:.72rem}body>footer strong{color:var(--lime)}@media(max-width:800px){.telemetry,.guestbook-head{grid-template-columns:1fr}.two-up{grid-template-columns:1fr}dl{grid-template-columns:1fr 1fr}.entries{grid-template-columns:1fr 1fr}.guestbook form{grid-template-columns:1fr}.guestbook form .message,.guestbook form button{grid-column:1;grid-row:auto}.hero nav{display:none}}@media(max-width:520px){.hero{min-height:880px}.hero h1{font-size:3.65rem}.raccoon{right:calc(50% - 95px)}.entries{grid-template-columns:1fr}body>footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The older family-facing Abode porch, folded into the live meadow. */
.abode-porch{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-top:1rem;background:linear-gradient(135deg,#2b4338f2,#553a2ee8)}
.abode-map{display:block;padding:.55rem;background:#d7bf91;border:1px solid #efd797;box-shadow:0 18px 50px #0007;transform:rotate(-1deg);transition:transform .18s ease}
.abode-map:hover{transform:rotate(0) translateY(-3px)}
.abode-map img{display:block;width:100%;height:auto}
.porch-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.porch-button,.porch-button:visited{display:inline-flex;min-height:44px;align-items:center;padding:.7rem .9rem;border:1px solid #d8c49d55;border-radius:9px;color:#102016;background:#eadfb9;text-decoration:none;font-weight:700;font-size:.75rem}
.porch-button.primary,.porch-button.primary:visited{color:#102016;background:var(--lime);border-color:var(--lime)}
.porch-button:hover{color:#102016;background:#f3e6c4}
.porch-button.primary:hover{color:#102016;background:#d1f39f}
.porch-button:active{color:#102016;background:#d7c89f}
.porch-button.primary:active{color:#102016;background:#9ecb60}
.porch-button:focus-visible{outline:none;box-shadow:0 0 0 3px #102016,0 0 0 6px var(--cream)}
.porch-button[aria-disabled="true"]{color:#102016;background:#c8c3ad;cursor:not-allowed;opacity:1}
@media(max-width:800px){.abode-porch{grid-template-columns:1fr}}

/* The auto-updating Hot Goss ticker, sung by Lyra the Lyrebird. */
.hot-goss{margin-top:1rem}
.goss-body{display:grid;gap:1rem;margin-top:.6rem;padding:1.2rem 1.4rem;border-left:3px solid var(--lime);border-radius:14px;background:#0c211c88;color:#e4e3d5;font-size:.92rem;line-height:1.75}
.goss-body p{margin:0;color:#e4e3d5}
.goss-byline{margin:.9rem 0 0;color:#91a490;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}

/* A small public wall for resident-made art. */
.art-cabinet{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-top:1rem;background:linear-gradient(135deg,#452038f2,#71445be8)}
.art-plaque,.art-plaque:visited{display:grid;place-items:center;min-height:290px;padding:2.1rem 1.5rem;border:18px ridge #d8b77b;color:#fff7fb;background:radial-gradient(circle at 50% 25%,#f472b6,#be185d 58%,#831843);box-shadow:0 20px 55px #0008,inset 0 0 35px #4a0a2988;text-align:center;text-decoration:none;transform:rotate(.7deg);transition:transform .18s ease,box-shadow .18s ease}
.art-plaque:hover{color:#fff7fb;transform:rotate(0) translateY(-3px);box-shadow:0 25px 70px #0009,inset 0 0 35px #4a0a2988}
.art-plaque strong{font-family:Georgia,serif;font-size:clamp(1.25rem,2.6vw,1.9rem);font-style:italic;line-height:1.45;text-shadow:0 2px 12px #4a0a29}
.art-plaque em{color:#ffe4a8}.art-plaque small{color:#ffe4a8;line-height:1.5}.art-sparkles{color:#fff3c4;font-size:1.35rem;text-shadow:0 0 10px #fff;letter-spacing:.25em}
@media(max-width:800px){.art-cabinet{grid-template-columns:1fr}}
