/* V5 repair pass: one coherent Clock Garden visual language. */
.story-ribbon{min-height:25%;padding:24px 34px 76px;border:5px double #c58a2c;border-radius:22px 34px 24px 38px;background:radial-gradient(circle at 20% 15%,#fff 0 2%,transparent 18%),linear-gradient(105deg,#ead08e 0 2%,#fff7d8 5% 94%,#d3a65a 98%);box-shadow:inset 0 0 38px #9e6a2235,0 14px 38px #3b240b66,0 0 22px #ffe88966}
.story-ribbon::before,.story-ribbon::after{content:"";position:absolute;top:10px;bottom:10px;width:24px;border:3px solid #a96b20;border-radius:50%;background:linear-gradient(90deg,#a86b25,#f4d47f 45%,#a86b25);box-shadow:0 5px 12px #3a230755}.story-ribbon::before{left:-14px}.story-ribbon::after{right:-14px}
.story-ribbon p,.question-card h2,.mission-scroll h2{font-family:Georgia,"Times New Roman",serif}.story-ribbon p{width:100%;font-size:clamp(23px,3vw,48px);line-height:1.14;text-shadow:0 1px #fff,0 2px #d6aa45}
.story-navigation{position:absolute;z-index:3;left:26px;right:26px;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.journey-arrow{min-width:112px;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid #fff1a6;border-radius:999px 45% 45% 999px;color:#fff9d5;background:linear-gradient(145deg,#2c8e8b,#07525b);box-shadow:0 5px 0 #503215,0 0 16px #ffe36a88,inset 0 1px #fff8;font-weight:900}.journey-arrow.next-arrow{border-radius:45% 999px 999px 45%;background:linear-gradient(145deg,#f2c44c,#a9671b);color:#43290e;animation:journey-call 1.7s ease-in-out infinite}.journey-arrow span{font-size:25px;line-height:1}.journey-arrow small{font-size:13px;letter-spacing:.06em}.journey-arrow:disabled{opacity:.32;filter:grayscale(.7);animation:none;cursor:default}
.modal{background:#0627328f;backdrop-filter:blur(3px) saturate(.9)}
.question-card{position:relative;overflow:visible;padding:24px;border:7px double #d9a83b;border-radius:34px 20px 34px 20px;background:radial-gradient(circle at 16% 14%,#fff 0 2%,transparent 20%),linear-gradient(135deg,#fff9df,#e9f1cf 64%,#d8e8be);box-shadow:inset 0 0 44px #9b671f2c,0 25px 75px #001a,0 0 32px #ffe47a55}
.question-card::before,.question-card::after{content:"❦";position:absolute;z-index:2;color:#3d8d69;font-size:46px;filter:drop-shadow(0 2px #fff7b7)}.question-card::before{top:-28px;left:18px;transform:rotate(-22deg)}.question-card::after{right:18px;bottom:-29px;transform:rotate(158deg)}.question-card .eyebrow{color:#24755f}
.question-card .primary,.magic-button{border:2px solid #fff0a0;border-radius:18px;padding:14px 22px;color:#fffbe4;background:linear-gradient(145deg,#2dcac0,#08787b 70%);box-shadow:0 6px 0 #07545a,0 0 18px #7fffe999,inset 0 1px #fff9;font-weight:900}.question-card .primary::before{content:"✦ ";color:#ffe36a}
.mission-modal{position:absolute;z-index:40;inset:0;display:grid;place-items:center;padding:18px;background:#052a327a;backdrop-filter:blur(3px)}
.mission-scroll{position:relative;width:min(670px,88%);padding:34px 44px 30px;text-align:center;border:7px double #c98d30;border-radius:28px 18px 31px 17px;background:radial-gradient(circle at 50% 10%,#fff 0 2%,transparent 32%),linear-gradient(110deg,#ead08b,#fff6d4 7% 93%,#ddb76b);box-shadow:inset 0 0 42px #8d591c3b,0 22px 60px #001b,0 0 30px #ffe27a66}.mission-scroll::before,.mission-scroll::after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:#f1bd3f;font-size:32px;text-shadow:0 0 13px #fff3a0}.mission-scroll::before{left:14px}.mission-scroll::after{right:14px}.mission-eyebrow{color:#24755f;font-size:12px;font-weight:900;letter-spacing:.14em}.mission-scroll h2{margin:8px 0;color:#164f55;font-size:clamp(30px,4.4vw,54px)}.mission-scroll p{max-width:560px;margin:0 auto 22px;color:#244d47;font-size:clamp(16px,2.1vw,23px);line-height:1.35;font-weight:800}
.objective-tracker{position:absolute;z-index:11;top:13%;left:max(12px,env(safe-area-inset-left));max-width:min(420px,67%);display:flex;align-items:center;gap:10px;padding:9px 16px 9px 10px;border:2px solid #ffe58f;border-radius:16px 999px 999px 16px;background:linear-gradient(100deg,#103f49ee,#17645bdc);color:#fff8d0;box-shadow:0 7px 18px #0018,inset 0 1px #fff5;pointer-events:none}.objective-tracker span:last-child{display:grid;gap:1px}.objective-tracker small{color:#ffd960;font-size:9px;font-weight:900;letter-spacing:.13em}.objective-tracker b{font-size:clamp(12px,1.4vw,17px)}.objective-compass{width:36px;height:36px;display:grid;place-items:center;border:2px solid #ffe58f;border-radius:50%;color:#ffe36a;font-size:23px;box-shadow:0 0 13px #ffe36a99}
.quest-banner{top:22%}
.touch-controls .attack-button{display:grid;place-items:center;align-content:center;line-height:.9}.touch-controls .attack-button span{font-size:32px}.touch-controls .attack-button small{margin-top:4px;font-size:10px;letter-spacing:.1em}.touch-controls .attack-button.spotlight{animation:attack-call 900ms ease-in-out infinite;outline:5px solid #fff5a0aa}
.bow.calling{animation:bow-call 1s ease-in-out infinite;z-index:9}.bow.collected{opacity:0;transform:translate(-420px,120px) rotate(18deg) scale(.2);transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s}
.magic-celebration{position:absolute;z-index:60;left:50%;top:44%;width:280px;height:180px;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.question-magic-celebration{left:74%;top:47%}.magic-celebration strong{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);padding:8px 18px;border:2px solid #fff0a0;border-radius:999px;color:#fffbe1;background:#15766de8;box-shadow:0 0 25px #ffe46f;font-family:Georgia,serif;font-size:28px;white-space:nowrap}.magic-celebration i{position:absolute;left:50%;top:50%;color:#ffe66d;font-style:normal;font-size:28px;text-shadow:0 0 10px #fff,0 0 20px #ffc82d}.magic-celebration i:nth-of-type(1){--x:-105px;--y:-62px}.magic-celebration i:nth-of-type(2){--x:-82px;--y:58px;font-size:20px}.magic-celebration i:nth-of-type(3){--x:-8px;--y:-82px;font-size:22px}.magic-celebration i:nth-of-type(4){--x:88px;--y:-50px;font-size:24px}.magic-celebration i:nth-of-type(5){--x:105px;--y:47px}.magic-celebration i:nth-of-type(6){--x:8px;--y:77px;font-size:20px}.magic-celebration.show{animation:celebration-shell 1s ease-out}.magic-celebration.show strong{animation:correct-word 1s ease-out}.magic-celebration.show i{animation:sparkle-float 1s ease-out}.correct-glow{animation:clock-correct-glow 850ms ease-out}
@keyframes journey-call{50%{transform:translateX(5px) scale(1.04);box-shadow:0 5px 0 #503215,0 0 27px #ffe36acc}}@keyframes attack-call{50%{transform:scale(1.12);filter:brightness(1.18) drop-shadow(0 0 18px #fff36f)}}@keyframes bow-call{50%{transform:rotate(68deg) translateY(-8px) scale(1.12);filter:drop-shadow(0 0 24px #fff17b)}}@keyframes celebration-shell{0%{opacity:0}18%,68%{opacity:1}100%{opacity:0}}@keyframes correct-word{0%{transform:translate(-50%,-50%) scale(.5)}35%{transform:translate(-50%,-50%) scale(1.1)}100%{transform:translate(-50%,-56%) scale(1)}}@keyframes sparkle-float{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}35%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.25) rotate(160deg)}}@keyframes clock-correct-glow{25%,65%{filter:drop-shadow(0 0 30px #ffe36a) drop-shadow(0 0 55px #fff6ad)}}
@media(max-width:780px){.story-ribbon{width:62%;min-height:24%;padding:14px 18px 58px}.story-ribbon p{font-size:clamp(18px,3.8vw,28px)}.story-navigation{left:14px;right:14px;bottom:8px}.journey-arrow{min-width:84px;height:40px}.journey-arrow small{font-size:10px}.objective-tracker{top:15%;max-width:72%;padding:6px 11px 6px 7px}.objective-compass{width:29px;height:29px;font-size:18px}.mission-scroll{padding:24px 35px 22px}.question-magic-celebration{left:50%;top:53%}}


/* Gameplay feedback polish · 2026-08-23 */
.fullscreen-button{display:none;position:fixed;z-index:140;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:78px;min-height:48px;padding:5px 7px;border:2px solid #ffe889;border-radius:15px;color:#fffbe4;background:linear-gradient(145deg,#247d78,#103c55);box-shadow:0 4px 0 #092b3a,0 0 18px #7affed77;font:800 9px/1.05 system-ui,sans-serif;letter-spacing:.08em}
.fullscreen-button span{display:block;font-size:24px;line-height:.85}.fullscreen-button small{font:inherit}.fullscreen-button.active{background:linear-gradient(145deg,#785b28,#3d2c18)}
.game-toast{position:fixed;z-index:220;left:50%;bottom:max(14px,env(safe-area-inset-bottom));max-width:min(520px,88vw);padding:10px 16px;border:2px solid #ffe889;border-radius:14px;color:#fffbe7;background:#123f47f2;box-shadow:0 8px 30px #001b26aa;font:800 14px/1.25 system-ui,sans-serif;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,18px);transition:.22s ease}
.game-toast.show{opacity:1;transform:translate(-50%,0)}

.tiko-sprite.frame-run{animation:tiko-leg-cycle .34s steps(1,end) infinite!important;will-change:background-position,translate,rotate}
.tiko-sprite.frame-run.jumping{animation:none!important}
@keyframes tiko-leg-cycle{0%,49%{background-position:0 0;translate:0 0;rotate:-1deg}50%,100%{background-position:25% 0;translate:0 -5px;rotate:1deg}}

.sun-checkpoint{width:76px!important;height:172px!important;bottom:16%!important;border:4px solid #ffe477!important;border-radius:38px 38px 16px 16px!important;background:linear-gradient(90deg,#0d8b82dd,#58ecd4ee 48%,#0d8b82dd)!important;box-shadow:0 0 0 5px #153f46bb,0 0 26px #ffec70,0 0 55px #4effdf!important;display:grid!important;place-items:center;align-content:center;gap:5px;color:#fff8bd;overflow:visible}
.sun-checkpoint::before,.sun-checkpoint::after{content:"";position:absolute;left:50%;translate:-50% 0;border:3px solid #ffe477;background:#155e63}
.sun-checkpoint::before{top:-15px;width:48px;height:22px;border-radius:50% 50% 8px 8px}
.sun-checkpoint::after{bottom:-12px;width:94px;height:19px;border-radius:50%}
.sun-checkpoint i{position:relative;z-index:2;font-style:normal;font-size:38px;text-shadow:0 0 9px #fff,0 0 20px #ffe45a}
.sun-checkpoint small{position:relative;z-index:2;display:grid;place-items:center;width:25px;height:25px;border:2px solid #fff0a0;border-radius:50%;color:#123f47;background:#ffe477;font:900 13px system-ui,sans-serif}
.sun-checkpoint.active{animation:sun-gate-active .65s ease-in-out infinite alternate!important}
.sun-checkpoint.waiting{animation:sun-gate-waiting .22s ease-in-out 3!important;filter:saturate(.65)}
.sun-checkpoint.safe{opacity:.34!important;filter:hue-rotate(18deg) brightness(1.4);transform:scaleX(.24)!important;pointer-events:none}
@keyframes sun-gate-active{to{filter:brightness(1.3);box-shadow:0 0 0 6px #fff2a0,0 0 42px #fff36a,0 0 75px #55ffe4}}
@keyframes sun-gate-waiting{25%{translate:-8px 0}75%{translate:8px 0}}

.vine-lantern-boss.hit,.shadow-clocktree-boss.hit,.pendulum-knight.hit,.midnight-dragon.hit{animation:boss-hit-confirm .52s cubic-bezier(.2,.9,.25,1)!important;filter:brightness(1.7) saturate(1.35) drop-shadow(0 0 28px #fff4a0)!important}
.boss-hit-burst{position:absolute;z-index:20;left:50%;top:34%;translate:-50% -50%;padding:8px 13px;border:3px solid #fff6b6;border-radius:999px;color:#fff;background:#e26b29e8;box-shadow:0 0 28px #fff27a;font:900 18px/1 system-ui,sans-serif;letter-spacing:.08em;white-space:nowrap;pointer-events:none;animation:hit-word .7s ease-out forwards}
.flower-sprite.hit{animation:small-hit-confirm .42s ease-out!important;filter:brightness(1.8) drop-shadow(0 0 25px #fff27a)!important}
@keyframes boss-hit-confirm{0%{translate:0 0;scale:1}15%{translate:-22px 0;scale:1.07}30%{translate:19px -4px;scale:.96}46%{translate:-14px 2px;scale:1.05}64%{translate:10px 0;scale:.99}82%{translate:-5px 0;scale:1.02}100%{translate:0 0;scale:1}}
@keyframes hit-word{0%{opacity:0;scale:.45}25%{opacity:1;scale:1.18}100%{opacity:0;translate:-50% -90%;scale:1}}
@keyframes small-hit-confirm{20%{translate:-11px 0;scale:1.08}45%{translate:10px 0;scale:.96}70%{translate:-5px 0;scale:1.03}}

[data-control="attack"],[data-field-control="spike"],[data-shadow-control="spike"],[data-castle-control="spike"],[data-nexus-control="spike"]{position:relative;isolation:isolate;overflow:visible;color:#fff8cc!important;border:3px solid #ffe487!important;background:radial-gradient(circle at 34% 25%,#eaffff 0 7%,#54efd8 8% 20%,transparent 21%),conic-gradient(from 25deg,#063f51,#2da99d,#ffc75b,#176a72,#063f51)!important;box-shadow:inset 0 0 0 3px #0d4958,inset 0 0 18px #7effe4,0 5px 0 #182e3d,0 0 23px #45ead0aa!important;text-shadow:0 2px 2px #123744,0 0 8px #082f3c}
[data-control="attack"]::before,[data-field-control="spike"]::before,[data-shadow-control="spike"]::before,[data-castle-control="spike"]::before,[data-nexus-control="spike"]::before{content:"";position:absolute;z-index:-1;inset:6px;border:2px solid #fff0a099;border-radius:inherit;box-shadow:inset 0 0 12px #fff3a088}
[data-control="attack"]::after,[data-field-control="spike"]::after,[data-shadow-control="spike"]::after,[data-castle-control="spike"]::after,[data-nexus-control="spike"]::after{content:"✦";position:absolute;right:7px;top:5px;color:#fffbd0;font-size:12px;text-shadow:0 0 8px #fff}
