:root{--bg: #121213;--text: #fff;--correct: #538d4e;--present: #b59f3b;--absent: #3a3a3c;--empty: #1a1a1b;--border: #3a3a3c;--key-bg: #818384;font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{overflow-x:hidden;touch-action:pan-y;width:100%}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh;display:flex;justify-content:center;overflow-x:hidden;touch-action:pan-y;-webkit-overflow-scrolling:touch;width:100%}#app{width:100%;max-width:500px;padding:.5rem;overflow-x:hidden;touch-action:pan-y}.wordle-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3.5rem .5rem 1rem;overflow-x:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}h1{font-size:2rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin:0;padding-bottom:.25rem;border-bottom:1px solid var(--border);width:100%;text-align:center}h1 .cast{color:#2abadf}h1 .ordle{color:var(--text)}h1 .iteration{font-size:.6em;font-weight:400;color:#ffffff80;margin-left:.5em;letter-spacing:.05em}.wordle-grid{display:flex;flex-direction:column;gap:5px}.wordle-row{display:flex;gap:5px}.wordle-cell{width:58px;height:58px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;text-transform:uppercase}.wordle-cell.tbd{border-color:#565758}.wordle-cell.correct{background:var(--correct);border-color:var(--correct)}.wordle-cell.present{background:var(--present);border-color:var(--present)}.wordle-cell.absent{background:var(--absent);border-color:var(--absent)}.wordle-cell.falsePositive{background:#2abadf;border-color:#2abadf}.wordle-cell.forced-letter-indicator{border-color:#2abadf;border-width:3px;color:#2abadf;opacity:.6}.wordle-cell.forced-letter-filled{border-color:#2abadf;border-width:2px}.curses-container{display:flex;align-items:center;gap:.75rem;padding:.25rem 0;margin-bottom:.25rem;flex-wrap:wrap}.curses-label{font-size:.85rem;font-weight:600;color:#fff9;flex-shrink:0}.curses-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.curse-badge{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;background:#2abadf26;border:1px solid #29B9DE;border-radius:16px;font-size:.8rem;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.curse-badge:hover,.curse-badge.active{background:#2abadf40;border-color:#2abadf;transform:translateY(-1px)}.curse-badge-icon{font-size:1rem;flex-shrink:0}.curse-badge-name{color:#29b9de;font-weight:600;white-space:nowrap}.curse-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#121213;border:1px solid #29B9DE;border-radius:6px;padding:.6rem .8rem;min-width:200px;max-width:280px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100;box-shadow:0 4px 12px #00000080}.curse-badge:hover .curse-tooltip,.curse-badge.active .curse-tooltip{opacity:1;pointer-events:auto}.curse-tooltip-name{font-size:.85rem;font-weight:700;color:#29b9de;margin-bottom:.3rem}.curse-tooltip-description{font-size:.75rem;color:#fffc;line-height:1.4}.curse-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#29b9de}.message{font-size:1.1rem;font-weight:700;padding:.75rem 1.5rem;border-radius:8px}.message.win{background:var(--correct)}.message.lose{background:var(--absent)}.keyboard{display:flex;flex-direction:column;gap:6px;width:100%;max-width:500px;padding:0 .5rem;box-sizing:border-box}.keyboard-row{display:flex;justify-content:center;gap:clamp(3px,1vw,5px);width:100%}.key{height:58px;flex:1 1 0;max-width:44px;min-width:0;padding:0 2px;border:none;border-radius:4px;background:var(--key-bg);color:var(--text);font-size:clamp(.7rem,2.5vw,.85rem);font-weight:700;cursor:pointer;font-family:inherit;text-transform:uppercase;overflow:hidden}.key:hover{filter:brightness(1.1)}.key.wide{flex:1.5 1 0;max-width:70px;font-size:.75rem}.key.wide[data-key=BACK]{font-size:clamp(1rem,3.5vw,1.25rem);line-height:1}.key.correct{background:var(--correct)}.key.present{background:var(--present)}.key.absent{background:var(--absent)}.key.falsePositive{background:#2abadf}.key.disabled{background:#1a1a1b;color:#3a3a3c;cursor:not-allowed;opacity:.5}.key.disabled:hover{filter:none}.players-section{width:100%;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.players-header{font-size:.75rem;color:#6a6a6a;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;text-align:center}.players-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.player-card{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;font-size:.8rem;min-width:85px;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}.player-card:hover{background:#ffffff14;border-color:#565758;box-shadow:0 2px 8px #0000004d}.player-card.won{border-color:var(--correct);background:#538d4e26}.player-card.lost{border-color:var(--absent)}.player-header{display:flex;align-items:center;gap:.4rem}.avatar-wrapper{position:relative;flex-shrink:0}.player-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.online-indicator{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border-radius:50%;border:2px solid var(--bg);background:#3a3a3c}.player-card.online .online-indicator{background:#43b581}.player-card.offline{opacity:.5}.player-name{max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.player-emoji{font-size:.8rem;margin-left:auto}.mini-grid{display:flex;flex-direction:column;gap:2px}.mini-row{display:flex;gap:2px}.mini-cell{width:12px;height:12px;border-radius:2px;background:var(--border)}.mini-cell.correct{background:var(--correct)}.mini-cell.present{background:var(--present)}.mini-cell.absent{background:#1a1a1b}.mini-cell.falsePositive{background:#2abadf}.new-game-btn{margin-top:.5rem;padding:.75rem 2rem;background:var(--correct);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit}.new-game-btn:hover{filter:brightness(1.1)}.player-card.clickable{cursor:pointer}.player-card.clickable:hover{background:#ffffff14;border-color:#565758;box-shadow:0 2px 8px #0000004d}.player-card.cursed{opacity:.7;cursor:not-allowed}.curse-badge{font-size:.7rem;padding:.15rem .4rem;background:#2abadf4d;border:1px solid #2ABADF;border-radius:4px;margin-left:auto}.cast-badge{font-size:.7rem;padding:.15rem .4rem;background:#538d4e4d;border:1px solid var(--correct);border-radius:4px;margin-left:auto;color:var(--correct)}.player-curses{font-size:.6rem;color:#fff9;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;line-height:1.3;margin-top:auto;display:flex;flex-direction:column;gap:.2rem}.player-curse-item{display:block}.curse-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.curse-modal{background:var(--bg);border:2px solid var(--border);border-radius:12px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 4px 20px #00000080}.curse-modal h3{margin:0 0 1rem;font-size:1.2rem;text-align:center;color:var(--text)}.curse-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.curse-option-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--empty);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-family:inherit;color:var(--text);text-align:left}.curse-option-btn:hover{background:var(--absent);border-color:#2abadf}.curse-emoji{font-size:1.5rem;flex-shrink:0}.curse-option-info{flex:1}.curse-option-name{font-size:.9rem;font-weight:700;color:#2abadf;margin-bottom:.2rem}.curse-option-desc{font-size:.75rem;color:#ffffffb3}.curse-count{font-size:.75rem;font-weight:600;color:#b59f3b;margin-left:.3rem}.no-curses-message{text-align:center;padding:1.5rem 1rem;color:#fff9;font-size:.85rem;font-style:italic}.curse-cancel-btn{width:100%;padding:.75rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:.9rem;cursor:pointer}.curse-cancel-btn:hover{background:var(--absent)}.player-picker-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.player-picker-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.player-picker-btn:hover{background:#ffffff1a;border-color:#2abadf}.player-picker-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.player-picker-name{flex:1;font-size:.9rem;font-weight:600;text-align:left}.player-picker-score{font-size:.85rem;color:#ffffff80;font-weight:500;min-width:2rem;text-align:right}.player-picker-btn.self{border-color:#2abadf;background:#2abadf1a}.player-picker-modal{max-height:80vh}.player-picker-modal .player-picker-list{max-height:60vh}.no-players-message{text-align:center;padding:1.5rem 1rem;color:#fff9;font-size:.85rem;font-style:italic}.stats-action-buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.curse-player-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:8px;color:#fff;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.curse-player-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.new-game-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#538d4e,#3d6b3a);border:none;border-radius:8px;color:#fff;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s}.new-game-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #538d4e66}@media (max-width: 400px){.wordle-container{padding-top:3rem;padding-left:.75rem;padding-right:.75rem}.wordle-cell{width:50px;height:50px;font-size:1.6rem}.keyboard{padding:0 4px;gap:4px}.keyboard-row{gap:3px}.key{height:50px;padding:0 1px}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:24px;padding:20px}.loading-screen h1{font-size:2.5rem;margin:0}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:#2abadf;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#818384;font-size:1rem;margin:0}.auth-required .auth-message{text-align:center;max-width:320px;padding:24px;background:#ffffff0d;border-radius:12px;border:1px solid var(--border)}.auth-required .auth-message p{margin:0 0 12px;font-size:1.1rem}.auth-required .auth-message p:first-child{font-size:1.5rem;font-weight:600;color:#2abadf}.auth-required .auth-subtext{color:#818384;font-size:.9rem!important;line-height:1.4}.auth-required .auth-instruction{margin-top:16px;padding:12px 16px;background:#2abadf26;border:1px solid rgba(42,186,223,.3);border-radius:8px;color:#2abadf;font-size:.95rem!important;font-weight:500}.toast{position:fixed;top:10%;left:50%;transform:translate(-50%);background:#fff;color:#121213;padding:.75rem 1.5rem;border-radius:4px;font-size:.9rem;font-weight:700;z-index:1000;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(-10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}85%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}.wordle-row.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.summary-card-container{position:absolute;left:-9999px;top:-9999px}.summary-card{background:#242429;border-radius:8px;padding:12px 18px;display:inline-block;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.summary-header{color:#fff;font-size:14px;font-weight:600;text-align:center;margin-bottom:12px}.summary-players{display:flex;gap:12px;justify-content:center}.summary-player{display:flex;flex-direction:column;align-items:center;gap:6px}.summary-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.summary-mini-grid{display:flex;flex-direction:column;gap:2px}.summary-mini-row{display:flex;gap:2px}.summary-mini-cell{width:10px;height:10px;border-radius:2px;background:#4a4a4c}.summary-mini-cell.correct{background:#538d4e}.summary-mini-cell.present{background:#b59f3b}.summary-mini-cell.absent{background:#4a4a4c}.summary-mini-cell.falsePositive{background:#2abadf}.summary-mini-cell.empty{background:#4a4a4c;opacity:.5}.summary-curses{font-size:.5rem;color:#fff9;padding-top:0 rem;text-align:center;line-height:1.2;margin-top:.15rem;display:flex;flex-direction:column;gap:.15rem;max-width:100px}.summary-curse-item{display:block}.stats-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.stats-modal{background:#1a1a1b;border-radius:12px;padding:1.5rem 2rem;max-width:400px;width:100%;position:relative;box-shadow:0 8px 32px #00000080}.stats-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;color:#818384;font-size:1.75rem;cursor:pointer;line-height:1;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.stats-close:hover,.stats-close:active{color:#fff}.stats-result{text-align:center;font-size:1.25rem;font-weight:700;margin-bottom:1rem;padding:.5rem 1rem;border-radius:8px}.stats-result.win{color:#538d4e}.stats-result.lose{color:#818384}.stats-result strong{color:#fff;text-transform:uppercase}.stats-title{text-align:center;font-size:.9rem;font-weight:700;letter-spacing:.1em;margin:0 0 1rem;color:#fff}.stats-row{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value{font-size:2rem;font-weight:400;color:#fff}.stat-label{font-size:.7rem;color:#818384;text-align:center;max-width:60px}.distribution-title{text-align:center;font-size:.9rem;font-weight:700;letter-spacing:.1em;margin:0 0 .75rem;color:#fff}.distribution-chart{display:flex;flex-direction:column;gap:.25rem}.distribution-row{display:flex;align-items:center;gap:.5rem}.distribution-label{font-size:.9rem;font-weight:700;width:1rem;text-align:right;color:#fff}.distribution-bar{background:#3a3a3c;padding:.25rem .5rem;display:flex;justify-content:flex-end;align-items:center;min-width:1.5rem;border-radius:4px}.distribution-bar.current{background:#538d4e}.distribution-count{font-size:.8rem;font-weight:700;color:#fff}.server-stats{margin-top:1rem;padding-top:1rem;border-top:1px solid #3a3a3c}.my-average{font-size:.95rem;color:#d1d5db;text-align:center;margin:.75rem 0 .5rem}.my-average strong{color:#a78bfa;font-size:1.1em;font-weight:500}.server-comparison,.server-rank{font-size:.85rem;color:#818384;text-align:center;margin:.5rem 0}.server-comparison.better{color:#538d4e}.server-comparison.worse{color:#b59f3b}.share-spoiler-btn{display:block;width:100%;margin-top:1rem;padding:.75rem 1.5rem;background:#538d4e;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.share-spoiler-btn:hover,.share-spoiler-btn:active{background:#6aaa64}.share-spoiler-btn:disabled{background:#3a3a3c;cursor:not-allowed}.share-spoiler-btn.loading{background:#3a3a3c}.share-spoiler-btn.success{background:#538d4e}.share-spoiler-btn.error{background:#b33a3a}
