:root{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;color:#283f3b;background:#f5f3ed;font-synthesis:none;--ink:#254c43;--muted:#67736c;--line:#d8ded5}*{box-sizing:border-box}body{margin:0}main{max-width:1050px;padding:42px 36px 28px;margin:auto}header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-size:clamp(30px,4vw,44px);font-weight:500;letter-spacing:.07em;line-height:1.3;margin:0 0 13px}#subtitle{font-size:12px;letter-spacing:.045em;margin:0;color:var(--muted);line-height:1.7}.language{display:flex;align-items:center;flex-shrink:0;gap:3px;margin-top:4px;color:#a0a79d}.language button{font:inherit;font-size:12px;min-height:44px;border:0;background:none;color:#6c756e;padding:6px 9px;border-bottom:2px solid transparent}.language button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}.intro{font-size:14px;line-height:1.9;margin:26px 0 25px;color:#596b61}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;isolation:isolate}.slot{aspect-ratio:4/3;perspective:1100px;position:relative;min-width:0}.card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .52s cubic-bezier(.2,.65,.3,1)}.slot.revealed .card{transform:rotateY(180deg)}.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border-radius:9px}.back{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e7e8db;background-color:#34574b;background-image:radial-gradient(ellipse at 50% 100%,transparent 44%,#dee6d910 45%,#dee6d910 47%,transparent 48%);background-size:28px 24px;box-shadow:0 3px 10px #243f3511;border:1px solid #436052}.back:before{content:"";position:absolute;inset:10px;border:1px solid #d9e4d32b;border-radius:3px}.emblem{width:34px;height:34px;display:grid;place-items:center;border:1px solid #c7d2bb80;transform:rotate(45deg);margin:0 0 17px}.emblem span{transform:rotate(-45deg);font-family:serif;font-size:17px}.brand{font-family:"Yu Mincho",serif;letter-spacing:.22em;font-size:18px}.back small{font-size:8px;letter-spacing:.23em;margin-top:10px;color:#c5d0be}.front{transform:rotateY(180deg);background:#e8e9e1;display:flex;flex-direction:column;border:1px solid #d8ded2;color:var(--ink);text-decoration:none}.media{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden;background:#eeeee8}.media img{height:100%;width:100%;object-fit:contain;display:block;position:absolute;inset:0}.caption{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:9px 12px;background:#fffefa;font-size:12px;min-height:37px}.caption small{display:block;font-size:9px;color:#7a8279}.front:hover .caption{background:#e6eee4}.play{position:absolute;display:grid;place-items:center;background:#a63f32ed;color:white;border-radius:12px;width:52px;height:36px;font-size:17px;padding-left:3px;box-shadow:0 2px 8px #0003}.controls{display:flex;justify-content:center;gap:12px;margin-top:27px}.controls button{font:inherit;font-size:15px;border-radius:999px;min-width:164px;min-height:49px;padding:10px 25px;border:1px solid var(--ink);transition:background .2s,opacity .2s}.start{background:var(--ink);color:#fff}.start.stop{background:#fdfbf6;color:var(--ink)}.controls button span:first-child{margin-right:7px}.controls button:not(:disabled):hover{background:#48705d;color:white}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b48a45;outline-offset:4px}.feedback{text-align:center;min-height:59px;font-size:12px;line-height:1.8;color:var(--muted)}#status{margin:14px 0 0}#warning{margin:4px 0 0;color:#885e38}#warning:empty{display:none}.retry{font:inherit;color:var(--ink);background:transparent;border:1px solid #a4b4a6;border-radius:20px;padding:9px 20px;margin-top:12px;min-height:44px}details{max-width:650px;margin:10px auto 16px;font-size:11px;text-align:left}summary{cursor:pointer;text-align:center}#errorText{overflow-wrap:anywhere}footer{display:flex;justify-content:center;gap:12px;border-top:1px solid var(--line);padding-top:21px;margin-top:12px}footer a{font-size:12px;min-height:44px;min-width:150px;padding:12px 18px;border:1px solid #c9d3c7;border-radius:5px;color:var(--ink);text-decoration:none;text-align:center;background:#fafaf5}footer a:hover{background:#e7ede2}footer span{margin-left:16px;color:#81917e}.deal-stage{position:relative;isolation:isolate}
.source-space{height:108px;display:flex;justify-content:center;align-items:flex-start;padding-top:6px;margin-bottom:16px}
.source-deck{position:relative;width:90px;height:64px;border-radius:7px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .12s,box-shadow .12s;box-shadow:0 3px 0 #b7c1b0,0 6px 0 #587262,0 9px 0 #b7c1b0,0 12px 16px #243f3520}
.source-deck .brand{font-size:13px;letter-spacing:.1em}
.source-deck:before{inset:6px}.source-deck:hover:not([aria-disabled=true]){transform:translateY(-2px)}.source-deck:active:not([aria-disabled=true]){transform:scale(.97)}.source-deck:focus-visible{outline:3px solid #b48a45;outline-offset:5px}.source-deck[aria-disabled=true]{cursor:default}
.pile,.top-card{position:absolute;inset:0}
.pile-layer{position:absolute;inset:0;border:1px solid #83977f;border-bottom:2px solid #b7c7a8;border-radius:9px;background:#34574b;pointer-events:none;box-shadow:0 2px 1px #243f3530}
.top-card{z-index:1}
.grid{row-gap:36px}
.flying-card{position:absolute;z-index:20;pointer-events:none;transform-origin:top left;will-change:transform;box-shadow:0 7px 15px #172c3440}
[hidden]{display:none!important}@media(max-width:640px){main{padding:27px 17px 24px}header{display:block;position:relative}h1{font-size:31px;letter-spacing:.04em}#subtitle{font-size:11px;max-width:100%}.language{justify-content:flex-end;margin:8px 0 -8px}.intro{font-size:12px;line-height:1.9;margin:21px 0 20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 12px}.slot{aspect-ratio:3/4}.caption{padding:8px;font-size:11px;min-height:37px}.brand{font-size:17px}.controls{gap:10px;margin-top:23px}.controls button{min-width:0;width:46%;max-width:190px;font-size:14px}.feedback{font-size:11px;min-height:60px}footer{gap:10px}footer a{min-width:0;flex:1;max-width:190px;padding:12px 8px}.back small{font-size:7px}.emblem{width:28px;height:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.grid.shuffling .back{background-color:#436657}}
