:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}:root{--top-bar: calc(40px + env(safe-area-inset-top, 0px)) }body{padding-top:var(--top-bar)}#top-bar{position:fixed;top:0;left:0;right:0;z-index:10000;box-sizing:border-box;height:var(--top-bar);margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));background:#111827eb;color:#f9fafb;font:14px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-align:left}#top-bar .top-bar-home,#top-bar .top-bar-chip,#top-bar .top-bar-menu button{all:unset;box-sizing:border-box;cursor:pointer;color:#f9fafb;font:14px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}#top-bar .top-bar-home{flex:none;padding:6px 4px;border-radius:4px;white-space:nowrap}#top-bar .top-bar-home:hover{text-decoration:underline}#top-bar .top-bar-account{position:relative;min-width:0}#top-bar .top-bar-chip{display:inline-flex;align-items:center;gap:6px;max-width:min(240px,55vw);height:28px;padding:0 12px;border:1px solid rgba(249,250,251,.4);border-radius:999px}#top-bar .top-bar-chip:hover,#top-bar .top-bar-chip[aria-expanded=true]{background:#f9fafb1f}#top-bar .top-bar-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#top-bar .top-bar-caret{flex:none;font-size:11px}#top-bar .top-bar-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:210px;margin:0;padding:4px 0;list-style:none;background:#111827;border:1px solid #374151;border-radius:8px;box-shadow:0 10px 24px #00000073}#top-bar .top-bar-menu li{margin:0;padding:0;list-style:none}#top-bar .top-bar-menu button{display:block;width:100%;padding:10px 14px;white-space:nowrap}#top-bar .top-bar-menu button:hover,#top-bar .top-bar-menu button:focus-visible{background:#1f2937}#top-bar .top-bar-home:focus-visible,#top-bar .top-bar-chip:focus-visible,#top-bar .top-bar-menu button:focus-visible{outline:2px solid #f9fafb;outline-offset:2px}#top-bar .top-bar-menu button:focus-visible{outline-offset:-2px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);background-attachment:fixed;color:#eee;min-height:100vh}.loading{display:flex;align-items:center;justify-content:center;height:calc(100vh - var(--top-bar));font-size:1.2rem}.error{background:#e74c3c;color:#fff;padding:10px 15px;border-radius:8px;margin:12px 0;text-align:center}button,.button{display:inline-block;background:#6c5ce7;color:#fff;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font:inherit;font-size:1rem;text-decoration:none;text-align:center;transition:background .2s,transform .1s}button:hover,.button:hover{background:#5b4cdb}button:active:not(:disabled),.button:active:not(:disabled){transform:scale(.98)}button:disabled,.button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,.button:focus-visible{outline:3px solid #a29bfe;outline-offset:2px}.ghost{background:transparent;border:1px solid #3b4466;color:#dfe3f0}.ghost:hover{background:#ffffff0f}input,textarea,select{width:100%;padding:12px;border:2px solid #333a55;border-radius:10px;background:#0f0f23;color:#fff;font:inherit;font-size:1rem;margin-bottom:12px}input::placeholder,textarea::placeholder,select::placeholder{color:#666c85}input:focus,textarea:focus,select:focus{outline:none;border-color:#6c5ce7}textarea{resize:vertical}label{display:block;font-size:.9rem;color:#9aa0b4;margin-bottom:6px}.panel{background:#16213e;border-radius:16px;padding:20px;margin-bottom:16px;text-align:left}.panel h2{font-size:1.15rem;margin-bottom:12px}.panel.center{text-align:center}.panel.center h1{margin-bottom:10px}.panel.center p{margin-bottom:18px;color:#9aa0b4}.primary{width:100%;min-height:48px;font-weight:600}.hint{font-size:.85rem;color:#9aa0b4;margin:6px 0 10px}.home-page{padding:24px 16px 40px;max-width:520px;margin:0 auto}.home-page .home-header{display:flex;justify-content:flex-end;margin-bottom:8px;font-size:.9rem}.home-page .home-header a{color:#a29bfe;text-decoration:none}.home-page .home-header a:hover{color:#fff}.home-page h1{font-size:2.3rem;line-height:1.1;margin-bottom:10px;text-align:center;background:linear-gradient(90deg,#6c5ce7,#a29bfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-page .subtitle{color:#9aa0b4;margin-bottom:24px;text-align:center;font-size:1.05rem}.home-page .code-input{text-transform:uppercase;letter-spacing:.4em;font-size:1.4rem;font-weight:700;text-align:center}.home-page .how{padding:8px 4px;color:#9aa0b4}.home-page .how h2{font-size:1rem;color:#dfe3f0;margin-bottom:8px}.home-page .how ol{padding-left:1.3em;display:grid;gap:6px;font-size:.95rem}.table-page{padding:16px 16px 40px;max-width:560px;margin:0 auto}.table-page>.panel h1{font-size:1.5rem;margin-bottom:14px}.table-page .table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.table-page .table-head .eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#9aa0b4}.table-page .table-head .table-code{font-size:2.2rem;letter-spacing:.25em;line-height:1.1}.table-page .news{min-height:1.4em;margin-bottom:8px;color:#a29bfe;font-weight:600;overflow-wrap:anywhere}.table-page .game-over{margin-bottom:16px;min-height:56px;font-size:1.2rem;background:linear-gradient(135deg,#e74c3c,#c0392b)}.table-page .game-over:hover{background:linear-gradient(135deg,#c0392b,#a93226)}.table-page .choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.table-page .choices button{background:#2a3150;min-height:44px;padding:10px 16px}.table-page .choices button.picked,.table-page .choices button[aria-pressed=true]{background:#e74c3c}.table-page .row{display:flex;gap:10px}.table-page .row .ghost{flex:0 0 auto}.table-page .pot .pot-count{font-size:1.05rem}.table-page .pot .pot-number{font-size:2.2rem;font-weight:800;margin-right:4px}.table-page .pot .top-up{width:100%;margin-bottom:14px;border-color:#f39c12;color:#ffd28a}.table-page .players{list-style:none}.table-page .players li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #263055}.table-page .players li:last-child{border-bottom:none}.table-page .players .player-name{overflow-wrap:anywhere}.table-page .players .you{color:#9aa0b4}.table-page .players .tally{display:flex;gap:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.table-page .players .tally-done{color:#2ecc71}.table-page .players .tally-chicken{color:#f39c12}.table-page .history{list-style:none;display:grid;gap:10px}.table-page .history li{display:flex;gap:10px;align-items:baseline;overflow-wrap:anywhere}.table-page .badge{flex:0 0 auto;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px}.table-page .badge.done{background:#2ecc712e;color:#2ecc71}.table-page .badge.chickened{background:#f39c122e;color:#f39c12}.table-page .in-play{margin-bottom:16px}.table-page .in-play h2{font-size:1.15rem;margin-bottom:10px}.table-page .fine{font-size:.85rem;color:#9aa0b4;text-align:center}.table-page .fine a{color:#a29bfe}.card{display:block;width:100%;border-radius:18px;padding:18px;margin-bottom:12px;text-align:left}.card.face-down{display:flex;align-items:center;gap:16px;min-height:96px;color:#fff;background:repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 10px,transparent 10px 20px),linear-gradient(135deg,#3d2c8d,#6c5ce7);border:2px solid rgba(255,255,255,.18)}.card.face-down .card-back{flex:0 0 auto;display:grid;place-items:center;width:52px;height:72px;border-radius:8px;border:2px solid rgba(255,255,255,.5);font-size:1.8rem;font-weight:800}.card.face-down .card-label{font-size:1.05rem;font-weight:600}.card.face-down.mine{cursor:pointer;animation:nudge 2.4s ease-in-out infinite}.card.face-down.mine:hover{background:repeating-linear-gradient(45deg,rgba(255,255,255,.1) 0 10px,transparent 10px 20px),linear-gradient(135deg,#46339f,#7a6bf0)}.card.face-up{background:#fdf6e3;color:#1d1d2b;border:2px solid #e8dcc0;animation:flip-in .45s ease-out}.card.face-up .card-holder{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b5f86;margin-bottom:8px;overflow-wrap:anywhere}.card.face-up .card-from{text-transform:none;letter-spacing:0;font-weight:500}.card.face-up .card-text{font-size:1.3rem;line-height:1.35;font-weight:600;margin-bottom:12px;overflow-wrap:anywhere}.card.face-up .card-note{font-size:.85rem;color:#7a6a4f;margin-bottom:10px}.card.face-up .hint{color:#7a6a4f}.card.face-up .gamble-btn{width:100%;min-height:48px;font-weight:700;background:linear-gradient(135deg,#f1c40f,#f39c12);color:#2b1d00}.card.face-up .gamble-btn:hover{background:linear-gradient(135deg,#e2b607,#e08e0b)}.card.face-up .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card.face-up .card-actions button{min-height:48px;font-weight:700}.card.face-up .card-actions .done-btn{background:#1e9e55}.card.face-up .card-actions .done-btn:hover{background:#198a49}.card.face-up .card-actions .chicken-btn{background:#b9770e}.card.face-up .card-actions .chicken-btn:hover{background:#a0660b}.card.face-up .give p{font-weight:700;margin-bottom:8px}.card.face-up .choices button{background:#6c5ce7}.card.face-up.won{border-color:#f1c40f}@keyframes flip-in{0%{transform:perspective(600px) rotateY(80deg);opacity:.3}to{transform:perspective(600px) rotateY(0);opacity:1}}@keyframes nudge{0%,85%,to{transform:rotate(0)}90%{transform:rotate(-1.2deg)}95%{transform:rotate(1.2deg)}}@media (prefers-reduced-motion: reduce){.card.face-up,.card.face-down.mine{animation:none}}.login-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--top-bar));padding:20px 16px}.login-page .login-card{background:#16213e;padding:32px 24px;border-radius:16px;width:100%;max-width:400px;text-align:center}.login-page .login-card h1{margin-bottom:16px}.login-page .login-card .login-note{color:#9aa0b4;margin-bottom:20px}.login-page .login-card .sso-primary{width:100%;min-height:48px;font-weight:600}.login-page .login-card .back-link{display:inline-block;margin-top:18px;background:none;color:#9aa0b4;padding:0;font-size:.9rem;text-decoration:none}.login-page .login-card .back-link:hover{color:#fff}.admin-page{padding:20px 16px;max-width:1200px;margin:0 auto}.admin-page .admin-auth-error{margin:0 0 16px;padding:10px 14px;border:1px solid #e0574a;border-radius:6px;background:#e0574a1f;color:#e0574a}.admin-page header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:15px}.admin-page header h1{font-size:1.8rem}.admin-page header div{display:flex;gap:10px}.admin-page header .logout{background:#e74c3c}.admin-page header .logout:hover{background:#c0392b}.admin-page .admin-overview{color:#9aa0b4;font-size:.9rem;margin-bottom:20px}.admin-page .admin-overview code{color:#dfe3f0}.admin-page .tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.admin-page .tabs button{background:#333}.admin-page .tabs button.active{background:#6c5ce7}.admin-page .admin-add{margin-bottom:16px}.admin-page .admin-add div{display:flex;gap:10px}.admin-page .admin-add input{margin-bottom:0}.admin-page .admin-filters{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.admin-page .admin-filters input,.admin-page .admin-filters select{margin-bottom:0}.admin-page .admin-filters input{flex:1 1 240px}.admin-page .admin-filters select{width:auto}.admin-page .admin-count{color:#888;font-size:.9rem;margin-bottom:12px}.admin-page .pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;color:#888}.admin-page .pager button{background:#333}.admin-page .admin-table{overflow-x:auto}.admin-page table{width:100%;min-width:600px;border-collapse:collapse;background:#16213e;border-radius:10px;overflow:hidden}.admin-page table th,.admin-page table td{padding:12px 15px;text-align:left;border-bottom:1px solid #333;vertical-align:top}.admin-page table th{background:#0f3460;font-weight:600;white-space:nowrap}.admin-page table td{overflow-wrap:anywhere}.admin-page table td.mono{font-family:monospace;color:#bbb}.admin-page table td .delete{white-space:nowrap;background:#e74c3c;padding:5px 12px;font-size:.85rem}.admin-page table td .delete:hover{background:#c0392b}
