/* v25 — one visual system on every viewport; interaction without clutter */
:root{--v25-ink:#284f63;--v25-line:#cbdcdb;--v25-paper:#fffcf5;--v25-blue:#d6e9e8;--v25-accent:#80aebe;--v25-fruit:#e4ac55;--v25-tea:#658e56}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{background:var(--v25-blue);}
.grain{display:none!important;}
.landing{background:linear-gradient(154deg,#d4e9e9 0%,#e7f3ee 51%,#d0e6e5 100%)!important;isolation:isolate;}
.world{background:linear-gradient(160deg,#f4f8f2 0%,#fffcf6 49%,#edf3ed 100%)!important;}
.landing:before,.landing:after{display:none!important;}
.scene-light{opacity:.18!important;}
.ks-star.star-b,.ks-star.star-c{display:none!important;}
.ks-star.star-a{opacity:.5!important;filter:none!important;}
/* no disembodied captions drifting across the character */
.keepsake-secret-toast{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;padding:0!important;border:0!important;opacity:0!important;box-shadow:none!important;}
.landing .ks-smiski,.landing .ks-matcha,.landing .ks-camera{z-index:10;touch-action:manipulation;}
.landing .ks-smiski{border:0;padding:0;background:none;cursor:pointer;pointer-events:auto!important;}
.landing .keepsake{transition:translate .25s ease,filter .25s ease!important;}
.landing .ks-matcha:active,.landing .ks-camera:active,.landing .ks-smiski:active{translate:0 4px;}
.landing .ks-polaroid .frontphoto{transition:transform .25s ease,opacity .25s ease;}
.landing.camera-print .ks-polaroid .frontphoto{animation:photo-print .62s cubic-bezier(.2,.85,.2,1);}
@keyframes photo-print{0%{transform:translateY(-16px) rotate(-8deg);opacity:.15}60%{transform:translateY(5px) rotate(4deg)}100%{transform:translateY(0) rotate(0);opacity:1}}
/* the corner objects should never steal the center of the composition */
.landing .welcome{transition:opacity .25s ease;}
.landing.chatting .welcome{opacity:0!important;}
.landing.chatting .tap-tag{opacity:.25;}
.pocket-actions{position:fixed;z-index:40;bottom:max(22px,env(safe-area-inset-bottom));left:clamp(15px,3vw,42px);display:flex;align-items:center;gap:7px;transition:opacity .22s ease;}
.pocket-actions button{display:flex;gap:5px;align-items:center;justify-content:center;min-width:52px;min-height:43px;border:1px solid #a8c9cb;background:#fcfaf2e8;border-radius:999px;color:#3f6d7d;box-shadow:0 4px 16px #2b697710;padding:6px 11px;font:600 11px/1.2 'Avenir Next',Avenir,Arial,sans-serif;cursor:pointer;letter-spacing:.01em;}
.pocket-actions button:hover{background:white;transform:translateY(-2px);}
.pocket-actions button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.pocket-actions button:focus-visible,.pop-tabs button:focus-visible,.pop-close:focus-visible,.matcha-head button:focus-visible{outline:2px solid #ce786d;outline-offset:3px;}
.landing.opening~.pocket-actions,.world.active~.pocket-actions{opacity:0;pointer-events:none;}
.fact-bubble{position:fixed;right:clamp(25px,8vw,170px);top:27vh;z-index:50;width:min(284px,80vw);min-height:130px;padding:20px 23px 16px;border:1px solid #b9d3d5;background:#fffdf6f5;border-radius:20px 20px 4px 20px;box-shadow:0 16px 35px #2f6b7a1a;animation:bubble-in .28s cubic-bezier(.2,.9,.2,1) both;color:#355a69;}
.fact-bubble[hidden]{display:none!important}
.fact-bubble small{font:italic 13px Georgia,serif;color:#7f9a9c;letter-spacing:.02em;}
.fact-bubble p{font:normal clamp(16px,1.5vw,20px)/1.52 Georgia,serif;margin:8px 0 12px;overflow-wrap:break-word;}
.fact-bubble .fact-counter{font-size:10px;color:#91aaa9;}
.fact-bubble button{position:absolute;top:6px;right:7px;width:34px;height:34px;border:0;background:none;color:#6f9499;font-size:25px;cursor:pointer;}
@keyframes bubble-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
/* reusable unobtrusive journal sheet; deliberately not a game that blocks the portfolio */
.pocket-pop,.matcha-pop{position:fixed;inset:0;z-index:101;display:grid;place-items:center;padding:clamp(12px,3.2vw,32px);}
.pocket-pop[hidden],.matcha-pop[hidden]{display:none!important}
.pocket-pop-shade,.matcha-shade{position:absolute;inset:0;background:rgba(35,63,77,.44);}
.pocket-pop-card,.matcha-card{position:relative;background:#fffcf4;box-shadow:0 24px 90px #254d6070;border:1px solid #d2deda;border-radius:13px;width:min(685px,100%);max-height:min(87dvh,820px);overflow:auto;overscroll-behavior:contain;padding:clamp(20px,3.4vw,33px);-webkit-overflow-scrolling:touch;}
.pop-head,.matcha-head{display:flex;justify-content:space-between;align-items:center;gap:14px;}
.pop-heading{font:normal clamp(30px,4.4vw,42px)/1.1 Georgia,serif;letter-spacing:-.035em;color:#31586b;}
.pop-close,.matcha-head button{width:44px;height:44px;flex-shrink:0;border:1px solid #bed5d3;background:#f4f8f1;color:#476b76;border-radius:50%;font-size:27px;cursor:pointer;}
.pop-tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #dbe5df;padding:17px 0 13px;}
.pop-tabs button{background:none;border:1px solid transparent;color:#658590;padding:7px 10px;min-height:37px;border-radius:20px;cursor:pointer;font-size:12px;}
.pop-tabs button.active{border-color:#bed1d0;background:#e7f1ed;color:#2e6177;}
.pop-content{padding-top:20px;min-height:160px;}
.pop-content h3{font:normal clamp(23px,3vw,32px)/1.16 Georgia,serif;margin:0 0 7px;color:#31566b;}
.pop-content p,.pop-content .description{font-size:13px;line-height:1.62;color:#6c8991;margin:6px 0 18px;}
.collection-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#6a8a96;margin:15px 0;}
.collection-meter{height:6px;border-radius:6px;background:#e0ebe6;overflow:hidden;flex:1;max-width:170px;}
.collection-meter i{display:block;height:100%;background:#86b1ba;transition:width .3s ease;}
.hat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;}
.hat-tile{border:1px solid #d7e3dc;border-radius:7px;background:#f8f9f3;min-height:100px;padding:8px 3px 7px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;gap:5px;color:#456a77;cursor:pointer;}
.hat-tile.owned{background:#fffdf6;border-color:#a9cdca;}
.hat-tile.equipped{outline:2px solid #75adb8;outline-offset:0;}
.hat-tile.locked{opacity:.55;cursor:default;}
.hat-tile svg{height:50px;width:70px;max-width:100%;}
.hat-tile .hat-name{font-size:10px;line-height:1.22;text-align:center;overflow-wrap:anywhere;}
.hat-tile .hat-tier{font-size:9px;color:#97a8a7;text-transform:lowercase;}
.hat-tile svg .locked-shape{fill:#cbd6d1!important;stroke:#93a6a7!important;}
.pocket-small-note{font-size:11px!important;color:#87a0a3!important;margin-top:16px!important;}
.stamp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:21px 0;}
.stamp{min-height:128px;border:1px dashed #b3cfc9;border-radius:9px;background:#f8faf4;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:11px;text-align:center;padding:12px 4px;opacity:.5;}
.stamp.earned{opacity:1;background:#eff5e9;border-color:#86adaf;}
.stamp svg{width:36px;height:36px;stroke:#73969c;fill:none;stroke-width:1.4;}
.stamp span{font:italic 12px Georgia,serif;color:#577a80;}
.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;}
.mode-button{min-height:74px;border:1px solid #d2ded9;background:#fbf9f2;border-radius:8px;padding:13px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:#426d77;font-size:12px;}
.mode-button.active{background:#dfeee6;border-color:#88adb4;outline:1px solid #88adb4;}
.mode-swab{width:32px;height:15px;border-radius:30px;border:1px solid #fdfcf4;box-shadow:0 0 0 1px #c5d7d4;}
.pocket-linklike{display:inline-flex;border:1px solid #aac9cc;color:#3e6b80;border-radius:30px;background:#f1f8f4;min-height:43px;align-items:center;justify-content:center;padding:9px 18px;cursor:pointer;font-size:13px;}
.mystery-result{border:1px solid #cdded9;background:linear-gradient(160deg,#f5f9f2,#fffcf5);border-radius:9px;padding:23px;margin-top:16px;font:italic 19px/1.55 Georgia,serif;color:#3c6676;min-height:90px;}
.setting-row{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #e4e9e3;padding:16px 0;font-size:13px;color:#52707e;}
.setting-row button{min-width:72px;min-height:38px;background:#eaf2ec;border:1px solid #b9d0cf;border-radius:22px;padding:8px 15px;cursor:pointer;color:#476c77;}
.setting-row input{accent-color:#759fac;min-width:110px;}
/* actual illustrated matcha, with independently animated fruit / milk / tea layers */
.matcha-card{width:min(440px,100%);text-align:center;padding:21px 26px 22px;}
.matcha-eyebrow{font:italic 15px Georgia,serif;color:#688994;}
.matcha-art{height:280px;position:relative;display:grid;place-items:center;}
.matcha-halo{width:240px;height:240px;position:absolute;border-radius:50%;background:radial-gradient(circle,#ecf3e5 4%,#f5f8f2 59%,transparent 71%);}
.matcha-glass{width:140px;height:217px;position:relative;border:3px solid #a9c6c1;border-top:5px solid #d2e2da;border-radius:8px 8px 27px 27px;overflow:hidden;transform:perspective(480px) rotate(-3deg);background:#fbf9ed;box-shadow:inset -16px 0 18px #9bbcaf33,8px 18px 19px #3b687018;cursor:pointer;}
.matcha-glass:before{content:"";position:absolute;inset:0;z-index:7;box-shadow:inset 10px 0 12px #ffffff5e,inset -8px 0 10px #24453c0b;pointer-events:none;border-radius:inherit;}
.matcha-glass .fruit-layer,.matcha-glass .milk-layer,.matcha-glass .tea-layer{position:absolute;left:0;right:0;transition:background .55s ease,transform .7s cubic-bezier(.12,.72,.32,1),height .55s ease;}
.matcha-glass .fruit-layer{bottom:0;height:35%;background:var(--v25-fruit);filter:saturate(.87);}
.matcha-glass .fruit-layer:after{content:"";position:absolute;inset:10px;background:radial-gradient(circle at 15% 25%,#ffffff44 0 3px,transparent 4px),radial-gradient(circle at 57% 70%,#ffffff54 0 3px,transparent 5px),radial-gradient(circle at 88% 24%,#ffffff60 0 3px,transparent 5px);}
.matcha-glass .milk-layer{bottom:32%;height:42%;background:linear-gradient(110deg,#e5dfcb,#fff9e9 38%,#e1dec9);clip-path:polygon(0 5%,20% 0,63% 6%,100% 1%,100% 100%,0 100%);}
.matcha-glass .tea-layer{bottom:70%;height:30%;background:linear-gradient(105deg,#7b9e67,var(--v25-tea) 70%,#719962);border-bottom:3px solid #e8edb568;}
.matcha-glass .ice{width:31px;height:31px;position:absolute;top:46px;left:30px;z-index:4;border:1.6px solid #ffffffb0;background:#f9fef744;border-radius:6px;transform:rotate(-21deg);box-shadow:inset -5px -3px 9px #b5d9d320;}
.matcha-glass .ice2{left:75px;top:62px;transform:rotate(17deg);}
.matcha-glass .ice3{left:50px;top:107px;transform:rotate(-9deg);}
.matcha-glass .glass-shine{position:absolute;inset:10px auto 10px 12px;width:8px;z-index:9;background:#fffdf38a;border-radius:30px;}
.matcha-glass.pouring .fruit-layer{animation:fruit-rise .64s ease both;}
.matcha-glass.pouring .tea-layer{animation:tea-splash .65s ease both;}
.matcha-glass.stirring .fruit-layer{animation:stir-slosh .65s ease;}
.matcha-glass.stirring .milk-layer{animation:stir-slosh .65s .06s ease;}
.matcha-glass.stirring .tea-layer{animation:stir-slosh .65s .11s ease;}
@keyframes fruit-rise{from{transform:translateY(80px)}to{transform:translateY(0)}}
@keyframes tea-splash{from{transform:translateY(-90px)}to{transform:translateY(0)}}
@keyframes stir-slosh{0%,100%{transform:translateX(0)}30%{transform:translateX(5px)}66%{transform:translateX(-5px)}}
.matcha-straw{position:absolute;width:7px;height:172px;left:57%;top:10px;border-radius:5px;background:#b7a8a1;transform:rotate(13deg);border:1px solid #958886;}
.matcha-details h2{font:normal 31px/1.15 Georgia,serif;color:#31586e;letter-spacing:-.02em;margin:2px 0 7px;}
.matcha-details p{font:normal 13px/1.55 'Avenir Next',Avenir,Arial,sans-serif;color:#728c91;margin:0 auto;}
.matcha-controls{display:flex;gap:9px;justify-content:space-between;align-items:center;margin-top:22px;}
.matcha-controls button{border:1px solid #bcd4d0;background:#eff5eb;color:#3b6878;border-radius:21px;padding:11px 12px;min-height:44px;font-size:12px;cursor:pointer;}
.matcha-controls span{font-size:11px;color:#89a0a3;white-space:nowrap;}
.matcha-hint{font:italic 12px Georgia,serif;color:#90a3a5;margin-top:17px;}
.unlocked-toast{position:fixed;z-index:115;left:50%;bottom:max(70px,10vh);width:max-content;max-width:min(320px,90vw);text-align:center;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#fffcf4;border:1px solid #a7c7c7;border-radius:999px;padding:12px 19px;font:italic 14px Georgia,serif;color:#3e687a;box-shadow:0 6px 22px #2d60661f;transition:opacity .25s ease,transform .25s ease;}
.unlocked-toast.visible{opacity:1;transform:translate(-50%,0);}
/* seasonal changes are palettes plus quiet shapes, never a completely different site */
body[data-season="spring"]{--v25-blue:#dcece1;--v25-accent:#8cafaa;}
body[data-season="summer"]{--v25-blue:#d4eced;--v25-accent:#8fb4c7;}
body[data-season="autumn"]{--v25-blue:#e8e9dc;--v25-accent:#c99a73;}
body[data-season="winter"]{--v25-blue:#daeaf1;--v25-accent:#9abacc;}
body[data-season="halloween"]{--v25-blue:#d9d8e4;--v25-accent:#b88f78;}
body[data-season="eid"]{--v25-blue:#d8e9dc;--v25-accent:#b7aa7a;}
body[data-season="lunar"]{--v25-blue:#e9e6e0;--v25-accent:#ca978b;}
body[data-season="night"]{--v25-blue:#cedfe5;--v25-accent:#789db5;}
body[data-season="autumn"] .landing{background:linear-gradient(155deg,#e3eadd 0%,#f0ede3 52%,#e4e4d9 100%)!important;}
body[data-season="winter"] .landing{background:linear-gradient(158deg,#d7e9ee 0%,#f1f8f6 49%,#d3e7ee 100%)!important;}
body[data-season="summer"] .landing{background:linear-gradient(160deg,#d0edf0 0%,#eef7ed 54%,#cde9ee 100%)!important;}
body[data-season="spring"] .landing{background:linear-gradient(150deg,#d8ece3 0%,#f3f7ee 50%,#e1ebdf 100%)!important;}
body[data-season="halloween"] .landing{background:linear-gradient(160deg,#dedee7 0%,#f1eee7 51%,#e1dce5 100%)!important;}
body[data-season="eid"] .landing{background:linear-gradient(157deg,#dbeadf 0%,#f7f6e9 53%,#dae6d9 100%)!important;}
body[data-season="lunar"] .landing{background:linear-gradient(159deg,#eae0dc 0%,#f8f4e9 54%,#eedfda 100%)!important;}
body[data-season="night"] .landing{background:linear-gradient(155deg,#a9c6cf 0%,#d4e5e6 55%,#b2cbd9 100%)!important;}
.season-ambience{position:fixed;inset:0;pointer-events:none;z-index:9;overflow:hidden;opacity:.55;}
.season-mote{position:absolute;left:var(--left);top:-9%;width:var(--size);height:var(--size);background:var(--v25-accent);opacity:var(--opacity);border-radius:2px 9px 2px 9px;transform:rotate(var(--rotate));animation:season-drift var(--duration) linear infinite;animation-delay:var(--delay);}
body[data-season="winter"] .season-mote,body[data-season="eid"] .season-mote{border-radius:50%;}
body[data-season="eid"] .season-mote{width:4px;height:4px;background:#baaa75;}
body[data-season="night"] .season-mote{border-radius:50%;width:3px;height:3px;}
body[data-season="lunar"] .season-mote{background:#be8275;border-radius:12px 12px 2px 2px;}
@keyframes season-drift{0%{transform:translateY(-15vh) translateX(0) rotate(0)}100%{transform:translateY(112vh) translateX(var(--drift)) rotate(230deg)}}
body:has(.world.active) .season-ambience,body:has(.pocket-pop:not([hidden])) .season-ambience{opacity:0;}
/* immersive interactions: css transforms, not blurred whole-screen paint layers */
.dora-hat.hat-custom{opacity:0!important;visibility:hidden;transform:translateY(-10px) scale(.94);}
.landing.hat-special .dora-hat.hat-custom{opacity:1!important;visibility:visible;transform:translateY(0) scale(1);}
.landing.mood-startled .doraemon-character{animation:dora-surprise .36s ease-in-out 1;}
.landing.mood-sleepy .doraemon-svg{transform:rotate(-2deg);}
.landing.mood-excited .doraemon-svg{animation:dora-bounce .48s cubic-bezier(.2,.8,.2,1) 1;}
@keyframes dora-surprise{0%,100%{transform:translateY(0)}35%{transform:translateY(7px)}67%{transform:translateY(-4px)}}
@keyframes dora-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.item[data-page="writing"]:hover .writing-book-object{transform:perspective(500px) rotateY(-9deg) translateY(-3px);}
.item[data-page="projects"]:hover .project-archive-illustration{transform:translateY(-4px) rotate(3deg);}
.writing-book-object,.project-archive-illustration{transition:transform .32s cubic-bezier(.2,.8,.2,1);transform-origin:50% 90%;}
/* phone composition: one responsive design, no object-to-label collisions */
@media(max-width:760px){
 .landing{background:linear-gradient(155deg,#d4e9e9 0%,#eaf4ee 51%,#d2e7e8 100%)!important;}
 .topline{padding:max(16px,env(safe-area-inset-top)) 16px 6px!important;}
 .welcome{top:clamp(77px,9vh,98px)!important;}
 .welcome h1{font-size:clamp(27px,7.8vw,37px)!important;}
 .char-button{width:min(86vw,385px,calc((100dvh - 191px)*.75))!important;max-height:calc(100dvh - 168px)!important;}
 .ks-star.star-a{right:4%!important;top:32%!important;width:20px!important;}
 .ks-smiski{left:3%!important;top:37%!important;width:clamp(47px,14vw,67px)!important;}
 .ks-shin{right:2%!important;top:38%!important;width:clamp(49px,14vw,66px)!important;}
 .ks-camera{left:3%!important;bottom:22%!important;}
 .ks-headphones{right:2%!important;bottom:23%!important;}
 .ks-matcha{left:2%!important;top:57%!important;}
 .ks-polaroid{right:2%!important;bottom:43%!important;}
 .pocket-actions{left:13px;bottom:max(13px,env(safe-area-inset-bottom));gap:4px;}
 .pocket-actions button{font-size:10px;padding:7px 9px;min-width:44px;min-height:44px;}
 .pocket-actions button svg{width:16px;height:16px;}
 .skip-entry{min-height:44px;display:inline-flex;align-items:center;}
 .tap-tag{bottom:3%!important;font-size:10px!important;padding:8px 10px!important;}
 .fact-bubble{top:78px;left:50%;right:auto;transform:translateX(-50%);width:min(346px,90vw);border-radius:15px;min-height:100px;padding:14px 18px 11px;animation:bubble-in-mobile .25s ease both;}
 .fact-bubble p{font-size:16px;margin:5px 0 8px;}
 .fact-bubble small{font-size:12px;}
 .fact-bubble .fact-counter{font-size:9px;}
 .world{background:linear-gradient(160deg,#f4f8f2,#fffcf5 51%,#eff4ed)!important;}
 .world-heading{margin-top:clamp(49px,7.5vh,75px)!important;}
 .stuff{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 11px!important;padding:15px 0 24px!important;}
 .item{padding:10px 2px 13px!important;gap:0!important;}
 .item .object{height:clamp(116px,17vh,145px)!important;width:100%;max-width:175px;}
 .item b,.item[data-page="photos"] b,.item[data-page="writing"] b,.item[data-page="projects"] b{font-size:clamp(17px,4.7vw,20px)!important;line-height:1.18!important;margin-top:9px!important;}
 .item .object svg{overflow:visible;}
 .item-index{top:18px!important;left:10px!important;}
 .world-foot{margin-top:10px!important;padding:14px 0 14px;}
 .pop-content{padding-top:15px;}
 .pocket-pop-card{width:100%;max-height:91dvh;padding:20px 17px 24px;}
 .hat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
 .hat-tile{min-height:92px;}
 .stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .pop-tabs{gap:4px;}
 .pop-tabs button{padding:7px 9px;min-height:41px;}
 .matcha-art{height:260px;}
 .matcha-card{max-height:90dvh;}
 .unlocked-toast{bottom:max(93px,11vh);font-size:13px;}
}
@keyframes bubble-in-mobile{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:360px){
 .pocket-actions button{padding:7px;gap:4px;}
 .char-button{width:min(80vw,calc((100dvh - 175px)*.74))!important;}
 .item .object{height:112px!important;}
 .item b,.item[data-page="photos"] b,.item[data-page="writing"] b,.item[data-page="projects"] b{font-size:16px!important;}
 .stuff{gap:10px 8px!important;}
}
@media(max-height:690px) and (max-width:760px){
 .welcome{top:62px!important;}
 .char-button{width:min(73vw,calc((100dvh - 155px)*.73))!important;}
 .world-heading{margin-top:40px!important;}
 .world-heading h2{font-size:31px!important;}
 .item .object{height:105px!important;}
}
@media(min-width:761px) and (max-width:1100px){.world-shell{max-width:900px;}.stuff{gap:14px;}.item .object{height:clamp(130px,15vw,173px);}.item b{font-size:22px;}}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;}
 .season-mote,.matcha-glass.pouring .fruit-layer,.matcha-glass.pouring .tea-layer,.matcha-glass.stirring .fruit-layer,.matcha-glass.stirring .milk-layer,.matcha-glass.stirring .tea-layer,.landing.mood-excited .doraemon-svg,.landing.mood-startled .doraemon-character,.landing.camera-print .frontphoto{animation:none!important;transition:none!important;}
 .season-ambience{display:none;}
}
/* final alignment review: no caption touching its prop, on any phone */
.doodle.one{display:none!important;}
@media(max-width:760px){
 .stuff{row-gap:24px!important;}
 .item .object{height:clamp(121px,18vh,158px)!important;overflow:hidden;}
 .item .object>svg{width:100%!important;height:100%!important;max-height:100%!important;overflow:hidden!important;display:block;}
 .item b,.item[data-page="photos"] b,.item[data-page="writing"] b,.item[data-page="projects"] b{margin-top:16px!important;position:relative;z-index:1;}
 body[data-season="autumn"] .landing{background:linear-gradient(158deg,#e3eadd 0%,#f3eee5 50%,#e7e4d9 100%)!important;}
 body[data-season="winter"] .landing{background:linear-gradient(158deg,#d7e9ee 0%,#f1f8f6 49%,#d3e7ee 100%)!important;}
 body[data-season="summer"] .landing{background:linear-gradient(158deg,#d0edf0 0%,#eef7ed 54%,#cde9ee 100%)!important;}
 body[data-season="spring"] .landing{background:linear-gradient(158deg,#d8ece3 0%,#f3f7ee 50%,#e1ebdf 100%)!important;}
 body[data-season="halloween"] .landing{background:linear-gradient(158deg,#dedee7 0%,#f1eee7 51%,#e1dce5 100%)!important;}
 body[data-season="eid"] .landing{background:linear-gradient(158deg,#dbeadf 0%,#f7f6e9 53%,#dae6d9 100%)!important;}
 body[data-season="lunar"] .landing{background:linear-gradient(158deg,#eae0dc 0%,#f8f4e9 54%,#eedfda 100%)!important;}
 body[data-season="night"] .landing{background:linear-gradient(158deg,#a9c6cf 0%,#d4e5e6 55%,#b2cbd9 100%)!important;}
}
@media(max-width:360px){.stuff{row-gap:13px!important}.item .object{height:112px!important}.item b,.item[data-page="photos"] b,.item[data-page="writing"] b,.item[data-page="projects"] b{margin-top:11px!important}}
/* the smiski only glows after the visitor discovers night mode */
body[data-season="night"] .ks-smiski .personal-sticker{filter:drop-shadow(0 0 9px rgba(143,221,138,.74)) drop-shadow(0 0 17px rgba(166,245,157,.42))!important;}
body[data-season="night"] .ks-smiski{animation:smiski-lamplight 3.5s ease-in-out infinite;}
@keyframes smiski-lamplight{50%{opacity:.83}}
@media(prefers-reduced-motion:reduce){body[data-season="night"] .ks-smiski{animation:none}}
/* keep the recognizable blue atmosphere even when an autumn calendar accent is active */
body[data-season="autumn"] .landing{background:linear-gradient(154deg,#d2e8e8 0%,#eef3e8 51%,#d8e6e0 100%)!important;}
@media(max-width:760px){body[data-season="autumn"] .landing{background:linear-gradient(154deg,#d2e8e8 0%,#eef3e8 51%,#d8e6e0 100%)!important;}}
