body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-bg:#1a5c2a;--color-bg-dark:#134620;--color-felt:#2d8a4e;--color-text:#f0f0f0;--color-text-muted:#c8dece;--color-accent:gold;--color-error:#ff6b6b;--color-card-white:#fefefe;--color-card-back:#2c5aa0;--color-card-back-pattern:#3a6ab8;--color-card-red:#d32f2f;--color-card-black:#1a1a1a;--color-btn-primary:gold;--color-btn-primary-text:#1a1a1a;--color-btn-secondary:#0000;--color-btn-secondary-border:gold;--color-ready:#4caf50;--color-not-ready:#b0b0b0;--card-width:min(60px,8.5dvh);--card-height:min(85px,12dvh);--card-sm-width:min(42px,6dvh);--card-sm-height:min(60px,8.5dvh);--card-radius:6px;--card-gap:min(6px,0.8dvh);--section-gap:min(12px,1.5dvh);--font-main:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-card:"Georgia",serif}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-tap-highlight-color:transparent;background:#1a5c2a;background:var(--color-bg);color:#f0f0f0;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-main);user-select:none;-webkit-user-select:none}.app,body{height:100dvh;overflow:hidden}.app{display:flex;flex-direction:column;margin:0 auto;max-width:430px}@media (min-width:768px){.app{max-width:600px}}@media (min-width:1024px){.app{max-width:700px}}@media (max-height:600px){:root{--card-width:min(48px,8dvh);--card-height:min(68px,11.3dvh);--card-sm-width:min(32px,5.3dvh);--card-sm-height:min(46px,7.6dvh);--section-gap:min(6px,1dvh);--card-gap:min(4px,0.6dvh)}}@media (min-height:900px){:root{--card-width:60px;--card-height:85px;--card-sm-width:42px;--card-sm-height:60px}}@keyframes spin{to{transform:rotate(1turn)}}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:initial;display:inline-block;height:16px;margin-right:6px;vertical-align:middle;width:16px}.scroll-fade{position:relative}.scroll-fade:after{background:linear-gradient(90deg,#0000,#1a5c2a);background:linear-gradient(to right,#0000,var(--color-bg));bottom:0;content:"";pointer-events:none;position:absolute;right:0;top:0;width:24px}.btn{border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;min-height:44px;min-width:44px;padding:12px 24px;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.4}.btn--primary{background:gold;background:var(--color-btn-primary);color:#1a1a1a;color:var(--color-btn-primary-text)}.btn--secondary{background:#0000;background:var(--color-btn-secondary);border-color:gold;border-color:var(--color-btn-secondary-border);color:gold;color:var(--color-accent)}.btn--ghost{background:#0000;border:none;color:#c8dece;color:var(--color-text-muted);padding:8px 16px}.home-screen{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center;padding:24px}.home-screen__title{color:gold;color:var(--color-accent);font-size:32px;text-align:center}.home-screen__subtitle{color:#c8dece;color:var(--color-text-muted);margin-bottom:16px}.home-screen__input-group{max-width:280px;width:100%}.home-screen__input{background:#ffffff1a;border:2px solid #c8dece;border:2px solid var(--color-text-muted);border-radius:8px;color:#f0f0f0;color:var(--color-text);font-size:16px;padding:12px 16px;text-align:center;width:100%}.home-screen__input::placeholder{color:#c8dece;color:var(--color-text-muted)}.home-screen__input--code{font-size:24px;font-weight:700;letter-spacing:8px;margin-bottom:12px;text-transform:uppercase}.home-screen__action,.home-screen__buttons{display:flex;flex-direction:column;gap:12px;max-width:280px;width:100%}.home-screen__error{color:#ff6b6b;color:var(--color-error);font-size:14px}.home-screen__bot-picker{align-items:center;color:#c8dece;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:14px;gap:8px}.home-screen__bot-buttons{display:flex;gap:8px}.home-screen__bot-btn{background:#0000;border:2px solid #c8dece;border:2px solid var(--color-text-muted);border-radius:50%;color:#f0f0f0;color:var(--color-text);cursor:pointer;font-size:16px;font-weight:700;height:40px;width:40px}.home-screen__bot-btn--active{background:gold;background:var(--color-accent);border-color:gold;border-color:var(--color-accent);color:#1a1a1a;color:var(--color-btn-primary-text)}.home-screen__bot-names{color:#c8dece;color:var(--color-text-muted);font-size:13px;font-style:italic}.home-screen__help-btn{background:none;border:none;color:#c8dece;color:var(--color-text-muted);cursor:pointer;font-size:14px;margin-top:8px;padding:8px;text-decoration:underline}.help-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}.help-modal{background:#134620;background:var(--color-bg-dark);border-radius:12px;color:#f0f0f0;color:var(--color-text);max-height:85dvh;max-width:380px;overflow-y:auto;padding:20px;position:relative;width:100%}.help-modal__close{background:none;border:none;color:#c8dece;color:var(--color-text-muted);cursor:pointer;font-size:20px;padding:4px 8px;position:absolute;right:12px;top:12px}.help-modal__title{color:gold;color:var(--color-accent);font-size:22px;margin-bottom:16px}.help-modal__section{margin-bottom:14px}.help-modal__section h3{color:gold;color:var(--color-accent);font-size:15px;margin-bottom:4px}.help-modal__section p{color:#f0f0f0;color:var(--color-text);font-size:14px;line-height:1.5;margin-bottom:4px}.help-modal__table{border-collapse:collapse;font-size:13px;margin-top:4px;width:100%}.help-modal__table td{border-bottom:1px solid #ffffff14;padding:3px 8px}.help-modal__table td:first-child{color:gold;color:var(--color-accent);font-weight:600;width:60px}.help-modal__grid-example{grid-gap:4px;color:#f0f0f0;color:var(--color-text);display:grid;font-size:13px;font-weight:600;gap:4px;grid-template-columns:repeat(3,1fr);margin:8px auto;max-width:180px;text-align:center}.help-modal__example-note{color:#c8dece!important;color:var(--color-text-muted)!important;font-size:12px!important;font-style:italic;text-align:center}.lobby-screen{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;padding:24px}.lobby-screen__title{font-size:24px}.lobby-screen__code{align-items:center;background:#ffffff0a;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 24px;transition:background .15s}.lobby-screen__code:active{background:#ffffff1a}.lobby-screen__code-label{color:#c8dece;color:var(--color-text-muted);font-size:12px;letter-spacing:2px;text-transform:uppercase}.lobby-screen__code-value{color:gold;color:var(--color-accent);font-size:40px;font-weight:700;letter-spacing:8px}.lobby-screen__code-copied{color:#4caf50;color:var(--color-ready);font-size:12px;transition:opacity .15s}.lobby-screen__players{max-width:300px;width:100%}.lobby-screen__players h3{color:#c8dece;color:var(--color-text-muted);font-size:14px;margin-bottom:8px}.lobby-screen__player{align-items:center;background:#ffffff0d;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:10px 12px}.lobby-screen__player-status{color:#b0b0b0;color:var(--color-not-ready);font-size:13px}.lobby-screen__player-status--ready{color:#4caf50;color:var(--color-ready)}.lobby-screen__actions{display:flex;flex-direction:column;gap:10px;max-width:280px;width:100%}.lobby-screen__waiting{color:#c8dece;color:var(--color-text-muted);font-size:13px}.lobby-screen__card-backs{max-width:320px;width:100%}.lobby-screen__card-backs h3{color:#c8dece;color:var(--color-text-muted);font-size:14px;margin-bottom:8px}.lobby-screen__card-back-grid{-webkit-overflow-scrolling:touch;display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.lobby-screen__card-back-grid::-webkit-scrollbar{display:none}.lobby-screen__card-back-option{align-items:center;background:none;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:4px;padding:4px}.lobby-screen__card-back-option--active{border-color:gold;border-color:var(--color-accent)}.lobby-screen__card-back-option img{border-radius:4px;height:68px;object-fit:cover;width:48px}.lobby-screen__card-back-option span{color:#c8dece;color:var(--color-text-muted);font-size:10px;max-width:56px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.lobby-screen__card-back-option--active span{color:gold;color:var(--color-accent)}.lobby-screen__card-back-classic{align-items:center;background:#2c5aa0;border-radius:4px;display:flex;height:68px;justify-content:center;width:48px}.lobby-screen__card-back-classic:after{border:1px solid #3a6ab8;border-radius:2px;content:"";height:44px;width:30px}.lobby-screen__card-back-upload{align-items:center;border:2px dashed #c8dece;border:2px dashed var(--color-text-muted);border-radius:4px;color:#c8dece;color:var(--color-text-muted);display:flex;font-size:24px;height:68px;justify-content:center;width:48px}.game-board,.game-board-screen{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.game-board{gap:min(8px,1dvh);padding:4px 10px env(safe-area-inset-bottom,6px)}.game-board__middle{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:min(8px,1dvh);min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.game-board__middle::-webkit-scrollbar{display:none}.game-board__bottom{flex-shrink:0}.game-board__header{color:var(--color-text-muted);flex-shrink:0;justify-content:space-between;padding:2px 0}.game-board__header,.game-board__round-info{align-items:center;display:flex;font-size:13px}.game-board__round-info{flex-direction:column;line-height:1.3}.game-board__room-code{color:var(--color-accent);cursor:pointer;font-size:10px;font-weight:700;letter-spacing:2px;opacity:.7}.game-board__exit{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:12px;min-height:36px;padding:6px 8px}.game-board__header-right{align-items:center;display:flex;gap:2px}.game-board__header-btn{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:11px;justify-content:center;min-height:32px;padding:6px}.game-board__header-btn--active{color:var(--color-accent)}.game-board__scores-toggle{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:12px;min-height:32px;padding:6px}@media (max-width:360px){.game-board__header,.game-board__round-info{font-size:11px}.game-board__room-code{font-size:9px}}.game-board__confirm{align-items:center;background:#0006;border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:12px}.game-board__confirm span{font-size:14px;font-weight:600}.game-board__confirm-sub{color:var(--color-text-muted);font-size:12px;margin:0}.game-board__confirm-btns{display:flex;gap:10px}.btn--sm{font-size:13px;min-height:36px;padding:6px 16px}.game-board__opponents{-webkit-overflow-scrolling:touch;display:flex;flex-shrink:0;gap:10px;justify-content:center;overflow-x:auto;overflow-y:hidden;padding:2px 4px;scrollbar-width:none}.game-board__opponents::-webkit-scrollbar{display:none}.opponent{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.opponent__name{color:var(--color-text-muted);font-size:11px;font-weight:600;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent__dealer-star{color:var(--color-accent)}.opponent__hand{flex-direction:column}.opponent__hand,.opponent__row{display:flex;gap:2px}.center-piles{flex-shrink:0;gap:16px;justify-content:center;padding:min(20px,2.5dvh) 30px}.center-piles,.center-piles__pile{align-items:center;display:flex;position:relative}.center-piles__pile{cursor:pointer;flex-direction:column;gap:2px;z-index:1}.center-piles__label{color:var(--color-text-muted);font-size:10px}.turn-indicator{background:#00000026;border-radius:6px;color:var(--color-text-muted);flex-shrink:0;font-size:14px;padding:4px 10px;text-align:center}.turn-indicator--active{background:#ffd7001a;color:var(--color-accent);font-weight:600}.game-board__drawn{align-items:center;background:#ffd70014;border-radius:6px;display:flex;flex-shrink:0;gap:8px;justify-content:center;padding:4px 8px}.game-board__drawn .card{height:var(--card-sm-height);width:var(--card-sm-width)}.game-board__drawn>span{color:var(--color-accent);font-size:13px}.game-board__drawn-card{transition:transform .3s ease-in,opacity .3s ease-in}.game-board__drawn-card .card{outline:2px solid var(--color-accent)}.game-board__drawn-card--fly{opacity:0;transform:translateY(-60px) scale(.5)}.game-board__drawn--swap .game-board__drawn-card--fly{opacity:0;transform:translateY(80px) scale(.5)}.game-board__drawn--opponent{background:#ffffff0f}.game-board__drawn--opponent>span{color:var(--color-text-muted)}.game-board__message{color:var(--color-accent);font-size:15px;font-weight:600;text-align:center}.game-board__last-discard{align-items:center;animation:discardFadeIn .3s ease;background:#ffffff0f;border-radius:6px;display:flex;flex-shrink:0;gap:8px;justify-content:center;padding:4px 12px}.game-board__last-discard>span{color:var(--color-text-muted);font-size:12px}@keyframes discardFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.game-board__my-name{color:var(--color-text-muted);font-size:12px;font-weight:600;text-align:center}.game-board__spectator-notice{background:#ffffff0a;border-radius:4px;color:var(--color-text-muted);flex-shrink:0;font-size:11px;font-style:italic;padding:3px 8px;text-align:center}.game-board__spectating{background:#ffd70014;border-radius:8px;color:var(--color-accent);flex-shrink:0;font-size:14px;padding:16px;text-align:center}.player-hand{align-items:center;flex-direction:column;flex-shrink:0;padding-bottom:8px}.player-hand,.player-hand__row{display:flex;gap:var(--card-gap)}.game-board__error{animation:toastIn .3s ease;background:#1e1e1ef2;border-left:3px solid var(--color-error);border-radius:8px;bottom:20px;color:var(--color-error);font-size:13px;left:50%;max-width:320px;padding:10px 16px;position:fixed;transform:translateX(-50%);z-index:50}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.scoreboard{background:#0000004d;border-radius:8px;overflow:hidden;padding:4px}.scoreboard__table{border-collapse:collapse;font-size:13px;table-layout:fixed;white-space:nowrap;width:100%}.scoreboard__table td,.scoreboard__table th{border:1px solid #ffffff0f;padding:5px 2px;text-align:center}.scoreboard__corner{width:42px}.scoreboard__hole{color:var(--color-text-muted);font-size:11px;font-weight:400}.scoreboard__total-header{color:var(--color-accent);font-weight:700;width:34px}.scoreboard__name{font-size:11px;font-weight:600;overflow:hidden;padding-left:4px!important;text-align:left!important;text-overflow:ellipsis}.scoreboard__row--leader .scoreboard__name{color:var(--color-accent)}.scoreboard__cell{color:var(--color-text);font-weight:700;position:relative}.scoreboard__cell-inner{align-items:center;display:inline-flex;font-size:12px;height:22px;justify-content:center;line-height:1;width:22px}.scoreboard__cell--eagle .scoreboard__cell-inner{box-shadow:0 0 0 2px #0000004d,0 0 0 4px #5ddb6d}.scoreboard__cell--birdie .scoreboard__cell-inner,.scoreboard__cell--eagle .scoreboard__cell-inner{border:2px solid #5ddb6d;border-radius:50%;color:#5ddb6d}.scoreboard__cell--par .scoreboard__cell-inner{color:var(--color-accent)}.scoreboard__cell--bogey .scoreboard__cell-inner{border:2px solid var(--color-text);border-radius:2px}.scoreboard__cell--double-bogey .scoreboard__cell-inner{border:2px solid var(--color-error);border-radius:2px;box-shadow:0 0 0 2px #0000004d,0 0 0 4px var(--color-error);color:var(--color-error)}.scoreboard__cell--empty .scoreboard__cell-inner{border:none;box-shadow:none;color:#ffffff26;font-weight:400}.scoreboard__total{background:#ffd70014;color:var(--color-accent);font-size:13px;font-weight:700}.scoreboard__total--leader{background:#5ddb6d1a;color:#5ddb6d}.scoreboard__total--trailing{background:#ff6b6b14;color:var(--color-error)}.game-over-screen,.round-end-screen{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:center;overflow:hidden;padding:24px}.round-end-screen--reveal{gap:var(--section-gap);justify-content:space-between;padding:6px 10px 16px}.round-end-screen__timer{color:var(--color-accent);font-size:14px;font-weight:700}.round-end-screen__skip{flex-shrink:0}.game-over-screen__title,.round-end-screen__title{font-size:24px}.round-end-screen__results{max-width:280px;width:100%}.round-end-screen__player{border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:8px 0}.round-end-screen__round-score{color:var(--color-accent);font-weight:700}.round-end-screen__waiting{color:var(--color-text-muted);font-size:13px}.game-over-screen__subtitle{color:var(--color-text-muted);font-size:14px}.game-over-screen__personal{background:#ffffff0d;border-radius:8px;color:var(--color-text);font-size:16px;padding:8px 16px;text-align:center}.game-over-screen__actions{display:flex;flex-direction:column;gap:10px;max-width:280px;width:100%}.round-end-screen__reaction{display:inline-block;font-size:12px;margin-left:8px}.card{border-radius:var(--card-radius);box-shadow:0 2px 4px #0000004d;cursor:pointer;flex-shrink:0;height:var(--card-height);overflow:hidden;transition:transform .3s,box-shadow .3s,opacity .3s;width:var(--card-width)}.card:active:not(.card--disabled){transform:scale(.95)}.card--small{height:var(--card-sm-height);width:var(--card-sm-width)}.card--selected{box-shadow:0 6px 16px #ffd70080;transform:translateY(-6px)}.card--disabled{cursor:default}.card-face{align-items:center;background:var(--color-card-white);display:flex;flex-direction:column;gap:0;height:100%;justify-content:center;padding:2px;position:relative;width:100%}.card-face--red{color:var(--color-card-red)}.card-face--black{color:var(--color-card-black)}.card-face__corner{font-family:var(--font-card);font-size:min(9px,calc(var(--card-height)*.11));font-weight:700;line-height:1;position:absolute}.card-face__corner--top{left:4px;top:3px}.card-face__corner--bottom{bottom:3px;right:4px;transform:rotate(180deg)}.card--small .card-face__corner{font-size:min(7px,calc(var(--card-sm-height)*.1))}.card-face__center-rank{font-family:var(--font-card);font-size:min(22px,calc(var(--card-height)*.26));font-weight:700;line-height:1}.card--small .card-face__center-rank{font-size:min(15px,calc(var(--card-sm-height)*.25))}.card-face__center-suit{font-size:min(16px,calc(var(--card-height)*.19));line-height:1}.card--small .card-face__center-suit{font-size:min(11px,calc(var(--card-sm-height)*.18))}.card-back{border-radius:var(--card-radius);height:100%;overflow:hidden;width:100%}.card-back--classic{align-items:center;background:#2c5aa0;border:2px solid #ffffff26;display:flex;justify-content:center}.card-back__pattern{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#3a6ab8 0,#3a6ab8 5px);border:2px solid #3a6ab8;border-radius:3px;height:75%;width:70%}.card-back__img{display:block;height:100%;object-fit:cover;width:100%}
/*# sourceMappingURL=main.ceb9aea7.css.map*/