.arcade-page{--arc-plum:#4f2a56;--arc-rose:#a33f53;--arc-line:#e5d9df}.arcade-page *{box-sizing:border-box}.arc-landing{padding-block:36px 56px}.arc-back{display:inline-flex;align-items:center;min-height:32px;color:var(--arc-plum);font-size:14px;text-decoration:underline;text-underline-offset:4px}.arc-heading{margin:14px 0 30px;max-width:740px}.arc-heading h1{font-size:clamp(32px,5vw,48px);line-height:1.1;margin:0 0 18px;color:var(--arc-plum)}.arc-heading p{font-size:18px;line-height:1.6;margin:0}.arc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.arc-card{border:1px solid var(--arc-line);border-radius:2px;overflow:hidden;background:white}.arc-preview{display:block;aspect-ratio:3/2;background:#f7f9fa;overflow:hidden}.arc-preview img{width:100%;height:100%;object-fit:cover;display:block}.arc-card-copy{padding:24px}.arc-card h2{font-size:24px;line-height:1.2;margin:0 0 12px;color:var(--arc-plum)}.arc-card p{font-size:16px;line-height:1.5;margin:0 0 22px}.arc-button,.arc-small{font:inherit;cursor:pointer;border-radius:2px;border:1px solid var(--arc-plum);padding:11px 20px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;background:var(--arc-plum);color:white!important}.arc-button:hover{background:#613568}.arc-small{font-size:14px;padding:8px 12px;background:white;color:var(--arc-plum)!important}.arc-small:disabled{opacity:.45;cursor:default}.arcade-page :focus-visible{outline:3px solid #267db0;outline-offset:3px}.arc-note,.arc-local{font-size:13px;line-height:1.5;color:#635b65;margin:20px 0 0}.arc-game{width:min(640px,100% - 32px);margin:18px auto 36px}.arc-game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.arc-game-heading h1{font-size:clamp(22px,4vw,30px);line-height:1.2;color:var(--arc-plum);margin:0}.arc-toolbar{border-top:1px solid var(--arc-line);border-bottom:1px solid var(--arc-line);padding:12px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.arc-scores{display:flex;align-items:center;gap:18px;font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums}.arc-scores strong{font-size:21px;color:var(--arc-plum)}.arc-controls{display:flex;gap:6px;align-items:center}.arc-difficulty{font-size:14px;display:flex;align-items:center;gap:7px}.arc-difficulty select{font:inherit;color:var(--arc-plum);min-height:44px;background:white;border:1px solid var(--arc-line);border-radius:2px;padding:5px}.arc-instruction{font-size:14px;line-height:1.5;margin:12px 0}.arc-play{position:relative;width:min(100%,520px,calc(100svh - 320px));min-width:260px;aspect-ratio:1;margin:auto;touch-action:none;user-select:none;isolation:isolate;border-radius:14px;outline-offset:5px}.arc-play #board{width:100%;height:100%;overflow:hidden;border-radius:inherit}.arc-play canvas{width:100%;height:100%;display:block;touch-action:none}.grossing-ninja{border:10px solid #e9edef;background:#fff;box-shadow:inset 0 0 0 2px #dfe5e7}.microtomy-snake{width:min(100%,520px,calc(100svh - 410px));min-width:245px;border:8px solid #cfdee2;background:linear-gradient(140deg,#f5fcfe,#e0f2f6);box-shadow:inset 0 0 0 2px #a4c4cf}.embedding-shuffle{width:min(100%,520px,calc(100svh - 400px));min-width:280px;padding:14px;border:9px solid #bcc9d3;background:#dce4eb;box-shadow:inset 0 0 0 3px #edf3f7}.cytology-crush{background:#f9fbfc;padding:12px}.arc-overlay{position:absolute;inset:0;z-index:5;background:#ffffffeb;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;border-radius:inherit}.arc-overlay[hidden]{display:none}.arc-overlay h2{font-size:24px;line-height:1.25;color:var(--arc-plum);margin:0 0 12px}.arc-overlay p{font-size:16px;line-height:1.5;margin:0 0 20px}.arc-status{min-height:24px;text-align:center;color:var(--arc-plum);font-size:14px;line-height:1.5;margin:8px 0}.arc-game .arc-local,.arc-game .arc-note{text-align:center;margin:8px 0}.arc-grid{display:grid;width:100%;height:100%;position:relative}.snake-grid{grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(14,1fr);background-image:linear-gradient(#b4d9e633 1px,transparent 1px),linear-gradient(90deg,#b4d9e633 1px,transparent 1px);background-size:calc(100% / 14) calc(100% / 14)}.snake-square{min-width:0;min-height:0;position:relative}.snake-square.ribbon{background:#fbf5dca8;box-shadow:inset 0 0 0 1px #b8a9ba}.snake-square img{width:100%;height:100%;display:block;object-fit:contain}.snake-square.head{outline:2px solid #7b4c89;outline-offset:-2px}.snake-square.food{background:#fff9ef;border-radius:50%;box-shadow:inset 0 0 0 2px #a75b78}.arc-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,42px);justify-content:center;gap:4px;margin-top:10px}.arc-pad button{min-height:42px;padding:5px;font-size:23px;touch-action:manipulation}.arc-pad button:first-child{grid-column:2}.arc-pad button:nth-child(2){grid-column:1;grid-row:2}.arc-pad button:nth-child(3){grid-column:2;grid-row:2}.arc-pad button:nth-child(4){grid-column:3;grid-row:2}.embed-grid{gap:5px;background:#9dabbc;border:3px solid #9dabbc;border-radius:4px}.embed-tile{position:relative;border:1px solid #a98e69;background:#f8e9bb;border-radius:3px;padding:0;cursor:pointer;min-width:0;min-height:0;overflow:hidden;touch-action:none}.embed-tile img{position:absolute;inset:7%;width:86%;height:86%;object-fit:contain}.embed-tile:after{content:"";position:absolute;inset:0;background:white;opacity:var(--cloud,0);pointer-events:none}.embed-tile span{position:relative;z-index:1;background:#ffffffeb;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;margin:3px;border-radius:3px;font-weight:700;font-size:16px;color:#34253c;float:left}.embed-tile.empty{background:#8f9eae;border:0;cursor:default}.arc-cooling{max-width:520px;margin:10px auto 0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 16px;font-size:14px;font-variant-numeric:tabular-nums}.arc-cooling progress{width:100%;height:10px;accent-color:#4f8d96;grid-column:1/-1}.arc-target{font-size:13px;color:#554e5c;margin:8px auto;display:flex;gap:10px;align-items:center;justify-content:center}.arc-target-grid{display:grid;gap:1px;width:72px;height:72px}.arc-target-grid span{font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;background:#f7e9c8;color:#3e3247}.arc-target-grid span:last-child{background:#b7c5d0}.arc-cassette{position:absolute;inset:17%;z-index:4;pointer-events:none}.arc-cassette img{width:100%;height:100%;object-fit:contain;animation:arc-snap .35s ease-out}.crush-grid{grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:3px}.cell-button{position:relative;border:1px solid #e8e7ec;border-radius:8px;background:#ffffffb3;padding:2px;min-width:0;min-height:0;cursor:pointer;touch-action:none;overflow:visible}.cell-button img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.cell-button.selected{outline:3px solid var(--arc-plum);outline-offset:-2px;background:#eee4f4}.cell-button.clearing{opacity:.15;transform:scale(.7);transition:transform .16s,opacity .16s}.cell-button.falling img{animation:arc-enter .18s ease-out}.cell-button.invalid{animation:arc-reject .24s}.cell-badge{position:absolute;right:0;bottom:0;border:1px solid #4f2a56;color:#4f2a56;background:white;border-radius:3px;font-size:17px;font-weight:bold;line-height:20px;min-width:22px;text-align:center;pointer-events:none}.rainbow-cell{background:conic-gradient(#f5dbb6,#d5edda,#cce4f4,#e3cef2,#f3cfdb,#f5dbb6)}.arc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes arc-snap{from{transform:translateY(-25%) scale(1.06);opacity:0}to{transform:none;opacity:1}}@keyframes arc-enter{from{transform:translateY(-30%);opacity:.25}to{transform:none;opacity:1}}@keyframes arc-reject{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:600px){.arc-cards{grid-template-columns:1fr;gap:22px}.arc-card-copy{padding:20px}.arc-game{margin-top:10px;width:calc(100% - 24px)}.arc-game-heading{margin-bottom:8px}.arc-toolbar{padding:7px 0;gap:6px}.arc-controls{justify-content:space-between;width:100%}.arc-scores{width:100%;justify-content:space-between}.arc-difficulty{margin-right:auto}.arc-instruction{margin:8px 0;font-size:13px}.arc-play{width:min(100%,calc(100svh - 340px));min-width:260px}.microtomy-snake{width:min(100%,calc(100svh - 420px));min-width:245px}.embedding-shuffle{width:min(100%,calc(100svh - 425px));min-width:280px;padding:8px;border-width:6px}.cytology-crush{padding:5px}.arc-target-grid{width:56px;height:56px}.embed-tile span{font-size:14px;min-width:22px;height:22px;margin:1px}.arcade-game-page #rellan-slide-header .rs-header-inner{min-height:68px;padding-block:10px}.arcade-game-page .rl-footer{margin-top:32px}.arc-status{margin:5px 0}.arc-cooling{margin-top:6px}}
@media(max-height:550px) and (min-width:600px){.arc-game{width:calc(100% - 32px);max-width:850px;display:grid;grid-template-columns:280px 1fr;gap:0 22px}.arc-game-heading,.arc-toolbar,.arc-instruction,#game-extra,.arc-status,.arc-local,.arc-note{grid-column:1}.arc-game-heading{display:block}.arc-play{grid-column:2;grid-row:1/8;min-width:0;width:min(100%,calc(100svh - 105px));align-self:start}.arc-controls{flex-wrap:wrap}.arc-scores{width:100%}.arcade-game-page #rellan-slide-header .rs-header-inner{min-height:65px;padding-block:8px}.arc-game .arc-note{display:none}}
@media(prefers-reduced-motion:reduce){.arcade-page *, .arcade-page *:before,.arcade-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.arc-play[data-paused] *{animation-play-state:paused!important}

.embed-tile.moving{animation:arc-tile-slide .14s ease-out;z-index:2}@keyframes arc-tile-slide{from{transform:translate(var(--tile-x),var(--tile-y))}to{transform:none}}
.embedding-shuffle + #game-extra{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:520px;margin:8px auto 0}.embedding-shuffle + #game-extra .arc-cooling{flex:1;margin:0}.embedding-shuffle + #game-extra .arc-target{margin:0;gap:6px}.embedding-shuffle + #game-extra .arc-target>span:last-child{display:none}
@media(max-width:600px) and (max-height:690px){.arcade-game-page #rellan-slide-header .rs-header-inner{min-height:54px;padding-block:5px}.arcade-game-page #rellan-slide-header .rs-brand{--logo-width:120px}.arc-game{margin-top:6px}.arc-game-heading{margin-bottom:4px}.arc-toolbar{padding-block:4px}.arc-scores strong{font-size:18px}.arc-scores{line-height:1.35}.arc-instruction{font-size:12px;margin:5px 0;line-height:1.4}.embedding-shuffle + #game-extra .arc-target{flex-direction:column;font-size:12px;gap:1px}.embedding-shuffle + #game-extra .arc-target-grid{width:46px;height:46px}.embedding-shuffle + #game-extra .arc-target>span:first-child{font-size:11px}.arc-status{font-size:12px}.arc-pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,38px);gap:3px;margin-top:6px}.arc-pad button{min-height:38px}}

/* Lightweight transform-only game animation, advanced by the active-game clock. */
.arc-back{gap:8px}.arc-back .gm-back-arrow{display:block;flex:none;width:16px;height:16px}.cytology-crush{border-radius:10px;background:#f4f2f7;border:1px solid #e6e0eb}.cytology-crush #board{position:relative;border-radius:5px}.crush-grid{isolation:isolate}.cell-button{border:0;background:rgba(255,255,255,.66);border-radius:8px;padding:1px;contain:layout style}.cell-button img{filter:none}.cell-button.selected{background:#eadcf2;box-shadow:inset 0 0 0 2px #764582;outline:0}.cell-button.clearing,.cell-button.falling img,.cell-button.invalid{animation:none;transition:none}.crush-effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}.rainbow-cell{background:conic-gradient(#f8dbb9,#d9f1dc,#cdeafa,#e8d7f6,#f6d4e3,#f8dbb9)}

/* The picture well sits inside the illustrated metal base mold. */
.embedding-shuffle{background:#cad4df url('/arcade-embedding-mold.webp?v=anatomy-2') center/100% 100% no-repeat;border:0;padding:0;box-shadow:none;border-radius:5px;min-width:min(100%,320px)}
.arc-play.embedding-shuffle #board{position:absolute;left:20.755%;top:29.541%;width:59.497%;height:40.092%;border-radius:10%;overflow:hidden}
.embed-grid{gap:1px;background:#dfe3e6;border:0;border-radius:3px}
.embed-tile{background-color:#f4f6f7;background-image:url('/arcade-embedding-picture.webp?v=anatomy-2');background-repeat:no-repeat;border:0;border-radius:0;box-shadow:inset 0 0 0 1px #ffffff55}
.embed-tile.empty{background-image:none;background-color:#c9d0d5;box-shadow:inset 0 0 18px #78868f55;border:1px dashed #f4f7f9}
.embed-grid.completed{gap:0}.embed-grid.completed .embed-tile.empty{background-image:url('/arcade-embedding-picture.webp?v=anatomy-2');border:0;box-shadow:none}.embed-grid.completed .embed-tile{box-shadow:none}
.embed-target{border:0;background:none;padding:0;color:#4f2a56;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:3px;font-size:12px!important}
.embed-target img{display:block;width:72px;height:72px;border:1px solid #c1c9d2;border-radius:3px}.embedding-shuffle + #game-extra .arc-target>span:last-child{display:block}
.embed-reference{position:absolute;inset:0;z-index:4;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center}.embed-reference[hidden]{display:none}.embed-reference img{width:100%;height:100%;object-fit:contain}.embed-reference .arc-button{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:14px;padding:8px 12px;box-shadow:0 2px 10px #29333d35}
.embedding-shuffle .arc-cassette{inset:20%;animation:embed-cassette-delay 1.05s both}.embedding-shuffle .arc-cassette img{animation:none}@keyframes embed-cassette-delay{0%,45%{opacity:0;transform:translateY(-15%) scale(1.04)}75%,100%{opacity:1;transform:none}}
@media(max-width:600px){.embedding-shuffle{border:0;padding:0;min-width:min(100%,320px)}.embed-target img{width:60px;height:60px}.embedding-shuffle + #game-extra{gap:8px}.arc-game-heading{gap:8px}.arc-back{flex-shrink:0}}
@media(max-height:550px) and (min-width:600px){.embedding-shuffle{min-width:0}}

.arc-scores strong{display:inline-block;transform-origin:center}

/* A low flotation bath, with the playable water area inside its metal rim. */
.microtomy-snake{background:#fff url('/arcade-water-bath.webp?v=art-3') center/100% 100% no-repeat;border:0;box-shadow:none;border-radius:3px}
.arc-play.microtomy-snake #board{position:absolute;left:14.514%;top:9.569%;width:70.495%;height:70.495%;border-radius:0;outline:1px solid #d8f5f833}
.snake-grid{background-image:linear-gradient(#cbe6eb12 1px,transparent 1px),linear-gradient(90deg,#cbe6eb12 1px,transparent 1px)}
.snake-square.ribbon{background:transparent;box-shadow:none}
.snake-square img{object-fit:fill}
.snake-square.head{outline:2px solid #d9c4e6;outline-offset:-2px}
.snake-square.food{background:transparent;border-radius:0;box-shadow:0 0 0 1px #fcefc1,0 0 8px #fcefc188}

.arc-button,.arc-small{border-radius:0}
.arc-card-actions,.arc-share-actions{display:flex;gap:10px;flex-wrap:wrap}
.arc-share-trigger{background:var(--arc-plum);color:white!important}
.arc-share-trigger:hover{background:#613568}
.arc-share-dialog{font-family:Arial,sans-serif;color:#514754;background:white;border:1px solid #d2c0d5;border-top:3px solid #4f2a56;border-radius:0;padding:24px;width:min(520px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;box-shadow:0 12px 45px #21172540}
.arc-share-dialog::backdrop{background:#27182f77}
.arc-share-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.arc-share-heading h2{font-size:24px;line-height:1.25;color:#4f2a56;margin:0}
.arc-share-detail{font-size:14px;line-height:1.5;margin:14px 0 20px}
.arc-share-dialog label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.arc-share-dialog textarea{display:block;resize:vertical;width:100%;min-height:145px;border:1px solid #d2c0d5;border-radius:0;background:#faf7fb;color:#4f2a56;font:inherit;font-size:16px;line-height:1.55;padding:12px;margin-bottom:18px}
.arc-share-dialog [hidden]{display:none}
.arc-share-status{font-size:14px;line-height:1.5;margin:12px 0 0;min-height:21px}
@media(max-width:600px){.arc-scores{gap:10px;font-size:14px}.arc-share-dialog{padding:20px}.arc-share-heading h2{font-size:21px}.arc-share-actions .arc-button{font-size:14px;padding:10px 12px}}

/* Saturated cell art against a light microscopic field. */
.cytology-crush{background:linear-gradient(145deg,#edfaff,#f6edff);border-color:#d9d0ec}
.cytology-crush .cell-button{background:color-mix(in srgb,var(--cell-color,#bde5f3) 9%,white);box-shadow:inset 0 0 0 1px #ffffffb8;padding:0}
.cytology-crush .cell-button.selected{background:color-mix(in srgb,var(--cell-color,#bde5f3) 22%,white);box-shadow:inset 0 0 0 2px #68407d,0 0 10px #a669c252}
.cytology-crush .rainbow-cell{background:conic-gradient(#ffd452,#fc75ad,#bd7aff,#6fd8ff,#a7e653,#ffd452)}

/* Portrait stamped mold, with the puzzle in its smaller central recess. */
.arc-play.embedding-shuffle{aspect-ratio:795 / 1090;width:min(100%,450px);min-width:0}
@media(max-width:600px){.arc-play.embedding-shuffle{width:min(100%,340px)}}

.arc-share-dialog{width:min(680px,calc(100% - 32px))}
.arc-share-card-preview{margin:0 0 20px;border:1px solid #e5d9df;background:#faf8fb}
.arc-share-card-preview img{display:block;width:100%;height:auto}
.arc-share-card-preview p{margin:0;padding:36px 20px;text-align:center;color:#655769;font-size:14px}
.arc-share-dialog textarea{min-height:108px;font-size:14px;margin-bottom:16px}
.arc-share-actions .arc-button{font-size:14px;padding:10px 14px}
.arc-share-actions .arc-button:disabled{opacity:.5;cursor:wait}

.arc-best{display:flex;flex-direction:column;gap:2px;line-height:1.15}.arc-best #best-label{font-size:12px;font-weight:500}.arc-best strong{font-size:21px}

.arc-controls{flex-wrap:wrap}

/* A continuous paraffin ribbon is painted over the accessible bath grid. */
.microtomy-snake #board{overflow:hidden}
.snake-grid{opacity:.55}
.snake-square.head,.snake-square.food{outline:0;box-shadow:none}
.snake-ribbon-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.arc-play.microtomy-snake{width:min(100%,560px,calc(100svh - 330px));min-width:min(100%,300px)}
@media(max-width:600px){.arc-play.microtomy-snake{width:min(100%,430px);min-width:0}}

/* Two aligned toolbar rows keep score and controls visually separate. */
.arc-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 0}
.arc-toolbar .arc-scores{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;white-space:normal}
.arc-score,.arc-toolbar .arc-best{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.arc-score-label,.arc-toolbar #best-label{font-size:13px;font-weight:400;line-height:1.25;color:#655769}
.arc-toolbar .arc-scores strong{font-size:26px;line-height:1;font-weight:700}
.arc-toolbar .arc-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:8px;width:100%}
.arc-toolbar .arc-difficulty{margin-right:auto;min-width:0;font-size:13px;gap:7px}
.arc-toolbar .arc-difficulty select{font-size:14px;min-height:40px;padding:5px 7px}
.arc-toolbar .arc-small{font-size:14px;line-height:1.2;min-height:40px;padding:8px 12px;flex-shrink:0}
.arc-toolbar .arc-mute{width:40px;padding:8px}
.arc-mute svg{display:block;pointer-events:none}
.arc-mute[aria-pressed="true"]{background:#f3edf5}
@media(max-width:600px){.arc-toolbar{gap:10px;padding:10px 0}.arc-toolbar .arc-scores{gap:10px}.arc-toolbar .arc-controls{gap:6px}.arc-toolbar .arc-small{padding:8px 10px}.arc-toolbar .arc-mute{padding:8px}.arc-toolbar .arc-difficulty{gap:5px}.arc-score-label,.arc-toolbar #best-label{font-size:12px}}
@media(max-width:350px){.arc-toolbar .arc-difficulty{flex-direction:column;align-items:flex-start;gap:2px}.arc-toolbar .arc-controls{align-items:flex-end}}
@media(max-height:550px) and (min-width:600px){.arc-toolbar .arc-controls{gap:6px;align-items:flex-end}.arc-toolbar .arc-small{padding:8px 10px}.arc-toolbar .arc-mute{padding:8px}.arc-toolbar .arc-difficulty{flex-direction:column;align-items:flex-start;gap:2px}}
