:root{--bg:#f3efe7;--bg-deep:#e9e3d8;--surface:#fffdf9;--surface-alt:#f8f5ee;--text:#1d2b29;--muted:#566a65;--accent:#0d6b54;--accent-strong:#084c3e;--accent-weak:#dcefe8;--accent-blue:#275c84;--accent-blue-weak:#e5eff5;--accent-amber:#8a570d;--accent-amber-weak:#f8edd8;--border:#c9d4ce;--border-strong:#aebfb7;--danger:#a9342a;--focus:#165dff;--felt:#0b5b49;--felt-deep:#073d34;--radius-panel:20px;--radius-control:10px;--shadow-soft:0 18px 44px #2339331a;--shadow-raised:0 14px 28px #073d342e;--font-display:ui-rounded, "Avenir Next Rounded", "Avenir Next", sans-serif;--font-body:"Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}body{background-color:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-body);overscroll-behavior-y:contain;background-image:radial-gradient(circle at 14% 0,#e0b56f33,#0000 30rem),radial-gradient(circle at 88% 8%,#0b5b4929,#0000 34rem),radial-gradient(#073d340e .7px,#0000 .7px);background-size:auto,auto,9px 9px;margin:0;line-height:1.5;overflow-x:hidden}main{width:min(1180px,100% - 2rem);margin:0 auto;padding:1.15rem 0 3rem}section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft);margin-bottom:1rem;padding:1.25rem}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0 0 .5rem;line-height:1.12}.skip-link{z-index:50;border-radius:var(--radius-control);background:var(--text);color:#fff;padding:.7rem .9rem;font-weight:700;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell__header{margin-bottom:.9rem}.brand{align-items:center;gap:.75rem;display:flex}.brand-mark{background:linear-gradient(145deg, var(--accent) 0%, var(--felt-deep) 100%);border-radius:15px;place-items:center;width:48px;height:48px;display:grid;position:relative;box-shadow:0 8px 18px #073d3447}.brand-mark__card{background:#fff;border-radius:7px;width:24px;height:30px;transform:rotate(-6deg)}.brand-mark__pip{color:var(--accent);font-size:.85rem;font-weight:700;position:absolute}.brand__eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0;font-size:.68rem;font-weight:700}.brand__title{margin:0;font-size:clamp(1.75rem,3.4vw,2.35rem);font-weight:750}.app-hero{background:radial-gradient(circle at 85% 10%, #ffffff1a, transparent 18rem), linear-gradient(135deg, var(--felt) 0%, var(--felt-deep) 100%);color:#fffdf8;border-color:#ffffff24;grid-template-columns:minmax(0,1.4fr) minmax(15rem,.6fr);align-items:center;gap:2rem;min-height:290px;padding:clamp(1.4rem,4vw,2.8rem);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 48px #073d3438}.app-hero:after{content:"";opacity:.18;pointer-events:none;background-image:radial-gradient(#ffffff24 .7px,#0000 .7px);background-size:8px 8px;position:absolute;inset:0}.app-hero__content,.app-hero__table-art{z-index:1;position:relative}.app-hero__content{justify-items:start;gap:.7rem;max-width:44rem;display:grid}.app-hero__eyebrow,.section-kicker,.lobby-card__eyebrow{color:#d9b977;letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.app-hero h2{letter-spacing:-.055em;max-width:13ch;margin:0;font-size:clamp(2.15rem,5vw,4.25rem);line-height:.98}.app-hero__subtitle{color:#dbe8e3;text-wrap:pretty;max-width:55ch;margin:0;font-size:clamp(1rem,2vw,1.15rem);font-weight:500}.app-hero__proof{color:#f7fbf8;flex-wrap:wrap;gap:.35rem 0;font-size:.86rem;font-weight:650;display:flex}.app-hero__proof span+span:before{color:#d9b977;content:"•";margin:0 .6rem}.app-hero__actions{margin-top:.25rem}.app-hero__actions .secondary{color:var(--felt-deep);background:#fffdf8;border-color:#ffffffb3}.app-hero__table-art{min-height:220px}.hero-card{color:#1c2927;width:110px;height:154px;box-shadow:var(--shadow-raised);transform-origin:50% 100%;background:#fffdf8;border:1px solid #073d3433;border-radius:14px;font-family:Georgia,serif;font-weight:700;line-height:1;position:absolute;top:50%;left:50%}.hero-card__corner{justify-items:center;gap:0;font-size:1.32rem;display:grid;position:absolute;top:.62rem;left:.62rem}.hero-card__corner span:last-child{font-size:1.15rem;line-height:.8}.hero-card__corner--bottom{inset:auto .62rem .62rem auto;transform:rotate(180deg)}.hero-card__pip{font-size:3.75rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-card__pip--upper,.hero-card__pip--lower{font-size:2.9rem}.hero-card__pip--upper{top:31%}.hero-card__pip--lower{top:69%}.hero-card--back{background:linear-gradient(45deg,#ffffff14 25%,#0000 25%) 0 0/9px 9px,linear-gradient(135deg,#163c5a,#234f70);transform:translate(-82%,-42%)rotate(-17deg)}.hero-card--middle{color:#b43732;transform:translate(-48%,-48%)rotate(-2deg)}.hero-card--front{transform:translateY(-41%)rotate(12deg)}.room-header{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.room-header h2{margin:0;line-height:1.1}.room-header h2 code{color:var(--accent-strong);font-variant-numeric:tabular-nums;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.08em}.room-header__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.room-shell{background:#fffdf9f0}.room-feedback{gap:.4rem;display:grid}.round-info-strip{background:linear-gradient(145deg,#fffdf9 0%,#f2f7f3 100%);display:block}.round-info-strip__panel{background:0 0;border:0;min-width:0;padding:0}.round-info-strip__meta{justify-content:flex-start;align-items:center;gap:.7rem;display:flex}.round-info-strip__meta-content{gap:.4rem;min-width:0;display:grid}.round-info-strip__header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.15rem;display:flex}.round-info-strip__header h2{margin:0;font-size:clamp(1.45rem,3vw,2rem)}.round-info-strip .section-kicker{color:var(--accent)}.round-info-strip__stats{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.round-info-pill{color:#2f4741;background:#edf5f1;border:1px solid #b8cbc2;border-radius:999px;align-items:center;gap:.25rem;margin:0;padding:.2rem .55rem;font-size:.92rem;line-height:1.25;display:inline-flex}.round-info-pill strong{color:var(--text);font-variant-numeric:tabular-nums}.round-info-strip__preview{flex-shrink:0;justify-content:center;align-items:center;display:flex}.round-info-strip__preview--empty{align-self:end;min-height:1.95rem}.round-info-strip__trump-card{display:inline-flex}.round-info-strip__trump-card .playing-card-face{width:58px;height:82px;padding:.24rem .3rem}.round-info-strip__trump-card .playing-card-face__corner{font-size:.72rem}.round-info-strip__trump-card .playing-card-face__center{font-size:1.45rem}.round-info-strip__empty{color:var(--muted);margin:0;font-size:.9rem;line-height:1.25}.round-info-strip__tracker{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.round-info-strip__tracker-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.round-info-strip__tracker-toggle{white-space:nowrap}.room-copy-button{padding:.34rem .66rem}p{margin:.3rem 0}form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}input{border:1px solid var(--border);border-radius:var(--radius-control);min-height:2.75rem;color:var(--text);background:#fff;padding:.6rem .78rem;font-family:inherit;font-size:1rem}input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #165dff29}input:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button{border-radius:var(--radius-control);background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;min-height:2.75rem;padding:.5rem .9rem;font-family:inherit;font-size:1rem;font-weight:700;line-height:1.1;transition:transform .16s,box-shadow .16s,background-color .16s,border-color .16s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #1f2a3b2e}button:active:not(:disabled){transform:translateY(1px)scale(.985)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--accent-blue-weak);color:#1e3a8a;border-color:#b9cdf8}.btn-success{background:linear-gradient(135deg,#0f7058 0%,#17856a 100%);border-color:#0f7058}.btn-success:hover:not(:disabled){box-shadow:0 8px 18px #0f705842}.btn-success-soft{color:#166534;background:#def7e8;border-color:#b7e4c7}.btn-info{background:linear-gradient(135deg,#1d4ed8 0%,#315fcf 100%);border-color:#1e40af}.btn-info:hover:not(:disabled){box-shadow:0 8px 18px #1d4ed847}.btn-info-soft{color:#1d4ed8;background:#e8f1ff;border-color:#c5d9ff}.btn-warning-soft{color:#a16207;background:#fff7e5;border-color:#f3d5a0}.btn-danger{background:linear-gradient(135deg,#b42318 0%,#d92d20 100%);border-color:#912018}.btn-danger:hover:not(:disabled){box-shadow:0 8px 18px #b4231847}.btn-danger-soft{color:#b42318;background:#ffecec;border-color:#f6c4c1}.pill{background:var(--accent-weak);color:var(--accent);border-radius:999px;margin-left:.4rem;padding:.16rem .6rem;font-size:.8rem;display:inline-block}.lobby-shell{gap:1rem;padding:clamp(1.1rem,3vw,1.75rem);display:grid}.lobby-shell__heading{gap:.3rem;max-width:43rem;display:grid}.lobby-shell__heading .section-kicker,.lobby-card__eyebrow{color:var(--accent)}.lobby-shell__heading h2{margin:0;font-size:clamp(1.55rem,3vw,2.15rem)}.lobby-shell__subtitle{color:var(--muted);margin:0}.lobby-name{gap:.35rem;max-width:30rem;display:grid}.lobby-label{color:var(--muted);font-size:.83rem;font-weight:700}.lobby-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:.85rem;display:grid}.lobby-card{border:1px solid var(--border);background:var(--surface-alt);border-radius:16px;align-content:start;gap:.6rem;min-width:0;min-height:210px;padding:1rem;display:grid}.lobby-card--join{background:linear-gradient(155deg,#f3f8fb 0%,#e8f1f5 100%);border-color:#a9c7d8}.lobby-card--create{background:linear-gradient(155deg,#f5faf7 0%,#e6f1ec 100%);border-color:#b8cec4}.lobby-card h3{margin:.12rem 0 .25rem;font-size:1.35rem}.lobby-card p{color:var(--muted);text-wrap:pretty;margin:0;font-size:.92rem}.lobby-card button{align-self:end;margin-top:auto}.transfer-disclosure{border-top:1px solid var(--border);padding-top:.9rem}.transfer-disclosure summary{width:fit-content;min-height:44px;color:var(--accent-blue);cursor:pointer;padding-block:.6rem;font-weight:700}.transfer-disclosure summary:hover{color:var(--accent-strong)}.transfer-form{gap:.45rem;max-width:36rem;margin-top:.75rem;display:grid}.transfer-form p{color:var(--muted)}.transfer-form__controls{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.room-player{align-items:center;gap:.4rem;display:flex}.room-player-list{gap:.2rem;display:grid}.status-dot{border:1px solid #0000;border-radius:999px;flex:none;width:.58rem;height:.58rem}.status-dot--online{background:#16a34a;border-color:#15803d}.status-dot--offline{background:#ef4444;border-color:#dc2626}.row{flex-wrap:wrap;gap:.5rem;display:flex}.room-actions{align-items:center;margin:.35rem 0 .15rem}.room-actions__primary{box-shadow:0 8px 18px #0f705838}.room-status-line{color:#425268;margin:.25rem 0 .45rem;font-weight:600}.cards{flex-wrap:wrap;gap:.4rem;display:flex}.card-button{border:1px solid var(--border);color:var(--text);text-align:left;background:#fff;border-radius:12px;padding:.25rem}.card-button:disabled{opacity:.65}.card-button--turn-legal{border-color:#16a34a;transition:transform .14s,box-shadow .14s;box-shadow:0 0 0 2px #16a34a2e}.card-button--turn-legal:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #16a34a3d}.card-button--waiting{opacity:.42;filter:grayscale(.3)}.trick-card{transform-origin:50%;will-change:transform, opacity;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:.2rem;padding:.25rem;display:inline-flex}.trick-card--winner{background:#ecfdf5;border-color:#16a34a;box-shadow:0 0 0 1px #16a34a33}.trick-card--animate-self{animation:.44s cubic-bezier(.2,.78,.22,1) trick-card-from-hand}.trick-card--animate-remote{animation:.34s ease-out trick-card-from-above}.trick-card__player{color:var(--muted);font-size:.72rem}.playing-card-face{border:1px solid var(--border);text-align:left;background:linear-gradient(#fff 0%,#fbfdff 100%);border-radius:12px;flex-direction:column;justify-content:space-between;width:66px;height:92px;padding:.28rem .34rem;display:flex;box-shadow:inset 0 0 0 1px #fff,0 2px 4px #00000014}.playing-card-face--red{color:#c62828}.playing-card-face--black{color:#1f2937}.playing-card-face__corner{flex-direction:column;align-items:flex-start;font-size:.78rem;font-weight:700;line-height:1;display:flex}.playing-card-face__corner--bottom{align-self:flex-end;transform:rotate(180deg)}.playing-card-face__center{align-self:center;font-size:1.65rem;line-height:1}.error{border-radius:var(--radius-control);width:fit-content;color:var(--danger);background:#fff0ee;border:1px solid #e4b7b2;padding:.5rem .65rem;font-weight:600}.info{color:#204f72;background:var(--accent-blue-weak);border-radius:var(--radius-control);border:1px solid #bad0dc;width:fit-content;padding:.5rem .65rem;font-weight:600}table{border-collapse:collapse;width:100%}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;display:block;overflow:auto hidden}.table-scroll table{width:100%}.table-scroll--wide table{min-width:100%}.table-scroll--breakdown table{width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:.35rem .25rem}.game-experience{gap:0;display:grid}.game-layout{grid-template-columns:minmax(0,1fr) minmax(17rem,20rem);align-items:start;gap:1rem;display:grid}.game-layout--complete{grid-template-columns:minmax(0,1fr)}.game-layout--complete .game-sidebar{position:static}.game-sidebar{min-width:0;position:sticky;top:.75rem}.game-score-panel{gap:.65rem;min-width:0;max-width:100%;display:grid}.game-score-panel__header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.game-score-panel__header h3{margin:0}.game-score-panel__toggle{white-space:nowrap}.game-main{gap:.65rem;min-width:0;display:grid}.game-shell{background:radial-gradient(circle at 50% 30%, #ffffff14, transparent 20rem), linear-gradient(145deg, var(--felt) 0%, var(--felt-deep) 100%);color:#f7fbf9;border-color:#ffffff1f;min-height:30rem;box-shadow:0 22px 40px #073d3433}.game-details-shell{min-width:0;max-width:100%;margin-bottom:0;overflow:hidden}.turn-banner{border:1px solid #8ab6a4;border-left-width:5px;border-radius:12px;gap:.15rem;padding:.62rem .78rem;display:grid}.turn-banner__content{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.turn-banner__copy{gap:.15rem;display:grid}.turn-banner__label{text-transform:uppercase;letter-spacing:.07em;font-size:.8rem;font-weight:700}.turn-banner__text{font-size:1.1rem;font-weight:700}.turn-banner--self{color:#113d31;background:#e4f4ed;border-color:#42a883;box-shadow:0 0 0 2px #34d39924}.turn-banner--waiting{color:#243c49;background:#e7eef2;border-color:#92afbf;box-shadow:0 0 0 2px #3b82f61a}.turn-banner--poked{animation:.24s ease-in-out 6 turn-poke-pulse}.turn-banner__remind{white-space:nowrap;flex-shrink:0}.turn-order-strip{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.45rem;display:flex}.turn-order-chip{color:#334155;background:#eef5ff;border:1px solid #b9cdf8;border-radius:999px;align-items:center;gap:.28rem;padding:.18rem .54rem;font-size:.86rem;line-height:1.2;display:inline-flex}.turn-order-chip strong{color:#1f2a3b}.turn-order-chip--current{color:#166534;background:#dcfce7;border-color:#8ecfba}.turn-order-chip--next{color:#8f5600;background:#fff5dc;border-color:#f0d39f}.turn-actions{overscroll-behavior-inline:contain;scrollbar-width:thin;flex-wrap:nowrap;padding:.2rem 0 .55rem;overflow-x:auto}.turn-actions__button{flex:none;min-width:4.5rem}.turn-actions--active .turn-actions__button{box-shadow:0 0 0 1px #16a34a33}.turn-actions__hint{color:#e8d4a6;max-width:62ch;margin-top:.25rem;font-size:.9rem}.table-label{color:#e0ece8;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .4rem;font-size:.78rem;font-weight:800}.table-cards{background:#042a2347;border:1px solid #ffffff1f;border-radius:16px;justify-content:center;align-items:center;min-height:8rem;padding:.85rem;box-shadow:inset 0 1px 10px #021a1633}.table-cards .trick-card__player{color:#e0ece8}.table-cards .trick-card--winner .trick-card__player{color:#153c32;font-weight:800}.hand-section{color:var(--text);background:#f9f6ee;border:1px solid #ffffff24;border-radius:16px;margin:.35rem -.3rem -.3rem;padding:.75rem;box-shadow:0 16px 26px #02221d2e}.hand-section__header{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.hand-section__header p{margin:0}.hand-section .table-label{color:var(--muted)}.hand-cards{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;flex-wrap:nowrap;padding:.2rem .1rem .55rem;overflow-x:auto}.hand-cards .card-button{scroll-snap-align:start;flex:none}.round-stats__hint{color:var(--muted);font-size:.85rem}.round-stats__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.round-stats__row{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.5rem;transition:border-color .16s,box-shadow .16s,transform .16s}.round-stats__row:hover{border-color:#b6cceb;transform:translateY(-1px)}.round-stats__name{margin:0;font-weight:700}.round-stats__name-row{align-items:center;gap:.35rem;display:flex}.round-stats__turn-pill{color:#166534;background:#dcfce7;margin-left:0}.round-stats__meta{color:#334155;margin:.2rem 0;font-size:.9rem}.round-stats__needed{margin:.2rem 0;font-size:.9rem;font-weight:700}.round-stats__needed--unknown{color:#64748b}.round-stats__needed--need{color:#b45309}.round-stats__needed--on-target{color:#15803d}.round-stats__needed--over{color:#b91c1c}.round-stats__button{width:100%;margin-top:.35rem}.round-stats__row--active-turn{background:#f0fdfa;border-color:#2dd4bf;box-shadow:0 0 0 1px #2dd4bf38}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;overscroll-behavior:contain;background:#0e1e1b94;justify-content:center;align-items:center;padding:1rem;animation:.18s modal-fade-in;display:flex;position:fixed;inset:0}.modal-card{overscroll-behavior:contain;background:var(--surface);border-radius:var(--radius-panel);border:1px solid var(--border);width:min(940px,94vw);max-height:90vh;padding:1rem;animation:.2s modal-slide-in;overflow:auto;box-shadow:0 28px 56px #071f1a4d}.modal-card:focus{outline:none}.modal-backdrop--instant{-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}.modal-card--instant{animation:none}.modal-card__header{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.modal-card__header h3{margin:0}.modal-card__header-actions{align-items:center;gap:.45rem;display:flex}.transfer-code-display{background:#edf5f1;border:1px solid #b8cbc2;border-radius:12px;gap:.15rem;width:fit-content;margin:.85rem 0;padding:.7rem .85rem;display:grid}.transfer-code-display span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.transfer-code-display strong{color:var(--accent-strong);letter-spacing:.1em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.35rem}.howto-language-toggle{background:#edf5ff;border:1px solid #bfd5ff;border-radius:999px;align-items:center;gap:.2rem;padding:.16rem;display:inline-flex}.howto-language-button{color:#1d4d98;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:700}.howto-language-button--active{color:#1e3a8a;background:#fff;border-color:#9dbdff}.howto-intro{color:#475569;margin:0 0 .7rem}.howto-quickstart{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.7rem;display:grid}.howto-step{border:1px solid var(--border);background:linear-gradient(#f8fbff 0%,#f2f9ff 100%);border-radius:10px;align-items:flex-start;gap:.45rem;padding:.5rem .55rem;display:flex}.howto-step__index{color:#1e40af;background:#e5efff;border:1px solid #c2d7ff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.76rem;font-weight:700;display:inline-flex}.howto-step p{color:#334155;margin:0;font-size:.9rem}.howto-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.howto-tab{color:#1d4d98;background:#eef5ff;border-color:#bfd5ff;border-radius:999px;min-height:2.7rem;padding:.5rem .85rem}.howto-tab--active{color:#fff;background:#0f7058;border-color:#0f7058;box-shadow:0 8px 18px #0f705838}.howto-panel{gap:.65rem;display:grid}.howto-panel[hidden]{display:none}.howto-section{border:1px solid var(--border);background:#fff;border-radius:10px;padding:.58rem .65rem}.howto-section h4{color:#1f2a3b;margin:0 0 .45rem;font-weight:700}.howto-example-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:.6rem;display:grid}.howto-example-card{border:1px solid var(--border);background:#fff;border-radius:10px;min-width:0;padding:.58rem .65rem}.howto-example-card__title{color:#334155;margin:0 0 .45rem;font-size:.92rem;font-weight:700}.howto-example-card__cards{gap:.35rem}.howto-list{color:#334155;gap:.35rem;margin:0;padding-left:1.15rem;display:grid}.howto-score-table{margin-top:.1rem}.howto-score-table th,.howto-score-table td{font-size:.9rem}.howto-control-tag{color:#1d4d98;background:#edf5ff;border:1px solid #bfd5ff;border-radius:999px;margin-bottom:.2rem;margin-right:.35rem;padding:.12rem .46rem;font-size:.78rem;font-weight:700;display:inline-block}.howto-control-tag--success{color:#0f7058;background:#e7f8f1;border-color:#9fdcc6}.howto-control-tag--danger{color:#b42318;background:#fff0f0;border-color:#f4c7c4}.won-tricks{gap:.7rem;display:grid}.won-tricks__item{border:1px solid var(--border);border-radius:10px;padding:.55rem}.won-tricks__title{margin:0 0 .35rem;font-weight:700}.summary-table{margin-top:.35rem}.score-table{margin-top:.2rem}.summary-result{font-size:1.15rem;font-weight:800;line-height:1}.summary-result--hit{color:#15803d}.summary-result--miss{color:#b91c1c}.suit-symbol{font-weight:700}.suit-symbol--red{color:#b91c1c}.suit-symbol--dark{color:#0f172a}.final-results{border:1px solid var(--border);background:linear-gradient(#f9fcff 0%,#f2f8ff 100%);border-radius:12px;min-width:0;max-width:100%;padding:.7rem;overflow:hidden}.final-results__winner{margin:.2rem 0 .75rem;font-weight:700}.final-standings__winner-row{background:#fff8df}.final-standings__player{align-items:center;gap:.6rem;max-width:100%;display:inline-flex}.winner-crown{color:#b7791f;fill:#facc15;stroke:#92400e;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.05rem;height:1.05rem}.winner-celebration{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:hidden}.winner-celebration__animation{width:100vw;height:100vh;position:fixed;inset:0}.final-results__table{margin-top:.35rem}.table-scroll--breakdown{scrollbar-gutter:stable both-edges;max-width:100%;overflow-x:auto}.final-results__table--breakdown{table-layout:auto;border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.final-results__table--breakdown th,.final-results__table--breakdown td{white-space:nowrap;overflow-wrap:normal;word-break:normal;background:#fff}.final-results__table--breakdown th{background:#eef5ff}.breakdown-sticky{z-index:2;min-width:5.75rem;position:sticky}.breakdown-sticky--round{left:0}.breakdown-sticky--cards{left:5.75rem}.breakdown-sticky--trump{min-width:7rem;left:11.5rem;box-shadow:8px 0 14px -14px #0f172acc}.final-results__table--breakdown th.breakdown-sticky{z-index:3}.breakdown-player-column{min-width:7.5rem;max-width:9rem}.table-player-name{text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.summary-table th,.summary-table td{overflow-wrap:anywhere;word-break:break-word}@keyframes turn-pulse{0%{box-shadow:0 0 0 2px #34d39914}50%{box-shadow:0 0 0 2px #34d39942}to{box-shadow:0 0 0 2px #34d39914}}@keyframes turn-poke-pulse{0%{transform:scale(1);box-shadow:0 0 0 2px #38bdf81f}50%{transform:scale(1.012);box-shadow:0 0 0 2px #38bdf857}to{transform:scale(1);box-shadow:0 0 0 2px #38bdf81f}}@keyframes trick-card-from-hand{0%{opacity:.98;transform:translate(var(--trick-card-from-x,0), var(--trick-card-from-y,0)) scale(.98)}70%{opacity:1;transform:translateY(-3px)scale(1.02)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes trick-card-from-above{0%{opacity:0;transform:translateY(-26px)scale(.98)}70%{opacity:1;transform:translateY(2px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:900px){.app-hero{grid-template-columns:minmax(0,1fr) 12rem}.game-layout{grid-template-columns:minmax(0,1fr) minmax(15rem,17rem)}}@media (max-width:720px){main{width:calc(100% - 1rem);padding-top:.75rem}section{border-radius:16px;padding:.9rem}.brand{gap:.6rem}.brand-mark{width:42px;height:42px}.brand__eyebrow{font-size:.58rem}.brand__title{font-size:1.65rem}.app-hero{grid-template-columns:1fr;min-height:0;padding:1.2rem}.app-hero h2{max-width:15ch;font-size:clamp(2rem,11vw,2.8rem)}.app-hero__table-art{display:none}.app-hero__proof{font-size:.8rem}.game-layout{grid-template-columns:1fr}.game-sidebar{position:static}.game-shell{min-height:26rem;padding:.75rem}.turn-banner{z-index:8;position:sticky;top:.35rem}.hand-section{z-index:9;padding-bottom:max(.75rem, env(safe-area-inset-bottom));margin-inline:-.15rem;position:sticky;bottom:0}.lobby-grid{grid-template-columns:1fr}.lobby-card{min-height:0}.lobby-card--join{min-height:245px}.modal-backdrop{align-items:flex-end;padding:.75rem 0 0}.modal-card{width:100%;max-height:calc(100dvh - .75rem);padding-bottom:max(1rem, env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:20px 20px 0 0}.modal-card__header{flex-direction:column;align-items:flex-start}.modal-card__header-actions{justify-content:space-between;width:100%}.howto-language-button{padding:.18rem .5rem;font-size:.76rem}.howto-quickstart{grid-template-columns:1fr}.howto-tab{flex:8rem;justify-content:center}.howto-section,.howto-example-card{padding:.5rem}.howto-example-grid{grid-template-columns:1fr}.howto-score-table th,.howto-score-table td{font-size:.84rem}th,td{padding:.3rem .22rem;font-size:.92rem}.table-scroll--breakdown table{font-size:.9rem}.table-scroll--breakdown{max-width:calc(100% + .4rem);margin-inline:-.2rem}.breakdown-sticky{min-width:4.8rem}.breakdown-sticky--cards{left:4.8rem}.breakdown-sticky--trump{min-width:5.8rem;left:9.6rem}.breakdown-player-column{min-width:6.5rem;max-width:7.25rem}.turn-banner__content{flex-direction:column;align-items:flex-start}.turn-order-strip{gap:.36rem}.turn-order-chip{font-size:.82rem}.round-info-strip__header{flex-direction:column;align-items:flex-start}.round-info-strip__meta{flex-flow:wrap;align-items:flex-start;gap:.55rem}.round-info-strip__preview{justify-content:flex-start;width:auto;margin-left:0}.round-info-strip__tracker-header{flex-direction:column;align-items:flex-start}.round-stats__list{grid-template-columns:1fr}}@media (max-width:520px){.room-actions{grid-template-columns:1fr;display:grid}.transfer-form__controls{grid-template-columns:1fr}.transfer-form__controls button{width:100%}.card-button,.trick-card{width:fit-content}.game-score-panel__header{flex-direction:column;align-items:flex-start}.game-score-panel__toggle{width:100%}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.winner-celebration{display:none}}
