*{box-sizing:border-box}body{margin:0;background:#090b10;color:#eff1f6;font:14px Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:#0d0f15;border-right:1px solid #292f3b;padding:25px 16px;display:flex;flex-direction:column}.brand{display:grid;place-items:center;background:#e5093c;width:42px;height:42px;border-radius:13px;font-size:24px}.brand-copy{position:absolute;left:70px;top:27px;font-weight:bold;letter-spacing:1px}.brand-copy small,.eyebrow{color:#929aaa;font-size:10px;letter-spacing:1.5px}.sidebar nav{display:grid;gap:8px;margin-top:52px}.sidebar nav a,.logout button{padding:12px;color:#9ca3b1;text-decoration:none}.sidebar nav a.active{color:white;background:#28131c}.logout{margin-top:auto}.logout button{background:none;border:0}.main{margin-left:220px;padding:36px 5%;max-width:1600px}.auth-main{margin:auto;max-width:1000px;min-height:100vh;display:grid;align-content:center}.topbar,.panel-head,.party-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{font-size:30px;margin:7px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stat,.panel,.auth-card{background:#131720;border:1px solid #292f3b;border-radius:12px;padding:20px;margin-bottom:16px}.stat span{color:#929aaa;font-size:10px}.stat strong{display:block;font-size:25px;margin:10px 0}.panel h2,.auth-card h2{margin-top:5px}.auth-card{width:min(440px,100%);padding:30px}.stack,.form-grid{display:grid;gap:14px}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid.compact{grid-template-columns:repeat(4,1fr)}.wide{grid-column:span 2}label{display:grid;gap:6px;color:#c6cad3;font-size:12px}input,select{background:#0b0e14;border:1px solid #303746;border-radius:6px;padding:10px;color:#fff}button,.button{background:#e5093c;color:white;border:0;border-radius:6px;padding:10px 14px;cursor:pointer;text-decoration:none}.secondary{background:#202631}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #292f3b}th{color:#929aaa;font-size:10px}.table-wrap{overflow:auto}.party-link{color:white}.amount{font-weight:bold}.inline-form{display:flex;gap:4px;min-width:250px}.inline-form input{width:100px}.flash{padding:12px;background:#35141f;border-radius:6px}.muted,.party-title p{color:#9ca3b1}.section-subtitle{margin-top:25px}.empty{text-align:center;padding:30px;color:#9ca3b1}@media(max-width:800px){.sidebar{width:60px;padding:12px 5px}.brand-copy,.sidebar nav a span,.logout span{display:none}.main{margin-left:60px;padding:22px 12px}.stats{grid-template-columns:1fr}.form-grid,.form-grid.compact{grid-template-columns:1fr}.wide{grid-column:auto}}@media(max-width:520px){.party-title{align-items:flex-start;flex-direction:column}}
.menu-toggle,.drawer-close,.menu-backdrop{display:none}
@media(max-width:850px){.main{margin-left:0;padding:22px 18px 48px}.topbar{gap:12px}.page-heading{flex:1}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;flex:none;background:#171b25;border:1px solid #303746;border-radius:9px;color:#fff;padding:10px 12px;font-size:13px;cursor:pointer}.hamburger{font-size:18px;line-height:1}.sidebar{position:fixed;z-index:21;inset:0 auto 0 0;width:min(290px,84vw);height:100dvh;padding:24px 18px;background:#0d0f15;border-right:1px solid #343b49;box-shadow:18px 0 45px #0008;transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.75,.25,1);visibility:hidden}.menu-open .sidebar{transform:translateX(0);visibility:visible}.menu-backdrop{display:block;position:fixed;z-index:20;inset:0;background:#020308b8;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.menu-open .menu-backdrop{opacity:1;visibility:visible}.brand-copy{display:block;left:72px;top:27px}.sidebar nav{margin-top:58px;gap:7px}.sidebar nav a,.logout button{justify-content:flex-start;gap:14px;padding:14px 13px;font-size:15px}.sidebar nav a span,.logout span{display:inline}.drawer-close{display:grid;place-items:center;position:absolute;right:14px;top:28px;width:34px;height:34px;border:1px solid #303746;border-radius:8px;background:#171b25;color:#e6e8ed;font-size:23px;cursor:pointer}.logout{margin-top:auto}.menu-open{overflow:hidden}}
.brand img{display:block;width:42px;height:42px}.brand{background:none;box-shadow:none;padding:0;overflow:visible}.brand:hover img{filter:brightness(1.12);transform:translateY(-1px);transition:transform .18s,filter .18s}.game-card h2{font-size:25px}.game-card .stack label{line-height:1.5}.game-card input[type=number]{font-size:16px}
.install-app{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:9px 12px;border:1px solid #663146;border-radius:8px;background:#21121a;color:#ffdce4;font:600 12px 'DM Sans',sans-serif;cursor:pointer}.install-app:hover{background:#321522;border-color:#a63a59}.ios-install-hint{display:block;max-width:330px;margin-top:9px;color:#a5adbd;font-size:11px;line-height:1.5}.install-app[hidden],.ios-install-hint[hidden]{display:none}@media(max-width:850px){.install-app{margin-top:8px}.ios-install-hint{max-width:250px}}
.sudoku-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;align-items:start}.sudoku-panel,.leaderboard-panel{padding:22px}.sudoku-panel .panel-head{margin-bottom:10px}.sudoku-copy{margin:8px 0 17px;color:var(--muted);line-height:1.5}.sudoku-clock{font:700 20px Manrope,monospace;color:#ffd88b;font-variant-numeric:tabular-nums}.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));width:min(100%,540px);aspect-ratio:1;margin:16px auto 0;border:2px solid #687183;background:#0a0c12}.sudoku-cell{width:100%;height:100%;min-width:0;min-height:0;border:0;border-right:1px solid #323846;border-bottom:1px solid #323846;border-radius:0;padding:0;text-align:center;background:#0d1017;color:#f4f5f8;font:600 clamp(14px,2.8vw,23px) Manrope;font-variant-numeric:tabular-nums}.sudoku-cell:focus{position:relative;z-index:1;background:#29141d;box-shadow:inset 0 0 0 2px #e5093c}.sudoku-cell.given{background:#191d27;color:#ffc4d0;font-weight:800}.sudoku-cell.box-right{border-right:2px solid #687183}.sudoku-cell.box-bottom{border-bottom:2px solid #687183}.sudoku-cell[readonly]{cursor:default}.player-name{display:grid;gap:7px;color:#c8ccd5;font-size:12px;font-weight:600;margin:12px 0}.player-name input{max-width:320px}.sudoku-actions{display:flex;justify-content:center;margin-top:17px}.sudoku-more{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:16px}.sudoku-more form{margin:0}.game-success{padding:10px 12px;margin:12px 0;background:#10251d;border:1px solid #27523d;color:#9ce0b9;border-radius:7px;font-weight:600}.leaderboard-panel h2{margin:7px 0 3px;font:700 19px Manrope}.leaderboard-panel>p{margin:6px 0 14px}.leaderboard-panel table{min-width:0}.leaderboard-panel th,.leaderboard-panel td{padding:12px 7px}.sudoku-time{font-variant-numeric:tabular-nums;color:#ffd88b;font-weight:700}.leaderboard-note{display:block;line-height:1.5;margin-top:14px}.sudoku-back{margin-top:20px}.sudoku-layout .empty{text-align:left;padding:22px 0}@media(max-width:900px){.sudoku-layout{grid-template-columns:1fr}.sudoku-grid{width:min(100%,500px)}.leaderboard-panel{max-width:none}}@media(max-width:580px){.sudoku-panel,.leaderboard-panel{padding:15px 12px}.sudoku-layout{gap:12px}.sudoku-cell{font-size:clamp(13px,5vw,20px)}.sudoku-more{display:grid;grid-template-columns:1fr}.sudoku-more form,.sudoku-more button{width:100%}}

.bill-actions{min-width:150px}.bill-actions form{margin:7px 0}.bill-actions details summary{cursor:pointer;color:var(--accent);font-weight:700}.bill-actions details[open]{min-width:220px}.bill-actions .form-grid{padding:10px 0}

.party-actions,.bill-entry-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bill-entry-form{max-width:820px;margin-top:18px}.add-bill-cta{display:flex;justify-content:flex-end;margin-top:16px}@media(max-width:580px){.bill-entry-form{grid-template-columns:1fr}.party-actions{justify-content:flex-start}}

.panel-actions{display:flex;align-items:center;gap:8px}.panel-actions .button{white-space:nowrap}@media(max-width:580px){.panel-head{align-items:flex-start;flex-direction:column;gap:12px}.panel-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.panel-actions .button{justify-content:center;text-align:center;padding:10px 8px}}

.mobile-records{display:none}@media(max-width:580px){.table-wrap.party-table-wrap,.table-wrap.bill-table-wrap{display:none}.mobile-records{display:grid;gap:10px}.record-card{background:#0e121a;border:1px solid #303746;border-radius:9px;padding:0 12px}.record-card>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:14px 0;cursor:pointer;font-weight:700}.record-card>summary::-webkit-details-marker{display:none}.record-card>summary:after{content:'＋';color:#e95b7b;font-size:18px}.record-card[open]>summary:after{content:'−'}.record-card>summary strong{color:#ffd88b;text-align:right;white-space:nowrap}.record-details{display:grid;gap:13px;padding:0 0 14px}.record-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-facts>div{display:grid;gap:4px;min-width:0}.record-facts small{color:#929aaa;font-size:10px;text-transform:uppercase;letter-spacing:.6px}.record-facts span{overflow-wrap:anywhere}.record-details>.button{justify-self:start}.mobile-payment-form,.mobile-edit-form{display:grid;gap:10px}.mobile-payment-form{padding:12px;background:#141923;border-radius:8px}.mobile-payment-form button,.mobile-edit-form button{justify-self:start}.mobile-edit{border-top:1px solid #303746;border-bottom:1px solid #303746;padding:10px 0}.mobile-edit>summary{cursor:pointer;font-weight:700;color:#f1c2cc}.mobile-edit-form{padding-top:10px}.record-details>form{margin:0}.mobile-records .party-link{color:#f1c2cc}.party-mobile-list .record-details{padding-top:2px}}
/* Black monochrome daily and mini game screens */
body[data-page^="sudoku"],body[data-page^="mini"]{background:#000;color:#f5f5f5}body[data-page^="sudoku"] .panel,body[data-page^="mini"] .panel{background:#050505;border-color:#292929}body[data-page^="sudoku"] .eyebrow,body[data-page^="mini"] .eyebrow{color:#aaa}body[data-page^="sudoku"] .game-nav,body[data-page^="mini"] .game-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}body[data-page^="sudoku"] .game-nav a,body[data-page^="mini"] .game-nav a{display:inline-block;color:#bbb;border:1px solid #333;border-radius:7px;padding:8px 11px;text-decoration:none}body[data-page^="sudoku"] .game-nav a.active,body[data-page^="mini"] .game-nav a:hover{background:#eee;color:#050505;border-color:#eee}body[data-page^="sudoku"] .leaderboard-panel{display:none}body[data-page^="sudoku"] .sudoku-layout{grid-template-columns:1fr;max-width:760px;margin:auto}body[data-page^="sudoku"] .sudoku-panel{background:#050505}body[data-page^="sudoku"] .sudoku-grid{background:#000;border:2px solid #888}body[data-page^="sudoku"] .sudoku-cell{background:#050505;color:#fff;border-color:#333}body[data-page^="sudoku"] .sudoku-cell.given{background:#191919;color:#fff}body[data-page^="sudoku"] .sudoku-cell:focus{background:#222;box-shadow:inset 0 0 0 2px #fff}body[data-page^="sudoku"] .sudoku-clock{color:#fff}body[data-page^="sudoku"] .sudoku-time{color:#fff}body[data-page^="sudoku"] .sudoku-panel .primary,body[data-page^="mini"] .primary{background:#eee;color:#050505}body[data-page^="sudoku"] .button.secondary,body[data-page^="mini"] .button.secondary{background:#191919;color:#fff;border:1px solid #444}
.mini-panel{max-width:650px;margin:0 auto;padding:20px}.mini-top{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px}.mini-top h2{margin:6px 0;font-size:24px}.mini-clock{font:700 20px ui-monospace,monospace;font-variant-numeric:tabular-nums}.mini-reset{background:transparent;color:#ddd;border:1px solid #444;padding:8px 13px}.mini-instructions{color:#aaa;line-height:1.5}.mini-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:min(100%,470px);aspect-ratio:1;margin:16px auto;border:2px solid #aaa;background:#000}.mini-cell{min-width:0;width:100%;height:100%;border:0;border-right:1px solid #444;border-bottom:1px solid #444;border-radius:0;padding:0;text-align:center;background:#050505;color:white;font-size:clamp(20px,6vw,34px);font-weight:600}.mini-cell:focus{outline:2px solid white;outline-offset:-3px;background:#222;z-index:1}.mini-cell.given{background:#171717;color:#eee;font-weight:800}.mini-cell.box-right{border-right:3px solid #aaa}.mini-cell.box-bottom{border-bottom:3px solid #aaa}.mini-cell[readonly]{cursor:default}.mini-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;max-width:470px;margin:18px auto}.mini-key{background:#1b1b1b;color:#fff;border:1px solid #3a3a3a;border-radius:10px;font-size:21px;min-height:54px}.mini-key:active{background:#eee;color:#000}.mini-key.erase{font-size:14px}.mini-check{display:block;width:min(100%,470px);margin:0 auto}.mini-panel .player-name{max-width:470px;margin:12px auto}.mini-panel .player-name input{max-width:none}.mini-panel>.game-nav{display:none}.mini-panel table{min-width:0}.global-game-nav{margin:0 auto 14px;max-width:1000px}.sudoku-back{margin-top:16px}
@media(max-width:580px){.mini-panel{padding:15px 11px}.mini-top{grid-template-columns:1fr auto;gap:10px}.mini-top form{grid-column:2}.mini-clock{grid-column:2;grid-row:1}.mini-numbers{gap:7px}.mini-key{min-height:58px}.global-game-nav{gap:6px!important}.global-game-nav a{font-size:12px;padding:7px!important}}

body[data-page="sudoku-leaderboard"] .leaderboard-panel{display:block;max-width:760px;margin:0 auto}body[data-page="sudoku-leaderboard"] .leaderboard-panel h2{margin:6px 0 18px}
body[data-page^="sudoku"] .game-success,body[data-page^="mini"] .game-success{background:#171717;border-color:#444;color:#f2f2f2}body[data-page^="sudoku"] .player-name input,body[data-page^="mini"] .player-name input{background:#050505;color:#fff;border-color:#444}body[data-page^="sudoku"] .sudoku-more .button.secondary{border:1px solid #444}
