:root{
  --pink:#ff0000;
  --hotpink:#ff0000;
  --red:#ff0000;
  --blue:#0000ee;
  --green:#008000;
  --purple:#800080;
  --yellow:#ffff00;
  --ink:#111;
}
*{box-sizing:border-box}
html{
  min-height:100%;
  background:
    repeating-linear-gradient(45deg, rgba(255,0,0,.08) 0 1px, transparent 1px 9px),
    #fff;
}
body{
  margin:0;
  color:var(--ink);
  background:transparent;
  font-family:"MS PGothic","Osaka","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-size:13px;
  line-height:1.5;
  -webkit-text-size-adjust:100%;
}
a{color:var(--blue);text-decoration:underline}
a:visited{color:var(--purple)}
a:hover{color:var(--red)}
img{max-width:100%;height:auto}
.site{
  width:min(100%,390px);
  min-height:100vh;
  margin:0 auto;
  padding:0 7px 24px;
  background:#fff;
  border-left:4px ridge #ff0000;
  border-right:4px ridge #ff0000;
  overflow:hidden;
}
.ticker{
  display:block;
  width:calc(100% + 14px);
  margin-left:-7px;
  white-space:nowrap;
  font-weight:bold;
  font-size:12px;
}
.ticker-black{
  padding:4px 0;
  color:#fff;
  background:#000;
  border-top:3px double #ff0000;
  border-bottom:3px double #ff0000;
  text-shadow:0 0 5px #fff,0 0 8px #ff0000;
}
.ticker-yellow{
  margin-top:7px;
  margin-bottom:7px;
  padding:5px 0;
  color:#ff0000;
  background:#ffff00;
  border-top:2px solid #ff0000;
  border-bottom:2px solid #ff0000;
}
.ticker-yellow a,.ticker-yellow a:visited{color:#ff0000;font-weight:900}
.logo{display:block;width:min(74%,240px);margin:10px auto 6px}
.flash-stars{
  height:18px;
  overflow:hidden;
  color:#ff0000;
  text-align:center;
  font-size:12px;
  letter-spacing:2px;
  white-space:nowrap;
  animation:flashColor .75s steps(1,end) infinite;
}
.flash-stars.reverse{animation-direction:reverse}
@keyframes flashColor{
  0%{color:#ff0000;text-shadow:0 0 3px #ffff00}
  25%{color:#0000ff;text-shadow:0 0 3px #00ffff}
  50%{color:#ff00a8;text-shadow:0 0 5px #ff00a8}
  75%{color:#008000;text-shadow:0 0 3px #ffff00}
}
.shopcopy-box{
  margin:5px auto 8px;
  padding:9px 12px 10px;
  text-align:center;
  background:#fff;
  border:3px solid #ff0000;
  outline:2px dotted #111;
  outline-offset:-7px;
  border-radius:18px;
  box-shadow:3px 3px 0 #ffff00;
}
.shopcopy-box small{
  display:block;
  margin-bottom:2px;
  color:#111;
  font-size:12px;
  font-weight:bold;
  letter-spacing:.08em;
}
.shopcopy-box strong{
  display:block;
  color:#e00000;
  font-size:16px;
  line-height:1.25;
  text-shadow:1px 1px 0 #fff,0 0 5px #ffff00;
  animation:flashColor 1.2s steps(1,end) infinite;
}
.counter-kiriban-box{
  margin:10px auto 9px;
  padding:6px 7px 7px;
  background:#fff;
  border:4px ridge #ff0000;
  box-shadow:3px 3px 0 #111;
  text-align:center;
}
.counter{margin:0 0 3px;text-align:center;font-size:12px}
.counter-image{display:inline-block;max-width:145px;min-height:18px;margin:0 3px;vertical-align:middle}
.counter-fallback{display:inline-block;min-width:78px;padding:1px 5px;color:#00ff33;background:#000;border:2px inset #aaa;font-family:"Courier New",monospace;font-size:14px;letter-spacing:2px;vertical-align:middle}
.counter-fallback[hidden]{display:none !important}
.store-photo-wrap{
  margin:10px auto 11px;
  width:min(88%, 320px);
  padding:0;
  background:transparent;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0;
  line-height:0;
}
.store-photo{
  display:block;
  width:100%;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0;
}
.kiriban-note{
  margin:0;
  color:#e00000;
  text-align:center;
  font-size:12px;
  line-height:1.35;
  font-weight:bold;
  text-shadow:1px 1px 0 #fff,0 0 4px #ffff00;
}
.blink-divider{margin:5px 0 4px;color:#ff0000;text-align:center;font-size:11px;animation:blink .65s steps(1,end) infinite}
@keyframes blink{50%{opacity:0}}
.retro-links{text-align:center;margin:2px 0 8px}
.retro-links a{display:block;width:max-content;max-width:100%;margin:0 auto;padding:4px 0;font-weight:bold;font-size:14px;line-height:1.35;text-shadow:1px 1px 0 #fff}
.retro-links a{animation:linkGlow 1.8s ease-in-out infinite alternate}
.retro-links a:nth-child(even){animation-delay:.45s}
.retro-links small{display:inline-block;margin-left:3px;color:#ff0000;font-size:9px;text-decoration:none;animation:blink .9s steps(1,end) infinite}
.retro-links .blue{color:#0000ee}.retro-links .pink{color:#d40079}.retro-links .green{color:#008000}.retro-links .purple{color:#800080}.retro-links .red{color:#e00000}
@keyframes linkGlow{from{text-shadow:1px 1px 0 #fff,0 0 0 transparent}to{text-shadow:1px 1px 0 #fff,0 0 4px currentColor}}
.rainbow-rule{height:5px;margin:6px -7px 4px;background:linear-gradient(90deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);background-size:200% 100%;animation:rainbowMove 1.5s linear infinite}
@keyframes rainbowMove{to{background-position:200% 0}}
.koala-stage{position:relative;height:142px;margin:3px 0 0;overflow:hidden}
.koala{display:block;width:122px}
.koala-run{position:absolute;left:0;bottom:0;animation:koalaRun 7.2s linear infinite;will-change:left,transform}
@keyframes koalaRun{
  0%{left:-5px;transform:translateY(0) scaleX(1) rotate(0deg)}
  8%{transform:translateY(-5px) scaleX(1) rotate(-2deg)}
  16%{transform:translateY(0) scaleX(1) rotate(2deg)}
  24%{transform:translateY(-5px) scaleX(1) rotate(-2deg)}
  32%{transform:translateY(0) scaleX(1) rotate(2deg)}
  48%{left:calc(100% - 117px);transform:translateY(-3px) scaleX(1) rotate(0deg)}
  49.9%{left:calc(100% - 117px);transform:translateY(0) scaleX(1)}
  50%{left:calc(100% - 117px);transform:translateY(0) scaleX(-1)}
  58%{transform:translateY(-5px) scaleX(-1) rotate(-2deg)}
  66%{transform:translateY(0) scaleX(-1) rotate(2deg)}
  74%{transform:translateY(-5px) scaleX(-1) rotate(-2deg)}
  82%{transform:translateY(0) scaleX(-1) rotate(2deg)}
  99.9%{left:-5px;transform:translateY(0) scaleX(-1)}
  100%{left:-5px;transform:translateY(0) scaleX(1)}
}
.motive-lane{position:relative;width:calc(100% + 14px);height:30px;margin:3px 0 2px -7px;overflow:hidden;border-top:2px dotted #ff00a8;border-bottom:2px dotted #ff00a8;background:#ffff00}
.motive-run{position:absolute;top:4px;left:-225px;width:max-content;color:#ff0000;font-size:14px;font-weight:bold;white-space:nowrap;text-shadow:0 0 4px #fff,0 0 8px #ff00a8;animation:motiveRun 5.2s linear infinite,flashColor .9s steps(1,end) infinite;will-change:left}
@keyframes motiveRun{from{left:-225px}to{left:100%}}
.owner{margin-top:4px;color:#555;text-align:center;font-size:10px}.owner p{margin:2px 0}
.page-nav{margin:7px 0;text-align:center;font-size:12px}
.page-nav.bottom{margin-top:12px}
.menu-page{background:#fff7f8}
.menu-sheet-page{margin:8px 0 0;padding:13px 10px 18px;background:#fff;border:3px solid #111;border-radius:20px;box-shadow:5px 5px 0 #111}
.menu-head{position:sticky;top:0;z-index:2;margin:-13px -10px 12px;padding:14px 11px 10px;background:#fff;border-bottom:3px solid #111;border-radius:17px 17px 0 0}
.menu-head h1{margin:0;font-size:23px;letter-spacing:-.04em}
.menu-notice{margin:0 0 12px;padding:9px 8px;background:#fff1f2;border:2px dashed #111;border-radius:12px;text-align:center;font-size:12px;font-weight:bold}
.menu-section-title{margin:19px 0 8px;padding-left:8px;border-left:8px solid #e60012;font-size:16px;line-height:1.35}
.menu-grid{display:grid;gap:8px}.menu-card{padding:10px 11px;background:#fff;border:2px solid #111;border-radius:13px}.menu-card>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.menu-card strong{font-size:14px;line-height:1.35}.menu-card span{font-weight:900;white-space:nowrap}.menu-card p{margin:5px 0 0;color:#666;font-size:11px;line-height:1.55;font-weight:bold}
.compact-grid .menu-card{padding-top:9px;padding-bottom:9px}.section-copy{margin:0 0 8px;font-size:12px;font-weight:bold}.menu-footnote{margin:18px 0 0;padding:11px 9px;background:#fff1f2;border:2px dashed #111;border-radius:12px;text-align:center;font-weight:bold;font-size:12px}
.retro-title{margin:9px 0 11px;text-align:center;font-size:18px}.retro-title span{display:inline-block;padding:4px 18px;color:#fff;background:linear-gradient(90deg,#f0f,#00f,#f00);border:3px double #ff0;animation:rainbowMove 2.5s linear infinite}
.info-list{margin:0 0 12px;border:4px ridge #ff0000;background:#fff}.info-list div{display:grid;grid-template-columns:86px 1fr;border-bottom:1px dotted #777}.info-list div:last-child{border-bottom:0}.info-list dt,.info-list dd{margin:0;padding:8px 7px}.info-list dt{color:#fff;background:#d40079;font-weight:bold;text-align:center}.info-list dd{background:#fff}.info-list small{font-size:10px}
.retro-box{margin:11px 0;padding:8px;border:2px dashed #ff0000;background:#fffaf0}.retro-box h2{margin:-2px 0 6px;color:#d40079;font-size:14px;text-align:center;text-decoration:underline}.retro-box p{margin:4px 0;text-align:center;font-size:12px}
@media (max-width:370px){body{font-size:12px}.site{padding-left:5px;padding-right:5px}.ticker{width:calc(100% + 10px);margin-left:-5px;font-size:11px}.retro-links a{font-size:13px}.menu-sheet-page{padding-left:8px;padding-right:8px}.menu-head{margin-left:-8px;margin-right:-8px}.store-photo-wrap{width:min(92%,300px)}}

.retro-links a.shamenikki-link{
  margin:4px auto;
  padding:4px 0;
  color:#ff1493;
  background:transparent;
  border:0;
  box-shadow:none;
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  text-decoration:underline;
  text-shadow:1px 1px 0 #fff,0 0 6px #ff8ad6;
  animation:shamenikkiBlink .8s steps(1,end) infinite;
}
.retro-links a.shamenikki-link:visited{color:#ff1493}
@keyframes shamenikkiBlink{
  0%,49%{
    color:#ff1493;
    text-shadow:1px 1px 0 #fff,0 0 6px #ff8ad6,0 0 10px rgba(255,20,147,.45);
  }
  50%,100%{
    color:#ff5fc4;
    text-shadow:1px 1px 0 #fff,0 0 5px #fff,0 0 9px #ff9de0;
  }
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}}

.apple-music-blink{
  display:inline-block;
  margin-left:3px;
  color:#ff0000;
  font-size:9px;
  font-weight:normal;
  text-decoration:none;
  vertical-align:middle;
  animation:blink .9s steps(1,end) infinite;
}
.original-song-link{
  letter-spacing:.02em;
}
.owner .last-update{
  margin-top:1px;
  color:#777;
}

.inline-decome{display:inline-block;height:2em;width:auto;vertical-align:-0.45em;margin:0 .14em;image-rendering:pixelated}

.decome-card > div{align-items:center}
.decome-card strong{display:flex;align-items:center;gap:0;min-width:0}
