/* Public placement: WELCOMEの直下。既存レイアウトを維持し、ゲームは次段で全幅表示。 */
.stickerbook-info-board{
  grid-template-areas:
    "welcome weather news"
    "aquarium aquarium aquarium";
  align-items:start;
}
.stickerbook-guide-window{grid-area:welcome}
.stickerbook-weather-window{grid-area:weather}
.stickerbook-news-wrap{grid-area:news}
.stickerbook-aquarium-window{
  grid-area:aquarium;
  min-width:0;
  overflow:hidden;
  border:3px solid #8fa8d8;
  color:#655fa1;
  background:rgba(253,254,255,.97);
  box-shadow:6px 6px 0 rgba(132,151,203,.18),inset 0 0 0 2px rgba(235,244,255,.95);
}
.stickerbook-aquarium-window>header{
  height:34px;display:flex;align-items:center;justify-content:space-between;
  padding:0 10px 0 12px;border-bottom:2px solid #91a9d8;color:#fff;
  background:linear-gradient(90deg,#8da8dc,#aaa0df 58%,#e6accd);
  text-shadow:1px 1px #746fba;letter-spacing:.1em;
  font-family:"DotGothic16","MS Gothic",monospace;
}
.stickerbook-aquarium-window>header strong{font-size:12px}
.stickerbook-aquarium-window>header span{font-size:10px;letter-spacing:.18em}
.stickerbook-aquarium-body{padding:12px;background:rgba(255,255,255,.94)}
@media(max-width:760px){
  .stickerbook-info-board{
    grid-template-areas:"welcome" "aquarium" "weather" "news";
  }
  .stickerbook-aquarium-window{border-width:2px;box-shadow:4px 4px 0 rgba(132,151,203,.16),inset 0 0 0 1px rgba(235,244,255,.95)}
  .stickerbook-aquarium-window>header{height:30px;border-bottom-width:2px;padding-inline:9px}
  .stickerbook-aquarium-window>header strong{font-size:11px}
  .stickerbook-aquarium-body{padding:8px}
}

/* TOPページ：押すな！金魚水槽 */
.aquarium-mini-game{max-width:590px;margin:0 auto;padding:10px;border:1px dashed #b8cceb;background:linear-gradient(#f7fbff,#fff9fc);overflow:hidden}
.aquarium-game-stage{position:relative;height:480px;overflow:hidden;border:1px solid #d8e2f2;background:linear-gradient(180deg,#fbfdff 0%,#f7fbff 64%,#f1edf5 64%,#f1edf5 100%);isolation:isolate}
.aquarium-tank-wrap{position:absolute;z-index:2;top:16px;left:50%;width:min(70%,380px);transform:translateX(-50%)}
.aquarium-tank-image{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;pointer-events:none}
.aquarium-fish-layer{position:absolute;z-index:3;left:13%;top:25%;width:72%;height:45%;overflow:hidden;pointer-events:none}
.aquarium-fish{position:absolute;left:0;top:0;width:28%;height:auto;transform-origin:center;filter:saturate(.98);user-select:none;-webkit-user-drag:none;will-change:transform}
.aquarium-fish-speech{position:absolute;z-index:12;left:50%;top:120px;width:max-content;max-width:min(78%,240px);padding:7px 11px;border:1px solid #d8c9eb;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 3px 10px rgba(115,99,146,.22);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"MS PMincho",serif;font-size:13px;font-weight:600;line-height:1.5;color:#655b7e;text-align:center;white-space:normal;overflow-wrap:anywhere;word-break:normal;transform:translate(-50%,-100%) scale(.9);opacity:0;pointer-events:none}
.aquarium-fish-speech::after{content:'';position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:rgba(255,255,255,.96);border-right:1px solid #ddd0ef;border-bottom:1px solid #ddd0ef;transform:translateX(-50%) rotate(45deg)}
.aquarium-fish-speech.is-visible{opacity:1;transform:translate(-50%,-100%) scale(1);transition:opacity .14s ease,transform .14s ease}
.aquarium-splash{position:absolute;z-index:5;left:50%;top:118px;width:min(88%,500px);height:auto;transform:translate(-50%,-8%) scale(.35);opacity:0;pointer-events:none;user-select:none;-webkit-user-drag:none}
.aquarium-mini-game.is-breaking .aquarium-splash{animation:aquariumSplash 1.05s cubic-bezier(.15,.7,.18,1) both}
@keyframes aquariumSplash{0%{opacity:0;transform:translate(-50%,-18%) scale(.2)}18%{opacity:.95}60%{opacity:.9;transform:translate(-50%,8%) scale(.88)}100%{opacity:0;transform:translate(-50%,34%) scale(1.14)}}
.aquarium-fallout{position:absolute;z-index:6;inset:0;pointer-events:none}
.aquarium-falling-fish{position:absolute;left:50%;top:160px;width:92px;height:auto;opacity:0;user-select:none;-webkit-user-drag:none}
.aquarium-mini-game.is-breaking .aquarium-falling-fish{animation:aquariumFishFall 1.12s cubic-bezier(.23,.72,.29,1) both;animation-delay:var(--delay,0s)}
@keyframes aquariumFishFall{0%{opacity:0;transform:translate(-50%,-10px) rotate(0deg) scale(.78)}10%{opacity:1}100%{opacity:1;transform:translate(calc(-50% + var(--tx)),var(--ty)) rotate(var(--rot)) scale(.72)}}
.aquarium-dead-layer{position:absolute;z-index:7;left:0;right:0;bottom:12px;height:120px;pointer-events:none}
.aquarium-dead-fish{position:absolute;left:0;bottom:0;width:clamp(108px,26%,148px);padding:0;border:0;background:transparent;opacity:0;transform:translateY(14px) rotate(var(--dead-rot,0deg));transition:opacity .28s ease,transform .28s ease;pointer-events:none;cursor:pointer}
.aquarium-dead-fish img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 4px 3px rgba(94,89,117,.12));transform:scaleX(var(--fish-flip,1))}
.aquarium-mini-game.has-dead-fish .aquarium-dead-fish{opacity:1;transform:translateY(0) rotate(var(--dead-rot,0deg));pointer-events:auto}
.aquarium-dead-fish:focus-visible{outline:2px solid #8e79c8;outline-offset:3px;border-radius:8px}
.aquarium-dead-fish.is-jump{animation:aquariumDeadFishJump .42s cubic-bezier(.2,.8,.2,1) 1}
@keyframes aquariumDeadFishJump{0%{transform:translateY(0) rotate(var(--dead-rot,0deg)) scale(1)}18%{transform:translateY(-5px) rotate(calc(var(--dead-rot,0deg) - 3deg)) scale(1.03)}42%{transform:translateY(-20px) rotate(calc(var(--dead-rot,0deg) + 4deg)) scale(1.06)}68%{transform:translateY(-4px) rotate(calc(var(--dead-rot,0deg) - 1deg)) scale(1.01)}100%{transform:translateY(0) rotate(var(--dead-rot,0deg)) scale(1)}}
.aquarium-controls{display:grid;justify-items:center;gap:4px;padding-top:9px}
.aquarium-warning-note{margin:0 0 2px;color:#9a7d8d;font-size:11px;line-height:1.55;text-align:center}
.aquarium-button-warning-wrap{position:relative;display:flex;flex-direction:column;align-items:center;width:min(96%,560px);margin-top:0;gap:2px}
.aquarium-warning-tape{position:relative;z-index:0;order:2;display:block;width:100%;height:auto;margin-top:-2px;transform:rotate(-1deg);pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 2px rgba(92,77,53,.10))}
.aquarium-push-button{position:relative;z-index:1;width:152px;height:118px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 4px 3px rgba(95,82,120,.18));touch-action:manipulation}
.aquarium-push-button img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.aquarium-push-button span{position:absolute;left:50%;top:28%;transform:translate(-50%,-50%);font-weight:700;font-size:15px;color:#fff;text-shadow:0 1px 2px rgba(100,35,43,.55);white-space:nowrap;pointer-events:none}
.aquarium-push-button:active:not(:disabled){transform:translateY(3px) scale(.985)}
.aquarium-push-button:disabled{cursor:default;filter:grayscale(.1) drop-shadow(0 2px 2px rgba(95,82,120,.1))}
.aquarium-counter{display:none;margin:0;color:#8b88a0;font-size:11px;letter-spacing:.04em}
.aquarium-game-message{min-height:54px;margin:9px auto 0;padding:8px 10px;max-width:360px;text-align:center;white-space:pre-line;line-height:1.65;font-size:13px;color:#645d7d;border:1px dotted transparent;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"MS PMincho",serif;}
.aquarium-game-message.is-result{border-color:#c7bedb;background:#fff;color:#4e4962}
.aquarium-game-message .dead-end{display:block;margin-top:7px;font-weight:700;letter-spacing:.18em;color:#6b5f80}

.aquarium-dream-link{display:none;width:max-content;margin:2px auto 10px;padding:5px 10px;color:#77708e;text-decoration:none;font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;font-size:13px;letter-spacing:.06em;opacity:0;transform:translateY(4px);transition:opacity .6s ease,transform .6s ease}
.aquarium-dream-link::after{content:' 〉';font-size:.9em;opacity:.65}
.aquarium-dream-link:hover,.aquarium-dream-link:focus-visible{color:#554b70;text-decoration:underline;text-underline-offset:3px}
.aquarium-mini-game.has-dream-link .aquarium-dream-link{display:block;opacity:1;transform:translateY(0)}
.aquarium-reset{display:none;margin:8px auto 0;min-height:38px;padding:6px 14px;border:1px solid #9cadcf;background:#f5f8ff;color:#655d88;font:inherit;cursor:pointer}
.aquarium-mini-game.is-ended .aquarium-reset{display:block}
.aquarium-mini-game.is-warning .aquarium-tank-wrap{animation:aquariumTankNudge .14s linear 1}
@keyframes aquariumTankNudge{0%,100%{transform:translateX(-50%)}25%{transform:translateX(calc(-50% - 3px))}75%{transform:translateX(calc(-50% + 3px))}}
@media(max-width:600px){
  .aquarium-button-warning-wrap{width:100%;min-height:122px}
  .aquarium-warning-tape{width:104%;margin-top:-2px}
  .aquarium-mini-game{padding:7px}
  .aquarium-game-stage{height:390px}
  .aquarium-tank-wrap{top:10px;width:min(86%,340px)}
  .aquarium-fish-speech{top:102px;max-width:min(76%,210px);font-size:12px;line-height:1.5}
  .aquarium-splash{top:95px;width:96%}
  .aquarium-falling-fish{top:132px;width:74px}
  .aquarium-dead-layer{bottom:9px;height:102px}
  .aquarium-dead-fish{width:clamp(104px,27%,132px)}
  .aquarium-push-button{width:138px;height:108px}
  .aquarium-push-button span{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .aquarium-mini-game *{scroll-behavior:auto!important}
  .aquarium-splash,.aquarium-falling-fish,.aquarium-tank-wrap{animation-duration:.01ms!important;animation-delay:0ms!important}
  .aquarium-dead-fish{transition:none}
}

/* Physical button art: swap to the recessed state while pressed. */
.aquarium-push-button{
  width:168px;
  height:134px;
  overflow:visible;
  filter:drop-shadow(0 4px 3px rgba(95,82,120,.15));
  transform-origin:center bottom;
}
.aquarium-push-button img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  transition:opacity .035s linear,transform .055s ease;
}
.aquarium-push-button .aquarium-push-button-up{opacity:1}
.aquarium-push-button .aquarium-push-button-down{opacity:0}
.aquarium-push-button:is(:active,.is-pressed):not(:disabled){
  transform:translateY(2px) scale(.992);
}
.aquarium-push-button:is(:active,.is-pressed):not(:disabled) .aquarium-push-button-up{opacity:0}
.aquarium-push-button:is(:active,.is-pressed):not(:disabled) .aquarium-push-button-down{opacity:1}
@media(max-width:600px){
  .aquarium-push-button{width:150px;height:120px}
}


/* v573: phone only — keep the whole goldfish game inside one smartphone screen.
   Desktop/tablet layout and game logic are intentionally unchanged. */
@media(max-width:600px){
  .stickerbook-aquarium-body{padding:5px}
  .aquarium-mini-game{padding:5px}
  .aquarium-game-stage{height:clamp(210px,34svh,235px)}
  .aquarium-tank-wrap{top:5px;width:min(68%,225px)}
  .aquarium-fish-speech{max-width:min(74%,190px);padding:5px 9px;font-size:11px;line-height:1.35}
  .aquarium-splash{top:66px;width:88%}
  .aquarium-falling-fish{top:84px;width:54px}
  .aquarium-dead-layer{bottom:5px;height:68px}
  .aquarium-dead-fish{width:clamp(76px,24%,96px)}

  .aquarium-controls{gap:1px;padding-top:4px}
  .aquarium-warning-note{margin:0;font-size:9px;line-height:1.3}
  .aquarium-button-warning-wrap{width:100%;min-height:0;gap:0}
  .aquarium-push-button{width:106px;height:85px}
  .aquarium-warning-tape{width:86%;margin-top:-13px}

  .aquarium-game-message{min-height:0;margin:4px auto 0;padding:5px 8px;font-size:11px;line-height:1.4}
  .aquarium-game-message:empty{display:none}
  .aquarium-dream-link{margin:1px auto 4px;padding:3px 8px;font-size:11px}
  .aquarium-reset{margin:4px auto 0;min-height:30px;padding:4px 10px;font-size:11px}

  .aquarium-falling-fish:nth-child(1){--tx:-88px!important;--ty:112px!important}
  .aquarium-falling-fish:nth-child(2){--tx:4px!important;--ty:120px!important}
  .aquarium-falling-fish:nth-child(3){--tx:88px!important;--ty:108px!important}
}
