:root{--color-primary: #A855F7;--color-primary-hover: #9333EA;--color-primary-light: #F3E8FF;--color-secondary: #10B981;--color-secondary-hover: #059669;--color-accent: #F472B6;--color-danger: #F43F5E;--color-danger-light: #FFE4E6;--color-bg: #FAF5FF;--color-bg-card: #FFFFFF;--color-bg-board: #2E1065;--color-text: #1E1B4B;--color-text-secondary: #7C7C9A;--color-text-inverse: #FFFFFF;--color-border: #E9D5FF;--color-border-focus: #A855F7;--color-shadow: rgba(100, 50, 150, .1);--mahjong-tile-bg: #FFFFFF;--mahjong-tile-bg-light: #FEFBFF;--mahjong-tile-bg-dark: #F3E8FF;--mahjong-tile-border: #E9D5FF;--mahjong-tile-face: #FFFFFF;--mahjong-tile-selected: #EC4899;--mahjong-tile-hint: #FBBF24;--mahjong-tile-side: #A855F7;--mahjong-tile-bottom: #7C3AED;--mahjong-board-bg: #2E1065;--mahjong-shadow-top: rgba(255,255,255,.3);--mahjong-shadow-bottom: rgba(30,20,60,.2);--color-tile-hover: #FDF4FF;--font-display: 2rem;--font-h1: 1.5rem;--font-h2: 1.25rem;--font-h3: 1rem;--font-body: .875rem;--font-small: .75rem;--font-score: 1.125rem;--font-timer: 2.5rem;--font-combo: 3rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px var(--color-shadow);--shadow-md: 0 4px 6px var(--color-shadow);--shadow-lg: 0 10px 15px var(--color-shadow);--shadow-xl: 0 20px 25px var(--color-shadow);--anim-select: 125ms ease-out;--anim-success: .25s ease-in;--anim-fail: 175ms ease-in-out;--anim-combo: .5s cubic-bezier(.34, 1.56, .64, 1);--anim-remove: .3s ease-out;--anim-modal: .2s ease-out;--anim-hover: .15s ease-out;--bp-mobile: 375px;--bp-mobile-lg: 480px;--bp-tablet: 768px;--bp-tablet-lg: 1024px;--bp-laptop: 1280px;--bp-desktop-xl: 1536px;--board-max-mobile: min(95vw, calc((95vh - 200px) / 1.39));--board-max-tablet: min(90vw, calc((70vh - 220px) / 1.39), 560px);--board-max-laptop: min(70vh, calc((80vh - 220px) / 1.39), 600px);--board-max-desktop: min(75vh, calc((85vh - 220px) / 1.39), 640px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#faf5ff,#fdf2f8,#f0f9ff);color:var(--color-text);line-height:1.6;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:contain}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button{cursor:pointer;font-family:inherit;border:none;outline:none}button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.woff2) format("woff2");font-display:swap;font-weight:100 900}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tileRemove{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes comboFade{0%{transform:scale(.5);opacity:0}20%{transform:scale(1.2);opacity:1}80%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 24px;border-radius:var(--radius-lg);font-size:var(--font-h3);font-weight:600;transition:background var(--anim-hover),transform var(--anim-hover),opacity var(--anim-hover)}.btn:hover{transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{background:linear-gradient(135deg,#a855f7,#ec4899);color:var(--color-text-inverse);box-shadow:0 2px 8px #a855f74d}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#9333ea,#db2777);box-shadow:0 4px 12px #a855f766}.btn--secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-tile-hover)}.btn--large{width:100%;padding:16px 32px;font-size:var(--font-h2)}.menu{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);overflow:hidden}.menu__bg{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:0;pointer-events:none;overflow:hidden}.menu__bg-card{position:absolute;width:48px;height:68px;border-radius:8px;background:linear-gradient(180deg,#fff,#fefbff);border:1.5px solid rgba(168,85,247,.35);box-shadow:0 4px 14px #a855f738,0 1px 4px #64329626,inset 0 1px #ffffffe6;opacity:0}.menu__bg-card:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:linear-gradient(180deg,#fefbff,#f5f0ff);border-radius:6px;box-shadow:inset 0 1px 2px #a855f714}.menu__bg-card:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;border:2px solid rgba(168,85,247,.25);border-radius:3px;transform:translate(-50%,-50%) rotate(45deg)}.menu__bg-card--1{top:38%;left:46%;width:100px;height:140px;--card-r: -12deg;--card-d: 0s;--card-o: .87;--card-c: #A855F7}.menu__bg-card--2{top:42%;left:48%;width:90px;height:126px;--card-r: 18deg;--card-d: .1s;--card-o: .83;--card-c: #EC4899}.menu__bg-card--3{top:18%;left:35%;width:72px;height:100px;--card-r: -25deg;--card-d: .2s;--card-o: .78;--card-c: #38BDF8}.menu__bg-card--4{top:22%;left:58%;width:80px;height:112px;--card-r: 15deg;--card-d: .25s;--card-o: .72;--card-c: #F472B6}.menu__bg-card--5{top:55%;left:32%;width:68px;height:95px;--card-r: -20deg;--card-d: .3s;--card-o: .74;--card-c: #10B981}.menu__bg-card--6{top:58%;left:62%;width:76px;height:106px;--card-r: 22deg;--card-d: .35s;--card-o: .7;--card-c: #F59E0B}.menu__bg-card--7{top:5%;left:20%;width:56px;height:78px;--card-r: -35deg;--card-d: .4s;--card-o: .66;--card-c: #8B5CF6}.menu__bg-card--8{top:8%;left:70%;width:64px;height:90px;--card-r: 28deg;--card-d: .45s;--card-o: .62;--card-c: #EC4899}.menu__bg-card--9{top:45%;left:8%;width:52px;height:72px;--card-r: -15deg;--card-d: .5s;--card-o: .64;--card-c: #06B6D4}.menu__bg-card--10{top:48%;left:78%;width:60px;height:84px;--card-r: 30deg;--card-d: .55s;--card-o: .59;--card-c: #FBBF24}.menu__bg-card--11{top:72%;left:25%;width:56px;height:78px;--card-r: -22deg;--card-d: .6s;--card-o: .62;--card-c: #A78BFA}.menu__bg-card--12{top:75%;left:65%;width:64px;height:90px;--card-r: 18deg;--card-d: .65s;--card-o: .56;--card-c: #F87171}.menu__bg-card--13{top:2%;left:5%;width:40px;height:56px;--card-r: -40deg;--card-d: .7s;--card-o: .53;--card-c: #22D3EE}.menu__bg-card--14{top:4%;left:88%;width:44px;height:62px;--card-r: 35deg;--card-d: .75s;--card-o: .51;--card-c: #E879F9}.menu__bg-card--15{top:85%;left:10%;width:42px;height:58px;--card-r: -30deg;--card-d: .8s;--card-o: .53;--card-c: #34D399}.menu__bg-card--16{top:88%;left:82%;width:38px;height:52px;--card-r: 25deg;--card-d: .85s;--card-o: .49;--card-c: #FB923C}.menu__bg-card{border-color:color-mix(in srgb,var(--card-c, #A855F7) 78%,transparent);box-shadow:0 8px 24px color-mix(in srgb,var(--card-c, #A855F7) 46%,transparent),0 2px 6px #6432963d,inset 0 1px #ffffffe6}.menu__bg-card:before{background:linear-gradient(180deg,#fefbff,color-mix(in srgb,var(--card-c, #A855F7) 26%,#F5F0FF))}.menu__bg-card:after{border-color:color-mix(in srgb,var(--card-c, #A855F7) 65%,transparent)}.menu__bg-card{transform:rotate(var(--card-r));animation:cardFloatIn 1.2s ease-out var(--card-d) forwards,cardFloatIdle 6s ease-in-out calc(var(--card-d) + 1.2s) infinite}@keyframes cardFloatIn{0%{opacity:0;transform:rotate(var(--card-r)) scale(.4) translateY(30px)}to{opacity:var(--card-o);transform:rotate(var(--card-r)) scale(1) translateY(0)}}@keyframes cardFloatIdle{0%,to{transform:rotate(var(--card-r)) translateY(0)}50%{transform:rotate(var(--card-r)) translateY(-12px)}}.menu__content{position:relative;z-index:1;max-width:420px;width:100%;text-align:center;margin:0 auto;display:flex;flex-direction:column;align-items:center}@media(min-width:768px){.menu__content{max-width:600px}}@media(min-width:1024px){.menu__content{max-width:720px}}.menu__logo{font-size:var(--font-display);font-weight:800;background:linear-gradient(135deg,#f472b6,#a855f7,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2)}.menu__desc{font-size:var(--font-body);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.menu__nick-input{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);text-align:center}.menu__nick-label{font-size:var(--font-small);color:var(--color-text-secondary);font-weight:600}.menu__nick-field{width:100%;padding:12px 16px;font-size:var(--font-body);color:var(--color-text);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease;outline:none;text-align:center}.menu__nick-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #a855f726}.menu__nick-field::placeholder{color:var(--color-text-secondary);opacity:.6}.menu__nick-error{font-size:var(--font-small);color:var(--color-danger);margin-top:2px}.live-ranking{width:100%;max-width:360px;margin:var(--space-6) auto 0;padding:var(--space-4);background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);text-align:center}.live-ranking__title{font-size:var(--font-h3);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2);text-align:center}.live-ranking__meta{font-size:var(--font-small);color:var(--color-text-secondary);margin-bottom:var(--space-3);text-align:center}.live-ranking__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.live-ranking__item{display:flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:var(--radius-sm);background:#a855f70d;transition:background .15s ease}.live-ranking__item--me{background:#a855f726;border:1px solid var(--color-primary-light)}.live-ranking__rank{width:28px;font-weight:700;color:var(--color-primary);font-size:var(--font-body);flex-shrink:0;text-align:center}.live-ranking__nick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-body);color:var(--color-text);text-align:center;min-width:80px}.live-ranking__score{font-weight:700;color:var(--color-secondary);font-size:var(--font-body);flex-shrink:0;text-align:center;width:60px}.menu__difficulties{display:flex;gap:var(--space-3);margin-bottom:var(--space-6);justify-content:center}.menu__difficulty{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-3);border-radius:var(--radius-lg);background:var(--color-bg-card);border:2px solid var(--color-border);transition:border-color var(--anim-hover),transform var(--anim-hover);min-width:100px}.menu__difficulty--selected{border-color:var(--color-primary)}.menu__difficulty:hover{transform:scale(1.05)}.menu__diff-name{font-size:var(--font-h3);font-weight:700;color:var(--color-primary)}.menu__diff-size,.menu__diff-time{font-size:var(--font-small);color:var(--color-text-secondary)}.menu__diff-best{font-size:var(--font-small);color:var(--color-secondary);font-weight:600}.game{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:var(--space-4);max-width:600px;margin:0 auto}.game-header{margin-bottom:var(--space-3)}.game-header__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.game-header__timer{display:flex;align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums}.game-header__time{font-size:var(--font-timer);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.game-header__timer--warning .game-header__time{color:var(--color-danger);animation:pulse 1s infinite}.game-header__info{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.game-header__difficulty{font-size:var(--font-small);font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}.game-header__tiles-left{font-size:var(--font-small);color:var(--color-text-secondary)}.game-header__mistakes{font-size:.8rem;letter-spacing:1px;color:#f43f5e}.game-header__mistakes--danger{animation:pulse .6s ease-in-out infinite}.game-header__score{display:flex;flex-direction:column;align-items:flex-end}.game-header__score-label{font-size:var(--font-small);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.game-header__score-value{font-size:var(--font-score);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.game-header__combo{text-align:center;margin-top:var(--space-2)}.combo-text{font-size:var(--font-h2);font-weight:800;color:var(--color-accent);animation:scaleIn var(--anim-combo)}.time-bar{width:100%;height:8px;background:#6432964d;border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-2);box-shadow:inset 0 1px 3px #2e106566}.time-bar__fill{height:100%;background:linear-gradient(90deg,#34d399,#38bdf8);border-radius:var(--radius-full);transition:width .3s linear,background .3s ease;box-shadow:0 0 6px #34d39980}.time-bar--warning .time-bar__fill{background:linear-gradient(90deg,#f472b6,#fb923c);box-shadow:0 0 8px #f472b699;animation:pulse 1s ease-in-out infinite}.time-bar--danger .time-bar__fill{background:linear-gradient(90deg,#f43f5e,#ec4899);box-shadow:0 0 10px #f43f5eb3;animation:pulse .5s ease-in-out infinite}.tile-board-wrapper{position:relative;flex:1;display:flex;align-items:center;justify-content:center;margin:var(--space-2) 0;perspective:1000px}.tile-board{display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);gap:var(--space-1);width:var(--board-max-mobile);max-width:560px;background:linear-gradient(180deg,#4a044e,#2e1065 40%,#1e1b4b);border-radius:var(--radius-lg);padding:var(--space-2);border:1px solid rgba(168,85,247,.3);box-shadow:inset 0 1px 3px #ffffff0d,0 0 30px #a855f726,0 8px 24px #0006,0 2px 6px #0003}.connection-overlay{display:none}.tile{position:relative;display:block;width:100%;height:100%;background:linear-gradient(180deg,#fff,#fefbff);border:1px solid var(--mahjong-tile-border);border-radius:12px;box-shadow:0 2px 8px #a855f71f,0 1px 3px #0000000f,inset 0 1px #ffffffe6;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,border-color .15s ease,box-shadow .2s ease;aspect-ratio:1 / 1.39;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;transform-style:preserve-3d;padding:0}.tile:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:linear-gradient(180deg,#fefbff,#f5f0ff);border-radius:10px;box-shadow:inset 0 1px 3px #a855f714,inset 0 -1px 1px #ffffffb3;z-index:0}.tile__base{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateZ(-4px);background:linear-gradient(180deg,#a855f7,#7c3aed,#6d28d9);border-radius:12px}.tile__face{position:absolute;top:4px;right:4px;bottom:4px;left:4px;display:flex;align-items:center;justify-content:center;border-radius:10px;backface-visibility:hidden}.tile__face--back{z-index:2;background:linear-gradient(135deg,#fff3,#fff0 50%),linear-gradient(180deg,#f472b6,#c084fc,#a855f7);box-shadow:inset 0 1px 2px #ffffff4d}.tile__back-pattern{width:50%;height:50%;border:2px solid rgba(255,255,255,.35);border-radius:6px;transform:rotate(45deg);position:relative}.tile__back-pattern:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1.5px solid rgba(255,255,255,.2);border-radius:3px}.tile__back-pattern:after{content:"";position:absolute;top:30%;right:30%;bottom:30%;left:30%;background:#ffffff4d;border-radius:50%;box-shadow:0 0 6px #fff6}.tile__face--front{transform:rotateY(180deg);z-index:1;background:transparent;overflow:hidden;container-type:inline-size}.tile--flipped .tile__face--back{transform:rotateY(180deg)}.tile--flipped .tile__face--front{transform:rotateY(0);z-index:3}.tile__emoji{font-size:90cqw;line-height:1;pointer-events:none}.tile--selected{border-color:#ec4899;box-shadow:0 0 0 2px #ec4899,0 0 20px #ec489973,0 4px 12px #0000001f;transform:translateY(-3px);z-index:100!important}.tile--matched{border-color:#34d399;box-shadow:0 0 0 2px #34d399,0 0 16px #34d3994d,0 2px 6px #00000014;cursor:default;pointer-events:none}.tile:hover:not(.tile--selected):not(.tile--hint):not(.tile--flipped):not(.tile--matched){border-color:#c084fc;transform:translateY(-3px);box-shadow:0 4px 12px #a855f733,0 2px 4px #0000000f,0 0 8px #a855f726,inset 0 1px #ffffffe6}.tile--hint{animation:pulse .5s ease-in-out 2;border-color:#fbbf24;border-width:2px;box-shadow:0 0 0 2px #fbbf24,0 0 16px #fbbf2473,0 4px 10px #0000001a;z-index:99!important}.game-controls{display:flex;justify-content:center;gap:var(--space-3);padding:var(--space-4) 0;flex-wrap:wrap}.game-controls__btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);font-size:var(--font-small);font-weight:600;color:var(--color-text);transition:background var(--anim-hover),transform var(--anim-hover);white-space:nowrap}.game-controls__btn:hover:not(:disabled){background:var(--color-tile-hover);transform:scale(1.05)}.game-controls__btn:active:not(:disabled){transform:scale(.95)}.game-controls__btn:disabled{opacity:.4;cursor:not-allowed}.game-controls__btn--hint{border-color:var(--color-accent);color:var(--color-accent)}.game-controls__btn--shuffle{border-color:#a855f7;color:#a855f7}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b4b99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:overlayIn var(--anim-modal);padding:var(--space-4)}.modal-overlay .modal{max-height:50vh;overflow-y:auto}.modal{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:0 20px 60px #a855f733,var(--shadow-xl);padding:var(--space-6);max-width:280px;width:100%;animation:fadeSlideUp var(--anim-modal);border:1px solid rgba(168,85,247,.1);font-size:.85rem}.modal__title{font-size:var(--font-h3);font-weight:700;text-align:center;margin-bottom:var(--space-4)}.result-title{font-size:var(--font-h1);font-weight:800;text-align:center;margin-bottom:var(--space-6)}.result-title--clear{background:linear-gradient(135deg,#34d399,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-title--over{background:linear-gradient(135deg,#f43f5e,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-details{margin-bottom:var(--space-4)}.result-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:var(--font-small)}.result-row--bonus .result-value{color:var(--color-secondary)}.result-row--penalty .result-value{color:var(--color-danger)}.result-row--total{font-size:var(--font-h3);font-weight:700;padding-top:var(--space-2)}.result-label{color:var(--color-text-secondary)}.result-value{font-weight:600;font-variant-numeric:tabular-nums}.result-divider{border-top:1px solid var(--color-border);margin:var(--space-2) 0}.result-ranking,.result-articles{margin-bottom:var(--space-4);transform:scale(.85);transform-origin:top center}.result-actions{display:flex;flex-direction:column;gap:var(--space-2)}.ranking{margin-top:var(--space-8);text-align:center}.ranking__title{font-size:var(--font-h3);font-weight:600;margin-bottom:var(--space-3);color:var(--color-text-secondary);text-align:center}.ranking__list{display:flex;flex-direction:column;gap:var(--space-2)}.ranking__item{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--font-small)}.ranking__difficulty{font-weight:700;color:var(--color-primary);min-width:60px}.ranking__score{font-weight:600;font-variant-numeric:tabular-nums}.ranking__time{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.ranking__count{color:var(--color-text-secondary)}.combo-overlay{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);z-index:50;pointer-events:none}.combo-overlay__text{font-size:var(--font-combo);font-weight:800;background:linear-gradient(135deg,#f472b6,#a855f7,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:comboFade var(--anim-combo);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}@media(max-width:380px){.game{padding:var(--space-2)}.game-controls{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.game-controls__btn{justify-content:center}.menu__content{max-width:100%}.modal{padding:var(--space-5)}}@media(max-width:480px){.menu__difficulties{flex-direction:column;align-items:center}.menu__difficulty{width:100%;max-width:280px}.game{padding:var(--space-2)}.game-header__time{font-size:1.75rem}.tile-board{gap:2px;padding:2px;width:var(--board-max-mobile)}.game-controls{gap:var(--space-2)}.game-controls__btn{padding:var(--space-2) var(--space-3);font-size:var(--font-small)}}@media(max-height:500px)and (orientation:landscape){.game{padding:var(--space-1)}.game-header__time{font-size:1.5rem}.game-header__combo{margin-top:var(--space-1)}.tile-board{max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px)}.game-controls{padding:var(--space-1) 0}}@media(min-width:768px){.game{padding:var(--space-6);max-width:720px}.tile-board{width:var(--board-max-tablet);max-width:560px;gap:var(--space-2)}.game-header__time{font-size:var(--font-timer)}.menu__content{max-width:600px}.menu__difficulty{min-width:120px}.modal{max-width:320px;padding:var(--space-6) var(--space-8)}}@media(min-width:1024px){.game{max-width:800px}.tile-board{width:var(--board-max-laptop);max-width:600px}.game-header__time{font-size:3rem}.game-header__score-value{font-size:1.375rem}.combo-overlay__text{font-size:3.5rem}.menu__content{max-width:720px}.modal{max-width:340px}.btn--large{padding:18px 36px}}@media(min-width:1280px){.game{max-width:840px}.tile-board{width:var(--board-max-desktop);max-width:640px}.tile{min-width:50px;min-height:70px}}
