:root{--bg-primary:#0a0a0a;--bg-secondary:#1a1a1a;--bg-card:#252525;--bg-modal:#000000e6;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:#666;--accent:#0f8;--profit:#0f8;--loss:#f46;--border:#333;--hover:#303030;--shadow:#00000080;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--min-touch:44px;--border-radius:8px;--transition:all .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5}input,textarea,select{font-size:16px}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;min-height:var(--min-touch);min-width:var(--min-touch);transition:var(--transition);background:0 0;border:none}button:active{transform:scale(.98)}input{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}.container{max-width:100%;padding:var(--spacing-sm);flex-direction:column;min-height:100vh;display:flex}@media (width>=768px){.container{max-width:600px;padding:var(--spacing-md);margin:0 auto}}.profit{color:var(--profit)}.loss{color:var(--loss)}.even{color:var(--text-secondary)}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-backdrop{background:var(--bg-modal);z-index:1000;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}body.modal-open{overflow:hidden}@media (width<=600px){.modal-backdrop{padding:calc(var(--spacing-md) + env(safe-area-inset-top)) var(--spacing-md) var(--spacing-md);align-items:flex-start;overflow-y:auto}}.app{gap:var(--spacing-md)}.app-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:column;display:flex}.app-title-group{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.app-session-name-button{color:var(--text-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;font-size:1.65rem;font-weight:600}.app-session-name-button:hover,.app-session-name-button:focus-visible{color:var(--accent)}.app-session-name-button:focus-visible,.app-session-name-input:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.app-session-name-input{font:inherit;color:var(--text-primary);border:1px solid var(--border);background:0 0;border-radius:8px;min-width:min(420px,90vw);padding:.2rem .45rem;font-size:1.65rem;font-weight:600}.app-header h1{margin:0;font-size:2.25rem}.mode-badge{border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.02em;border-radius:999px;align-items:center;margin-top:.35rem;padding:.2rem .65rem;font-size:.74rem;display:inline-flex}.mode-badge.firebase{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.subtitle{color:var(--text-secondary)}.header-stats{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.header-stats div{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-sm);text-align:center}.header-stats span{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-size:.75rem;display:block}.header-stats strong{font-size:1.5rem}.app-actions{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(64px,1fr));display:grid}.app-action-button{padding:var(--spacing-xs) 0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--border-radius);background:0 0;border:none;flex-direction:column;align-items:center;gap:.4rem;width:100%;font-size:.75rem;display:flex}.app-action-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.app-action-button:disabled{opacity:.45;cursor:not-allowed}.app-action-ring{border:1px solid var(--border);width:44px;height:44px;color:var(--text-primary);background:#ffffff08;border-radius:50%;place-items:center;display:grid}.app-action-ring svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.app-action-button.primary .app-action-ring{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.app-action-button.secondary .app-action-ring{background:var(--bg-card)}.app-action-button.destructive .app-action-ring{border-color:var(--loss);color:var(--loss);background:#ff446626}.app-action-button:not(.primary):not(:disabled):hover .app-action-ring,.app-action-button:not(.primary):not(:disabled):focus-visible .app-action-ring{border-color:var(--text-secondary)}.app-action-text{color:var(--text-secondary);font-size:.7rem}.app-action-button.primary .app-action-text{color:var(--text-primary)}.app-action-button.destructive .app-action-text{color:var(--loss)}.app-share-feedback{margin-top:calc(var(--spacing-sm) * -1);margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:.9rem}.player-grid{flex-direction:column;display:flex}.empty-state{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-lg);text-align:center;color:var(--text-secondary)}.empty-state .muted{color:var(--text-muted);margin-top:.5rem}.app-footer{padding-top:var(--spacing-md);justify-content:center;margin-top:auto;display:flex}.app-footer-link{width:40px;height:40px;color:var(--text-muted);border-radius:999px;place-items:center;transition:color .2s;display:grid}.app-footer-link:hover,.app-footer-link:focus-visible{color:var(--text-primary)}.app-footer-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.app-footer-link svg{width:20px;height:20px}@media (width<=480px){.app-actions{gap:var(--spacing-xs);flex-wrap:nowrap;display:flex}.app-action-button{min-width:0;padding:var(--spacing-xs) 2px;flex:1 1 0}.app-action-ring{width:36px;height:36px}.app-action-ring svg{width:16px;height:16px}.app-action-text{font-size:.6rem}.app-session-name-button,.app-session-name-input{font-size:1.35rem}}@media (width>=768px){.app-header{flex-direction:row;justify-content:space-between;align-items:flex-end}.app-session-name-button,.app-session-name-input{font-size:2rem}}.add-player-modal{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);width:min(520px,90vw);box-shadow:0 12px 30px var(--shadow);animation:.2s slideIn}.add-player-header h3{margin:0;font-size:1.5rem}.add-player-hint{color:var(--text-secondary);margin-top:var(--spacing-xs)}.add-player{gap:var(--spacing-xs);flex-direction:column;display:flex}.add-player-input-wrapper{position:relative}.add-player-input{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--border-radius);width:100%;padding:var(--spacing-sm);color:var(--text-primary);transition:var(--transition);font-size:1rem}.add-player-input:focus{border-color:var(--accent);outline:none}.add-player-input.error{border-color:var(--loss)}.add-player-input::placeholder{color:var(--text-muted)}.add-player-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap;display:flex}.add-player-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);transition:var(--transition);border:none;font-weight:600}.add-player-button.primary{background:var(--accent);color:var(--bg-primary)}.add-player-button.ghost{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.add-player-button:hover:not(:disabled){opacity:.9}.add-player-button:disabled{opacity:.5;cursor:not-allowed}.player-suggestions{margin-top:var(--spacing-xs);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:0 4px 12px var(--shadow);z-index:10;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow:hidden auto}.suggestion-item{width:100%;padding:var(--spacing-sm);text-align:left;color:var(--text-primary);transition:var(--transition);border-bottom:1px solid var(--border);background:0 0;display:block}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.selected{background:var(--hover)}.error-message{color:var(--loss);margin-top:var(--spacing-xs);font-size:.875rem}@media (width<=480px){.add-player-modal{padding:var(--spacing-sm)}.add-player-actions{flex-direction:column}.player-suggestions{margin-top:var(--spacing-sm);position:static}}.player-row{padding:var(--spacing-sm) 0;align-items:center;column-gap:var(--spacing-sm);row-gap:var(--spacing-xs);border-bottom:1px solid #ffffff14;grid-template-columns:minmax(0,1.25fr) minmax(72px,auto) max-content;display:grid}.player-row:last-child{border-bottom:none}.player-identity{align-items:center;gap:var(--spacing-xs);min-width:160px;display:flex}.player-name-stack{flex-direction:column;justify-content:center;align-items:flex-start;gap:.1rem;display:flex}.player-name-button{cursor:pointer;color:var(--text-primary);font:inherit;background:0 0;border:none;align-items:center;min-height:0;margin:10px 0 0;padding:0;font-weight:600;display:inline-flex}.player-name-button:hover .player-name,.player-name-button:focus-visible .player-name{color:var(--accent)}.player-name-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--border-radius)}.player-name{font-size:1.1rem;font-weight:600}.player-venmo-id{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);min-height:10px;font-size:.6rem;line-height:1}.player-metrics{color:var(--text-primary);text-align:right;justify-self:end;min-width:72px;font-size:1rem;font-weight:600}.player-actions{white-space:nowrap;grid-auto-flow:column;justify-self:end;gap:.35rem;display:grid}.icon-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text-primary);background:0 0;border-radius:50%;place-items:center;display:grid}.icon-button:hover{border-color:var(--text-secondary);background:#ffffff0d}.icon-button:disabled{opacity:.35;cursor:not-allowed}.icon-button:disabled:hover{border-color:var(--border);background:0 0}.icon-button svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.settlement{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--bg-card);border-radius:var(--border-radius);gap:var(--spacing-md);flex-direction:column;display:flex;box-shadow:0 4px 30px #00000059}.section-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.eyebrow{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem}.balance-pill{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:.35rem .75rem;font-size:.85rem}.balance-pill.balanced{color:var(--profit);background:#0f83}.balance-pill.unbalanced{color:var(--loss);background:#f463}.totals-grid{gap:var(--spacing-sm);flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:.25rem 0;display:flex;overflow-x:auto}.totals-grid>div{flex-direction:column;gap:.1rem;min-width:0;padding:0;display:flex}.totals-grid .label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:.35rem;font-size:.75rem}.totals-grid strong{font-size:1rem;font-weight:600}.standings{background:var(--bg-secondary);border-radius:var(--border-radius);padding:var(--spacing-sm);gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr);display:grid}.standings.is-empty{flex-direction:column;justify-content:center;align-items:center;display:flex}.standing-row{align-items:center;gap:var(--spacing-sm);font-size:.95rem;display:contents}.standing-player{flex-direction:column;flex:1;gap:.1rem;display:flex}.standing-name{font-weight:600}.standing-invested{color:var(--text-muted);font-size:.8rem}.standing-actions{flex-direction:row;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.standing-net{text-align:right;min-width:88px;font-weight:600}.standing-venmo-link{color:#008cff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;text-decoration:none;transition:transform .14s,opacity .14s;display:inline-flex}.standing-venmo-link svg{fill:currentColor;width:18px;height:18px}.standing-venmo-link.pay,.standing-venmo-link.charge{color:#008cff}.standing-venmo-link:hover{opacity:.85;transform:translateY(-1px)}.stack-chip{border:1px dashed var(--border);color:var(--text-secondary);border-radius:var(--border-radius);cursor:pointer;text-align:left;background:0 0;flex-direction:column;flex:0 140px;gap:.1rem;min-width:100px;padding:.25rem .75rem;display:flex}.stack-chip-label{text-transform:uppercase;letter-spacing:.2em;color:var(--text-muted);font-size:.6rem}.stack-chip-value{font-size:.95rem;font-weight:600}.stack-chip:not(.has-value) .stack-chip-value{color:var(--text-muted)}.stack-chip.has-value{color:var(--text-primary);border-style:solid}.empty-state{color:var(--text-muted);text-align:center}@media (width<=480px){.settlement{padding:var(--spacing-sm)}.stack-chip{width:100%}.standing-actions{justify-content:flex-start}}.buyin-modal{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);width:90%;max-width:400px;box-shadow:0 4px 20px var(--shadow);animation:.2s slideIn}.buyin-title{margin-bottom:var(--spacing-md);color:var(--text-primary);text-align:center;font-size:1.25rem;font-weight:600}.buyin-default-note{color:var(--text-secondary);text-align:center;margin-top:calc(-1 * var(--spacing-sm));margin-bottom:var(--spacing-md);font-size:.95rem}.buyin-input-group{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--border-radius);padding:var(--spacing-sm);margin-bottom:var(--spacing-md);transition:var(--transition);align-items:center;display:flex}.buyin-input-group:focus-within{border-color:var(--accent)}.currency-symbol{color:var(--text-secondary);margin-right:var(--spacing-xs);font-size:1.5rem}.buyin-input{text-align:center;color:var(--text-primary);background:0 0;outline:none;flex:1;min-width:0;font-size:2rem;font-weight:600}.buyin-input::placeholder{color:var(--text-muted)}.buyin-actions{gap:var(--spacing-sm);flex-wrap:wrap;justify-content:space-between;display:flex}.buyin-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);transition:var(--transition);text-align:center;flex:1;justify-content:center;align-items:center;font-weight:500;display:flex}.buyin-button.cancel{background:var(--bg-secondary);color:var(--text-secondary)}.buyin-button.cancel:hover{background:var(--hover)}.buyin-button.confirm{background:var(--accent);color:var(--bg-primary)}.buyin-button.confirm:hover{opacity:.9}.buyin-button.confirm:disabled{opacity:.5;cursor:not-allowed}.buyin-button.ghost{border:1px dashed var(--border);color:var(--text-secondary);background:0 0}.buyin-button.ghost:hover{border-color:var(--text-secondary)}@media (width<=480px){.buyin-modal{padding:var(--spacing-sm)}.buyin-input{font-size:1.5rem}}.confirm-dialog{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);width:90%;max-width:400px;box-shadow:0 4px 20px var(--shadow);animation:.2s slideIn}.confirm-title{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:1.25rem;font-weight:600}.confirm-message{color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.5}.confirm-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.confirm-button{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);min-width:80px;transition:var(--transition);font-weight:500}.confirm-button.cancel{background:var(--bg-secondary);color:var(--text-secondary)}.confirm-button.cancel:hover{background:var(--hover)}.confirm-button.confirm{background:var(--accent);color:var(--bg-primary)}.confirm-button.confirm:hover{opacity:.9}@media (width<=480px){.confirm-actions{flex-direction:column}.confirm-button{width:100%}}.settings-modal{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);gap:var(--spacing-md);width:min(720px,94vw);max-height:90vh;box-shadow:0 4px 20px var(--shadow);animation:.2s slideIn;display:grid;overflow:auto}.settings-section{gap:var(--spacing-xs);display:grid}.settings-section h3{font-size:1.1rem}.settings-help{color:var(--text-secondary);font-size:.92rem}.settings-mode{color:var(--text-secondary);margin-top:.2rem;font-size:.9rem}.settings-mode.active{color:var(--accent)}.settings-buyin-row{align-items:center;gap:var(--spacing-xs);margin-top:.35rem;display:flex}.settings-currency{color:var(--text-secondary);font-size:1.2rem}.settings-buyin-input,.settings-text-input,.settings-textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-primary);padding:.6rem .75rem}.settings-buyin-input{text-align:right;width:150px}.settings-label{color:var(--text-secondary);margin-top:.45rem;font-size:.88rem}.settings-textarea{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.settings-text-input{width:100%}.settings-textarea:focus,.settings-text-input:focus,.settings-buyin-input:focus{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px}.settings-actions-row,.settings-footer{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.settings-footer{justify-content:flex-end}.settings-button{border-radius:var(--border-radius);min-height:40px;padding:.55rem .9rem}.settings-button.primary{background:var(--accent);color:var(--bg-primary)}.settings-button.ghost{border:1px dashed var(--border)}.settings-button.cancel{background:var(--bg-secondary)}.settings-error{color:var(--loss);margin-top:.25rem;font-size:.9rem}@media (width<=640px){.settings-modal{padding:var(--spacing-sm)}.settings-buyin-row{flex-wrap:wrap}.settings-buyin-input{text-align:left;width:100%}}.player-settings-modal{background:var(--bg-card);border-radius:var(--border-radius);padding:var(--spacing-lg);width:min(480px,90vw);box-shadow:0 12px 30px var(--shadow);animation:.2s slideIn}.player-settings-header h3{margin:0;font-size:1.4rem}.player-settings-hint{margin-top:var(--spacing-xs);color:var(--text-secondary)}.player-settings-form{margin-top:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}.player-settings-field{gap:var(--spacing-xs);flex-direction:column;font-weight:600;display:flex}.player-settings-field input{border-radius:var(--border-radius);border:2px solid var(--border);background:var(--bg-secondary);width:100%;padding:var(--spacing-sm);color:var(--text-primary);transition:var(--transition);font-size:1rem}.player-settings-field input:focus{border-color:var(--accent);outline:none}.player-settings-field input.has-error,.player-settings-field .has-error{border-color:var(--loss)}.player-settings-venmo-input{border:2px solid var(--border);border-radius:var(--border-radius);background:var(--bg-secondary);align-items:center;display:flex;overflow:hidden}.player-settings-venmo-prefix{padding:0 var(--spacing-sm);color:var(--text-secondary);font-weight:600}.player-settings-venmo-input input{background:0 0;border:none;padding-left:0}.player-settings-venmo-input:focus-within{border-color:var(--accent)}.player-settings-field-hint{color:var(--text-muted);font-size:.85rem;font-weight:400}.player-settings-actions{justify-content:flex-end;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.player-settings-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;font-weight:600}.player-settings-button.primary{background:var(--accent);color:var(--bg-primary)}.player-settings-button.ghost{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.player-settings-button:disabled{opacity:.6;cursor:not-allowed}.player-settings-button:not(:disabled):hover{opacity:.9}.player-settings-form .error-message{color:var(--loss);margin-top:-.5rem;font-size:.875rem}@media (width<=480px){.player-settings-modal{padding:var(--spacing-md)}}
