:root{color:#15231d;background:#edf2ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(145deg,#f8faf8 0%,#e7eee8 100%);margin:0}main{max-width:43rem;min-height:100dvh;margin:0 auto;padding:1.25rem 1rem 7.5rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:1.05rem;font-weight:650}h2{margin:1.4rem 0 .8rem;font-size:1.15rem}h3{font-size:.95rem}form,.actions{gap:.7rem;margin:1rem 0;display:grid}label{gap:.25rem;display:grid}input,select,button{font:inherit}input,select{background:#fff;border:1px solid #c7d1ca;border-radius:.7rem;padding:.7rem .75rem}button{cursor:pointer;color:#13221a;background:#d9e5dc;border:0;border-radius:.7rem;min-height:42px;padding:.65rem .75rem;font-weight:650}button:disabled{cursor:not-allowed;opacity:.48}.link{color:#256340;background:0 0;padding-left:0}.message{color:#a40000}.app-header{padding:.3rem 0 1rem}.wordmark{color:#296447;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem;font-size:.83rem;font-weight:800}.screen-switch{justify-content:center;gap:.45rem;margin:.4rem 0 1.55rem;display:flex}.screen-switch button{color:#64736a;background:0 0;min-width:7.5rem}.screen-switch .selected{color:#fff;background:#193d2a;box-shadow:0 5px 12px #173c2830}.round,article{background:#fff;border:1px solid #d6e0d9;border-radius:.85rem;margin:.65rem 0;padding:.8rem;box-shadow:0 2px 8px #173c280a}.round{padding:.8rem}.round h3{color:#557064;margin:0 0 .65rem}.panel{background:#fff;border:1px solid #d6e0d9;border-radius:.85rem;margin:1rem 0;padding:1rem;box-shadow:0 2px 8px #173c280a}.panel h3{margin-top:0}.muted{color:#59675f}.warning{border-color:#bd911c}.player-section{margin-top:.3rem}.player-tabs{grid-template-columns:repeat(4,1fr);gap:.25rem;display:grid}.bottom-menu{z-index:5;left:50%;bottom:max(.6rem, env(safe-area-inset-bottom));background:#fbfdfb;border:1px solid #cbd8cf;border-radius:1rem;width:min(100% - 1rem,41rem);padding:.38rem;position:fixed;transform:translate(-50%);box-shadow:0 12px 28px #10251a2e}.bottom-menu button{color:#607168;background:0 0;border-radius:.65rem;min-width:0;min-height:48px;padding:.4rem .25rem;font-size:.72rem;font-weight:750}.bottom-menu .selected{color:#17462d;background:#dcebdd}.result-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.result-grid button{width:100%}.td-game-list{gap:.5rem;display:grid}.td-game-row{gap:.7rem;margin:0;padding:.75rem;display:grid}.completed-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.game-heading{align-items:center;gap:.5rem;min-width:0;font-size:.92rem;display:flex}.game-heading span:last-child{overflow-wrap:anywhere;min-width:0}.game-status,.td-result.final{white-space:nowrap;border-radius:999px;padding:.28rem .5rem;font-size:.72rem;font-weight:750}.game-status{color:#a06400;background:#fff0c9}.game-status.completed,.td-result.final{color:#215238;background:#dff0e1}.round-label{color:#617269;white-space:nowrap;font-size:.72rem;font-weight:750}.td-result{grid-template-columns:repeat(3,minmax(0,1fr));gap:.38rem;width:100%;display:grid}.td-result button{background:#e3eee5;min-width:0;min-height:42px;padding:.5rem .25rem;font-size:.78rem}.td-result.final{justify-self:start}.completion-message{color:#20573a;text-align:center;background:#e7f4e9f0;border:1px solid #bcd9c0;border-radius:.9rem;justify-items:center;gap:.45rem;margin:2.6rem 0 1rem;padding:1.4rem 1rem;display:grid}.completion-message strong{font-size:1rem}.completion-message span{font-size:.84rem;line-height:1.35}.bye-row{background:#f6f9f6}.pairing-list{gap:.38rem;display:grid}.pairing-row{grid-template-columns:5.7rem minmax(0,1fr);align-items:center;gap:.45rem;margin:0;padding:.7rem;font-size:.88rem;display:grid}.pairing-row span{color:#617269;font-weight:700}.pairing-row strong{overflow-wrap:anywhere;min-width:0}.pairing-row strong small{color:#557064;white-space:nowrap;font-size:.72rem;font-weight:800}.admin-actions{gap:.65rem;margin:0;display:grid}.admin-actions>button{width:100%}.admin-actions .start-new{color:#fff;background:#193d2a}.admin-actions.tournament-finished>:not(.start-new){opacity:.42}.withdraw-action{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.withdraw-action select{min-width:0}.withdraw-action button{white-space:nowrap}.profile-hero{color:#fff;background:linear-gradient(135deg,#173f2b,#286645);border-radius:18px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:17px;padding:17px;display:grid;box-shadow:0 8px 20px #173c2830}.profile-hero>span{color:#8b6114;background:#fff9eb;border:3px solid #d7ae55;border-radius:50%;place-items:center;width:54px;height:54px;font-weight:850;display:grid}.profile-hero strong,.profile-hero small{display:block}.profile-hero strong{font-size:1.15rem}.profile-hero small{color:#d9eadc;margin-top:3px}.profile-edit{background:#e3eee5;width:100%;margin-bottom:1rem}.profile-edit-form{gap:.75rem;display:grid}.profile-form label{color:#557064;gap:.3rem;font-size:.76rem;font-weight:750;display:grid}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.profile-info{padding:0;overflow:hidden}.profile-info h3,.profile-account>h3{color:#557064;letter-spacing:.07em;text-transform:uppercase;margin:0;padding:1rem 1rem .55rem;font-size:.75rem}.profile-info div{border-top:1px solid #e4ebe5;grid-template-columns:7rem minmax(0,1fr);gap:.5rem;padding:.8rem 1rem;display:grid}.profile-info span{color:#617269;font-size:.8rem}.profile-info strong{overflow-wrap:anywhere;text-align:right;font-size:.9rem}.profile-account{margin-top:1.1rem}.profile-account>h3{padding-left:0}.account-actions label{color:#557064;gap:.35rem;font-size:.76rem;font-weight:750;display:grid}.account-actions .logout{color:#a12626;background:#fff0f0;width:100%}.share-row{align-items:start;gap:.5rem;display:flex}.share-row input{flex:1;min-width:0}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.choice{text-align:center;background:#f6f9f6;border:1px solid #c7d1ca;width:100%;min-height:3.2rem;padding:.65rem;display:block}.choice.selected{color:#fff;background:#193d2a;border-color:#193d2a;box-shadow:0 5px 12px #173c2830}.choice span{font-weight:400}.start-panel.is-disabled{color:#829087;box-shadow:none;background:#f1f4f1;border-color:#dce4de}.start-panel.is-disabled .primary{color:#758078;background:#d7ddd8}.primary{font-weight:700}.final-places{gap:.4rem;margin:0 0 .8rem;display:grid}.final-places span{background:#fff;border:1px solid #d6e0d9;border-radius:.7rem;justify-content:space-between;gap:.7rem;padding:.65rem .8rem;display:flex}.final-places b{color:#20573a}.crosstable-scroll{background:#fff;border:1px solid #d6e0d9;border-radius:.85rem;max-height:52dvh;overflow:auto}table{border-collapse:collapse;width:100%;min-width:max-content}th,td{text-align:center;white-space:nowrap;border:1px solid #d6e0d9;padding:.55rem}th{background:#eef5ef}th[scope=row]{text-align:left}.player-count{color:#617269;white-space:nowrap;font-size:.75rem;font-weight:700}.invite-panel h3{margin-bottom:.75rem}.invite-content{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;display:grid}.invite-content svg{background:#fff;border-radius:.5rem;width:144px;max-width:34vw;height:144px}.invite-content .share-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}@media (max-width:380px){.invite-content{grid-template-columns:1fr;justify-items:center}.invite-content .share-row{width:100%}main{padding:1rem .7rem 7.5rem}.screen-switch button{flex:1;min-width:0}.bottom-menu button{font-size:.65rem}.pairing-row{grid-template-columns:5.2rem minmax(0,1fr)}}@media (orientation:landscape) and (max-height:600px){main{max-width:none;padding:.65rem .8rem 5.5rem}.app-header{padding-bottom:.45rem}.screen-switch{margin:.2rem 0 .65rem}.crosstable-scroll{max-height:calc(100dvh - 8.5rem)}.crosstable-scroll table{table-layout:fixed;width:100%;min-width:0}.crosstable-scroll th,.crosstable-scroll td{white-space:normal;overflow-wrap:anywhere;padding:.25rem .18rem;font-size:.6rem;line-height:1.1}.crosstable-scroll th{font-size:.58rem}.crosstable-scroll th:first-child{width:4.5rem}.crosstable-scroll th:nth-last-child(-n+2),.crosstable-scroll td:nth-last-child(-n+2){width:2.35rem}}.td-game-row.completed-row{flex-flow:row!important;align-items:center!important;gap:.45rem!important;display:flex!important}.td-game-row.completed-row .completed-status{flex:0 0 5.4rem;min-width:0}.td-game-row.completed-row .completed-status .game-status{text-align:center;width:100%;display:block}.td-game-row.completed-row .completed-result{flex:auto;min-width:0;display:block}.td-game-row.completed-row .completed-result .game-score-line{color:#20382b;white-space:nowrap;justify-content:center;align-items:center;gap:.2rem;width:100%;font-size:.66rem;line-height:1;display:flex!important}.td-game-row.completed-row .completed-result .score-side{align-items:center;gap:.16rem;min-width:0;overflow:visible;display:flex!important}.td-game-row.completed-row .completed-result .score-side-white{justify-content:flex-end}.td-game-row.completed-row .completed-result .score-side-black{justify-content:flex-start}.td-game-row.completed-row .completed-result .pairing-player-name{white-space:nowrap;overflow:visible}.td-game-row.completed-row .completed-result .chess-centre{flex:none;gap:.14rem;display:flex!important}.td-game-row.completed-row .completed-result .chess-colour{width:1rem;height:1rem}.td-game-row.completed-row .completed-result .result-mark{font-size:inherit;flex:none;line-height:1.15;display:inline-block;transform:none}.game-score-line .score-side{align-items:baseline!important}.game-score-line .pairing-player-name,.game-score-line .result-mark{font-size:inherit;vertical-align:baseline;line-height:1.15;display:inline-block}.pairing-row.completed-pairing .result-w{color:#2d8050!important}.pairing-row.completed-pairing .result-d{color:#a06b00!important}.pairing-row.completed-pairing .result-l{color:#a13d43!important}.winners-podium{grid-template-columns:minmax(0,1fr) minmax(0,1.22fr) minmax(0,1fr);align-items:end;gap:0;width:100%;max-width:24rem;margin:.25rem auto 1.05rem;padding:.1rem 0 0;display:grid}.winner-card{min-width:0;box-shadow:none;color:#102b4b;text-align:center;border:0;border-radius:0;align-content:end;justify-items:center;padding:0;display:grid;background:0 0!important}.winner-card.bronze{grid-area:1/1}.winner-card.gold{grid-area:1/2}.winner-card.silver{grid-area:1/3}.winner-art{filter:drop-shadow(0 .15rem .3rem #102b4b26);place-items:end center;width:100%;height:4.2rem;display:grid;overflow:hidden}.winner-art img{object-fit:contain;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block}.winner-card.gold{transform:translateY(-.55rem)}.winner-card.gold .winner-art{filter:drop-shadow(0 0 .65rem #ffc01794);height:5.85rem}.winner-card.gold .winner-art img{transform:translateY(.55rem)}.winner-card.silver .winner-art{filter:drop-shadow(0 .15rem .3rem #7e8b9259)}.winner-card.bronze .winner-art{filter:drop-shadow(0 .15rem .3rem #9f521d59)}.winner-card.bronze .winner-art img{transform-origin:bottom;transform:scale(.84)}.winner-place{color:#102b4b;letter-spacing:-.02em;text-align:center;white-space:nowrap;filter:drop-shadow(0 .08rem .08rem #102b4b1f);width:94%;margin:.12rem 0 .36rem;padding:.34rem .08rem .36rem;font-size:.78rem;font-weight:900;line-height:1;display:block;position:relative}.winner-place:before,.winner-place:after{z-index:-1;background:inherit;content:"";width:.82rem;height:.9rem;display:block;position:absolute;top:50%;transform:translateY(-50%)}.winner-place:before{clip-path:polygon(100% 0,100% 100%,0 50%);left:-.38rem}.winner-place:after{clip-path:polygon(0 0,100% 50%,0 100%);right:-.38rem}.winner-card.gold .winner-place{clip-path:polygon(0 13%,7% 0,93% 0,100% 13%,94% 100%,6% 100%,0 87%);background:linear-gradient(100deg,#d89b05,#ffe66c 48%,#d89b05)}.winner-card.silver .winner-place{clip-path:polygon(0 13%,7% 0,93% 0,100% 13%,94% 100%,6% 100%,0 87%);background:linear-gradient(100deg,#9ca8af,#f7f9fa 48%,#9ca8af)}.winner-card.bronze .winner-place{clip-path:polygon(0 13%,7% 0,93% 0,100% 13%,94% 100%,6% 100%,0 87%);background:linear-gradient(100deg,#ad5422,#ffc17b 48%,#ad5422)}.winner-card strong{overflow-wrap:anywhere;width:100%;min-height:1.9em;font-size:.76rem;font-weight:900;line-height:1.12;display:block}.game-score-line{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:baseline;gap:.22rem;width:100%;display:grid!important}.game-score-line .score-side{min-width:0}.game-score-line .score-side-white{text-align:right;justify-content:flex-end}.game-score-line .score-side-black{text-align:left;justify-content:flex-start}.game-score-line .chess-centre{justify-self:center}.td-game-row.completed-row .completed-result .game-score-line{justify-content:normal;display:grid!important}.completed-row,.pairing-row.completed-pairing{grid-template-columns:minmax(0,1fr)}.td-game-row.completed-row{gap:.45rem}.td-game-row.completed-row .game-heading{min-height:1.6rem;padding-left:0;display:flex}.td-game-row.completed-row .game-status{text-align:center;width:auto;position:static}:is(.game-heading .matchup:has(.game-score-line),.game-heading .matchup:has(.bye-score-line)){text-overflow:clip;white-space:normal;flex:1;overflow:visible}:is(.game-heading:has(.game-score-line),.game-heading:has(.bye-score-line)){white-space:normal;overflow:visible}.game-score-line{color:#20382b;white-space:normal;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;width:100%;font-size:.76rem;font-weight:800;display:grid}.game-score-line>.score-side{overflow-wrap:anywhere;text-overflow:clip;align-items:center;gap:.25rem;min-width:0;line-height:1.15;display:flex;overflow:visible}.score-side-white{text-align:right;justify-content:flex-end}.score-side-black{text-align:left;justify-content:flex-start}.game-score-line>.chess-centre{align-items:center;gap:.25rem;display:flex;overflow:visible}.chess-centre b,.bye-score-line>b{color:#91a398;text-align:center;font-size:.9rem}.score-side .pairing-player-name{overflow-wrap:anywhere;min-width:0}.pairing-player-name+small{flex:none}.chess-colour{border-radius:.3rem;flex:none;width:1.35rem;height:1.35rem;font-style:normal;display:block}.chess-colour-white{background:#fff;border:1px solid #aeb8be}.chess-colour-black{background:#252c30;border:1px solid #252c30}.bye-score-line{color:#20382b;justify-content:center;align-items:center;gap:.3rem;width:100%;font-size:.76rem;font-weight:800;display:flex}.account-actions .logout,.account-actions .logout span{color:#17462d}.player-round-label{color:#17462d;text-align:center;margin:.3rem 0 .75rem;font-size:.86rem;font-weight:850}.bottom-menu{background:#fffffff0}@media (max-width:480px){main{padding-left:.85rem;padding-right:.85rem}.app-header{min-height:4.75rem;padding-top:.9rem}.brand-lockup,.brand-logo{width:7.4rem;height:2.7rem}}@media (max-width:380px){.brand-lockup,.brand-logo{width:6.7rem;height:2.45rem}.tournament-title,.home-title{font-size:1.45rem}}main{padding-left:1.5rem;padding-right:1.5rem}.app-header{min-height:6.375rem;padding:1.375rem 0 .5rem}.brand-lockup,.brand-logo{width:11.55rem;height:3.5rem}@media (max-width:380px){main{padding-left:1rem;padding-right:1rem}}.game-status,.td-result.final{font-size:.66rem}.td-result.final{width:6.4rem}.profile-hero strong{color:#fff;font-size:1.25rem}.profile-hero small{color:#e2f1fa;font-weight:650}@media (orientation:landscape) and (max-height:600px){main:has(.crosstable-scroll){padding:0}.tournament-shell:has(.crosstable-scroll) .app-header{display:none}.tournament-shell:has(.crosstable-scroll) .screen-switch{display:none}.tournament-shell:has(.crosstable-scroll) .bottom-menu{display:none}.tournament-shell:has(.crosstable-scroll) .player-section>:not(.crosstable-scroll){display:none}.tournament-shell:has(.crosstable-scroll) .player-section{margin:0}.tournament-shell:has(.crosstable-scroll) .crosstable-scroll{border:0;border-radius:0;max-height:100dvh}}main{background:linear-gradient(#ffffff1a,#ffffff3d)}.app-header{grid-template-columns:1fr auto 1fr;align-items:center;min-height:3.1rem;padding:.25rem 0 1rem;display:grid}.brand-logo{object-fit:cover;object-position:center 51%;justify-self:start;width:7.1rem;height:2.45rem}.app-header h1{color:#102b4b;letter-spacing:-.025em;text-align:center;grid-column:2;margin:0;font-size:clamp(1.2rem,5vw,1.55rem);font-weight:850}.home-header{margin-bottom:.9rem}.home-header h1{font-size:clamp(1.2rem,5vw,1.45rem)}.profile-label{align-items:center;gap:.42rem;display:inline-flex}.profile-info .profile-label i,.account-row i{color:#1d5678;background:#e7f0f7;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.72rem;font-style:normal;display:inline-grid}.account-row>span:first-child{align-items:center;gap:.5rem;display:inline-flex}.account-actions .logout{color:#17462d;background:#fff}.account-actions .logout i{color:#17462d;background:#e7f2e9}@media (max-width:380px){.brand-logo{width:6.25rem;height:2.2rem}.app-header h1{font-size:1.08rem}}.round-current{color:#617269;white-space:nowrap;font-size:.75rem;font-weight:700}.td-result.final{text-align:center;justify-content:center;justify-self:end;width:6.75rem;display:inline-flex}.crosstable-scroll th,.crosstable-scroll td{padding:.35rem .42rem;font-size:.7rem}.crosstable-scroll th{font-size:.67rem}.crosstable-scroll{max-height:50dvh}.account-actions{gap:.55rem;display:grid}.account-row{color:#173c28;background:#fff;border:1px solid #d6e0d9;border-radius:.8rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3.25rem;margin:0;padding:.65rem .8rem;font-size:.9rem;font-weight:700;display:grid}.account-row select{text-align:right;color:#617269;background:0 0;border:0;min-width:8.5rem;padding:.5rem .6rem;font-size:.82rem;font-weight:650}.account-actions .logout{color:#a12626;text-align:left;background:#fff;width:100%}.account-actions .logout span:last-child{font-size:1.35rem;line-height:1}.player-game-card{text-align:center;justify-items:center;gap:.7rem;padding:1rem;display:grid}.game-player{border-radius:.75rem;gap:.15rem;width:100%;padding:.7rem;display:grid}.game-player span{color:#617269;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:750}.game-player strong{font-size:1rem}.white-player{background:#f6f8f6;border:1px solid #dce4de}.black-player{color:#fff;background:#23372a}.game-response{justify-items:center;gap:.55rem;width:min(100%,18rem);display:grid}.game-pending{color:#617269;margin:0;font-size:.8rem;font-weight:700}.vertical-results{grid-template-columns:1fr;width:100%}.vertical-results button{min-height:2.7rem}.vertical-results button:first-child{color:#215238;background:#dff0e1}.vertical-results button:nth-child(2){color:#815900;background:#fff0c9}.vertical-results button:nth-child(3){color:#922f2f;background:#f7e3e3}.notification-menu{position:relative}.notification-current{color:#617269;text-align:center;background:0 0;min-width:8.5rem;min-height:auto;padding:.45rem .6rem;font-size:.82rem;font-weight:650}.notification-current span{margin-left:.3rem}.notification-options{z-index:10;background:#fff;border:1px solid #cbd8cf;border-radius:.7rem;width:10rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;overflow:hidden;box-shadow:0 10px 22px #173c2830}.notification-options button{color:#173c28;text-align:center;background:#fff;border-radius:0;min-height:2.35rem;font-size:.82rem;font-weight:650}.notification-options button+button{border-top:1px solid #e4ebe5}.notification-options button[aria-checked=true]{color:#17462d;background:#e3eee5}.player-game-card{gap:.55rem;width:100%;margin:.65rem 0}.game-player,.vertical-results button{color:#173c28;height:3.8rem;min-height:3.8rem;box-shadow:none;background:#f6f9f6;border:1px solid #d6e0d9}.game-player{align-content:center}.game-response{width:100%}.white-player{color:#1c262b;background:#fff;border-color:#cbd2d6}.white-player span{color:#617269}.black-player{color:#fff;background:#252c30;border-color:#252c30}.black-player span{color:#d7dde0}.vertical-results button:first-child,.vertical-results button:nth-child(2),.vertical-results button:nth-child(3){color:#17462d;background:#cde4d3;border-color:#b7d4bf}.pending-card{color:#617269;background:#fff;border:1px solid #d6e0d9;border-radius:.75rem;place-items:center;width:100%;min-height:2.75rem;margin:.7rem 0 0;display:grid}.vertical-results button.claimed-choice,.vertical-results button.claimed-choice:disabled{opacity:1;color:#fff;background:#1f5b3b;border-color:#1f5b3b}.td-result button.claimed-result{color:#fff;background:#1f5b3b}.vertical-results button:disabled:not(.claimed-choice){opacity:1;color:#98a19b;background:#e6e9e7;border-color:#d7ddd9}.current-player{box-shadow:inset 0 0 0 2px #1f5b3b}.completed-row,.pairing-row.completed-pairing{grid-template-columns:minmax(0,1fr)}.game-score-line{color:#20382b;white-space:nowrap;justify-content:center;align-items:center;gap:.3rem;min-width:0;font-size:.76rem;font-weight:800;display:flex}.game-score-line>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.game-score-line>b{color:#91a398;font-size:.8rem}.result-mark{flex:none;font-size:.7rem;font-style:normal;font-weight:900;display:inline}.result-w{color:#2d8050}.result-d{color:#a06b00}.result-l{color:#a13d43}.waiting-card{color:#395246;text-align:center;background:#f5f8f5;border:1px solid #cbd8cf;border-radius:.85rem;justify-items:center;gap:.3rem;margin:.8rem 0;padding:1.15rem 1rem;display:grid}.waiting-card strong{color:#17462d;font-size:1rem}.waiting-card span{font-size:.84rem}.completed-pairing{box-shadow:none;background:#edf5ef;border-color:#d3e3d6}.completed-pairing span{color:#3a7451}body{background:#dcebf6}main{background-image:linear-gradient(#f6fbfe59,#f6fbfe80),url(/brand/coastal-chess-wave.png);background-position:0 0,top;background-repeat:no-repeat;background-size:auto,30rem;width:min(100%,30rem);min-height:100dvh;margin:0 auto;padding:0 1.5rem 7.5rem;overflow:hidden;box-shadow:0 0 50px #0d26451f}.app-header{align-items:center;min-height:6.375rem;margin:0;padding:1.375rem 0 .5rem;display:flex}.brand-lockup{align-items:center;width:11.55rem;height:3.5rem;display:flex;overflow:hidden}.brand-logo{object-fit:cover;object-position:center 50%;mix-blend-mode:multiply;width:11.55rem;height:3.5rem;display:block}.tournament-header{padding-bottom:.2rem}.tournament-title,.home-title{color:#102b4b;letter-spacing:-.055em;text-align:center;margin:.25rem 0 1rem;font-size:clamp(1.55rem,7vw,2.25rem);font-weight:850;line-height:1.05}.home-title{margin-bottom:1.35rem}.panel,.round,article{background:#ffffffeb;box-shadow:0 8px 20px #0d264514}.bottom-menu{background:#fffffff7;border-radius:2.25rem 2.25rem 0 0;width:min(100% - 1rem,30rem);height:5.125rem;padding:.5rem .45rem .25rem;bottom:0;box-shadow:0 -5px 20px #0d264514}.bottom-menu button{color:#667080;background:0 0;border-radius:.65rem;flex-direction:column;justify-content:center;align-items:center;gap:.18rem;min-height:0;padding:.2rem .1rem .5rem;font-size:.69rem;font-weight:750;display:flex;position:relative}.bottom-menu button svg{width:1.28rem;height:1.28rem}.bottom-menu .selected{color:#102b4b;background:0 0;font-weight:850}.bottom-menu .selected:after{content:"";background:#d18408;border-radius:.4rem;height:.24rem;position:absolute;bottom:0;left:22%;right:22%}.round-heading{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.round-heading h3{margin-bottom:0}.withdrawal-legend{color:#7d3035;white-space:nowrap;font-size:.67rem;font-weight:750}.withdrawal-legend i,.withdrawn-marker{color:#bd2835;font-style:normal}.withdrawn-marker{vertical-align:baseline;margin-left:.12rem;font-size:.72rem}.profile-hero{background:linear-gradient(135deg,#123d2d,#236445)!important}@media (max-width:380px){main{padding-left:1rem;padding-right:1rem}}.tournament-title{letter-spacing:-.045em;white-space:nowrap;font-size:clamp(.92rem,4vw,1.18rem)}.td-game-row{gap:.4rem;padding:.65rem .7rem}.completed-row{grid-template-columns:minmax(0,1fr) 6.4rem;gap:.35rem}.game-heading{white-space:nowrap;gap:.35rem;font-size:.78rem;overflow:hidden}.game-heading .matchup{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-heading .matchup em{color:#537263;font-size:.68rem;font-style:normal;font-weight:850;display:inline-block}.profile-hero{color:#fff!important;background:linear-gradient(135deg,#123d2d,#236445)!important}.profile-hero strong{font-size:1.25rem;color:#fff!important}.profile-hero small{font-weight:650;color:#e2f1fa!important}html{scrollbar-gutter:stable;min-height:100%;overflow-y:scroll}body{background:#dcebf6;min-height:100%}.app-backdrop{pointer-events:none;z-index:0;background-image:linear-gradient(#f6fbfe59,#f6fbfe80),url(/brand/coastal-chess-wave.png);background-position:top,top;background-repeat:no-repeat,no-repeat;background-size:100% 100%,30rem;width:min(100vw,30rem);height:100dvh;position:fixed;top:0;bottom:0;left:max(0px,50vw - 15rem)}main{z-index:1;background:0 0;position:relative}.brand-logo{object-fit:contain;object-position:left center;mix-blend-mode:normal;filter:drop-shadow(0 1px 1px #102b4b1f)}.tournament-title{letter-spacing:-.04em;margin-bottom:.15rem;font-size:clamp(1.15rem,5vw,1.45rem)}.tournament-format{color:#537263;letter-spacing:.02em;text-align:center;margin:0 0 1rem;font-size:.78rem;font-weight:750}.auth-page{place-items:center;min-height:100dvh;padding:1.5rem 0 7rem;display:grid}.auth-card{background:#fffffff0;border:1px solid #fffc;border-radius:1.5rem;width:100%;padding:1.5rem;box-shadow:0 18px 38px #0d26452e}.auth-card .app-header{min-height:4rem;padding:.1rem 0 .85rem}.auth-card .brand-lockup,.auth-card .brand-logo{width:10rem;height:3rem}.auth-eyebrow{color:#c17a09;letter-spacing:.1em;text-transform:uppercase;margin:.2rem 0 .6rem;font-size:.72rem;font-weight:850}.auth-card .home-title{color:#102b4b;letter-spacing:-.045em;text-align:left;margin:0;font-size:clamp(1.55rem,6vw,2rem)}.auth-subtitle{color:#526271;margin:.6rem 0 1.35rem;font-size:.95rem;line-height:1.4}.auth-form{gap:.85rem;display:grid}.auth-form label{color:#394a59;gap:.35rem;font-size:.82rem;font-weight:800;display:grid}.auth-form input{background:0 0;border-color:#c5dccb;min-height:2.8rem}.password-field{position:relative}.password-field input{width:100%;padding-right:3rem}.password-toggle{color:#526271;background:0 0;border:0;border-radius:.55rem;place-items:center;width:2.25rem;min-height:2.25rem;padding:.4rem;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle:hover,.password-toggle[aria-pressed=true]{color:#17462d;background:#dcebdd}.password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:1.2rem;height:1.2rem}.auth-submit{color:#fff;background:#1f5b3b;width:100%;min-height:3rem;margin-top:.25rem;font-size:1rem}.auth-links{color:#526271;text-align:center;justify-items:center;gap:.45rem;margin-top:1rem;font-size:.88rem;display:grid}.auth-links p{margin:0}.auth-links .link{color:#256340;min-height:auto;font-size:inherit;padding:0;font-weight:800;display:inline}@media (max-width:380px){.auth-card{border-radius:1.25rem;padding:1.2rem}.auth-card .home-title{font-size:1.4rem}}body:has(.auth-page) .app-backdrop{background-size:100% 100%,cover;width:100vw;left:0}main:has(.auth-page){width:100%;max-width:none;padding-left:1rem;padding-right:1rem}.auth-page{width:min(100%,30rem);margin:0 auto}.crosstable-scroll{position:relative}.crosstable-scroll th:first-child,.crosstable-scroll th[scope=row]{z-index:2;background:#eef5ef;position:sticky;left:0;box-shadow:2px 0 4px #102b4b1f}.crosstable-scroll thead th:first-child{z-index:3}.profile-info .profile-label{color:#425f52;font-weight:850}.profile-info strong{color:#38463f;font-weight:500}.completed-round{padding:.78rem .8rem}.completed-round summary{color:#244c3b;cursor:pointer;justify-content:space-between;align-items:center;gap:.6rem;font-size:.92rem;font-weight:800;list-style:none;display:flex}.completed-round summary::-webkit-details-marker{display:none}.completed-round summary:before{content:"";border-bottom:2px solid #557064;border-right:2px solid #557064;width:.55rem;height:.55rem;margin-right:.05rem;transition:transform .16s;transform:rotate(-45deg)}.completed-round[open] summary:before{transform:rotate(45deg)}.completed-round summary span{flex:1}.completed-round summary small{color:#557064;font-size:.7rem;font-weight:750}.completed-round .td-game-list,.completed-round .pairing-list{margin-top:.7rem}.invite-content .share-row button.copied{color:#fff;background:#1f5b3b;box-shadow:0 4px 10px #1f5b3b38}.registration-summary{color:#476354;gap:.28rem;margin:.75rem 0;font-size:.84rem;font-weight:750;display:grid}.registration-summary span{border-bottom:1px solid #dce8df;justify-content:space-between;align-items:center;padding:.35rem 0;display:flex}.registration-summary b{color:#17462d;font-size:.95rem}.restart-request{color:#425f52;text-align:center;background:#ffffffed;border:1px solid #d6e0d9;border-radius:.9rem;justify-items:center;gap:.35rem;margin:1rem 0;padding:1.15rem 1rem;display:grid;box-shadow:0 8px 20px #0d264514}.restart-request strong{color:#17462d;font-size:1rem}.restart-request span{font-size:.84rem}.restart-choices{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.45rem;display:flex}.restart-choices button{color:#17462d;background:#e3eee5;min-width:8.75rem}.restart-choices button:disabled{color:#6f7e74;background:#e7ece8}.restart-choices button.restart-choice-selected:disabled{opacity:1;color:#fff;background:#1f5b3b}.restart-choices button.restart-choice-declined:disabled{opacity:1;color:#fff;background:#a9b4ac}.restart-roster{text-align:left;background:#fff;border:1px solid #d6e0d9;border-radius:.7rem;width:100%;margin-top:.45rem;overflow:hidden}.restart-roster-heading,.restart-roster-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.5rem .65rem;display:grid}.restart-roster-heading{color:#557064;letter-spacing:.05em;text-transform:uppercase;background:#eef5ef;font-size:.68rem;font-weight:850}.restart-roster-row{color:#294234;border-top:1px solid #e1e9e3;font-size:.84rem}.restart-roster-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.restart-roster-row b{text-align:center;border-radius:999px;min-width:4.6rem;padding:.22rem .4rem;font-size:.68rem}.restart-roster-row .accepted{color:#215238;background:#dff0e1}.restart-roster-row .declined{color:#58655d;background:#e7ece8}.restart-roster-row .waiting{color:#815900;background:#fff0c9}.confirm-restart{color:#fff;background:#315d48;width:100%;max-width:18rem;margin-top:.45rem}.confirm-restart:disabled{color:#758078;background:#d7ddd8}.join-page{place-items:center;min-height:100dvh;padding:1.5rem 0 7rem;display:grid}.join-card{background:#fffffff0;border:1px solid #ffffffd1;border-radius:1.5rem;width:100%;padding:1.5rem;box-shadow:0 18px 38px #0d26452e}.join-card .app-header{min-height:4rem;padding:.1rem 0 .85rem}.join-card .brand-lockup,.join-card .brand-logo{width:10rem;height:3rem}.join-card .auth-eyebrow{color:#c17a09}.join-card h1{color:#1c262b;letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,6vw,2rem)}.join-copy{color:#1c262b;margin:.7rem 0 1.35rem;font-size:.95rem;line-height:1.45}.join-confirm{color:#fff;background:#1f5b3b;width:100%;min-height:3rem;font-size:1rem}.join-card .message{margin:.8rem 0 0}@media (max-width:380px){.join-card{border-radius:1.25rem;padding:1.2rem}.join-card h1{font-size:1.4rem}}@media (orientation:landscape) and (max-height:600px){main{max-width:none;padding:.65rem .8rem 5.5rem}.app-header{padding-bottom:.45rem}.screen-switch{margin:.2rem 0 .65rem}.crosstable-scroll{max-height:calc(100dvh - 8.5rem)}.crosstable-scroll table{table-layout:fixed;width:100%;min-width:0}.crosstable-scroll th,.crosstable-scroll td{white-space:normal;overflow-wrap:anywhere;padding:.25rem .18rem;font-size:.6rem;line-height:1.1}.crosstable-scroll th{font-size:.58rem}.crosstable-scroll th:first-child{width:4.5rem}.crosstable-scroll th:nth-last-child(-n+2),.crosstable-scroll td:nth-last-child(-n+2){width:2.35rem}}
