:root{--ink:#4b452f;--sage:#a9bc78;--sage-dark:#617641;--cream:#fff9e9;--pink:#ef9a91;--gold:#e8b84f;--line:#cbd3a8;--shadow:#6d674425}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:"Trebuchet MS",system-ui,sans-serif;background:radial-gradient(circle at 8% 15%,#fff7df 0 9%,transparent 10%),radial-gradient(circle at 90% 75%,#cdd9a9 0 15%,transparent 16%),#dfe5c6}button,input{font:inherit}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:ui-rounded,"Arial Rounded MT Bold","Trebuchet MS",sans-serif}.game-shell{width:min(1180px,94vw);margin:20px auto;padding:18px;border:2px solid #aeb98c;border-radius:34px;background:#f8f6e9cc;box-shadow:0 20px 60px #53603b2b,0 0 0 7px #ffffff55}.topbar{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(420px,1.4fr);align-items:center;gap:24px;padding:15px 20px;margin-bottom:14px;border:2px solid #b9c39a;border-radius:24px;background:linear-gradient(110deg,#f9f8e8,#fff7df);box-shadow:0 5px 0 #aab58955}.brand{display:flex;align-items:center;gap:14px}.brand-frog{display:grid;place-items:center;width:58px;height:52px;border:3px solid #667941;border-radius:50% 50% 44% 44%;background:linear-gradient(145deg,#bed18a,#91ab62);color:#394525;font-weight:900;letter-spacing:2px;box-shadow:inset 0 3px #e6efc7,0 4px 0 #677b46}.brand h1{font-size:30px;line-height:1;color:#4e5f31}.brand p{margin-top:6px;color:#8f8d70;font-size:11px;letter-spacing:1.4px}.stats{display:grid;grid-template-columns:auto minmax(220px,1fr);align-items:center;gap:20px}.coin-pill{padding:12px 18px;border:2px solid #dec47f;border-radius:18px;background:#fff6d8;box-shadow:inset 0 0 0 3px #fffdf4,0 4px 8px #8c70451a;white-space:nowrap}.coin-pill span,.item-buy strong{color:#ba7d18}.mood-stat{min-width:0;padding:8px 12px}.mood-label{display:flex;justify-content:space-between;font-weight:800;font-size:12px;margin-bottom:7px}.mood-label span:last-child{color:var(--sage-dark)}.mood-track{height:15px;border:2px solid #fff;border-radius:12px;overflow:hidden;background:linear-gradient(90deg,#e9887d,#ebc45f,#a8cb75);box-shadow:0 1px 3px #5b654633 inset}.mood-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#f1b15e,#8fb965);transition:width .4s ease}.tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:15px;padding:7px;border:2px solid #c3cca3;border-radius:20px;background:#edf0d5}.tab{border:0;padding:11px 9px;border-radius:14px;background:transparent;white-space:nowrap;font-size:12px;font-weight:800;cursor:pointer}.tab span{font-size:17px;margin-right:4px}.tab i{font-style:normal}.tab:hover{background:#fff9e8}.tab.active{background:linear-gradient(#bdce8f,#a7ba75);color:#3f4e2a;box-shadow:inset 0 0 0 2px #dce6bd,0 4px 0 #84985b}.tab-view{display:none}.tab-view.active{display:block;animation:appear .3s ease}.room-card{height:600px;position:relative;overflow:hidden;border:7px solid #fffbed;border-radius:27px;box-shadow:0 16px 35px var(--shadow),0 0 0 2px #aeb98c}.wall{--wall-color:#f8f0dc;height:69%;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(120,102,65,.04) 1px,transparent 1px),var(--wall-color);background-size:90px 100%;border-bottom:12px solid #fffaf0;transition:background .4s}.wall:before,.wall:after{content:"";position:absolute;top:0;width:18%;height:100%;z-index:1;pointer-events:none}.wall:before{left:0;background:linear-gradient(55deg,#d8c6a355,transparent 65%);clip-path:polygon(0 0,100% 18%,100% 100%,0 100%);border-right:2px solid #bcae9140}.wall:after{right:0;background:linear-gradient(-55deg,#d8c6a355,transparent 65%);clip-path:polygon(100% 0,0 18%,0 100%,100% 100%);border-left:2px solid #bcae9140}.floor{height:31%;position:relative;background:repeating-linear-gradient(0deg,transparent 0 42px,#9d704a22 43px 45px),repeating-linear-gradient(90deg,transparent 0 150px,#9d704a1c 151px 153px),linear-gradient(#e7c18f,#d9aa73)}.floor:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#fff2 0 15%,transparent 16% 80%,#7c552414);pointer-events:none}.window{position:absolute;left:8%;top:20%;width:170px;height:142px;overflow:hidden;border:11px solid #fffdf4;border-bottom-width:16px;border-radius:48% 48% 5px 5px;background:linear-gradient(#b9dcd4,#eaf0cc);box-shadow:0 6px 0 #c3ac88,0 8px 18px #71634622;z-index:2}.window-cross:before,.window-cross:after{content:"";position:absolute;background:#fffdf4;z-index:3}.window-cross:before{width:8px;height:100%;left:72px}.window-cross:after{height:8px;width:100%;top:57px}.cloud{position:absolute;width:38px;height:15px;border-radius:20px;background:#fff9e9}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud:before{width:20px;height:20px;left:8px;top:-9px}.cloud:after{width:14px;height:14px;right:2px;top:-5px}.cloud-one{left:16px;top:30px}.cloud-two{right:8px;top:82px;transform:scale(.75)}.room-layer{position:absolute}.room-rug{inset:0;z-index:1}.placed-rug{position:absolute;width:min(440px,52%);height:115px;left:50%;bottom:12px;transform:translateX(-50%);display:grid;place-items:center;border:8px double #ffffff99;border-radius:50%;background:radial-gradient(ellipse,#ffffff33 0 35%,transparent 36%),var(--item-color);box-shadow:0 7px 0 #765f4b38;font-size:30px;color:#ffffff99}.default-rug{background:#dda8a4;border-color:#f5d8c4}.room-bed{right:6%;bottom:25px;z-index:2}.placed-bed{position:relative;width:205px;height:95px;display:grid;place-items:center;border:6px solid #725e4655;border-radius:48px 48px 17px 17px;background:linear-gradient(#ffffff4d,#0000000d),var(--item-color);box-shadow:inset 0 7px #fff6,0 8px 0 #765f4b44;font-size:28px}.placed-bed:before{content:"";position:absolute;left:18px;right:18px;top:12px;height:33px;border-radius:28px;background:#fff6}.placed-bed small{position:absolute;bottom:8px;font-size:9px;background:#fffbe0d9;padding:3px 8px;border-radius:10px}.room-wall-decor{right:12%;top:24%;z-index:3}.placed-decor{width:82px;height:92px;display:grid;place-items:center;border:9px ridge #c79d7b;background:#fff7dc;box-shadow:3px 5px 0 #80665155;transform:rotate(1deg);font-size:34px}.default-decor{color:#8ca46b}.room-lighting{inset:0;z-index:4;pointer-events:none}.placed-light{position:absolute;left:25%;top:18px;width:55%;text-align:center;color:#f5c95b;font-size:24px;letter-spacing:8px;filter:drop-shadow(0 0 7px #f4ce6c);border-top:3px solid #89724e;padding-top:18px}.placed-light.moon,.placed-light.rainbow{left:auto;right:22%;width:auto;border:0;font-size:48px}.placed-light.fireflies,.placed-light.flowers{border:0;font-size:36px}.room-accessory{left:13%;bottom:22px;z-index:4}.placed-accessory{display:grid;place-items:center;min-width:74px;min-height:65px;padding:8px;border:3px solid #7b694d55;border-radius:40% 40% 12px 12px;background:#fff2c099;font-size:45px;filter:drop-shadow(0 6px 2px #725b4544)}.crumpet{border:0;padding:0;background:none;position:absolute;width:260px;height:260px;left:50%;bottom:25px;transform:translateX(-50%);cursor:pointer;z-index:6;animation:breathe 3.4s ease-in-out infinite;transform-origin:50% 100%}.crumpet:before{content:attr(data-hat);position:absolute;z-index:10;top:-18px;left:50%;font-size:64px;transform:translateX(-50%) rotate(-7deg);filter:drop-shadow(0 4px 2px #5554)}.crumpet:hover{filter:brightness(1.035)}.crumpet.pet{animation:petHop .48s ease}.frog-shadow{position:absolute;width:205px;height:35px;bottom:3px;left:28px;background:#765f4b42;border-radius:50%;filter:blur(1px)}.frog-body{position:absolute;width:222px;height:192px;bottom:26px;left:19px;border:3px solid #536b32;border-radius:46% 46% 43% 43%;background:linear-gradient(145deg,#bed486,#99b469 58%,#839d58);box-shadow:inset 10px 12px 18px #e8f2bd66,inset -13px -15px 15px #637d4638,0 7px 0 #58713c}.eye{position:absolute;top:-37px;width:82px;height:86px;border:3px solid #536b32;border-radius:50%;background:linear-gradient(140deg,#bdd385,#91ac64)}.eye-left{left:12px}.eye-right{right:12px}.eye i{position:absolute;width:40px;height:51px;left:20px;top:18px;border:3px solid #463a25;border-radius:50%;background:linear-gradient(100deg,#30291d,#55452b);box-shadow:inset -5px -4px #17140c55}.eye i:before,.eye i:after{content:"";position:absolute;border-radius:50%;background:#fff}.eye i:before{width:13px;height:16px;left:6px;top:5px}.eye i:after{width:6px;height:7px;right:6px;bottom:9px;opacity:.8}.nose{position:absolute;top:62px;width:6px;height:8px;border-radius:50%;background:#718d4b}.nose-left{left:99px}.nose-right{right:99px}.cheek{position:absolute;width:43px;height:30px;top:74px;border-radius:50%;background:#ef9992;box-shadow:inset 4px 4px #ffc0b077}.cheek-left{left:18px}.cheek-right{right:18px}.mouth{position:absolute;width:68px;height:30px;left:74px;top:71px;border-bottom:4px solid #4e3a28;border-radius:0 0 55% 55%;box-shadow:0 2px #f2dd9f}.belly{position:absolute;width:115px;height:94px;left:51px;bottom:7px;border-radius:55% 55% 45% 45%;background:linear-gradient(145deg,#f3e9bc,#dfd49d);box-shadow:inset 7px 6px #fff9d755}.arm{position:absolute;z-index:2;width:40px;height:93px;bottom:-4px;border:3px solid #536b32;border-top:0;border-radius:20px 20px 45% 45%;background:linear-gradient(100deg,#a6bf73,#8ca65e)}.arm:after{content:"";position:absolute;width:34px;height:16px;bottom:-3px;left:-3px;border-bottom:3px solid #536b32;border-radius:50%}.arm-left{left:28px;transform:rotate(-10deg)}.arm-right{right:28px;transform:scaleX(-1) rotate(-10deg)}.foot{position:absolute;width:82px;height:50px;bottom:-13px;border:3px solid #536b32;border-radius:55% 50% 42% 48%;background:linear-gradient(#a1ba6d,#8ba45c)}.foot-left{left:-24px;transform:rotate(-9deg)}.foot-right{right:-24px;transform:rotate(9deg)}.speech-bubble{position:absolute;left:calc(50% + 145px);bottom:170px;max-width:210px;padding:13px 17px;border:2px dashed #b8bf93;border-radius:18px 18px 18px 5px;background:#fffbed;box-shadow:0 5px 12px #625c4e25;font-size:13px;z-index:7;transition:.2s}.speech-bubble.pop{animation:bubblePop .42s ease}.home-note{width:max-content;max-width:90%;margin:16px auto 2px;padding:12px 22px;border:2px dashed #bec69d;border-radius:18px;background:#fff9e8;text-align:center;color:#7f7b63;font-size:12px}.two-column{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.panel{padding:25px;border:2px solid #c4cba8;border-radius:24px;background:#fffaf0;box-shadow:inset 0 0 0 5px #ffffff99,0 8px 20px #7377591c;margin-bottom:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:2px dashed #d5d6bd}.panel-heading h2{font-size:23px}.panel-intro{margin:-6px 0 18px;color:#898774;font-size:12px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:1.8px;color:#91a067;font-size:9px;font-weight:800;margin-bottom:4px}.heading-icon{font-size:29px;color:#829c5b}.care-panel label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:800;color:#79765f;margin:13px 0}.care-panel input,.journal-form input{display:block;width:100%;margin-top:6px;padding:13px 14px;border:2px solid #d8dac1;border-radius:13px;background:#fffefa;color:var(--ink);outline:none}.care-panel input:focus,.journal-form input:focus{border-color:#9eb273;box-shadow:0 0 0 3px #91aa7826}.calculation,.summary-card{padding:17px;border:2px dashed #c5cea6;border-radius:16px;background:#eef1dc;line-height:1.5;font-size:13px;margin:16px 0}.wide{width:100%}.fine-print{font-size:10px;color:#929586;text-align:center;line-height:1.5;margin-top:10px}.streak-number{text-align:center;padding:8px 15px;border:2px solid #ead499;border-radius:15px;background:#fff2d0;color:#9b6b1e}.streak-number strong{display:block;font-size:26px;line-height:22px}.streak-number small{font-size:9px;text-transform:uppercase}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:20px 0 9px}.log-history{max-height:350px;overflow:auto}.log-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px;border-bottom:1px dashed #d8d8c3;font-size:11px}.log-row div>*{display:block}.log-row small{color:#999784;margin-top:3px}.log-row span{text-align:right;color:#6f8061}.category-filters{display:flex;gap:8px;overflow:auto;padding-bottom:11px;margin-bottom:10px}.filter{border:2px solid #d4d8bc;background:#fffdf5;padding:8px 12px;border-radius:100px;white-space:nowrap;font-size:10px;font-weight:700;cursor:pointer}.filter.active{background:#a8bb78;color:#40502c;border-color:#819657}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:2px}.shop-item{display:flex;flex-direction:column;align-items:stretch;padding:13px;border:2px solid #e0dec8;border-radius:19px;background:#fffdf7;box-shadow:0 4px 10px #756c4b0d}.item-icon{display:grid;place-items:center;width:100%;height:86px;margin-bottom:10px;border:2px dashed #d1d7b3;border-radius:15px;background:linear-gradient(145deg,#f3f3df,#e7edcf);font-size:38px}.item-info{flex:1}.item-info span{font-size:8px;text-transform:uppercase;color:#93977d}.item-info h3{font-size:14px;margin-top:2px}.item-info p{font-size:10px;color:#858370;margin-top:4px;line-height:1.35}.item-buy{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.item-buy strong{font-size:11px}.action-button{border:0;border-radius:100px;padding:9px 17px;background:#819c5d;color:#fff;font-weight:800;font-size:11px;cursor:pointer;box-shadow:0 3px 0 #5c7540;transition:.15s}.action-button:hover{background:#708c4d;transform:translateY(-1px)}.action-button:active{transform:translateY(2px);box-shadow:none}.action-button:disabled{background:#b8b9a8;box-shadow:none;cursor:not-allowed;transform:none}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inventory-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:13px;border:2px solid #dce0c4;border-radius:16px;background:#eef1dd}.inventory-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:#fff5c8;font-size:25px}.inventory-item div{min-width:0}.inventory-item strong,.inventory-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-item strong{font-size:11px}.inventory-item small{font-size:9px;color:#858873;margin-top:3px}.secondary{padding:7px 11px;background:#c5837d;box-shadow:0 3px 0 #98645f}.empty-state{grid-column:1/-1;padding:24px;border:2px dashed #d1d3b9;border-radius:15px;color:#9b9a87;font-size:12px;text-align:center}.journal-panel{position:relative;max-width:820px;margin:0 auto;background:repeating-linear-gradient(#fffdf5 0 35px,#d9e1c7 36px),#fffdf5}.journal-panel:before{content:"";position:absolute;top:22px;bottom:22px;left:48px;border-left:2px solid #efb6b0}.journal-panel>*{position:relative}.journal-form{display:flex;gap:9px;margin:0 0 18px 38px}.journal-form input{margin:0}.journal-list{max-height:480px;overflow:auto;margin-left:38px}.journal-entry{position:relative;margin-bottom:11px;padding:13px 14px 13px 38px;border:2px solid #e4dfc5;border-radius:14px;background:#fffdf4;font-size:13px;line-height:1.45}.journal-entry:before{content:"✎";position:absolute;left:14px;color:#c9827d}.journal-entry time{display:block;margin-top:5px;color:#9c9982;font-size:9px;text-transform:uppercase;letter-spacing:1px}footer{text-align:center;margin-top:18px;font-size:10px;color:#858a72;letter-spacing:.6px}footer span{color:#c98d8c}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);padding:12px 20px;border-radius:100px;background:#4f6046;color:#fff;font-size:12px;box-shadow:0 8px 24px #3c453544;opacity:0;pointer-events:none;transition:.25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes breathe{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-4px) scale(1.012,.992)}}@keyframes petHop{0%,100%{transform:translateX(-50%) scale(1)}35%{transform:translateX(-50%) translateY(-20px) scale(.96,1.05)}70%{transform:translateX(-50%) scale(1.06,.91)}}@keyframes bubblePop{0%{transform:scale(.8);opacity:.3}70%{transform:scale(1.05)}100%{transform:scale(1)}}@keyframes appear{from{opacity:0;transform:translateY(8px)}}
@media(max-width:900px){.shop-grid,.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-bed{right:2%}.placed-bed{width:170px}.topbar{grid-template-columns:1fr}.stats{grid-template-columns:auto 1fr}}
@media(max-width:700px){body{background:#e4e8cf}.game-shell{width:96vw;margin:10px auto;padding:10px;border-radius:25px}.topbar{padding:12px}.brand p{display:none}.stats{gap:8px}.coin-pill{padding:9px 11px;font-size:12px}.tabs{position:sticky;top:4px;z-index:15;gap:3px;padding:5px}.tab{padding:8px 3px;font-size:9px}.tab span{display:block;margin:0;font-size:16px}.room-card{height:500px}.wall{height:68%}.floor{height:32%}.window{left:3%;transform:scale(.72);transform-origin:left top}.crumpet{width:220px;height:225px;bottom:22px;transform-origin:50% 100%}.frog-body{transform:scale(.84);transform-origin:50% 100%;left:0}.frog-shadow{width:175px;left:22px}.crumpet:before{font-size:52px;top:6px}.speech-bubble{left:auto;right:10px;bottom:175px;max-width:150px}.placed-rug{width:310px}.placed-bed{transform:scale(.72);transform-origin:right bottom}.two-column{grid-template-columns:1fr}.panel{padding:18px}.journal-form,.journal-list{margin-left:18px}.journal-panel:before{left:28px}}
@media(max-width:480px){.brand-frog{width:45px;height:41px;font-size:11px}.brand h1{font-size:24px}.stats{grid-template-columns:1fr}.mood-stat{padding:4px}.room-card{height:455px;border-width:5px}.room-wall-decor{right:4%}.placed-rug{width:260px}.room-accessory{left:4%}.shop-grid,.inventory-grid{grid-template-columns:1fr}.shop-item{display:grid;grid-template-columns:66px 1fr auto;gap:10px}.item-icon{width:66px;height:66px;margin:0}.item-buy{display:block;margin:0;text-align:right}.item-buy strong{display:block;margin-bottom:8px}.item-info p{display:none}.placed-light{left:12%;width:80%}.home-note{font-size:10px}.speech-bubble{bottom:180px}}

/* Crumpet character artwork */
.crumpet{
  width:290px;
  height:270px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  isolation:isolate;
}
.crumpet-image{
  position:relative;
  z-index:2;
  display:block;
  width:280px;
  max-width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
  object-position:center bottom;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
  filter:drop-shadow(0 7px 2px #765f4b35);
}
.crumpet:before{
  z-index:4;
  top:-12px;
}
.crumpet .frog-shadow{
  z-index:1;
  width:215px;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
}
.room-rug{z-index:1}
.room-bed{z-index:2}
.room-accessory{z-index:4}
.crumpet{z-index:6}

@media(max-width:700px){
  .crumpet{width:240px;height:235px}
  .crumpet-image{width:235px}
  .crumpet .frog-shadow{width:180px;left:50%}
  .crumpet:before{top:-8px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.floor{--floor-color:#d9aa73;background:repeating-linear-gradient(0deg,transparent 0 42px,#9d704a22 43px 45px),repeating-linear-gradient(90deg,transparent 0 150px,#9d704a1c 151px 153px),linear-gradient(#f3d5a688,var(--floor-color))}

/* Home room depth and layer system:
   0 room surfaces, 1 rugs, 2 back furniture, 3 floor accessories,
   4 wall decor/lights, 6 Crumpet, 7 speech. */
.room-card{
  background:#d8ad7e;
  isolation:isolate;
  perspective:900px;
  box-shadow:inset 0 0 45px #6c513329,0 16px 35px var(--shadow),0 0 0 2px #aeb98c;
}
.wall{
  height:67%;
  z-index:0;
  border-bottom:0;
  background-color:var(--wall-color);
  background-image:
    linear-gradient(90deg,#65533b17 0,transparent 9%,transparent 91%,#65533b1b 100%),
    linear-gradient(180deg,#fff8 0,transparent 35%,#7b68460c 100%),
    radial-gradient(circle at 50% 35%,#fff7 0,transparent 58%);
  background-size:auto;
  box-shadow:inset 0 -18px 24px #6c52301a;
}
.wall:before,.wall:after{
  top:0;
  bottom:0;
  width:15%;
  height:auto;
  z-index:1;
  clip-path:none;
  border:0;
}
.wall:before{background:linear-gradient(90deg,#59472b2b,transparent);box-shadow:inset 2px 0 #fff3}
.wall:after{background:linear-gradient(270deg,#59472b2b,transparent);box-shadow:inset -2px 0 #fff3}

/* Gentle wallpaper patterns selected by the existing wallpaper item id. */
.wall[data-wallpaper="sage-wallpaper"]{
  background-image:
    linear-gradient(90deg,#59634315,transparent 10%,transparent 90%,#59634318),
    radial-gradient(ellipse at 42% 42%,#78905a35 0 2px,transparent 3px),
    radial-gradient(ellipse at 56% 58%,#78905a2d 0 2px,transparent 3px),
    linear-gradient(55deg,transparent 48%,#75885a25 49% 51%,transparent 52%);
  background-size:auto,34px 38px,34px 38px,34px 38px;
}
.wall[data-wallpaper="peach-wallpaper"]{
  background-image:linear-gradient(90deg,#a66f5b18,transparent 12%,transparent 88%,#a66f5b1c),radial-gradient(circle at 38% 25%,#fff8,transparent 28%),linear-gradient(145deg,#fff3,transparent 48%,#d9917814);
}
.wall[data-wallpaper="sky-wallpaper"]{
  background-image:linear-gradient(90deg,#66858a18,transparent 11%,transparent 89%,#66858a1c),radial-gradient(ellipse at 25% 24%,#fff8 0 7%,transparent 8%),radial-gradient(ellipse at 72% 48%,#fff6 0 9%,transparent 10%),radial-gradient(ellipse at 48% 78%,#fff5 0 6%,transparent 7%);
  background-size:auto,230px 150px,270px 180px,210px 140px;
}
.wall[data-wallpaper="lemon-wallpaper"]{
  background-image:linear-gradient(90deg,#8b7a4218,transparent 10%,transparent 90%,#8b7a4218),repeating-linear-gradient(0deg,transparent 0 27px,#b9a85a18 28px 30px),repeating-linear-gradient(90deg,transparent 0 27px,#b9a85a18 28px 30px);
}
.wall[data-wallpaper="lilac-wallpaper"]{
  background-image:linear-gradient(90deg,#65547518,transparent 10%,transparent 90%,#6554751c),radial-gradient(circle,#a88ab638 0 2px,transparent 3px),radial-gradient(circle,#fff8 0 1px,transparent 2px);
  background-size:auto,32px 32px,32px 32px;
  background-position:0 0,0 0,8px 7px;
}
.floor{
  --floor-color:#d9aa73;
  height:33%;
  z-index:0;
  overflow:visible;
  transform-origin:50% 0;
  background:
    linear-gradient(90deg,#7454351e,transparent 10%,transparent 90%,#74543524),
    linear-gradient(180deg,#6e4f3026,transparent 18%,#fff2 72%,#6e4f3012),
    repeating-linear-gradient(86deg,transparent 0 138px,#76533224 139px 142px),
    repeating-linear-gradient(0deg,transparent 0 42px,#fff3 43px,#805d3b22 45px),
    linear-gradient(#f4ddba55,var(--floor-color));
  background-size:auto,auto,100% 100%,100% 100%,auto;
  box-shadow:inset 0 18px 24px #5d40231d;
}
.floor:before{
  content:"";
  position:absolute;
  left:-2%;right:-2%;top:-14px;height:18px;
  z-index:5;
  border-top:1px solid #fff;
  border-bottom:3px solid #8b735447;
  background:linear-gradient(#fffdf4,#eadfc9 68%,#cbb99b);
  box-shadow:0 5px 10px #59432625,inset 0 2px #fff;
  pointer-events:none;
}
.floor:after{
  background:linear-gradient(72deg,#6b4c2d1c,transparent 17%),linear-gradient(-72deg,#6b4c2d1c,transparent 17%),radial-gradient(ellipse at 50% 0,#fff4,transparent 68%);
}
.room-rug{z-index:1}
.placed-rug{
  height:105px;
  bottom:9px;
  transform:translateX(-50%) perspective(440px) rotateX(58deg);
  transform-origin:center bottom;
  box-shadow:0 18px 18px #51391f30,inset 0 2px 8px #fff5;
}
.room-bed{bottom:28px;z-index:2}
.placed-bed{box-shadow:inset 0 7px #fff6,0 10px 5px #573c253d,0 20px 18px #573c251c}
.room-accessory{bottom:25px;z-index:3}
.placed-accessory{filter:drop-shadow(0 9px 5px #51382055)}
.room-wall-decor{z-index:4}
.room-lighting{z-index:4}
.placed-decor{box-shadow:3px 6px 3px #60482f42,0 12px 22px #60482f1c}
.crumpet{z-index:6}
.crumpet .frog-shadow{height:30px;background:#4f371f45;filter:blur(5px);transform:translateX(-50%) scaleY(.65)}
.speech-bubble{z-index:7}

@media(max-width:700px){
  .wall{height:67%}.floor{height:33%}
  .placed-rug{transform:translateX(-50%) perspective(380px) rotateX(58deg)}
}

/* Dollhouse corner planes. These sit on the room-surface layer, while the
   window, lights, and pictures remain attached to the back-wall layer. */
.wall{
  overflow:visible;
  transform:translateZ(0);
}
.side-wall{
  position:absolute;
  top:0;
  bottom:0;
  width:18%;
  z-index:1;
  pointer-events:none;
  background-color:color-mix(in srgb,var(--wall-color) 88%,#b4a889);
  box-shadow:inset 0 0 28px #5443291f;
}
.side-wall-left{
  left:0;
  clip-path:polygon(0 0,100% 13%,100% 100%,0 100%);
  background-image:linear-gradient(105deg,#79684626,transparent 68%),linear-gradient(180deg,#fff3,transparent 60%);
  border-right:1px solid #7562462b;
}
.side-wall-right{
  right:0;
  clip-path:polygon(0 13%,100% 0,100% 100%,0 100%);
  background-image:linear-gradient(255deg,#7968462b,transparent 68%),linear-gradient(180deg,#fff2,transparent 60%);
  border-left:1px solid #7562462b;
}
.side-wall:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:14px;
  border-top:1px solid #fff;
  border-bottom:3px solid #8b73543d;
  background:linear-gradient(#fffdf4,#e8dcc5 70%,#c8b494);
  box-shadow:0 5px 8px #58432620;
}
.side-wall-left:after{transform:skewY(5deg);transform-origin:right bottom}
.side-wall-right:after{transform:skewY(-5deg);transform-origin:left bottom}
.window,.room-wall-decor,.room-lighting{z-index:4}
.window{left:21%}
.room-wall-decor{right:22%}

/* Floor seams fan gently from the rear wall toward the viewer. */
.floor{
  background:
    linear-gradient(90deg,#74543524,transparent 13%,transparent 87%,#74543529),
    linear-gradient(180deg,#60422330 0,transparent 24%,#fff2 74%,#68472617 100%),
    repeating-conic-gradient(from 82deg at 50% -35%,transparent 0 8deg,#73503325 8.2deg 8.7deg,transparent 8.9deg 17deg),
    repeating-linear-gradient(0deg,transparent 0 42px,#fff3 43px,#805d3b22 45px),
    linear-gradient(#f4ddba55,var(--floor-color));
  box-shadow:inset 0 22px 28px #593b211f,inset 35px 0 36px #5f42201a,inset -35px 0 36px #5f42201d;
}
.floor:after{
  background:
    linear-gradient(68deg,#60401f24,transparent 18%),
    linear-gradient(-68deg,#60401f24,transparent 18%),
    radial-gradient(ellipse at 32% 18%,#fff7 0 8%,transparent 34%),
    linear-gradient(180deg,transparent 65%,#4c311417);
}
.floor:before{height:19px;top:-15px;border-radius:2px 2px 0 0}

/* Floor objects share a low horizon and cast soft contact shadows. */
.placed-rug{
  bottom:4px;
  height:118px;
  transform:translateX(-50%) perspective(520px) rotateX(63deg);
  box-shadow:0 22px 20px #49301b38,inset 0 3px 10px #fff6;
}
.room-bed{right:7%;bottom:35px;transform:scale(.94);transform-origin:right bottom}
.placed-bed:after{
  content:"";
  position:absolute;
  left:10%;right:10%;bottom:-17px;height:22px;
  z-index:-1;
  border-radius:50%;
  background:#49301d40;
  filter:blur(7px);
}
.room-accessory{bottom:31px}
.placed-accessory{position:relative}
.placed-accessory:after{
  content:"";
  position:absolute;
  left:12%;right:12%;bottom:-12px;height:15px;
  z-index:-1;border-radius:50%;background:#49301d42;filter:blur(5px);
}
.crumpet{bottom:28px}
.crumpet .frog-shadow{bottom:-3px;height:34px;background:#3f29194a;filter:blur(7px)}

@media(max-width:700px){
  .side-wall{width:14%}
  .window{left:15%}
  .room-wall-decor{right:16%}
  .room-bed{right:2%;bottom:30px}
  .placed-rug{height:105px;transform:translateX(-50%) perspective(430px) rotateX(63deg)}
}
@media(max-width:480px){
  .side-wall{width:11%}
  .window{left:11%}
  .room-wall-decor{right:12%}
  .room-bed{right:0}
}

/* Frog paperwork / save management */
.settings-panel{max-width:900px;margin:0 auto;background:linear-gradient(135deg,#fffdf4,#f4f3df)}
.settings-panel>.panel-intro{font-size:13px;line-height:1.55}
.paperwork-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:13px;padding:17px 19px;border:2px solid #d4d7bd;border-radius:17px;background:#fffef8;box-shadow:inset 0 0 0 3px #fff,0 3px 0 #b8b89922}
.paperwork-card h3{font-size:16px}.paperwork-card p{max-width:620px;margin-top:5px;color:#7e7c68;font-size:11px;line-height:1.5}
.paperwork-label{display:inline-block;margin-bottom:5px;padding:3px 8px;border-radius:100px;font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.safe-card{border-color:#b8cfb2;background:#f5fbef}.safe-label{background:#d8ebd3;color:#4f744a}
.test-card{border-style:dashed;border-color:#b9cda0}.test-label{background:#e4edcc;color:#5e7443}
.caution-card{border-color:#e1c276;background:#fff9e8}.caution-label{background:#f8e3a9;color:#89651c}
.danger-card{border-color:#dfa7a0;background:#fff6f4}.danger-label{background:#f4d2ce;color:#934f49}
.save-actions{display:flex;flex-wrap:wrap;gap:9px}.save-button{flex:0 0 auto;border:2px solid;border-radius:100px;padding:10px 16px;font-size:10px;font-weight:900;cursor:pointer;box-shadow:0 3px 0;transition:.15s}
.save-button:hover{transform:translateY(-1px)}.save-button:active{transform:translateY(2px);box-shadow:none}
.safe-button{border-color:#77a274;background:#e2f0dc;color:#496d47;box-shadow-color:#77a274}.test-button{border-color:#86a662;background:#edf4d8;color:#55713a;box-shadow-color:#86a662}
.caution-button{border-color:#c79633;background:#fff0bc;color:#805b13;box-shadow-color:#c79633}.danger-button{border-color:#bd625a;background:#f8d7d3;color:#843e38;box-shadow-color:#bd625a}
.settings-panel .save-status{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.settings-panel .save-status span{border:1px dashed #cbd2ad;background:#f1f4e3}
@media(max-width:700px){.tabs{grid-template-columns:repeat(4,1fr)}.paperwork-card{align-items:flex-start;flex-direction:column}.settings-panel .save-status{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Home room visual cleanup: calm, aligned 2.5D geometry. */
.room-card{perspective:1200px}
.wall{
  height:68%;
  box-shadow:inset 0 -12px 20px #6c523014;
}
.wall:before,.wall:after{display:none}
.side-wall{
  width:14%;
  clip-path:none;
  box-shadow:inset 0 0 22px #54432918;
}
.side-wall-left{
  background-image:linear-gradient(90deg,#79684620,transparent 82%),linear-gradient(180deg,#fff3,transparent 65%);
}
.side-wall-right{
  background-image:linear-gradient(270deg,#79684624,transparent 82%),linear-gradient(180deg,#fff2,transparent 65%);
}
.side-wall:after{
  height:13px;
  transform:none;
  border-bottom-width:2px;
  box-shadow:0 3px 7px #5843261c;
}
.side-wall-left:after,.side-wall-right:after{transform:none}

.floor{
  height:32%;
  background:
    linear-gradient(90deg,#7454351d,transparent 12%,transparent 88%,#74543520),
    linear-gradient(180deg,#60422320 0,transparent 26%,#fff2 78%,#68472612 100%),
    repeating-linear-gradient(88deg,transparent 0 154px,#7350331d 155px 157px),
    repeating-linear-gradient(0deg,transparent 0 48px,#fff3 49px,#805d3b1d 51px),
    linear-gradient(#f4ddba55,var(--floor-color));
  box-shadow:inset 0 16px 22px #593b2118,inset 26px 0 30px #5f422014,inset -26px 0 30px #5f422016;
}
.floor:before{
  top:-14px;
  height:16px;
  left:0;
  right:0;
  border-radius:0;
  box-shadow:0 4px 7px #5843261c,inset 0 2px #fff;
}
.floor:after{
  background:linear-gradient(90deg,#60401f18,transparent 12%,transparent 88%,#60401f18),radial-gradient(ellipse at 34% 14%,#fff6 0 7%,transparent 35%);
}

/* Room layers: rug 1; furniture 2; floor accessories 3; wall pieces 4;
   Crumpet 6; wearable item 10; speech 7. */
.room-rug{z-index:1}
.placed-rug{
  width:min(430px,50%);
  height:100px;
  bottom:8px;
  transform:translateX(-50%) scaleY(.62);
  transform-origin:center center;
  border-width:7px;
  box-shadow:0 12px 14px #49301b2a,inset 0 3px 9px #fff5;
}
.room-bed{
  right:8%;
  bottom:25px;
  z-index:2;
  transform:scale(.88);
  transform-origin:right bottom;
}
.placed-bed{box-shadow:inset 0 7px #fff6,0 7px 5px #573c2533,0 13px 15px #573c2517}
.placed-bed:after{bottom:-10px;height:15px;filter:blur(6px)}
.room-accessory{left:12%;bottom:20px;z-index:3;transform:scale(.92);transform-origin:left bottom}
.placed-accessory:after{bottom:-7px;height:11px;filter:blur(4px)}
.window{left:17%;top:19%}
.room-wall-decor{right:18%;top:24%;z-index:4}
.room-lighting{z-index:4}
.placed-light{top:20px;left:27%;width:46%;padding-top:14px}
.placed-light.moon,.placed-light.rainbow{top:38px;right:20%}
.placed-light.fireflies,.placed-light.flowers{top:26px}
.crumpet{bottom:18px;z-index:6}
.crumpet .frog-shadow{
  bottom:1px;
  width:205px;
  height:25px;
  background:#3f291940;
  filter:blur(6px);
  transform:translateX(-50%) scaleY(.7);
}
.crumpet:before{z-index:10}
.speech-bubble{z-index:7}

@media(max-width:700px){
  .wall{height:68%}.floor{height:32%}
  .side-wall{width:11%}
  .window{left:12%}
  .room-wall-decor{right:13%}
  .placed-rug{width:300px;height:92px;transform:translateX(-50%) scaleY(.62)}
  .room-bed{right:2%;bottom:21px;transform:scale(.76)}
  .room-accessory{left:6%;bottom:17px;transform:scale(.82)}
  .crumpet{bottom:16px}
}
@media(max-width:480px){
  .side-wall{width:8%}
  .window{left:8%}
  .room-wall-decor{right:9%}
  .placed-rug{width:250px}
  .room-bed{right:-2%;transform:scale(.68)}
}

/* Final Home room treatment: front-facing, calm, illustrated depth. */
.room-card{
  perspective:none;
  background:#d8ad7e;
  box-shadow:inset 0 0 32px #6c51331c,0 16px 35px var(--shadow),0 0 0 2px #aeb98c;
}
.wall{
  height:69%;
  overflow:hidden;
  transform:none;
  box-shadow:inset 18px 0 24px #66523612,inset -18px 0 24px #66523612,inset 0 -10px 16px #6c523012;
}
.wall:before,.wall:after,.side-wall{display:none}
.floor{
  height:31%;
  transform:none;
  overflow:visible;
  background:
    linear-gradient(90deg,#72503218,transparent 10%,transparent 90%,#72503218),
    linear-gradient(180deg,#6847251d 0,transparent 22%,#fff2 78%,#68472510 100%),
    repeating-linear-gradient(90deg,transparent 0 148px,#7753341b 149px 151px),
    repeating-linear-gradient(0deg,transparent 0 47px,#fff3 48px,#805d3b1a 50px),
    linear-gradient(#f3dab26b,var(--floor-color));
  box-shadow:inset 0 13px 18px #593b2115,inset 18px 0 25px #5f422010,inset -18px 0 25px #5f422010;
}
.floor:before{
  left:0;
  right:0;
  top:-13px;
  height:15px;
  border:0;
  border-top:1px solid #fff;
  border-bottom:2px solid #9b856646;
  border-radius:0;
  background:linear-gradient(#fffdf6,#eee4d2 68%,#cebea3);
  box-shadow:0 4px 7px #58432619,inset 0 2px #fff;
}
.floor:after{
  background:linear-gradient(90deg,#60401f12,transparent 9%,transparent 91%,#60401f12),radial-gradient(ellipse at 30% 12%,#fff5 0 8%,transparent 36%);
}

/* Flat room placement: wall pieces 1; rug 2; furniture 3;
   floor accessories 4; Crumpet 6; speech 7; worn items 10. */
.window{left:8%;top:20%;z-index:1}
.room-wall-decor{right:12%;top:24%;z-index:1}
.room-lighting{z-index:1}
.placed-light{left:25%;top:18px;width:55%;padding-top:16px}
.placed-light.moon,.placed-light.rainbow{top:34px;right:20%}
.room-rug{z-index:2}
.placed-rug{
  width:min(430px,50%);
  height:94px;
  bottom:7px;
  transform:translateX(-50%) scaleY(.76);
  transform-origin:center;
  border-width:7px;
  box-shadow:0 9px 13px #49301b25,inset 0 3px 9px #fff5;
}
.room-bed{
  right:7%;
  bottom:24px;
  z-index:3;
  transform:scale(.88);
  transform-origin:right bottom;
}
.placed-bed:after{bottom:-8px;height:13px;background:#49301d32;filter:blur(5px)}
.room-accessory{
  left:12%;
  bottom:18px;
  z-index:4;
  transform:scale(.9);
  transform-origin:left bottom;
}
.placed-accessory:after{bottom:-6px;height:10px;background:#49301d36;filter:blur(4px)}
.crumpet{bottom:16px;z-index:6}
.crumpet .frog-shadow{
  bottom:2px;
  width:200px;
  height:24px;
  background:#3f29193d;
  filter:blur(6px);
  transform:translateX(-50%) scaleY(.72);
}
.crumpet:before{z-index:10}
.speech-bubble{z-index:7}

@media(max-width:700px){
  .wall{height:68%}.floor{height:32%}
  .window{left:3%}
  .room-wall-decor{right:6%}
  .placed-rug{width:300px;height:86px;transform:translateX(-50%) scaleY(.76)}
  .room-bed{right:1%;bottom:20px;transform:scale(.75)}
  .room-accessory{left:5%;bottom:16px;transform:scale(.8)}
  .crumpet{bottom:14px}
}
@media(max-width:480px){
  .room-wall-decor{right:4%}
  .placed-rug{width:245px}
  .room-bed{right:-2%;transform:scale(.66)}
}

/* Keep the empty back wall clear; purchased wall decor still displays here. */
.placed-decor.default-decor{display:none}

/* Local Crumpet chat */
.tabs{grid-template-columns:repeat(9,1fr)}
.chat-panel{max-width:820px;margin:0 auto;padding-bottom:18px;background:linear-gradient(145deg,#fffaf0,#f1f3df)}
.chat-heading{margin-bottom:12px}
.chat-clear{border:2px dashed #c79a94;border-radius:100px;padding:8px 13px;background:#fff4ef;color:#9a6863;font-size:10px;font-weight:800;cursor:pointer}
.chat-clear:hover{background:#f9dfd8}
.chat-messages{height:min(480px,58vh);overflow-y:auto;padding:20px;border:2px solid #d7ddbd;border-radius:20px;background:radial-gradient(circle at 15% 12%,#fff9 0 8%,transparent 9%),linear-gradient(#fffdf7,#f8f4e7);box-shadow:inset 0 2px 12px #69734d12;scroll-behavior:smooth}
.chat-row{display:flex;align-items:flex-end;gap:9px;margin:0 0 14px;animation:appear .25s ease}
.chat-row.user-message{justify-content:flex-end}
.chat-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:38px;border:2px solid #71834f;border-radius:50% 50% 44% 44%;background:linear-gradient(145deg,#c5d993,#91ad64);color:#3f4e2c;font-size:9px;font-weight:900;box-shadow:0 3px 0 #65784555}
.chat-bubble{max-width:min(72%,520px);padding:11px 14px;border:2px dashed #bac79b;border-radius:17px 17px 17px 5px;background:#edf2d9;box-shadow:0 4px 10px #5e66481a}
.user-message .chat-bubble{border-color:#dfb0a7;border-radius:17px 17px 5px 17px;background:#fbe3dc}
.chat-bubble strong{display:block;margin-bottom:3px;color:#718054;font-size:9px;text-transform:uppercase;letter-spacing:.7px}
.user-message .chat-bubble strong{color:#a36e68;text-align:right}
.chat-bubble p{font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-typing{min-height:28px;padding:8px 12px;color:#7f866a;font-size:11px;font-style:italic}
.chat-typing[hidden]{display:block;visibility:hidden}
.chat-typing span{color:#8fa866}.chat-typing i{display:inline-block;letter-spacing:2px;animation:typingDots 1s ease-in-out infinite}
.chat-form{display:grid;grid-template-columns:1fr auto;gap:9px;padding-top:8px}
.chat-form input{min-width:0;padding:13px 15px;border:2px solid #d1d8b5;border-radius:15px;background:#fffefa;color:var(--ink);outline:none}
.chat-form input:focus{border-color:#9eb273;box-shadow:0 0 0 3px #91aa7826}
@keyframes typingDots{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
@media(max-width:700px){
  .tabs{grid-template-columns:repeat(4,1fr)}
  .chat-panel{padding:14px}
  .chat-messages{height:55vh;padding:13px}
  .chat-bubble{max-width:82%}
  .chat-avatar{flex-basis:36px;width:36px;height:33px;font-size:8px}
}
@media(max-width:480px){.tab{font-size:8px}.chat-heading{align-items:flex-start}.chat-clear{padding:7px 9px}.chat-form input{padding:11px}.chat-form .action-button{padding-inline:13px}}

/* Ringbound journal scrapbook */
.journal-panel{
  max-width:880px;
  padding:28px 28px 30px 72px;
  overflow:hidden;
  border-color:#d2c7a8;
  border-radius:14px 26px 26px 14px;
  background:repeating-linear-gradient(180deg,#fffdf5 0 34px,#dce4cf 35px,#fffdf5 36px);
  box-shadow:inset 18px 0 25px #8a76551a,inset 0 0 0 5px #fff9,0 10px 24px #665b421f;
}
.journal-panel:before{
  top:0;bottom:0;left:43px;
  width:3px;
  border:0;
  background:#e8aaa455;
}
.journal-panel:after{
  content:"";
  position:absolute;
  z-index:2;
  left:16px;top:28px;bottom:28px;width:24px;
  background:radial-gradient(circle,#fffdf5 0 5px,#a8967466 6px 7px,transparent 8px) center top/24px 36px repeat-y;
  filter:drop-shadow(2px 1px 1px #75644822);
  pointer-events:none;
}
.journal-panel .panel-heading{margin-bottom:12px}
.journal-filters{display:flex;gap:7px;overflow-x:auto;margin:0 0 14px;padding:2px 0 5px}
.journal-filter{border:2px dashed #c9cdae;border-radius:100px;padding:7px 12px;background:#fffdf5;color:#79785f;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}
.journal-filter:hover{background:#f2f3df}
.journal-filter.active{border-style:solid;border-color:#91a568;background:#dce7bd;color:#53653a;box-shadow:0 3px 0 #7b8e5550}
.today-page{margin-bottom:15px}
.today-page:empty{display:none}
.journal-crumpet-card{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:16px;margin:0 0 17px;padding:13px 18px;border:2px dashed #aebd89;border-radius:12px 20px 20px 12px;background:#eef3dce8;box-shadow:2px 4px 0 #b8aa8d24}
.journal-crumpet-card p{color:#657050;font-size:13px;font-weight:800;line-height:1.45}
.journal-crumpet-button{width:86px;height:76px;padding:0;overflow:hidden;border:0;border-radius:45%;background:#fff8df;cursor:pointer;box-shadow:inset 0 0 0 2px #c6d29e,0 4px 0 #879b62}
.journal-crumpet-button:hover{transform:translateY(-1px)}.journal-crumpet-button:disabled{cursor:wait;opacity:.7}
.journal-crumpet-button img{width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none}
.today-page-label{display:inline-block;margin:0 0 -3px 18px;padding:6px 13px;border-radius:7px 7px 2px 2px;background:#f4d893;color:#806420;font-size:9px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;transform:rotate(-1deg);box-shadow:1px 2px 4px #705a2920}
.today-page-empty{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:2px dashed #b7c596;border-radius:15px;background:#f0f3dc;color:#73775f;font-size:12px}
.today-page-empty .action-button{white-space:nowrap}
.journal-panel .journal-form{margin:0 0 17px;gap:9px}
.journal-panel .journal-list{max-height:540px;margin-left:0;padding:2px 4px 8px;overflow:auto}
.journal-panel .journal-entry{
  position:relative;
  margin:0 0 13px;
  padding:15px 48px 15px 17px;
  overflow:hidden;
  border:2px solid #ded7bd;
  border-radius:9px 18px 18px 9px;
  background:#fffdf7e8;
  box-shadow:2px 4px 0 #b8aa8d24;
  font-size:13px;
  line-height:1.5;
}
.journal-panel .journal-entry:before{display:none}
.journal-entry-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.journal-panel .journal-entry time{display:inline-block;margin:0;padding:5px 9px;border-radius:4px;background:#f7dfa5;color:#786632;font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;transform:rotate(1deg)}
.journal-tag{display:inline-block;padding:4px 9px;border:1px dashed currentColor;border-radius:100px;font-size:8px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}
.tag-daily{background:#e4edd0;color:#607745}.tag-memory{background:#f8dfdc;color:#9a6561}.tag-shop{background:#fff0bd;color:#94701d}
.journal-panel .journal-entry h3{margin:1px 0 7px;color:#617344;font-size:16px}
.journal-panel .journal-entry p{white-space:pre-wrap;overflow-wrap:anywhere}
.daily-entry{border-color:#c7d3a8!important;background:linear-gradient(145deg,#fffff8e8,#f2f5e4e8)!important}
.featured-daily{box-shadow:0 0 0 4px #f1d78c55,3px 5px 0 #b8aa8d24!important}
.daily-labels{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.coin-earned,.daily-mood,.quality-badge{display:inline-block;padding:5px 9px;border-radius:7px;font-size:9px;font-weight:900}
.coin-earned{border:1px solid #dfbd63;background:#fff2bd;color:#9a6c13;box-shadow:0 2px 0 #c99b3650;transform:rotate(-1deg)}
.daily-mood{border:1px solid #d9aaa4;background:#fbe2df;color:#9a6761}
.quality-badge{border:1px solid #b8c69a;background:#e8efd6;color:#607448;text-transform:capitalize}
.journal-sticker{position:absolute;right:15px;bottom:13px;color:#91a86c;font-size:24px;opacity:.7;transform:rotate(9deg)}
.save-management{margin-top:22px;padding:18px;border:2px dashed #c6bea1;border-radius:15px;background:#fffaf0e8}
.save-management h3{font-size:17px}.save-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.save-status span{padding:9px;border-radius:9px;background:#edf1dd;color:#77755f;font-size:10px}.save-status strong{display:block;color:#586b3d;font-size:14px}
.save-actions{display:flex;flex-wrap:wrap;gap:9px}.save-reset{border:1px solid #bd8983;border-radius:100px;padding:8px 14px;background:#fff7f5;color:#9a5e58;font-size:10px;font-weight:800;cursor:pointer}
@media(max-width:700px){
  .journal-panel{padding:20px 15px 22px 48px}
  .journal-panel:before{left:31px}
  .journal-panel:after{left:6px;width:22px;background-size:22px 34px}
  .journal-panel .journal-form{margin-left:0}
  .today-page-empty{align-items:flex-start;flex-direction:column}
  .save-status{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .journal-panel{padding-left:38px}
  .journal-panel:before{left:25px}
  .journal-panel:after{left:1px}
  .journal-panel .journal-entry{padding:13px 37px 13px 12px}
  .journal-entry-top{align-items:flex-start;flex-direction:column-reverse;gap:6px}
  .journal-panel .journal-entry time{align-self:flex-end}
}

/* Cosy pond arcade and Lily Pad Hop */
.games-panel{max-width:960px;margin:0 auto;background:linear-gradient(145deg,#fffaf0,#eef3dd)}
.games-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:16px}
.game-option{display:flex;flex-direction:column;gap:13px;padding:18px;border:2px solid #c8d4aa;border-radius:20px;background:#fffdf7;box-shadow:0 5px 0 #82946133}
.game-option h3{font-size:19px;color:#586d3c}.game-option p{margin-top:5px;color:#7e806d;font-size:11px;line-height:1.5}.game-option .action-button{align-self:flex-start}
.game-option-art{position:relative;height:150px;overflow:hidden;border:3px solid #d8e6c5;border-radius:17px;background:radial-gradient(ellipse at 50% 86%,#8ebc76 0 16%,transparent 17%),linear-gradient(#bde2df,#83c4c5);box-shadow:inset 0 -18px 30px #317b7b22}
.game-option-art:before,.game-option-art:after{content:"";position:absolute;width:100px;height:24px;border:3px solid #6f9e5b;border-radius:50%;background:#94bd72;box-shadow:inset -12px -5px #608d5233}
.game-option-art:before{left:8%;top:31%;transform:rotate(5deg)}.game-option-art:after{right:7%;top:19%;transform:scale(.7) rotate(-7deg)}
.game-option-art img{position:absolute;z-index:2;left:50%;bottom:-17px;width:150px;height:145px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 7px 3px #275b5844)}
.game-option-art span{position:absolute;z-index:3;right:23%;top:11%;font-size:25px;filter:drop-shadow(0 2px #fff)}
.coming-soon{align-items:center;justify-content:center;text-align:center;border-style:dashed;background:#f4f5e7}.coming-soon-art{font-size:25px;letter-spacing:4px}
.lily-hop-game{max-width:860px;margin:0 auto}.lily-game-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:10px}
.lily-game-toolbar>.lily-quiet-button:last-child{justify-self:end}.lily-scores{display:flex;gap:8px}.lily-scores span{min-width:78px;padding:8px 13px;border:2px solid #c8d5a9;border-radius:13px;background:#fff9dd;color:#797557;font-size:10px;text-align:center;text-transform:uppercase}.lily-scores strong{display:block;color:#54703c;font-size:20px}
.lily-quiet-button{border:2px dashed #aebd91;border-radius:100px;padding:8px 12px;background:#fffdf4;color:#62744d;font-size:10px;font-weight:900;cursor:pointer}.lily-quiet-button:hover,.lily-quiet-button:focus-visible{background:#e7efd2;outline:3px solid #ffffffaa;outline-offset:2px}
.lily-pond{position:relative;height:min(650px,72vh);min-height:480px;overflow:hidden;border:7px solid #fffbed;border-radius:28px;background:radial-gradient(circle at 15% 18%,#d9f2ed99 0 2%,transparent 3%),radial-gradient(circle at 77% 67%,#d9f2ed88 0 1.5%,transparent 2.5%),linear-gradient(155deg,#a9dcda,#6cb8bd 58%,#62aaad);box-shadow:inset 0 0 55px #285e6c33,0 12px 25px #536d5a30;touch-action:manipulation;isolation:isolate}
.lily-pond:focus-visible{outline:4px solid #e4c86c;outline-offset:3px}.lily-pond:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-radial-gradient(ellipse at 30% 40%,transparent 0 35px,#f5ffff13 37px 39px,transparent 41px 75px);animation:pondDrift 10s linear infinite}
.pond-reeds{position:absolute;z-index:1;bottom:-5px;color:#527c50;font-size:70px;line-height:.6;transform-origin:bottom}.reeds-left{left:-13px;transform:rotate(-9deg)}.reeds-right{right:-4px;transform:scaleX(-1) rotate(-7deg)}
.pond-dragonfly{position:absolute;z-index:1;right:9%;top:12%;color:#fff5c9;font-size:25px;animation:dragonfly 7s ease-in-out infinite}.pond-flower{position:absolute;z-index:1;left:5%;top:48%;font-size:25px}
.lily-pads{position:absolute;inset:0}.lily-pad{--pad-size:70px;position:absolute;z-index:3;width:var(--pad-size);height:calc(var(--pad-size)*.58);padding:0;border:3px solid #557f46;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b8d987 0 12%,transparent 13%),linear-gradient(145deg,#91bd69,#6b9d58);box-shadow:inset -10px -6px #456f3b28,0 8px 0 #366d6833;transform:translate(-50%,-50%);cursor:pointer;transition:left .45s ease,top .45s ease,filter .2s,box-shadow .2s}
.lily-pad:after{content:"";position:absolute;right:-2px;top:-3px;border-left:19px solid transparent;border-top:13px solid #72a45a;transform:rotate(8deg)}
.lily-pad.reachable{filter:brightness(1.08);box-shadow:inset -10px -6px #456f3b28,0 8px 0 #366d6833,0 0 0 5px #fff9bf88;animation:reachableGlow 1.8s ease-in-out infinite}.lily-pad:hover,.lily-pad:focus-visible{outline:0;filter:brightness(1.16);box-shadow:inset -10px -6px #456f3b28,0 8px 0 #366d6833,0 0 0 6px #fffbd5cc}
.lily-pad small{position:absolute;z-index:2;left:50%;top:50%;padding:1px 5px;border-radius:50%;background:#fffbe5cc;color:#557144;font-size:9px;transform:translate(-50%,-50%)}
.lily-pad.cracked{filter:saturate(.78) brightness(.92)}.pad-crack{position:absolute;z-index:4;left:50%;top:46%;width:4px;height:23px;background:#355b3b;border-radius:3px;transform:translate(-50%,-50%) rotate(18deg);box-shadow:0 0 0 1px #d5e8a533}.pad-crack:before,.pad-crack:after{content:"";position:absolute;width:11px;height:4px;border-radius:3px;background:#355b3b}.pad-crack:before{left:-8px;top:5px;transform:rotate(35deg)}.pad-crack:after{left:1px;top:13px;transform:rotate(-38deg)}
.lily-pad.golden{border-color:#a97822;background:radial-gradient(circle at 35% 30%,#fff3a4 0 12%,transparent 13%),linear-gradient(145deg,#f4d76c,#d2a63d);box-shadow:inset -10px -6px #91621322,0 8px 0 #76602f33,0 0 14px #fff3a488}.lily-pad.golden:after{border-top-color:#dcb947}.pad-sparkle{position:absolute;z-index:3;right:-7px;top:-15px;color:#fff9bd;font-size:19px;animation:padSparkle 1.4s ease-in-out infinite}
.lily-pad.moving{animation:padWobble 2.8s ease-in-out infinite}.lily-pad.moving.reachable{animation:padWobble 2.8s ease-in-out infinite,reachableGlow 1.8s ease-in-out infinite}
.lily-crumpet{position:absolute;z-index:5;width:112px;height:108px;object-fit:contain;object-position:center bottom;pointer-events:none;transform:translate(-50%,-72%);filter:drop-shadow(0 7px 3px #295d5944);transition:left .48s ease-in-out,top .48s ease-in-out}
.lily-crumpet.is-jumping{animation:crumpetHop .5s ease-in-out}.lily-crumpet.is-splashing{animation:crumpetSplash .6s ease-in forwards}
.lily-ripples{position:absolute;inset:0;pointer-events:none}.pond-ripple{position:absolute;z-index:4;width:20px;height:8px;border:3px solid #eaffffbb;border-radius:50%;transform:translate(-50%,-50%);animation:pondRipple .85s ease-out forwards}.pond-splash{position:absolute;z-index:7;font-size:54px;transform:translate(-50%,-50%);animation:splashPop .8s ease-out forwards}
.lily-time{position:absolute;z-index:7;left:6%;right:6%;bottom:18px;height:9px;overflow:hidden;border:2px solid #f6fff2aa;border-radius:10px;background:#397d7d55}.lily-time span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f1d071,#d7eea6);transition:width .1s linear}
.lily-message{position:absolute;z-index:6;left:50%;bottom:40px;max-width:75%;padding:8px 14px;border:2px dashed #c3d19f;border-radius:14px;background:#fffbe9e8;color:#596847;font-size:11px;font-weight:800;text-align:center;transform:translateX(-50%);box-shadow:0 4px 10px #37656533}
.lily-overlay{position:absolute;z-index:10;inset:8%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:25px;border:3px solid #d6deb9;border-radius:24px;background:#fffaf0ee;text-align:center;box-shadow:0 14px 35px #315c5d55;backdrop-filter:blur(3px)}.lily-overlay[hidden]{display:none}.lily-overlay h3{color:#57703d;font-size:28px}.lily-overlay p{max-width:480px;color:#716f5d;font-size:13px;line-height:1.5}.lily-overlay-icon{font-size:45px}.lily-instructions{font-size:11px!important}.lily-over-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:5px}
@keyframes pondDrift{to{transform:translate(35px,15px)}}@keyframes reachableGlow{50%{filter:brightness(1.15)}}@keyframes padWobble{0%,100%{transform:translate(-50%,-50%) rotate(-2deg)}50%{transform:translate(-50%,-50%) rotate(3deg) translateX(5px)}}@keyframes padSparkle{50%{opacity:.45;transform:scale(.75) rotate(35deg)}}@keyframes crumpetHop{50%{transform:translate(-50%,-100%) rotate(-3deg) scale(1.04)}}@keyframes crumpetSplash{to{opacity:0;transform:translate(-50%,10%) rotate(9deg) scale(.7)}}@keyframes pondRipple{to{width:105px;height:34px;opacity:0}}@keyframes splashPop{50%{transform:translate(-50%,-80%) scale(1.25)}to{opacity:0;transform:translate(-50%,-100%) scale(.8)}}@keyframes dragonfly{50%{transform:translate(-80px,35px) rotate(12deg)}}
@media(max-width:700px){.games-grid{grid-template-columns:1fr}.coming-soon{min-height:150px}.lily-game-toolbar{grid-template-columns:1fr 1fr}.lily-scores{grid-column:1/-1;grid-row:1;justify-content:center}.lily-game-toolbar>.lily-quiet-button:last-child{justify-self:end}.lily-pond{height:68vh;min-height:500px}.lily-crumpet{width:92px;height:90px}.lily-overlay{inset:5%;padding:18px}.lily-overlay h3{font-size:23px}}
@media(max-width:480px){.games-panel{padding:14px}.lily-quiet-button{padding:7px 9px;font-size:9px}.lily-scores span{min-width:68px;padding:6px 10px}.lily-pond{min-height:470px;border-width:5px}.lily-message{bottom:37px;max-width:86%}}
@media(prefers-reduced-motion:reduce){.lily-pond:before,.pond-dragonfly,.lily-pad,.lily-pad.reachable,.lily-pad.moving,.pad-sparkle,.lily-crumpet,.pond-ripple,.pond-splash{animation:none!important;transition:none!important}}

/* Catch the Flies */
.fly-option-art{background:radial-gradient(circle at 20% 18%,#fff8 0 2%,transparent 3%),linear-gradient(#c9e8d8,#83c1a7)}.fly-option-art:before{top:65%;left:4%}.fly-option-art:after{top:56%;right:4%}.fly-option-art>.menu-fly{position:absolute;z-index:4;width:25px;height:18px;display:grid;place-items:center;border-radius:50%;background:#465044;color:#fff7bd;font-size:13px;box-shadow:-8px -5px 0 -4px #eef4dd,8px -5px 0 -4px #eef4dd;animation:menuFly 2.4s ease-in-out infinite}.fly-option-art>.menu-fly-one{left:18%;top:19%}.fly-option-art>.menu-fly-two{right:16%;top:29%;background:#d4ad3f;animation-delay:-1.1s}
.catch-flies-game{max-width:860px;margin:0 auto}.flies-scoreboard span{min-width:72px}.flies-scoreboard #flies-lives{color:#c86f68;font-size:17px;letter-spacing:1px}.flies-toolbar-actions{display:flex;justify-self:end;gap:6px}
.flies-pond{position:relative;height:min(650px,72vh);min-height:500px;overflow:hidden;border:7px solid #fffbed;border-radius:28px;background:radial-gradient(circle at 17% 23%,#efffe999 0 2%,transparent 3%),radial-gradient(circle at 82% 43%,#eafff077 0 1.5%,transparent 2.5%),linear-gradient(155deg,#b8dfcd,#78bca5 60%,#62a99d);box-shadow:inset 0 0 55px #275d5930,0 12px 25px #536d5a30;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;isolation:isolate}.flies-pond:focus-visible{outline:4px solid #e4c86c;outline-offset:3px}.flies-pond:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-radial-gradient(ellipse at 60% 35%,transparent 0 38px,#f5ffff13 40px 42px,transparent 44px 80px);animation:pondDrift 12s linear infinite}
.flies-scenery{position:absolute;inset:0;pointer-events:none}.flies-reeds{position:absolute;left:-8px;bottom:8px;color:#4f8057;font-size:74px;line-height:.5;transform:rotate(-8deg)}.flies-lily{position:absolute;right:7%;bottom:13%;font-size:55px;filter:drop-shadow(0 6px #356f6433)}.flies-flower{position:absolute;left:8%;top:14%;font-size:27px}.flies-bubbles{position:absolute;right:12%;top:16%;color:#effff1aa;font-size:25px;letter-spacing:7px;animation:bubblesRise 5s ease-in-out infinite}
.active-flies,.fly-effects{position:absolute;inset:0}.catch-fly{position:absolute;z-index:7;width:44px;height:44px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer;touch-action:manipulation;transition:left .05s linear,top .05s linear}.catch-fly:focus-visible{outline:3px solid #fff8b8;outline-offset:3px;border-radius:50%;background:#fff8b833}.fly-body{position:absolute;z-index:2;left:50%;top:50%;display:grid;place-items:center;width:19px;height:23px;border:2px solid #303b35;border-radius:50% 50% 45% 45%;background:#55615a;color:#fff8c7;font-size:9px;font-weight:900;transform:translate(-50%,-50%);box-shadow:inset 3px 3px #ffffff22}.fly-wing{position:absolute;z-index:1;top:9px;width:17px;height:14px;border:2px solid #657a73;border-radius:60%;background:#f1fff3cc;animation:flyWing .13s ease-in-out infinite alternate}.wing-left{left:4px;transform:rotate(-25deg)}.wing-right{right:4px;transform:rotate(25deg)}.fly-trail{position:absolute;right:34px;top:13px;color:#f4fff0aa;font-weight:900;letter-spacing:2px;animation:flyTrail .6s ease-in-out infinite}
.golden-fly{width:48px;height:48px}.golden-fly .fly-body{width:22px;height:26px;border-color:#8d681c;background:#e4bb42;color:#fff9bf;box-shadow:0 0 12px #fff2a4}.golden-fly .fly-wing{background:#fff5b8;animation-duration:.1s}.golden-fly:after{content:"✦";position:absolute;right:1px;top:0;color:#fff5a4;animation:padSparkle 1.1s ease-in-out infinite}
.sleepy-fly{width:56px;height:56px}.sleepy-fly .fly-body{width:26px;height:29px;background:#73856f;font-size:11px}.sleepy-fly .fly-wing{top:13px;width:20px;height:17px;animation-duration:.28s}.sleepy-fly .wing-left{left:5px}.sleepy-fly .wing-right{right:5px}
.sneaky-fly .fly-body{border-radius:42% 58% 40% 60%;background:#685c74;font-size:12px}.sneaky-fly .fly-wing{border-style:dashed}.sneaky-fly.sneaky-turn{animation:sneakyTurn .25s ease}
.catch-fly.caught{pointer-events:none;animation:flyCaught .22s ease forwards}.catch-fly.escaping{pointer-events:none;animation:flyEscape .42s ease-in forwards}
.flies-crumpet-wrap{position:absolute;z-index:5;left:50%;bottom:-6px;width:185px;height:185px;transform:translateX(-50%);pointer-events:none}.flies-crumpet{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 4px #2c625a44)}.flies-crumpet.lost-life{animation:crumpetOops .45s ease}.crumpet-tongue{position:absolute;z-index:8;left:50%;top:39%;width:0;height:9px;border:2px solid #a95c62;border-radius:9px;background:#ed9797;transform:rotate(var(--tongue-angle,0)) scaleX(0);transform-origin:left center;pointer-events:none}.crumpet-tongue:after{content:"";position:absolute;right:-6px;top:-4px;width:13px;height:13px;border-radius:50%;background:#ec9295}.crumpet-tongue.tongue-flick{width:var(--tongue-length,120px);animation:tongueFlick .25s ease-in-out}
.fly-catch-effect{position:absolute;z-index:9;color:#fff8c1;font-size:15px;font-weight:900;text-shadow:0 2px #57725b;transform:translate(-50%,-50%);animation:catchPop .65s ease-out forwards}.fly-catch-effect.golden{color:#ffe46e;font-size:20px}.flies-message{position:absolute;z-index:6;left:50%;bottom:25px;max-width:72%;padding:8px 14px;border:2px dashed #c7d3a7;border-radius:14px;background:#fffbe9e8;color:#596847;font-size:11px;font-weight:800;text-align:center;transform:translateX(-50%);box-shadow:0 4px 10px #37656533}.flies-pause-screen{z-index:12}
@keyframes menuFly{50%{transform:translate(14px,-9px) rotate(8deg)}}@keyframes bubblesRise{50%{transform:translateY(-18px);opacity:.55}}@keyframes flyWing{to{transform:scaleY(.4) rotate(12deg)}}@keyframes flyTrail{50%{opacity:.25;transform:translateX(-5px)}}@keyframes sneakyTurn{50%{transform:translate(-50%,-50%) rotate(25deg) scale(1.1)}}@keyframes flyCaught{to{opacity:0;transform:translate(-50%,-50%) scale(1.7) rotate(20deg)}}@keyframes flyEscape{to{opacity:0;transform:translate(120%,-180%) rotate(25deg)}}@keyframes crumpetOops{40%{transform:translateY(5px) scale(.96,1.04);filter:saturate(.7)}}@keyframes tongueFlick{0%,100%{transform:rotate(var(--tongue-angle)) scaleX(0)}45%,65%{transform:rotate(var(--tongue-angle)) scaleX(1)}}@keyframes catchPop{to{opacity:0;transform:translate(-50%,-140%) scale(1.4)}}
@media(max-width:700px){.flies-scoreboard{gap:5px}.flies-scoreboard span{min-width:62px;padding:6px 8px}.flies-toolbar-actions{gap:4px}.flies-pond{height:68vh;min-height:500px}.flies-crumpet-wrap{width:155px;height:155px}.catch-fly{min-width:48px;min-height:48px}.sleepy-fly{min-width:58px;min-height:58px}}
@media(max-width:480px){.flies-toolbar-actions .lily-quiet-button{padding-inline:7px}.flies-pond{min-height:470px;border-width:5px}.flies-message{max-width:86%;bottom:20px}.flies-crumpet-wrap{width:135px;height:135px}}
@media(prefers-reduced-motion:reduce){.fly-option-art>.menu-fly,.flies-pond:before,.flies-bubbles,.fly-wing,.fly-trail,.golden-fly:after,.sneaky-fly,.catch-fly,.flies-crumpet,.crumpet-tongue,.fly-catch-effect{animation:none!important;transition:none!important}.crumpet-tongue.tongue-flick{transform:rotate(var(--tongue-angle)) scaleX(1);opacity:.75}}

/* Crumpet's original Garden Crossing */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.crossing-option-art{background:linear-gradient(#cce9d0 0 45%,#a7cf8a 46% 67%,#83c6c2 68%)}.crossing-option-art:before{top:48%;left:4%;background:#eee3c6;border-color:#b8a984}.crossing-option-art:after{top:72%;right:5%;background:#85b96b}.crossing-option-art>span{right:12%;top:8%;font-size:23px}.garden-crossing-game{max-width:860px;margin:0 auto}.crossing-toolbar{grid-template-columns:auto 1fr auto}.crossing-scores{justify-content:center;gap:5px}.crossing-scores span{min-width:60px;padding:6px 8px}.crossing-scores #crossing-lives{color:#c86f68;font-size:16px}
.crossing-board{position:relative;height:min(680px,72vh);min-height:540px;overflow:hidden;border:7px solid #fffbed;border-radius:27px;background:#a9d28d;box-shadow:inset 0 0 45px #365f4930,0 12px 25px #536d5a30;touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate}.crossing-board:focus-visible{outline:4px solid #e4c86c;outline-offset:3px}.crossing-lanes,.crossing-objects{position:absolute;inset:0}.crossing-lane{position:absolute;left:0;width:100%;overflow:hidden;border-bottom:1px dashed #ffffff55}.crossing-lane small{position:absolute;left:5px;top:3px;z-index:1;padding:1px 5px;border-radius:7px;background:#fffbe599;color:#596b52;font-size:7px;font-weight:900;text-transform:uppercase}.crossing-lane.safe{background:radial-gradient(circle at 15% 55%,#fff3 0 3px,transparent 4px),linear-gradient(#a9d28d,#92c27b)}.crossing-lane.obstacle{background:repeating-linear-gradient(90deg,#eadfc4 0 45px,#dfd1b2 46px 48px);border-block:2px solid #c7b894}.crossing-lane.water,.crossing-lane.homes{background:repeating-radial-gradient(ellipse at 20% 50%,transparent 0 25px,#eaffff22 27px 29px,transparent 31px 60px),linear-gradient(#8dcfd0,#6ab5bb)}.crossing-lane.homes{background:linear-gradient(#75bdb9,#91cfbf)}
.crossing-object{position:absolute;z-index:4;display:grid;place-items:center;font-size:31px;line-height:1;filter:drop-shadow(0 4px 2px #41655a44);transform:translateX(-50%)}.crossing-object.water{border:2px solid #5d8d54;border-radius:50%;background:#86b96d;font-size:26px;box-shadow:inset -8px -4px #426f3b28}.crossing-object.obstacle{animation:crossingBob 1.4s ease-in-out infinite}.crossing-homes{position:absolute;inset:0}.crossing-home{position:absolute;z-index:5;top:5.5%;display:grid;place-items:center;width:10%;height:8%;border:3px dashed #dff2bd;border-radius:50%;background:#75ad62;font-size:28px;transform:translate(-50%,-50%);filter:drop-shadow(0 4px #376d6544)}.crossing-home.filled{border-style:solid;background:#acd477;animation:homeCelebrate 1.2s ease-in-out infinite}.crossing-bonus{position:absolute;z-index:7;font-size:25px;transform:translate(-50%,-50%);animation:bonusBob 1.3s ease-in-out infinite;filter:drop-shadow(0 0 5px #fff5a5)}
.crossing-crumpet{position:absolute;z-index:8;width:9.5%;height:10.5%;object-fit:contain;object-position:center bottom;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 2px #315e5344);transition:left .12s linear,top .15s ease}.crossing-crumpet[data-face="left"]{scale:-1 1}.crossing-crumpet.hop{animation:crossingHop .16s ease}.crossing-crumpet.tumble{animation:crossingTumble .55s ease}.crossing-crumpet.splash{animation:crossingSplash .55s ease}.crossing-crumpet.invulnerable{opacity:.72;filter:drop-shadow(0 0 7px #fffbd0)}.crossing-effect{position:absolute;z-index:10;left:50%;top:50%;font-size:0;pointer-events:none}.crossing-effect.show{font-size:55px;animation:crossingEffect .65s ease-out}.crossing-message{position:absolute;z-index:9;left:50%;bottom:8px;max-width:75%;padding:6px 12px;border:2px dashed #c5d19e;border-radius:13px;background:#fffbe9e8;color:#596847;font-size:10px;font-weight:900;text-align:center;transform:translateX(-50%)}
.crossing-crumpet.instant-position{transition:none!important}
.crossing-controls{display:grid;grid-template-columns:repeat(3,48px);justify-content:center;gap:6px;margin-top:12px}.crossing-controls button{width:48px;height:42px;border:2px solid #99ae77;border-radius:14px;background:#eef3da;color:#52683e;font-size:20px;font-weight:900;box-shadow:0 3px 0 #718854;cursor:pointer}.crossing-controls button:focus-visible{outline:3px solid #e7c75f;outline-offset:2px}.crossing-controls button:active{transform:translateY(2px);box-shadow:none}
.crossing-board.game-paused *{animation-play-state:paused!important}
@keyframes crossingBob{50%{translate:0 -3px}}@keyframes homeCelebrate{50%{filter:brightness(1.15) drop-shadow(0 4px #376d6544)}}@keyframes bonusBob{50%{transform:translate(-50%,-70%) rotate(6deg)}}@keyframes crossingHop{50%{transform:translate(-50%,-72%) scale(1.06)}}@keyframes crossingTumble{50%{transform:translate(-50%,-50%) rotate(18deg) scale(.9)}}@keyframes crossingSplash{to{opacity:0;transform:translate(-50%,10%) scale(.7)}}@keyframes crossingEffect{to{opacity:0;transform:translateY(-30px) scale(1.4)}}
@media(max-width:700px){.crossing-toolbar{grid-template-columns:1fr 1fr}.crossing-scores{grid-column:1/-1;grid-row:1;flex-wrap:wrap}.crossing-toolbar>.flies-toolbar-actions{justify-self:end}.crossing-board{height:68vh;min-height:540px}.crossing-object{font-size:25px}.crossing-home{font-size:23px}.crossing-crumpet{width:12%;height:10%}}
@media(max-width:480px){.crossing-board{min-height:500px;border-width:5px}.crossing-scores span{min-width:55px}.crossing-lane small{font-size:6px}.crossing-object{font-size:22px}.crossing-message{max-width:88%}}
@media(prefers-reduced-motion:reduce){.crossing-object,.crossing-home,.crossing-bonus,.crossing-crumpet,.crossing-effect{animation:none!important;transition:none!important}}

/* Mood-aware portraits and draggable image room items */
.item-icon{overflow:hidden;padding:7px}.item-icon .item-asset,.item-icon .image-item-asset{display:block;width:auto!important;height:auto!important;max-width:68px!important;max-height:68px!important;margin:auto;object-fit:contain}.image-item-fallback{font-size:32px}.inventory-item-image{display:block;width:46px;height:46px;object-fit:contain}.inventory-icon .image-item-fallback{font-size:24px}.interior-colour{display:flex;align-items:center;gap:7px;margin-top:8px;color:#77755f;font-size:9px;font-weight:800}.interior-colour input{width:30px;height:24px;padding:1px;border:1px solid #bdc7a0;border-radius:7px;background:#fff;cursor:pointer}.item-info h3 small{color:#89936f;font-size:9px}
.room-reset-button{display:block;margin:-5px 0 15px auto;border:2px dashed #b8c69a;border-radius:100px;padding:7px 12px;background:#f3f5e5;color:#64734f;font-size:9px;font-weight:900;cursor:pointer}.room-reset-button:hover,.room-reset-button:focus-visible{background:#e5edd0;outline:2px solid #fff;outline-offset:2px}
.room-card>.floor{z-index:auto!important}.movable-room-items{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}.crumpet{z-index:40!important}.speech-bubble{z-index:50!important}.movable-room-item{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%) scale(var(--item-scale,1));pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;border:2px dashed transparent;border-radius:14px;transition:border-color .15s,filter .15s;outline:none}.movable-room-item:hover,.movable-room-item:focus-within{border-color:#fff9bbaa;filter:drop-shadow(0 0 5px #fff7c7)}.movable-room-item.dragging{cursor:grabbing;border-color:#f6da76;filter:drop-shadow(0 5px 5px #4d583f55)}.room-resize-handle{position:absolute;z-index:8;right:-10px;bottom:-10px;display:grid;place-items:center;width:27px;height:27px;padding:0;border:2px solid #fff8d7;border-radius:50%;background:#809b5e;color:#fff;font-size:11px;font-weight:900;box-shadow:0 2px 5px #45513d55;cursor:nwse-resize;touch-action:none}.room-size-controls,.room-layer-controls{position:absolute;z-index:9;left:50%;display:flex;gap:3px;transform:translateX(-50%)}.room-size-controls{bottom:-13px}.room-layer-controls{top:-13px}.room-resize-handle,.room-size-controls,.room-layer-controls{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s}.movable-room-item:hover .room-resize-handle,.movable-room-item:hover .room-size-controls,.movable-room-item:hover .room-layer-controls,.movable-room-item:focus-within .room-resize-handle,.movable-room-item:focus-within .room-size-controls,.movable-room-item:focus-within .room-layer-controls,.movable-room-item.dragging .room-resize-handle,.movable-room-item.dragging .room-size-controls,.movable-room-item.dragging .room-layer-controls{opacity:1;visibility:visible;pointer-events:auto}.room-resize-handle:focus-visible{outline:2px solid #e9c761;outline-offset:2px}.room-size-button,.room-layer-button{display:grid;place-items:center;width:25px;height:25px;padding:0;border:2px solid #fff8d7;border-radius:50%;background:#6f8c50;color:#fff;font-size:14px;font-weight:900;box-shadow:0 2px 4px #45513d55;cursor:pointer;touch-action:manipulation}.room-size-button:focus-visible,.room-layer-button:focus-visible{outline:2px solid #e9c761;outline-offset:2px}
.movable-room-item.room-rug{z-index:1;width:min(440px,52%);height:115px}.movable-room-item.room-bed{z-index:4;width:270px;height:185px}.movable-room-item.room-wallDecor{z-index:3;width:105px;height:110px}.movable-room-item.room-lighting{z-index:3;width:min(430px,55%);height:150px}.movable-room-item.room-accessory{z-index:5;width:100px;height:90px}.room-item-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 7px 3px #4e4b3b38)}.room-lighting .room-item-image{object-position:center top;filter:drop-shadow(0 0 8px #ffe78a)}
.room-item-emoji{display:grid;place-items:center;width:100%;height:100%;font-size:48px;pointer-events:none}.room-rug .room-item-emoji{border:8px double #ffffff99;border-radius:50%;background:radial-gradient(ellipse,#ffffff33 0 35%,transparent 36%),var(--item-color);box-shadow:0 7px 0 #765f4b38;color:#ffffffbb}.room-bed .room-item-emoji{border:6px solid #725e4655;border-radius:48px 48px 17px 17px;background:linear-gradient(#ffffff4d,#0000000d),var(--item-color);box-shadow:inset 0 7px #fff6,0 8px 0 #765f4b44}.room-wallDecor .room-item-emoji{border:9px ridge #c79d7b;background:#fff7dc;box-shadow:3px 5px 0 #80665155}.room-lighting .room-item-emoji{align-items:start;padding-top:15px;color:#f5c95b;font-size:52px;filter:drop-shadow(0 0 7px #f4ce6c)}.room-accessory .room-item-emoji{border:3px solid #7b694d55;border-radius:40% 40% 12px 12px;background:#fff2c099}
@media(max-width:700px){.movable-room-item.room-bed{width:220px;height:150px}.movable-room-item.room-lighting{width:60%;height:120px}.movable-room-item.room-rug{height:90px}}
@media(max-width:480px){.movable-room-item.room-bed{width:175px;height:125px}.movable-room-item.room-wallDecor{width:78px;height:88px}.movable-room-item.room-accessory{width:75px;height:68px}.room-item-emoji{font-size:38px}}

/* Saved site appearance */
body{background-color:var(--site-background,#dfe5c6)}body[data-theme="pond"]{--theme-shell:#f8f6e9ee;--theme-panel:#fffaf0;--theme-tabs:#e6edce;--theme-header:#fff7df;--theme-accent:#819c5d;--theme-border:#aeb98c}body[data-theme="sunset"]{--theme-shell:#fff0e4f2;--theme-panel:#fff7ef;--theme-tabs:#f6cdb8;--theme-header:#ffe2d0;--theme-accent:#c87867;--theme-border:#d8a18e}body[data-theme="lavender"]{--theme-shell:#f2ebfaF2;--theme-panel:#fbf7ff;--theme-tabs:#dfd0ef;--theme-header:#eee1fa;--theme-accent:#8870ad;--theme-border:#b6a0cf}body[data-theme="night"]{--theme-shell:#d5e1def2;--theme-panel:#e9f1ee;--theme-tabs:#adc6bd;--theme-header:#bfd3cc;--theme-accent:#496f68;--theme-border:#6f9188}.game-shell{background:var(--theme-shell);border-color:var(--theme-border)}.panel{background:var(--theme-panel);border-color:var(--theme-border)}.tabs{background:var(--theme-tabs);border-color:var(--theme-border)}.topbar{background:var(--theme-header);border-color:var(--theme-border)}.action-button{background:var(--theme-accent)}.home-note,.paperwork-card{border-color:var(--theme-border)}
.appearance-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px}.appearance-controls label{display:grid;gap:4px;color:#6f725e;font-size:9px;font-weight:900;text-transform:uppercase}.appearance-controls select,.appearance-controls input{height:35px;border:2px solid #c7d0aa;border-radius:10px;background:#fffdf6;color:#566443;padding:5px 8px}.appearance-controls input[type="color"]{width:55px;padding:3px}

/* Crumpet Radio */
.crumpet-radio{position:fixed;z-index:100;left:16px;bottom:16px;display:flex;align-items:flex-start;flex-direction:column;gap:9px;pointer-events:none}.radio-toggle,.radio-panel{pointer-events:auto}.radio-toggle{display:flex;align-items:center;gap:7px;min-height:43px;padding:9px 15px;border:3px solid #fff9dd;border-radius:100px;background:linear-gradient(#a9bf7c,#829d5b);color:#fff;font-size:10px;cursor:pointer;box-shadow:0 4px 0 #5f7744,0 8px 18px #3e4d3540}.radio-toggle span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff8d533;color:#fff3ad;font-size:18px}.radio-toggle:hover{filter:brightness(1.05);transform:translateY(-1px)}.radio-toggle:focus-visible{outline:4px solid #f0cf67;outline-offset:3px}.radio-panel{width:min(330px,calc(100vw - 24px));padding:9px;border:3px solid #c0c99e;border-radius:18px;background:#fffaf0;box-shadow:0 13px 30px #31433148,0 0 0 4px #ffffff55}.radio-panel[hidden]{display:none}.radio-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:1px 2px 8px 6px}.radio-heading>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:6px}.radio-heading span{grid-row:1/3;color:#789352;font-size:18px}.radio-heading strong{color:#566b3e;font-size:12px}.radio-heading small{color:#92917a;font-size:8px;letter-spacing:1px;text-transform:uppercase}.radio-heading-actions{display:flex!important;align-items:center;gap:5px}.radio-heading button{height:28px;padding:0 8px;border:2px solid #d5b4ad;border-radius:100px;background:#fff1ed;color:#95645e;font-size:11px;font-weight:800;line-height:1;cursor:pointer}.radio-heading button:last-child{width:28px;padding:0;border-radius:50%;font-size:18px}.radio-heading button:hover{background:#f8ddd7}.radio-heading button:focus-visible{outline:3px solid #e6c45c;outline-offset:2px}.radio-player-wrap{overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#e8edd5,#d7e1bd);height:152px;transition:height .2s ease}.radio-panel.expanded .radio-player-wrap{height:352px}.radio-player-wrap iframe{display:block;width:100%;height:100%;border:0;max-width:100%}
@media(max-width:480px){.crumpet-radio{left:12px;bottom:10px}.radio-panel{width:calc(100vw - 24px);padding:8px}.radio-toggle{min-height:39px;padding:7px 11px}.radio-toggle strong{font-size:9px}.radio-panel.expanded .radio-player-wrap{height:min(352px,calc(100vh - 145px));overflow:auto}}

/* Gentle low-food care note */
.care-day-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:2px;padding:16px 18px;border:2px dashed #cfb58d;border-radius:19px;background:linear-gradient(135deg,#fff8e9,#eef2dc);box-shadow:0 5px 12px #665b4120}.care-day-card[hidden]{display:none}.care-day-card>div{display:flex;align-items:center;gap:12px}.care-day-card>div>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#f3d8d2;color:#a86e67;font-size:24px}.care-day-card strong{display:block;color:#6b704f;font-size:13px}.care-day-card p{margin-top:4px;color:#85816d;font-size:10px}.care-day-card .action-button{white-space:nowrap}

/* Frogbook: Ivy and Crumpet's tiny private pond feed. */
.frogbook-layout,.frogbook-profile{width:min(760px,100%);margin:0 auto}.frogbook-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:22px 25px;border:3px solid #a9b982;border-radius:25px;background:linear-gradient(135deg,#edf3d8,#fff5dd);box-shadow:0 7px 0 #879b6250}.frogbook-banner h2{margin:3px 0 5px;color:#5e7442;font-size:29px}.frogbook-banner p{color:#777966;font-size:11px}.frogbook-banner-mark{font-size:27px;white-space:nowrap}.frogbook-composer{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:12px;margin-bottom:18px;padding:17px;border:2px solid #c9d2aa;border-radius:20px;background:#fffaf0}.frogbook-composer label{color:#6d7458;font-size:10px;font-weight:900}.frogbook-composer textarea{width:100%;margin-top:7px;resize:vertical;border:2px solid #d8ddc1;border-radius:14px;padding:11px 13px;background:#fffef8;color:#545747;font:inherit;line-height:1.45}.frogbook-avatar{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:3px solid #fff7df;border-radius:50%;box-shadow:0 3px 0 #879b6255;font-weight:900}.ivy-avatar{background:linear-gradient(145deg,#f5c8c5,#d9c6eb);color:#775e77;font-size:18px}.crumpet-avatar{overflow:hidden;background:#e5edc8}.crumpet-avatar img{width:100%;height:100%;object-fit:contain}.frogbook-avatar-button{padding:0;border:0;cursor:pointer}.frogbook-avatar-button:focus-visible{outline:3px solid #d8bb55;outline-offset:3px}.frogbook-feed-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 3px 10px}.frogbook-feed-heading h3{color:#617344}.frogbook-crumpet-button,.frogbook-action{border:2px solid #bbc89b;border-radius:100px;background:#f4f7e7;color:#64754e;font-size:10px;font-weight:900;cursor:pointer}.frogbook-crumpet-button{padding:9px 13px}.frogbook-crumpet-button:disabled{cursor:wait;opacity:.65}.frogbook-thinking{margin:8px 0;padding:10px;border-radius:12px;background:#edf2dc;color:#76815f;font-size:10px;text-align:center}.frogbook-feed{display:grid;gap:13px}.frogbook-empty{padding:30px;border:2px dashed #b9c69b;border-radius:20px;background:#f8f8ea;color:#7c806b;text-align:center}.frogbook-post{padding:16px 17px;border:2px solid #ced6b4;border-radius:20px 20px 20px 8px;background:#fffdf5;box-shadow:0 5px 12px #55604418}.frogbook-post.ivy{border-color:#dfc9d5;background:#fff9f8}.frogbook-post-head{display:flex;align-items:center;gap:11px}.frogbook-post-author{flex:1}.frogbook-post-author strong,.frogbook-post-author time{display:block}.frogbook-post-author strong{color:#5e6e49;font-size:12px}.frogbook-post-author time{margin-top:3px;color:#999984;font-size:8px;letter-spacing:.5px;text-transform:uppercase}.frogbook-post-text{margin:13px 3px;color:#5a5d4e;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.frogbook-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding-top:10px;border-top:1px dashed #d7dbc5}.frogbook-action{padding:6px 10px}.frogbook-action.liked{border-color:#d8a9aa;background:#fbe1df;color:#9a6262}.frogbook-like-note{color:#8b7b75;font-size:9px;font-weight:800}.frogbook-comments{display:grid;gap:7px;margin:11px 0 0 58px}.frogbook-comment{padding:8px 11px;border:1px solid #d8d6b9;border-radius:4px 13px 13px;background:#fff5c9;color:#656554;font-size:10px;line-height:1.4;transform:rotate(-.25deg)}.frogbook-comment strong{color:#617344}.frogbook-comment-form{display:flex;gap:6px;margin-top:8px}.frogbook-comment-form input{min-width:0;margin:0;padding:8px 10px;border:1px solid #cfd5b7;border-radius:10px;background:#fff;font-size:10px}.frogbook-comment-form button{padding:6px 9px}.frogbook-profile{padding:21px;border:3px solid #aeba8e;border-radius:25px;background:linear-gradient(#f5f5df,#fffaf0)}.frogbook-profile-hero{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:22px;margin:18px 0;padding:18px;border-radius:20px;background:#e5edcc}.frogbook-profile-hero img{width:145px;height:125px;object-fit:contain;filter:drop-shadow(0 6px 4px #4c583f33)}.frogbook-profile-hero h2{margin:4px 0;color:#5d7242;font-size:28px}.frogbook-profile-hero p{color:#6d725c;font-size:11px;line-height:1.55}.frogbook-profile-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.frogbook-profile-facts div{padding:12px 8px;border:2px solid #d4d9bd;border-radius:14px;background:#fffdf6;text-align:center}.frogbook-profile-facts strong,.frogbook-profile-facts span{display:block}.frogbook-profile-facts strong{color:#617344;font-size:16px}.frogbook-profile-facts span{margin-top:4px;color:#898a74;font-size:8px;text-transform:uppercase}.frogbook-profile-facts .frogbook-wide-fact{grid-column:span 2}.frogbook-profile-posts{margin-top:20px}.frogbook-profile-posts h3{margin-bottom:10px;color:#617344}.frogbook-profile-posts .frogbook-post{margin-bottom:9px}
@media(max-width:700px){.frogbook-composer{grid-template-columns:auto 1fr}.frogbook-composer .action-button{grid-column:2}.frogbook-profile-facts{grid-template-columns:repeat(2,1fr)}.frogbook-profile-hero{grid-template-columns:100px 1fr}.frogbook-profile-hero img{width:100px;height:95px}}
@media(max-width:480px){.frogbook-banner{align-items:flex-start;padding:17px}.frogbook-banner-mark{font-size:19px}.frogbook-composer{grid-template-columns:1fr}.frogbook-composer .frogbook-avatar{display:none}.frogbook-composer .action-button{grid-column:1}.frogbook-feed-heading{align-items:flex-start;flex-direction:column}.frogbook-comments{margin-left:14px}.frogbook-profile{padding:14px}.frogbook-profile-hero{grid-template-columns:1fr;text-align:center}.frogbook-profile-hero img{margin:auto}}

/* Frogbook layout guardrails: keep every timeline element in normal flow. */
#frogbook-view{position:relative;isolation:isolate}
.frogbook-post.frogbook-author-ivy{border-color:#dfc9d5;background:#fff9f8}
#frogbook-feed-view,#frogbook-profile-view,.frogbook-feed,.frogbook-post,.frogbook-comments,.frogbook-comment,.frogbook-reactions,.frogbook-comment-form,.frogbook-reply-actions{position:static;inset:auto;float:none;transform:none;writing-mode:horizontal-tb}
.frogbook-layout,.frogbook-profile{display:block;width:min(820px,100%);min-width:0;max-width:820px;margin-inline:auto}
.frogbook-profile[hidden],.frogbook-layout[hidden]{display:none!important}
.frogbook-feed{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;gap:16px}
.frogbook-post,.frogbook-post.frogbook-author-crumpet{display:block;width:100%;min-width:0;max-width:none;height:auto;margin:0;padding:18px;animation:none}
.frogbook-post-head{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;width:100%;min-width:0}
.frogbook-post-author{min-width:0}.frogbook-post-author small{display:block;margin-top:2px;color:#93937d;font-size:8px}.frogbook-post-author time{margin-top:4px}
.frogbook-post-text{display:block;width:100%;min-width:0;max-width:none;margin:14px 0;padding:0;white-space:normal;overflow-wrap:break-word;word-break:normal;writing-mode:horizontal-tb;line-height:1.6}
.frogbook-reactions{display:flex;position:static;align-items:center;width:100%;min-height:38px;margin:0;padding:10px 0 0}
.frogbook-comments{display:flex;position:static;flex-direction:column;width:100%;min-width:0;margin:12px 0 0;padding:0 0 0 58px;gap:8px}
.frogbook-comment{display:block;position:static;width:100%;min-width:0;margin:0;padding:10px 12px;transform:none}.frogbook-comment p{margin-top:4px;white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.45}.frogbook-comment-author{display:inline;padding:0;border:0;background:transparent;color:#617344;font-size:10px;font-weight:900;cursor:pointer}
.frogbook-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;margin:2px 0 0;gap:8px}.frogbook-comment-form input{display:block;width:100%;min-width:0;margin:0}
.frogbook-reply-actions,.frogbook-feed-buttons{display:flex;position:static;flex-wrap:wrap;gap:7px}.frogbook-feed-heading>div:first-child{min-width:0}.frogbook-feed-heading{align-items:flex-end}
.frogbook-profile{position:static!important;inset:auto!important;z-index:auto!important;float:none!important;transform:none!important;box-shadow:inset 0 0 0 5px #ffffff75,0 8px 20px #7377591c}
.frogbook-profile-hero{position:static}.frogbook-profile-avatar{display:grid;place-items:center;width:145px;height:125px;border:3px solid #c2ce9d;border-radius:35%;background:#fff8df;font-size:72px;line-height:1}.frogbook-profile-avatar img{display:block;width:100%;height:100%;object-fit:contain}.frogbook-friends{margin-top:18px}.frogbook-friends h3{margin-bottom:9px;color:#617344}.frogbook-friends div{display:flex;flex-wrap:wrap;gap:8px}.frogbook-friends button{border:2px solid #c8d2aa;border-radius:100px;padding:8px 11px;background:#fffdf5;color:#65734f;font-size:10px;font-weight:900;cursor:pointer}
@media(max-width:600px){.frogbook-comments{padding-left:0}.frogbook-comment-form{grid-template-columns:1fr}.frogbook-feed-heading{align-items:flex-start}.frogbook-feed-buttons{width:100%}.frogbook-profile-avatar{width:105px;height:95px;font-size:52px}}

/* Keep profile portraits small and fully contained inside their round frame. */
.frogbook-profile-hero{grid-template-columns:108px minmax(0,1fr)}
.frogbook-profile-avatar{width:108px;height:108px;overflow:hidden;border-radius:50%;font-size:58px;background-color:#fff8df;background-repeat:no-repeat;background-position:center bottom;background-size:contain}
.frogbook-profile-avatar.is-crumpet{padding:10px}
.frogbook-profile-hero .frogbook-profile-avatar img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:10px;object-fit:contain!important;object-position:center!important;filter:none;transform:none}
@media(max-width:600px){.frogbook-profile-hero{grid-template-columns:92px minmax(0,1fr)}.frogbook-profile-avatar{width:92px;height:92px;font-size:48px}}
@media(max-width:480px){.frogbook-profile-hero{grid-template-columns:1fr}.frogbook-profile-avatar{margin-inline:auto}}

/* Frogbook portraits are isolated from the large home-screen Crumpet artwork. */
#frogbook-view .frogbook-avatar,#frogbook-view .frogbook-comment-avatar,#frogbook-view .frogbook-profile-avatar{box-sizing:border-box;overflow:hidden;border-radius:50%}
#frogbook-view .frogbook-avatar{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;min-width:52px;max-width:52px;min-height:52px;max-height:52px;padding:0}
#frogbook-view .frogbook-comment{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px}
#frogbook-view .frogbook-comment-avatar{display:grid;place-items:center;width:34px;height:34px;min-width:34px;max-width:34px;min-height:34px;max-height:34px;padding:0;border:2px solid #fff7df;background:#e5edc8;font-size:16px}
#frogbook-view .frogbook-comment-body{min-width:0}
#frogbook-view .frogbook-profile-avatar{display:grid;width:108px;height:108px;min-width:108px;max-width:108px;min-height:108px;max-height:108px;padding:0}
#frogbook-view .frogbook-avatar img,#frogbook-view .frogbook-comment-avatar img,#frogbook-view .frogbook-profile-avatar img,#frogbook-view .frogbook-avatar-img,#frogbook-view .mood-crumpet-image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:5px!important;border-radius:50%!important;object-fit:contain!important;object-position:center!important;transform:none!important;inset:auto!important;filter:none!important}
#frogbook-view .frogbook-profile-avatar img{padding:8px!important}
.care-modal{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:18px;background:#3f4d3a66;backdrop-filter:blur(4px)}.care-modal[hidden]{display:none}.care-dialog{position:relative;width:min(520px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;padding:24px 27px 23px;border:3px solid #bdc99b;border-radius:27px;background:linear-gradient(145deg,#fffaf0,#eef2dc);box-shadow:0 24px 65px #29332766,0 0 0 7px #ffffff55;text-align:center}.care-dialog-close{position:absolute;z-index:2;right:13px;top:13px;width:34px;height:34px;padding:0;border:2px solid #d2aaa4;border-radius:50%;background:#fff0ed;color:#96645f;font-size:21px;cursor:pointer}.care-dialog-close:focus-visible{outline:3px solid #e3c359;outline-offset:2px}.care-popup-crumpet{display:block;width:125px;height:115px;margin:-5px auto 7px;object-fit:contain;filter:drop-shadow(0 6px 3px #4b5b4135)}.care-dialog h2{color:#607344;font-size:25px}.care-dialog-message{max-width:430px;margin:10px auto 13px;color:#6f705f;font-size:13px;line-height:1.55}.care-affirmation{padding:11px 14px;border:2px dashed #d4b3aa;border-radius:14px;background:#fbe5df;color:#865f59;font-size:12px;font-weight:900}.care-tips{display:grid;gap:7px;margin:13px 0;padding:0;list-style:none;text-align:left}.care-tips li{position:relative;padding:9px 11px 9px 34px;border-radius:12px;background:#fffdf5;color:#6f725f;font-size:11px;line-height:1.4}.care-tips li:before{content:"♡";position:absolute;left:13px;color:#9aae72;font-size:15px}.care-dialog-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.care-dialog-actions .lily-quiet-button{background:#fffdf4}
@media(max-width:600px){.care-day-card{align-items:flex-start;flex-direction:column}.care-dialog{padding:20px 16px}.care-popup-crumpet{width:105px;height:95px}.care-dialog-actions{align-items:stretch;flex-direction:column}.care-dialog-actions button{width:100%}}

/* Mobile usability: prevent iOS form zoom, keep controls comfortably tappable,
   and respect dynamic browser chrome and device safe areas. */
@media(max-width:700px){
  input:not([type="file"]),textarea,select{min-height:44px;font-size:16px}
  .tab,.action-button,.filter,.secondary,.chat-clear,.lily-quiet-button,
  .save-button,.frogbook-crumpet-button,.frogbook-action,.frogbook-friends button,
  .frogbook-comment-form button,.room-reset-button,.radio-toggle,.radio-heading button,
  .room-size-button,.room-layer-button,.room-resize-handle{min-width:44px;min-height:44px}
  .care-dialog-close{width:44px;height:44px}
  .lily-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .care-dialog{max-height:calc(100dvh - 28px);-webkit-overflow-scrolling:touch}
  .radio-panel.expanded .radio-player-wrap{height:min(352px,calc(100dvh - 145px))}
  .crumpet-radio{left:max(12px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom))}
  .toast{max-width:calc(100vw - 24px);bottom:max(16px,env(safe-area-inset-bottom));text-align:center}
}
