/* みっつの腸戦状 — グミの見た目（game.css の上にかさねる）。絵は assets/ の、画像 AI が描いた部品だけを使う */
:root{--plum:#4a1838;--plum2:#6d2550;--pink:#ff8fb0;--cream:#fff6ea;--gold:#ffd23a;--goldline:#6a3300;--green:#3fd14a;--greenline:#0f4a1a;--ink3:#3a1530;
  --round:"Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic UI","Noto Sans JP",system-ui,sans-serif}
html,body{background:radial-gradient(120% 90% at 50% 0%,#8c3a63 0%,#4a1838 55%,#2c0f24 100%) fixed;color:var(--cream)}
body,button,input{font-family:var(--round)}
.desk{color:var(--cream)}
.intro h1,.intro h1 span{color:#fff;text-shadow:0 3px 0 var(--plum),0 0 22px #ff8fb080}
.intro .eyebrow,.intro small,.intro .tagline,.intro .intro-copy{color:#ffd9e6}
.intro .mascots{width:150px;height:150px;background:url(assets/leader.png) center/contain no-repeat;filter:drop-shadow(0 10px 18px #0006)}
.intro .mascots i{display:none}
.desk-note{background:#ffffff14;border-color:#ffffff30;color:#ffe6ef}
.letter{background:var(--cream);color:var(--ink3)}
.letter .king{width:160px;height:160px;margin:0 auto;background:url(assets/king.png) center/contain no-repeat;border:0;box-shadow:none}
.letter .king *{display:none}
.side-tips{color:#ffd9e6}.side-mark{color:#ffb3cb}

/* ゲームの箱 */
.device{background:var(--plum);box-shadow:0 30px 90px #0008,0 0 0 2px #ffffff22;color:var(--cream)}
.topbar{background:linear-gradient(#5a1d44,#4a1838);border-bottom:0;color:#fff}
.topbar .brand{color:#fff;text-shadow:0 2px 0 #2a0b20}
.roll-button,.icon-button{background:#ffffff1f;color:#fff;border:0;box-shadow:inset 0 1px 0 #ffffff40}
.bottom-nav{background:linear-gradient(#4a1838,#3a1230);border-top:0}
.bottom-nav button{color:#ffc2d6}.bottom-nav button.active{color:#fff;background:#ffffff1f}

/* 遊ぶ画面：画面いっぱい。数字の飾りを上に重ねる */
.device:has(#play:not([hidden])) .topbar,.device:has(#play:not([hidden])) .bottom-nav{display:none}
.play{position:absolute;inset:0;display:block}
.play .arena{position:absolute;inset:0;margin:0;border-radius:0;background:#8a3a5c}
.levelbar{position:absolute;z-index:4;left:12px;right:12px;top:calc(68px + env(safe-area-inset-top,0px));padding:0;pointer-events:none;align-items:flex-start}
.levelbar .eyebrow{color:#ffe6ef;font-size:10px;text-shadow:0 1px 2px #0009}
.levelbar h2{color:#fff;font-size:15px;text-shadow:0 2px 0 #3a1030,0 0 6px #0007}
.levelbar h2 small{color:#ffe0ea}
.levelbar #pause{pointer-events:auto;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ffd7e4 40%,#e98aa8);color:#6d2550;font-weight:900;box-shadow:0 4px 0 #9b3d63,0 6px 12px #0005;border:0}
.day-route{position:absolute;z-index:4;left:12px;right:64px;top:calc(118px + env(safe-area-inset-top,0px));margin:0;pointer-events:none}
.day-route span{height:5px;background:#ffffff40;box-shadow:0 1px 2px #0005}
.day-route span.past{background:#9be3a0}.day-route span.current{background:var(--gold)}
.mission-strip{position:absolute;z-index:5;left:8px;right:8px;top:calc(8px + env(safe-area-inset-top,0px));display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;padding:0;background:none;border:0;pointer-events:none}
.mission-strip .score-hud{position:relative;top:auto;left:auto;width:118px;height:46px;min-width:0;padding:0;background:url(assets/hud_count.png) center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 4px 6px #0006)}
.mission-strip .score-hud>span{display:none}
.mission-strip .score-hud strong{position:absolute;left:38%;right:6%;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:25px;color:#fff;-webkit-text-stroke:5px var(--greenline);paint-order:stroke fill;letter-spacing:.02em}
.mission-goal{min-width:0;display:flex;flex-direction:column;gap:2px}
.mission-goal #goal{font-size:10.5px;font-weight:800;color:#fff;-webkit-text-stroke:3px #4a1838;paint-order:stroke fill;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.star-track{height:18px;border-radius:12px;background:linear-gradient(#3a1a14,#5a2c20);box-shadow:inset 0 2px 3px #0008,0 0 0 2px #f3d2a4,0 3px 6px #0006;padding:2px;gap:2px}
.star-track span{background:#ffffff18;border-radius:9px;color:#d8a35f;font-size:12px}
.star-track span.on,.star-track span.done{background:linear-gradient(#a6ff7a,#3fd14a 55%,#259b33);color:var(--gold)}
.star-track span i{background:linear-gradient(#a6ff7a,#3fd14a 55%,#259b33)!important}
.timer{position:relative;width:54px;height:58px;background:url(assets/hud_timer.png) center/contain no-repeat;border:0;padding:0;filter:drop-shadow(0 4px 6px #0006);display:flex;align-items:center;justify-content:center}
.timer>span,.timer small{display:none}
.timer strong{font-size:21px;color:#123a6a;margin-top:7px;font-variant-numeric:tabular-nums}
.timer.urgent strong{color:#d8202e;animation:pulse .5s infinite alternate}
@keyframes pulse{to{transform:scale(1.18)}}
.exit-hud{background:linear-gradient(0deg,#3a1030d0,#3a103000);color:#fff;padding:10px 14px 14px}
.exit-hud>span:first-child{color:#ffd9e6}.exit-hud strong{color:#fff;-webkit-text-stroke:4px #3a1030;paint-order:stroke fill;font-size:24px}
.exit-hud>span:last-child{color:#ffe6ef;font-weight:800;font-size:12px}
.progress{height:6px;background:#ffffff30}.progress i{background:linear-gradient(90deg,#9be3a0,var(--gold))}
.tactic{position:absolute;z-index:4;left:50%;transform:translateX(-50%);bottom:64px;max-width:88%;background:#2a0b20b8;color:#fff;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:800;text-align:center;pointer-events:none;backdrop-filter:blur(4px)}
.tactic:empty{display:none}
.tactic.danger{background:#a8143ad0}
.play-bottom{display:none}
.hint{background:#fff6eaee;color:var(--ink3);border:0;box-shadow:0 8px 0 #c97a98,0 14px 26px #0006;border-radius:22px;font-weight:900}
.chain{top:calc(130px + env(safe-area-inset-top,0px))!important;background:linear-gradient(#fff3a8,#ffd23a);color:#6a3300;box-shadow:0 5px 0 #c98a14,0 8px 14px #0005;border:0}
.play .event{white-space:nowrap;font-size:18px;max-width:none;top:22%}
.event,.wave-label,.boss-label{color:#fff;-webkit-text-stroke:4px #4a1838;paint-order:stroke fill;font-weight:900;background:none!important;box-shadow:none!important;border:0!important;font-size:20px}
.water{color:#fff}
.fx-label{position:absolute;left:0;top:0;z-index:6;pointer-events:none;font-weight:900;font-size:34px;color:var(--gold);-webkit-text-stroke:7px var(--goldline);paint-order:stroke fill;text-shadow:0 4px 8px #0006;white-space:nowrap;will-change:transform}
.fx-label.bad{color:#ffd0dc;-webkit-text-stroke-color:#8a1030;font-size:22px}
.fx-label.beat{font-size:30px;color:#fff;-webkit-text-stroke-color:#6d2550}

/* 地図・結果・図鑑などの画面 */
.panel{background:radial-gradient(130% 80% at 50% 0%,#7a2c55,#4a1838 60%,#33102a);color:var(--cream)}
.panel h2,.panel h3{color:#fff;text-shadow:0 2px 0 #2a0b20}
.panel .eyebrow{color:#ffb3cb}.panel .small,.panel .quiet{color:#ffd9e6}
.panel a{color:var(--gold)}
button.primary,.primary{position:relative;border:0!important;color:#fff!important;font-weight:900;background:url(assets/btn_green.png) center/100% 100% no-repeat!important;box-shadow:none!important;-webkit-text-stroke:4px var(--greenline);paint-order:stroke fill;min-height:58px;font-size:17px;filter:drop-shadow(0 6px 8px #0005);transition:transform .08s}
button.primary:active{transform:translateY(3px) scale(.98)}
button.secondary,.secondary,button.quiet{border:0!important;color:#6d2550!important;font-weight:900;background:url(assets/btn_cream.png) center/100% 100% no-repeat!important;box-shadow:none!important;min-height:52px;filter:drop-shadow(0 5px 7px #0004)}
.hero-card,.diary-card,.notice,.result,.forecast,.parcel,.recovery,.stats>*,.run-stats>*{background:linear-gradient(#fffaf6,#ffeef3);color:var(--ink3);border:0;border-radius:22px;box-shadow:0 6px 0 #d98aa8,0 12px 24px #0005}
.hero-card *,.diary-card *,.notice *,.forecast *,.parcel *,.recovery *{color:inherit}
.result{background:transparent;box-shadow:none;color:var(--cream)}
.result .result-number{color:#fff;-webkit-text-stroke:8px #6d2550;paint-order:stroke fill;text-shadow:0 6px 12px #0006}
.result .result-label,.result .result-message{color:#ffe6ef}
.run-stats>*{background:#ffffff1c;color:#fff;box-shadow:none}
.stars{color:var(--gold);-webkit-text-stroke:3px var(--goldline);paint-order:stroke fill;filter:drop-shadow(0 4px 6px #0006)}
.pill{background:#ffffff22;color:#fff;border:0}
.map-path{background:url(assets/map_bg.jpg) top center/cover no-repeat;border-radius:22px;padding:14px;box-shadow:inset 0 0 0 2px #ffffff30}
.map-day{background:#2a0b20a8;border-radius:16px;color:#fff}
.food-item,.fact-lock{background:#fff6ea;color:var(--ink3);border:0;box-shadow:0 5px 0 #d98aa8}
.food-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:22px}
.food-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px #0004)}
.pill .food-img{width:22px;height:22px;vertical-align:-6px}
.toilet-art{background:url(assets/toilet_bg.jpg) center/cover no-repeat;border-radius:22px;box-shadow:0 6px 0 #d98aa8,0 12px 24px #0005}
img.type-img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px #0005)}
dialog{background:#fff6ea;color:var(--ink3);border:0;border-radius:26px;box-shadow:0 10px 0 #d98aa8,0 24px 60px #000a}
dialog h2,dialog h3{color:#6d2550}
#toast{background:#2a0b20e6;color:#fff;border-radius:18px}

.play .boss-label{position:absolute;top:calc(134px + env(safe-area-inset-top,0px))!important;left:50%!important;right:auto!important;transform:translateX(-50%);font-size:17px!important;white-space:nowrap}
.food-chips button,.food-chips span{background:#fff6ea!important;color:#6d2550!important;border:0!important;font-weight:800;box-shadow:0 3px 0 #d98aa8}
.food-input input,.panel input{background:#fff;color:#3a1530}
.medical{background:#fff6ea;color:#6d2550;border-radius:14px}

/* クリーム色のカードの中は、こい文字（白い文字が読めなくなるのを防ぐ） */
.panel :is(.fact,.hero-card,.diary-card,.notice,.forecast,.recovery,.food-item,.fact-lock,.copy-field,.medical) :is(h2,h3,h4,p,span,small,strong,b,div,li,label){color:#3a1530;text-shadow:none;-webkit-text-stroke:0}
.panel :is(.fact,.hero-card,.diary-card,.notice,.forecast,.recovery,.food-item,.fact-lock,.copy-field,.medical) :is(.eyebrow,.fact-tag,small){color:#a0507a}
.panel .fact{background:linear-gradient(#fffaf6,#ffeef3);border:0;border-radius:22px;box-shadow:0 6px 0 #d98aa8,0 12px 24px #0005}
.panel .fact.game{background:#f3ecff}
.panel .hero-card .result-number,.panel .hero-card strong{color:#6d2550}
/* 星：取った星は金、取っていない星は見える色で */
.stars{font-size:46px;letter-spacing:6px}
.stars *{color:#ffffff30;-webkit-text-stroke:3px #ffffff60}
.stars .earned{color:var(--gold)!important;-webkit-text-stroke:3px var(--goldline)!important}
/* 結果の小さな数の箱 */
.run-stats>*{background:#ffffff22!important;color:#fff!important;border-radius:16px}
.run-stats *{color:#fff!important}
.run-stats small,.run-stats span{color:#ffd9e6!important}
/* 文字だけのボタン（もう１回・結果をコピー） */
.result .actions button:not(.primary),.actions button.quiet,.actions .quiet{color:#ffe6ef!important;background:#ffffff1c!important;border-radius:20px;min-height:44px;font-weight:800;filter:none}
/* トイレ：前の点々は消して、型の絵を大きく */
.toilet-art{height:260px}
.toilet-art .parcel{background:url(assets/b_rod.png) center/contain no-repeat!important;width:22px;height:28px;border-radius:0}
.toilet-art .type-drawing{position:absolute;inset:16% 22% 6%;}
.panel .type-drawing svg,.collection-grid svg{display:none}

/* 地図の面の丸：グミのボタン */
.map-node .node{width:60px;height:60px;border:0;border-radius:50%;color:#fff;font-size:24px;-webkit-text-stroke:4px #6d2550;paint-order:stroke fill;background:radial-gradient(circle at 35% 28%,#fff 0 8%,#ff9cc0 22%,#e0558a 70%,#a8285e);box-shadow:0 5px 0 #7a1a48,0 8px 14px #0006}
.map-node.cleared .node{background:radial-gradient(circle at 35% 28%,#fff 0 8%,#a6ff7a 22%,#3fd14a 70%,#1f8a2c);box-shadow:0 5px 0 #145a1e,0 8px 14px #0006;-webkit-text-stroke-color:#0f4a1a}
.map-node.next .node{background:radial-gradient(circle at 35% 28%,#fff 0 8%,#fff3a8 22%,#ffd23a 70%,#d89a10);box-shadow:0 5px 0 #8a5a00,0 8px 14px #0006;-webkit-text-stroke-color:#6a3300;outline:3px solid #fff;outline-offset:3px;animation:bob 1.2s ease-in-out infinite alternate}
@keyframes bob{to{transform:translateY(-4px)}}
.map-node .node.boss-node{border-radius:50%;background:url(assets/king.png) center/115% no-repeat,radial-gradient(circle,#ffd9a0,#c87a30)}
.map-node .node-stars{color:var(--gold);-webkit-text-stroke:2px var(--goldline);paint-order:stroke fill;font-size:12px}
.map-node>span:last-child{color:#fff;font-weight:800;font-size:11px;text-shadow:0 1px 0 #3a1030,0 0 4px #3a1030,0 0 8px #3a1030}
.map-node:disabled{opacity:.62}
.map-node:disabled .node{filter:saturate(.35) brightness(.9)}
/* トイレ日記：型の絵と文字を横に */
.panel .diary-card .diary-main{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}
.panel .diary-card .diary-main img,.panel .diary-card .diary-main svg{width:120px;height:110px;object-fit:contain}
.panel .diary-card strong{font-size:22px;color:#6d2550!important}
.panel .diary-card small{font-size:11px;line-height:1.6}
/* 図鑑の型：カードを小さく */
.collection-grid>*{background:#fff6ea;border-radius:18px;box-shadow:0 5px 0 #d98aa8;padding:10px;color:#3a1530;text-align:center;font-weight:800}
.collection-grid img{height:110px;width:100%;object-fit:contain}
.book-tabs button{background:#fff6ea;color:#6d2550;border:0;font-weight:800;box-shadow:0 3px 0 #d98aa8}
.book-tabs button.active,.book-tabs button[aria-pressed="true"]{background:linear-gradient(#a6ff7a,#3fd14a);color:#fff;-webkit-text-stroke:3px #0f4a1a;paint-order:stroke fill;box-shadow:0 3px 0 #145a1e}
.play .boss-label{top:auto!important;bottom:150px;font-size:16px!important}
.star-track span{display:flex;align-items:center;justify-content:center;gap:2px;font-size:9px;letter-spacing:-.5px}
.star-track span b{font-size:11px;color:#fff;-webkit-text-stroke:2.5px #3a1a14;paint-order:stroke fill;font-weight:900;letter-spacing:0}
.star-segment.earned span b{-webkit-text-stroke-color:#145a1e}
.tactic.exit{background:linear-gradient(#fff3a8,#ffd23a);color:#6a3300;font-size:14px;box-shadow:0 4px 0 #c98a14,0 8px 14px #0005}
.timer.urgent{transform:scale(1.25);transform-origin:right top}
/* 出荷う◯こ（結果の画面） */
.ship-poop{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;background:linear-gradient(#fffaf6,#ffeef3);color:#3a1530;border-radius:22px;padding:12px 14px;box-shadow:0 6px 0 #d98aa8,0 12px 24px #0005;text-align:left;margin:6px 0 10px}
.ship-poop img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 6px 8px #0004);animation:plop .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes plop{from{transform:scale(.2) translateY(30px)}to{transform:none}}
.ship-poop b{display:block;font-size:18px;color:#6d2550}
.ship-poop q{display:block;font-weight:800;color:#a0507a;margin:2px 0 6px;quotes:"「" "」"}
.ship-poop p{font-size:12.5px;line-height:1.7;margin:0;color:#3a1530}
.ship-poop small{display:block;font-size:10px;color:#a07a90;margin-top:4px}
.panel .goal-extra{margin:6px 0 0;font-size:13px;color:#3a1530}
.panel .goal-extra b{color:#2e8a5a}
/* おなかの町 */
.town{background:linear-gradient(#5a1d44,#3a1030);border-radius:22px;padding:12px 14px;margin:12px 0;box-shadow:inset 0 0 0 2px #ffffff22}
.town-head{display:flex;justify-content:space-between;align-items:center}
.town-head h3{margin:0;color:#fff}.town-head span{color:var(--gold);font-weight:900;-webkit-text-stroke:2px var(--goldline);paint-order:stroke fill}
.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.town-grid figure{margin:0;text-align:center}
.town-grid img{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 6px 8px #0006)}
.town-grid .locked img{filter:grayscale(1) brightness(.35) opacity(.6)}
.town-grid figcaption{font-size:10.5px;font-weight:800;color:#ffe6ef}
.town-grid .locked figcaption{color:var(--gold)}
.town-next{margin:6px 0 0;font-size:12.5px;color:#ffe6ef;text-align:center}.town-next b{color:var(--gold)}
.town-fact{margin-top:6px;color:#ffe6ef;font-size:12px}.town-fact summary{cursor:pointer;font-weight:800}.town-fact p{margin:6px 0 0;line-height:1.7}
.town-new{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;background:linear-gradient(#fff6c8,#ffe08a);color:#5a3300;border-radius:22px;padding:10px 12px;margin:8px 0;box-shadow:0 6px 0 #c98a14,0 12px 24px #0005;text-align:left;animation:plop .6s cubic-bezier(.2,1.6,.4,1)}
.town-new img{width:96px;height:96px;object-fit:contain}.town-new b{display:block;font-size:15px}.town-new p{margin:4px 0 0;font-size:12px;line-height:1.6;color:#5a3300}
.panel .stars .empty{color:#ffffff1f!important;-webkit-text-stroke:2px #ffffff55!important;text-shadow:none!important;font-size:.8em}
.panel .stars .earned{color:#ffd23a!important;-webkit-text-stroke:4px #6a3300!important;paint-order:stroke fill;text-shadow:0 0 18px #ffd23a99!important;font-size:1.15em}
/* 門の「通ると何匹」 */
.gate-tip{position:absolute;left:0;top:0;z-index:6;pointer-events:none;font-weight:900;font-size:17px;color:#fff;background:#2a0b20c8;border-radius:14px;padding:3px 10px;white-space:nowrap;-webkit-text-stroke:0;box-shadow:0 3px 8px #0005}
.gate-tip.best{background:linear-gradient(#fff3a8,#ffd23a);color:#6a3300;font-size:20px;box-shadow:0 4px 0 #c98a14,0 8px 14px #0006}
.gate-tip.worse{opacity:.75}
.gate-tip.guard::after{content:" 大王軍あり";font-size:11px;color:#ff9ab8;margin-left:4px}
.gate-tip.best.guard::after{color:#a8143a}

/* 出発までの表示は、読み込み済みの景色に一度だけ切り替える。 */
#loading{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(circle at 50% 40%,#7a2c55,#33102a);text-align:center;padding:24px;color:#fff}
#loading[hidden]{display:none}#loading img{width:130px;height:160px;object-fit:contain}#loading small{color:#ffd9e6}
budoux-ja{display:block}.unit{white-space:nowrap}
.hint{width:min(92%,340px);padding:16px 12px;white-space:normal;text-align:center;line-height:1.65;font-size:17px}
.hint b,.hint small{display:block}.hint small{font-size:12px;line-height:1.8}.hint .gesture{display:block;margin:4px auto;font-size:28px}
.play .event{white-space:normal;width:max-content;max-width:90%;font-size:15px;line-height:1.6;text-align:center;top:25%;padding:6px 10px}
.tactic{width:max-content;max-width:92%;font-size:11.5px;line-height:1.7}
.gate-tip,.gate-tip.best{width:124px;text-align:center;padding:6px 4px;font-size:12px;border-radius:12px}
.gate-tip b,.gate-tip small,.gate-tip strong{display:block;line-height:1.5}.gate-tip b{font-size:13px}.gate-tip small{font-size:10px}.gate-tip strong{font-size:18px;font-variant-numeric:tabular-nums}
.gate-tip.worse{opacity:1;background:#852848;color:#fff}.gate-tip.guard::after{display:block;margin:0;content:'この先に大王軍';font-size:10px;color:#fff}.gate-tip.best.guard::after{color:#852848}
.crowd-tip{position:absolute;left:0;top:0;z-index:3;pointer-events:none;width:max-content;max-width:120px;padding:3px 7px;text-align:center;border-radius:10px;white-space:nowrap;background:#163e20e8;color:#fff;box-shadow:0 2px 0 #9cf38880,0 4px 8px #0005;line-height:1.4}
.crowd-tip b{display:block;font-size:14px;font-variant-numeric:tabular-nums}.crowd-tip small{display:block;font-size:9px}.crowd-tip.danger{background:#742042e8;box-shadow:0 2px 0 #ffb0cc80,0 4px 8px #0005}.crowd-tip.enemy.joinable{background:#fff3ba;color:#583400;border:2px solid #ffd23a}
.play .boss-label{bottom:145px;font-size:14px!important}.chain{right:12px;max-width:48%;font-size:12px}.chain small{display:block;font-size:10px}
.star-track{height:29px}.star-segment{height:25px;overflow:visible;border:0}.star-segment span{position:relative;height:25px;font-size:10px;letter-spacing:-.8px}.star-segment span b{font-size:10px}.mission-strip .score-hud{width:100px}.mission-goal #goal{font-size:10px}
@media(max-width:360px){.mission-strip .score-hud{width:88px}.mission-goal #goal{font-size:9px}.gate-tip,.gate-tip.best{width:112px}.gate-tip strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* 03b：門と通知はHUDの下で順に並べ、世界の札と場所を共有しない。 */
.arena-top-overlay{position:absolute;z-index:6;left:12px;right:12px;top:138px;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.gate-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.gate-choice .gate-tip{position:relative;left:auto;top:auto;width:auto;min-width:0;max-width:none;margin:0;padding:7px 6px;transform:none;text-align:center;white-space:nowrap;box-sizing:border-box}
.gate-choice .gate-tip b{font-size:13px;line-height:1.5}.gate-choice .gate-tip small{font-size:11px;line-height:1.6;color:inherit}.gate-choice .gate-tip strong{font-size:var(--gate-number-size,18px);line-height:1.5;color:inherit}
.notice-stack{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.play .notice-stack :is(#boss,#wave,#event,#chain){position:static;top:auto!important;bottom:auto;left:auto!important;right:auto!important;transform:none;max-width:100%;margin:0;white-space:normal;text-align:center;pointer-events:none}
.play .notice-stack #boss,.play .notice-stack #wave{font-size:14px!important;line-height:1.6}
.play .notice-stack #event{width:100%;font-size:14px;line-height:1.65;padding:4px 6px}
.play .notice-stack #event:not(.show){display:none}
.play .notice-stack #chain{align-self:flex-end;font-size:12px;padding:5px 9px;line-height:1.5}
.play .notice-stack #chain small{color:inherit;font-size:10px}
.crowd-tip{width:114px;max-width:114px;min-height:42px;box-sizing:border-box;line-height:1.5}
.crowd-tip small{color:inherit}
.fx-label{font-size:26px;max-width:calc(100% - 16px)}.fx-label.beat{font-size:25px}.fx-label.bad{font-size:20px}
.water{max-width:calc(100% - 24px);color:#3a1530;font-size:11px;line-height:1.7}

/* 古い器と位置の指定を外し、背景の便器の中に型を出す。 */
.toilet-art .bowl{display:none}
.toilet-art .parcel{box-shadow:none;border:0;border-radius:0;background-color:transparent}
.toilet-art .type-drawing{inset:16% 22% 8%;width:auto;transform:none}
.toilet-art.finished .type-drawing{animation:toilet-reveal .4s ease-out}
@keyframes toilet-reveal{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
.panel .toilet-status{color:#ffe6ef}
.panel .result .result-number{color:#fff!important}
.panel .result .result-number small{color:#ffe6ef;-webkit-text-stroke:0}

/* 狭い列の子が、隣の絵やカードの外へ押し出されないように。 */
.food-item>div,.ship-poop>div,.town-new>div,.diary-main>div,.collection-tile{min-width:0}
.food-item .food-icon{flex:0 0 52px}.food-item .micro{flex-shrink:0}
.ship-poop{grid-template-columns:100px minmax(0,1fr)}.ship-poop img{width:100px;height:100px}
.town-new{grid-template-columns:96px minmax(0,1fr)}
.panel .diary-card .diary-main{grid-template-columns:minmax(72px,100px) minmax(0,1fr)}
.panel .diary-card .diary-main img{width:100%;height:110px}
.panel .diary-card strong{font-size:clamp(16px,5vw,22px);line-height:1.6}
.book-tabs button{min-width:0}.book-tabs button.selected{background:linear-gradient(#a6ff7a,#3fd14a);color:#fff;-webkit-text-stroke:3px #0f4a1a;paint-order:stroke fill;box-shadow:0 3px 0 #145a1e}
@media(max-width:360px){.arena-top-overlay{left:8px;right:8px}.gate-choice{gap:10px}.gate-choice .gate-tip strong{font-size:min(16px,var(--gate-number-size,18px))}.gate-choice .gate-tip b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.toilet-art.finished .type-drawing{animation:none}}
.levelbar>div{min-width:0;max-width:calc(100% - 50px)}.levelbar #pause{flex-shrink:0}
.timer.urgent{transform:none}

/* 03c：門の選択に集中し、断り書きは必要なときに開く。 */
.play.gate-focus :is(#tactic,#water){display:none!important}
.panel .medical-note>summary{color:#ffd9e6;font-weight:700;text-shadow:none;-webkit-text-stroke:0}
.panel .medical-note>summary>span{color:inherit;background:#ffffff12}

/* 03d：金の矢印が示す相手を一つだけ案内する。 */
.play.boss-target :is(#tactic,#water){display:none!important}
.play.boss-target .notice-stack #boss{width:100%;box-sizing:border-box;padding:8px 12px;background:#fff3ba!important;color:#583400;border:2px solid #ffd23a!important;border-radius:16px;-webkit-text-stroke:0;box-shadow:0 3px 0 #c98a14!important}
.play.boss-target #boss b,.play.boss-target #boss small{display:block;color:inherit;line-height:1.6}
.play.boss-target #boss b{font-size:15px}.play.boss-target #boss small{font-size:12px;font-weight:700}
.crowd-tip b{white-space:normal;line-height:1.45;font-size:13px}.crowd-tip small{font-size:10px}
.panel .today-shape{font-size:clamp(21px,6.6vw,29px);line-height:1.6}
.shape-guide{font-size:13px;line-height:1.9;margin:8px 0;text-align:left;color:#ffe6ef}
.shape-details{margin:8px 0 14px;text-align:left}
.shape-details>summary{display:inline-flex;align-items:center;min-height:40px;cursor:pointer;color:#ffd9e6;font-size:12px;list-style:none}
.shape-details>summary::-webkit-details-marker{display:none}
.shape-details>summary:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:6px}
.shape-details .medical{margin:4px 0 0}
.panel .diary-card .shape-details>summary{color:#6d2550}
.panel .diary-card .shape-details .medical{color:#3a1530}
.panel .diary-card .diary-main strong{font-size:clamp(16px,4.7vw,20px)}
.ship-poop b{font-size:16px;line-height:1.7}
.crowd-tip .crowd-name{font-size:12px;white-space:nowrap}
.crowd-tip.compact{width:max-content;max-width:80px;min-height:0;padding:3px 7px;border-radius:12px}
.crowd-tip.compact b{font-size:14px;line-height:1.4;white-space:nowrap}
.crowd-tip.compact small{font-size:10px;line-height:1.4}
.panel .stars{display:flex;justify-content:center;align-items:center;gap:10px;letter-spacing:0}
.panel .stars>span{flex:0 0 60px;margin:0;line-height:1.3}

/* 03e：道と拾う物を先に見せる。門は薄い二行の札、目印は一定の画面サイズ。 */
.gate-choice{gap:10px;align-items:start}
.gate-choice .gate-tip{display:flex!important;align-items:center;justify-content:center;gap:6px;height:48px;padding:4px 6px;border-radius:10px;background:#321125a8;box-shadow:none!important;backdrop-filter:blur(2px)}
.gate-choice[hidden] .gate-tip{display:none!important}
.gate-choice .gate-tip.best{background:#fff3bab8;color:#583400}
.gate-choice .gate-tip.worse{background:#64233ea8;color:#fff}
.gate-choice .gate-tip img{width:30px;height:32px;object-fit:contain;flex-shrink:0}
.gate-choice .gate-tip span{min-width:0}
.gate-choice .gate-tip small{font-size:11px;line-height:1.2}
.gate-choice .gate-tip strong{font-size:var(--gate-number-size,15px);line-height:1.35;white-space:nowrap}
.gate-choice .gate-tip.guard::after{content:none}
.play.boss-target .notice-stack #boss{padding:5px 8px;background:#fff3bac7!important;border-width:1px!important;box-shadow:none!important}
.play.boss-target #boss b{font-size:13px}.play.boss-target #boss small{font-size:11px}
.scene-pointer{position:absolute;left:0;top:0;z-index:9;pointer-events:none;line-height:0}
.scene-pointer svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 2px #fff)}
.pickup-pointer svg{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 7px #ffe14f);animation:pickup-cue .8s ease-in-out infinite alternate}
.pointer-link{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none;overflow:visible}
@keyframes pickup-cue{to{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.pickup-pointer svg{animation:none}}

/* 03g：おなかの道と同じ、桃色・はちみつ色・緑のつや。 */
:root{--world-ink:#613f30;--world-muted:#835646;--world-card:#fff0d8;--world-edge:#c5856a}
html,body{background:radial-gradient(ellipse at 50% 12%,#ffeccf,#efb5a2 60%,#bc766b);color:var(--world-ink)}
.desk,.intro h1,.intro h1 span{color:var(--world-ink)}
.intro h1,.intro h1 span{text-shadow:0 2px 0 #fff3d9,0 5px 18px #aa674733}
.intro .eyebrow,.intro small,.intro .tagline,.intro .intro-copy,.side-tips,.side-mark{color:#744b3a}
.desk-note{background:#fff0d880;border-color:#c58c75;color:#744b3a}
.device,.panel{background:linear-gradient(180deg,#ffe7cfdc,#f5c3b5eb),url(assets/loc4_transverse.jpg) center/420px auto;color:var(--world-ink)}
.device{box-shadow:0 22px 70px #82492e33,0 0 0 2px #fff4d5}
.topbar{background:linear-gradient(#fff5dce8,#efbca5e8);box-shadow:inset 0 1px #fff8e8,0 2px 12px #8a4d3822;color:var(--world-ink)}
.topbar .brand{color:var(--world-ink);text-shadow:0 1px #fff2d6}
.roll-button,.icon-button{color:var(--world-ink);background:#fff6dc8c;box-shadow:inset 0 1px #fff9e9,0 2px 4px #9a5b3e20}
.bottom-nav{background:linear-gradient(#fff3ddea,#f1c7acef);box-shadow:inset 0 1px #fff9e8,0 -3px 12px #9658441a;border-top:1px solid #c98b6540}
.bottom-nav button{color:#7b513e}.bottom-nav button.active{color:#216e38;background:#afe78a5c}
.panel h2,.panel h3{color:var(--world-ink);text-shadow:0 1px #fff3d5}
.panel .eyebrow,.panel .small,.panel .quiet{color:var(--world-muted)}
.panel a{color:#286c3d}
.panel :is(.fact,.hero-card,.diary-card,.notice,.forecast,.recovery,.food-item,.fact-lock,.copy-field,.medical) :is(h2,h3,h4,p,span,small,strong,b,div,li,label){color:var(--world-ink)}
.panel :is(.fact,.hero-card,.diary-card,.notice,.forecast,.recovery,.food-item,.fact-lock,.copy-field,.medical) :is(.eyebrow,.fact-tag,small){color:var(--world-muted)}
.panel :is(.fact,.hero-card,.diary-card,.notice,.forecast,.food-item,.fact-lock,.collection-tile,.ship-poop,.medical){background:linear-gradient(150deg,#fff6e9dc,#ffe0bfdc);border:1px solid #fff8e3;box-shadow:inset 0 2px 3px #fff8ef,0 4px 0 #ca947455,0 8px 18px #ac6b4320}
.panel .fact.game{background:linear-gradient(150deg,#eff7d6e0,#cde8b5c9)}
.panel .ship-poop :is(b,q,p,small),.panel .diary-card strong{color:var(--world-ink)!important}
.panel .result{color:var(--world-ink);background:none;border:0;box-shadow:none}
.panel .result .result-number{color:#2e773c!important;-webkit-text-stroke:6px #fff5d5;text-shadow:0 5px 8px #764c3529}
.panel .result .result-number small,.panel .result-label,.panel .result-message,.panel .toilet-status{color:var(--world-ink);-webkit-text-stroke:0}
.run-stats>*{background:linear-gradient(#fff4d8b8,#ffe5b69e)!important;border:1px solid #fff3d8;box-shadow:inset 0 1px #fff,0 3px 8px #97644415}
.run-stats *,.run-stats small,.run-stats span{color:var(--world-ink)!important}
.panel .stars .empty{color:#ba8b73!important;-webkit-text-stroke:2px #77573d!important}
.panel .stars .earned{text-shadow:0 2px 0 #ce8e31,0 0 15px #fff2bf!important}
.panel .actions button:not(.primary),.panel .actions button.quiet{color:var(--world-ink)!important;background:linear-gradient(#fff5e8b0,#f6d8bfa3)!important;border:1px solid #fff0d7!important;box-shadow:0 2px 6px #8a563921}
.panel .pill{background:#ffebbf;color:#71512b;box-shadow:inset 0 1px #fff6d6}
.panel .pill.gold{background:linear-gradient(#fff3b4,#ffd967);color:#67491d}
.panel .map-day{background:#fff2d37a;border:1px solid #fff2d3;color:var(--world-ink);box-shadow:0 3px 10px #9464401a}
.panel .map-path{box-shadow:inset 0 0 0 2px #ffeed9,0 3px 9px #8e50341a}
.panel .town{background:linear-gradient(#e6f3c1bd,#f4d9a9c9);border:1px solid #fff2d3;box-shadow:inset 0 1px #fff7e6,0 4px 12px #94644020}
.panel .town :is(h3,p,summary,figcaption),.panel .town-next,.panel .town-fact{color:var(--world-ink)}
.panel .town-grid .locked figcaption,.panel .town-next b{color:#795425}
.panel .shape-guide,.panel .shape-details>summary,.panel .medical-note>summary{color:var(--world-ink)}
.panel .medical-note>summary>span{background:#fff3d46b;border-color:#946b52}
.panel .toilet-art{box-shadow:inset 0 0 0 2px #fff2d6,0 5px 0 #c697795e,0 12px 22px #9b64462b}
.panel .toilet-progress{background:#d5a284}.panel .toilet-progress i{background:linear-gradient(90deg,#a3df75,#ffd96d)}
.panel .collection-tile,.panel .book-tabs button{color:var(--world-ink)}
.panel .letter-select{color:var(--world-ink);background:#fff1d5;border-color:#b88767}
.panel .food-chips button{color:var(--world-ink)!important;background:#fff1d9!important;box-shadow:0 3px 0 #d3a387}
.medical,dialog{background:linear-gradient(#fff4df,#ffe1c1);color:var(--world-ink);box-shadow:0 8px 0 #b9876866,0 20px 50px #6c412a33}
dialog h2,dialog h3{color:var(--world-ink)}
#toast{background:#734c39ec;color:#fff5dc}
.levelbar h2 small{display:none}
.exit-hud>span:first-child,.exit-hud>strong{display:none}
.exit-hud{justify-content:flex-end;background:linear-gradient(0deg,#85533d90,#85533d00);padding:10px 14px}
.play .notice-stack #chain{align-self:center;font-size:17px;padding:2px 12px;border-radius:20px;background:#fff1afa8;color:#5b4218;box-shadow:inset 0 1px #fff8dd}
.gate-choice .gate-tip{height:40px;background:#fff0cb94;color:#594328;border:1px solid #ffecc39e}
.gate-choice .gate-tip.best{background:#c7f6a68c;color:#174c24;border-color:#b9ec9980}
.gate-choice .gate-tip.worse{background:#f3baba94;color:#743737;border-color:#efab9f80}
.gate-choice .gate-tip img{width:28px;height:30px}
.gate-choice .gate-tip small{font-size:12px;font-weight:900}
.crowd-tip.compact{background:#fff1cab5;color:#604326;box-shadow:inset 0 1px #fff3d8,0 2px 6px #815c3133}
.crowd-tip.compact.danger{background:#fad2bdc9;color:#7e332b}
.mission-strip .score-hud strong.gate-pop{--gate-scale:1.55;animation:gate-number .7s cubic-bezier(.2,.8,.3,1)}
.mission-strip .score-hud strong.gate-pop.three-digits{--gate-scale:1.3}
.mission-strip .score-hud strong.gate-pop.four-digits{--gate-scale:1.18}
@keyframes gate-number{0%,100%{transform:scale(1)}25%{transform:scale(var(--gate-scale));color:#fff3ad}55%{transform:scale(1.08)}75%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.mission-strip .score-hud strong.gate-pop{animation:none}}

/* 指の絵だけで左右の操作を示し、道と仲間を空ける。 */
.hint{top:auto;bottom:65px;transform:translateX(-50%);width:150px;padding:0;background:none;border:0;box-shadow:none;color:#fff6ec;line-height:1.2;font-size:14px;text-shadow:0 2px 3px #4b293d,1px 0 #4b293d,-1px 0 #4b293d}
.hint b{white-space:nowrap}.hint .swipe-picture{display:block;width:144px;height:52px;margin:auto;filter:drop-shadow(0 2px 3px #4b293d90)}
.swipe-hand{animation:swipe-hand 1.7s ease-in-out infinite}
@keyframes swipe-hand{0%,100%{transform:translateX(-24px)}50%{transform:translateX(24px)}}
.food-item .micro.teal{background:#7bdd2b}.food-item .micro.gray{background:#ffc629}.food-item .micro.coral{background:#7339cd}
.mission-strip .score-hud{isolation:isolate;background:none}
.mission-strip .score-hud:before{content:"";position:absolute;inset:0;z-index:-1;background:url(assets/hud_count.png) center/100% 100% no-repeat;filter:saturate(1.2)}
.fx-label.gain{color:#e6ffae;text-shadow:0 2px 0 #386724,0 0 8px #245b1b80}
@media(prefers-reduced-motion:reduce){.swipe-hand{animation:none}}


/* 大きなロゴが一度だけ飛び込む、ゲームの表紙。 */
.device.opening-mode .topbar,.device.opening-mode .bottom-nav{display:none}
.device.opening-mode .panel{padding:0;background:#381433 url(assets/loc7_rectum.jpg) center/cover no-repeat;isolation:isolate;position:relative}
.device.opening-mode .panel:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,#ffb44842,transparent 52%),linear-gradient(#290e36b8,#55132e36 44%,#230c31ed)}
.opening-screen{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:28px 18px 20px;text-align:center;color:#fff5df;box-sizing:border-box}
.opening-kicker{font-size:13px;letter-spacing:.14em;font-weight:900;color:#fff1c4;text-shadow:0 2px 4px #321026;margin:0 0 18px}
.opening-logo{position:relative;z-index:2;margin:0;width:100%;max-width:420px;line-height:0;animation:logo-arrive .65s cubic-bezier(.2,.8,.25,1) both;filter:drop-shadow(0 8px 12px #23052db0)}
.opening-logo img{display:block;width:100%;height:auto}
.logo-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.opening-cast{position:relative;width:100%;height:clamp(240px,34vh,310px);margin:12px 0 0;animation:cast-arrive .7s .12s both}
.opening-cast:before{content:"";position:absolute;inset:5% -20% 0;background:radial-gradient(ellipse,#ffc44c70,transparent 65%);transform:rotate(-15deg)}
.opening-cast img{position:absolute;object-fit:contain;filter:drop-shadow(0 10px 8px #280b3190)}
.opening-king{width:57%;height:77%;right:-1%;top:0;transform:rotate(5deg)}
.opening-leader{width:52%;height:78%;left:0;bottom:0;z-index:2;transform:rotate(-7deg)}

.opening-cast .opening-friend{height:75px;width:20%;bottom:-8px;z-index:3}
.friend-one{left:4%;transform:rotate(-14deg)}.friend-two{left:27%;transform:rotate(8deg)}.friend-three{left:45%;transform:rotate(-8deg)}
.opening-letter{position:relative;z-index:4;width:100%;font-weight:800;font-size:14px;color:#fff7da;text-shadow:0 2px 3px #250820;margin:18px 0 0;line-height:1.8}
.opening-letter small{display:block;font-size:11px;font-weight:500;color:#f8d4dc}
.opening-actions{width:100%;max-width:360px;margin-top:18px;animation:cast-arrive .6s .35s both}
.opening-screen .primary{display:block;width:100%;min-height:62px;font-size:21px;filter:drop-shadow(0 0 13px #b0f93b45)}
.opening-screen .quiet{color:#fff5d9!important;margin-top:8px}
.opening-credit{display:block;margin-top:22px;font-size:10px;letter-spacing:.16em;color:#efc8d7}
@keyframes logo-arrive{0%{transform:scale(1.2) translateY(-12px);opacity:0}65%{transform:scale(.97);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes cast-arrive{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes logo-spark{0%{transform:scale(0) rotate(-90deg);opacity:0}70%{transform:scale(1.3);opacity:1}100%{transform:scale(1);opacity:1}}
@media(max-height:680px){.opening-screen{padding-top:20px}.opening-kicker{margin-bottom:12px}.opening-cast{height:220px}.opening-credit{margin-top:12px}.opening-actions{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.opening-logo,.opening-cast,.opening-actions,.opening-logo:after{animation:none}}
@media(max-height:600px){
 .opening-screen{padding:16px 12px 12px}
 .opening-kicker{font-size:11px;margin-bottom:6px}
 .opening-logo{max-width:270px}
 .opening-cast{height:175px;margin-top:2px}
 .opening-cast .opening-friend{height:56px;bottom:-4px}
 .opening-letter{margin-top:10px;font-size:12px}
 .opening-letter small{font-size:10px}
 .opening-actions{margin-top:10px}
 .opening-screen .primary{min-height:54px;font-size:19px}
 .opening-credit{margin-top:12px}
}

#loading .loading-logo{width:min(100%,400px);height:auto;filter:drop-shadow(0 8px 12px #23052d90)}
#loading-progress{appearance:none;-webkit-appearance:none;display:block;width:min(80%,280px);height:12px;border:0;border-radius:12px;overflow:hidden;background:#230f2c;color:#a3e943}
#loading-progress::-webkit-progress-bar{background:#230f2c;border-radius:12px}
#loading-progress::-webkit-progress-value{background:linear-gradient(90deg,#69c82d,#d4fa72);border-radius:12px}
#loading-progress::-moz-progress-bar{background:linear-gradient(90deg,#69c82d,#d4fa72);border-radius:12px}

.opening-screen .render-note{display:block;color:#ffe8b9;font-size:11px;margin-top:12px}

/* 小さい画面でも一時停止を押しやすくする。 */
.levelbar #pause{width:44px;height:44px;min-width:44px;min-height:44px}

/* 横向きの小さな画面では、横の紹介でゲームが押し下がらないようにする。 */
@media (max-height:500px) and (max-width:1000px){
 .desk{display:block;padding:0;min-height:0;height:100dvh}
 .intro,.letter-side{display:none}
 .device{max-width:480px;margin:0 auto;border:0;border-radius:0;height:100dvh;min-height:0}
}

@media(max-height:500px){
 .opening-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:center;justify-items:center;column-gap:8px;row-gap:2px;padding:8px 14px}
 .opening-kicker,.opening-letter,.opening-actions,.opening-credit{grid-column:1/-1}
 .opening-kicker{margin:0;font-size:10px}
 .opening-logo{grid-column:1;grid-row:2;max-width:240px}
 .opening-cast{grid-column:2;grid-row:2;height:120px;margin:0}
 .opening-cast .opening-friend{height:38px;bottom:0}
 .opening-letter{margin:4px 0 0;font-size:11px;line-height:1.6}
 .opening-letter small{font-size:10px}
 .opening-actions{margin-top:4px}
 .opening-screen .primary{min-height:48px;font-size:18px}
 .opening-screen .quiet{margin-top:2px;padding-top:4px;padding-bottom:4px}
 .opening-credit{margin-top:4px;font-size:9px}
}

.letter .king:before,.letter .king:after{content:none}

:root{--game-safe-bottom:env(safe-area-inset-bottom,0px)}
.play .exit-hud{padding-bottom:calc(10px + var(--game-safe-bottom))}
.play .progress{bottom:var(--game-safe-bottom)}
