:root{font-family: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}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:#1a1a1a;padding:1rem;border-bottom:1px solid #333}.nav{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-brand{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:#888;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#fff}.nav-logout{background:none;border:none;color:#888;cursor:pointer;font-size:inherit;padding:0;transition:color .2s}.nav-logout:hover{color:#fff}.main{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box}.landing{text-align:center;padding-top:4rem}.landing h1{font-size:3rem;margin-bottom:1rem}.landing p{color:#888;font-size:1.2rem;margin-bottom:.5rem}.landing-actions{margin-top:2rem;display:flex;gap:1rem;justify-content:center}.btn{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;text-decoration:none;cursor:pointer;transition:opacity .2s}.btn:hover{opacity:.9}.btn-primary{background:#646cff;color:#fff}.btn-secondary{background:#333;color:#fff}.login-page,.signup-page,.challenges-page,.challenge-detail-page,.scoreboard-page,.post-detail-page,.join-challenge-page,.settings-page{max-width:600px;margin:0 auto}h1{margin-bottom:1rem}.auth-page{display:flex;justify-content:center;padding-top:2rem}.auth-container{width:100%;max-width:400px}.auth-container h1{text-align:center;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;color:#888}.form-group input,.form-group select{padding:.75rem;border:1px solid #333;border-radius:8px;background:#1a1a1a;color:#fff;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#646cff}.form-group input::placeholder{color:#555}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.submit-button{margin-top:1rem;padding:.75rem;background:#646cff;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:opacity .2s}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#f44;color:#fff;padding:.75rem;border-radius:8px;text-align:center}.success-message{background:#4b4;color:#fff;padding:.75rem;border-radius:8px;text-align:center}.form-hint{font-size:.8rem;color:#666;margin-top:.25rem}.readonly-input{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.5rem;color:#888}.auth-switch a{color:#646cff}.loading-container{display:flex;justify-content:center;align-items:center;padding:4rem;color:#888}.challenges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.challenges-header h1{margin:0}.challenges-list{display:flex;flex-direction:column;gap:1rem}.challenge-card{display:block;background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1rem 1.25rem;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}.challenge-card:hover{border-color:#646cff;transform:translateY(-2px)}.challenge-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.challenge-name{margin:0;font-size:1.1rem;font-weight:600}.challenge-card-body{display:flex;justify-content:space-between;align-items:center}.challenge-info{display:flex;gap:1rem;color:#888;font-size:.9rem}.challenge-members,.challenge-day,.challenge-waiting,.challenge-completed-text{display:inline-flex;align-items:center}.challenge-day{color:#646cff;font-weight:500}.challenge-waiting{color:#f0ad4e}.challenge-completed-text{color:#5cb85c}.challenge-creator-badge{background:#333;color:#888;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:capitalize}.status-pending{background:#f0ad4e33;color:#f0ad4e}.status-active{background:#646cff33;color:#646cff}.status-completed{background:#5cb85c33;color:#5cb85c}.empty-state{text-align:center;padding:3rem 1rem;color:#888}.empty-state p{margin:.5rem 0}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal{background:#1a1a1a;border:1px solid #333;border-radius:12px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #333}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#fff}.modal-form{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.modal-actions .btn{padding:.6rem 1.25rem}.modal-body{padding:1.25rem}.modal-body .success-message{margin-bottom:1.5rem;text-align:left}.invite-section{margin-bottom:1.5rem}.invite-section h3{margin:0 0 .5rem;font-size:1rem}.invite-description{color:#888;font-size:.9rem;margin:0 0 .75rem}.invite-link-container{display:flex;gap:.5rem}.invite-link-input{flex:1;padding:.75rem;border:1px solid #333;border-radius:8px;background:#242424;color:#fff;font-size:.85rem;font-family:monospace}.invite-link-input:focus{outline:none;border-color:#646cff}.btn-copy{padding:.75rem 1rem;min-width:80px;background:#333;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-copy:hover{background:#444}.btn-copy.copied{background:#5cb85c}.share-instructions{background:#242424;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.share-instructions h3{margin:0 0 .75rem;font-size:1rem}.share-instructions ol{margin:0;padding-left:1.25rem;color:#ccc}.share-instructions li{margin-bottom:.5rem;font-size:.9rem}.share-instructions li:last-child{margin-bottom:0}.share-note{margin:.75rem 0 0;color:#888;font-size:.8rem;font-style:italic}.join-challenge-page{max-width:500px;margin:0 auto;padding-top:2rem}.join-error-container{text-align:center}.join-error-container h1{margin-bottom:1rem}.join-error-container .error-message{margin-bottom:1.5rem}.join-error-actions{display:flex;gap:1rem;justify-content:center}.join-preview-container{text-align:center}.join-preview-container h1{margin-bottom:1.5rem}.join-challenge-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.join-challenge-name{margin:0 0 1rem;font-size:1.5rem;text-align:center}.join-challenge-details{display:flex;justify-content:center;gap:2rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #333}.join-detail{display:flex;flex-direction:column;align-items:center;gap:.25rem}.join-detail-label{font-size:.8rem;color:#888;text-transform:uppercase}.join-detail-value{font-size:1.1rem;font-weight:600}.join-challenge-description{text-align:center}.join-challenge-description p{margin:0 0 .5rem;color:#ccc}.join-challenge-description p:last-child{margin-bottom:0}.join-rules{font-size:.9rem;color:#888!important}.join-btn{width:100%;padding:1rem;font-size:1.1rem}.join-auth-prompt{background:#242424;border-radius:12px;padding:1.5rem}.join-auth-prompt p{margin:0 0 1rem;color:#888}.join-auth-actions{display:flex;gap:1rem;justify-content:center}.detail-header{margin-bottom:2rem}.back-link{display:inline-block;color:#888;text-decoration:none;font-size:.9rem;margin-bottom:1rem;transition:color .2s}.back-link:hover{color:#fff}.detail-title-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.detail-title-row h1{margin:0;font-size:2rem}.detail-day-display{font-size:1.25rem;color:#646cff;font-weight:600;margin-top:.5rem}.detail-error-container{text-align:center;padding:2rem 0}.detail-error-container h1{margin-bottom:1rem}.detail-error-container .error-message{margin-bottom:1.5rem}.detail-error-actions{display:flex;justify-content:center;gap:1rem}.detail-pending-section{display:flex;flex-direction:column;gap:2rem}.detail-invite-section,.detail-members-section,.detail-start-section,.detail-waiting-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.detail-invite-section h2,.detail-members-section h2,.detail-start-section h2{margin:0 0 .75rem;font-size:1.25rem}.section-description{color:#888;margin:0 0 1rem;font-size:.95rem}.members-list{list-style:none;padding:0;margin:0}.member-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #333}.member-item:last-child{border-bottom:none}.member-username{font-weight:500}.member-creator-badge{background:#646cff33;color:#646cff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase}.member-you-badge{background:#5cb85c33;color:#5cb85c;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase}.btn-start{width:100%;padding:1rem;font-size:1.1rem;margin-top:.5rem}.detail-start-section .error-message{margin-bottom:1rem}.waiting-message{text-align:center;color:#888;font-style:italic;margin:0}.detail-active-section{display:flex;flex-direction:column;gap:2rem}.detail-active-placeholder{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem;text-align:center}.detail-active-placeholder p{color:#888;margin:0 0 1.5rem}.detail-active-info{display:flex;justify-content:center;gap:3rem}.info-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.info-label{font-size:.8rem;color:#888;text-transform:uppercase}.info-value{font-size:1.5rem;font-weight:600;color:#646cff}.detail-scoreboard-link{display:flex;justify-content:center}.detail-completed-section{display:flex;flex-direction:column;gap:2rem}.completed-banner{background:linear-gradient(135deg,#5cb85c33,#646cff33);border:1px solid #5cb85c;border-radius:12px;padding:2rem;text-align:center}.completed-banner h2{margin:0 0 .5rem;color:#5cb85c;font-size:1.5rem}.completed-banner p{margin:0;color:#ccc}.summary-loading{text-align:center;color:#888;padding:1rem}.summary-pot-section{background:linear-gradient(135deg,#646cff26,#5cb85c26);border:1px solid rgba(100,108,255,.3);border-radius:12px;padding:2rem;text-align:center}.pot-amount{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pot-label{font-size:.9rem;color:#888;text-transform:uppercase;letter-spacing:.05em}.pot-value{font-size:3rem;font-weight:700;color:#5cb85c}.pot-description{margin:1rem 0 0;color:#888;font-size:.9rem}.summary-preview-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.summary-preview-section h2{margin:0 0 1rem;font-size:1.1rem;color:#fff}.summary-preview-list{display:flex;flex-direction:column;gap:.75rem}.summary-preview-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff08;border-radius:8px;transition:background .2s}.summary-preview-item.is-current-user{background:#646cff26;border:1px solid rgba(100,108,255,.3)}.preview-rank{width:40px;text-align:center;flex-shrink:0}.rank-medal{font-size:1.25rem}.rank-number{color:#888;font-weight:500}.preview-user{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.preview-username{font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-you-badge{background:#646cff;color:#fff;font-size:.7rem;padding:.15rem .4rem;border-radius:4px;flex-shrink:0}.preview-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.preview-posted{color:#888;font-size:.85rem}.preview-owed{color:#e57373;font-weight:500;font-size:.85rem}.preview-perfect{color:#5cb85c;font-weight:500;font-size:.85rem}.preview-more-text{text-align:center;color:#888;font-size:.85rem;margin:1rem 0 0}.post-composer{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.post-composer.posted{border-color:#5cb85c}.composer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.composer-header h3{margin:0;font-size:1.25rem;color:#646cff}.composer-date{color:#888;font-size:.9rem}.composer-form{display:flex;flex-direction:column;gap:1rem}.composer-form textarea{width:100%;padding:.75rem;border:1px solid #333;border-radius:8px;background:#242424;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;min-height:100px}.composer-form textarea:focus{outline:none;border-color:#646cff}.composer-form textarea::placeholder{color:#666}.composer-form textarea:disabled{opacity:.6;cursor:not-allowed}.char-count{text-align:right;font-size:.8rem;color:#666;margin-top:.25rem}.checkbox-group{margin-top:.5rem}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:#646cff;cursor:pointer}.checkbox-text{color:#ccc;font-size:.95rem;line-height:1.4}.submit-post-btn{width:100%;padding:.875rem;font-size:1rem;margin-top:.5rem}.submit-post-btn:disabled{opacity:.5;cursor:not-allowed}.composer-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #333}.members-posted{color:#888;font-size:.9rem}.posted-success{text-align:center;padding:1rem 0}.posted-icon{width:60px;height:60px;background:#5cb85c33;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#5cb85c;margin:0 auto 1rem}.posted-success h3{margin:0 0 .5rem;font-size:1.25rem;color:#5cb85c}.posted-success p{margin:0 0 1rem;color:#888}.posted-stats{color:#888;font-size:.9rem}.composer-message{text-align:center;color:#888;padding:1rem 0;font-style:italic}.daily-feed{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem}.feed-header h3{margin:0;font-size:1.25rem}.date-picker-container{display:flex;align-items:center;gap:.5rem}.date-nav-btn{background:#333;border:none;color:#888;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.date-nav-btn:hover{background:#444;color:#fff}.date-picker-wrapper{display:flex;flex-direction:column;align-items:center;gap:.25rem}.date-picker-input{padding:.5rem .75rem;border:1px solid #333;border-radius:6px;background:#242424;color:#fff;font-size:.9rem;cursor:pointer}.date-picker-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.date-picker-input:focus{outline:none;border-color:#646cff}.day-label{font-size:.75rem;color:#646cff;font-weight:500}.feed-content{min-height:100px}.feed-loading,.feed-empty{text-align:center;color:#888;padding:2rem 0}.feed-empty p{margin:0}.posts-list{display:flex;flex-direction:column;gap:1rem}.post-card{background:#242424;border:1px solid #333;border-radius:10px;padding:1rem 1.25rem;transition:border-color .2s}.post-card:hover{border-color:#444}.post-card.own-post{border-color:#646cff4d}.post-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.post-username{font-weight:600;color:#fff}.post-timestamp{font-size:.85rem;color:#888}.post-card-body{margin-bottom:.75rem}.post-activity-text{margin:0;color:#ccc;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.post-card-footer{display:flex;gap:1.5rem;padding-top:.75rem;border-top:1px solid #333}.post-action-btn{display:flex;align-items:center;gap:.4rem;background:none;border:none;color:#888;font-size:.9rem;cursor:pointer;padding:.25rem 0;text-decoration:none;transition:color .2s}.post-action-btn:hover{color:#fff}.like-btn.liked{color:#ff6b6b}.like-btn.liked:hover{color:#ff8787}.like-icon{font-size:1rem}.comment-icon{font-size:.9rem}.action-count{font-size:.85rem}.member-status{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.member-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.member-status-header h3{margin:0;font-size:1.1rem}.member-status-count{font-size:.9rem;color:#888}.member-status-progress{height:8px;background:#333;border-radius:4px;overflow:hidden;margin-bottom:1.25rem}.member-status-progress-bar{height:100%;background:#5cb85c;border-radius:4px;transition:width .3s ease}.member-status-list{list-style:none;padding:0;margin:0}.member-status-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid #333}.member-status-item:last-child{border-bottom:none}.member-status-indicator{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.member-status-item.posted .member-status-indicator{background:#5cb85c33}.member-status-item.not-posted .member-status-indicator{background:#8883}.status-icon{font-size:.9rem;font-weight:700}.posted-icon-check{color:#5cb85c}.not-posted-icon{color:#888}.member-status-username{flex:1;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-status-badges{display:flex;gap:.5rem}.member-status-label{font-size:.8rem;padding:.2rem .5rem;border-radius:4px;min-width:55px;text-align:center}.member-status-item.posted .member-status-label{background:#5cb85c26;color:#5cb85c}.member-status-item.not-posted .member-status-label{background:#88888826;color:#888}.member-status-loading{text-align:center;color:#888;padding:1rem 0}@media(prefers-color-scheme:light){.form-group input,.form-group select{background:#f5f5f5;border-color:#ddd;color:#333}.form-group input::placeholder{color:#999}.challenge-card{background:#f9f9f9;border-color:#ddd}.challenge-creator-badge{background:#eee}.modal{background:#fff;border-color:#ddd}.modal-header{border-color:#ddd}.modal-overlay{background:#00000080}.invite-link-input{background:#f5f5f5;border-color:#ddd;color:#333}.share-instructions{background:#f5f5f5}.share-instructions ol{color:#333}.join-challenge-card{background:#f9f9f9;border-color:#ddd}.join-challenge-details{border-color:#ddd}.join-challenge-description p{color:#555}.join-auth-prompt{background:#f5f5f5}.back-link:hover{color:#333}.detail-invite-section,.detail-members-section,.detail-start-section,.detail-waiting-section,.detail-active-placeholder{background:#f9f9f9;border-color:#ddd}.member-item{border-color:#ddd}.completed-banner{background:linear-gradient(135deg,#5cb85c26,#646cff26)}.completed-banner p{color:#555}.summary-pot-section{background:linear-gradient(135deg,#646cff1a,#5cb85c1a);border-color:#646cff33}.pot-label,.pot-description{color:#666}.summary-preview-section{background:#f5f5f5;border-color:#ddd}.summary-preview-section h2{color:#333}.summary-preview-item{background:#00000008}.summary-preview-item.is-current-user{background:#646cff1a;border-color:#646cff33}.preview-username{color:#333}.preview-posted,.preview-more-text{color:#666}.post-composer{background:#f9f9f9;border-color:#ddd}.composer-form textarea{background:#fff;border-color:#ddd;color:#333}.composer-form textarea::placeholder{color:#999}.checkbox-text{color:#555}.composer-footer{border-color:#ddd}.daily-feed{background:#f9f9f9;border-color:#ddd}.date-nav-btn{background:#eee;color:#666}.date-nav-btn:hover{background:#ddd;color:#333}.date-picker-input{background:#fff;border-color:#ddd;color:#333}.date-picker-input::-webkit-calendar-picker-indicator{filter:none}.post-card{background:#fff;border-color:#ddd}.post-card:hover{border-color:#ccc}.post-card.own-post{border-color:#646cff66}.post-username{color:#333}.post-activity-text{color:#555}.post-card-footer{border-color:#eee}.member-status{background:#f9f9f9;border-color:#ddd}.member-status-progress{background:#ddd}.member-status-item{border-color:#ddd}.member-status-username{color:#333}}.post-detail-page{max-width:700px;margin:0 auto}.post-detail-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.post-detail-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.post-detail-date{font-size:1rem;color:#ccc}.post-detail-day{background:#646cff33;color:#646cff;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.post-detail-author{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #333;flex-wrap:wrap}.post-detail-username{font-size:1.1rem;font-weight:600;color:#fff}.post-detail-you-badge{background:#5cb85c33;color:#5cb85c;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase}.post-detail-timestamp{color:#888;font-size:.9rem;margin-left:auto}.post-detail-content{margin-bottom:1.25rem}.post-detail-content p{margin:0;color:#ccc;line-height:1.6;font-size:1.05rem;white-space:pre-wrap;word-wrap:break-word}.post-detail-certified{background:#5cb85c26;color:#5cb85c;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:1.25rem;display:inline-block}.post-detail-actions{padding-top:1rem;border-top:1px solid #333}.post-detail-like-btn{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1px solid #333;border-radius:20px;padding:.5rem 1rem;color:#888;font-size:.95rem;cursor:pointer;transition:all .2s}.post-detail-like-btn:hover,.post-detail-like-btn.liked{border-color:#ff6b6b;color:#ff6b6b}.post-detail-like-btn .like-icon{font-size:1.1rem}.post-detail-like-btn .like-count{font-weight:600}.post-detail-like-btn .like-label{color:inherit}.comments-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.comments-header{margin:0 0 1.25rem;font-size:1.1rem;color:#fff}.comments-empty{text-align:center;color:#888;padding:1.5rem 0}.comments-empty p{margin:0}.comments-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.comment-item{background:#242424;border:1px solid #333;border-radius:10px;padding:1rem}.comment-item.own-comment{border-color:#646cff4d}.comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.comment-username{font-weight:600;color:#fff;font-size:.95rem}.comment-you-badge{background:#5cb85c33;color:#5cb85c;padding:.15rem .4rem;border-radius:4px;font-size:.7rem;text-transform:uppercase}.comment-timestamp{color:#888;font-size:.8rem;margin-left:auto}.comment-body p{margin:0;color:#ccc;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.comment-form{padding-top:1.25rem;border-top:1px solid #333}.comment-form .error-message{margin-bottom:1rem}.comment-input-container textarea{width:100%;padding:.75rem;border:1px solid #333;border-radius:8px;background:#242424;color:#fff;font-size:.95rem;font-family:inherit;resize:vertical;min-height:80px;box-sizing:border-box}.comment-input-container textarea:focus{outline:none;border-color:#646cff}.comment-input-container textarea::placeholder{color:#666}.comment-input-container textarea:disabled{opacity:.6;cursor:not-allowed}.comment-input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.comment-input-footer .char-count{font-size:.8rem;color:#666}.comment-submit-btn{padding:.5rem 1.25rem;font-size:.9rem}.comment-submit-btn:disabled{opacity:.5;cursor:not-allowed}@media(prefers-color-scheme:light){.post-detail-card{background:#f9f9f9;border-color:#ddd}.post-detail-date{color:#555}.post-detail-author{border-color:#ddd}.post-detail-username{color:#333}.post-detail-content p{color:#555}.post-detail-actions,.post-detail-like-btn{border-color:#ddd}.comments-section{background:#f9f9f9;border-color:#ddd}.comments-header{color:#333}.comment-item{background:#fff;border-color:#ddd}.comment-item.own-comment{border-color:#646cff66}.comment-username{color:#333}.comment-body p{color:#555}.comment-form{border-color:#ddd}.comment-input-container textarea{background:#fff;border-color:#ddd;color:#333}.comment-input-container textarea::placeholder{color:#999}}.scoreboard-page{max-width:800px;margin:0 auto}.scoreboard-header{margin-bottom:2rem}.scoreboard-title-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.scoreboard-title-row h1{margin:0;font-size:2rem}.scoreboard-challenge-name{color:#888;margin:.5rem 0 0;font-size:1.1rem}.scoreboard-error-container{text-align:center;padding:2rem 0}.scoreboard-error-container h1{margin-bottom:1rem}.scoreboard-error-container .error-message{margin-bottom:1.5rem}.scoreboard-error-actions{display:flex;justify-content:center;gap:1rem}.scoreboard-summary{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:#1a1a1a;border:1px solid #333;border-radius:12px}.scoreboard-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:0 1rem}.scoreboard-stat .stat-value{font-size:1.75rem;font-weight:700;color:#fff}.scoreboard-stat .stat-label{font-size:.85rem;color:#888;text-transform:uppercase}.scoreboard-stat.total-pot .stat-value{color:#f0ad4e}.scoreboard-table-container{background:#1a1a1a;border:1px solid #333;border-radius:12px;overflow:hidden;margin-bottom:2rem}.scoreboard-table{width:100%;border-collapse:collapse}.scoreboard-table thead{background:#242424}.scoreboard-table th{padding:1rem .75rem;text-align:left;font-size:.8rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #333}.scoreboard-table td{padding:1rem .75rem;border-bottom:1px solid #333;vertical-align:middle}.scoreboard-table tbody tr:last-child td{border-bottom:none}.scoreboard-table tbody tr:hover{background:#646cff0d}.scoreboard-table tbody tr.current-user-row{background:#646cff1a}.scoreboard-table tbody tr.current-user-row:hover{background:#646cff26}.col-rank{width:50px;text-align:center!important}.col-user{min-width:120px}.col-progress{width:180px}.col-posted,.col-missed,.col-owed{width:80px;text-align:center!important}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#333;border-radius:50%;font-size:.9rem;font-weight:600;color:#fff}tr.current-user-row .rank-badge{background:#646cff}.member-name{font-weight:500;color:#fff}.you-badge{display:inline-block;margin-left:.5rem;background:#5cb85c33;color:#5cb85c;padding:.15rem .4rem;border-radius:4px;font-size:.7rem;text-transform:uppercase}.progress-bar-container{position:relative;height:24px;background:#333;border-radius:12px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#5cb85c,#4cae4c);border-radius:12px;transition:width .3s ease;min-width:2px}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.posted-count{color:#5cb85c;font-weight:600}.missed-count{color:#888;font-weight:600}.missed-count.has-missed{color:#f0ad4e}.owed-amount{font-weight:700;color:#888}.owed-amount.has-owed{color:#ff6b6b}.scoreboard-complete-banner{background:linear-gradient(135deg,#5cb85c33,#646cff33);border:1px solid #5cb85c;border-radius:12px;padding:1.5rem;text-align:center}.scoreboard-complete-banner h2{margin:0 0 .5rem;color:#5cb85c;font-size:1.25rem}.scoreboard-complete-banner p{margin:0;color:#ccc}.scoreboard-complete-banner strong{color:#f0ad4e}@media(max-width:600px){.scoreboard-summary{flex-wrap:wrap;gap:1rem}.scoreboard-stat{flex:1 1 30%;min-width:80px}.scoreboard-table th,.scoreboard-table td{padding:.75rem .5rem;font-size:.9rem}.col-progress{display:none}.col-rank{width:40px}.col-posted,.col-missed,.col-owed{width:60px}.rank-badge{width:24px;height:24px;font-size:.8rem}}@media(prefers-color-scheme:light){.scoreboard-summary{background:#f9f9f9;border-color:#ddd}.scoreboard-stat .stat-value{color:#333}.scoreboard-table-container{background:#f9f9f9;border-color:#ddd}.scoreboard-table thead{background:#eee}.scoreboard-table th{border-color:#ddd;color:#666}.scoreboard-table td{border-color:#ddd}.scoreboard-table tbody tr:hover{background:#646cff14}.scoreboard-table tbody tr.current-user-row{background:#646cff1f}.scoreboard-table tbody tr.current-user-row:hover{background:#646cff2e}.rank-badge{background:#ddd;color:#333}tr.current-user-row .rank-badge{background:#646cff;color:#fff}.member-name{color:#333}.progress-bar-container{background:#ddd}.progress-text{text-shadow:none}.scoreboard-complete-banner{background:linear-gradient(135deg,#5cb85c26,#646cff26)}.scoreboard-complete-banner p{color:#555}}.scoreboard-preview{background:#242424;border:1px solid #333;border-radius:12px;padding:1rem;margin-top:1.5rem}.scoreboard-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #333}.scoreboard-preview-header h3{margin:0;font-size:1rem;color:#fff}.scoreboard-preview-pot{display:flex;align-items:center;gap:.5rem}.scoreboard-preview-pot .pot-label{font-size:.85rem;color:#888}.scoreboard-preview-pot .pot-amount{font-size:1rem;font-weight:600;color:#ff6b6b}.scoreboard-preview-list{display:flex;flex-direction:column;gap:.5rem}.scoreboard-preview-item{display:grid;grid-template-columns:48px 1fr 100px 50px;align-items:center;gap:.5rem;padding:.5rem .25rem;border-radius:6px}.scoreboard-preview-item.is-current-user{background:#646cff26}.preview-rank-col{display:flex;justify-content:center}.rank-badge{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:4px}.rank-badge.rank-1{background:linear-gradient(135deg,gold,#fa0);color:#1a1a1a}.rank-badge.rank-2{background:linear-gradient(135deg,silver,#a0a0a0);color:#1a1a1a}.rank-badge.rank-3{background:linear-gradient(135deg,#cd7f32,#a06020);color:#fff}.rank-badge.rank-other{background:#333;color:#888}.preview-user-col{display:flex;align-items:center;gap:.5rem;min-width:0}.preview-username{font-size:.9rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-you-badge{font-size:.65rem;background:#646cff;color:#fff;padding:.1rem .35rem;border-radius:4px;flex-shrink:0}.preview-progress-col{display:flex;align-items:center;gap:.5rem}.mini-progress-bar{flex:1;height:6px;background:#333;border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;background:linear-gradient(90deg,#5cb85c,#4cae4c);border-radius:3px;transition:width .3s ease}.preview-days{font-size:.75rem;color:#888;white-space:nowrap}.preview-owed-col{text-align:right}.preview-owed-amount{font-size:.85rem;font-weight:500;color:#ff6b6b}.preview-perfect{font-size:.85rem;color:#5cb85c}.scoreboard-preview-separator{display:flex;justify-content:center;padding:.25rem 0;color:#555;font-size:.75rem}.scoreboard-preview-link{display:block;text-align:center;margin-top:1rem;padding:.5rem;color:#646cff;text-decoration:none;font-size:.9rem;border-top:1px solid #333}.scoreboard-preview-link:hover{color:#535bf2;text-decoration:underline}.scoreboard-preview-loading{text-align:center;padding:1rem;color:#888;font-size:.9rem}@media(prefers-color-scheme:light){.scoreboard-preview{background:#f8f9fa;border-color:#ddd}.scoreboard-preview-header{border-bottom-color:#ddd}.scoreboard-preview-header h3{color:#333}.scoreboard-preview-item.is-current-user{background:#646cff1a}.rank-badge.rank-other{background:#e9ecef;color:#666}.preview-username{color:#333}.mini-progress-bar{background:#e9ecef}.scoreboard-preview-link{border-top-color:#ddd}.scoreboard-preview-separator{color:#aaa}}
