:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.sound-control{top:0;right:max(8px, env(safe-area-inset-right,0px));z-index:10001;height:var(--top-bar);padding-top:env(safe-area-inset-top,0px);align-items:center;display:flex;position:fixed}.sound-control.beside{right:calc(max(16px, env(safe-area-inset-right,0px)) + 170px)}.sound-control .sound-btn{color:#f9fafb;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:36px;height:32px;padding:0;display:grid}.sound-control .sound-btn:hover,.sound-control .sound-btn[aria-expanded=true]{background:#f9fafb24}.sound-control .sound-btn:focus-visible{outline-offset:1px;outline:2px solid #f9fafb}.sound-btn svg{width:22px;height:22px}.sound-panel{top:calc(var(--top-bar) - 2px);text-align:left;background:#111827;border:1px solid #374151;border-radius:10px;gap:12px;width:240px;padding:14px 16px;display:grid;position:absolute;right:0;box-shadow:0 10px 24px #00000073}.sound-panel .sound-row{color:#dfe3f0;grid-template-columns:64px 1fr;align-items:center;gap:10px;margin:0;font-size:.9rem;display:grid}.sound-panel.is-muted .sound-row{opacity:.5}.sound-panel input[type=range]{accent-color:#a29bfe;background:0 0;border:0;width:100%;margin:0;padding:0}.sound-panel .sound-mute{justify-self:end;min-height:36px;padding:6px 16px}:root{--fleet-topbar-height:calc(40px + env(safe-area-inset-top,0px))}fleet-topbar{z-index:var(--fleet-topbar-z,1000);height:var(--fleet-topbar-height);background:#111827eb;display:block;position:fixed;top:0;left:0;right:0}fleet-topbar[hidden]{display:none}html.fleet-topbar-pad body,body.fleet-topbar-pad{padding-top:var(--fleet-topbar-height)}:root{--top-bar:var(--fleet-topbar-height,calc(40px + env(safe-area-inset-top,0px)))}body{padding-top:var(--top-bar)}fleet-topbar{--fleet-topbar-z:10000}.coin-overlay{z-index:9000;padding:calc(var(--top-bar,40px) + 16px) 16px 16px;cursor:pointer;background:#020c08e6;flex-direction:column;justify-content:center;align-items:center;gap:18px;animation:.2s ease-out coin-fade;display:flex;position:fixed;inset:0}.coin-who{color:#f3e7c1;text-align:center;font-size:1.15rem;font-weight:700}.coin-stage{perspective:700px;width:140px;height:140px}.coin{width:100%;height:100%;transform-style:preserve-3d;filter:drop-shadow(0 14px 14px #00000080);position:relative}.coin-face{backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.coin-face.tails{transform:rotateY(180deg)}.coin.spinning{animation:.4s linear infinite coin-spin,.8s ease-in-out infinite coin-bob}.coin.landing{animation:.9s cubic-bezier(.2,.7,.3,1) forwards coin-drop}.coin.landing.heads{--end:1080deg}.coin.landing.tails{--end:1260deg}.coin.still,.coin.still.spinning,.coin.still.landing{animation:none}.coin.still.landing.heads{transform:none}.coin.still.landing.tails{transform:rotateY(180deg)}.coin-word{letter-spacing:.04em;color:#f1c40f;opacity:0;min-height:2.4rem;font-size:2rem;font-weight:800}.coin-word.tails{color:#d7dbe8}.coin-word.shown{opacity:1;animation:.35s cubic-bezier(.2,1.6,.4,1) both coin-word}@keyframes coin-fade{0%{opacity:0}to{opacity:1}}@keyframes coin-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes coin-bob{0%,to{margin-top:0}50%{margin-top:-26px}}@keyframes coin-drop{0%{transform:translateY(-70px)rotateY(0)}55%{transform:translateY(0) rotateY(calc(var(--end) * .62))}70%{transform:translateY(-14px) rotateY(calc(var(--end) * .8))}to{transform:translateY(0) rotateY(var(--end))}}@keyframes coin-word{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.coin-overlay,.coin-word.shown{animation:none}}*{box-sizing:border-box;margin:0;padding:0}body{color:#eee;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%) fixed;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.loading{height:calc(100vh - var(--top-bar));justify-content:center;align-items:center;font-size:1.2rem;display:flex}.error{color:#fff;text-align:center;background:#e74c3c;border-radius:8px;margin:12px 0;padding:10px 15px}button,.button{color:#fff;cursor:pointer;font:inherit;text-align:center;background:#6c5ce7;border:none;border-radius:10px;padding:12px 24px;font-size:1rem;text-decoration:none;transition:background .2s,transform .1s;display:inline-block}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-offset:2px;outline:3px solid #a29bfe}.ghost{color:#dfe3f0;background:0 0;border:1px solid #3b4466}.ghost:hover{background:#ffffff0f}input,textarea,select{color:#fff;width:100%;font:inherit;background:#0f0f23;border:2px solid #333a55;border-radius:10px;margin-bottom:12px;padding:12px;font-size:1rem}input::placeholder,textarea::placeholder,select::placeholder{color:#666c85}input:focus,textarea:focus,select:focus{border-color:#6c5ce7;outline:none}textarea{resize:vertical}label{color:#9aa0b4;margin-bottom:6px;font-size:.9rem;display:block}.panel{text-align:left;background:#16213e;border-radius:16px;margin-bottom:16px;padding:20px}.panel h2{margin-bottom:12px;font-size:1.15rem}.panel.center{text-align:center}.panel.center h1{margin-bottom:10px}.panel.center p{color:#9aa0b4;margin-bottom:18px}.primary{width:100%;min-height:48px;font-weight:600}.hint{color:#9aa0b4;margin:6px 0 10px;font-size:.85rem}.home-page{max-width:520px;margin:0 auto;padding:24px 16px 40px}.home-page .home-header{justify-content:flex-end;margin-bottom:8px;font-size:.9rem;display:flex}.home-page .home-header a{color:#a29bfe;text-decoration:none}.home-page .home-header a:hover{color:#fff}.home-page h1{text-align:center;background:linear-gradient(90deg,#6c5ce7,#a29bfe);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:2.3rem;line-height:1.1}.home-page .subtitle{color:#9aa0b4;text-align:center;margin-bottom:24px;font-size:1.05rem}.home-page .code-input{text-transform:uppercase;letter-spacing:.4em;text-align:center;font-size:1.4rem;font-weight:700}.home-page .how{color:#9aa0b4;padding:8px 4px}.home-page .how h2{color:#dfe3f0;margin-bottom:8px;font-size:1rem}.home-page .how ol{gap:6px;padding-left:1.3em;font-size:.95rem;display:grid}.table-page{max-width:560px;margin:0 auto;padding:16px 16px 40px}.table-page>.panel h1{margin-bottom:14px;font-size:1.5rem}.table-page .table-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.table-page .table-head .eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#9aa0b4;font-size:.75rem}.table-page .table-head .table-code{letter-spacing:.25em;font-size:2.2rem;line-height:1.1}.table-page .news{color:#a29bfe;overflow-wrap:anywhere;min-height:1.4em;margin-bottom:8px;font-weight:600}.table-page .game-over{background:linear-gradient(135deg,#e74c3c,#c0392b);min-height:56px;margin-bottom:16px;font-size:1.2rem}.table-page .game-over:hover{background:linear-gradient(135deg,#c0392b,#a93226)}.table-page .choices{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.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{gap:10px;display:flex}.table-page .row .ghost{flex:none}.table-page .pot .pot-count{font-size:1.05rem}.table-page .pot .pot-number{margin-right:4px;font-size:2.2rem;font-weight:800}.table-page .pot .top-up{color:#ffd28a;border-color:#f39c12;width:100%;margin-bottom:14px}.table-page .players{list-style:none}.table-page .players li{border-bottom:1px solid #263055;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.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{white-space:nowrap;font-variant-numeric:tabular-nums;gap:12px;display:flex}.table-page .players .tally-done{color:#2ecc71}.table-page .players .tally-chicken{color:#f39c12}.table-page .history{gap:10px;list-style:none;display:grid}.table-page .history li{overflow-wrap:anywhere;align-items:baseline;gap:10px;display:flex}.table-page .badge{border-radius:999px;flex:none;padding:2px 8px;font-size:.75rem;font-weight:700}.table-page .badge.done{color:#2ecc71;background:#2ecc712e}.table-page .badge.chickened{color:#f39c12;background:#f39c122e}.table-page .in-play{margin-bottom:16px}.table-page .in-play h2{margin-bottom:10px;font-size:1.15rem}.table-page .fine{color:#9aa0b4;text-align:center;font-size:.85rem}.table-page .fine a{color:#a29bfe}.card{text-align:left;border-radius:18px;width:100%;margin-bottom:12px;padding:18px;display:block}.card.face-down{color:#fff;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%3e%3cpath%20d='M0%208L8%200l8%208-8%208z'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.16'%20stroke-width='1'/%3e%3c/svg%3e"),linear-gradient(135deg,#3d2c8d,#6c5ce7);border:2px solid #f1c40f8c;align-items:center;gap:16px;min-height:118px;display:flex;box-shadow:inset 0 0 0 5px #3f2f93,inset 0 0 0 6px #f1c40f66,0 6px 14px #00000059}.card.face-down .card-back-art{filter:drop-shadow(0 3px 4px #0006);flex:none;width:58px;height:82px}.card.face-down .card-label{text-shadow:0 1px 2px #00000073;font-size:1.05rem;font-weight:600}.card.face-down.mine{cursor:pointer;animation:2.4s ease-in-out infinite nudge}.card.face-down.mine:hover{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%3e%3cpath%20d='M0%208L8%200l8%208-8%208z'%20fill='none'%20stroke='%23fff'%20stroke-opacity='.16'%20stroke-width='1'/%3e%3c/svg%3e"),linear-gradient(135deg,#46339f,#7a6bf0)}.card.face-up{color:#1d1d2b;background:#fdf6e3;border:2px solid #e8dcc0;position:relative;box-shadow:0 6px 14px #0000004d}.card.face-up:before{content:attr(data-suit);color:#1d1d2b;opacity:.05;pointer-events:none;font-size:130px;line-height:1;position:absolute;bottom:-22px;right:14px}.card.face-up:after{content:"";pointer-events:none;border:1px solid #a67e3059;border-radius:13px;position:absolute;inset:6px}.card.face-up .corner-index{color:#1d1d2b;justify-items:center;font-family:Georgia,Times New Roman,serif;line-height:1;display:grid;position:absolute;top:13px;right:17px}.card.face-up .corner-index b{font-size:1.1rem}.card.face-up .corner-index i{font-size:1.05rem;font-style:normal}.card.face-up .corner-index.red{color:#c0392b}.card.face-up .card-holder{text-transform:uppercase;letter-spacing:.06em;color:#6b5f86;overflow-wrap:anywhere;margin-bottom:8px;font-size:.85rem;font-weight:700}.card.face-up .card-from{text-transform:none;letter-spacing:0;font-weight:500}.card.face-up .card-text{overflow-wrap:anywhere;margin-bottom:12px;padding-right:34px;font-size:1.3rem;font-weight:600;line-height:1.35}.card.face-up .card-note{color:#7a6a4f;margin-bottom:10px;font-size:.85rem}.card.face-up .hint{color:#7a6a4f}.card.face-up .gamble-btn{color:#2b1d00;background:linear-gradient(135deg,#f1c40f,#f39c12);width:100%;min-height:48px;font-weight:700}.card.face-up .gamble-btn:hover{background:linear-gradient(135deg,#e2b607,#e08e0b)}.card.face-up .card-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.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{margin-bottom:8px;font-weight:700}.card.face-up .choices button{background:#6c5ce7}.card.face-up.won{border-color:#f1c40f}.card.turning-out{animation:.22s ease-in forwards turn-out}.card.turning-in{animation:.22s ease-out both turn-in}@keyframes turn-out{0%{transform:perspective(600px)rotateY(0)}to{transform:perspective(600px)rotateY(90deg)}}@keyframes turn-in{0%{transform:perspective(600px)rotateY(-90deg)}to{transform:perspective(600px)rotateY(0)}}.card-slot.dealing{animation:deal-in .5s cubic-bezier(.2, .8, .25, 1) var(--deal-delay,0s) both}@keyframes deal-in{0%{opacity:0;transform:translate(-70px,-150px)rotate(-14deg)scale(.6)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes nudge{0%,85%,to{transform:rotate(0)}90%{transform:rotate(-1.2deg)}95%{transform:rotate(1.2deg)}}@media (prefers-reduced-motion:reduce){.card.turning-in,.card.turning-out,.card.face-down.mine,.card-slot.dealing{animation:none}}body.felt{background-color:#0b3b2b;background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%3e%3cfilter%20id='n'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.85'%20numOctaves='2'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%20.02%200%200%200%200%20.1%200%200%200%200%20.06%200%200%200%20.6%20-.14'/%3e%3c/filter%3e%3crect%20width='180'%20height='180'%20filter='url(%23n)'/%3e%3c/svg%3e"),radial-gradient(at 50% 20%,#348c628c,#0a3c2b00 65%),linear-gradient(#0d4a35 0%,#06241a 100%);background-attachment:fixed}body.felt .panel{background:#041811d1;border:1px solid #f1c40f24}body.felt input,body.felt textarea,body.felt select{background:#04140e;border-color:#1f5340}body.felt label,body.felt .hint,body.felt .table-page .table-head .eyebrow,body.felt .table-page .fine{color:#a3c4b6}body.felt .table-page .news{color:#f3e7c1}body.felt .ghost{border-color:#2c6a53}.login-page{min-height:calc(100vh - var(--top-bar));justify-content:center;align-items:center;padding:20px 16px;display:flex}.login-page .login-card{text-align:center;background:#16213e;border-radius:16px;width:100%;max-width:400px;padding:32px 24px}.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{color:#9aa0b4;background:0 0;margin-top:18px;padding:0;font-size:.9rem;text-decoration:none;display:inline-block}.login-page .login-card .back-link:hover{color:#fff}.admin-page{max-width:1200px;margin:0 auto;padding:20px 16px}.admin-page .admin-auth-error{color:#e0574a;background:#e0574a1f;border:1px solid #e0574a;border-radius:6px;margin:0 0 16px;padding:10px 14px}.admin-page header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.admin-page header h1{font-size:1.8rem}.admin-page header div{gap:10px;display:flex}.admin-page header .logout{background:#e74c3c}.admin-page header .logout:hover{background:#c0392b}.admin-page .admin-overview{color:#9aa0b4;margin-bottom:20px;font-size:.9rem}.admin-page .admin-overview code{color:#dfe3f0}.admin-page .tabs{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.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{gap:10px;display:flex}.admin-page .admin-add input{margin-bottom:0}.admin-page .admin-filters{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.admin-page .admin-filters input,.admin-page .admin-filters select{margin-bottom:0}.admin-page .admin-filters input{flex:240px}.admin-page .admin-filters select{width:auto}.admin-page .admin-count{color:#888;margin-bottom:12px;font-size:.9rem}.admin-page .pager{color:#888;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.admin-page .pager button{background:#333}.admin-page .admin-table{overflow-x:auto}.admin-page table{border-collapse:collapse;background:#16213e;border-radius:10px;width:100%;min-width:600px;overflow:hidden}.admin-page table th,.admin-page table td{text-align:left;vertical-align:top;border-bottom:1px solid #333;padding:12px 15px}.admin-page table th{white-space:nowrap;background:#0f3460;font-weight:600}.admin-page table td{overflow-wrap:anywhere}.admin-page table td.mono{color:#bbb;font-family:monospace}.admin-page table td .delete{white-space:nowrap;background:#e74c3c;padding:5px 12px;font-size:.85rem}.admin-page table td .delete:hover{background:#c0392b}
