@import "https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@700&family=Noto+Sans+JP:wght@500;700;900&display=swap";:root{color:#f8eedb;font-synthesis:none;--red:#d83a2e;--red-dark:#9e241e;--gold:#f5b942;--cream:#fff4dc;--ink:#251915;--panel:#241a16;--line:#4f3930;background:#140f0d;font-family:Noto Sans JP,sans-serif}*{box-sizing:border-box}body{background:#140f0d;min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}body:before{content:"";pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");position:fixed;inset:0}.eyebrow{color:var(--gold);letter-spacing:.18em;margin:0 0 6px;font-size:11px;font-weight:900}.primary-button,.secondary-button{border:0;border-radius:12px;min-height:56px;padding:0 24px;font-size:17px;font-weight:900}.primary-button{color:#fff;background:linear-gradient(#e74a39,#b92820);box-shadow:0 5px #741914,0 9px 22px #0007}.primary-button:active{transform:translateY(3px);box-shadow:0 2px #741914}.secondary-button{color:var(--cream);background:#2b1f1a;border:1px solid #806253}.full{width:100%}.title-page{background:radial-gradient(circle at 50% 36%,#5d241c 0,#291713 35%,#0000 63%),repeating-linear-gradient(90deg,#0000 0 49px,#ffffff05 50px 51px),#140f0d;place-items:center;min-height:100vh;padding:48px 20px 72px;display:grid;position:relative;overflow:hidden}.title-page:after{content:"";pointer-events:none;border:1px solid #d69a3b33;position:absolute;inset:18px}.title-card-scatter{pointer-events:none;position:absolute;inset:0;overflow:hidden}.title-card-scatter:after{content:"";background:radial-gradient(circle,#140f0ddb 0 24%,#140f0d4d 58%,#0000 82%);position:absolute;inset:0}.title-card-face{aspect-ratio:1054/1492;opacity:.58;background:#fff;border:5px solid #eee3d2;border-radius:9px;place-items:center;width:clamp(68px,7vw,104px);display:grid;position:absolute;overflow:hidden;box-shadow:0 14px 30px #0009}.title-card-face .card-face-content{width:100%;height:100%}.title-card-face:has(img){border:0}.title-card-face .mini-piece{transform:scale(.62)}.title-card-face strong{white-space:nowrap;padding:3px;font-size:clamp(6px,.7vw,9px);line-height:1.4}.title-card-face:first-child{top:4%;left:2%;transform:rotate(-18deg)}.title-card-face:nth-child(2){top:-3%;left:16%;transform:rotate(10deg)}.title-card-face:nth-child(3){top:7%;left:29%;transform:rotate(-7deg)}.title-card-face:nth-child(4){top:-4%;right:29%;transform:rotate(16deg)}.title-card-face:nth-child(5){top:5%;right:15%;transform:rotate(-12deg)}.title-card-face:nth-child(6){top:16%;right:1%;transform:rotate(21deg)}.title-card-face:nth-child(7){top:35%;left:-2%;transform:rotate(14deg)}.title-card-face:nth-child(8){top:43%;left:12%;transform:rotate(-21deg)}.title-card-face:nth-child(9){top:39%;right:11%;transform:rotate(18deg)}.title-card-face:nth-child(10){top:53%;right:-2%;transform:rotate(-11deg)}.title-card-face:nth-child(11){bottom:5%;left:3%;transform:rotate(-13deg)}.title-card-face:nth-child(12){bottom:-5%;left:20%;transform:rotate(19deg)}.title-card-face:nth-child(13){bottom:3%;left:35%;transform:rotate(-8deg)}.title-card-face:nth-child(14){bottom:-6%;right:31%;transform:rotate(12deg)}.title-card-face:nth-child(15){bottom:4%;right:15%;transform:rotate(-17deg)}.title-card-face:nth-child(16){bottom:-3%;right:1%;transform:rotate(9deg)}.hero{text-align:center;z-index:1;background:radial-gradient(#1b100fd9 0 46%,#1b100f7a 68%,#0000 78%);border-radius:22px;width:min(420px,100%);padding:24px 18px;position:relative}.hero h1{text-shadow:0 5px #0008;margin:0;font-family:Kaisei Decol,serif;font-size:clamp(48px,13vw,72px);line-height:.98}.hero h1 span{color:var(--red);letter-spacing:.18em;margin-right:-.18em;font-size:.58em;display:block}.hero-copy{color:#dbc8b7;margin:24px 0 12px;font-weight:700;line-height:1.9}.start-button{width:100%;font-size:20px}.hero>.secondary-button{margin-top:14px}.title-links{justify-content:center;gap:32px;margin-top:24px;display:flex}.title-links button,.text-button{color:#cfb9a7;text-underline-offset:5px;background:0 0;border:0;text-decoration:underline}.footer-note{color:#806d62;font-size:10px;position:absolute;bottom:22px}.lantern{color:#2c1110;background:repeating-linear-gradient(90deg,#e85a43 0 12px,#c6382c 13px 15px);border-top:7px solid #1c1311;border-bottom:7px solid #1c1311;border-radius:35%;place-items:center;width:76px;height:112px;font-family:Kaisei Decol;font-size:32px;display:grid;position:absolute;top:11%;box-shadow:0 0 45px #e7443555}.lantern:before{content:"";background:#3c2b23;width:2px;height:75px;position:absolute;top:-80px}.lantern-left{left:7%;transform:rotate(-5deg)}.lantern-right{right:7%;transform:rotate(6deg)}.mini-piece{grid-template:repeat(2,16px)/repeat(4,16px);display:grid}.mini-piece i.filled{border:1px solid #ffffff50;border-radius:3px;margin:1px;box-shadow:inset 0 -3px #0003}.page{background:radial-gradient(circle at top,#41231b,#0000 420px);min-height:100vh;padding:32px 20px 48px;position:relative}.narrow{width:min(600px,100%);margin:auto}.sub-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.sub-header h1{margin:0;font-family:Kaisei Decol;font-size:30px}.icon-button{border:1px solid var(--line);color:#fff;background:#2a1e19;border-radius:50%;width:46px;height:46px;font-size:34px;line-height:1}.paper-card{color:var(--ink);background:var(--cream);border-radius:10px;box-shadow:0 8px 30px #0005}.settings-card{gap:20px;margin-bottom:22px;padding:24px;display:grid}.settings-card label{gap:9px;font-size:14px;font-weight:900;display:grid}select{width:100%;color:var(--ink);background:#fffaf0;border:2px solid #ddc9aa;border-radius:8px;padding:13px;font-weight:700}.segmented{background:#eadac1;border-radius:9px;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;display:grid}.segmented button{color:#6e5a4b;background:0 0;border:0;border-radius:7px;padding:10px 3px;font-weight:900}.segmented button.active{color:#fff;background:var(--red)}.two-col{grid-template-columns:1fr 1fr;gap:15px;display:grid}.rules-list{gap:12px;margin-bottom:24px;display:grid}.rule{align-items:flex-start;gap:16px;padding:18px;display:flex}.rule>b{color:#fff;background:var(--red);border-radius:50%;flex:0 0 34px;place-items:center;height:34px;display:grid}.rule h2{margin:1px 0 5px;font-size:16px}.rule p{color:#6a5549;margin:0;font-size:13px;line-height:1.7}.game-page{background:#17110f;min-height:100vh}.game-header{background:#211713;border-bottom:1px solid #4c342b;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:7px max(12px,50vw - 540px);display:grid}.brand-button{color:var(--red);text-align:left;background:0 0;border:0;justify-self:start;padding:0;font-family:Kaisei Decol;font-weight:900;line-height:.9}.brand-button b{color:var(--cream);letter-spacing:.16em;font-family:sans-serif;font-size:9px}.header-stat{text-align:center}.header-stat span{color:#a38d7e;font-size:9px;display:block}.header-stat strong{font-variant-numeric:tabular-nums;font-size:20px}.pause-button{color:var(--cream);background:#33231d;border:1px solid #765344;border-radius:7px;justify-self:end;padding:8px 10px;font-size:11px;font-weight:900}.header-actions{justify-self:end;align-items:center;gap:7px;display:flex}.menu-button{background:#33231d;border:1px solid #765344;border-radius:7px;width:40px;height:40px;padding:9px;display:none}.menu-button i{background:var(--cream);border-radius:2px;height:2px;margin:4px 0;display:block}.game-layout{grid-template-columns:minmax(300px,480px) minmax(300px,420px);justify-content:center;gap:28px;width:min(1080px,100%);margin:auto;padding:18px;display:grid}.board-section{min-width:0}.timer-panel{grid-template-columns:84px 1fr;align-items:center;gap:12px;margin-bottom:8px;display:grid}.timer-panel>div:first-child{align-items:baseline;gap:8px;display:flex}.timer-panel span{color:#9f8b80;font-size:9px}.timer-panel strong{color:var(--gold);font-variant-numeric:tabular-nums;font-size:17px}.timer-track{background:#392923;border-radius:4px;height:5px;overflow:hidden}.timer-track i{background:linear-gradient(90deg, var(--red), var(--gold));height:100%;transition:width .1s linear;display:block}.board-wrap{width:min(100%,390px);margin:auto;position:relative}.board{background:#080808;border:5px solid #5c3d30;border-radius:5px;grid-template-columns:repeat(10,1fr);display:grid;box-shadow:0 12px 35px #0009,inset 0 0 35px #000}.cell{aspect-ratio:1;border:1px solid #251f1c;place-items:center;display:grid;position:relative}.cell.filled{text-shadow:0 1px #0008;border:1px solid #ffffff26;box-shadow:inset 0 -5px #0003,inset 2px 2px #fff3}.cell.line-clearing{z-index:1;border-color:#fffbd1;animation:.45s ease-in-out both lineClearFlash}.cell.line-clearing:before{content:"";mix-blend-mode:screen;background:linear-gradient(90deg,#fff0,#fffbd1 45%,#fff 50%,#fffbd1 55%,#fff0) 0 0/260% 100%;animation:.45s ease-in-out both lineClearSweep;position:absolute;inset:-2px;box-shadow:0 0 14px #fff7a8,0 0 28px #ffd34d}.cell.target-row{border-bottom-color:#f3b33880}.cell.target-row:after{content:"";border-bottom:2px solid #f6be44aa;position:absolute;inset:2px}.target-label{color:#241508;background:var(--gold);border-radius:2px;padding:2px 5px;font-size:7px;font-weight:900;position:absolute;bottom:5px;right:8px}.piece-I{background:#2aa9c9}.piece-O{background:#e7ad28}.piece-T{background:#9c58bb}.piece-S{background:#5aa94e}.piece-Z{background:#d94a3f}.piece-J{background:#386fc2}.piece-L{background:#e77b28}.piece-G{background:#5b504b}.piece-JOKER{background:#39312e}.piece-ALL_MIGHTY{background:linear-gradient(135deg,#f05879,#f8cb4c,#4fd3c4);color:#241508!important}.controls{grid-template-columns:repeat(4,1fr) 1.5fr;gap:7px;margin-top:12px;display:grid}.controls button{color:#fff;background:linear-gradient(#40302a,#2a1d19);border:1px solid #65483d;border-radius:8px;min-height:54px;font-size:22px;font-weight:900;box-shadow:0 3px #0a0706}.controls small{color:#b09b90;font-size:8px;display:block}.controls .drop-button{color:#27110d;background:linear-gradient(#f6c14c,#db8f22);border-color:#ffd56a;font-size:16px}.side-panel{align-content:start;gap:12px;padding-top:10px;display:grid}.mobile-menu-header,.side-panel-backdrop{display:none}.stock-summary{background:#241a16;border:1px solid #564037;border-radius:9px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.stock-summary span{color:#b29d90;font-size:10px;display:block}.stock-summary strong{color:var(--gold);font-size:33px}.stock-summary p{color:#a99487;margin:0;font-size:12px}.stock-summary p b{color:#fff;font-size:18px}.add-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.add-buttons button{color:#fff;text-align:left;background:linear-gradient(135deg,#382720,#281b17);border:1px solid #67483c;border-radius:9px;grid-template-rows:1fr 1fr;grid-template-columns:36px 1fr;align-items:center;min-height:67px;padding:8px;display:grid}.add-buttons span{grid-row:1/3;font-size:27px}.add-buttons b{align-self:end;font-size:13px}.add-buttons small{color:#a99487;align-self:start;font-size:8px}.draw-card,.history{background:#211713;border:1px solid #543b31;border-radius:9px;padding:13px}.draw-message{color:#e2cebd;text-align:center;background:#140e0c;border-radius:5px;place-items:center;min-height:38px;margin:0 0 9px;font-size:11px;display:grid}.draw-button{color:#281209;background:linear-gradient(#f8c552,#d88c21);border:1px solid #ffcd5d;border-radius:9px;grid-template-rows:1fr 1fr;align-items:center;width:100%;min-height:64px;display:grid;box-shadow:0 4px #7c4211}.draw-button b{align-self:end;font-size:16px}.draw-button small{align-self:start;font-size:9px}.excluded{color:#efb744;margin:8px 0 0;font-size:9px}.history>div{justify-content:space-between;align-items:baseline;display:flex}.history h2{margin:0;font-size:12px}.history>div span{color:#806d63;font-size:8px}.history ul{grid-template-columns:repeat(5,1fr);gap:5px;min-height:50px;margin:9px 0;padding:0;list-style:none;display:grid}.history li{text-align:center;position:relative}.history li>b{z-index:1;color:#fff;background:#0009;border-radius:50%;width:12px;height:12px;font-size:7px;line-height:12px;position:absolute;top:1px;left:1px}.history-chip{color:#2b211d;background:#fff;border:2px solid #eee3d2;border-radius:4px;place-items:center;height:48px;display:grid;overflow:hidden;box-shadow:0 2px 5px #0006}.history-chip .card-face-content{width:100%;height:100%}.history-chip:has(img){border:0}.history-chip .mini-piece{transform:scale(.38)}.history-chip strong{font-size:7px;line-height:1.2}.history .empty-history{color:#77645b;grid-column:1/-1;font-size:10px;line-height:35px}.history>p{color:#8e7a70;text-align:center;border-top:1px solid #3a2a25;margin:0;padding-top:8px;font-size:9px}.history>p b{color:#fff}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080504dd;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(430px,100%);color:var(--ink);background:var(--cream);text-align:center;border-radius:14px;padding:28px;box-shadow:0 20px 60px #000}.modal h2{margin:0 0 10px;font-family:Kaisei Decol;font-size:30px}.modal p:not(.eyebrow){color:#6d594d;font-size:13px}.modal .primary-button{margin-top:12px}.piece-picker{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;display:grid}.piece-picker button{aspect-ratio:1054/1492;width:100%;color:var(--ink);background:#fff;border:5px solid #eee3d2;border-radius:9px;place-items:center;padding:0;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden;box-shadow:0 5px 12px #3b241b33}.piece-picker button:hover{transform:translateY(-5px)rotate(1deg);box-shadow:0 10px 18px #3b241b55}.piece-picker .card-face-content{width:100%;height:100%}.piece-picker .mini-piece{transform-origin:50%;transform:scale(.64)}.draw-modal-backdrop{z-index:40;overscroll-behavior:contain;align-items:start;padding-block:28px;overflow-y:auto}.draw-modal{width:min(760px,100%);color:var(--cream);background:#211713;border:1px solid #765343;border-radius:16px;padding:22px;box-shadow:0 24px 80px #000}.draw-modal>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.draw-modal h2{margin:0;font-family:Kaisei Decol;font-size:27px}.modal-close{color:#fff;background:#33241e;border:1px solid #6d5145;border-radius:50%;flex:none;width:40px;height:40px;font-size:24px}.cancel-reduce-button{color:#ead8cd;background:#392720;border:1px solid #826153;border-radius:7px;min-height:38px;padding:0 14px;font-size:11px;font-weight:900}.modal-stock{background:#160f0d;border:1px solid #60453a;border-radius:8px;justify-content:space-between;align-items:center;margin:16px 0 8px;padding:9px 14px;display:flex}.modal-stock span{color:#bba79b;font-size:12px}.modal-stock strong{color:var(--gold);font-size:28px}.draw-instruction{color:#d7c2b5;text-align:center;min-height:22px;margin:0 0 12px;font-size:12px}.card-table{background:radial-gradient(circle,#376b50,#1d4e38 70%);border:8px solid #583b28;border-radius:30px;min-height:310px;padding:24px;position:relative;overflow:hidden;box-shadow:inset 0 0 35px #071a10,0 8px 20px #0008}.card-table:before{content:"";pointer-events:none;border:1px solid #ffffff17;border-radius:20px;position:absolute;inset:8px}.table-glow{pointer-events:none;background:repeating-linear-gradient(45deg,#0000 0 8px,#ffffff05 9px 10px);position:absolute;inset:0}.deck-grid{grid-template-columns:repeat(6,72px);justify-content:center;gap:14px 12px;display:grid;position:relative}.playing-card{aspect-ratio:1054/1492;background:0 0;border:0;border-radius:7px;width:72px;padding:0;transition:transform .18s,filter .18s,opacity .18s;animation:.48s cubic-bezier(.2,.8,.25,1) both dealCard;position:relative;box-shadow:0 5px 9px #0007}.playing-card:hover{filter:brightness(1.08);transform:translateY(-5px)rotate(-1deg)}.card-back,.card-face{border-radius:7px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.card-back{color:#f6dfb6;background:repeating-linear-gradient(45deg,#a42625 0 4px,#7d171b 5px 9px);border:4px solid #f5e9d4;box-shadow:inset 0 0 0 2px #c99151,inset 0 0 0 5px #6b1115}.card-back:before{content:"";background:repeating-radial-gradient(circle,#0000 0 4px,#e9bd7130 5px 6px);border:1px solid #e0aa68;position:absolute;inset:11px 8px}.card-back i{z-index:1;background:#7b1718;border:1px solid #e5ba73;border-radius:50%;place-items:center;width:34px;height:34px;font-family:Kaisei Decol;font-size:20px;font-style:normal;display:grid}.card-back b{z-index:1;letter-spacing:.15em;font-size:6px;position:absolute;bottom:8px}.card-face{color:#2b211d;background:#fff;border:4px solid #eee3d2;padding:5px}.card-face-content{color:#2b211d;background:#fff;place-items:center;width:100%;height:100%;display:grid}.card-face-content img{object-fit:cover;width:100%;height:100%;display:block}.card-face:has(.card-face-content img){border:0;padding:0}.card-face-content .mini-piece{background:0 0;transform:scale(.7)}.card-face-content .mini-piece i.filled{border-color:#fff8}.card-value-I .mini-piece i.filled{background:#2aa9c9}.card-value-O .mini-piece i.filled{background:#e7ad28}.card-value-T .mini-piece i.filled{background:#9c58bb}.card-value-S .mini-piece i.filled{background:#5aa94e}.card-value-Z .mini-piece i.filled{background:#d94a3f}.card-value-J .mini-piece i.filled{background:#386fc2}.card-value-L .mini-piece i.filled{background:#e77b28}.card-face-content>strong{padding:0 3px;font-family:Kaisei Decol;font-size:11px;line-height:1.35}.playing-card.face-down .card-face,.playing-card.face-up .card-back{display:none}.playing-card.face-up:hover{transform:translateY(-5px)rotate(1deg)scale(1.03)}.playing-card.selected-result{z-index:3;animation:.65s cubic-bezier(.2,.75,.25,1) both revealResult;box-shadow:0 9px 25px #f7c95888}.playing-card.result-muted{opacity:.22;filter:saturate(.3);transform:scale(.94)}.playing-card:disabled{opacity:1}.playing-card.result-muted:disabled{opacity:.22}.reduce-card-button{color:#3b2114;background:linear-gradient(#f8df9c,#dcae57);border:1px solid #d8b56e;border-radius:9px;width:100%;min-height:54px;margin-top:14px;font-weight:900}.reduce-card-button small{color:#735533;margin-top:2px;font-size:9px;font-weight:700;display:block}.removed-cards{background:#160f0d;border:1px dashed #806052;border-radius:10px;grid-template-columns:150px 1fr;align-items:center;gap:14px;margin-top:14px;padding:12px;display:grid}.removed-cards h3{margin:0;font-size:13px}.removed-card-list{flex-wrap:wrap;gap:9px;display:flex}.removed-card-face{aspect-ratio:1054/1492;color:#2b211d;background:#fff;border:3px solid #eee3d2;border-radius:5px;place-items:center;width:48px;padding:2px;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden;box-shadow:0 3px 7px #0008}.removed-card-face:has(img){border:0;padding:0}.removed-card-face:hover{transform:translateY(-3px)scale(1.04);box-shadow:0 6px 11px #000a}.removed-card-face .card-face-content{width:100%;height:100%}.removed-card-face .mini-piece{transform:scale(.45)}.removed-card-face strong{font-family:Kaisei Decol;font-size:8px;line-height:1.3}.special-card-effect{z-index:30;grid-template-rows:1fr auto;place-items:center;padding:12vh 20px 9vh;animation:.38s both effectFadeIn;display:grid;position:fixed;inset:0;overflow:hidden}.special-card-effect:before{content:"";position:absolute;inset:0}.special-card-effect .effect-card{z-index:3;aspect-ratio:1054/1492;background:#fff;border:8px solid #eee3d2;border-radius:18px;align-self:end;width:min(230px,55vw);animation:.75s cubic-bezier(.15,.8,.2,1) both specialCardEnter;position:relative;overflow:hidden;box-shadow:0 25px 70px #000b}.special-card-effect .effect-card:has(img){border:0}.special-card-effect .effect-card .card-face-content{width:100%;height:100%}.special-card-effect .effect-card strong{white-space:nowrap;line-height:1.4}.special-card-effect .effect-card .card-value-JOKER>strong{font-size:clamp(25px,3.2vw,34px)}.special-card-effect .effect-card .card-value-ALL_MIGHTY>strong{font-size:clamp(21px,2.7vw,28px)}.special-card-effect>strong{z-index:3;letter-spacing:.08em;align-self:start;margin-top:24px;font-family:Kaisei Decol;font-size:clamp(28px,6vw,52px);animation:.65s .35s both effectTitle;position:relative}.joker-effect:before{background:#020202ed;animation:.6s both darkenScene}.joker-effect .effect-spotlight{z-index:1;clip-path:polygon(39% 0,61% 0,88% 100%,12% 100%);background:radial-gradient(at 50% 68%,#fff8d82f 0 13%,#fff4c912 30%,#0000 67%);width:min(620px,120vw);height:105%;animation:1.7s ease-in-out infinite spotlightPulse;position:absolute;top:-22%}.joker-effect .effect-card{box-shadow:0 22px 75px #000,0 0 28px #fff5cc30}.joker-effect>strong{color:#d9d0ca;text-shadow:0 4px 18px #000}.almighty-effect:before{background:radial-gradient(circle,#fffbe9 0,#ffe58b 32%,#f2b83cdd 72%,#fff7cf 100%);animation:.65s both brightenScene}.almighty-effect .effect-rays{z-index:1;aspect-ratio:1;background:repeating-conic-gradient(from 0deg, #fff9 0 8deg, transparent 8deg 18deg);width:min(760px,160vw);animation:9s linear infinite rotateRays,.75s both raysBloom;position:absolute}.almighty-effect .effect-card{box-shadow:0 0 45px #fff,0 0 100px #ffe76c,0 25px 60px #9d671866}.almighty-effect>strong{color:#6c3e0b;text-shadow:0 2px #fff8ca,0 0 18px #fff}@keyframes dealCard{0%{opacity:0;transform:translate(-180px,-100px)rotate(-18deg)scale(.72)}65%{opacity:1}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}@keyframes revealResult{0%{transform:translateY(0)rotateY(90deg)scale(.92)}55%{transform:translateY(-14px)rotateY(0)scale(1.18)}to{transform:translateY(-9px)rotateY(0)scale(1.12)}}@keyframes effectFadeIn{0%{opacity:0}to{opacity:1}}@keyframes darkenScene{0%{background:0 0}to{background:#020202ed}}@keyframes brightenScene{0%{opacity:.15}to{opacity:1}}@keyframes specialCardEnter{0%{opacity:0;transform:scale(.25)rotate(-10deg)}65%{opacity:1;transform:scale(1.1)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes effectTitle{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes spotlightPulse{0%,to{opacity:.55}50%{opacity:.95}}@keyframes rotateRays{to{transform:rotate(360deg)}}@keyframes raysBloom{0%{opacity:0}to{opacity:.72}}@keyframes lineClearFlash{0%{filter:brightness();transform:scale(1)}40%{filter:brightness(2.4)saturate(.6);transform:scale(1.04)}75%{filter:brightness(3);opacity:1}to{filter:brightness(3.4);opacity:0;transform:scale(.92)}}@keyframes lineClearSweep{0%{opacity:0;background-position:130% 0}25%{opacity:.85}to{opacity:0;background-position:-130% 0}}.ending-effect{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fireworks-effect{background:radial-gradient(circle,#27102ee8,#050208f5 72%);animation:.3s both endingFadeIn}.fireworks-effect>strong{z-index:4;color:#fff4c7;letter-spacing:.12em;text-shadow:0 0 12px #fff,0 0 35px #ffca45,0 8px #9e241e;font-family:Kaisei Decol;font-size:clamp(58px,12vw,112px);animation:1s cubic-bezier(.17,.85,.3,1.2) .35s both celebrationTitle;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-5deg)}.firework{--x:50%;--y:50%;--delay:0s;left:var(--x);top:var(--y);width:8px;height:8px;animation:fireworkFlash 1.15s var(--delay) ease-out both;position:absolute}.firework b{--angle:calc(var(--spark) * 20deg);background:linear-gradient(#fff, hsl(calc(var(--spark) * 38deg) 95% 62%), transparent);transform-origin:50% 0;width:5px;height:28px;animation:fireworkSpark 1.1s var(--delay) cubic-bezier(.1,.6,.2,1) both;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 0 8px}.firework-1{--x:10%;--y:22%;--delay:50ms}.firework-2{--x:27%;--y:35%;--delay:.3s}.firework-3{--x:48%;--y:16%;--delay:.12s}.firework-4{--x:70%;--y:27%;--delay:.45s}.firework-5{--x:89%;--y:18%;--delay:.18s}.firework-6{--x:16%;--y:62%;--delay:.75s}.firework-7{--x:37%;--y:72%;--delay:.58s}.firework-8{--x:63%;--y:66%;--delay:.9s}.firework-9{--x:84%;--y:58%;--delay:.65s}.firework-10{--x:7%;--y:86%;--delay:1.05s}.firework-11{--x:25%;--y:12%;--delay:1.35s}.firework-12{--x:53%;--y:88%;--delay:1.18s}.firework-13{--x:76%;--y:84%;--delay:1.4s}.firework-14{--x:94%;--y:76%;--delay:1.1s}.beer-effect{background:#080504b8;animation:.6s both mugSceneDarken}.beer-mug-pile{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(8,1fr);align-items:end;display:grid;position:absolute;inset:-4vh -4vw}.beer-mug-pile img{z-index:calc(8 - var(--row,0));filter:drop-shadow(0 10px 8px #0009);opacity:0;transform-origin:50% 80%;width:190%;max-width:none;animation:beerMugFall .82s var(--delay) cubic-bezier(.2,.72,.28,1.08) forwards;place-self:end center}.beer-effect>strong{z-index:20;color:#fff8df;letter-spacing:.12em;text-shadow:0 4px #8b271c,0 0 22px #000;opacity:0;font-family:Kaisei Decol;font-size:clamp(58px,12vw,118px);animation:.55s cubic-bezier(.15,.8,.25,1.15) 3.5s forwards gameOverTitle;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.4)rotate(-8deg)}@keyframes endingFadeIn{0%{opacity:0}to{opacity:1}}@keyframes celebrationTitle{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(-12deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-5deg)}}@keyframes fireworkFlash{0%,8%{opacity:0;transform:scale(.1)}15%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}@keyframes fireworkSpark{0%,12%{opacity:0;transform:rotate(var(--angle)) translateY(0) scaleY(.1)}22%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-115px) scaleY(.6)}}@keyframes mugSceneDarken{0%{background:#08050400}to{background:#080504b8}}@keyframes beerMugFall{0%{opacity:0;transform:translateY(-125vh) rotate(var(--start-rotation)) scale(var(--scale))}70%{opacity:1;transform:translateY(6%) rotate(calc(var(--rotation) + 6deg)) scale(var(--scale))}84%{transform:translateY(-7%) rotate(calc(var(--rotation) - 3deg)) scale(var(--scale))}to{opacity:1;transform:translateY(0) rotate(var(--rotation)) scale(var(--scale))}}@keyframes gameOverTitle{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-8deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-5deg)}}@media (prefers-reduced-motion:reduce){.playing-card,.playing-card.selected-result,.special-card-effect *,.special-card-effect,.ending-effect *,.cell.line-clearing,.cell.line-clearing:before{animation-duration:.01ms!important;animation-delay:0s!important}}.result-page{text-align:center;padding-top:60px}.result-mark{border:5px double;border-radius:50%;place-items:center;width:105px;height:105px;margin:0 auto 18px;font-family:Kaisei Decol;font-size:24px;display:grid;transform:rotate(-6deg)}.result-mark.clear{color:var(--red);background:var(--cream)}.result-mark.over{color:#9b8980;background:#29201d}.result-page h1{margin:0 0 25px;font-family:Kaisei Decol}.result-grid{text-align:left;grid-template-columns:1fr 1fr;margin-bottom:22px;display:grid;overflow:hidden}.result-grid div{border-bottom:1px solid #e3d1b4;border-right:1px solid #e3d1b4;justify-content:space-between;align-items:center;padding:15px;display:flex}.result-grid span{color:#806a59;font-size:11px}.result-grid strong{font-size:17px}.result-page .text-button{margin-top:22px}@media (width<=760px){.lantern{width:54px;height:78px;font-size:23px;top:5%}.lantern:before{height:52px;top:-55px}.lantern-left{left:-12px}.lantern-right{right:-12px}body:has(.game-page){overflow:hidden}.game-page{height:100dvh;min-height:0;overflow:hidden}.game-header{z-index:12;height:calc(54px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 9px 0;grid-template-columns:1fr auto 1fr;position:relative}.brand-button{font-size:13px}.brand-button b{letter-spacing:.08em;font-size:7px}.header-stat span{font-size:7px}.header-stat strong{font-size:16px}.pause-button{min-height:38px;padding:6px 8px;font-size:9px}.menu-button{display:block}.menu-button.needs-attention{border-color:#ffd568;animation:1.35s ease-in-out infinite menuAttention}.game-layout{height:calc(100dvh - 54px - env(safe-area-inset-top));padding:5px 8px calc(5px + env(safe-area-inset-bottom));display:block;overflow:hidden}.board-section{grid-template-rows:25px minmax(0,1fr) 48px;align-items:center;height:100%;display:grid}.timer-panel{grid-template-columns:76px 1fr;gap:8px;height:25px;margin:0}.timer-panel strong{font-size:13px}.board-wrap{width:min(calc((100dvh - 132px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 2), calc(100vw - 16px), 350px);max-height:100%}.board{border-width:3px}.target-label{font-size:6px;bottom:3px;right:4px}.controls{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;gap:4px;height:44px;margin:4px 0 0;padding:0;position:static}.controls button{border-radius:6px;min-height:42px;padding:2px;font-size:18px}.controls small{font-size:6px}.controls .drop-button{font-size:12px}.side-panel-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080504b8;border:0;padding:0;display:block;position:fixed;inset:0}.side-panel{z-index:21;width:min(390px,92vw);padding:calc(12px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));background:#17110f;border-left:1px solid #6a493c;align-content:start;gap:10px;transition:transform .22s;display:grid;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-18px 0 50px #000b}.side-panel.mobile-open{transform:translate(0)}.mobile-menu-header{justify-content:space-between;align-items:center;display:flex}.mobile-menu-header strong{color:var(--cream);font-family:Kaisei Decol;font-size:18px}.mobile-menu-header button{color:#fff;background:#33231d;border:1px solid #765344;border-radius:50%;width:38px;height:38px;font-size:24px}.stock-summary{position:static;box-shadow:0 5px 15px #0006}.draw-modal-backdrop{z-index:40;padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}.draw-modal{padding:17px 12px}.draw-modal h2{font-size:22px}.card-table{border-width:6px;min-height:360px;padding:18px 10px}.deck-grid{grid-template-columns:repeat(4,60px);gap:11px 9px}.playing-card{width:60px}.removed-cards{grid-template-columns:1fr}}@keyframes menuAttention{0%,to{background:#4a2e21;transform:scale(1);box-shadow:0 0 #f5b94200,0 0 8px #f5b94255}50%{background:#81501e;transform:scale(1.08);box-shadow:0 0 0 7px #f5b94222,0 0 22px #ffd45aaa}}@media (width<=380px){.game-layout{padding-inline:7px}.controls{gap:4px}.controls button{font-size:18px}.controls .drop-button{font-size:13px}.cell{font-size:8px}.two-col{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce) and (width<=760px){.menu-button.needs-attention{animation:none;box-shadow:0 0 0 3px #f5b94266,0 0 16px #ffd45a99}}
