/* Album captions remain below square covers. Animation is only used for overflow. */
#folder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#folder-grid .folder-card{aspect-ratio:auto;height:auto;min-width:0;overflow:hidden;border:1px solid #dedee5;border-radius:16px;background:#fff;box-shadow:0 4px 14px #1d29350a;cursor:pointer}
#folder-grid .folder-cover,#folder-grid .folder-cover-empty{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
#folder-grid .folder-cover-empty{display:grid;place-items:center;background:#f1f3f7;color:#768093}
#folder-grid .folder-overlay{position:static;inset:auto;background:#fff;color:#252b36;padding:14px 14px 13px;display:block}
#folder-grid .folder-date{font-size:16px;font-weight:700;color:#697382;margin-bottom:7px;text-shadow:none}
#folder-grid .folder-title{font-size:21px;line-height:1.5;font-weight:800;color:#252b36;max-height:none;display:block;white-space:nowrap;text-overflow:clip;-webkit-line-clamp:unset;text-shadow:none}
.folder-title,.album-caption h3{overflow:hidden;white-space:nowrap;position:relative}
.album-title-text,.album-title-copy{display:inline-block;vertical-align:top;white-space:nowrap}
.album-title-copy{margin-left:32px}
.album-title-scrolling{display:flex!important;gap:0}
.album-title-scrolling>.album-title-text,.album-title-scrolling>.album-title-copy{flex-shrink:0;animation:album-title-flow var(--marquee-duration,12s) linear infinite}
.folder-card:hover .album-title-scrolling>span,.folder-card:focus-visible .album-title-scrolling>span,.album-card:hover .album-title-scrolling>span{animation-play-state:paused}
@keyframes album-title-flow{0%,12%{transform:translateX(0)}90%,100%{transform:translateX(calc(-1 * var(--marquee-distance)))}}
#folder-grid .folder-count-badge{position:static;display:inline-block;margin-top:9px;background:#f0f2f6;color:#667082;border-radius:7px;padding:3px 7px;font-size:12px}
.folder-card:focus-visible{outline:3px solid #825dba;outline-offset:3px}
.couple-source-stage{height:min(88dvh,960px);min-height:520px;background:#0c101b;border-radius:0 0 18px 18px;overflow:hidden}
.couple-source-frame{width:100%;height:100%;display:block;border:0;background:#0c101b}
/* Shared game chrome; original controls and mode selectors are kept. */
#arcade-modal .arcade-window{background:#f5f6fa}
#arcade-modal .arcade-card{border:1px solid #dfe3ec;border-radius:18px;box-shadow:0 3px 12px #1b243908}
#arcade-modal .arcade-card:active{transform:scale(.98)}
#omok-game-modal .apple-game-window,#alggakgi-game-modal .apple-game-window,#catchmind-game-modal .apple-game-window{background:#f3f5fa;border:1px solid #dfe4ee;border-radius:22px;overflow:hidden;color:#24304b}
#apple-game-modal .apple-game-header,#tetris-game-modal .apple-game-header,#omok-game-modal .apple-game-header,#alggakgi-game-modal .apple-game-header,#catchmind-game-modal .apple-game-header{background:#141c30!important;color:#fff;padding:13px 14px;border-bottom:1px solid #27334f}
#omok-game-modal .apple-game-title,#alggakgi-game-modal .apple-game-title,#catchmind-game-modal .apple-game-title{font-size:23px;letter-spacing:-.7px;color:#fff}
#omok-game-modal .apple-stage,#alggakgi-game-modal .apple-stage,#catchmind-game-modal .apple-stage{padding:18px;max-width:100%;box-sizing:border-box}
#omok-game-modal button,#alggakgi-game-modal button,#catchmind-game-modal button{min-height:42px;font-weight:700;max-width:100%}
#omok-canvas,#alggakgi-canvas{display:block;width:100%;height:auto;max-width:460px;margin:auto;border-radius:12px;box-shadow:0 12px 28px #17223c24;touch-action:none}
#catchmind-canvas,#catchmind-solve-canvas{max-width:100%;height:auto;touch-action:none;border-radius:12px}
.catchmind-canvas-wrap{border:1px solid #d7deea!important;border-radius:14px!important;background:#fff;box-shadow:0 7px 22px #18223d0d}
.catchmind-toolbar{flex-wrap:wrap;gap:8px!important}
.catchmind-color{width:34px!important;height:34px!important;min-height:34px!important;border:3px solid #fff;box-shadow:0 0 0 1px #cdd4e0}
.catchmind-color.active{box-shadow:0 0 0 3px #687cb5}
.catchmind-keyword-card{border:1px solid #d3dced!important;background:#fff!important;color:#22304d!important;box-shadow:0 8px 20px #1b274c0a!important;font-size:32px!important}
#catchmind-answer-input{font-size:17px;min-width:0;min-height:46px}
@media(min-width:740px){#folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(max-width:360px){#folder-grid{gap:9px}#folder-grid .folder-overlay{padding:11px 10px}#folder-grid .folder-title{font-size:18px}#folder-grid .folder-date{font-size:14px}.couple-source-stage{height:86dvh;min-height:480px}#omok-game-modal .apple-stage,#alggakgi-game-modal .apple-stage,#catchmind-game-modal .apple-stage{padding:12px}}
@media(prefers-reduced-motion:reduce){.album-title-scrolling>span{animation:none}.album-title-copy{display:none!important}.folder-title,.album-caption h3{overflow-x:auto}}
