/* KOSHO interaction layer. Visible by default; animations enhance native controls. */
.control-ready{--press-depth:3px;--press-shadow:0 4px 0 #001c262b;transition:transform .42s cubic-bezier(.2,1.7,.4,1),box-shadow .28s ease,background-color .25s,color .25s,filter .2s;transform-origin:center;}
.control-ready.control-enter{animation:control-arrival .7s var(--control-delay,0ms) both;}
.button.control-ready,.header-shop.control-ready,.check-item.control-ready,.table-choice.control-ready,.mobile-dock a.control-ready{--press-depth:5px;box-shadow:0 6px 0 #001c263d,0 10px 20px #00131c12,inset 0 1px 0 #fff7;}
.button-gold.control-ready,.mobile-dock a:last-child.control-ready{box-shadow:0 6px 0 #8b6f40,0 12px 26px #00131c1a,inset 0 1px 0 #fff9;}
.check-item.control-ready{box-shadow:0 6px 0 #00131bb3,0 9px 24px #00131b16,inset 0 1px 0 #f7f4df1a;}
.recipe-tabs .control-ready{box-shadow:0 3px 0 #9e89582b,inset 0 1px 0 #fff9;}
.utility-button.control-ready,.menu-toggle.control-ready,.site-header nav .control-ready,.back-top.control-ready,.reset-button.control-ready,.faq-list summary.control-ready{box-shadow:0 3px 0 #00182416;}
.control-ready.is-pressed,.control-ready:active{transform:translateY(var(--press-depth)) scale(.985)!important;box-shadow:0 1px 0 #00192340,inset 0 2px 6px #001d2925!important;filter:brightness(.96);transition-duration:.07s!important;}
.control-ready[aria-disabled="true"]{cursor:default;opacity:.75;}
.control-ready[aria-disabled="true"]:active{transform:none!important;box-shadow:none!important;filter:none;}
@media(hover:hover){.button.control-ready:hover,.header-shop.control-ready:hover,.check-item.control-ready:hover,.table-choice.control-ready:hover{transform:translateY(-3px);box-shadow:0 9px 0 #001c2630,0 15px 25px #00131c17,inset 0 1px 0 #fff7;}.button-gold.control-ready:hover{box-shadow:0 9px 0 #8b6f40,0 16px 28px #00131c24,inset 0 1px 0 #fff9;}}
@keyframes control-arrival{0%{opacity:.25;filter:brightness(1.28)}100%{opacity:1;filter:brightness(1)}}
.experience{overflow:clip;}
.check-interactive,.check-workbench{min-width:0;align-self:stretch;}
.check-console{position:relative;display:grid;grid-template-columns:35px 42px 1fr;gap:10px;align-items:center;padding:14px 16px 17px;margin-bottom:18px;color:#f5ead3;background:radial-gradient(ellipse at 15% 20%,#276977 0,transparent 70%),linear-gradient(120deg,#133e49,#082b36);border:1px solid #b4cfcb55;box-shadow:0 5px 18px #00111a33;isolation:isolate;}
.check-console>svg{width:35px;height:20px;color:#dfc185;filter:drop-shadow(0 0 7px #e0bd6d55);}
.check-console>span{font:14px/1.4 Georgia,serif;color:#d5dccc;}
.check-console b{font-size:28px;font-weight:400;color:#f0dbad;}
.check-console p{font-size:10px;line-height:1.65;letter-spacing:.02em;}
#check-track{position:absolute;height:3px;inset:auto 0 0;background:#ffffff18;overflow:hidden;}
#check-track i{display:block;height:100%;width:var(--check-progress,0%);background:linear-gradient(90deg,#76a5ac,#e8c88d);box-shadow:0 0 14px #f6da99;transition:width .8s cubic-bezier(.2,.8,.2,1);}
.check-console.is-complete{border-color:#d6bd84;}
.check-console.is-complete>svg{color:#fff0bf;}
.check-item{position:relative;isolation:isolate;display:grid;grid-template-columns:20px minmax(0,1fr) 23px;column-gap:14px;row-gap:0;}
.check-item .check-box{grid-column:3;grid-row:1;margin-left:0;}
.check-item .check-benefit{grid-column:2 / 4;}
.check-benefit{display:block;font:10px/1.75 var(--sans);letter-spacing:.02em;color:#e2cc9b;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s cubic-bezier(.2,.8,.2,1),margin .35s,opacity .3s;}
.check-item.is-selected .check-benefit{max-height:80px;opacity:1;margin-top:7px;}
.check-item.is-selected .check-box{animation:check-seal .55s cubic-bezier(.2,1.5,.4,1);}
@keyframes check-seal{0%{scale:.5;rotate:-18deg}65%{scale:1.25;rotate:5deg}100%{scale:1;rotate:0deg}}
#check-result{scroll-margin-top:95px;}
#check-result.is-complete{border-color:#edd49c;box-shadow:0 0 0 1px #dfbd6a3d,0 15px 55px #00101855,inset 0 1px #fff2;}
#check-result.is-complete .result-fish{animation:fish-arrival 1.25s cubic-bezier(.18,.9,.25,1) both;filter:drop-shadow(0 0 12px #ebca7e);}
#check-result.is-complete .result-photo{animation:table-arrival 1.6s cubic-bezier(.2,.7,.25,1) both;}
@keyframes fish-arrival{0%{opacity:0;transform:translateX(-80px) rotate(-12deg) scale(.55)}70%{opacity:1;transform:translateX(8px) rotate(3deg) scale(1.08)}100%{opacity:1;transform:translateX(0) rotate(0) scale(1)}}
@keyframes table-arrival{from{transform:scale(1.12);filter:brightness(.75)}to{transform:scale(1);filter:brightness(1)}}
.celebration-particle.fish-spark{width:21px;height:10px;border-radius:0!important;background:linear-gradient(165deg,#fff8d9,#bcd1ce 48%,#587f89);clip-path:polygon(0 12%,20% 35%,35% 8%,64% 0,90% 24%,100% 50%,90% 76%,64% 100%,35% 92%,20% 65%,0 88%);animation-name:fish-celebrate;box-shadow:none;}
.celebration-particle.fish-spark:nth-child(3n){width:16px;height:8px;}
.celebration-particle.gold-spark{width:8px;height:13px;background:linear-gradient(135deg,#fff6cb,#dab167);clip-path:polygon(50% 0,63% 35%,100% 50%,63% 65%,50% 100%,37% 65%,0 50%,37% 35%);}
@keyframes fish-celebrate{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}15%{opacity:1}85%{opacity:.8}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rotation)) scale(.8)}}
.arrival-ring{position:fixed;width:40px;height:40px;border:1px solid #e6ce94aa;border-radius:50%;z-index:9997;pointer-events:none;box-shadow:0 0 0 10px #a6d8d114;animation:arrival-water 1.4s var(--ring-delay,0ms) ease-out both;}
@keyframes arrival-water{0%{opacity:.8;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(8)}}
.click-ripple{border-color:#d2c396;box-shadow:0 0 0 5px #b4d0c71c,0 0 15px #e0d3a422;}
#recipe-image{will-change:auto;}
#recipe-steps{padding:0;margin:22px 0 0;list-style:none;counter-reset:recipe-step;display:grid;gap:12px;}
#recipe-steps li{display:flex;gap:12px;align-items:flex-start;font-size:11px;line-height:1.8;color:#3a5355;counter-increment:recipe-step;}
#recipe-steps li:before{content:counter(recipe-step,decimal-leading-zero);flex:0 0 23px;height:23px;border:1px solid #baa16e66;border-radius:50%;display:grid;place-items:center;font:10px/1 Georgia,serif;color:#90703d;background:linear-gradient(150deg,#fffdf6,#e9e0cd);}
.table-choice.is-selected{outline:1px solid #dbc08a;outline-offset:4px;}
@media(max-width:640px){
  .check-console{position:sticky;top:76px;z-index:24;padding:10px 12px 14px;margin:0 -3px 18px;grid-template-columns:28px 38px 1fr;gap:8px;box-shadow:0 7px 20px #0019236b;}
  .check-console>svg{width:29px;height:17px;}
  .check-console b{font-size:25px;}
  .check-console p{font-size:9px;line-height:1.65;}
  .check-item{scroll-margin-top:155px;}
  .check-item.is-selected .check-benefit{max-height:80px;}
  .check-benefit{font-size:10px;line-height:1.7;}
  .control-ready{--press-depth:2px;}
  .button.control-ready,.check-item.control-ready,.mobile-dock a.control-ready{--press-depth:4px;}
  #recipe-steps{gap:10px;margin-top:18px;}
  #recipe-steps li{font-size:10px;}
  #check-result{scroll-margin-top:95px;}
  .arrival-ring{width:30px;height:30px;}
}
.reduced-motion .control-enter{opacity:1;filter:none;}
.reduced-motion .control-ready.is-pressed,.reduced-motion .control-ready:active{transform:none!important;}
.reduced-motion .arrival-ring{display:none;}
@media(prefers-reduced-motion:reduce){
  .control-enter{opacity:1!important;filter:none!important;}
  .control-ready.is-pressed,.control-ready:active{transform:none!important;}
  .arrival-ring{display:none!important;}
}
