:root{
  --pink:#ff4fa3;--pink2:#ff79be;--purple:#9b5de5;--lav:#ead9ff;--cream:#fff8ef;
  --choc:#4c2b27;--ink:#402d44;--gold:#ffbd38;--mint:#82e6c9;--card:#ffffffd9;
  --shadow:0 18px 50px rgba(93,48,88,.16);--radius:26px;--safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:
radial-gradient(circle at 10% 10%,#ffe0ef 0 11%,transparent 33%),radial-gradient(circle at 85% 5%,#eee0ff 0 12%,transparent 35%),linear-gradient(180deg,#fffdf9,#fff4fa 58%,#f8f0ff);min-height:100vh;padding-bottom:86px}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;justify-content:space-between;padding:12px 22px;background:#fffaf7e8;backdrop-filter:blur(18px);border-bottom:1px solid #eadce8}
.brand-button{border:0;background:transparent;display:flex;align-items:center;gap:10px;color:var(--ink);text-align:left}.brand-icon{width:46px;height:46px;border-radius:14px;object-fit:cover}.brand-button strong{display:block;font-size:1.05rem}.brand-button small{display:block;color:#8d748b;font-size:.74rem}.desktop-nav{display:flex;gap:8px}.desktop-nav button,.pill-btn,.icon-btn{border:0;background:#fff;border-radius:999px;padding:10px 14px;box-shadow:0 2px 12px #70526413;color:var(--ink)}.desktop-nav button:hover,.desktop-nav button.active{background:var(--pink);color:#fff}.top-actions{display:flex;gap:8px}.icon-btn{min-width:42px}.pill-btn{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;font-weight:800}
#app{max-width:1220px;margin:0 auto;padding:24px}.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:30px;align-items:center}.hero-card{background:linear-gradient(135deg,#fff9f2,#fff,#f7eaff);border:1px solid #f0dce9;border-radius:34px;padding:36px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#ffddee;right:-80px;top:-90px;filter:blur(4px)}.hero h1{font-size:clamp(2.5rem,6vw,5.4rem);line-height:.92;margin:.2em 0;color:#542d56;letter-spacing:-.045em}.hero h1 span{color:var(--pink)}.tagline{font-family:Georgia,serif;font-style:italic;font-size:1.2rem;color:#7d5a7d}.hero-actions,.row{display:flex;gap:12px;flex-wrap:wrap}.primary,.secondary,.ghost,.danger{border:0;border-radius:16px;padding:13px 18px;font-weight:800}.primary{background:linear-gradient(135deg,var(--pink),var(--purple));color:white;box-shadow:0 12px 24px #dd5eaa35}.secondary{background:#fff;color:var(--ink);border:1px solid #ead9e8}.ghost{background:#f8effa;color:#6a456e}.danger{background:#ffe5e9;color:#b33952}.logo-hero{width:100%;max-height:520px;object-fit:contain;filter:drop-shadow(0 18px 30px #b87aa636)}
.section{margin-top:30px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.section-head h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0}.section-head p{margin:.3rem 0 0;color:#826d80}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.feature{grid-column:span 3;background:var(--card);border:1px solid #f0e3ef;border-radius:22px;padding:20px;box-shadow:0 10px 26px #6e4a6f0f;transition:.2s transform}.feature:hover{transform:translateY(-3px)}.feature .emoji{font-size:2rem}.feature h3{margin:.6rem 0 .35rem}.feature p{color:#806d7f;font-size:.92rem}.feature button{margin-top:8px}.card{background:var(--card);border:1px solid #f0e2ec;border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.birthday-banner{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:center;background:linear-gradient(135deg,#fff0f7,#fff,#f5eaff);border:2px solid #ffc0dc;border-radius:34px;padding:24px;box-shadow:var(--shadow)}.birthday-banner img{width:100%;max-height:500px;object-fit:contain}.birthday-banner h2{font-size:clamp(2rem,5vw,4rem);margin:0;color:#d92f86}.birthday-banner .age{display:inline-block;background:var(--purple);color:white;padding:7px 12px;border-radius:999px;font-weight:900}
.recipe-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:16px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.recipe-card{background:#fff;border:1px solid #f0e1ed;border-radius:24px;overflow:hidden;box-shadow:0 8px 24px #8a617217}.recipe-art{height:150px;display:grid;place-items:center;font-size:4.4rem;background:linear-gradient(135deg,#ffe1ef,#f1e6ff)}.recipe-body{padding:18px}.recipe-meta{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:.74rem;padding:5px 9px;border-radius:999px;background:#f6ecf8;color:#684a6c}.recipe-card h3{margin:.7rem 0 .4rem}.recipe-card p{color:#806e7f;font-size:.9rem}.recipe-card .row{justify-content:space-between;align-items:center}
.detail-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.ingredients li,.steps li{margin:.55rem 0}.checklist label{display:flex;gap:10px;align-items:flex-start;padding:8px 0}.checklist input{margin-top:3px}.step-focus{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(135deg,#fff8ef,#fff0fa);border-radius:22px;padding:24px}.step-number{font-size:.8rem;font-weight:900;color:var(--pink);text-transform:uppercase;letter-spacing:.12em}.step-focus h3{font-size:1.5rem}.progress{height:10px;background:#f1e5ef;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--purple))}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-weight:800;font-size:.9rem}.field input,.field select,.field textarea,.whiskie-form input{width:100%;padding:12px 13px;border:1px solid #e3d4e1;border-radius:14px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.whiskie-form input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ff4fa31a}.result-box{background:linear-gradient(135deg,#fff7ed,#f9efff);border-radius:22px;padding:18px;margin-top:16px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric{background:#fff;border-radius:16px;padding:14px;border:1px solid #eee0ea}.metric strong{display:block;font-size:1.35rem;color:#733b77}.metric small{color:#8b768b}
.flavor-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chip-grid{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #e7d8e7;background:#fff;border-radius:999px;padding:9px 12px}.chip.selected{background:var(--pink);color:#fff;border-color:var(--pink)}.pairing{padding:12px;border-radius:16px;background:#fff7ec;margin-top:9px}.rescue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rescue-btn{padding:16px;border:1px solid #eddbe8;background:#fff;border-radius:18px;text-align:left;font-weight:800}.rescue-btn:hover{border-color:var(--pink);background:#fff4fa}.warning{background:#fff4d8;border:1px solid #ffdc74;border-radius:16px;padding:12px;color:#6a5111}.safety{background:#fff1f1;border-left:5px solid #ff7a7a;padding:12px;border-radius:12px;margin-top:12px}
.timer-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.timer-list{display:grid;gap:12px}.timer-card{background:#fff;border-radius:20px;padding:16px;border:1px solid #ecdeea}.timer-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.timer-time{font-size:2rem;font-weight:900;color:#5a335d;font-variant-numeric:tabular-nums}.timer-progress{height:10px;background:#f0e2ed;border-radius:999px;overflow:hidden;margin:10px 0}.timer-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--gold))}.timer-complete{animation:pulse 1s infinite}.timer-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.bakebook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.bake-entry{background:#fff;border-radius:20px;border:1px solid #eedfeb;overflow:hidden}.bake-entry img{width:100%;height:180px;object-fit:cover;background:#f6eefa}.bake-entry .body{padding:14px}.empty{padding:32px;text-align:center;color:#8c778a;background:#fff;border:1px dashed #dbc8d9;border-radius:22px}.stars{color:#ffb338}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.achievement{padding:16px;border-radius:20px;background:#fff;border:1px solid #eedfeb;text-align:center}.achievement.locked{filter:grayscale(1);opacity:.55}.achievement .emoji{font-size:2rem}
.whiskie-dock{position:fixed;right:16px;bottom:calc(18px + var(--safe-bottom));z-index:80}.whiskie-bubble{width:94px;height:94px;border-radius:50%;border:4px solid white;background:linear-gradient(145deg,#ffe1f0,#f0e2ff);box-shadow:0 15px 35px #67466a44;overflow:hidden;padding:0;position:relative;animation:floaty 3.4s ease-in-out infinite}.whiskie-bubble img{width:130%;height:130%;object-fit:contain;object-position:55% 30%;transform:translate(-9%,-3%)}.whiskie-bubble.thinking{animation:wobble .7s ease-in-out infinite}.whiskie-bubble.cheer{animation:bounce .5s ease-in-out 3}.status-dot{position:absolute;right:6px;bottom:8px;width:16px;height:16px;border-radius:50%;background:#56d49a;border:3px solid white}.whiskie-panel{position:absolute;right:0;bottom:108px;width:min(390px,calc(100vw - 32px));background:#fff;border:1px solid #ead8e8;border-radius:24px;box-shadow:0 25px 60px #4f38515a;overflow:hidden}.whiskie-panel-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#ffe8f3,#efe2ff)}.whiskie-panel-head strong{display:block}.whiskie-panel-head small{color:#846f84}.whiskie-messages{height:280px;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.msg{max-width:88%;padding:10px 12px;border-radius:16px;line-height:1.35}.msg.whiskie{align-self:flex-start;background:#f7edf9}.msg.user{align-self:flex-end;background:var(--pink);color:#fff}.quick-chips{display:flex;gap:6px;padding:0 12px 10px;overflow-x:auto}.quick-chips button{white-space:nowrap;border:0;border-radius:999px;background:#fff0f7;padding:7px 9px;color:#754d73}.whiskie-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid #eee0ec}.whiskie-form button{border:0;border-radius:13px;background:var(--purple);color:#fff;padding:0 15px;font-weight:800}
.mobile-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fffaf8f2;backdrop-filter:blur(16px);border-top:1px solid #eadce8;padding:7px 8px calc(7px + var(--safe-bottom));justify-content:space-around}.mobile-nav button{border:0;background:transparent;color:#765f74;font-size:.7rem;display:grid;gap:2px;place-items:center}.mobile-nav button span{font-size:1.3rem}.mobile-nav button.active{color:var(--pink);font-weight:900}.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);z-index:100;background:#4c2b52;color:#fff;padding:12px 16px;border-radius:999px;box-shadow:var(--shadow)}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:90;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:10px;height:18px;border-radius:4px;animation:fall 2.8s linear forwards}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes wobble{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px) scale(1.08)}}@keyframes pulse{50%{box-shadow:0 0 0 8px #ff4fa31f}}@keyframes fall{to{transform:translate(var(--drift),110vh) rotate(760deg);opacity:.8}}
@media(max-width:900px){.desktop-nav{display:none}.hero,.birthday-banner,.detail-layout,.timer-layout,.flavor-columns{grid-template-columns:1fr}.feature{grid-column:span 6}.recipe-grid,.bakebook-grid{grid-template-columns:repeat(2,1fr)}.rescue-grid{grid-template-columns:repeat(2,1fr)}.achievement-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{display:flex}.whiskie-dock{bottom:calc(78px + var(--safe-bottom))}}
@media(max-width:600px){#app{padding:16px}.topbar{padding:9px 12px}.brand-button small{display:none}.hero-card{padding:24px}.feature{grid-column:span 12}.recipe-grid,.bakebook-grid,.rescue-grid,.form-grid{grid-template-columns:1fr}.recipe-toolbar{grid-template-columns:1fr}.timer-presets{grid-template-columns:1fr}.whiskie-bubble{width:78px;height:78px}.whiskie-panel{bottom:88px}.achievement-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* v1.1 companion + brand refinements */
.brand-button strong em{font-family:Georgia,serif;font-style:italic;font-weight:700;color:var(--pink);margin-left:3px}
.hero-logo-wrap{position:relative;min-height:440px;display:grid;place-items:center;overflow:visible}.with-nae-ribbon{position:absolute;right:10%;bottom:9%;z-index:4;background:linear-gradient(135deg,#ff4fa3,#9b5de5);color:white;padding:9px 24px;border-radius:999px;font-family:Georgia,serif;font-size:clamp(1rem,2vw,1.45rem);font-style:italic;font-weight:800;box-shadow:0 10px 28px #7e4e8750;transform:rotate(-3deg)}
.floating-bake-card{position:absolute;z-index:3;background:#fffdfb;border:1px solid #f0dce9;border-radius:18px;padding:10px 13px;display:flex;align-items:center;gap:8px;box-shadow:0 14px 30px #6b45642b;font-weight:900;font-size:.78rem;animation:cardDrift 4.5s ease-in-out infinite}.floating-bake-card span{white-space:nowrap}.card-a{left:-1%;top:12%;animation-delay:-.5s}.card-b{right:-2%;top:31%;animation-delay:-2s}.card-c{left:7%;bottom:12%;animation-delay:-3s}
.whiskie-stage{position:fixed;left:18px;bottom:28px;z-index:72;width:230px;pointer-events:none;opacity:0;transform:translate(-18px,18px) scale(.94);transition:opacity .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}.whiskie-stage.show{opacity:1;transform:translate(0,0) scale(1)}.whiskie-stage img{width:108px;height:145px;object-fit:contain;filter:drop-shadow(0 12px 18px #5b3c5d40);animation:chefFloat 3s ease-in-out infinite}.whiskie-stage-text{position:absolute;left:92px;bottom:58px;min-width:220px;max-width:min(380px,55vw);background:white;border:2px solid #ffd2e6;border-radius:20px 20px 20px 5px;padding:12px 14px;font-size:.88rem;line-height:1.35;box-shadow:0 14px 34px #694f6b2b}.whiskie-stage.talking img{animation:talkBob .42s ease-in-out infinite alternate}.whiskie-stage.cheer img{animation:chefCheer .48s ease-in-out 4}.whiskie-stage.thinking img{animation:chefThink .8s ease-in-out infinite}.whiskie-stage.timer img{animation:timerWatch .65s ease-in-out infinite alternate}.whiskie-stage.mixing img{animation:mixDance .7s ease-in-out infinite alternate}
.companion-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:10px 12px 8px;background:#fff}.companion-tools button{border:1px solid #ead8e8;border-radius:12px;background:linear-gradient(135deg,#fff8fb,#f8efff);color:#684a6c;padding:9px 8px;font-weight:800;font-size:.78rem}.companion-tools button:hover{border-color:var(--pink);transform:translateY(-1px)}
.cookie-thinking{align-self:flex-start;position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:58px;padding:8px 12px;background:#fff7ec;border:1px solid #f2d5b0;border-radius:18px;overflow:hidden;max-width:92%}.cookie-thinking .cookie{font-size:2rem;animation:cookieSpin 1s ease-in-out infinite}.cookie-thinking small{color:#7a5b4b;font-weight:800}.cookie-thinking i{position:absolute;width:7px;height:7px;border-radius:50%;background:#7b4a2d;left:28px;top:24px;animation:crumbSprinkle 1.1s linear infinite}.cookie-thinking i:nth-of-type(2){animation-delay:.2s}.cookie-thinking i:nth-of-type(3){animation-delay:.4s}.cookie-thinking i:nth-of-type(4){animation-delay:.6s}
.status-dot.ai-online{background:#46d98a;box-shadow:0 0 0 4px #46d98a22,0 0 14px #46d98a}.kitchen-notes{margin-bottom:18px}.note-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed #eadbe7}.note-row:last-child{border-bottom:0}.note-row small{white-space:nowrap;color:#8a7488}
.whiskie-panel{width:min(430px,calc(100vw - 32px))}.whiskie-panel-head small{display:block;max-width:260px}.msg.whiskie{position:relative}.msg.whiskie:before{content:'🍪';font-size:.8rem;margin-right:6px}
@keyframes cardDrift{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes chefFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes talkBob{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}
@keyframes chefCheer{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.08) rotate(3deg)}}
@keyframes chefThink{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg) translateY(-5px)}}
@keyframes timerWatch{from{transform:rotate(-2deg)}to{transform:rotate(2deg) scale(1.03)}}
@keyframes mixDance{from{transform:translateX(-3px) rotate(-4deg)}to{transform:translateX(3px) rotate(4deg)}}
@keyframes cookieSpin{0%,100%{transform:rotate(-12deg) scale(1)}50%{transform:rotate(14deg) scale(1.08)}}
@keyframes crumbSprinkle{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(58px,28px) rotate(220deg) scale(.3)}}
@media(max-width:900px){.whiskie-stage{left:10px;bottom:86px;width:170px}.whiskie-stage img{width:84px;height:110px}.whiskie-stage-text{left:72px;bottom:40px;min-width:180px;max-width:58vw}.hero-logo-wrap{min-height:330px}.floating-bake-card{font-size:.7rem;padding:8px 10px}}
@media(max-width:600px){.whiskie-stage-text{display:none}.whiskie-stage{width:86px}.floating-bake-card{display:none}.with-nae-ribbon{right:4%;bottom:3%}.companion-tools{grid-template-columns:1fr 1fr}.note-row{display:grid}.note-row small{white-space:normal}}


/* v1.2 companion presence, natural motion, chat discoverability, themed dialogs */
.whiskie-stage{
  opacity:1!important;
  pointer-events:none!important;
  left:22px!important;
  bottom:34px!important;
  width:270px!important;
  transform:none!important;
  transition:left .8s ease,bottom .8s ease,transform .5s ease!important;
}
.whiskie-stage-character{
  pointer-events:auto;
  position:relative;
  width:126px;
  height:165px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  filter:drop-shadow(0 16px 22px #5b3c5d35);
  animation:companionRoam 5s ease-in-out infinite;
}
.whiskie-stage-character img{width:100%!important;height:100%!important;object-fit:contain!important;animation:none!important}
.whiskie-stage-character:hover{transform:translateY(-5px) scale(1.04)}
.whiskie-sparkles{position:absolute;right:-6px;top:12px;font-size:1.35rem;animation:sparkleBlink 1.8s ease-in-out infinite}
.whiskie-stage-text{
  opacity:0;
  transform:translateY(8px) scale(.98);
  pointer-events:none;
  transition:opacity .22s ease,transform .25s ease;
  background:linear-gradient(145deg,#fffdfd,#fff4fa 68%,#f4ecff)!important;
  border:2px solid #ffb7d8!important;
  box-shadow:0 18px 38px #6d4b6e32!important;
  color:#563657;
}
.whiskie-stage-text.visible{opacity:1;transform:translateY(0) scale(1)}
.whiskie-stage.talking .whiskie-stage-character{animation:talkBob .42s ease-in-out infinite alternate}
.whiskie-stage.cheer .whiskie-stage-character{animation:chefCheer .48s ease-in-out 4}
.whiskie-stage.thinking .whiskie-stage-character{animation:chefThink .8s ease-in-out infinite}
.whiskie-stage.timer .whiskie-stage-character{animation:timerWatch .65s ease-in-out infinite alternate}
.whiskie-stage.mixing .whiskie-stage-character{animation:mixDance .7s ease-in-out infinite alternate}

.whiskie-dock{
  right:20px!important;
  top:48%!important;
  bottom:auto!important;
  transform:translateY(-50%);
}
.whiskie-bubble{
  width:112px!important;
  height:112px!important;
  overflow:visible!important;
  box-shadow:0 18px 42px #69456b50!important;
}
.whiskie-bubble img{
  border-radius:50%;
  background:linear-gradient(145deg,#ffe6f2,#eee4ff);
  overflow:hidden;
}
.whiskie-bubble-label{
  position:absolute;
  right:102px;
  top:34px;
  min-width:126px;
  padding:8px 11px;
  border-radius:999px;
  color:#623e64;
  background:#fff;
  border:1px solid #f1d7e6;
  box-shadow:0 10px 26px #6146632c;
  font-size:.76rem;
  font-weight:900;
  white-space:nowrap;
}
.whiskie-bubble-label:after{
  content:'';
  position:absolute;
  right:-7px;
  top:50%;
  width:12px;height:12px;
  background:#fff;
  border-top:1px solid #f1d7e6;
  border-right:1px solid #f1d7e6;
  transform:translateY(-50%) rotate(45deg);
}
.whiskie-panel{bottom:auto!important;top:50%!important;transform:translateY(-50%);right:128px!important}
#openWhiskie{position:relative;z-index:2}

.whiskie-modal{
  position:fixed;
  inset:0;
  z-index:140;
  display:grid;
  place-items:center;
  padding:18px;
  background:linear-gradient(135deg,#4d33566b,#b45e9c47);
  backdrop-filter:blur(10px);
}
.whiskie-modal-card{
  position:relative;
  width:min(520px,100%);
  overflow:hidden;
  border-radius:28px;
  border:2px solid #ffd0e6;
  background:
    radial-gradient(circle at 95% 0,#f2ddff 0 18%,transparent 19%),
    radial-gradient(circle at 0 100%,#ffe2ef 0 23%,transparent 24%),
    linear-gradient(145deg,#fffdfb,#fff3f9 58%,#f6efff);
  box-shadow:0 28px 80px #3d284a5f;
  padding:24px;
}
.whiskie-modal-sprinkles{
  position:absolute;
  right:24px;
  top:16px;
  letter-spacing:8px;
  opacity:.55;
  transform:rotate(-8deg);
}
.whiskie-modal-close{
  position:absolute;
  right:14px;
  top:14px;
  width:36px;height:36px;
  border:0;border-radius:50%;
  background:#fff;
  color:#744d75;
  font-weight:900;
}
.whiskie-modal-head{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:16px;
  align-items:center;
  margin-bottom:18px;
}
.whiskie-modal-head img{width:92px;height:116px;object-fit:contain;animation:chefFloat 3s ease-in-out infinite}
.whiskie-modal-head small{font-weight:900;color:var(--pink)}
.whiskie-modal-head h3{margin:2px 0 4px;font-size:1.5rem}
.whiskie-modal-head p{margin:0;color:#745f73}
.whiskie-modal-card label{display:grid;gap:7px;font-weight:900;color:#624563}
.whiskie-modal-card input,.whiskie-modal-card textarea{
  width:100%;
  border:2px solid #eed7e8;
  border-radius:16px;
  background:#fff;
  color:#4f3851;
  padding:13px 14px;
  font:inherit;
  outline:none;
}
.whiskie-modal-card input:focus,.whiskie-modal-card textarea:focus{border-color:var(--pink);box-shadow:0 0 0 4px #ff4fa31a}
.modal-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:12px}
.whiskie-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.modal-note-label textarea{resize:vertical;min-height:110px}

.cookie-thinking{min-height:66px!important}
.cookie-thinking small:after{content:'  🍫';display:inline-block;animation:crumbText 1.2s ease-in-out infinite}
.cookie-thinking{animation:cookieGlow 1.25s ease-in-out infinite}

.recipe-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.recipe-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #6f4b7022;border-color:#ffb6d7}
.recipe-card:hover .recipe-art{animation:gentlePop .7s ease}

@keyframes companionRoam{
  0%,100%{transform:translate(0,0) rotate(-2deg)}
  25%{transform:translate(8px,-8px) rotate(1deg)}
  55%{transform:translate(18px,0) rotate(3deg)}
  78%{transform:translate(6px,6px) rotate(-1deg)}
}
@keyframes sparkleBlink{0%,100%{opacity:.35;transform:scale(.8) rotate(-8deg)}50%{opacity:1;transform:scale(1.18) rotate(8deg)}}
@keyframes cookieGlow{50%{box-shadow:0 0 0 6px #ffcf8530}}
@keyframes crumbText{50%{transform:translateY(-2px) rotate(8deg)}}
@keyframes gentlePop{50%{transform:scale(1.06) rotate(2deg)}}

@media(max-width:900px){
  .whiskie-stage{left:12px!important;bottom:90px!important;width:170px!important}
  .whiskie-stage-character{width:90px;height:120px}
  .whiskie-stage-text{left:76px!important;bottom:42px!important;min-width:210px!important;max-width:48vw!important}
  .whiskie-dock{right:12px!important;top:53%!important}
  .whiskie-bubble{width:92px!important;height:92px!important}
  .whiskie-bubble-label{right:85px;top:28px;min-width:118px}
  .whiskie-panel{right:102px!important;width:min(410px,calc(100vw - 130px))!important}
}
@media(max-width:600px){
  .whiskie-stage{left:8px!important;bottom:86px!important;width:86px!important}
  .whiskie-stage-character{width:76px;height:100px}
  .whiskie-stage-text{display:block!important;left:62px!important;bottom:34px!important;min-width:185px!important;max-width:64vw!important;font-size:.78rem!important;padding:9px 11px!important}
  .whiskie-dock{right:8px!important;top:45%!important}
  .whiskie-bubble{width:76px!important;height:76px!important}
  .whiskie-bubble-label{right:68px;top:20px;min-width:108px;padding:7px 9px;font-size:.68rem}
  .whiskie-panel{
    position:fixed!important;
    left:10px!important;right:10px!important;top:auto!important;bottom:calc(76px + var(--safe-bottom))!important;
    width:auto!important;transform:none!important;max-height:72vh;
  }
  .whiskie-messages{height:240px}
  .modal-grid{grid-template-columns:1fr}
  .whiskie-modal-head{grid-template-columns:72px 1fr}.whiskie-modal-head img{width:72px;height:92px}
}


/* v1.3 recipe discovery additions */
.signature-recipe-banner{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:14px 0 18px;padding:14px 16px;border-radius:18px;
  background:linear-gradient(120deg,#fff4fa,#f7edff,#fff8df);
  border:1px solid rgba(255,79,163,.22);
  box-shadow:0 10px 28px rgba(106,55,111,.08);
}
.signature-recipe-banner span{font-size:.78rem;font-weight:800;color:#9a3d79;text-transform:uppercase;letter-spacing:.04em}
.signature-recipe-banner strong{font-size:1rem;color:#4b2a4d;flex:1 1 280px}
.signature-recipe-banner button{margin-left:auto}
@media(max-width:700px){
  .signature-recipe-banner{align-items:flex-start}
  .signature-recipe-banner button{margin-left:0;width:100%}
}


/* v1.4 — single companion, full-body staging, expressive rig, safe roaming */
.whiskie-stage{
  left:24px!important;
  top:clamp(124px,18vh,190px)!important;
  bottom:auto!important;
  width:330px!important;
  height:265px;
  z-index:76;
  transition:left 2.4s cubic-bezier(.22,.8,.24,1),top 2.4s cubic-bezier(.22,.8,.24,1),transform .45s ease!important;
  will-change:left,top;
}
.whiskie-stage-character{
  width:140px!important;
  height:245px!important;
  transform-origin:50% 82%;
  overflow:visible;
  animation:whiskieBreath 3.8s ease-in-out infinite!important;
}
.whiskie-stage-character .whiskie-body-img{
  position:absolute;inset:0;
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center!important;
  filter:drop-shadow(0 15px 22px #5b3c5d35);
  transform:none!important;
}
.whiskie-face-rig{position:absolute;inset:0;pointer-events:none;z-index:4}
.whiskie-lid{position:absolute;width:17%;height:5.2%;background:linear-gradient(#6c4b45,#2e2025);border-radius:60% 60% 40% 40%;opacity:0;transform:scaleY(.1);transform-origin:center;animation:whiskieBlink 5.2s infinite}
.whiskie-lid.lid-left{left:15%;top:28.2%;transform:rotate(-5deg) scaleY(.1)}
.whiskie-lid.lid-right{left:32.5%;top:25.4%;animation-delay:.04s;transform:rotate(6deg) scaleY(.1)}
.whiskie-mouth{position:absolute;left:25.7%;top:34.3%;width:16%;height:7.2%;border-radius:45% 45% 55% 55%;background:radial-gradient(ellipse at 50% 75%,#ff7c94 0 28%,#8d1730 30% 63%,#3a1020 65% 100%);opacity:0;transform:scale(.72,.38);transform-origin:50% 15%;filter:drop-shadow(0 1px 1px #0005)}
.whiskie-brow{position:absolute;width:12%;height:2.3%;background:#3c2527;border-radius:999px;opacity:.92;transform-origin:center}
.whiskie-brow.brow-left{left:14%;top:22.1%;transform:rotate(-20deg)}
.whiskie-brow.brow-right{left:34%;top:20.5%;transform:rotate(14deg)}
.whiskie-stage.talking .whiskie-mouth{opacity:.92;animation:whiskieTalkMouth .22s ease-in-out infinite alternate}
.whiskie-stage.talking .brow-left{animation:browTalkL .8s ease-in-out infinite alternate}
.whiskie-stage.talking .brow-right{animation:browTalkR .8s ease-in-out infinite alternate}
.whiskie-stage.thinking .brow-left{transform:rotate(-34deg) translateY(-2px)}
.whiskie-stage.thinking .brow-right{transform:rotate(28deg) translateY(-3px)}
.whiskie-stage.cheer .whiskie-stage-character{animation:whiskieCheerBody .58s ease-in-out 4!important}
.whiskie-stage.timer .whiskie-stage-character{animation:whiskieTimerBody .7s ease-in-out infinite alternate!important}
.whiskie-stage.mixing .whiskie-stage-character{animation:whiskieMixBody .58s ease-in-out infinite alternate!important}
.whiskie-stage.thinking .whiskie-stage-character{animation:whiskieThinkBody 1.1s ease-in-out infinite alternate!important}
.whiskie-arm-motion{position:absolute;right:2px;top:22%;width:46px;height:78px;border-radius:40px;pointer-events:none;z-index:5;transform-origin:25% 88%;opacity:.0}
.whiskie-stage.cheer .whiskie-arm-motion,.whiskie-stage.talking .whiskie-arm-motion{opacity:.7;background:radial-gradient(circle at 60% 16%,#fff 0 20%,transparent 22%),linear-gradient(112deg,transparent 0 42%,#82767d 44% 52%,transparent 54%);animation:armWave .48s ease-in-out infinite alternate}
.whiskie-tap-hint{position:absolute;left:96px;top:12px;background:#fff;border:1px solid #f0d4e5;color:#6b466d;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:900;white-space:nowrap;box-shadow:0 8px 22px #66466924;opacity:.88;animation:hintPulse 3.2s ease-in-out infinite}
.whiskie-stage-text{left:126px!important;bottom:72px!important;min-width:220px!important;max-width:320px!important}
.whiskie-stage.roaming .whiskie-stage-character{animation:whiskieWalkBob .55s ease-in-out infinite alternate!important}

/* remove the second Whiskie avatar: chat remains a clear control, not a duplicate character */
.whiskie-dock{right:18px!important;top:30%!important;bottom:auto!important;transform:none!important;z-index:82}
.whiskie-bubble.whiskie-chat-badge{width:62px!important;height:62px!important;border-radius:22px!important;overflow:visible!important;background:linear-gradient(145deg,#ff66ad,#9b5de5)!important;border:3px solid #fff!important;display:grid;place-items:center;padding:0!important;animation:chatBadgeFloat 3.2s ease-in-out infinite!important}
.whiskie-chat-icon{font-size:1.55rem;line-height:1;filter:drop-shadow(0 2px 2px #0002)}
.whiskie-bubble-label{right:54px!important;top:10px!important;min-width:128px!important}
.status-dot{right:-2px!important;bottom:-2px!important}
.whiskie-panel{right:76px!important;top:0!important;transform:none!important}

@keyframes whiskieBreath{0%,100%{transform:translateY(0) rotate(-1.2deg) scale(1)}50%{transform:translateY(-5px) rotate(1.2deg) scale(1.012)}}
@keyframes whiskieBlink{0%,42%,46%,100%{opacity:0;transform:scaleY(.08)}43%,45%{opacity:.96;transform:scaleY(1)}}
@keyframes whiskieTalkMouth{from{transform:scale(.78,.38)}to{transform:scale(1.04,1)}}
@keyframes browTalkL{from{transform:rotate(-20deg) translateY(0)}to{transform:rotate(-10deg) translateY(-2px)}}
@keyframes browTalkR{from{transform:rotate(14deg) translateY(0)}to{transform:rotate(22deg) translateY(-2px)}}
@keyframes armWave{from{transform:rotate(-16deg) translateY(2px)}to{transform:rotate(18deg) translateY(-8px)}}
@keyframes whiskieCheerBody{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}50%{transform:translateY(-14px) rotate(4deg) scale(1.045)}}
@keyframes whiskieTimerBody{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(2deg) translateY(-6px)}}
@keyframes whiskieMixBody{from{transform:translateX(-5px) rotate(-4deg)}to{transform:translateX(5px) rotate(4deg)}}
@keyframes whiskieThinkBody{from{transform:rotate(-3deg) translateY(0)}to{transform:rotate(3deg) translateY(-7px)}}
@keyframes whiskieWalkBob{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-8px) rotate(2deg)}}
@keyframes chatBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hintPulse{0%,100%{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1.03)}}

@media(max-width:900px){
  .whiskie-stage{left:12px!important;top:116px!important;bottom:auto!important;width:240px!important;height:220px}
  .whiskie-stage-character{width:112px!important;height:196px!important}
  .whiskie-stage-text{left:104px!important;bottom:58px!important;min-width:190px!important;max-width:42vw!important}
  .whiskie-tap-hint{left:82px;top:8px}
  .whiskie-dock{right:10px!important;top:28%!important}
  .whiskie-panel{right:70px!important;width:min(410px,calc(100vw - 100px))!important}
}
@media(max-width:600px){
  .whiskie-stage{left:8px!important;top:100px!important;width:190px!important;height:185px}
  .whiskie-stage-character{width:92px!important;height:161px!important}
  .whiskie-stage-text{display:block!important;left:86px!important;bottom:48px!important;min-width:175px!important;max-width:60vw!important;font-size:.75rem!important;padding:8px 10px!important}
  .whiskie-tap-hint{left:68px;top:4px;font-size:.61rem;padding:5px 7px}
  .whiskie-dock{right:8px!important;top:24%!important}
  .whiskie-bubble.whiskie-chat-badge{width:54px!important;height:54px!important;border-radius:18px!important}
  .whiskie-bubble-label{right:46px!important;top:8px!important;min-width:112px!important;font-size:.66rem!important}
  .whiskie-panel{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:calc(76px + var(--safe-bottom))!important;width:auto!important;transform:none!important}
}
@media(prefers-reduced-motion:reduce){.whiskie-stage-character,.whiskie-bubble,.whiskie-tap-hint{animation:none!important}.whiskie-stage{transition:none!important}}

/* v1.5 — true articulated SVG Whiskie rig; no face overlays, no cropped static sticker */
.whiskie-stage{
  left:34px!important;
  top:clamp(118px,16vh,172px)!important;
  width:360px!important;
  height:318px!important;
  overflow:visible!important;
}
.whiskie-stage-character{
  width:178px!important;
  height:300px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  transform-origin:50% 86%;
  animation:none!important;
}
.whiskie-svg{display:block;width:178px;height:300px;overflow:visible;filter:drop-shadow(0 14px 20px #6b4d6d28)}
.whiskie-body{transform-origin:92px 205px;animation:whiskieSvgBreath 3.8s ease-in-out infinite}
.whiskie-whisk-head{transform-origin:92px 94px}
.whiskie-eye{transform-box:fill-box;transform-origin:center;animation:whiskieSvgBlink 5.4s infinite}
.whiskie-eye.eye-right{animation-delay:.05s}
.whiskie-eye .pupil{animation:whiskiePupilLook 6.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.whiskie-mouth{transform-box:fill-box;transform-origin:50% 20%}
.whiskie-brow{transform-box:fill-box;transform-origin:center}
.whiskie-arm,.whiskie-leg{transform-box:fill-box}
.whiskie-arm.arm-left{transform-origin:90% 10%}
.whiskie-arm.arm-right{transform-origin:10% 10%}
.whiskie-leg.leg-left,.whiskie-leg.leg-right{transform-origin:50% 0}
.whiskie-sparkle-field{font-size:15px;animation:sparkleBlink 1.8s ease-in-out infinite}
.whiskie-stage.talking .whiskie-mouth{animation:whiskieSvgTalk .24s ease-in-out infinite alternate}
.whiskie-stage.talking .whiskie-whisk-head{animation:whiskieHeadNod .52s ease-in-out infinite alternate}
.whiskie-stage.talking .arm-left{animation:whiskieTalkHand .7s ease-in-out infinite alternate}
.whiskie-stage.cheer .whiskie-body{animation:whiskieSvgCheer .6s ease-in-out 4}
.whiskie-stage.cheer .arm-left{animation:whiskieWaveLeft .42s ease-in-out infinite alternate}
.whiskie-stage.cheer .arm-right{animation:whiskieWaveRight .46s ease-in-out infinite alternate}
.whiskie-stage.thinking .whiskie-whisk-head{animation:whiskieThinkHead 1.1s ease-in-out infinite alternate}
.whiskie-stage.thinking .brow-left{animation:whiskieThinkBrowL 1.1s ease-in-out infinite alternate}
.whiskie-stage.thinking .brow-right{animation:whiskieThinkBrowR 1.1s ease-in-out infinite alternate}
.whiskie-stage.timer .arm-right{animation:whiskieTimerArm .7s ease-in-out infinite alternate}
.whiskie-stage.mixing .arm-left{animation:whiskieMixLeft .48s ease-in-out infinite alternate}
.whiskie-stage.mixing .arm-right{animation:whiskieMixRight .48s ease-in-out infinite alternate}
.whiskie-stage.roaming .leg-left{animation:whiskieStepLeft .44s ease-in-out infinite alternate}
.whiskie-stage.roaming .leg-right{animation:whiskieStepRight .44s ease-in-out infinite alternate}
.whiskie-stage.roaming .whiskie-body{animation:whiskieWalkBody .44s ease-in-out infinite alternate}
.whiskie-stage-text{left:154px!important;bottom:104px!important;min-width:225px!important;max-width:330px!important}
.whiskie-tap-hint{left:128px!important;top:18px!important}
@keyframes whiskieSvgBreath{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-4px) rotate(.7deg)}}
@keyframes whiskieSvgBlink{0%,43%,46%,100%{transform:scaleY(1)}44%,45%{transform:scaleY(.08)}}
@keyframes whiskiePupilLook{0%,18%,100%{transform:translateX(0)}35%,48%{transform:translateX(2px)}62%,78%{transform:translateX(-2px)}}
@keyframes whiskieSvgTalk{from{transform:scaleY(.72) scaleX(.94)}to{transform:scaleY(1.18) scaleX(1.04)}}
@keyframes whiskieHeadNod{from{transform:rotate(-1deg) translateY(0)}to{transform:rotate(2deg) translateY(2px)}}
@keyframes whiskieTalkHand{from{transform:rotate(-5deg)}to{transform:rotate(9deg)}}
@keyframes whiskieSvgCheer{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes whiskieWaveLeft{from{transform:rotate(-8deg)}to{transform:rotate(24deg)}}
@keyframes whiskieWaveRight{from{transform:rotate(6deg)}to{transform:rotate(-18deg)}}
@keyframes whiskieThinkHead{from{transform:rotate(-4deg)}to{transform:rotate(3deg)}}
@keyframes whiskieThinkBrowL{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(-10deg) translateY(-2px)}}
@keyframes whiskieThinkBrowR{from{transform:rotate(1deg) translateY(0)}to{transform:rotate(9deg) translateY(-2px)}}
@keyframes whiskieTimerArm{from{transform:rotate(0)}to{transform:rotate(-12deg)}}
@keyframes whiskieMixLeft{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}
@keyframes whiskieMixRight{from{transform:rotate(10deg)}to{transform:rotate(-10deg)}}
@keyframes whiskieStepLeft{from{transform:rotate(8deg)}to{transform:rotate(-8deg)}}
@keyframes whiskieStepRight{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
@keyframes whiskieWalkBody{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:900px){
  .whiskie-stage{left:24px!important;top:112px!important;width:300px!important;height:270px!important}
  .whiskie-stage-character,.whiskie-svg{width:150px!important;height:252px!important}
  .whiskie-stage-text{left:128px!important;bottom:88px!important;min-width:200px!important;max-width:42vw!important}
  .whiskie-tap-hint{left:104px!important;top:14px!important}
}
@media(max-width:600px){
  .whiskie-stage{left:18px!important;top:96px!important;width:240px!important;height:230px!important}
  .whiskie-stage-character,.whiskie-svg{width:126px!important;height:212px!important}
  .whiskie-stage-text{left:105px!important;bottom:74px!important;min-width:180px!important;max-width:62vw!important}
  .whiskie-tap-hint{left:87px!important;top:10px!important}
}

/* v1.6 — preserve original Whiskie artwork; one-piece animation only. No detachable SVG limbs. */
.whiskie-stage{
  left:34px!important;
  top:clamp(112px,15vh,162px)!important;
  width:300px!important;
  height:330px!important;
  overflow:visible!important;
}
.whiskie-stage-character{
  position:relative!important;
  width:152px!important;
  height:292px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  transform-origin:50% 88%!important;
  animation:whiskieWholeIdle 3.4s ease-in-out infinite!important;
}
.whiskie-original-character{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
  filter:drop-shadow(0 15px 22px #5b3c5d35);
  transform:translateZ(0);
}
/* Completely neutralize obsolete articulated-rig selectors if an old cached DOM appears briefly. */
.whiskie-svg,.whiskie-arm-motion,.whiskie-face-rig{display:none!important}
.whiskie-stage.roaming .whiskie-stage-character{animation:whiskieWholeWalk .62s ease-in-out infinite alternate!important}
.whiskie-stage.talking .whiskie-stage-character{animation:whiskieWholeTalk .38s ease-in-out infinite alternate!important}
.whiskie-stage.cheer .whiskie-stage-character{animation:whiskieWholeCheer .52s ease-in-out 4!important}
.whiskie-stage.thinking .whiskie-stage-character{animation:whiskieWholeThink 1s ease-in-out infinite alternate!important}
.whiskie-stage.timer .whiskie-stage-character{animation:whiskieWholeTimer .72s ease-in-out infinite alternate!important}
.whiskie-stage.mixing .whiskie-stage-character{animation:whiskieWholeMix .6s ease-in-out infinite alternate!important}
@keyframes whiskieWholeIdle{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-7px) rotate(.8deg)}}
@keyframes whiskieWholeWalk{0%{transform:translateY(0) rotate(-2deg) scaleX(.99)}100%{transform:translateY(-8px) rotate(2deg) scaleX(1.01)}}
@keyframes whiskieWholeTalk{0%{transform:translateY(0) rotate(-1deg) scale(1)}100%{transform:translateY(-4px) rotate(1deg) scale(1.015)}}
@keyframes whiskieWholeCheer{0%,100%{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-16px) rotate(3deg) scale(1.04)}}
@keyframes whiskieWholeThink{0%{transform:translateY(0) rotate(-2deg)}100%{transform:translateY(-4px) rotate(2deg)}}
@keyframes whiskieWholeTimer{0%{transform:translateY(0) rotate(-1deg)}100%{transform:translateY(-5px) rotate(1deg)}}
@keyframes whiskieWholeMix{0%{transform:translateY(0) rotate(-3deg)}100%{transform:translateY(-7px) rotate(3deg)}}
@media(max-width:900px){
  .whiskie-stage{left:22px!important;top:110px!important;width:260px!important;height:292px!important}
  .whiskie-stage-character{width:132px!important;height:254px!important}
}
@media(max-width:600px){
  .whiskie-stage{left:14px!important;top:94px!important;width:220px!important;height:250px!important}
  .whiskie-stage-character{width:112px!important;height:216px!important}
}

/* v1.7 companion correction — full original Whiskie asset, safe viewport docking, grounded whole-body motion. */
.whiskie-stage{
  left:30px!important;
  top:clamp(112px,14.5vh,156px)!important;
  width:370px!important;
  height:390px!important;
  overflow:visible!important;
  pointer-events:none;
  transition:left 2.55s cubic-bezier(.2,.78,.22,1),top 2.55s cubic-bezier(.2,.78,.22,1)!important;
}
.whiskie-stage-character{
  pointer-events:auto;
  width:168px!important;
  height:300px!important;
  display:block!important;
  overflow:visible!important;
  transform-origin:50% 86%!important;
  filter:none!important;
  will-change:transform;
}
.whiskie-original-character{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  overflow:visible!important;
  filter:drop-shadow(0 15px 18px rgba(83,46,86,.24));
}
.whiskie-stage-character::after{
  content:"";
  position:absolute;
  left:31%;
  bottom:4px;
  width:46%;
  height:12px;
  border-radius:50%;
  background:rgba(89,55,92,.14);
  filter:blur(6px);
  transform:scaleX(1);
  transform-origin:center;
  z-index:-1;
  animation:whiskieGroundShadow 3.4s ease-in-out infinite;
}
.whiskie-stage-text{
  left:154px!important;
  bottom:106px!important;
  min-width:220px!important;
  max-width:330px!important;
}
.whiskie-tap-hint{left:137px!important;top:28px!important;}
.whiskie-stage.roaming .whiskie-stage-character{animation:whiskieWholeTravel .66s ease-in-out infinite alternate!important}
.whiskie-stage.talking .whiskie-stage-character{animation:whiskieWholeTalkNatural .48s ease-in-out infinite alternate!important}
.whiskie-stage.cheer .whiskie-stage-character{animation:whiskieWholeCheerNatural .58s cubic-bezier(.25,.9,.3,1.2) 4!important}
.whiskie-stage.thinking .whiskie-stage-character{animation:whiskieWholeThinkNatural 1.15s ease-in-out infinite alternate!important}
.whiskie-stage.timer .whiskie-stage-character{animation:whiskieWholeTimerNatural .78s ease-in-out infinite alternate!important}
.whiskie-stage.mixing .whiskie-stage-character{animation:whiskieWholeMixNatural .64s ease-in-out infinite alternate!important}
@keyframes whiskieWholeIdle{0%,100%{transform:translate3d(0,0,0) rotate(-.5deg)}35%{transform:translate3d(3px,-7px,0) rotate(.8deg)}70%{transform:translate3d(-2px,-3px,0) rotate(-.2deg)}}
@keyframes whiskieWholeTravel{0%{transform:translate3d(-2px,1px,0) rotate(-1.8deg) scale(.995)}100%{transform:translate3d(4px,-8px,0) rotate(1.8deg) scale(1.006)}}
@keyframes whiskieWholeTalkNatural{0%{transform:translate3d(0,0,0) rotate(-.7deg) scale(1)}100%{transform:translate3d(2px,-4px,0) rotate(.7deg) scale(1.012)}}
@keyframes whiskieWholeCheerNatural{0%,100%{transform:translate3d(0,0,0) rotate(0) scale(1)}45%{transform:translate3d(3px,-15px,0) rotate(2.4deg) scale(1.035)}70%{transform:translate3d(-1px,-7px,0) rotate(-1deg) scale(1.015)}}
@keyframes whiskieWholeThinkNatural{0%{transform:translate3d(-2px,0,0) rotate(-1.7deg)}100%{transform:translate3d(3px,-5px,0) rotate(1.8deg)}}
@keyframes whiskieWholeTimerNatural{0%{transform:translate3d(-1px,0,0) rotate(-.8deg)}100%{transform:translate3d(3px,-6px,0) rotate(1deg)}}
@keyframes whiskieWholeMixNatural{0%{transform:translate3d(-4px,0,0) rotate(-2.2deg)}100%{transform:translate3d(5px,-6px,0) rotate(2.3deg)}}
@keyframes whiskieGroundShadow{0%,100%{transform:scaleX(1);opacity:.75}50%{transform:scaleX(.78);opacity:.48}}
@media(max-width:900px){
  .whiskie-stage{left:24px!important;top:108px!important;width:315px!important;height:342px!important}
  .whiskie-stage-character{width:145px!important;height:270px!important}
  .whiskie-stage-text{left:133px!important;bottom:92px!important;min-width:205px!important;max-width:42vw!important}
  .whiskie-tap-hint{left:117px!important;top:25px!important}
}
@media(max-width:600px){
  .whiskie-stage{left:16px!important;top:96px!important;width:255px!important;height:290px!important}
  .whiskie-stage-character{width:122px!important;height:228px!important}
  .whiskie-stage-text{left:111px!important;bottom:72px!important;min-width:176px!important;max-width:62vw!important}
  .whiskie-tap-hint{left:96px!important;top:20px!important}
}
