*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{overflow-y:scroll}:root{--primary: #ffe66d;--primary-hover: #fff09a;--secondary: #ff6b9d;--secondary-hover: #ff8fb3;--tertiary: #4ecdc4;--tertiary-hover: #7eddd6;--background: #1a1a2e;--surface: #252542;--surface-hover: #2f2f4a;--text: #f7f7f7;--text-muted: #a0a0b2;--border: #3d3d5c;--success: #a8e6cf;--warning: #ffd93d;--shadow-primary: 4px 4px 0 var(--primary);--shadow-secondary: 4px 4px 0 var(--secondary);--shadow-dark: 4px 4px 0 rgba(0, 0, 0, .3);--card-selected: var(--primary);--card-voted: var(--success)}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--background);color:var(--text);min-height:100vh;line-height:1.5}h1,h2,h3{font-family:Fredoka,Nunito,sans-serif;font-weight:600}.view{min-height:100vh}.hidden{display:none!important}#landing-view{display:flex;flex-direction:column;align-items:center;min-height:100vh}#landing-view .container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}#landing-view h1{font-size:3.5rem;margin-bottom:.5rem;color:var(--primary);text-shadow:4px 4px 0 var(--secondary);transform:rotate(-2deg)}#landing-view .subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.features{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-bottom:2rem}.feature-pill{font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap;opacity:.8}.landing-footer{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.85rem;font-weight:500}.landing-footer .heart{display:inline-block;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.15)}28%{transform:scale(1)}42%{transform:scale(1.15)}56%{transform:scale(1)}}.fun-facts{width:100%;max-width:640px;margin:0 auto;padding:2.5rem 1.5rem 0;border-top:2px solid var(--border)}.fun-facts-header{text-align:center;margin-bottom:1.75rem;opacity:0;animation:headerFadeIn .4s ease-out forwards;animation-delay:.2s}@keyframes headerFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fun-facts-title{font-family:Fredoka,sans-serif;font-weight:600;font-size:1.6rem;color:var(--tertiary);transform:rotate(-.5deg);margin:0}.fun-facts-subtitle{font-size:.9rem;color:var(--text-muted);font-style:italic;margin:.25rem 0 0}.fun-facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem;perspective:1200px}.fun-fact-card{position:relative;background:var(--surface);border:3px solid var(--border);border-radius:12px;padding:1.25rem 1rem;text-align:center;box-shadow:var(--shadow-dark);transform-style:preserve-3d;transform:rotate(var(--card-rotation, 0deg)) rotateY(180deg);-webkit-font-smoothing:antialiased;outline:1px solid transparent}.fun-facts-grid.revealed .fun-fact-card{animation:factFlipReveal .6s ease-out forwards;animation-delay:calc(var(--fact-index, 0) * .15s + .3s)}@keyframes factFlipReveal{0%{transform:rotate(var(--card-rotation, 0deg)) rotateY(180deg)}to{transform:rotate(var(--card-rotation, 0deg)) rotateY(0)}}.fun-fact-front{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.fun-fact-back{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface);border-radius:9px;display:flex;align-items:center;justify-content:center;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.fun-fact-number{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.9rem;color:var(--primary);line-height:1.1}.fun-fact-label{font-size:.8rem;color:var(--text-muted);margin-top:.3rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.fun-fact-quip{font-size:.75rem;color:var(--secondary);font-style:italic;margin-top:.2rem}.fun-facts-chart{background:var(--surface);border:3px solid var(--border);border-radius:12px;padding:1rem;box-shadow:var(--shadow-dark);transform:rotate(.3deg);overflow:hidden;opacity:0;animation:chartEntrance .4s ease-out forwards;animation-delay:var(--chart-delay, 1.1s)}@keyframes chartEntrance{0%{opacity:0;transform:translateY(10px) rotate(.3deg)}to{opacity:1;transform:translateY(0) rotate(.3deg)}}.chart-header{text-align:center;margin-bottom:.75rem}.chart-title{font-family:Fredoka,sans-serif;font-weight:600;font-size:.9rem;color:var(--text);margin-bottom:.15rem}.chart-total{color:var(--primary);margin-left:.25rem}.chart-subtitle{font-size:.7rem;color:var(--text-muted);margin-bottom:.3rem}.chart-quip{font-size:.75rem;color:var(--secondary);font-style:italic;margin-top:.2rem}.daily-bars{display:flex;align-items:flex-end;gap:2px;height:60px}.daily-bar{flex:1;min-width:0;background:var(--tertiary);border-radius:2px 2px 0 0;height:0;animation:dailyBarGrow .4s ease-out forwards;animation-delay:calc(var(--bar-index, 0) * 20ms + var(--chart-delay, 1.1s) + .2s);transition:background .2s;position:relative;cursor:pointer}.daily-bar:hover{background:var(--primary)}.daily-bar:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--background);color:var(--text);font-size:.7rem;font-family:Nunito,sans-serif;font-weight:600;padding:.3rem .5rem;border-radius:6px;border:2px solid var(--border);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10}.daily-bar:nth-child(-n+5):after{left:0;transform:none}.daily-bar:nth-last-child(-n+5):after{left:auto;right:0;transform:none}.daily-bar:hover:after{opacity:1}.daily-bar.today{background:var(--primary)}@keyframes dailyBarGrow{0%{height:0}to{height:var(--bar-height, 4px)}}@media(max-width:500px){.fun-facts-grid{grid-template-columns:1fr 1fr;gap:.5rem}.fun-fact-number{font-size:1.3rem}.fun-facts-title{font-size:1.1rem}.daily-bars{height:40px}}.actions{display:flex;flex-direction:column;gap:1rem;max-width:300px;margin:0 auto}.divider{color:var(--text-muted);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:2px}.join-form{display:flex;gap:.5rem}.join-form input{flex:1}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-family:Fredoka,Nunito,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .15s;text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:var(--primary);color:var(--background);box-shadow:var(--shadow-dark)}.btn-primary:hover{background:var(--primary-hover);transform:translate(-2px,-2px);box-shadow:6px 6px #0000004d}.btn-primary:active{transform:translate(2px,2px);box-shadow:2px 2px #0000004d}.btn-secondary{background:var(--surface);color:var(--text);border:2px solid var(--border);box-shadow:var(--shadow-dark)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--tertiary);transform:translate(-2px,-2px);box-shadow:6px 6px #0000004d}.btn-secondary:active{transform:translate(2px,2px);box-shadow:2px 2px #0000004d}.btn-small{padding:.5rem 1rem;font-size:.75rem}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:var(--shadow-dark)!important}input[type=text]{padding:.75rem 1rem;border:2px solid var(--border);border-radius:8px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:500;outline:none;background:var(--surface);color:var(--text);transition:border-color .2s,box-shadow .2s}input[type=text]:focus{border-color:var(--tertiary);box-shadow:0 0 0 3px #4ecdc433}input[type=text]::placeholder{color:var(--text-muted)}#room-view{display:flex;flex-direction:column;padding:1rem}.room-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.room-header h2{font-size:1.5rem;color:var(--primary);text-shadow:2px 2px 0 var(--secondary);transform:rotate(-1deg)}.room-logo{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.5rem;color:var(--primary);text-shadow:2px 2px 0 var(--secondary);background:none;border:none;padding:0;cursor:pointer;transition:transform .2s,text-shadow .2s}.room-logo:hover{transform:rotate(-1deg) scale(1.05);text-shadow:3px 3px 0 var(--secondary)}.room-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 0;flex:1;overflow:visible}@media(min-width:768px){.room-content{flex-direction:row}}.participants-panel{background:var(--surface);border-radius:12px;padding:1.25rem;border:2px solid var(--border);box-shadow:var(--shadow-dark);width:100%;overflow:visible;position:relative;z-index:10}@media(min-width:768px){.participants-panel{width:280px;flex-shrink:0}}.participants-panel h3{font-size:1rem;margin-bottom:1rem;color:var(--tertiary);text-transform:uppercase;letter-spacing:1px;text-align:center}.result-message{text-align:center;padding:.75rem .5rem;margin-top:1rem;border-radius:8px;font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;animation:resultPop .4s ease-out;word-wrap:break-word}@keyframes resultPop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.result-message.consensus{background:#a8e6cf33;color:var(--success);border:2px solid var(--success)}.result-message.chaos{background:#ff6b9d33;color:var(--secondary);border:2px solid var(--secondary)}.result-message.discuss{background:#ffe66d33;color:var(--primary);border:2px solid var(--primary)}.result-message.coffee{background:#4ecdc433;color:var(--tertiary);border:2px solid var(--tertiary)}.result-message.shrug{background:#a0a0b233;color:var(--text-muted);border:2px solid var(--text-muted)}.result-message.hidden{display:none}.reveal-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--surface);border-radius:16px;border:3px solid var(--border);box-shadow:var(--shadow-dark);min-height:250px;animation:revealSummaryIn .4s ease-out}.cards-grid.reveal-flipping .card{animation:revealFlipDown .25s ease-in forwards;animation-delay:calc(var(--card-index, 0) * 20ms)}@keyframes revealFlipDown{0%{transform:rotate(var(--rotation, 0deg)) rotateY(0)}to{transform:rotate(var(--rotation, 0deg)) rotateY(180deg);opacity:0}}.cards-grid{transition:opacity .35s ease-out}.cards-grid.invisible{opacity:0;pointer-events:none}@keyframes revealSummaryIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.reveal-summary.hidden{display:none}.reveal-summary.fading-out{animation:revealSummaryOut .4s ease-in forwards}@keyframes revealSummaryOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.reveal-summary.consensus{border-color:var(--success)}.reveal-summary.chaos{border-color:var(--secondary)}.reveal-summary.discuss{border-color:var(--primary)}.reveal-summary.coffee{border-color:var(--tertiary)}.reveal-summary.shrug{border-color:var(--text-muted)}.reveal-summary.mostly-aligned{border-color:var(--success)}.reveal-summary.solo{border-color:var(--text-muted)}#reveal-summary-content{width:100%;max-width:400px}.reveal-message{font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:600;text-align:center;color:var(--text);margin-bottom:1.25rem;animation:messagePopIn .4s ease-out}@keyframes messagePopIn{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.unanimous-celebration{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:unanimousCelebrate .6s ease-out}@keyframes unanimousCelebrate{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.unanimous-vote{font-family:Fredoka,sans-serif;font-size:5rem;font-weight:700;color:var(--text);text-shadow:4px 4px 0 rgba(0,0,0,.3);animation:unanimousPulseGlow 2s ease-in-out infinite;animation-delay:.6s}@keyframes unanimousPulseGlow{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(168,230,207,.5))}50%{transform:scale(1.05);filter:drop-shadow(0 0 25px rgba(168,230,207,.8))}}.unanimous-message{font-family:Fredoka,sans-serif;font-size:1.5rem;font-weight:600;text-align:center;color:var(--text);opacity:0;animation:unanimousMessageIn .4s ease-out .3s forwards}@keyframes unanimousMessageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal-summary.consensus .unanimous-vote{color:var(--success);text-shadow:4px 4px 0 rgba(0,0,0,.2)}.reveal-summary.coffee .unanimous-vote{color:var(--tertiary)}.reveal-summary.shrug .unanimous-vote{color:var(--text-muted)}.special-result{display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:specialResultIn .4s ease-out}@keyframes specialResultIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.special-result-emoji{font-size:3rem}.special-result-message{font-family:Fredoka,sans-serif;font-size:1.3rem;font-weight:600;text-align:center;color:var(--text)}.reveal-summary.coffee .special-result-message{color:var(--tertiary)}.reveal-summary.shrug .special-result-message{color:var(--text-muted)}.reveal-summary.chaos .reveal-message{color:var(--secondary)}.reveal-summary.discuss .reveal-message{color:var(--primary)}.reveal-summary.mostly-aligned .reveal-message{color:var(--success)}.reveal-summary.solo .reveal-message{color:var(--text-muted)}.vote-distribution{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-bottom:1rem}.vote-dist-row{display:flex;align-items:center;gap:.5rem;opacity:0;animation:distRowSlide .4s ease-out forwards;animation-delay:calc(var(--dist-index, 0) * 80ms + .2s)}@keyframes distRowSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.vote-dist-label{min-width:3rem;font-family:Fredoka,sans-serif;font-weight:700;font-size:1.1rem;text-align:right;color:var(--text)}.vote-dist-bar-container{flex:1;height:1.75rem;background:#ffffff1a;border-radius:6px;overflow:hidden}.vote-dist-bar{height:100%;width:0;background:var(--tertiary);border-radius:4px;animation:barGrow .5s ease-out forwards;animation-delay:calc(var(--dist-index, 0) * 80ms + .3s)}@keyframes barGrow{0%{width:0}to{width:var(--bar-width, 50%)}}.vote-dist-row.mode .vote-dist-bar{background:linear-gradient(90deg,var(--primary),var(--primary-hover));box-shadow:0 0 8px #ffe66d66}.vote-dist-row.mode .vote-dist-label{color:var(--primary)}.vote-dist-count{min-width:2rem;font-family:Fredoka,sans-serif;font-weight:600;font-size:.9rem;color:var(--text-muted);text-align:left}.vote-stats-line{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 1.5rem;padding:1rem;background:#0003;border-radius:10px;opacity:0;animation:statsFadeIn .4s ease-out forwards;animation-delay:.5s}@keyframes statsFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.vote-stat{font-size:1rem;color:var(--text-muted)}.vote-stat strong{color:var(--text);font-weight:700;font-family:Fredoka,sans-serif;font-size:1.1rem}.result-message.consensus .vote-dist-row.mode .vote-dist-bar{background:linear-gradient(90deg,var(--success),#c2f0db)}.result-message.consensus .vote-dist-row.mode .vote-dist-label{color:var(--success)}.result-message.chaos .vote-dist-bar{background:var(--secondary)}.result-message.chaos .vote-dist-row.mode .vote-dist-bar{background:linear-gradient(90deg,var(--secondary),var(--secondary-hover));box-shadow:0 0 8px #ff6b9d66}.result-message.discuss .vote-dist-row.mode .vote-dist-bar{background:linear-gradient(90deg,var(--primary),var(--primary-hover))}@media(max-width:500px){.reveal-summary{padding:1.25rem;min-height:180px}.reveal-message{font-size:1.1rem;margin-bottom:1rem}.unanimous-vote{font-size:3.5rem}.unanimous-message{font-size:1.2rem}.vote-distribution{gap:.35rem}.vote-dist-label{min-width:2.5rem;font-size:.95rem}.vote-dist-bar-container{height:1.4rem}.vote-dist-count{font-size:.8rem;min-width:1.5rem}.vote-stats-line{gap:.35rem 1rem;padding:.75rem}.vote-stat{font-size:.9rem}.vote-stat strong{font-size:1rem}}#participants-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.vote-cards-area{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0;overflow:visible}@media(min-width:500px)and (max-width:767px){.vote-cards-area{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.participant-card{padding:.5rem .75rem}.participant-card-badge{min-width:40px;height:40px;font-size:1.1rem}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.participant{display:flex;justify-content:space-between;align-items:center;padding:.6rem .75rem;background:var(--background);border-radius:8px;border:2px solid transparent;transition:border-color .2s,transform .2s}.participant:nth-child(odd){transform:rotate(-.5deg)}.participant:nth-child(2n){transform:rotate(.5deg)}.participant-name{font-weight:600}.participant-status{font-size:.875rem;font-weight:600}.participant-status.voted{color:var(--success)}.participant-status.waiting{color:var(--text-muted)}.participant-vote{font-family:Fredoka,sans-serif;font-weight:600;background:var(--secondary);color:var(--background);padding:.25rem .6rem;border-radius:6px;min-width:2.5rem;text-align:center;box-shadow:2px 2px #0003}.participant.is-host{border-color:var(--primary)}.participant.is-host .participant-name:after{content:" ★";color:var(--primary);font-size:.75rem}.voting-area{flex:1;display:flex;flex-direction:column;gap:1.5rem}.cards-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;padding:1rem}@keyframes cardEntrance{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1}}.cards-grid.animate-entrance .card{animation:cardEntrance .4s ease-out backwards}.card{position:relative;width:70px;height:100px;background:var(--surface);border:3px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:1.25rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;box-shadow:var(--shadow-dark);color:var(--text);transform:rotate(var(--rotation, 0deg));-webkit-font-smoothing:antialiased;outline:1px solid transparent}.card:hover{border-color:var(--tertiary);transform:translateY(-8px) rotate(var(--rotation, 0deg)) scale(1.05);box-shadow:6px 6px #0000004d;z-index:10}.card.selected{background:var(--primary);color:var(--background);border-color:var(--primary);transform:translateY(-4px) rotate(var(--rotation, 0deg)) scale(1.05);box-shadow:0 0 20px #ffe66d66,var(--shadow-dark)}.card.selected:hover{transform:translateY(-8px) rotate(var(--rotation, 0deg)) scale(1.08)}.card[data-value="?"]{color:var(--secondary)}.card[data-value=☕]{color:var(--tertiary)}.card.selected[data-value="?"],.card.selected[data-value=☕]{color:var(--background)}.card.has-note:after{content:"💬";position:absolute;top:-8px;right:-8px;font-size:1rem;background:var(--surface);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px #0003;animation:notePop .3s ease-out}@keyframes notePop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media(min-width:768px){.card{width:85px;height:115px;font-size:1.5rem}}.cards-grid.spectator-mode{position:relative}.cards-grid.spectator-mode:before{content:"Spectating";display:block;width:100%;text-align:center;color:var(--primary);font-family:Fredoka,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;opacity:.9}.card.spectator-view{opacity:.4;cursor:default;pointer-events:none;filter:grayscale(30%)}.card.spectator-view:hover{transform:rotate(var(--rotation, 0deg));box-shadow:4px 4px #0000004d}.host-controls{display:flex;justify-content:center;gap:1rem;padding-top:1rem;flex-wrap:wrap}.host-controls .btn-primary{background:var(--secondary)}.host-controls .btn-primary:hover{background:var(--secondary-hover)}.host-controls.hidden{display:none}.status-message{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) rotate(-1deg);background:var(--surface);color:var(--text);padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:600;border:2px solid var(--tertiary);box-shadow:var(--shadow-dark);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px) rotate(-1deg)}to{opacity:1;transform:translate(-50%) translateY(0) rotate(-1deg)}}.status-message.hidden{display:none}.status-message.status-emphasis{background:var(--secondary);color:var(--background);border-color:var(--primary);font-size:1rem;padding:1rem 1.75rem;animation:slideUp .3s ease-out,pulse .5s ease-in-out .3s}@keyframes pulse{0%,to{transform:translate(-50%) rotate(-1deg) scale(1)}50%{transform:translate(-50%) rotate(-1deg) scale(1.05)}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#0a0a14d9;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal.hidden{display:none}.modal-content{position:relative;background:var(--surface);padding:2.5rem;border-radius:16px;width:100%;max-width:400px;text-align:center;border:3px solid var(--border);box-shadow:8px 8px #0000004d;transform:rotate(-1deg);animation:popIn .3s ease-out}@keyframes popIn{0%{opacity:0;transform:rotate(-1deg) scale(.9)}to{opacity:1;transform:rotate(-1deg) scale(1)}}.modal-content h2{margin-bottom:1.5rem;color:var(--primary);text-shadow:2px 2px 0 var(--secondary)}.modal-close{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;border:none;border-radius:8px;background:var(--background);color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.modal-close:hover{background:var(--surface-hover);color:var(--text)}.modal-content input{width:100%;margin-bottom:1rem}.modal-content p{margin-bottom:1.5rem;color:var(--text-muted)}.name-modal-subtitle{font-size:.95rem;margin-bottom:1.25rem}.join-role-selector{display:flex;gap:.75rem;margin-bottom:1.25rem}.join-role-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.875rem 1rem;background:var(--background);border:3px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s}.join-role-btn:hover{border-color:var(--tertiary);transform:translateY(-2px);box-shadow:3px 3px #00000026}.join-role-btn.selected{border-color:var(--tertiary);background:linear-gradient(135deg,var(--background) 0%,rgba(78,205,196,.15) 100%);box-shadow:0 0 15px #4ecdc433,3px 3px #00000026}.join-role-btn[data-role=spectator].selected{border-color:var(--primary);background:linear-gradient(135deg,var(--background) 0%,rgba(255,230,109,.15) 100%);box-shadow:0 0 15px #ffe66d33,3px 3px #00000026}.join-role-icon{font-size:1.5rem}.join-role-label{font-family:Fredoka,sans-serif;font-size:.85rem;font-weight:600;color:var(--text)}.join-role-btn.selected .join-role-label{color:var(--tertiary)}.join-role-btn[data-role=spectator].selected .join-role-label{color:var(--primary)}.note-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(0) rotate(-1deg);z-index:100;width:calc(100% - 2rem);max-width:400px;animation:toastBounceIn .5s cubic-bezier(.175,.885,.32,1.275)}.note-toast.hidden{display:none}.note-toast.hiding{animation:toastSlideDown .3s ease-in forwards}.note-toast.bouncing{animation:toastBounceOut .5s cubic-bezier(.36,0,.66,-.56) forwards}@keyframes toastBounceIn{0%{opacity:0;transform:translate(-50%) translateY(120%) rotate(3deg)}60%{opacity:1;transform:translate(-50%) translateY(-20px) rotate(-2deg)}to{opacity:1;transform:translate(-50%) translateY(0) rotate(-1deg)}}@keyframes toastBounceOut{0%{opacity:1;transform:translate(-50%) translateY(0) rotate(-1deg)}20%{opacity:1;transform:translate(-50%) translateY(-20px) rotate(2deg)}to{opacity:0;transform:translate(-50%) translateY(120%) rotate(-3deg)}}.note-toast-content{background:var(--surface);border:3px solid var(--tertiary);border-radius:16px;box-shadow:0 -4px 20px #0000004d,5px 5px #00000040;overflow:hidden}.note-toast-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:2px solid var(--border);background:linear-gradient(135deg,var(--background) 0%,rgba(78,205,196,.1) 100%)}.note-toast-prompt{font-family:Fredoka,sans-serif;font-size:1rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:.5rem}.note-toast-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s,background .2s}.note-toast-close:hover{color:var(--text);background:var(--surface-hover)}.note-toast-body{padding:1rem}.note-toast-input-wrapper{position:relative;margin-bottom:.75rem}#note-toast-input{width:100%;padding:.75rem 1rem 1.5rem;border:2px solid var(--border);border-radius:8px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:500;outline:none;background:var(--background);color:var(--text);resize:none;transition:border-color .2s,box-shadow .2s;line-height:1.4}#note-toast-input:focus{border-color:var(--tertiary);box-shadow:0 0 0 3px #4ecdc433}#note-toast-input::placeholder{color:var(--text-muted);font-style:italic;font-size:.875rem}.note-toast .char-counter{position:absolute;bottom:.5rem;right:.75rem;font-size:.7rem;font-weight:600;color:var(--text-muted);transition:color .2s}.char-counter.warning{color:var(--warning)}.char-counter.danger{color:var(--secondary)}.note-toast-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-ghost{background:transparent;color:var(--text-muted);box-shadow:none}.btn-ghost:hover{background:var(--surface-hover);color:var(--text);box-shadow:none;transform:none}.note-toast-actions .btn-small{padding:.5rem 1rem;font-size:.875rem}.note-toast-timer{height:4px;background:var(--background);overflow:hidden}.note-toast-timer-bar{height:100%;background:linear-gradient(90deg,var(--tertiary),var(--primary));width:100%;transform-origin:left;animation:timerShrink 15s linear forwards}.note-toast.paused .note-toast-timer-bar{animation-play-state:paused}@keyframes timerShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:767px){.note-toast{bottom:auto;top:1rem;animation:toastBounceInTop .5s cubic-bezier(.175,.885,.32,1.275)}.note-toast.bouncing{animation:toastBounceOutTop .5s cubic-bezier(.36,0,.66,-.56) forwards}.note-toast-content{box-shadow:0 4px 20px #0000004d,5px 5px #00000040}@keyframes toastBounceInTop{0%{opacity:0;transform:translate(-50%) translateY(-120%) rotate(-3deg)}60%{opacity:1;transform:translate(-50%) translateY(20px) rotate(2deg)}to{opacity:1;transform:translate(-50%) translateY(0) rotate(-1deg)}}@keyframes toastBounceOutTop{0%{opacity:1;transform:translate(-50%) translateY(0) rotate(-1deg)}20%{opacity:1;transform:translate(-50%) translateY(20px) rotate(-2deg)}to{opacity:0;transform:translate(-50%) translateY(-120%) rotate(3deg)}}}.participant-card{position:relative;padding:.75rem 1rem;background:var(--background);border-radius:12px;border:3px solid var(--border);box-shadow:4px 4px #0003;transform:rotate(var(--card-rotation, 0deg));transition:border-color .3s,box-shadow .3s;-webkit-font-smoothing:antialiased;outline:1px solid transparent}.participant-card-badge{font-family:Fredoka,sans-serif;font-weight:700;font-size:1.25rem;min-width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:3px 3px #0003;transition:background .3s,color .3s}.participant-card.waiting .participant-card-badge{background:var(--surface);color:var(--text-muted);border:2px dashed var(--border);box-shadow:none;position:relative}.participant-card.waiting .participant-card-badge:before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--text-muted);transform:translate(-50%,-50%);box-shadow:-10px 0 0 0 var(--text-muted),10px 0 0 0 var(--text-muted)}.participant-card.voted .participant-card-badge{background:var(--success);color:var(--background)}.participant-card.voted{border-color:var(--success)}.participant-card.revealed{border-color:var(--card-accent, var(--tertiary));opacity:0;animation:cardRevealPop .5s cubic-bezier(.175,.885,.32,1.275) forwards;animation-delay:var(--reveal-delay, 0ms)}.room-content.flipping-down .participant-card.revealed{opacity:1;animation:flipDown .35s ease-in forwards;animation-delay:calc(var(--card-index, 0) * 50ms)}.room-content.face-down .participant-card.revealed{opacity:1;transform:rotate(var(--card-rotation, 0deg)) rotateY(180deg)}.room-content.flipping-up .participant-card.revealed{opacity:1;animation:flipUp .5s ease-out forwards;animation-delay:calc(var(--card-index, 0) * 60ms)}.participant-card.revealed .participant-card-badge{background:var(--card-accent, var(--tertiary));color:var(--background);font-size:1.5rem}@keyframes cardRevealPop{0%{opacity:0;transform:rotate(var(--card-rotation, 0deg)) scale(.8) translateY(15px)}60%{transform:rotate(var(--card-rotation, 0deg)) scale(1.03) translateY(-3px)}to{opacity:1;transform:rotate(var(--card-rotation, 0deg)) scale(1) translateY(0)}}.participant-card-content{flex:1;min-width:0;overflow:hidden}.participant-card-name{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem}.participant-card-name.is-spectator:after{content:" 👀";font-size:.8rem}.participant-card-name.is-host:after{content:" ★";color:var(--primary)}.participant-card.spectator-card{border-style:dashed}.participant-card.spectator-card .participant-card-badge{background:var(--surface);border-color:var(--border);color:var(--text-muted)}.spectator-status{font-style:italic;color:var(--primary)!important}.participant-card.participant-disconnected{opacity:.5;filter:grayscale(40%)}.participant-card.participant-disconnected .participant-card-status{color:var(--text-muted);font-style:italic}.participant-card-status{font-size:.85rem;color:var(--text-muted)}.participant-card.voted .participant-card-status{color:var(--success);font-weight:600}.participant-card-note{font-size:.9rem;font-weight:500;line-height:1.3;color:var(--text);margin-top:.15rem;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.participant-card-note:before{content:'"';color:var(--card-accent, var(--tertiary));font-weight:700}.participant-card-note:after{content:'"';color:var(--card-accent, var(--tertiary));font-weight:700}.participant-card-no-note{font-size:.8rem;font-style:italic;color:var(--text-muted);opacity:.5;margin-top:.15rem}.participant-card.revealed:nth-child(4n+1){--card-accent: var(--tertiary)}.participant-card.revealed:nth-child(4n+2){--card-accent: var(--secondary)}.participant-card.revealed:nth-child(4n+3){--card-accent: #9b59b6}.participant-card.revealed:nth-child(4n+4){--card-accent: var(--success)}.participant-card.spicy{--card-accent: #ff6b35;border-color:#ff6b35;background:linear-gradient(135deg,var(--background) 0%,rgba(255,107,53,.1) 100%);animation:cardRevealPop .5s cubic-bezier(.175,.885,.32,1.275) forwards,spicyGlow 2s ease-in-out infinite;animation-delay:var(--reveal-delay, 0ms),calc(var(--reveal-delay, 0ms) + .5s)}.participant-card.spicy .participant-card-badge{background:linear-gradient(135deg,#ff6b35,#ff8c42)}@keyframes spicyGlow{0%,to{box-shadow:4px 4px #0003,0 0 10px #ff6b354d}50%{box-shadow:4px 4px #0003,0 0 20px #ff6b3580}}.participant-card.unanimous{--card-accent: var(--success);border-color:var(--success);animation:cardRevealPop .5s cubic-bezier(.175,.885,.32,1.275) forwards,unanimousGlow 1.5s ease-in-out .8s infinite}.participant-card.unanimous .participant-card-badge{background:var(--success);animation:unanimousPulse .8s ease-out .5s both}@keyframes unanimousPulse{0%{transform:scale(1);box-shadow:3px 3px #0003}40%{transform:scale(1.2);box-shadow:3px 3px #0003,0 0 25px #a8e6cfe6}to{transform:scale(1);box-shadow:3px 3px #0003,0 0 12px #a8e6cf80}}@keyframes unanimousGlow{0%,to{box-shadow:4px 4px #0003,0 0 10px #a8e6cf4d}50%{box-shadow:4px 4px #0003,0 0 18px #a8e6cf99}}.vote-cards-area,.cards-grid{perspective:1200px}.participant-card,.card{transform-style:preserve-3d}.card-front,.card-back,.participant-card-front,.participant-card-back{backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-front{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.card-value{line-height:1}.card-descriptor{font-family:Nunito,sans-serif;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;opacity:.85;line-height:1;margin-top:4px}.card[data-value=☕] .card-descriptor{color:var(--text-muted);opacity:1}.card.selected .card-descriptor{opacity:.6}.participant-card-front{display:flex;align-items:center;gap:.875rem;width:100%}.room-content.flipping-down .participant-card-front,.room-content.face-down .participant-card-front{opacity:0;transition:opacity 0s}.room-content.flipping-up .participant-card-front{opacity:1;transition:opacity 0s .15s}.participant-card.revealed .participant-card-front{align-items:flex-start}.card-back,.participant-card-back{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface);border-radius:9px;display:flex;align-items:center;justify-content:center;transform:rotateY(180deg);overflow:hidden}.card-back-logo{font-family:Fredoka,sans-serif;font-weight:700;font-size:.85rem;color:var(--primary);text-shadow:2px 2px 0 var(--secondary);transform:rotate(-2deg);white-space:nowrap}.participant-card-back .card-back-logo{font-size:1.1rem}.room-content.flipping-down .participant-card{animation:flipDown .35s ease-in forwards;animation-delay:calc(var(--card-index, 0) * 50ms)}.room-content.flipping-down .card{animation:flipDownVoting .3s ease-in forwards;animation-delay:calc(var(--card-index, 0) * 25ms);transition:none}@keyframes flipDown{0%{transform:rotate(var(--card-rotation, 0deg)) rotateY(0)}to{transform:rotate(var(--card-rotation, 0deg)) rotateY(180deg)}}@keyframes flipDownVoting{0%{transform:rotate(var(--rotation, 0deg)) rotateY(0)}to{transform:rotate(var(--rotation, 0deg)) rotateY(180deg)}}.room-content.face-down .participant-card{transform:rotate(var(--card-rotation, 0deg)) rotateY(180deg)}.room-content.face-down .card{transform:rotate(var(--rotation, 0deg)) rotateY(180deg);transition:none}.room-content.flipping-up .participant-card{animation:flipUp .5s ease-out forwards;animation-delay:calc(var(--card-index, 0) * 60ms)}.room-content.flipping-up .card{animation:flipUpVoting .45s ease-out forwards;animation-delay:calc(var(--card-index, 0) * 35ms);transition:none}@keyframes flipUp{0%{transform:rotate(var(--card-rotation, 0deg)) rotateY(180deg)}to{transform:rotate(var(--card-rotation, 0deg)) rotateY(0)}}@keyframes flipUpVoting{0%{transform:rotate(var(--rotation, 0deg)) rotateY(180deg)}to{transform:rotate(var(--rotation, 0deg)) rotateY(0)}}.room-content.flipping-down .result-message,.room-content.face-down .result-message,.room-content.flipping-up .result-message{opacity:0;transition:opacity .2s}.deck-modal-content{max-width:500px;transform:rotate(0);animation:popInStraight .3s ease-out}@keyframes popInStraight{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.deck-modal-content h2{color:var(--primary);text-shadow:2px 2px 0 var(--secondary)}.deck-modal-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:1rem}.deck-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.deck-option{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background);border:3px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s;--final-x: 0px;--final-scale: 1;transform:translate(var(--final-x)) rotate(var(--tilt, 0deg)) scale(var(--final-scale));animation:deckOptionEntrance .4s ease-out backwards;animation-delay:calc(var(--deck-index) * 60ms)}.deck-option:nth-child(1){--tilt: -1.2deg}.deck-option:nth-child(2){--tilt: .8deg}.deck-option:nth-child(3){--tilt: -.5deg}.deck-option:nth-child(4){--tilt: 1.4deg}.deck-option:nth-child(5){--tilt: -.9deg}@keyframes deckOptionEntrance{0%{opacity:0;transform:translate(-20px) rotate(var(--tilt, 0deg)) scale(var(--final-scale, 1))}to{opacity:1;transform:translate(var(--final-x, 0px)) rotate(var(--tilt, 0deg)) scale(var(--final-scale, 1))}}@media(hover:hover){.deck-option:hover{border-color:var(--tertiary);transform:translate(8px) rotate(var(--tilt, 0deg)) scale(1.02);box-shadow:4px 4px #0003}}.deck-option.selected{--final-x: 4px;--final-scale: 1.02;border-color:var(--primary);background:linear-gradient(135deg,var(--background) 0%,rgba(255,230,109,.15) 100%);box-shadow:0 0 20px #ffe66d40,4px 4px #0003}.deck-preview{display:flex;gap:.25rem;flex-shrink:0}.mini-card{width:32px;height:42px;background:var(--surface);border:2px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:.7rem;font-weight:600;color:var(--text);box-shadow:2px 2px #00000026}.deck-option.selected .mini-card{border-color:var(--primary);background:var(--primary);color:var(--background);animation:miniCardPop .3s ease-out}@keyframes miniCardPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.deck-option.selected .mini-card:nth-child(1){animation-delay:0ms}.deck-option.selected .mini-card:nth-child(2){animation-delay:50ms}.deck-option.selected .mini-card:nth-child(3){animation-delay:.1s}.deck-option.selected .mini-card:nth-child(4){animation-delay:.15s}.deck-info{flex:1;min-width:0}.deck-name{font-family:Fredoka,sans-serif;font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.15rem}.deck-description{font-size:.85rem;color:var(--text-muted)}.deck-option.selected .deck-name{color:var(--primary)}@media(max-width:500px){.deck-modal-content{padding:1.25rem 1.25rem 1rem;margin:.5rem}.deck-modal-content h2{font-size:1.4rem;margin-bottom:.25rem}.deck-modal-subtitle{margin-bottom:.75rem;font-size:.85rem}.deck-options{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.deck-option{flex-direction:column;align-items:center;text-align:center;padding:.625rem .5rem;gap:.375rem}.deck-option:nth-child(1){--tilt: -.5deg}.deck-option:nth-child(2){--tilt: .5deg}.deck-option:nth-child(3){--tilt: .3deg}.deck-option:nth-child(4){--tilt: -.4deg}.deck-option.selected{--final-x: 0px;--final-scale: 1.02}.deck-preview{gap:.125rem}.mini-card{width:22px;height:28px;font-size:.5rem;border-radius:4px;border-width:1.5px;box-shadow:1px 1px #00000026}.deck-info{min-width:0;width:100%}.deck-name{font-size:.85rem;margin-bottom:.1rem}.deck-description{font-size:.65rem;line-height:1.2}.deck-modal-content .btn-primary{width:100%;padding:.75rem 1.25rem}.deck-modal-content .modal-close{top:.5rem;right:.5rem}}@media(max-height:500px){.deck-modal-content{padding:.75rem 1rem;max-width:600px}.deck-modal-content h2{font-size:1.1rem;margin-bottom:.125rem}.deck-modal-subtitle{margin-bottom:.5rem;font-size:.75rem}.deck-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.375rem;margin-bottom:.5rem}.deck-option{flex-direction:column;align-items:center;text-align:center;padding:.375rem .25rem;gap:.25rem}.deck-option:nth-child(1){--tilt: -.3deg}.deck-option:nth-child(2){--tilt: .3deg}.deck-option:nth-child(3){--tilt: .2deg}.deck-option:nth-child(4){--tilt: -.2deg}.deck-option.selected{--final-x: 0px;--final-scale: 1.02}.deck-preview{gap:.0625rem}.mini-card{width:18px;height:24px;font-size:.45rem;border-radius:3px;border-width:1px}.deck-name{font-size:.7rem;margin-bottom:0}.deck-description{font-size:.55rem;line-height:1.1}.deck-modal-content .btn-primary{padding:.5rem 1rem;font-size:.85rem}}.participant-host-actions{position:absolute;top:.5rem;right:.5rem;opacity:0;transition:opacity .2s;z-index:10}.participant-card:hover .participant-host-actions,.participant-host-actions:hover,.participant-host-actions:has(.host-actions-menu.open){opacity:1}.participant-card:has(.host-actions-menu.open){z-index:9999}.host-menu-trigger{width:28px;height:28px;border:none;border-radius:6px;background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:1.1rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .15s;box-shadow:2px 2px #00000026}.host-menu-trigger:hover{background:var(--tertiary);color:var(--background);transform:scale(1.05)}.host-actions-menu{position:absolute;top:100%;right:0;margin-top:.35rem;background:var(--surface);border:2px solid var(--border);border-radius:10px;box-shadow:4px 4px #00000040;min-width:140px;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.95);transition:opacity .15s,transform .15s,visibility .15s;z-index:100}.host-actions-menu.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);z-index:200}.host-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .85rem;border:none;background:transparent;color:var(--text);font-family:Nunito,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;text-align:left;transition:background .15s}.host-menu-item:hover{background:var(--surface-hover)}.host-menu-item .menu-icon{font-size:1rem;width:1.25rem;text-align:center}.host-menu-item-danger{color:var(--secondary)}.host-menu-item-danger:hover{background:#ff6b9d26}.host-menu-divider{height:1px;background:var(--border);margin:.25rem 0}.kick-modal-content{max-width:350px}.kick-modal-content h2{color:var(--primary);text-shadow:2px 2px 0 var(--secondary)}.kick-modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.btn-danger{background:var(--secondary);color:var(--background);box-shadow:var(--shadow-dark)}.btn-danger:hover{background:#ff4d7a;transform:translate(-2px,-2px);box-shadow:6px 6px #0000004d}.btn-danger:active{transform:translate(2px,2px);box-shadow:2px 2px #0000004d}.kicked-modal-content{max-width:350px}.kicked-modal-content h2{color:var(--primary);text-shadow:2px 2px 0 var(--secondary)}.kicked-modal-content p{color:var(--text-muted);font-style:italic}.nudge-toast{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);z-index:200;animation:nudgeToastIn .5s cubic-bezier(.175,.885,.32,1.275)}.nudge-toast.hidden{display:none}@keyframes nudgeToastIn{0%{opacity:0;transform:translate(-50%) translateY(-100%) scale(.8)}60%{transform:translate(-50%) translateY(10px) scale(1.05)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.nudge-toast-content{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;background:var(--tertiary);color:var(--background);border-radius:12px;box-shadow:0 4px 20px #4ecdc466,4px 4px #0003;font-family:Fredoka,sans-serif;font-weight:600;font-size:1rem}.nudge-toast-icon{font-size:1.5rem;animation:waveHand .8s ease-in-out infinite}@keyframes waveHand{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-20deg)}}.nudge-toast-close{background:none;border:none;color:var(--background);font-size:1.25rem;cursor:pointer;opacity:.7;padding:.25rem;line-height:1;transition:opacity .2s}.nudge-toast-close:hover{opacity:1}@keyframes nudgeShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}html.nudge-shake{animation:nudgeShake .5s ease-in-out}@keyframes nudgeWiggle{0%,to{transform:rotate(var(--rotation, 0deg))}20%{transform:rotate(calc(var(--rotation, 0deg) + 3deg))}40%{transform:rotate(calc(var(--rotation, 0deg) - 3deg))}60%{transform:rotate(calc(var(--rotation, 0deg) + 2deg))}80%{transform:rotate(calc(var(--rotation, 0deg) - 2deg))}}.cards-grid.nudge-wiggle .card{animation:nudgeWiggle .6s ease-in-out}.feedback-btn{position:fixed;bottom:1.5rem;right:1.5rem;width:48px;height:48px;border:none;border-radius:50%;background:var(--surface);border:2px solid var(--border);color:var(--text-muted);cursor:pointer;box-shadow:3px 3px #0003;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;z-index:50;display:flex;align-items:center;justify-content:center;opacity:.7}.feedback-btn:hover{background:var(--surface);border-color:var(--tertiary);color:var(--tertiary);transform:translateY(-2px);box-shadow:4px 4px #0003;opacity:1}.feedback-btn:active{transform:translateY(0);box-shadow:2px 2px #0003}.feedback-btn-icon{font-size:1.5rem;line-height:1}@media(max-width:500px){.feedback-btn{width:42px;height:42px;bottom:1rem;right:1rem}.feedback-btn-icon{font-size:1.1rem}}.feedback-modal-content{max-width:450px;transform:rotate(0);animation:popInStraight .3s ease-out}.feedback-modal-content h2{color:var(--primary);text-shadow:3px 3px 0 var(--secondary);margin-bottom:.5rem}.feedback-subtitle{color:var(--text-muted);margin-bottom:1.5rem!important;font-size:.95rem}.feedback-type-selector{display:flex;gap:.75rem;margin-bottom:1.25rem}.feedback-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.875rem 1rem;background:var(--background);border:3px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s,background .2s}.feedback-type-btn:hover{border-color:var(--tertiary);transform:translateY(-2px);box-shadow:3px 3px #00000026}.feedback-type-btn.selected{border-color:var(--tertiary);background:linear-gradient(135deg,var(--background) 0%,rgba(78,205,196,.15) 100%);box-shadow:0 0 15px #4ecdc433,3px 3px #00000026}.feedback-type-btn[data-type=bug].selected{border-color:var(--secondary);background:linear-gradient(135deg,var(--background) 0%,rgba(255,107,157,.15) 100%);box-shadow:0 0 15px #ff6b9d33,3px 3px #00000026}.feedback-type-icon{font-size:1.5rem}.feedback-type-label{font-family:Fredoka,sans-serif;font-size:.85rem;font-weight:600;color:var(--text)}.feedback-type-btn.selected .feedback-type-label{color:var(--tertiary)}.feedback-type-btn[data-type=bug].selected .feedback-type-label{color:var(--secondary)}.feedback-modal-content input[type=text]{width:100%;margin-bottom:.75rem}.feedback-textarea-wrapper{position:relative;margin-bottom:1.25rem}#feedback-description{width:100%;padding:.75rem 1rem 1.75rem;border:2px solid var(--border);border-radius:8px;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:500;outline:none;background:var(--surface);color:var(--text);resize:none;transition:border-color .2s,box-shadow .2s;line-height:1.4}#feedback-description:focus{border-color:var(--tertiary);box-shadow:0 0 0 3px #4ecdc433}#feedback-description::placeholder{color:var(--text-muted);font-style:italic}#feedback-char-counter{position:absolute;bottom:.5rem;right:.75rem;font-size:.7rem;font-weight:600;color:var(--text-muted);transition:color .2s}.feedback-modal-content .btn-primary{width:100%;background:var(--tertiary)}.feedback-modal-content .btn-primary:hover:not(:disabled){background:var(--tertiary-hover)}.feedback-modal-content .btn-primary:disabled{background:var(--surface);color:var(--text-muted);border:2px solid var(--border)}.feedback-status{margin-top:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;text-align:center}.feedback-status.hidden{display:none}.feedback-status.error{background:#ff6b9d26;color:var(--secondary);border:2px solid var(--secondary)}.feedback-status.loading{background:#4ecdc426;color:var(--tertiary);border:2px solid var(--tertiary)}.feedback-success-content{max-width:350px;text-align:center}.feedback-success-icon{font-size:3rem;margin-bottom:.5rem;animation:successBounce .6s ease-out}@keyframes successBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.feedback-success-content h2{color:var(--success);text-shadow:2px 2px 0 rgba(0,0,0,.2);margin-bottom:.75rem}.feedback-success-content p{color:var(--text-muted);margin-bottom:1.5rem}.feedback-success-content .btn-primary{background:var(--success);color:var(--background)}.feedback-success-content .btn-primary:hover{background:#c2f0db}.faq-section.svelte-1t8i6y4{width:100%;max-width:640px;margin:3.5rem auto 0;padding:0 1rem}.faq-title.svelte-1t8i6y4{font-family:Fredoka,sans-serif;font-size:1.4rem;font-weight:700;color:var(--primary);text-align:center;margin-bottom:.25rem}.faq-subtitle.svelte-1t8i6y4{text-align:center;color:var(--text-muted);font-size:.85rem;margin-bottom:1rem}.faq-list.svelte-1t8i6y4{display:flex;flex-direction:column;gap:.5rem}.faq-item.svelte-1t8i6y4{background:var(--surface);border:2px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s}.faq-item.svelte-1t8i6y4:hover,.faq-item.open.svelte-1t8i6y4{border-color:var(--tertiary)}.faq-question.svelte-1t8i6y4{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.9rem 1rem;background:none;border:none;color:var(--text);font-family:Nunito,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;text-align:left;gap:.75rem}.faq-chevron.svelte-1t8i6y4{font-size:1.25rem;color:var(--tertiary);flex-shrink:0;font-weight:700}.faq-answer.svelte-1t8i6y4{padding:0 1rem 1rem;animation:svelte-1t8i6y4-faqSlide .2s ease-out}.faq-answer.svelte-1t8i6y4 p:where(.svelte-1t8i6y4){color:var(--text-muted);font-size:.9rem;line-height:1.6}@keyframes svelte-1t8i6y4-faqSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
