.name-entry{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:600px;width:100%}.entry-title{text-align:center;color:#333;font-size:1.8rem;margin:0 0 1.5rem;font-weight:700}.entry-header{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.entry-image{width:100%;max-width:320px;height:auto;border-radius:12px}.entry-content{display:flex;flex-direction:column;align-items:center;width:100%;gap:1rem}.entry-logo{width:200px;height:auto}.instructions{color:#555;line-height:1.6;text-align:center;margin:0}.instructions p{margin:0 0 .5rem}.instructions p:last-child{margin-bottom:0}.instructions-emphasis{font-weight:700;font-size:1.1rem;color:#333;line-height:1.3}.clear-names-section{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.clear-names-btn{background:transparent;border:2px solid #e0e0e0;color:#888;padding:.5rem 1.25rem;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.clear-names-btn:hover:not(:disabled){border-color:#e74c3c;color:#e74c3c}.clear-names-btn:disabled{opacity:.45;cursor:not-allowed}.undo-names-btn:hover:not(:disabled){border-color:#667eea;color:#4c3a86}@media(max-width:420px){.clear-names-section .clear-names-btn{flex:1 1 100%}}.file-upload-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:2rem}.file-upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-block}.file-upload-hint{color:#888;font-size:.85rem}.divider{text-align:center;margin:1.5rem 0;position:relative}.divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e0e0e0}.divider span{background:#fff;padding:0 1rem;position:relative;color:#999;font-weight:600}.name-inputs{max-height:400px;overflow-y:auto;margin-bottom:1.5rem;padding:.5rem}.name-input-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;border-radius:.5rem;transition:opacity .15s,box-shadow .15s}.drag-handle{flex-shrink:0;width:1.5rem;display:flex;align-items:center;justify-content:center;color:#b0b0b0;font-size:1.2rem;line-height:1;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:color .2s;min-height:2rem;border-radius:.375rem}.drag-handle:focus-visible{color:#667eea}.drag-handle:hover{color:#667eea}.name-input-row.is-dragging .drag-handle{cursor:grabbing}.name-input-row.is-dragging{outline:2px solid #667eea;outline-offset:-2px;border-radius:.5rem;background:#fff}.drag-image{display:flex;align-items:center;gap:.5rem;box-sizing:border-box;margin:0;padding:.25rem;background:#fff;border:2px solid #667eea;border-radius:.5rem;box-shadow:0 8px 20px #00000040;pointer-events:none}.rank-badge{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:#f1f2f6;color:#555;border-radius:50%;font-size:.85rem;font-weight:700}.name-input-row input{flex:1;min-width:0;padding:.75rem;border:2px solid #e0e0e0;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.name-input-row input:focus{border-color:#667eea}.remove-btn{background:transparent;border:none;width:2.5rem;font-size:1.2rem;cursor:pointer;transition:all .2s;opacity:.7}.remove-btn:hover{opacity:1;transform:scale(1.1)}.actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.add-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;background:#f1f2f6;color:#333}.add-btn:hover{background:#dfe4ea}@media(max-width:768px){.name-entry{padding:1.5rem}.name-inputs{max-height:300px}.entry-header{text-align:center}.entry-logo{width:150px}.entry-image{max-width:240px}.instructions{text-align:center}.game-mode-buttons{flex-direction:column;gap:1rem}.game-mode-btn{width:100%}}.entry-notice{margin:.75rem auto 0;max-width:44ch;padding:.7rem .9rem;border-radius:.5rem;font-size:.9rem;line-height:1.5;text-align:center}.entry-notice-error{background:#fdeceb;border:1px solid #f5c6c2;color:#a02c22}.entry-notice-info{background:#eef2fb;border:1px solid #c7d3ee;color:#33417a}.namedating-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea1a,#764ba21a)}.bracket{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:1400px;width:100%}.voting-section{background:#f8f9fa;border-radius:1rem;padding:2rem;margin-bottom:2rem}.bracket-header{text-align:center;margin-bottom:2rem}.bracket-header h2{color:#667eea;font-size:2rem;margin-bottom:.5rem}.bracket-header p{color:#888}.matchup{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-bottom:3rem}.name-choice{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.75rem;padding:2rem;font-size:1.5rem;font-weight:600;cursor:pointer;width:100%;max-width:400px;transition:all .3s;box-shadow:0 4px 15px #667eea4d}.name-choice:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 25px #667eea80}.name-choice:active{transform:translateY(-2px)}.vs{color:#999;font-weight:700;font-size:1.2rem;margin:.5rem 0}.bracket-progress{background:#f8f9fa;border-radius:.5rem;padding:1.5rem;margin-top:2rem}.bracket-progress h3{color:#333;margin-bottom:1rem;font-size:1.2rem}.round-summary{margin-bottom:1.5rem}.round-summary:last-child{margin-bottom:0}.round-summary strong{color:#555;display:block;margin-bottom:.5rem}.matches{display:flex;flex-wrap:wrap;gap:.5rem}.match{background:#fff;padding:.5rem .75rem;border-radius:.25rem;font-size:.9rem;border:1px solid #e0e0e0}.match.completed{background:#d4edda;border-color:#c3e6cb;color:#155724}.match.pending{color:#999}.winner-screen{background:#f8f9fa;border-radius:1rem;padding:3rem;text-align:center;margin-bottom:2rem}.winner-screen h2{color:#555;font-size:1.5rem;margin-bottom:1.5rem}.winner-name{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:3rem;font-weight:700;padding:2rem;border-radius:1rem;margin-bottom:2rem;box-shadow:0 8px 25px #667eea66;animation:celebrate .6s ease-out}@keyframes celebrate{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}.skip-btn{background:#ffc107;color:#333;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.skip-btn:hover{background:#ffb300;transform:translateY(-2px)}.winner-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.reset-btn,.reset-btn-small{background:#6c757d;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.reset-btn:hover,.reset-btn-small:hover{background:#5a6268}.reset-btn-small{padding:.75rem 1.5rem;font-size:1rem}@media(max-width:768px){.bracket,.winner-screen{padding:1.5rem}.voting-section{padding:1.25rem}.name-choice{font-size:1.2rem;padding:1.5rem}.winner-name{font-size:2rem;padding:1.5rem}.bracket-header h2{font-size:1.5rem}}@media(min-width:900px){.matchup{flex-direction:row;align-items:stretch;justify-content:center;gap:1.5rem}.name-choice{flex:1 1 0;max-width:420px;min-height:11rem;font-size:1.75rem;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}.vs{align-self:center;margin:0;font-size:1.5rem;flex:0 0 auto}.winner-name{font-size:3.5rem}}.keyboard-hint{margin:0 0 1rem;text-align:center;color:#8b8b9a;font-size:.85rem}.keyboard-hint kbd{display:inline-block;min-width:1.6rem;padding:.1rem .4rem;border:1px solid #dcdce6;border-bottom-width:2px;border-radius:.3rem;background:#fbfbfd;color:#5f5a70;font-family:inherit;font-size:.8rem;font-weight:600;text-align:center}.bracket-visual{background:#f8f9fa;border-radius:1rem;padding:1.5rem;margin-bottom:2rem;overflow-x:auto}.bracket-visual h3{color:#333;margin-bottom:1rem;text-align:center;font-size:1.2rem}.bracket-rounds{display:flex;gap:2rem;justify-content:center;min-width:min-content;padding:1rem 0}.bracket-round{display:flex;flex-direction:column;gap:.75rem;min-width:180px}.round-label{text-align:center;font-weight:600;color:#667eea;font-size:.9rem;margin-bottom:.5rem;white-space:nowrap}.round-matches{display:flex;flex-direction:column;justify-content:space-around;gap:1rem;flex:1}.bracket-match{background:#fff;border:2px solid #e0e0e0;border-radius:.5rem;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;transition:all .3s}.bracket-match.current{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;transform:scale(1.05)}.bracket-match.completed{background:#d4edda;border-color:#c3e6cb}.bracket-match.pending{border-color:#ffc107;background:#fff9e6}.bracket-match.unplayed{background:#f8f9fa;border-style:dashed;opacity:.6}.bracket-name{padding:.4rem .5rem;background:#fff;border-radius:.25rem;font-size:.85rem;color:#333;display:flex;justify-content:space-between;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bracket-match.completed .bracket-name{background:#f8f9fa;opacity:.7}.bracket-match.completed .bracket-name:has(.winner-indicator){background:#fff;opacity:1;font-weight:600;color:#155724}.bracket-match.unplayed .bracket-name{color:#999;font-style:italic}.winner-indicator{color:#28a745;font-weight:700;margin-left:.5rem}.champion-round{min-width:200px}.champion-spot{flex:1;display:flex;align-items:center;justify-content:center}.champion-name{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 1rem;border-radius:.5rem;font-weight:700;font-size:1.1rem;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #667eea4d}.champion-name:empty:before{content:"???";color:#ffffff80}@media(max-width:1200px){.bracket-visual{padding:1rem}.bracket-rounds{gap:1rem}.bracket-round{min-width:140px}.bracket-name{font-size:.75rem;padding:.3rem .4rem}.round-label{font-size:.8rem}}@media(max-width:768px){.bracket-visual h3{font-size:1rem}.bracket-rounds{gap:.75rem}.bracket-round{min-width:120px}.bracket-name{font-size:.7rem}.champion-name{font-size:.9rem;padding:1rem .5rem}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0006}.modal-content h2{margin:0 0 .5rem;color:#333;font-size:1.5rem}.modal-content p{margin:0 0 1.5rem;color:#666;font-size:.95rem}.modal-content input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:.5rem;font-size:1rem;margin-bottom:1.5rem;box-sizing:border-box;transition:border-color .2s}.modal-content input:focus{border-color:#667eea}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:#e0e0e0;color:#333}.cancel-btn:hover{background:#d0d0d0}.save-btn{background:#28a745;color:#fff}@media(max-width:768px){.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.share-buttons{width:100%;margin-top:1.5rem;text-align:left}.share-link-row{display:flex;gap:.5rem;margin-bottom:.9rem}.share-link-input{flex:1;min-width:0;padding:.7rem .85rem;border:2px solid #e6e6ef;border-radius:.5rem;background:#fbfbfd;color:#4c4c59;font:inherit;font-size:.95rem}.share-copy-btn{flex:0 0 auto;min-height:44px;padding:.6rem 1.2rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font:inherit;font-weight:600;cursor:pointer}.share-target-row{display:flex;flex-wrap:wrap;gap:.5rem}.share-target{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.1rem;border:2px solid #e6e6ef;border-radius:.5rem;background:#fff;color:#4c4c59;font:inherit;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:border-color .2s ease,color .2s ease}.share-target:hover,.share-target-native{border-color:#667eea;color:#4c3a86}.share-note{margin:.9rem 0 0;color:#8b8b9a;font-size:.85rem;line-height:1.5}@media(prefers-reduced-motion:reduce){.share-target{transition:none}}@media(max-width:520px){.share-link-row{flex-wrap:wrap}.share-copy-btn{width:100%}}.share-panel{width:100%;max-width:560px;margin:2rem auto 0;padding:1.5rem;border-radius:1rem;background:linear-gradient(135deg,#667eea14,#764ba214);text-align:center}.share-panel h3{margin:0 0 .25rem;color:#2f2a44;font-size:1.15rem}.share-publish-btn{min-height:44px;padding:.75rem 1.75rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s ease}.share-publish-btn:hover:not(:disabled){transform:translateY(-2px)}.share-publish-btn:disabled{opacity:.6;cursor:not-allowed}.share-panel-note{margin:.75rem 0 0;color:#6b6779;font-size:.88rem;line-height:1.5}.share-panel-error{color:#c0392b}@media(prefers-reduced-motion:reduce){.share-publish-btn{transition:none}.share-publish-btn:hover:not(:disabled){transform:none}}.adsense-container{width:100%;margin:1rem 0;min-height:250px;display:flex;align-items:center;justify-content:center}.sidebar .adsense-container{min-height:600px;align-items:flex-start}.ad-inline .adsense-container{min-height:280px;margin:0}.adsense-container .adsbygoogle{width:100%}.adsense-placeholder{width:100%;background:#f8f9fa;border:2px dashed #ddd;border-radius:.5rem;padding:2rem 1rem;text-align:center;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center}.sidebar .adsense-placeholder{min-height:600px}.ad-inline .adsense-placeholder{min-height:280px}.ad-label{font-weight:600;color:#667eea;margin-bottom:.5rem;font-size:1.1rem}.ad-info{color:#666;font-size:.9rem;line-height:1.6;word-break:break-word}.bracket-preview{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:900px;width:100%}.bracket-preview-header{text-align:center;margin-bottom:1.5rem}.bracket-preview-header h2{color:#333;font-size:1.6rem;margin:0 0 .5rem}.bracket-preview-header p{color:#666;line-height:1.5;margin:0 auto;max-width:620px}.bracket-preview-controls{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.preview-mode-btn{padding:.75rem 1.5rem;border:2px solid #e0e0e0;border-radius:.5rem;background:#fff;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.preview-mode-btn:hover{border-color:#667eea;transform:translateY(-2px)}.preview-mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.bracket-preview-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.preview-start-btn{padding:.85rem 2.5rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.preview-start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.preview-back-btn{padding:.85rem 1.75rem;border:none;border-radius:.5rem;background:#f1f2f6;color:#333;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.preview-back-btn:hover{background:#dfe4ea}@media(max-width:768px){.bracket-preview{padding:1.5rem}}.rank-match{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:1400px;width:100%}.rank-header{text-align:center;margin-bottom:2rem}.rank-header h2{color:#667eea;font-size:2rem;margin-bottom:.5rem}.rank-header p{color:#888;margin-bottom:1.5rem}.progress-bar{background:#e0e0e0;border-radius:1rem;height:2rem;position:relative;overflow:hidden;margin-top:1rem}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;transition:width .3s ease;border-radius:1rem}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#333;font-weight:600;font-size:.9rem;z-index:1}.current-rankings{background:#f8f9fa;border-radius:1rem;padding:1.5rem;margin-top:2rem}.current-rankings h3{color:#333;margin-bottom:1rem;font-size:1.2rem}.rankings-list{display:flex;flex-direction:column;gap:.5rem}.ranking-item{background:#fff;padding:.75rem 1rem;border-radius:.5rem;display:flex;align-items:center;gap:1rem;border:1px solid #e0e0e0}.ranking-position{font-weight:700;color:#667eea;min-width:2.5rem}.ranking-name{flex:1;font-weight:600;color:#333}.ranking-stats{color:#666;font-size:.9rem}.rank-complete{text-align:center}.rank-complete h2{color:#667eea;font-size:2rem;margin-bottom:1rem}.rank-complete p{color:#666;font-size:1.1rem;margin-bottom:2rem}.final-rankings{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.rank-item{background:#fff;border:2px solid #e0e0e0;border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;transition:all .3s}.rank-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.rank-item.rank-1{background:linear-gradient(135deg,gold,#ffed4e);border-color:gold}.rank-item.rank-2{background:linear-gradient(135deg,silver,#e8e8e8);border-color:silver}.rank-item.rank-3{background:linear-gradient(135deg,#cd7f32,#e8a87c);border-color:#cd7f32}.rank-position{font-size:2rem;font-weight:700;color:#667eea;min-width:3rem}.rank-item.rank-1 .rank-position,.rank-item.rank-2 .rank-position,.rank-item.rank-3 .rank-position{color:#333}.rank-details{flex:1;text-align:left}.rank-name{font-size:1.5rem;font-weight:700;color:#333;margin-bottom:.25rem}.rank-stats{color:#666;font-size:1rem}.rank-item.rank-1 .rank-stats,.rank-item.rank-2 .rank-stats,.rank-item.rank-3 .rank-stats{color:#555}.rank-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}@media(max-width:768px){.rank-match{padding:1.5rem}.rank-header h2{font-size:1.5rem}.progress-text{font-size:.8rem}.ranking-item{padding:.5rem .75rem;font-size:.9rem}.rank-name{font-size:1.2rem}.rank-position{font-size:1.5rem;min-width:2.5rem}.rank-stats{font-size:.85rem}}@media(min-width:1500px){.rank-match:has(>.current-rankings){display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"header   rankings" "voting   rankings";gap:1.5rem 2rem;align-items:start}.rank-match:has(>.current-rankings)>.rank-header{grid-area:header;margin-bottom:0}.rank-match:has(>.current-rankings)>.voting-section{grid-area:voting;margin-bottom:0}.rank-match:has(>.current-rankings)>.current-rankings{grid-area:rankings;margin-top:0;position:sticky;top:1rem;max-height:calc(100vh - 4rem);overflow-y:auto}}@media(min-width:1100px){.final-rankings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.final-rankings .rank-1,.final-rankings .rank-2,.final-rankings .rank-3{grid-column:1 / -1}}.name-dating{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:560px;width:100%}.name-dating-progress{height:4px;border-radius:999px;background:#ece9f5;overflow:hidden;margin-bottom:1.5rem}.name-dating-progress-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .25s ease}.name-dating-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:220px}.name-dating-card{position:relative;width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;border-radius:1rem;border:2px solid #ece9f5;background:#fff;box-shadow:0 8px 24px #4c3a8626;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;transition:transform .2s ease,border-color .2s ease}.name-dating-card.is-dragging{cursor:grabbing}.name-dating-card.hints-keep{border-color:#2e9e5b}.name-dating-card.hints-love{border-color:#b8860b}.name-dating-card.hints-aside{border-color:#c0392b}.name-dating-name{font-size:clamp(1.8rem,8vw,2.6rem);font-weight:700;color:#2f2a44;text-align:center;overflow-wrap:anywhere}.name-dating-stamp{position:absolute;top:1rem;padding:.3rem .75rem;border-radius:.5rem;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.stamp-keep{right:1rem;color:#2e9e5b;border:2px solid #2e9e5b}.stamp-love{left:50%;transform:translate(-50%);color:#b8860b;border:2px solid #b8860b}.stamp-aside{left:1rem;color:#c0392b;border:2px solid #c0392b}.name-dating-card.is-leaving{position:absolute;inset:0;pointer-events:none;animation:nd-leave .22s ease forwards}.name-dating-card.is-leaving.leaves-keep{--nd-x: 120%;--nd-y: 0;--nd-rot: 18deg}.name-dating-card.is-leaving.leaves-aside{--nd-x: -120%;--nd-y: 0;--nd-rot: -18deg}.name-dating-card.is-leaving.leaves-love{--nd-x: 0;--nd-y: -120%;--nd-rot: 0deg}@keyframes nd-leave{to{transform:translate(var(--nd-x),var(--nd-y)) rotate(var(--nd-rot));opacity:0}}.name-dating-actions{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.5rem}.nd-btn{display:flex;align-items:center;justify-content:center;width:3.75rem;height:3.75rem;border-radius:50%;border:3px solid #ece9f5;background:#fff;cursor:pointer;transition:transform .2s,border-color .2s,color .2s,box-shadow .2s}.nd-icon{width:1.9rem;height:1.9rem;display:block}.nd-btn:hover{transform:translateY(-2px)}.nd-aside{color:#d1483a}.nd-aside:hover{border-color:#d1483a;box-shadow:0 6px 16px #d1483a40}.nd-keep{color:#2e9e5b}.nd-keep:hover{border-color:#2e9e5b;box-shadow:0 6px 16px #2e9e5b40}.nd-love{width:4.5rem;height:4.5rem;border-color:transparent;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.nd-love .nd-icon{width:2.1rem;height:2.1rem}.nd-love:hover{box-shadow:0 8px 20px #667eea73}.name-dating-secondary{display:flex;justify-content:center;gap:1.5rem;margin-top:1.25rem}.name-dating-secondary button{background:none;border:none;padding:.5rem;font:inherit;color:#5f5a70;text-decoration:underline;cursor:pointer}.name-dating-secondary button:hover:not(:disabled){color:#2f2a44}.name-dating-secondary button:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.name-dating-done{max-width:1400px;text-align:center}.name-dating-done h2{margin:0 0 .5rem;color:#333;font-size:1.6rem}.name-dating-lede{margin:0 auto 1.5rem;max-width:44ch;color:#5f5a70;line-height:1.6}.name-dating-shortlist{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.4rem;text-align:left}.name-dating-shortlist li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border:2px solid #ece9f5;border-radius:.6rem;font-weight:600;color:#2f2a44}.name-dating-shortlist li.is-loved{border-color:#f0d79a;background:#fdf8ec}.name-dating-star{color:#b8860b}.name-dating-aside{margin-bottom:1.5rem}.name-dating-aside-toggle{background:none;border:none;padding:.5rem;font:inherit;color:#4c3a86;font-weight:600;text-decoration:underline;cursor:pointer}.name-dating-aside-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.4rem;text-align:left}.name-dating-aside-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;border-radius:.6rem;background:#f7f6fb;color:#5f5a70}.name-dating-aside-list button{background:none;border:none;font:inherit;color:#4c3a86;font-weight:600;cursor:pointer;text-decoration:underline}.name-dating-next{margin-bottom:1.5rem;padding-top:1.5rem;border-top:2px solid #ece9f5}.name-dating-next-label{margin:0 0 1rem;color:#5f5a70;font-size:.95rem}.name-dating-next-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.name-dating-next-actions button{flex:1 1 14rem;padding:.85rem 1.25rem;border:2px solid #ece9f5;border-radius:.6rem;background:#fff;font:inherit;font-weight:600;color:#4c3a86;cursor:pointer;transition:border-color .2s,transform .2s}.name-dating-next-actions button:hover{border-color:#667eea;transform:translateY(-2px)}.name-dating-keep-list{margin-top:1rem;background:none;border:none;padding:.5rem;font:inherit;font-size:.9rem;color:#5f5a70;text-decoration:underline;cursor:pointer}.name-dating-keep-list:hover{color:#c0392b}.name-dating-done-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center}.view-mode-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:2rem;font-size:.9rem;font-weight:600;text-align:center;margin-bottom:1.5rem;display:inline-block}.save-result-btn{background:#28a745;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.save-result-btn:hover{background:#218838;transform:translateY(-2px)}.name-dating-done-btn{padding:.85rem 2rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}@media(max-width:600px){.name-dating{padding:1.5rem}.name-dating-next-actions button{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.name-dating-card,.name-dating-progress-fill,.nd-btn,.name-dating-next-actions button{transition:none}.name-dating-card.is-leaving{animation:none;display:none}.nd-btn:hover,.name-dating-next-actions button:hover{transform:none}}.navbar{background:#fff;box-shadow:0 2px 10px #0000001a;position:static;width:100%}.navbar-content{max-width:1400px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.navbar-logo{display:inline-flex;align-items:center;border-radius:.5rem;text-decoration:none}.navbar-logo-img{height:60px;width:auto;transition:transform .2s ease}.navbar-logo:hover .navbar-logo-img{transform:scale(1.04)}.navbar-nav ul{display:flex;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}.navbar-nav a{position:relative;display:flex;align-items:center;min-height:44px;padding:.5rem .9rem;border-radius:.5rem;color:#555;font-size:1rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s ease,background-color .2s ease}.navbar-nav a:hover{color:#5a3e8e;background:#667eea14}.navbar-nav a[aria-current=page]{color:#4c3a86}.navbar-nav a[aria-current=page]:after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.35rem;height:3px;border-radius:999px;background:linear-gradient(135deg,#667eea,#764ba2)}.navbar-toggle{display:none;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .9rem;border:2px solid #e6e6ef;border-radius:.5rem;background:#fff;color:#444;font:inherit;font-weight:600;cursor:pointer}.navbar-toggle:hover{border-color:#667eea;color:#5a3e8e}.navbar-toggle-bars,.navbar-toggle-bars:before,.navbar-toggle-bars:after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}.navbar-toggle-bars{position:relative}.navbar-toggle-bars:before,.navbar-toggle-bars:after{content:"";position:absolute;left:0}.navbar-toggle-bars:before{top:-6px}.navbar-toggle-bars:after{top:6px}@media(max-width:767px){.navbar-content{padding:.5rem 1rem;flex-wrap:wrap}.navbar-logo-img{height:48px}.navbar-nav ul{flex-wrap:wrap}.navbar-nav.uses-disclosure{display:none;flex-basis:100%}.navbar-nav.uses-disclosure.is-open{display:block;padding-bottom:.5rem}.navbar-nav.uses-disclosure ul{flex-direction:column;align-items:stretch;gap:0}.navbar-nav.uses-disclosure a{border-radius:.5rem}.navbar-nav.uses-disclosure a[aria-current=page]:after{left:0;right:auto;top:.6rem;bottom:.6rem;width:3px;height:auto}.navbar-toggle{display:inline-flex}.navbar-content:not(:has(.navbar-nav.uses-disclosure)) .navbar-toggle{display:none}}@media(prefers-reduced-motion:reduce){.navbar-logo-img,.navbar-nav a{transition:none}.navbar-logo:hover .navbar-logo-img{transform:none}}.footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;padding:2rem 1rem;margin-top:4rem;text-align:center}.footer-content{max-width:1200px;margin:0 auto}.footer p{margin:.5rem 0;color:#6c757d;font-size:.9rem}.footer a{color:#007bff;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-links{margin-top:1rem;font-weight:600}.footer-keywords{font-size:.75rem;color:#999;margin-top:1rem;line-height:1.6}.footer-sep{margin:0 .6rem;color:#adb5bd}.footer-link-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;color:#007bff;cursor:pointer;text-decoration:none}.footer-link-btn:hover{text-decoration:underline}.session-manager{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:700px;width:100%;container-type:inline-size;container-name:session-card}.session-image{display:block;width:100%;max-width:320px;height:auto;margin:0 auto 1.25rem;border-radius:12px}.session-manager h2{text-align:center;color:#333;font-size:2rem;margin:0 0 1rem}.session-description{text-align:center;color:#666;margin-bottom:2rem;line-height:1.6}.session-actions{display:flex;gap:2rem;align-items:center}.session-action-card{flex:1;padding:1.5rem;border:2px solid #e0e0e0;border-radius:.75rem;transition:border-color .2s}.session-action-card:hover{border-color:#667eea}.session-action-card h3{margin:0 0 .5rem;color:#333;font-size:1.2rem}.session-action-card p{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.session-divider{font-weight:600;color:#999;text-align:center}.session-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:.5rem;font-size:1rem;margin-bottom:1rem;transition:border-color .2s}.session-input:focus{border-color:#667eea}.session-btn{width:100%;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.join-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.join-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #f5576c66}.session-btn:disabled{opacity:.5;cursor:not-allowed}.session-error{margin-top:1rem;padding:1rem;background:#fee;border:1px solid #fcc;border-radius:.5rem;color:#c33;text-align:center}@media(max-width:768px){.session-manager{padding:1.5rem}.session-manager h2{font-size:1.5rem}.session-image{max-width:240px}}@container session-card (max-width: 540px){.session-actions{flex-direction:column;gap:1rem}.session-action-card{width:100%}}.recent-sessions{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e0e0e0}.recent-sessions h3{margin:0 0 .35rem;color:#333;font-size:1.1rem}.recent-sessions-note{margin:0 0 1rem;color:#666;font-size:.85rem;line-height:1.5}.recent-sessions ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.recent-sessions li{display:flex;align-items:stretch;gap:.5rem;min-width:0}.recent-session-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem;padding:.7rem .9rem;border:2px solid #ece9f5;border-radius:.5rem;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s}.recent-session-open:hover{border-color:#667eea}.recent-session-name{font-weight:600;color:#4c3a86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-session-date{color:#7c7590;font-size:.8rem}.recent-session-forget{flex:0 0 auto;width:2.25rem;border:2px solid transparent;border-radius:.5rem;background:transparent;color:#9a93b5;font-size:.9rem;cursor:pointer;transition:color .2s,border-color .2s}.recent-session-forget:hover{color:#e74c3c;border-color:#f3d6d2}.session-consensus{background:#fff;border-radius:1rem;padding:2rem;margin-top:1.5rem;box-shadow:0 10px 30px #0000001a}.session-consensus h3{margin:0 0 .35rem;font-size:1.35rem;color:#2f2a44}.session-consensus-who{margin:0 0 1.25rem;color:#5f5a70;font-size:.9rem}.session-consensus-verdict{margin:0 0 .85rem;color:#2f2a44;line-height:1.6}.session-consensus-verdict strong{color:#4c3a86}.session-consensus-list{counter-reset:consensus;list-style:none;margin:1.25rem 0 0;padding:0}.session-consensus-list li{counter-increment:consensus;display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border-radius:.5rem;flex-wrap:wrap}.session-consensus-list li:nth-child(odd){background:#f7f6fb}.session-consensus-list li:before{content:counter(consensus);flex:0 0 1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ece9f5;color:#4c3a86;font-size:.85rem;font-weight:700}.session-consensus-name{flex:1 1 8rem;min-width:0;font-weight:600;color:#2f2a44;overflow-wrap:anywhere}.session-consensus-positions{display:flex;flex-wrap:wrap;gap:.35rem}.session-consensus-chip{padding:.15rem .55rem;border-radius:1rem;background:#ece9f5;color:#4c3a86;font-size:.8rem;font-weight:600;white-space:nowrap}.session-consensus-chip.is-missing{background:transparent;border:1px dashed #c9c3dd;color:#6f6a80;font-weight:400;white-space:normal}.session-consensus-more{margin-top:.85rem;padding:.4rem .9rem;border:1px solid #c9c3dd;border-radius:.5rem;background:transparent;color:#4c3a86;font:inherit;font-weight:600;cursor:pointer}.session-consensus-more:hover{background:#f2f0f9}.session-consensus-note{margin:1.25rem 0 0;color:#5f5a70;font-size:.85rem;line-height:1.6}@media(max-width:600px){.session-consensus{padding:1.5rem}}.session-name-entry{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:700px;width:100%}.session-entry-image{display:block;width:100%;max-width:320px;height:auto;margin:0 auto 1.5rem;border-radius:12px}.session-title-section{margin-bottom:2rem}.session-title-display{display:flex;align-items:center;gap:.5rem}.entry-title{margin:0;color:#333;font-size:1.5rem}.edit-title-btn{padding:.25rem .5rem;background:transparent;border:none;cursor:pointer;transition:all .2s;font-size:1.2rem;line-height:1;opacity:.6}.edit-title-btn:hover{opacity:1;transform:scale(1.1)}.session-title-edit{display:flex;flex-direction:column;gap:.75rem}.session-title-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:.5rem;font-size:1.25rem;color:#333;font-weight:600}.session-title-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.save-title-btn,.cancel-title-btn{padding:.5rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.save-title-btn{background:#28a745;color:#fff}.save-title-btn:hover{background:#218838;transform:translateY(-2px)}.cancel-title-btn{background:#e0e0e0;color:#666}.cancel-title-btn:hover{background:#d0d0d0}.session-info{background:#f8f9fa;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.session-name-section{margin-bottom:2rem}.name-actions-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1.5rem 0}.name-actions-row{display:flex;gap:1rem;width:100%;justify-content:center}.file-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.file-upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-block;border:none}.file-upload-input:focus-visible+.file-upload-btn{outline:3px solid var(--focus-ring-outer);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-ring-inner);transition-property:color,background-color,background,border-color,transform}.file-upload-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.file-upload-hint{font-size:.85rem;color:#666;text-align:center}.session-name-display{display:flex;align-items:center;justify-content:space-between;gap:1rem}.session-name{margin:0;color:#333;font-size:1.5rem;flex:1}.edit-session-name-btn,.add-session-name-btn{padding:.5rem 1rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.edit-session-name-btn{background:#667eea;color:#fff;font-size:.9rem}.edit-session-name-btn:hover{background:#5568d3;transform:translateY(-2px)}.add-session-name-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;width:100%}.add-session-name-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.session-name-edit{display:flex;flex-direction:column;gap:1rem}.session-name-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:.5rem;font-size:1rem;color:#333}.session-name-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.session-name-actions{display:flex;gap:.5rem;justify-content:flex-end}.save-session-name-btn,.cancel-session-name-btn{padding:.5rem 1.5rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.save-session-name-btn{background:#28a745;color:#fff}.save-session-name-btn:hover{background:#218838;transform:translateY(-2px)}.cancel-session-name-btn{background:#e0e0e0;color:#666}.cancel-session-name-btn:hover{background:#d0d0d0}.connection-status{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1rem;font-size:.85rem;font-weight:600;color:#666}.status-indicator{width:10px;height:10px;border-radius:50%;background:#ccc}.status-indicator.connected{background:#28a745;box-shadow:0 0 5px #28a745}.status-indicator.disconnected{background:#dc3545}.session-share{margin-top:2.5rem}.session-share label{display:block;font-size:.9rem;color:#666;margin-bottom:.5rem}.share-link-container{display:flex;gap:.5rem}.share-link{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:.25rem;font-size:.9rem;font-family:monospace}.copy-btn{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-weight:600;transition:background .2s}.copy-btn:hover{background:#5568d3}.session-names-display{background:#f8f9fa;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.session-names-display h3{margin:0 0 1rem;color:#333}.names-list{display:flex;flex-wrap:wrap;gap:.5rem}.name-chip{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:1rem;font-size:.9rem;font-weight:600}.no-names{color:#999;font-style:italic;margin:0}.loading{text-align:center;padding:2rem;color:#666}.save-btn{background:#28a745;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.game-mode-selection{text-align:center;margin-top:2rem}.game-mode-label{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:1rem}.game-mode-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.game-mode-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.5rem;border:2px solid #e0e0e0;border-radius:1rem;background:#fff;cursor:pointer;transition:all .3s;min-width:180px;flex:1;max-width:280px}.game-mode-btn:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 8px 20px #00000026;border-color:#667eea}.game-mode-btn:disabled{opacity:.5;cursor:not-allowed}.bracket-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea1a,#764ba21a)}.rankmatch-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea1a,#764ba21a)}.game-mode-icon{width:60px;height:60px;object-fit:contain}.game-mode-title{font-size:1.1rem;font-weight:700;color:#333}.game-mode-desc{font-size:.9rem;color:#666}.saved-results{margin-top:3rem;padding-top:2rem;border-top:2px solid #e0e0e0}.saved-results h3{color:#333;font-size:1.3rem;margin-bottom:1.5rem}.results-list{display:flex;flex-direction:column;gap:1rem}.result-item{background:#f8f9fa;border-radius:.5rem;padding:1rem;border:1px solid #e0e0e0;transition:all .2s;cursor:pointer}.result-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.result-view-hint{margin-top:.5rem;font-size:.85rem;color:#667eea;font-weight:600;opacity:0;transition:opacity .2s}.result-item:hover .result-view-hint{opacity:1}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.result-name{font-weight:600;font-size:1.1rem;color:#333}.result-type{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.85rem;font-weight:600}.result-date{color:#666;font-size:.85rem;margin-bottom:.5rem}.result-winner,.result-top3{color:#28a745;font-weight:600;font-size:.95rem;margin-top:.5rem}@media(max-width:768px){.session-name-entry{padding:1.5rem}.session-entry-image{max-width:240px}.session-title-section{margin-bottom:1.5rem}.session-title-display{justify-content:center}.entry-title{font-size:1.2rem}.name-actions-row{flex-direction:column;width:100%}.name-actions-row .add-btn,.name-actions-row .file-upload-btn{width:100%}.game-mode-buttons{flex-direction:column;gap:1rem}.game-mode-btn{width:100%}.session-name-section{padding:1rem}.session-name-display{flex-direction:column;align-items:stretch}.session-name{font-size:1.2rem;text-align:center}.edit-session-name-btn{width:100%}.share-link-container{flex-direction:column}.copy-btn{width:100%}}.session-notice{margin:1rem 0 0;padding:.85rem 1rem;border-radius:.5rem;font-size:.95rem;line-height:1.5}.session-notice-error{background:#fdeceb;border:1px solid #f5c6c2;color:#a02c22}.session-notice-success{background:#eaf6ee;border:1px solid #bfe3cb;color:#1d6b38}.session-notice-info{background:#eef2fb;border:1px solid #c7d3ee;color:#33417a}.session-missing{text-align:center}.session-missing h2{margin:0 0 1rem;color:#333;font-size:1.5rem}.session-missing p{margin:0 auto 1.5rem;max-width:44ch;color:#555;line-height:1.6}.session-missing-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem}.session-missing-home{padding:.75rem 1rem;border:none;background:none;font:inherit;color:#4c3a86;font-weight:600;text-decoration:underline;cursor:pointer}.session-missing-home:hover{color:#667eea}.session-menu{position:relative}.session-menu-btn{padding:.25rem .5rem;background:transparent;border:none;cursor:pointer;transition:all .2s;font-size:1.2rem;line-height:1;opacity:.6}.session-menu-btn:hover{opacity:1;transform:rotate(30deg)}.session-menu-popover{position:absolute;top:calc(100% + .5rem);right:0;z-index:20;min-width:12rem;padding:.35rem;background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 10px 30px #0000002e}.session-menu-item{display:block;width:100%;padding:.6rem .75rem;border:none;border-radius:.35rem;background:none;font:inherit;font-weight:600;text-align:left;color:#333;cursor:pointer}.session-menu-item:hover{background:#f3f4f6}.session-menu-item-danger{color:#c0392b}.session-menu-item-danger:hover{background:#fdecea}.session-delete-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000b3}.session-delete-modal{width:100%;max-width:460px;padding:2rem;background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0006;text-align:left}.session-delete-modal h2{margin:0 0 1rem;color:#333;font-size:1.5rem}.session-delete-warning{margin:0 0 .75rem;padding:.75rem 1rem;border-left:4px solid #c0392b;background:#fdecea;color:#7f231a;font-weight:600;line-height:1.5}.session-delete-detail{margin:0 0 1.5rem;color:#555;font-size:.95rem;line-height:1.6}.session-delete-actions{display:flex;gap:1rem;justify-content:flex-end}.session-delete-actions button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.session-delete-cancel{background:#e0e0e0;color:#333}.session-delete-cancel:hover:not(:disabled){background:#d0d0d0}.session-delete-confirm{background:#c0392b;color:#fff}.session-delete-confirm:hover:not(:disabled){background:#a93226;transform:translateY(-2px)}.session-delete-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.session-delete-modal{padding:1.5rem}.session-delete-actions{flex-direction:column}.session-delete-actions button{width:100%}}.session-notice-action{margin-left:.6rem;padding:.15rem .6rem;border:1px solid currentColor;border-radius:.35rem;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.session-notice-action:hover{background:#0000000f}.session-you{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;color:#2f2a44}.session-you strong{color:#4c3a86}.session-you input{flex:0 1 14rem;min-width:0;padding:.35rem .6rem;border:1px solid #c9c3dd;border-radius:.4rem;font:inherit}.session-you-save,.session-you-cancel{padding:.35rem .75rem;border-radius:.4rem;border:1px solid #c9c3dd;background:transparent;color:#4c3a86;font:inherit;font-weight:600;cursor:pointer}.session-you-save{background:#4c3a86;border-color:#4c3a86;color:#fff}.session-you-note{flex:1 0 100%;color:#5f5a70;font-size:.8rem}.landing-content{width:100%;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:1.5rem}.content-card>p,.content-card>ol,.content-card>ul{max-width:68ch}.content-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0003}.content-card h2{color:#333;font-size:1.5rem;margin:0 0 1rem;line-height:1.3}.content-card h3{color:#5a3e8e;font-size:1.1rem;margin:0 0 .5rem}.content-card p{color:#444;line-height:1.7;margin:0 0 1rem}.content-card p:last-child{margin-bottom:0}.how-steps{margin:0;padding-left:1.25rem;color:#444}.how-steps li{line-height:1.7;margin-bottom:1rem}.how-steps li:last-child{margin-bottom:0}.how-steps strong,.tips-list strong{color:#333}.mode-compare{display:flex;gap:1.5rem}.mode-block{flex:1}.mode-block p{margin-bottom:0}.tips-list{margin:0;padding-left:1.25rem;color:#444}.tips-list li{line-height:1.7;margin-bottom:.9rem}.tips-list li:last-child{margin-bottom:0}.faq-item{margin-bottom:1.5rem}.faq-item:last-child{margin-bottom:0}.faq-item h3{color:#333;font-size:1.05rem}.faq-item p{margin-bottom:0}@media(max-width:768px){.landing-content{margin-top:1.5rem}.content-card{padding:1.5rem}.mode-compare{flex-direction:column;gap:1.25rem}}@media(min-width:1000px){.content-card{padding:2.5rem}.content-card:has(.faq-item){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem;align-items:start}.content-card:has(.faq-item)>h2{grid-column:1 / -1}.content-card>.tips-list{max-width:none;columns:2;column-gap:2.5rem}.content-card>.tips-list li{break-inside:avoid}}.landing-index{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.landing-index li{margin:0;max-width:none}.landing-index a{display:block;padding:.9rem 1.1rem;border:2px solid #ece9f5;border-radius:.75rem;text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease}.landing-index a:hover{border-color:#667eea;transform:translateY(-2px)}.landing-index strong{display:block;color:#4c3a86;margin-bottom:.15rem}.landing-index span{color:#5f5a70;font-size:.93rem;line-height:1.5}@media(min-width:1000px){.landing-index{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.landing-index a{transition:none}.landing-index a:hover{transform:none}}.content-card.landing-about>h2{text-align:center}.content-card.landing-about>p{margin-inline:auto}.landing-about-image{display:block;width:100%;max-width:360px;height:auto;margin:0 auto 1.5rem;border-radius:12px}.content-card.landing-about>.landing-section-heading{margin-top:4rem;padding-top:3.25rem;border-top:2px solid #ece9f5}.content-card.landing-about>.landing-index{max-width:880px;margin-inline:auto}@media(max-width:768px){.content-card.landing-about>.landing-section-heading{margin-top:3rem;padding-top:2.5rem}.landing-about-image{max-width:260px}}.privacy-policy{width:100%;display:flex;justify-content:center;padding:2rem 1rem}.privacy-container{background:#fff;border-radius:1rem;padding:3rem;max-width:760px;width:100%;box-shadow:0 20px 60px #0000004d;line-height:1.7;color:#444}.privacy-container h1{font-size:2rem;color:#333;margin-bottom:.5rem;text-align:center}.privacy-updated{text-align:center;color:#888;font-size:.9rem;margin-bottom:2rem}.privacy-container h2{font-size:1.3rem;color:#5a3e8e;margin:2rem 0 .75rem}.privacy-container p,.privacy-container li{margin-bottom:.85rem;color:#444}.privacy-container ul{padding-left:1.5rem}.privacy-container a{color:#667eea;text-decoration:none}.privacy-container a:hover{text-decoration:underline}.privacy-back-link{display:inline-block;margin-top:2rem;font-weight:600}@media(max-width:768px){.privacy-container{padding:2rem 1.5rem}.privacy-container h1{font-size:1.6rem}}.content-page{width:100%;max-width:820px;margin:0 auto;background:#fff;border-radius:1rem;padding:3rem;box-shadow:0 10px 30px #0003;color:#3d3d46;line-height:1.75}.content-page-head{margin-bottom:2rem}.content-page h1{color:#2f2a44;font-size:2.25rem;line-height:1.2;margin:0 0 .75rem}.content-page .standfirst{font-size:1.15rem;color:#5f5a70;margin:0;max-width:62ch}.content-page h2{color:#2f2a44;font-size:1.5rem;line-height:1.3;margin:2.5rem 0 .75rem}.content-page h3{color:#4c3a86;font-size:1.1rem;margin:1.75rem 0 .5rem}.content-page p,.content-page li{max-width:68ch}.content-page p{margin:0 0 1rem}.content-page ul,.content-page ol{margin:0 0 1.25rem;padding-left:1.25rem}.content-page li{margin-bottom:.6rem}.content-page a{color:#5546a8;text-decoration:underline;text-underline-offset:2px}.content-page a:hover{color:#764ba2}.content-page a:focus-visible{outline:3px solid var(--focus-ring-outer);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-ring-inner);border-radius:.2rem}.name-list{margin:0 0 1.5rem;display:grid;gap:.15rem}.name-list div{padding:.65rem .85rem;border-radius:.5rem}.name-list div:nth-child(odd){background:#f7f6fb}.name-list dt{font-weight:700;color:#2f2a44}.name-list dd{margin:0;color:#5f5a70;font-size:.95rem}.content-cta{margin:2.5rem 0 0;padding:1.5rem;border-radius:.75rem;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.content-cta p:last-child{margin-bottom:0}.page-index{list-style:none;padding:0;display:grid;gap:.75rem}.page-index li{margin:0;max-width:none}.page-index a{display:block;padding:1rem 1.25rem;border:2px solid #ece9f5;border-radius:.75rem;text-decoration:none;color:inherit;transition:border-color .2s ease,transform .2s ease}.page-index a:hover{border-color:#667eea;transform:translateY(-2px)}.page-index strong{display:block;color:#4c3a86;font-size:1.05rem;margin-bottom:.2rem}.page-index span{color:#5f5a70;font-size:.95rem}@media(prefers-reduced-motion:reduce){.page-index a{transition:none}.page-index a:hover{transform:none}}@media(max-width:767px){.content-page{padding:1.75rem 1.25rem}.content-page h1{font-size:1.75rem}.content-page h2{font-size:1.3rem}}.name-picker-hint{color:#5f5a70;font-size:.95rem}.name-picker-all{background:none;border:none;padding:0;font:inherit;color:#4c3a86;font-weight:600;text-decoration:underline;cursor:pointer}.name-picker-all:hover{color:#667eea}.name-pick{display:block;width:100%;padding:0;background:none;border:none;font:inherit;font-weight:700;color:#2f2a44;text-align:left;cursor:pointer}.name-pick:before{content:"+";display:inline-block;width:1.1rem;margin-right:.35rem;color:#9a93b5;font-weight:700}.name-pick:hover{color:#4c3a86}.name-pick:hover:before{color:#667eea}.name-pick:focus-visible{outline:3px solid var(--focus-ring-outer);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-ring-inner);border-radius:.25rem}.name-row.is-picked,.name-list .name-row.is-picked{background:linear-gradient(135deg,#667eea24,#764ba224)}.is-picked .name-pick:before{content:"✓";color:#4c3a86}.name-saved{display:block;color:#7c7590}.name-saved small{margin-left:.4rem;font-size:.8rem;font-weight:600;color:#4c3a86;white-space:nowrap}.name-picker-bar{position:sticky;bottom:1rem;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:1rem;padding:.85rem 1.1rem;border-radius:.75rem;background:#fff;border:2px solid #667eea;box-shadow:0 10px 30px #4c3a8640}.name-picker-count{font-weight:700;color:#2f2a44}.name-picker-actions{display:flex;align-items:center;gap:.75rem}.name-picker-clear{background:none;border:none;padding:.5rem;font:inherit;color:#5f5a70;cursor:pointer;text-decoration:underline}.name-picker-clear:hover{color:#2f2a44}.name-picker-add{padding:.7rem 1.25rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.name-picker-add:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea73}@media(max-width:600px){.name-picker-bar{justify-content:center}.name-picker-add{flex:1}}@media(prefers-reduced-motion:reduce){.name-picker-add{transition:none}.name-picker-add:hover{transform:none}}.content-page h2[id],.content-page h3[id]{scroll-margin-top:1.5rem}.share-result{width:100%;max-width:620px;margin:0 auto;padding:2.5rem;background:#fff;border-radius:1rem;box-shadow:0 10px 30px #0003;text-align:center}.share-result-eyebrow{margin:0 0 .5rem;color:#6b6779;font-size:.95rem;font-weight:600}.share-result-name{margin:0 0 .75rem;padding:1.5rem 1rem;border-radius:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:3rem;line-height:1.15;overflow-wrap:anywhere}.share-result-sub,.share-result-status{margin:0;color:#5f5a70;line-height:1.6}.share-result-rankings{margin:1.5rem 0 0;padding:0;list-style:none;counter-reset:rank;text-align:left}.share-result-rankings li{counter-increment:rank;display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;border-radius:.5rem}.share-result-rankings li:nth-child(odd){background:#f7f6fb}.share-result-rankings li:before{content:counter(rank);flex:0 0 1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ece9f5;color:#4c3a86;font-size:.85rem;font-weight:700}.share-result-rank-name{flex:1;font-weight:600;color:#2f2a44}.share-result-rank-score{color:#8b8b9a;font-size:.9rem}.share-result-footer{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #f1f0f7}.share-result-footer p{margin:.75rem 0 0;color:#8b8b9a;font-size:.9rem}.share-result-cta{display:inline-block;min-height:44px;padding:.75rem 1.75rem;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;text-decoration:none}@media(max-width:600px){.share-result{padding:1.75rem 1.25rem}.share-result-name{font-size:2.1rem}}.share-result-name-list{font-size:1.75rem;font-weight:700;padding:1.1rem 1rem}.share-result-shortlist{margin:1.5rem 0 0;padding:0;list-style:none;text-align:left}.share-result-shortlist li{padding:.6rem .85rem;border-radius:.5rem;font-weight:600;color:#2f2a44;overflow-wrap:anywhere}.share-result-shortlist li:nth-child(odd){background:#f7f6fb}:root{--rail-width: 300px;--shell-max: 1880px;--content-max: 1100px;--gutter: 1rem}.app{min-height:100vh;display:flex;flex-direction:column}.app-layout{flex:1;width:100%;max-width:var(--shell-max);margin:0 auto;display:flex;justify-content:center;align-items:flex-start;gap:var(--gutter);padding:0 var(--gutter)}.sidebar{flex:0 0 var(--rail-width);width:var(--rail-width);position:sticky;top:1rem;height:fit-content;max-height:calc(100vh - 2rem);overflow-y:auto;padding:1.5rem 0}.app-content{flex:1 1 auto;min-width:0;max-width:var(--content-max);display:flex;flex-direction:column;align-items:center;padding:2rem .5rem}.landing-columns{width:100%;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:1.5rem}.landing-columns>.name-entry{flex:1 1 420px}.landing-columns>.session-manager{flex:1 1 340px}.landing-or{align-self:center;color:#fff;font-weight:700;letter-spacing:.08em;text-shadow:0 2px 4px rgba(0,0,0,.3);flex:0 0 auto;padding:.5rem 0}.ad-inline{width:100%;max-width:728px;margin:2.5rem auto 0}.ad-inline-top{margin:0 auto 2rem}@media(min-width:768px){.app-layout{--gutter: 1.5rem}}@media(max-width:767px){.app-content{padding:1rem 0}.landing-columns{gap:1rem}}.exit-session-btn{background:#dc3545;color:#fff;padding:.5rem 1rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;margin:0 auto 1rem;display:block;transition:background .2s}.exit-session-btn:hover{background:#c82333}.skip-link{position:absolute;left:.5rem;top:-100%;z-index:100;padding:.75rem 1.25rem;border-radius:0 0 .5rem .5rem;background:#4c3a86;color:#fff;font-weight:600;text-decoration:none}.skip-link:focus{top:0}.skip-link:focus-visible{outline:3px solid white;outline-offset:-6px;box-shadow:none}.landing-hero{width:100%;text-align:center;margin:0 0 1.75rem;color:#fff}.landing-hero h1{margin:0 0 .5rem;font-size:2.5rem;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.3)}.landing-hero p{margin:0 auto;max-width:46ch;font-size:1.05rem;line-height:1.6;color:#ffffffeb;text-shadow:0 1px 3px rgba(0,0,0,.25)}@media(max-width:767px){.landing-hero{margin-bottom:1.25rem}.landing-hero h1{font-size:1.9rem}.landing-hero p{font-size:1rem}}.resume-banner{width:100%;max-width:820px;margin:0 auto 1.5rem;padding:1.25rem 1.5rem;background:#fff;border-radius:1rem;box-shadow:0 10px 30px #0003;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.resume-banner-text{display:flex;flex-direction:column;gap:.15rem}.resume-banner-text strong{color:#2f2a44;font-size:1.05rem}.resume-banner-text span{color:#5f5a70;font-size:.93rem}.resume-banner-actions{display:flex;gap:.75rem;flex-wrap:wrap}.resume-btn,.resume-discard-btn{min-height:44px;padding:.6rem 1.35rem;border-radius:.5rem;font:inherit;font-weight:600;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.resume-btn{border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.resume-btn:hover{transform:translateY(-2px)}.resume-discard-btn{border:2px solid #e6e6ef;background:#fff;color:#666}.resume-discard-btn:hover{border-color:#e74c3c;color:#e74c3c}@media(prefers-reduced-motion:reduce){.resume-btn,.resume-discard-btn{transition:none}.resume-btn:hover{transform:none}}.game-explainer{width:100%;max-width:900px;background:#fff;border-radius:1rem;padding:2rem;margin:1.5rem auto 0;box-shadow:0 10px 30px #0003}.game-explainer-session{max-width:700px}.game-explainer-game{max-width:1400px}.game-explainer h3{margin:0 0 1rem;color:#333;font-size:1.25rem}.game-explainer p{max-width:68ch;margin:0 0 1rem;color:#444;line-height:1.7}.game-explainer p:last-child{margin-bottom:0}.game-explainer strong{color:#333}@media(max-width:768px){.game-explainer{padding:1.5rem}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2)}.error-boundary-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:480px;width:100%;text-align:center}.error-boundary-card h1{margin:0 0 1rem;color:#333;font-size:1.5rem}.error-boundary-card p{margin:0 0 1.5rem;color:#555;line-height:1.6}.error-boundary-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem}.error-boundary-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.error-boundary-link{color:#4c3a86;font-weight:600}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{min-height:100vh}:root{--focus-ring-inner: #ffffff;--focus-ring-outer: #3f3168}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring-outer);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-ring-inner);transition-property:color,background-color,background,border-color,transform}@media(forced-colors:active){a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:3px solid Highlight;box-shadow:none}}
