.oldmaid-page-shell{background:radial-gradient(circle at 50% 45%, #c14c3e14, transparent 34rem), var(--paper)}.oldmaid-brand-mark{justify-content:center;align-items:center;gap:2px;display:flex}.oldmaid-brand-mark i{border:2px solid var(--paper);background:var(--green-dark);width:25px;height:33px;color:var(--cream);border-radius:5px;place-items:center;font:800 12px DM Sans,sans-serif;display:grid;box-shadow:0 3px 7px #00000024}.oldmaid-brand-mark i:first-child{margin-right:-10px;transform:rotate(-9deg)}.oldmaid-brand-mark i:last-child{background:var(--red);transform:rotate(9deg)}.hero{padding:18px 20px 14px}.hero h1{font-size:clamp(28px,3.2vw,38px)}.oldmaid-settings{grid-template-columns:1fr;width:min(360px,100% - 40px);margin-bottom:13px}.oldmaid-settings .mode-heading,.oldmaid-settings .mode-field,.oldmaid-settings>p{grid-column:1}.oldmaid-settings select:disabled{cursor:not-allowed;opacity:.62}.oldmaid-game{width:min(980px,100% - 28px);margin:0 auto}.oldmaid-stats{grid-template-columns:repeat(3,minmax(90px,145px));justify-content:center;gap:8px;margin-bottom:9px;display:grid}.oldmaid-stats>div{text-align:center;background:#ffffff52;border:1px solid #172a271c;border-radius:9px;padding:9px 12px}.oldmaid-stats span{color:var(--red);letter-spacing:.16em;margin-bottom:2px;font-size:7px;font-weight:800;display:block}.oldmaid-stats strong{font-size:17px}.oldmaid-status{min-height:21px;color:var(--muted);text-align:center;margin:0 0 9px;font-family:Noto Sans JP,sans-serif;font-size:10px}.card-table{background:radial-gradient(circle at 50% 42%,#ffffff4d,#0000 15rem),repeating-linear-gradient(115deg,#0000 0 29px,#4d392606 30px 32px),#d8c7a8;border:1px solid #172a2724;border-radius:24px;grid-template-rows:minmax(155px,auto) minmax(190px,auto);grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);gap:12px;padding:17px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 7px #ffffff2e,0 18px 44px #2830241f}.player-zone{background:#fffaf04d;border:1px solid #172a2721;border-radius:14px;min-width:0;padding:10px;transition:all .18s}.player-zone.active{background:#fffaf0a8;border-color:#d75a4394;box-shadow:0 0 0 3px #d75a4314}.player-zone header{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:8px;font-family:Noto Sans JP,sans-serif;display:flex}.player-zone header span{font-size:10px;font-weight:800}.player-zone header b{color:var(--muted);font-size:8px}.opponent-hand,.human-hand{justify-content:center;align-items:end;min-height:110px;padding:8px 18px 5px;display:flex;overflow:visible}.opponent-hand .playing-card+.playing-card{margin-left:clamp(-35px,-3.5vw,-22px)}.playing-card{aspect-ratio:3/4;border:2px solid #fffaf0db;border-radius:7px;flex:none;width:clamp(48px,5.7vw,62px);padding:0;font-family:DM Sans,sans-serif;position:relative;overflow:hidden;box-shadow:0 7px 13px #142b2438}.playing-card.back{background:repeating-linear-gradient(45deg, #ffffff12 0 4px, transparent 4px 9px), var(--green-dark);color:#fffaf0b8;cursor:default;place-items:center;display:grid}.playing-card.back:not(:disabled){cursor:pointer;transition:transform .14s,filter .14s}.playing-card.back:not(:disabled):hover,.playing-card.back:not(:disabled):focus-visible{z-index:20;filter:brightness(1.15);outline-offset:2px;outline:3px solid #ffee8a;transform:translateY(-8px)rotate(1deg)}.card-back-mark{aspect-ratio:1;border:1px solid #fffaf07a;border-radius:50%;place-items:center;width:58%;display:grid;position:relative}.card-back-mark:before{aspect-ratio:1;content:"";border:1px solid;width:34%;transform:rotate(45deg)}.playing-card.face{background:var(--cream);color:var(--ink)}.playing-card.face.hearts,.playing-card.face.diamonds{color:var(--red)}.card-corner{text-align:center;line-height:.9;display:grid;position:absolute;top:5px;left:6px}.card-corner b{font-size:12px}.card-corner i{font-size:10px;font-style:normal}.card-suit{font-size:clamp(24px,3.2vw,34px);position:absolute;top:50%;left:50%;transform:translate(-50%,-45%)}.playing-card.joker{color:var(--ink);background:linear-gradient(145deg, #d85a4314, transparent 45%), var(--cream)}.joker-design{color:var(--red);display:block;position:absolute;inset:0}.joker-name{color:var(--red);letter-spacing:.08em;font-size:5px;font-weight:800;position:absolute;top:5px;left:6px}.joker-name-bottom{inset:auto 6px 5px auto;transform:rotate(180deg)}.joker-clown{fill:none;stroke:currentColor;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;width:39px;height:39px;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.joker-clown .joker-fill{fill:currentColor;stroke:none}.playing-card.just-drawn{animation:.42s cubic-bezier(.2,.8,.25,1) card-arrive}.human-zone{grid-column:1/-1}.human-hand{flex-wrap:wrap;align-content:center;align-items:center;gap:7px;min-height:132px;padding:10px 18px}.human-hand .playing-card{width:clamp(49px,5.6vw,60px)}.human-hand.empty{color:var(--muted);align-items:center;font-family:Noto Sans JP,sans-serif;font-size:10px}.table-center{color:#172a2773;letter-spacing:.2em;align-content:center;justify-items:center;font-size:7px;font-weight:800;display:grid}.table-center strong{color:var(--red);font-size:38px;line-height:1.2}.draw-reveal{z-index:25;opacity:0;pointer-events:none;background:#e8dcc5;place-content:center;justify-items:center;gap:10px;transition:opacity .14s;display:grid;position:absolute;inset:0}.draw-reveal[hidden]{display:none}.draw-reveal.visible{opacity:1}.draw-reveal-cards{justify-content:center;align-items:center;gap:12px;min-height:118px;display:flex}.draw-reveal .playing-card{border-width:3px;width:78px;box-shadow:0 14px 28px #0b231d4d}.draw-reveal strong{color:var(--cream);background:var(--red);letter-spacing:.08em;border-radius:99px;padding:6px 14px;font:800 14px Noto Sans JP,sans-serif}.draw-reveal>span{color:var(--ink);font:700 10px Noto Sans JP,sans-serif}.draw-reveal.is-pair.visible .playing-card{animation:.72s cubic-bezier(.2,.8,.2,1) both reveal-pair;box-shadow:0 0 0 5px #ffee8a3d,0 14px 30px #0b231d4d}.draw-reveal.is-pair.visible .playing-card:first-child{transform:rotate(-5deg)}.draw-reveal.is-pair.visible .playing-card:nth-child(2){animation-delay:70ms;transform:rotate(5deg)}.draw-reveal.is-miss.visible .playing-card{animation:.43s .26s both reveal-miss}.draw-reveal.is-miss strong{color:var(--ink);background:var(--cream);border:1px solid #172a2740;box-shadow:0 4px 12px #172a271a}.result-joker,.guide-joker{width:52px;height:68px;color:var(--red);border:3px solid var(--paper);background:var(--cream);border-radius:7px;flex:none;place-items:center;display:grid;position:relative;transform:rotate(-5deg);box-shadow:0 5px 12px #172a272e}.result-joker{margin:0 auto 13px}.result-odd-card{color:var(--ink);overflow:hidden}.result-odd-card.hearts,.result-odd-card.diamonds{color:var(--red)}.result-odd-card .card-corner{top:5px;left:6px}.result-odd-card .card-corner b{font-size:12px}.result-odd-card .card-suit{font-size:27px;top:50%;left:50%;transform:translate(-50%,-45%)}@keyframes card-arrive{0%{opacity:.3;transform:translateY(-26px)rotate(7deg)}}@keyframes reveal-pair{0%{opacity:0;transform:translateY(-24px)scale(.82)}55%{opacity:1;transform:translateY(0)scale(1.08)}to{opacity:1}}@keyframes reveal-miss{0%,to{transform:translate(0)}30%{transform:translate(-4px)rotate(-1deg)}65%{transform:translate(4px)rotate(1deg)}}@media (width<=650px){.card-table{border-radius:17px;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);gap:7px;padding:10px}.table-center{display:none}.human-zone{grid-column:1}.player-zone{min-width:0;padding:8px 7px}.opponent-hand{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:#172a273d transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:7px;min-height:93px;padding:8px 10px 11px;overflow-x:auto}.opponent-hand .playing-card{scroll-snap-align:start}.opponent-hand .playing-card+.playing-card{margin-left:0}.playing-card{width:48px}.human-hand{gap:5px;min-height:113px;padding:8px 5px}.human-hand .playing-card{width:47px}.draw-reveal .playing-card{width:70px}}@media (prefers-reduced-motion:reduce){.playing-card.just-drawn,.draw-reveal.is-pair.visible .playing-card,.draw-reveal.is-miss.visible .playing-card{animation-duration:.01ms}}
