:root{--text:#222;--bg:#fafafa;--border:#e0e0e0;--accent:#1a6b46;--accent-hover:#124f34;--accent-disabled:#9ec2ac;--felt:#1c4d3a;--felt-light:#256349;--felt-border:#123726;--felt-text:#eef3ea;--felt-text-dim:#eef3eab8;--felt-gold:#c9a227;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}#root{flex-direction:column;min-height:100svh;display:flex}h1{margin:.25rem 0 .5rem;font-size:1.6rem}h2{margin:0 0 .5rem;font-size:1.15rem}p{margin:0 0 .5rem}button{font-family:inherit}a{color:var(--accent)}.app-header{border-bottom:1px solid var(--border);background:#fff;padding:.75rem 1rem}.app-title{color:var(--text);font-size:1.2rem;font-weight:800;text-decoration:none}.page{width:100%;max-width:480px;margin:0 auto;padding:1rem}.tabs{border-bottom:1px solid #ddd;gap:.5rem;margin-bottom:1rem;display:flex}.tab{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem .9rem;font-size:.95rem;font-weight:600}.tab-active{color:var(--accent);border-bottom-color:var(--accent)}.card{cursor:default;background:#fffdf8;border:1px solid #d9d3c1;border-radius:7px;justify-content:center;align-items:center;width:46px;height:64px;padding:0;font-weight:700;display:inline-flex;position:relative;box-shadow:0 1px 2px #0003}.card-clickable{cursor:pointer}.card-clickable:active{transform:translateY(1px)}.card-red{color:#b3312c}.card-black{color:#1c1c1c}.card-faded{opacity:.4}.card-index{flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute}.card-index-top{top:4px;left:4px}.card-index-bottom{bottom:4px;right:4px;transform:rotate(180deg)}.card-index-rank{font-size:.72rem}.card-index-suit{margin-top:1px;font-size:.62rem}.card-pip{opacity:.16;font-size:1.4rem}.site-footer{text-align:center;border-top:1px solid #e0e0e0;margin-top:2.5rem;padding-top:1rem}.site-footer-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-bottom:.5rem;display:flex}.site-footer-links a{color:#666;font-size:.85rem;text-decoration:none}.site-footer-links a:hover{text-decoration:underline}.site-footer-copy{color:#999;margin:0;font-size:.75rem}.landing-hero{text-align:center;padding:1rem 0 2rem}.landing-fan{justify-content:center;margin-bottom:1.25rem;display:flex}.landing-fan-felt{background:var(--felt);border:1px solid var(--felt-border);border-radius:16px;padding:1.5rem 1.5rem 1.25rem}.landing-fan-cards{width:260px;height:78px;position:relative}.landing-fan-card{transform:rotate(var(--r));transform-origin:50% 260px;margin-left:-23px;position:absolute;top:0;left:50%}.landing-hero h1{margin-bottom:.25rem;font-size:2.4rem}.landing-tagline{color:#666;max-width:32rem;margin:0 auto 1.5rem;font-size:1.05rem}.landing-cta{background:var(--accent);color:#fff;border-radius:8px;padding:.9rem 1.75rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-block}.landing-steps{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:2rem;padding:1.25rem 1.25rem .25rem}.landing-step{align-items:flex-start;gap:.85rem;margin-bottom:1.25rem;display:flex}.landing-step-badge{background:var(--felt-gold);color:#1c1c1c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;font-weight:700;display:flex}.landing-step h3{margin:0 0 .25rem;font-size:1rem}.landing-step p{color:#555;font-size:.9rem}.landing-about p{color:#555;font-size:.9rem;line-height:1.6}.landing-example{background:var(--felt);border:1px solid var(--felt-border);border-radius:12px;margin-top:1rem;padding:.9rem}.landing-example-row{margin-bottom:.65rem}.landing-example-row:last-child{margin-bottom:0}.landing-example-label{color:var(--felt-text-dim);margin:0 0 .3rem;font-size:.8rem}.landing-example-pill{color:#f3dfa0;background:#c9a22738;border:1px solid #c9a22780;border-radius:999px;padding:.05rem .5rem;font-size:.68rem;font-weight:600;display:inline-block}.landing-example-cards{flex-wrap:wrap;gap:.3rem;display:flex}.landing-example-hint{color:#666;margin-top:.6rem;font-size:.8rem}.ledger{border-collapse:collapse;width:100%;max-width:420px;margin-bottom:1rem}.ledger th,.ledger td{text-align:left;border-bottom:1px solid #eee;padding:.35rem .5rem}.ledger-me{background:#f2f8f4}.ledger-pos{color:#2c8a4b;font-weight:600}.ledger-neg{color:#c0392b;font-weight:600}.table-detail-back{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:.75rem;padding:0;font-size:.9rem;font-weight:600}.table-detail-links{word-break:break-all;flex-direction:column;gap:.4rem;padding:0;font-size:.85rem;list-style:none;display:flex}.table-detail-form{margin-bottom:1rem}.table-detail-hint{color:#666;font-size:.8rem}.table-detail-saved{color:#2c8a4b;font-weight:600}.table-settings-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.table-settings-row{border:1px solid #ddd;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.table-settings-name{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;padding:0}.table-settings-meta{color:#666;margin:.15rem 0 0;font-size:.8rem}.table-settings-delete{color:#c0392b;cursor:pointer;background:0 0;border:1px solid #c0392b;border-radius:6px;flex-shrink:0;padding:.5rem .75rem;font-weight:600}.table-settings-delete:disabled{opacity:.5;cursor:not-allowed}.password-gate-form{flex-direction:column;gap:.75rem;max-width:280px;display:flex}.password-gate-form label{flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600;display:flex}.password-gate-form input{border:1px solid #ccc;border-radius:6px;padding:.6rem;font-size:1rem}.password-gate-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.85rem;font-size:1rem;font-weight:700}.password-gate-form button:disabled{background:var(--accent-disabled);cursor:not-allowed}.create-form{flex-direction:column;gap:.75rem;max-width:420px;display:flex}.create-form label{flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600;display:flex}.create-form input{border:1px solid #ccc;border-radius:6px;padding:.6rem;font-size:1rem}.player-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.player-row input{flex:140px;min-width:0}.player-row button{cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:6px;width:2.2rem;height:2.2rem;font-size:1.1rem}button.secondary{cursor:pointer;background:0 0;border:1px dashed #999;border-radius:6px;padding:.5rem}.create-form>button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.85rem;font-size:1rem;font-weight:700}.scoop-preview{color:var(--accent);margin:-.25rem 0 0;font-size:.85rem;font-weight:600}.phone-notice{color:#7a5b00;background:#fff8e1;border:1px solid #f0dca0;border-radius:6px;margin:-.25rem 0 .25rem;padding:.5rem .65rem;font-size:.8rem}.form-error{color:#c0392b;font-weight:600}.created-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.arranger{background:var(--felt);border:1px solid var(--felt-border);border-radius:12px;flex-direction:column;gap:.75rem;padding:.9rem;display:flex}.arranger-hint{color:var(--felt-text-dim);margin:0;font-size:.85rem}.arranger-row{cursor:pointer;background:#ffffff14;border:2px solid #0000;border-radius:10px;padding:.5rem}.arranger-row-active{border-color:var(--felt-gold);background:#c9a2272e}.arranger-row-label{text-align:left;cursor:pointer;width:100%;color:var(--felt-text);background:0 0;border:none;padding:.25rem 0;font-size:.95rem;font-weight:700;display:block}.arranger-slots{flex-wrap:wrap;gap:.35rem;min-height:64px;display:flex}.arranger-tray{border-top:1px solid #ffffff26;padding-top:.5rem}.arranger-drag-handle{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .1s}.arranger-drag-handle .card{touch-action:none;-webkit-touch-callout:none}.arranger-drag-handle-active{z-index:1;border-radius:8px;position:relative;transform:scale(1.08);box-shadow:0 4px 10px #00000059}.arranger-error{color:#ffb4b0;font-weight:600}.arranger-submit{background:var(--felt-gold);color:#1c1c1c;cursor:pointer;border:none;border-radius:8px;padding:.85rem;font-size:1rem;font-weight:700}.arranger-submit:disabled{color:#1c1c1c99;cursor:not-allowed;background:#c9a22766}.arranger-surrender{color:#ff9d98;cursor:pointer;background:0 0;border:1px solid #ff9d98;border-radius:8px;padding:.6rem;font-size:.85rem;font-weight:600}.arranger-surrender:disabled{opacity:.5;cursor:not-allowed}.reveal{background:var(--felt);border:1px solid var(--felt-border);color:var(--felt-text);border-radius:12px;margin-bottom:1rem;padding:.9rem}.reveal h3{color:var(--felt-text);align-items:center;gap:.5rem;margin:0 0 .5rem;display:flex}.reveal-status{color:#123726;text-transform:uppercase;background:#cfe8dc;border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:600}.reveal-player{border-top:1px solid #ffffff1f;padding:.5rem 0}.reveal-player-me{background:#ffffff0f}.reveal-player-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.reveal-fouled{color:#ffb4b0;border:1px solid #ffb4b0;border-radius:4px;padding:.05rem .3rem;font-size:.7rem;font-weight:700}.reveal-surrendered{color:#f0cf7a;border:1px solid #f0cf7a;border-radius:4px;padding:.05rem .3rem;font-size:.7rem;font-weight:700}.reveal-net{margin-left:auto;font-weight:700}.reveal-net-pos{color:#a6e6b8}.reveal-net-neg{color:#ffb4b0}.reveal-hand-row{margin-bottom:.3rem}.reveal-row-label{color:var(--felt-text-dim);margin-bottom:.2rem;font-size:.8rem}.reveal-category-pill{color:#f3dfa0;background:#c9a22738;border:1px solid #c9a22780;border-radius:999px;padding:.05rem .5rem;font-size:.68rem;font-weight:600;display:inline-block}.reveal-row-cards{perspective:600px;flex-wrap:wrap;gap:.25rem;display:flex}.reveal-card-flip{animation:.35s backwards card-flip-in;display:inline-block}@keyframes card-flip-in{0%{opacity:0;transform:rotateY(-90deg)}to{opacity:1;transform:rotateY(0)}}.rules h2{margin-top:1.25rem}.rules h2:first-child{margin-top:0}.rules p{font-size:.9rem;line-height:1.5}.table-sub{color:#666;margin-top:-.5rem}.primary-action{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;margin:.5rem 0 1rem;padding:.85rem;font-size:1rem;font-weight:700}.primary-action:disabled{background:var(--accent-disabled);cursor:not-allowed}.current-hand{margin-bottom:1.5rem}.history h2{margin-bottom:.5rem}.legal-page{max-width:600px}.legal-updated{color:#999;margin-top:-.4rem;font-size:.8rem}.legal-page h2{margin-top:1.5rem}.legal-page p{color:#444;font-size:.9rem;line-height:1.6}
