*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#1a472a;color:#e0e0e0;min-height:100vh}#root{min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.header{background:#0d2818;padding:12px 24px;padding-right:calc(24px + env(safe-area-inset-right));padding-left:calc(24px + env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #2d5a3d}.header h1{font-size:24px;color:#c0a050}.game-container{flex:1;display:flex;gap:16px;padding:16px;max-width:1400px;margin:0 auto;width:100%}.game-board{flex:1;display:flex;flex-direction:column;gap:16px}.game-sidebar{width:320px;display:flex;flex-direction:column;gap:12px}.card{display:inline-flex;align-items:center;justify-content:center;width:90px;height:182px;border-radius:5px;border:2px solid #555;background:#faf8f0;cursor:default;transition:transform .15s,box-shadow .15s;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.card .card-img{width:100%;height:100%;object-fit:cover;pointer-events:none}.card.clickable{cursor:pointer;border-color:#888}.card.clickable:hover{transform:translateY(-6px);box-shadow:0 4px 12px #0006}.card.selected{border-color:#fbbf24;box-shadow:0 0 14px #fbbf24b3;transform:translateY(-8px)}.card.capture-target{border-color:#34d399;box-shadow:0 0 10px #34d39980}.card .card-name-overlay{position:absolute;bottom:0;left:0;right:0;padding:4px 2px;background:#000000bf;color:#fff;font-size:11px;font-weight:600;text-align:center;line-height:1.2;opacity:0;transition:opacity .15s;pointer-events:none}.card:hover .card-name-overlay{opacity:1}.card.small{width:60px;height:121px}.card.small .card-name-overlay{font-size:8px;padding:2px 1px}.section{background:#0003;border-radius:8px;padding:12px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#8ba895;margin-bottom:8px}.card-row{display:flex;flex-wrap:wrap;gap:6px;min-height:88px;align-items:center}.table-area{background:#1e5c35;border:2px solid #2d7a4a;border-radius:12px;padding:20px;min-height:140px}.hand-area{background:#0000004d;border:2px solid #3a6b50;border-radius:12px;padding:16px}.hand-area.active{border-color:#fbbf24}.players-bar{display:flex;gap:12px;flex-wrap:wrap}.player-badge{padding:6px 12px;border-radius:6px;background:#0000004d;font-size:13px;display:flex;gap:8px;align-items:center}.player-badge.current{background:#2d5a3d;border:1px solid #fbbf24}.player-badge .name{font-weight:700}.player-badge .stats{color:#8ba895}.actions-area{background:#0000004d;border-radius:8px;padding:12px;min-height:48px}.actions-area.actions-hidden{visibility:hidden;min-height:0;padding:0;margin:0}.action-btn{display:block;width:100%;padding:8px 12px;margin-bottom:4px;border:1px solid #3a6b50;border-radius:4px;background:#1e3a2a;color:#e0e0e0;cursor:pointer;text-align:left;font-size:13px;transition:background .1s}.action-btn:hover{background:#2d5a3d}.action-btn.selected{background:#3d7a5d;border-color:#fbbf24}.game-log{flex:1;overflow-y:auto;max-height:400px;font-size:12px;font-family:SF Mono,Fira Code,monospace}.log-entry{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.05)}.log-entry .turn-num{color:#666;margin-right:6px}.log-entry .player-name{color:#c0a050;margin-right:4px}.log-entry .scopa-badge{color:#fbbf24;font-weight:700}.lobby{max-width:600px;margin:60px auto;padding:32px;background:#0000004d;border-radius:12px}.lobby h2{color:#c0a050;margin-bottom:20px}.player-config{display:flex;gap:12px;align-items:center;margin-bottom:12px}.player-config label{width:80px}.player-config input,.player-config select{padding:6px 10px;border-radius:4px;border:1px solid #3a6b50;background:#1e3a2a;color:#e0e0e0;font-size:14px}.player-config select{min-width:160px}.btn{padding:10px 24px;border-radius:6px;border:none;font-size:15px;cursor:pointer;font-weight:700;transition:background .15s}.btn-primary{background:#c0a050;color:#1a1a1a}.btn-primary:hover{background:#d4b060}.btn-primary:disabled{background:#8a7a4a;cursor:not-allowed;opacity:.7}.btn-secondary{background:#3a6b50;color:#e0e0e0}.btn-secondary:hover{background:#4a8b60}.btn-row{display:flex;gap:12px;margin-top:20px}.scores-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;animation:overlay-fade-in .3s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.scores-card{background:#1e3a2a;border:2px solid #c0a050;border-radius:12px;padding:32px;min-width:400px;max-height:85vh;overflow-y:auto;animation:card-slide-up .4s ease-out}@keyframes card-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scores-card.match-over{border-color:#fbbf24;box-shadow:0 0 30px #fbbf244d}.scores-card h2{color:#c0a050;margin-bottom:16px}.match-winner-banner h2{color:#fbbf24;font-size:24px;margin-bottom:4px;animation:winner-glow 2s ease-in-out infinite alternate}.match-winner-subtitle{color:#8ba895;font-size:13px;margin-bottom:16px}@keyframes winner-glow{0%{text-shadow:0 0 8px rgba(251,191,36,.4)}to{text-shadow:0 0 20px rgba(251,191,36,.8)}}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#8ba895;margin-bottom:8px;margin-top:16px}.round-scores-section .section-label{margin-top:0}.score-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1)}.score-row.winner{color:#fbbf24;font-weight:700}.round-pts{font-weight:600}.score-categories{display:flex;gap:10px;padding:4px 0 8px 12px;flex-wrap:wrap}.score-category{font-size:11px;color:#556;opacity:0;transform:translateY(-4px);animation:category-reveal .3s ease-out forwards}.score-category.scored{color:#a0c0a8;font-weight:600}@keyframes category-reveal{to{opacity:1;transform:translateY(0)}}.match-scoreboard{margin-top:8px;padding:12px;background:#0003;border-radius:8px}.match-scoreboard .section-label{margin-top:0}.match-score-row{margin-bottom:10px}.match-score-row:last-child{margin-bottom:0}.match-score-row .match-player-name{font-weight:600;font-size:14px}.match-score-row.match-winner .match-player-name{color:#fbbf24}.match-total{float:right;font-size:18px;font-weight:700;color:#e0e0e0}.match-score-row.match-winner .match-total{color:#fbbf24}.match-target-indicator{font-size:12px;font-weight:400;color:#666}.match-score-bar{height:6px;background:#ffffff1a;border-radius:3px;margin-top:4px;overflow:hidden}.match-score-fill{height:100%;background:linear-gradient(90deg,#3a7a50,#5aaa70);border-radius:3px;animation:bar-fill 1s ease-out forwards;animation-delay:inherit;transform-origin:left;transform:scaleX(0)}.match-score-row.match-winner .match-score-fill{background:linear-gradient(90deg,#c0a050,#fbbf24)}@keyframes bar-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.round-history{margin-top:8px}.round-history-table{width:100%;border-collapse:collapse;font-size:13px}.round-history-table th{text-align:left;padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.2);color:#8ba895;font-weight:600}.round-history-table td{padding:3px 8px;border-bottom:1px solid rgba(255,255,255,.05);color:#ccc}.round-history-table td:first-child{color:#888}.replay-controls{display:flex;gap:8px;align-items:center;padding:12px;background:#0000004d;border-radius:8px}.replay-controls button{padding:6px 12px;border:1px solid #3a6b50;border-radius:4px;background:#1e3a2a;color:#e0e0e0;cursor:pointer}.replay-controls button:hover{background:#2d5a3d}.replay-controls button.active{background:#c0a050;color:#1a1a1a;font-weight:700}.replay-controls .turn-display{margin:0 12px;font-size:14px}.last-hand-banner{background:linear-gradient(90deg,transparent,rgba(251,191,36,.15),transparent);border:1px solid #c0a050;border-radius:6px;padding:10px;text-align:center;font-size:16px;font-weight:700;letter-spacing:3px;color:#fbbf24;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #fbbf2433}50%{box-shadow:0 0 20px #fbbf2480}}.settings-menu{position:relative}.settings-gear{background:none;border:1px solid #3a6b50;border-radius:6px;color:#8ba895;cursor:pointer;padding:0;width:34px;height:34px;line-height:0;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s;vertical-align:middle}.settings-gear:hover{color:#c0a050;border-color:#c0a050}.settings-dropdown{position:absolute;right:0;top:100%;margin-top:6px;background:#1e3a2a;border:1px solid #3a6b50;border-radius:8px;padding:12px 16px;min-width:200px;z-index:200;display:flex;flex-direction:column;gap:10px;box-shadow:0 8px 24px #0006}.settings-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#e0e0e0;cursor:pointer}.settings-row input[type=checkbox]{accent-color:#c0a050}.settings-row select{margin-left:auto;padding:3px 6px;border-radius:4px;border:1px solid #3a6b50;background:#0d2818;color:#e0e0e0;font-size:12px}.anim-play-in{animation:card-play-in .5s ease-out both}@keyframes card-play-in{0%{opacity:0;transform:translateY(-40px) scale(.85)}to{opacity:1;transform:translateY(-12px) scale(1.04)}}.anim-play-hold{transform:translateY(-12px) scale(1.04)}.anim-settle{animation:card-settle .4s ease-in-out both}@keyframes card-settle{0%{transform:translateY(-12px) scale(1.04)}to{transform:translateY(0) scale(1)}}.anim-capture-glow{animation:capture-glow .7s ease-in-out both}@keyframes capture-glow{0%{box-shadow:0 0 #fbbf2400;border-color:#555}30%{box-shadow:0 0 18px #fbbf24cc;border-color:#fbbf24}to{box-shadow:0 0 18px #fbbf24cc;border-color:#fbbf24}}.anim-sweep-out{animation:card-sweep-out .5s ease-in both}@keyframes card-sweep-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.8)}}.move-announcement-slot{min-height:0}.move-announcement{background:#0006;border-radius:6px;padding:8px 14px;font-size:13px;text-align:center;animation:announce-in .2s ease-out}.move-announcement .move-player{color:#c0a050;font-weight:700}.move-announcement .scopa-flash{color:#fbbf24;font-weight:700;animation:scopa-pulse .3s ease-in-out 2}@keyframes announce-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scopa-pulse{0%,to{opacity:1}50%{opacity:.4}}.replay-hands{display:flex;gap:12px;flex-wrap:wrap}.replay-hand{flex:1;min-width:150px;background:#0003;border:1px solid #3a6b50;border-radius:8px;padding:10px}.replay-hand.active{border-color:#fbbf24;background:#fbbf240d}.loading-indicator{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;background:#c0a0501a;border:1px solid #c0a050;border-radius:8px;font-size:14px;color:#c0a050;animation:fade-in .2s ease-out}.loading-spinner{width:20px;height:20px;border:3px solid rgba(192,160,80,.3);border-top-color:#c0a050;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.name-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;animation:fade-in .15s ease-out}.name-prompt-card{background:#0d2818;border:1px solid #3a6b50;border-radius:12px;padding:28px 32px;min-width:300px;max-width:380px;box-shadow:0 16px 48px #00000080}.name-prompt-card h3{color:#c0a050;margin-bottom:8px;font-size:18px}.name-prompt-card p{color:#8ba895;font-size:13px;margin-bottom:16px;line-height:1.4}.name-prompt-card input{width:100%;padding:10px 14px;font-size:16px;border-radius:6px;border:1px solid #3a6b50;background:#1a472a;color:#e0e0e0;margin-bottom:16px}.name-prompt-card input:focus{outline:none;border-color:#c0a050}.name-prompt-actions{display:flex;gap:10px}.name-prompt-actions .btn{flex:1}.name-prompt-signin{display:block;width:100%;margin-top:12px;padding:8px;background:none;border:1px solid #3a6b50;border-radius:6px;color:#c0a050;font-size:14px;cursor:pointer;transition:background .15s}.name-prompt-signin:hover{background:#c0a0501a}.open-game-row{display:flex;align-items:center;gap:12px;background:#0d2818;border:1px solid #2d5a3d;border-radius:6px;padding:8px 14px;font-size:13px}.open-game-row:hover{border-color:#4a8a60}.open-game-players{flex:1;color:#e0e0e0}.open-game-seats{color:#8ba895;font-size:12px}.invite-banner{display:flex;align-items:center;justify-content:center;background:#c0a0501a;border:1px solid rgba(192,160,80,.25);border-radius:6px;padding:6px 14px;font-size:12px;color:#8ba895;cursor:pointer;transition:background .15s}.invite-banner:hover{background:#c0a0502e}.invite-banner strong{color:#c0a050;margin-left:4px}.auth-bar{position:relative;display:flex;align-items:center;gap:8px}.auth-btn{font-size:13px;padding:5px 14px}.auth-user-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid #3a6b50;border-radius:6px;padding:4px 12px 4px 4px;color:#e0e0e0;cursor:pointer;font-size:13px;transition:background .15s}.auth-user-btn:hover{background:#ffffff14}.auth-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#2d5a3d;flex-shrink:0}.auth-avatar img{width:100%;height:100%;object-fit:cover}.auth-avatar-default{font-size:14px;font-weight:600;color:#c0a050}.auth-username{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#0d2818;border:1px solid #3a6b50;border-radius:8px;padding:6px 0;min-width:160px;z-index:100;box-shadow:0 8px 24px #0006;animation:fade-in .12s ease-out}.auth-dropdown button{display:block;width:100%;text-align:left;background:none;border:none;color:#e0e0e0;padding:8px 16px;font-size:13px;cursor:pointer}.auth-dropdown button:hover{background:#ffffff14}.auth-dropdown hr{border:none;border-top:1px solid #2d5a3d;margin:4px 0}.leaderboard-page{max-width:640px;margin:0 auto;padding:20px 16px}.leaderboard-page h2{color:#c0a050;margin-bottom:16px}.leaderboard-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}.tab-btn{background:#0d2818;border:1px solid #2d5a3d;color:#8ba895;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.tab-btn.active{background:#2d5a3d;color:#e0e0e0;border-color:#4a8a60}.tab-btn:hover:not(.active){background:#ffffff0d}.leaderboard-periods{display:flex;gap:8px;margin-bottom:16px}.period-btn{background:none;border:none;color:#666;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.period-btn.active{color:#c0a050;background:#c0a0501f}.my-rank-card{display:flex;align-items:center;gap:12px;background:#c0a05014;border:1px solid rgba(192,160,80,.25);border-radius:8px;padding:10px 16px;margin-bottom:16px;font-size:13px}.rank-label{color:#8ba895}.rank-value{font-size:18px;font-weight:700;color:#c0a050}.rank-stat{color:#e0e0e0;font-weight:600}.rank-games{color:#666;margin-left:auto}.leaderboard-list{display:flex;flex-direction:column;gap:2px}.leaderboard-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;font-size:13px;transition:background .1s}.leaderboard-row:hover{background:#ffffff0a}.leaderboard-row.highlight{background:#c0a05014}.lb-rank{width:36px;color:#8ba895;font-weight:600}.lb-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#2d5a3d;flex-shrink:0}.lb-avatar img{width:100%;height:100%;object-fit:cover}.lb-avatar-default{font-size:13px;font-weight:600;color:#c0a050}.lb-name{flex:1;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-value{font-weight:700;color:#c0a050;min-width:50px;text-align:right}.lb-games{color:#666;min-width:30px;text-align:right}.profile-page{max-width:640px;margin:0 auto;padding:20px 16px}.profile-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.profile-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#2d5a3d;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-default{font-size:28px;font-weight:600;color:#c0a050}.profile-info h2{color:#c0a050;margin-bottom:4px}.profile-info .profile-subtitle{color:#8ba895;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:24px}.stat-card{background:#0d2818;border:1px solid #2d5a3d;border-radius:8px;padding:12px;text-align:center}.stat-value{font-size:22px;font-weight:700;color:#c0a050}.stat-label{font-size:11px;color:#8ba895;margin-top:4px}.history-page{max-width:720px;margin:0 auto;padding:20px 16px}.history-page h2{color:#c0a050;margin-bottom:16px}.history-list{display:flex;flex-direction:column;gap:6px}.history-row{display:flex;align-items:center;gap:12px;background:#0d2818;border:1px solid #2d5a3d;border-radius:6px;padding:10px 14px;font-size:13px}.history-date{color:#666;min-width:80px}.history-players{flex:1;color:#e0e0e0}.history-score{color:#c0a050;font-weight:600}.history-result{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700}.history-result.win{background:#22c55e26;color:#4ade80}.history-result.loss{background:#ef444426;color:#f87171}.history-pagination{display:flex;justify-content:center;gap:8px;margin-top:16px}.browse-games-page{max-width:700px;margin:0 auto;padding:20px 16px}.browse-games-page h2{color:#c0a050;margin-bottom:16px}.games-list{display:flex;flex-direction:column;gap:8px}.game-card{background:#0d2818;border:1px solid #2d5a3d;border-radius:8px;padding:12px 16px;transition:border-color .15s}.game-card:hover{border-color:#4a8a60}.game-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px}.game-card-date{color:#8ba895}.game-card-duration{color:#666;margin-left:auto}.game-mode-badge{padding:1px 7px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.game-mode-badge.pvp{background:#63b3ed26;color:#63b3ed}.game-mode-badge.pve{background:#c0a05026;color:#c0a050}.game-mode-badge.mixed{background:#a078c826;color:#a078c8}.game-card-players{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}.game-player{display:inline-flex;align-items:center;gap:4px;color:#ccc}.game-player.winner{color:#e0e0e0;font-weight:600}.bot-icon{font-size:12px;opacity:.7}.player-score{color:#8ba895;font-size:12px;margin-left:2px}.winner-star{color:#c0a050;font-size:14px}.game-card-replay{margin-top:8px;font-size:11px;padding:3px 10px}.chat-panel{position:fixed;bottom:16px;left:16px;z-index:50}.emote-toggle{width:40px;height:40px;border-radius:50%;background:#0d2818;border:1px solid #3a6b50;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.emote-toggle:hover{background:#2d5a3d}.emote-picker{position:absolute;bottom:48px;left:0;background:#0d2818;border:1px solid #3a6b50;border-radius:10px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px;min-width:200px;box-shadow:0 8px 24px #00000080;animation:fade-in .12s ease-out}.emote-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:#e0e0e0;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;transition:background .1s}.emote-btn:hover{background:#ffffff14}.emote-icon{font-size:16px}.emote-label{font-size:12px}.emote-toasts{position:fixed;top:70px;right:16px;z-index:60;display:flex;flex-direction:column;gap:6px;pointer-events:none}.emote-toast{background:#0d2818;border:1px solid #3a6b50;border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px;font-size:13px;animation:emote-slide-in .25s ease-out;pointer-events:auto}.emote-toast-icon{font-size:18px}.emote-toast-text{color:#e0e0e0}.emote-toast-text strong{color:#c0a050}@keyframes emote-slide-in{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:300;animation:overlay-fade-in .3s ease-out;padding:16px}.tutorial-card{background:#0d2818;border:2px solid #c0a050;border-radius:16px;padding:32px 36px 24px;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;animation:card-slide-up .4s ease-out;position:relative}.tutorial-progress{display:flex;gap:6px;justify-content:center;margin-bottom:8px}.tutorial-progress-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;transition:background .3s,transform .3s}.tutorial-progress-dot.active{background:#c0a050;transform:scale(1.3)}.tutorial-progress-dot.done{background:#5aaa70}.tutorial-step-count{text-align:center;font-size:11px;color:#666;margin-bottom:12px;letter-spacing:1px}.tutorial-title{color:#c0a050;font-size:22px;text-align:center;margin-bottom:20px}.tutorial-content{line-height:1.6;font-size:14px;color:#d0d0d0}.tutorial-content p{margin-bottom:14px}.tutorial-content strong{color:#e0e0e0}.tutorial-lead{font-size:16px;color:#e0e0e0;text-align:center;line-height:1.5}.tutorial-note{font-size:12px;color:#8ba895;background:#ffffff0a;border-left:3px solid #3a6b50;padding:8px 12px;border-radius:0 6px 6px 0;margin-top:8px}.tutorial-hero-cards{display:flex;justify-content:center;gap:10px;margin:20px 0 8px}.tutorial-suits{display:flex;flex-direction:column;gap:10px;margin:16px 0}.tutorial-suit-row{display:flex;align-items:center;gap:14px;padding:8px 12px;background:#ffffff08;border-radius:8px}.tutorial-suit-info{display:flex;flex-direction:column;gap:2px}.tutorial-suit-name{font-weight:700;font-size:14px}.tutorial-suit-range{font-size:11px;color:#8ba895}.tutorial-diagram{display:flex;flex-direction:column;align-items:center;gap:8px;margin:16px 0;padding:16px;background:#1e5c354d;border-radius:10px;border:1px solid #2d7a4a}.tutorial-diagram-section{text-align:center}.tutorial-diagram-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#8ba895;margin-bottom:6px}.tutorial-card-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.tutorial-arrow{font-size:20px;color:#c0a050;text-align:center}.tutorial-scopa-demo{display:flex;align-items:center;justify-content:center;gap:24px;margin:16px 0;padding:16px;background:#1e5c354d;border-radius:10px;border:1px solid #2d7a4a;flex-wrap:wrap}.tutorial-empty-table{color:#fbbf24;font-weight:700;font-size:14px;padding:16px;border:2px dashed rgba(251,191,36,.3);border-radius:8px;text-align:center}.tutorial-scoring{display:flex;flex-direction:column;gap:2px;margin:16px 0}.tutorial-score-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:#0003;border-radius:6px}.tutorial-score-name{font-weight:700;color:#c0a050;min-width:90px;font-size:14px}.tutorial-score-desc{font-size:13px;color:#b0b0b0}.tutorial-ui-guide{display:flex;flex-direction:column;gap:10px;margin:16px 0}.tutorial-ui-item{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:#0003;border-radius:8px;font-size:13px}.tutorial-ui-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.tutorial-ui-item strong{color:#c0a050}.tutorial-practice{margin:16px 0 8px;padding:16px;background:#1e5c3540;border:1px solid #2d7a4a;border-radius:10px}.tutorial-practice .card{cursor:pointer}.tutorial-practice .card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0006}.tutorial-practice-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#8ba895;margin-bottom:8px}.tutorial-feedback{margin-top:14px;padding:10px 14px;border-radius:6px;font-size:13px;font-weight:600;text-align:center;animation:fade-in .2s ease-out}.tutorial-feedback.correct{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.tutorial-feedback.wrong{background:#f8717126;color:#f87171;border:1px solid rgba(248,113,113,.3)}.practice-wrong{border-color:#f87171!important;box-shadow:0 0 10px #f8717166!important}.tutorial-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.tutorial-nav-main{display:flex;gap:10px}.tutorial-fab{position:fixed;bottom:24px;left:24px;width:44px;height:44px;border-radius:50%;background:#0d2818;border:1px solid #3a6b50;color:#c0a050;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:50;transition:background .15s,border-color .15s,transform .15s;box-shadow:0 4px 12px #0000004d}.tutorial-fab:hover{background:#1e3a2a;border-color:#c0a050;transform:scale(1.08)}@media (max-width: 900px){.game-container{flex-direction:column;padding:6px;gap:0;overflow-y:auto;flex:1}.game-board{gap:4px;flex:none}.lobby{margin:20px auto;padding:16px}.player-config{flex-wrap:wrap;gap:6px}.player-config label{width:auto;min-width:30px}.player-config input,.player-config select{flex:1;min-width:0}.card{width:50px;height:101px;flex-shrink:0;border-radius:3px}.table-area{padding:8px;min-height:auto}.table-area .card-row{flex-wrap:wrap;overflow-x:visible;min-height:auto;gap:4px}.hand-area{padding:8px}.hand-area .card-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:auto;gap:4px}.actions-area{padding:6px;max-height:none;overflow-y:visible;min-height:0}.actions-area.actions-hidden{min-height:0;padding:0}.action-btn{font-size:14px;padding:8px 10px;line-height:1.3;margin-bottom:3px}.header{padding:6px 12px}.header h1{font-size:18px}.players-bar{gap:4px}.player-badge{padding:3px 6px;font-size:12px}.section-title{font-size:12px;margin-bottom:4px}.scores-card{min-width:unset;width:90vw;padding:20px}.game-sidebar{width:100%;padding:0 2px;flex:none}.game-log{max-height:100px;font-size:11px}.game-sidebar .section{padding:6px;margin-top:4px}.tutorial-card{padding:20px 18px 16px;max-height:90vh}.tutorial-title{font-size:19px;margin-bottom:14px}.tutorial-content{font-size:13px}.tutorial-scopa-demo{gap:12px;padding:10px}.tutorial-suit-row{padding:6px 8px;gap:10px}}
