*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1420;--panel:#1a2233;--panel2:#232e45;--line:#33415e;--text:#e8ecf4;--dim:#8b98b3;--accent:#4f8cff;--gold:#f4c430;--green:#2ea86b;--red:#e05252;--felt-border:#0c3f28}body{background:radial-gradient(ellipse 1200px 800px at 50% -10%,#1a2c22 0,var(--bg) 55%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;min-height:100vh}button{cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;background:var(--accent);color:#fff}button:disabled{opacity:.35;cursor:not-allowed}button.ghost{background:var(--panel2);color:var(--text);border:1px solid var(--line)}button.danger{background:var(--red)}button.gold{background:var(--gold);color:#222}button.gold-outline{background:var(--panel2);color:var(--gold);border:1px solid var(--gold)}input,select{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px}.lang-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;font-size:17px}.wrap{max-width:1100px;margin:0 auto;padding:24px 16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.22)}.row{align-items:center;flex-wrap:wrap}.col,.row{display:flex;gap:12px}.col{flex-direction:column}.table-header{justify-content:space-between}.header-cluster{gap:8px}h1{font-size:26px}h2{font-size:18px}.dim{color:var(--dim);font-size:13px}.vip-icon{width:32px;height:auto;vertical-align:-10px}.carousel{position:relative;gap:6px;min-width:0}.carousel,.carousel-arrow{display:flex;align-items:center}.carousel-arrow{flex-shrink:0;width:32px;height:32px;border-radius:50%;padding:0;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:18px;line-height:1;justify-content:center;transition:background .15s,border-color .15s,transform .1s;animation:carouselNudge 1.8s ease-in-out infinite}.carousel-arrow-l{animation-direction:reverse}.carousel-arrow:hover{background:var(--accent);border-color:var(--accent);color:#fff;animation-play-state:paused}.carousel-arrow:active{transform:scale(.9)}@keyframes carouselNudge{0%,to{transform:translateX(0)}50%{transform:translateX(3px)}}.avatars,.backset-grid,.swatches{flex:1 1;min-width:0;scrollbar-width:none;-ms-overflow-style:none}.avatars::-webkit-scrollbar,.backset-grid::-webkit-scrollbar,.swatches::-webkit-scrollbar{display:none}.avatars{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.avatar{position:relative;flex:0 0 auto;background:var(--panel2);border:2px solid var(--line);border-radius:12px;padding:8px;text-align:center;cursor:pointer;scroll-snap-align:start}.avatar.sel{border-color:var(--accent);background:#24365c}.avatar.locked{cursor:pointer}.avatar .crown{position:absolute;top:0;right:-10px;width:40px;height:auto}.avatar-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-badge-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;background:var(--panel2)}.avatar-badge-emoji{line-height:1}.avatar-badge-lottie{border-radius:50%;overflow:hidden;background:var(--panel2)}.avatar-badge-crown{position:absolute;top:-38%;left:50%;width:58%;margin-left:-29%;transform-origin:50% 80%;animation:crownSway 2.4s ease-in-out infinite;pointer-events:none}@keyframes crownSway{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.swatches{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.swatch{position:relative;flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 20px) / 3);aspect-ratio:2126/958;border-radius:10px;border:2px solid var(--line);cursor:pointer;scroll-snap-align:start}.swatch.sel{box-shadow:0 0 0 2px var(--accent)}.swatch.locked{cursor:pointer}.swatch .crown{position:absolute;top:0;right:-8px;width:32px;height:auto}.backset-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}.backset-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 20px) / 3);scroll-snap-align:start}.backset-preview{position:relative;width:100%;display:flex;gap:6px}.backset-swatch.sel .backset-preview{outline:2px solid var(--accent);outline-offset:4px;border-radius:10px}.backset-swatch.locked{cursor:pointer}.backset-preview .half{flex:1 1;min-width:0;aspect-ratio:92/132;border-radius:8px;width:100%;height:100%;display:block}.backset-preview .crown{position:absolute;top:0;right:-8px;width:36px;height:auto;z-index:1}.backset-label{font-size:11px;color:var(--dim);text-align:center;line-height:1.2}.table-row{display:flex;justify-content:space-between;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 16px}.badge{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--dim)}.badge.ranked{color:var(--gold);border-color:var(--gold)}.friend-row{display:flex;justify-content:space-between;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;transition:border-color .15s ease,transform .15s ease}.friend-row:hover{border-color:var(--gold);transform:translateX(2px)}.friend-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;flex-shrink:0;box-shadow:0 0 8px rgba(0,0,0,.35)}.friend-code-badge{color:var(--gold);border-color:var(--gold);font-weight:700;letter-spacing:.5px;margin-left:6px}.store-pack{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 16px;transition:border-color .15s ease,transform .15s ease}.store-pack:hover{border-color:var(--gold);transform:translateX(2px)}.store-pack-icon{width:56px;height:56px;object-fit:contain;flex-shrink:0}.store-pack-info{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto}.store-pack-amount{font-weight:800;font-size:16px}.friend-code-card{background:rgba(244,196,48,.08);border-color:var(--gold)}.friend-code-display{font-size:26px;font-weight:800;letter-spacing:3px;color:var(--gold)}.lb-period-tabs button{border-radius:999px;padding:8px 18px;font-weight:700}.lb-medal{font-size:20px;min-width:28px;text-align:center}.lb-rank-row.rank-1{border-color:var(--gold);background:linear-gradient(90deg,rgba(244,196,48,.16),var(--panel2) 65%);box-shadow:0 0 14px rgba(244,196,48,.22)}.lb-rank-row.rank-2{border-color:#c7cddb;background:linear-gradient(90deg,rgba(199,205,219,.14),var(--panel2) 65%)}.lb-rank-row.rank-3{border-color:#c98a4b;background:linear-gradient(90deg,rgba(201,138,75,.14),var(--panel2) 65%)}.felt{background:var(--felt-image,#1e5c3f) center /100% 100% no-repeat;border-radius:18px;border:2px solid var(--felt-border);padding:18px;min-height:280px}.opps{inset:0;pointer-events:none}.opp,.opps{position:absolute}.opp{pointer-events:auto;text-align:center;background:rgba(0,0,0,.28);border-radius:12px;padding:8px 12px 6px;min-width:108px;border:2px solid transparent}.opp.opp-left{left:16px;top:96px}.opp.opp-top{left:50%;top:14px;transform:translateX(-50%)}.opp.opp-right{right:16px;top:96px}.opp.turn{border-color:var(--gold);box-shadow:0 0 12px rgba(244,196,48,.4)}.opp .face{font-size:26px;position:relative}.dealer-badge{position:absolute;top:-2px;left:-2px;width:20px;height:20px;border-radius:50%;background:#1a2233;color:var(--gold);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;line-height:1;box-shadow:0 0 6px rgba(244,196,48,.55);z-index:2}.opp .nm{font-size:13px;font-weight:600}.opp .st{font-size:11px;color:#cfe3d8}.chip-icon{width:12px;height:12px;vertical-align:-3px}.opp.dc .face{filter:grayscale(1)}.opp .report-flag{position:absolute;top:2px;right:4px;background:none;border:none;font-size:13px;opacity:.55;padding:2px;cursor:pointer}.opp .report-flag:hover{opacity:1}.opp.last-card{background:rgba(224,82,82,.28);border-color:var(--red)}.opp.last-card.turn{box-shadow:0 0 12px rgba(224,82,82,.5)}.opp.drawing{box-shadow:0 0 16px rgba(79,140,255,.8);border-color:var(--accent);transition:box-shadow .15s ease-out}.coach-bar{background:rgba(244,196,48,.12);border:2px solid var(--gold);border-radius:12px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.coach-bar .msg{flex:1 1}.coach-glow{animation:coachPulse 1.3s ease-in-out infinite;border-radius:10px}@keyframes coachPulse{0%,to{box-shadow:0 0 0 2px var(--gold)}50%{box-shadow:0 0 16px 5px var(--gold)}}.auto-sort-btn{margin-left:auto}.melds{display:flex;flex-wrap:wrap;gap:10px;min-height:66px}.meld{display:flex;gap:2px;background:rgba(0,0,0,.22);padding:6px;border-radius:8px;cursor:pointer;border:2px solid transparent}.meld:hover{border-color:var(--accent)}.meld.clickable{border-color:rgba(79,140,255,.5)}.piles{display:flex;gap:16px;align-items:center;justify-content:center;margin:12px 0}.card{width:51px;height:73px;background:#fff;background-repeat:no-repeat;background-position:50%;background-size:100% 100%;border-radius:6px;border:1px solid #999;display:flex;flex-direction:column;justify-content:space-between;padding:4px;font-weight:700;font-size:15px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card .rank{align-self:flex-start;font-size:11px;line-height:1}.card.sm .rank{font-size:9px}.card.back{background:repeating-linear-gradient(45deg,#7a1f2b,#7a1f2b 6px,#922737 0,#922737 12px)}.card.back.blue{background:repeating-linear-gradient(45deg,#1f3f7a,#1f3f7a 6px,#274f92 0,#274f92 12px)}.card.sm{width:37px;height:55px;font-size:12px}.card.lg{width:74px;height:110px;font-size:24px}.card.lg .rank{font-size:18px}.card.rank-only{display:flex;align-items:center;justify-content:center;padding:0;font-size:20px;color:#1a1a1a}.hand{display:flex;flex-wrap:wrap;gap:6px;padding:12px;background:var(--panel);border-radius:12px;border:1px solid var(--line)}.hand .card{cursor:pointer;transition:transform .08s}.hand .card.sel{transform:translateY(-10px);outline:3px solid var(--accent)}.hand .card.risky{outline:2px dashed var(--red)}.hand .card.locked{outline:2px solid #888;opacity:.8}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}.timer{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;padding:6px 14px;border-radius:999px;background:var(--panel2);border:1px solid var(--line)}.timer.low{color:var(--red);border-color:var(--red)}.takeover-pill{display:flex;align-items:center;gap:8px;margin:0 auto;background:rgba(224,82,82,.14);border:1px solid var(--red);border-radius:999px;padding:4px 6px 4px 14px;font-size:12px;white-space:nowrap}.takeover-pill button{padding:4px 10px;font-size:12px}.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;min-width:340px;max-width:560px}.modal-lg{max-width:820px;width:92%;max-height:86vh;overflow-y:auto}.welcome-name-modal{text-align:center;gap:16px;max-width:400px;border:1px solid var(--gold);background:linear-gradient(160deg,var(--panel),var(--panel2));box-shadow:0 0 40px rgba(244,196,48,.2),0 16px 48px rgba(0,0,0,.5)}.welcome-name-avatars{display:flex;justify-content:center}.welcome-name-avatars>*{border-radius:50%;box-shadow:0 0 26px rgba(244,196,48,.4)}.welcome-name-input{font-size:18px;text-align:center;padding:14px 16px;border-radius:12px}.welcome-name-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(244,196,48,.2)}.welcome-name-skip{font-size:13px}.toasts{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--panel2);border:1px solid var(--line);border-left:4px solid var(--accent);padding:10px 14px;border-radius:8px;font-size:13px}.toast.warn{border-left-color:var(--red)}table.score{width:100%;border-collapse:collapse;margin-top:10px}table.score td,table.score th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.contract-chip{background:var(--panel2);border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.completed-melds{background:rgba(244,196,48,.14);border:1px solid var(--gold);border-radius:10px;padding:8px 12px;margin-bottom:8px;animation:completedPop .25s ease-out;min-width:0}.completed-melds-title{font-size:12px;font-weight:700;color:var(--gold);margin-bottom:6px}.completed-melds-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;min-width:0}.completed-meld-badge{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--panel);border:1px solid var(--gold);border-radius:8px;padding:5px 8px;box-shadow:0 0 8px rgba(244,196,48,.25);min-width:0;overflow:hidden}.completed-meld-badge .rank{font-weight:800;font-size:16px}.completed-meld-badge .suits{display:flex;gap:3px;font-size:14px}@keyframes completedPop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.card.mini{width:20px;height:28px;border-radius:3px;cursor:pointer;transition:transform .08s}.card.mini:hover{transform:translateY(-4px)}.opp.opp-bottom{left:50%;bottom:14px;transform:translateX(-50%)}.opp.opp-bottom.opp-bottom-ingame{bottom:60px}.draw-slot{margin-top:6px;display:flex;justify-content:center}.draw-slot .card{animation:startDrawFlip .3s ease-out}@keyframes startDrawFlip{0%{transform:rotateY(90deg) scale(.9);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}.table-viewport{min-height:100vh;min-height:100dvh}.game-grid{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:stretch;flex:1 1;min-height:0}@media (max-width:900px) and (orientation:portrait){.game-grid{grid-template-columns:1fr}}.game-grid-mobile{grid-template-columns:1fr}.sidebar{display:flex;flex-direction:column;gap:12px;min-width:0}.game-main,.sidebar{min-height:0}.contract-big{font-size:20px;font-weight:800;color:var(--gold)}.clickable-panel{cursor:pointer;transition:border-color .12s}.clickable-panel:hover{border-color:var(--gold)}.score-row{display:flex;justify-content:space-between;padding:6px 8px;border-radius:8px;font-size:14px;gap:8px}.score-row.me{background:#24365c}.score-row .nm{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.conn-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:999px;white-space:nowrap}.conn-badge.conn-left{background:rgba(224,82,82,.18);color:var(--red)}.conn-badge.conn-waiting{background:rgba(244,196,48,.16);color:var(--gold)}.panel.chat{padding:8px 6px 10px 8px}.chat{flex-direction:column;gap:8px;min-height:0}.chat,.chat-msgs{display:flex;flex:1 1}.chat-msgs{min-height:120px;overflow-y:auto;flex-direction:column;gap:4px;font-size:13px;background:var(--panel2);border-radius:8px;padding:8px}.chat-msgs .who{color:var(--accent);font-weight:700}.chat-input{display:flex;gap:6px}.chat-input input{flex:1 1;min-width:0}.chat-send-btn{flex-shrink:0;padding:8px 12px;font-size:16px;line-height:1}.chat-filter-note{font-size:11px;line-height:1.4}.felt{flex:1 1;min-height:300px;position:relative}.actions.actions-bar{position:absolute;left:16px;right:16px;bottom:16px;z-index:5;margin-top:0}.deck-tray{display:flex;align-items:flex-end;gap:0;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:10px 14px}.deck-tray .discard-slot{margin-left:-12px;z-index:2;filter:drop-shadow(2px 2px 6px rgba(0,0,0,.5))}.cut-reveal-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:22px;z-index:20;background:rgba(10,14,22,.72);border:2px solid var(--gold);border-radius:16px;padding:22px 26px;box-shadow:0 10px 40px rgba(0,0,0,.7)}.cut-reveal-card .card{width:112px;height:161px;font-size:30px}.cut-reveal-card .card .rank{font-size:24px}.offer-panel{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);background:var(--panel);border:2px solid var(--gold);border-radius:16px;padding:18px 22px;z-index:10;box-shadow:0 10px 40px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:12px;align-items:center;min-width:300px}.hand{min-height:158px;align-content:flex-start}.hand .card{cursor:-webkit-grab;cursor:grab}.hand .card:active{cursor:-webkit-grabbing;cursor:grabbing}.hand .card.dragging{opacity:.35}.hand-hint{font-size:11px;color:var(--dim);padding:2px 12px 0}.takeover{border:2px solid var(--red)}.takeover h2{color:var(--red)}.maintenance-modal{border:2px solid var(--gold);text-align:center;align-items:center;gap:10px}.maintenance-icon{font-size:42px;animation:wrenchWiggle 1.6s ease-in-out infinite}@keyframes wrenchWiggle{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}.maintenance-countdown{display:flex;flex-direction:column;gap:2px;padding:10px 18px;border-radius:12px;background:rgba(255,199,79,.12);border:1px solid var(--gold)}.maintenance-countdown b{font-size:20px;color:var(--gold)}.rotate-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;background:var(--bg)}.rotate-overlay-icon{font-size:64px;animation:rotateDeviceSpin 1.8s ease-in-out infinite}@keyframes rotateDeviceSpin{0%,15%{transform:rotate(0deg)}50%,65%{transform:rotate(-90deg)}to{transform:rotate(-90deg)}}.felt-canvas-host{margin-top:112px}.felt-canvas-host canvas{display:block}.hand-host-wrap{min-height:150px;background:var(--panel);border-radius:12px;border:1px solid var(--line);overflow:hidden}.hand-host-wrap canvas{display:block}.waiting-seats{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.seat{min-width:120px;text-align:center;border-radius:14px;padding:14px 16px;border:2px solid transparent}.seat.filled{background:rgba(46,168,107,.16);border-color:var(--green);animation:seatJoin .3s ease-out}.seat.empty{background:rgba(255,255,255,.04);border:2px dashed var(--line);animation:seatPulse 1.6s ease-in-out infinite}.seat .face{font-size:30px}.seat .nm{font-size:13px;font-weight:600;margin-top:4px}.seat-tag{font-size:11px;color:var(--green);margin-top:4px}button.seat.seat-addbot{font:inherit;color:inherit;cursor:pointer;animation:none;border-style:solid;border-color:var(--gold);background:rgba(255,215,0,.06);transition:transform .15s ease,background .15s ease}button.seat.seat-addbot:hover{background:rgba(255,215,0,.14);transform:translateY(-2px)}button.seat.seat-addbot .nm{color:var(--gold)}@keyframes seatJoin{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes seatPulse{0%,to{opacity:.55}50%{opacity:1}}.flight-overlay{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.flight-overlay canvas{display:block}.reveal-row{gap:10px;padding:8px;border-bottom:1px solid var(--line);flex-wrap:wrap}.reveal-row,.reveal-row .who{display:flex;align-items:center}.reveal-row .who{min-width:130px;gap:6px;font-weight:600;font-size:14px}.reveal-row.winner{background:rgba(244,196,48,.08)}.reveal-cards{display:flex;gap:3px;flex-wrap:wrap}.reveal-breakdown{margin-left:auto;font-size:12px;color:var(--dim);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reveal-breakdown b{color:var(--text);font-size:15px}.countdown-pill{background:var(--panel2);border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:4px 14px;font-weight:700}.countdown-pill.pulse{animation:coachPulse 1.3s ease-in-out infinite}.coach-progress{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gold);white-space:nowrap}.coach-progress .segs{display:flex;gap:4px}.coach-progress .seg{width:22px;height:6px;border-radius:3px;background:rgba(244,196,48,.22)}.coach-progress .seg.done{background:var(--gold)}.coach-progress .seg.cur{background:var(--gold);opacity:.55;animation:coachPulse 1.3s ease-in-out infinite}.coach-bar.shake{animation:coachShakeX .45s ease-in-out}@keyframes coachShakeX{15%,45%,75%{transform:translateX(-5px)}30%,60%,90%{transform:translateX(5px)}}.tut-modal p{line-height:1.5}.tut-cards-block{display:flex;flex-direction:column;gap:4px;align-items:center}.tut-cards-label{font-size:12px;color:var(--dim)}.tut-cards{display:flex;gap:8px;justify-content:center;align-items:center;padding:6px 0}.tut-cards .card{box-shadow:0 0 0 2px var(--gold),0 4px 14px rgba(0,0,0,.4)}.tut-plus{font-size:20px;font-weight:700;color:var(--dim)}.tut-card-pop{display:inline-block;animation:tutCardPop .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes tutCardPop{0%{opacity:0;transform:translateY(14px) scale(.6) rotate(-6deg)}to{opacity:1;transform:none}}.tut-lessons{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tut-lesson-badge{display:flex;align-items:center;gap:6px;background:var(--panel2);border:1px solid var(--gold);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.tut-lesson-badge .no{background:var(--gold);color:#1a1a1a;width:18px;height:18px;border-radius:50%;font-size:11px}.tut-flow,.tut-lesson-badge .no{display:flex;align-items:center;justify-content:center}.tut-flow{gap:10px;padding:8px 0}.tut-flow-step{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 16px;font-size:13px;font-weight:600}.tut-flow-step .ico{font-size:22px}.tut-flow-arrow{color:var(--gold);font-size:20px;font-weight:700}.lesson-splash{text-align:center;align-items:center;border:2px solid var(--gold);box-shadow:0 0 40px rgba(244,196,48,.25)}.lesson-splash p{line-height:1.5;max-width:420px}.lesson-kicker{letter-spacing:3px;font-size:13px}.lesson-done,.lesson-kicker{color:var(--gold);font-weight:800}.lesson-done{font-size:22px;text-align:center;animation:tutCardPop .5s cubic-bezier(.34,1.56,.64,1) both}.confetti-burst{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:60}.confetti{position:absolute;top:-20px;width:8px;height:14px;border-radius:2px;opacity:.9;animation:confettiFall linear infinite}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0deg)}to{transform:translateY(105vh) rotate(540deg)}}.lobby-bg{position:fixed;inset:0;z-index:-1;background-image:url(/background.webp);background-size:100% 100%;background-repeat:no-repeat;opacity:.55}.loading-screen{position:fixed;inset:0;z-index:200;background:#000;overflow:hidden}.loading-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.loading-widget{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);z-index:1;width:min(420px,82vw);display:flex;flex-direction:column;align-items:center;gap:10px}.loading-text{color:var(--gold);font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.9)}.loading-bar-track{width:100%;height:10px;border-radius:999px;overflow:hidden;background:rgba(0,0,0,.55);border:1px solid rgba(244,196,48,.4);box-shadow:0 2px 10px rgba(0,0,0,.5)}.loading-bar-fill{height:100%;min-width:2px;background:var(--gold);box-shadow:0 0 14px rgba(244,196,48,.85);transition:width .15s linear}.menu-btn{position:relative;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 14px;font-size:20px;line-height:1.4}.menu-btn:hover{border-color:var(--gold)}.menu-badge{position:absolute;top:-6px;right:-6px;background:var(--red);color:#fff;font-size:10px;font-weight:800;line-height:1;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;box-shadow:0 0 0 2px var(--bg)}.drawer-link .menu-badge{top:50%;right:10px;transform:translateY(-50%)}.menu-bean-count{gap:8px;font-size:18px;font-weight:800;color:var(--gold);background:none;border:none;padding:0;cursor:pointer}.menu-bean-count:hover{color:var(--gold-light,var(--gold));text-decoration:underline}.menu-bean-icon{width:28px;height:28px;object-fit:contain}.drawer{position:fixed;left:0;top:0;bottom:0;width:300px;max-width:85vw;z-index:101;background:rgba(26,34,51,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-right:1px solid var(--line);padding:20px;overflow-y:auto;animation:drawerIn .18s ease-out;box-shadow:8px 0 24px rgba(0,0,0,.4)}@keyframes drawerIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.drawer-link{position:relative;display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:rgba(35,46,69,.75);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:16px;font-weight:700;text-decoration:none;box-shadow:0 2px 0 rgba(0,0,0,.25);transition:transform .12s,border-color .12s,background .12s,box-shadow .12s}.drawer-link:hover{background:rgba(36,54,92,.9);border-color:var(--gold);color:var(--gold);transform:translateX(3px)}.drawer-link:active{transform:translateX(1px) scale(.98);box-shadow:0 1px 0 rgba(0,0,0,.25)}.drawer-link-icon{flex-shrink:0}.policy-menu-emoji{font-size:28px;width:36px;display:inline-flex;align-items:center;justify-content:center}.legal-section{border-left:3px solid var(--gold)}.mode-panel{background:linear-gradient(180deg,rgba(244,196,48,.08),transparent 40%),rgba(26,34,51,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid var(--line);border-radius:22px;padding:22px 20px 18px;box-shadow:0 10px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04)}.mode-panel-heading{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:4px}.mode-panel-heading h2{font-size:15px;font-weight:800;letter-spacing:.5px;color:var(--gold);text-transform:uppercase}.mode-panel-suit{font-size:18px;color:var(--gold);opacity:.5}.mode-panel-divider{height:1px;margin:16px 4px;background:linear-gradient(90deg,transparent,var(--line) 20%,var(--line) 80%,transparent)}.banner-slot{width:100%;max-width:728px;min-height:90px;margin:8px auto 0;display:flex;align-items:center;justify-content:center}.mode-select{justify-content:center;gap:20px;padding:12px 0}.mode-select-secondary{padding:0;gap:14px}.mode-btn{flex:1 1;min-width:220px;max-width:320px;padding:16px 20px 22px;font-size:19px;font-weight:800;background:linear-gradient(160deg,var(--panel2),var(--panel));border:2px solid var(--line);border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .12s ease-out,border-color .12s,box-shadow .12s}.mode-btn>div{pointer-events:none}.mode-btn:hover:not(:disabled){border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 24px rgba(244,196,48,.18)}.mode-btn-secondary{min-width:150px;max-width:220px;padding:10px 14px 14px;font-size:13px;font-weight:700;color:var(--dim);border-radius:14px}.mode-btn-secondary:hover:not(:disabled){color:var(--text);box-shadow:0 6px 16px rgba(244,196,48,.12)}.turn-slider{width:100%;accent-color:var(--gold);height:6px}.turn-slider-wrap{flex:1 1;min-width:160px;align-items:center;gap:10px}