@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,700&family=Inter:wght@300;400;500&display=swap";:root{--bg: #2a0808;--red-glow: rgba(180, 25, 25, .55);--text-primary: #f0d9a0;--text-secondary: #d4956a;--accent-green: #4ecca3;--red-text-shadow: 0 0 60px rgba(220, 40, 30, .5);--btn-border: rgba(240, 217, 160, .6);--btn-bg: rgba(180, 20, 20, .2);--btn-hover: rgba(200, 30, 30, .35);--input-bg: rgba(0, 0, 0, .3);--input-border: rgba(240, 217, 160, .2)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,sans-serif;font-weight:400;color:var(--text-primary);background-color:var(--bg);min-height:100vh;overflow-x:hidden;position:relative}h1,h2,h3{font-family:Playfair Display,serif;font-weight:700}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6rem 1rem 3rem;gap:.5rem;position:relative;z-index:2}.hero-tagline{font-family:Playfair Display,serif;font-style:italic;font-weight:700;font-size:1.15rem;color:var(--text-secondary);letter-spacing:1.5px;margin-bottom:.25rem}.hero-title{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(2.8rem,8vw,5rem);line-height:1.1;color:var(--text-primary);text-shadow:0 0 60px rgba(220,40,30,.5),0 0 120px rgba(200,30,20,.25),0 2px 4px rgba(0,0,0,.4);margin-bottom:.15rem}.hero-subtitle{font-family:Inter,sans-serif;font-weight:300;font-size:1.1rem;color:var(--text-secondary);letter-spacing:3px;text-transform:lowercase;margin-bottom:2.5rem}.hero-event-details{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-top:.5rem}.hero-date{font-family:Playfair Display,serif;font-weight:700;font-size:1.2rem;color:var(--text-primary);letter-spacing:1px}.hero-time{font-family:Inter,sans-serif;font-weight:300;font-size:.95rem;color:var(--text-secondary);letter-spacing:.5px}.hero-teaser{font-family:Inter,sans-serif;font-weight:300;font-style:italic;font-size:1rem;color:var(--text-secondary);margin-top:2rem;letter-spacing:.5px;opacity:.85}@media (max-width: 600px){.hero{padding-top:3rem;padding-bottom:1.5rem}.hero-subtitle{margin-bottom:1.5rem}.hero-teaser{margin-top:1rem}}.countdown{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin:1rem 0}.countdown-label{font-family:Inter,sans-serif;font-weight:300;font-size:.85rem;color:var(--text-secondary);letter-spacing:3px;text-transform:lowercase}.countdown-timer{display:flex;align-items:flex-start;gap:.5rem}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:4.5rem}.countdown-number{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(2.2rem,6vw,3.5rem);line-height:1;color:var(--text-primary);text-shadow:0 0 30px rgba(220,40,30,.35)}.countdown-text{font-family:Inter,sans-serif;font-weight:300;font-size:.7rem;color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;margin-top:.35rem}.countdown-sep{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(1.8rem,5vw,2.8rem);color:var(--text-secondary);opacity:.4;line-height:1;padding-top:.15rem}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 20% 50%,var(--red-glow),transparent 60%),radial-gradient(ellipse at 80% 30%,rgba(150,10,10,.35),transparent 55%),radial-gradient(ellipse at 50% 80%,rgba(120,5,5,.3),transparent 50%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:linear-gradient(180deg,rgba(100,0,0,.15) 0%,transparent 40%,transparent 60%,rgba(80,0,0,.2) 100%)}.main-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.6) 100%)}.main-page:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(180,20,20,.03) 60px,rgba(180,20,20,.03) 62px)}.main-page{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1rem}.admin-page{position:relative;z-index:2;padding:2rem 2rem 4rem;max-width:1060px;margin:0 auto}.admin-title{font-family:Playfair Display,serif;font-size:1.8rem;color:var(--text-primary);margin-bottom:1.5rem;letter-spacing:2px}.admin-stats{display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:2rem}.stat-card{background:#00000040;border:1px solid rgba(240,217,160,.1);border-radius:4px;padding:1.2rem 1.5rem;display:flex;flex-direction:column;align-items:center;min-width:110px}.stat-card-total{justify-content:center}.stat-number{font-family:Playfair Display,serif;font-size:2.6rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-label{font-family:Inter,sans-serif;font-size:.72rem;font-weight:400;color:var(--text-secondary);letter-spacing:1.5px;text-transform:uppercase;margin-top:.35rem}.stat-group{background:#00000040;border:1px solid rgba(240,217,160,.1);border-radius:4px;padding:.9rem 1.25rem;display:flex;flex-direction:column;gap:.4rem;min-width:170px}.stat-group-title{font-family:Inter,sans-serif;font-size:.7rem;font-weight:500;color:var(--text-secondary);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.15rem}.stat-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.stat-tag{font-family:Inter,sans-serif;font-size:.82rem;color:var(--text-primary);opacity:.85}.stat-count{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.tag-competitive{color:#e8795a}.tag-good-time{color:var(--accent-green)}.tag-volunteer{color:#7eb8da}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif;font-size:.88rem}.admin-table thead th{text-align:left;font-weight:500;font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);padding:.6rem .75rem;border-bottom:1px solid rgba(240,217,160,.15);white-space:nowrap}.admin-table tbody tr{border-bottom:1px solid rgba(240,217,160,.06);transition:background .15s ease}.admin-table tbody tr:hover{background:#f0d9a008}.admin-table tbody td{padding:.65rem .75rem;color:var(--text-primary);vertical-align:middle}.td-phone{font-variant-numeric:tabular-nums;white-space:nowrap}.td-date{white-space:nowrap;color:var(--text-secondary);font-size:.82rem}.dashboard{display:flex;flex-direction:column;gap:1.5rem;max-width:900px}.dashboard-leaderboard{background:#0003;border:1px solid rgba(240,217,160,.08);border-radius:6px;padding:1rem 1.25rem}.dashboard-leaderboard-title{font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.75px;color:var(--text-secondary);margin-bottom:.75rem}.dashboard-leaderboard-list{display:flex;flex-direction:column;gap:.5rem}.dashboard-leaderboard-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:#00000026;border-radius:4px;border-left:3px solid transparent}.dashboard-leaderboard-row--1{border-left-color:#e8c547;background:#e8c5470f}.dashboard-leaderboard-row--2{border-left-color:#b0b0b0;background:#b0b0b00a}.dashboard-leaderboard-row--3{border-left-color:#cd7f32;background:#cd7f320a}.dashboard-leaderboard-rank{font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);min-width:2rem}.dashboard-leaderboard-row--1 .dashboard-leaderboard-rank{color:#e8c547}.dashboard-leaderboard-row--2 .dashboard-leaderboard-rank{color:#b0b0b0}.dashboard-leaderboard-row--3 .dashboard-leaderboard-rank{color:#cd7f32}.dashboard-leaderboard-name{font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-primary);flex:1}.dashboard-leaderboard-score{font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.75rem}.dashboard-card{background:#0003;border:1px solid rgba(240,217,160,.08);border-radius:6px;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.dashboard-card--complete{border-color:#4ecca340}.dashboard-card-header{display:flex;justify-content:space-between;align-items:baseline}.dashboard-card-name{font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-primary)}.dashboard-card-count{font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.dashboard-card-bar{width:100%;height:4px;background:#00000040;border-radius:2px;overflow:hidden}.dashboard-card-bar-fill{height:100%;background:var(--accent-green);border-radius:2px;transition:width .3s ease}.dashboard-card-puzzles{display:flex;flex-direction:column;gap:0}.dashboard-puzzle-row{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-bottom:1px solid rgba(240,217,160,.04)}.dashboard-puzzle-row:last-child{border-bottom:none}.dashboard-puzzle-num{font-family:Inter,sans-serif;font-size:.7rem;font-weight:500;color:var(--text-secondary);opacity:.5;min-width:1.2rem;text-align:right}.dashboard-puzzle-title{font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-primary);opacity:.7;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-puzzle-row--done .dashboard-puzzle-title{opacity:.4}.dashboard-puzzle-status{font-family:Inter,sans-serif;font-size:.75rem;color:var(--text-secondary);opacity:.4;white-space:nowrap}.dashboard-puzzle-row--done .dashboard-puzzle-status{color:var(--accent-green);opacity:1;font-weight:600}.dashboard-puzzle-row--progress .dashboard-puzzle-status{color:var(--text-secondary);opacity:.7;font-size:.7rem}.vibe-badge{display:inline-block;font-size:.76rem;font-weight:500;letter-spacing:.5px;padding:.2rem .6rem;border-radius:3px;white-space:nowrap}.vibe-competitive{background:#e8795a1f;color:#e8795a;border:1px solid rgba(232,121,90,.25)}.vibe-good-time{background:#4ecca31a;color:var(--accent-green);border:1px solid rgba(78,204,163,.2)}.vibe-volunteer{background:#7eb8da1a;color:#7eb8da;border:1px solid rgba(126,184,218,.2)}.admin-loading,.admin-empty{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-secondary);text-align:center;padding:3rem 1rem}.admin-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid rgba(240,217,160,.12)}.admin-tab{font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;padding:.6rem 1.5rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.admin-tab:hover{color:var(--text-primary);background:none}.admin-tab-active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.team-manager{display:flex;flex-direction:column;gap:1.5rem}.team-create-form{display:flex;gap:.75rem;align-items:center}.team-name-input{max-width:260px}.team-create-btn{font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);background:var(--btn-bg);border:1px solid var(--btn-border);padding:.55rem 1.2rem;cursor:pointer;transition:background .15s ease;white-space:nowrap}.team-create-btn:hover{background:var(--btn-hover)}.team-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding-bottom:.5rem}.team-column{min-height:120px;background:#0003;border:1px solid rgba(240,217,160,.08);border-radius:4px;display:flex;flex-direction:column;transition:border-color .15s ease,background .15s ease}.team-column-unassigned{border-color:#f0d9a026}.team-drag-over{border-color:#f0d9a066;background:#f0d9a00a}.team-column-header{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;border-bottom:1px solid rgba(240,217,160,.08)}.team-column-title{font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.team-column-count{font-family:Playfair Display,serif;font-size:.95rem;font-weight:700;color:var(--text-secondary)}.team-members{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.35rem;min-height:60px}.team-empty{font-family:Inter,sans-serif;font-size:.75rem;color:var(--text-secondary);opacity:.5;text-align:center;padding:1rem .5rem}.member-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#00000040;border:1px solid rgba(240,217,160,.1);border-radius:3px;padding:.45rem .65rem;cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,transform .1s ease}.member-card:hover{border-color:#f0d9a040}.member-card:active{cursor:grabbing}.member-dragging{opacity:.4;transform:scale(.95)}.member-name{font-family:Inter,sans-serif;font-size:.82rem;font-weight:400;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-vibe{font-size:.65rem;padding:.1rem .4rem;flex-shrink:0}.team-delete-btn{font-family:Inter,sans-serif;font-size:.68rem;font-weight:400;color:var(--text-secondary);background:none;border:none;border-top:1px solid rgba(240,217,160,.06);padding:.45rem;cursor:pointer;opacity:.5;transition:opacity .15s ease,color .15s ease;letter-spacing:0;text-transform:none}.team-delete-btn:hover{opacity:1;color:#e85454;background:none}.team-sidebar{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(240,217,160,.08)}.team-sidebar-group{display:flex;flex-direction:column;gap:.3rem}.team-sidebar-title{font-family:Inter,sans-serif;font-size:.7rem;font-weight:500;color:var(--text-secondary);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.15rem}.team-sidebar-name{font-family:Inter,sans-serif;font-size:.82rem;color:var(--text-primary);opacity:.7}.team-column-title-link{text-decoration:none;color:inherit;transition:opacity .2s}.team-column-title-link:hover{opacity:.7}.team-link-btn{font-family:Inter,sans-serif;font-size:.7rem;letter-spacing:.5px;padding:.2rem .6rem;border:1px solid rgba(78,204,163,.3);background:transparent;color:var(--accent-green);border-radius:4px;cursor:pointer;transition:border-color .2s,background .2s;white-space:nowrap}.team-link-btn:hover{border-color:#4ecca399;background:#4ecca314}.admin-team-page{max-width:560px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:2rem}.admin-team-back{font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary);text-decoration:none;letter-spacing:1px;transition:color .2s}.admin-team-back:hover{color:var(--text-primary)}.admin-team-form{display:flex;flex-direction:column;gap:1rem}.admin-team-field{display:flex;flex-direction:column;gap:.3rem}.admin-team-label{font-family:Inter,sans-serif;font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary)}.admin-team-save{align-self:flex-start;font-family:Inter,sans-serif;font-size:.8rem;letter-spacing:1px;padding:.5rem 1.5rem;border:1px solid var(--btn-border);background:transparent;color:var(--text-primary);cursor:pointer;transition:background .2s;margin-top:.5rem}.admin-team-save:hover{background:var(--btn-hover)}.admin-team-section{display:flex;flex-direction:column;gap:.75rem}.admin-team-section-title{font-family:Playfair Display,serif;font-weight:600;font-size:1.1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.admin-team-link-row{display:flex;align-items:center;gap:.75rem}.admin-team-slug{font-family:Inter,sans-serif;font-size:.85rem;color:var(--text-secondary);background:#0003;padding:.4rem .75rem;border-radius:4px}.admin-team-members{display:flex;flex-direction:column;gap:.4rem}.admin-team-member{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:#0003;border:1px solid rgba(240,217,160,.08);border-radius:4px}.team-page{--tp-bg: #0d1117;--tp-surface: #161b22;--tp-border: rgba(255, 255, 255, .08);--tp-border-hover: rgba(255, 255, 255, .16);--tp-text: #e6edf3;--tp-text-muted: #8b949e;--tp-accent: #58a6ff;--tp-accent-subtle: rgba(88, 166, 255, .15);--tp-green: #3fb950;--tp-green-subtle: rgba(63, 185, 80, .15);--tp-red: #f85149;--tp-red-subtle: rgba(248, 81, 73, .15);--tp-radius: 12px;--tp-radius-sm: 8px;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1.25rem;background:var(--tp-bg);color:var(--tp-text);position:relative;z-index:1}.team-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tp-bg);z-index:-1}.team-page-content{width:100%;max-width:520px;display:flex;flex-direction:column;align-items:stretch;gap:1.25rem}.team-page-loading,.team-page-not-found{text-align:center;color:var(--tp-text-muted)}.team-page-header{display:flex;align-items:baseline;gap:.75rem}.team-page-title{font-family:Inter,sans-serif;font-weight:600;font-size:clamp(1.5rem,5vw,2rem);color:var(--tp-text);text-shadow:none;letter-spacing:-.02em}.team-page-edit-btn{font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:0;padding:.3rem .75rem;border:1px solid var(--tp-border);border-radius:6px;background:transparent;color:var(--tp-text-muted);cursor:pointer;transition:all .15s ease}.team-page-edit-btn:hover{background:var(--tp-surface);border-color:var(--tp-border-hover);color:var(--tp-text)}.team-page-rename{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.team-page-name-input{font-family:Inter,sans-serif;font-size:1.25rem;font-weight:600;max-width:280px;background:var(--tp-surface);border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);color:var(--tp-text);padding:.5rem .75rem}.team-page-name-input:focus{border-color:var(--tp-accent);outline:none}.team-page-save-btn,.team-page-cancel-btn{font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:0;padding:.45rem 1rem;border:1px solid var(--tp-border);border-radius:6px;background:transparent;color:var(--tp-text);cursor:pointer;transition:all .15s ease}.team-page-save-btn{background:var(--tp-accent-subtle);border-color:#58a6ff4d;color:var(--tp-accent)}.team-page-save-btn:hover{background:#58a6ff40}.team-page-cancel-btn{color:var(--tp-text-muted)}.team-page-cancel-btn:hover{background:var(--tp-surface);color:var(--tp-text)}.team-page-location{font-family:Inter,sans-serif;font-size:.9rem;color:var(--tp-text-muted)}.team-page-location-link{color:var(--tp-accent);text-decoration:none;transition:opacity .15s}.team-page-location-link:hover{opacity:.8}.team-page-count{font-family:Inter,sans-serif;font-weight:400;font-size:.85rem;color:var(--tp-text-muted);text-transform:lowercase}.team-page-members{width:100%;display:flex;flex-direction:column;gap:0;background:var(--tp-surface);border:1px solid var(--tp-border);border-radius:var(--tp-radius);overflow:hidden}.team-page-member{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--tp-border)}.team-page-member:last-child{border-bottom:none}.team-page-member-name{font-family:Inter,sans-serif;font-weight:400;font-size:.95rem;color:var(--tp-text)}.team-page .vibe-badge{font-size:.72rem;border-radius:999px;padding:.2rem .6rem;border:none}.team-page-empty{font-family:Inter,sans-serif;font-weight:400;font-style:normal;font-size:.9rem;color:var(--tp-text-muted);opacity:.7;text-align:center;padding:1.5rem}.team-page-message{font-family:Inter,sans-serif;font-weight:400;font-size:.9rem;color:var(--tp-text-muted)}.team-page button:not(.connections-word),.team-page .btn{font-family:Inter,sans-serif;font-weight:500;letter-spacing:0;color:var(--tp-text);background:var(--tp-surface);border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);padding:.6rem 1.25rem;transition:all .15s ease}.team-page button:not(.connections-word):hover,.team-page .btn:hover{background:#ffffff0f;border-color:var(--tp-border-hover)}.team-page input,.team-page select,.team-page textarea{color:var(--tp-text);background:var(--tp-surface);border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);padding:.6rem .85rem}.team-page input::placeholder,.team-page textarea::placeholder{color:var(--tp-text-muted);opacity:.6}.team-page input:focus,.team-page select:focus,.team-page textarea:focus{border-color:var(--tp-accent);outline:none;box-shadow:0 0 0 3px #58a6ff1a}button,.btn{font-family:Playfair Display,serif;letter-spacing:2px;color:var(--text-primary);background:var(--btn-bg);border:1px solid var(--btn-border);padding:.75rem 2rem;cursor:pointer;transition:background .2s ease}button:hover,.btn:hover{background:var(--btn-hover)}input,select,textarea{font-family:Inter,sans-serif;color:var(--text-primary);background:var(--input-bg);border:.5px solid var(--input-border);padding:.65rem .85rem;font-size:1rem;outline:none;transition:border-color .2s ease}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.6}input:focus,select:focus,textarea:focus{border-color:#f0d9a073}.doodles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.doodle{position:absolute;opacity:.14}.doodle-ghost-1{top:8%;right:6%;opacity:.16;transform:rotate(8deg);animation:doodle-float 8s ease-in-out infinite}.doodle-ghost-2{bottom:18%;left:5%;opacity:.12;transform:rotate(-6deg);animation:doodle-float 10s ease-in-out infinite 2s}.doodle-ghost-3{top:45%;left:3%;opacity:.1;transform:rotate(4deg);animation:doodle-float 12s ease-in-out infinite 4s}.doodle-cat{bottom:30%;right:4%;opacity:.13;transform:rotate(-3deg)}.doodle-star-1{top:12%;left:15%;opacity:.18;animation:doodle-twinkle 4s ease-in-out infinite}.doodle-star-2{top:30%;right:18%;opacity:.14;animation:doodle-twinkle 5s ease-in-out infinite 1s}.doodle-star-3{bottom:25%;left:22%;opacity:.16;animation:doodle-twinkle 6s ease-in-out infinite 2s}.doodle-star-4{top:55%;right:10%;opacity:.12;animation:doodle-twinkle 4.5s ease-in-out infinite .5s}.doodle-star-5{bottom:10%;right:25%;opacity:.15;animation:doodle-twinkle 5.5s ease-in-out infinite 3s}.doodle-sparkle-1{top:20%;left:8%;opacity:.16;animation:doodle-twinkle 3s ease-in-out infinite .5s}.doodle-sparkle-2{top:65%;right:7%;opacity:.13;animation:doodle-twinkle 3.5s ease-in-out infinite 1.5s}.doodle-sparkle-3{bottom:40%;left:30%;opacity:.11;animation:doodle-twinkle 4s ease-in-out infinite 2.5s}@keyframes doodle-float{0%,to{transform:translateY(0) rotate(var(--r, 0deg))}50%{transform:translateY(-10px) rotate(var(--r, 0deg))}}@keyframes doodle-twinkle{0%,to{opacity:inherit}50%{opacity:.06}}.section-divider{display:flex;align-items:center;justify-content:center;gap:0;width:100%;max-width:320px;padding:1.5rem 0 .5rem;position:relative;z-index:2}.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(240,217,160,.2) 30%,rgba(240,217,160,.2) 70%,transparent)}.divider-dot{width:4px;height:4px;border-radius:50%;background:#f0d9a040;flex-shrink:0}.divider-dot-center{width:6px;height:6px;background:#f0d9a066;box-shadow:0 0 8px #dc281e4d}.rsvp-section{width:100%;max-width:480px;position:relative;z-index:2;padding:2rem 0 4rem}.rsvp-heading{font-family:Playfair Display,serif;font-weight:700;font-size:2rem;text-align:center;color:var(--text-primary);text-shadow:0 0 40px rgba(220,40,30,.35);margin-bottom:2rem;letter-spacing:3px;cursor:pointer}.rsvp-form{display:flex;flex-direction:column;gap:1.6rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-fieldset{border:none;padding:0}.form-label,.form-fieldset legend{font-family:Inter,sans-serif;font-weight:500;font-size:.85rem;color:var(--text-primary);letter-spacing:1px;text-transform:uppercase}.form-label-sm{font-family:Inter,sans-serif;font-weight:400;font-size:.8rem;color:var(--text-secondary)}.form-input{width:100%;font-family:Inter,sans-serif;font-size:1rem;color:var(--text-primary);background:var(--input-bg);border:.5px solid var(--input-border);border-radius:2px;padding:.7rem .9rem;outline:none;transition:border-color .2s ease}.form-input::placeholder{color:var(--text-secondary);opacity:.5}.form-input:focus{border-color:#f0d9a073}.form-input-time{width:auto;min-width:130px}input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.8) sepia(.5) hue-rotate(-10deg)}.form-helper{font-family:Inter,sans-serif;font-weight:300;font-size:.78rem;color:var(--text-secondary);opacity:.7;font-style:italic}.radio-group{display:flex;flex-direction:column;gap:.65rem;margin-top:.35rem}.radio-option{display:flex;align-items:center;gap:.65rem;cursor:pointer;position:relative}.radio-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.radio-mark{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--input-border);background:var(--input-bg);flex-shrink:0;position:relative;transition:border-color .2s ease}.radio-option input[type=radio]:checked+.radio-mark{border-color:var(--text-primary)}.radio-option input[type=radio]:checked+.radio-mark:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:var(--text-primary)}.radio-option input[type=radio]:focus-visible+.radio-mark{border-color:#f0d9a099;box-shadow:0 0 0 2px #f0d9a026}.radio-label-text{font-family:Inter,sans-serif;font-weight:400;font-size:.95rem;color:var(--text-primary)}.custom-time-row{display:flex;gap:1rem;margin-top:.75rem;padding-left:1.8rem}.form-group-inline{flex:1}.form-error{font-family:Inter,sans-serif;font-size:.85rem;color:#e85454;text-align:center}.rsvp-submit{font-family:Playfair Display,serif;font-size:1rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-primary);background:var(--btn-bg);border:1px solid var(--btn-border);padding:.9rem 2.5rem;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;margin-top:.5rem;align-self:center}.rsvp-submit:hover:not(:disabled){background:var(--btn-hover);box-shadow:0 0 25px #c81e1e33}.rsvp-submit:disabled{opacity:.5;cursor:not-allowed}.rsvp-confirmation{text-align:center;padding:3rem 1rem;animation:fade-in-up .8s ease-out both}.rsvp-confirmation-text{font-family:Playfair Display,serif;font-style:italic;font-weight:700;font-size:1.6rem;color:var(--text-primary);text-shadow:0 0 40px rgba(220,40,30,.35)}.calendar-links{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:center;flex-wrap:wrap}.calendar-link{display:inline-block;font-family:Playfair Display,serif;font-size:.9rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-primary);background:var(--btn-bg);border:1px solid var(--btn-border);padding:.65rem 1.8rem;text-decoration:none;transition:background .2s ease,box-shadow .2s ease}.calendar-link:hover{background:var(--btn-hover);box-shadow:0 0 20px #c81e1e33}.rsvp-happy-cat{margin-bottom:1rem;filter:drop-shadow(0 0 20px rgba(78,204,163,.3));animation:happy-cat-bob 3s ease-in-out infinite}@keyframes happy-cat-bob{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-6px) rotate(1deg)}60%{transform:translateY(-3px) rotate(-1deg)}}.cat-tail{transform-origin:86px 98px;animation:cat-tail-wag 1.2s ease-in-out infinite}@keyframes cat-tail-wag{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}.rsvp-declined{animation:fade-in-up .8s ease-out both}.rsvp-declined-ghost{margin-bottom:1rem;filter:drop-shadow(0 0 20px rgba(78,204,163,.3));animation:sad-ghost-bob 3s ease-in-out infinite}@keyframes sad-ghost-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.rsvp-declined-sub{font-family:Inter,sans-serif;font-weight:300;font-size:.95rem;color:var(--text-secondary);margin-top:1rem;line-height:1.6;max-width:320px;margin-left:auto;margin-right:auto}.rsvp-declined-fine{font-family:Playfair Display,serif;font-style:italic;font-weight:700;font-size:1.1rem;color:var(--text-secondary);margin-top:1.2rem;opacity:.5}.rsvp-declined-tiny{font-family:Inter,sans-serif;font-weight:300;font-size:.75rem;color:var(--text-secondary);opacity:.45;margin-top:2rem;max-width:280px;margin-left:auto;margin-right:auto;line-height:1.5}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.broadcast-panel{display:flex;flex-direction:column;gap:1.25rem;max-width:600px}.broadcast-audience{display:flex;flex-direction:column;gap:.4rem}.broadcast-select{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-primary);background:var(--input-bg);border:.5px solid var(--input-border);border-radius:2px;padding:.6rem .9rem;outline:none;transition:border-color .2s ease;cursor:pointer}.broadcast-select:focus{border-color:#f0d9a073}.broadcast-preview{background:#ffffff08;border:.5px solid var(--input-border);border-radius:2px;padding:.75rem .9rem}.broadcast-preview-label{font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.broadcast-preview-list{display:flex;flex-wrap:wrap;gap:.35rem}.broadcast-preview-name{font-family:Inter,sans-serif;font-size:.8rem;color:var(--text-primary);background:#4ecca31a;border:.5px solid rgba(78,204,163,.25);border-radius:2px;padding:.2rem .55rem}.broadcast-compose{display:flex;flex-direction:column;gap:.5rem}.broadcast-textarea{width:100%;min-height:100px;resize:vertical;font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-primary);background:var(--input-bg);border:.5px solid var(--input-border);border-radius:2px;padding:.75rem .9rem;outline:none;transition:border-color .2s ease}.broadcast-textarea:focus{border-color:#f0d9a073}.broadcast-meta{display:flex;justify-content:space-between;font-family:Inter,sans-serif;font-size:.75rem;color:var(--text-secondary);opacity:.7}.broadcast-send-btn{align-self:flex-start;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);background:var(--btn-bg);border:1px solid var(--btn-border);padding:.6rem 1.5rem;cursor:pointer;transition:background .15s ease}.broadcast-send-btn:hover:not(:disabled){background:var(--btn-hover)}.broadcast-send-btn:disabled{opacity:.4;cursor:not-allowed}.broadcast-confirm{background:#0000004d;border:1px solid rgba(240,217,160,.15);border-radius:4px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.broadcast-confirm-text{font-family:Inter,sans-serif;font-size:.9rem;color:var(--text-primary)}.broadcast-confirm-actions{display:flex;gap:.75rem}.broadcast-confirm-yes{font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);background:#4ecca326;border:1px solid rgba(78,204,163,.4);padding:.5rem 1.2rem;cursor:pointer;transition:background .15s ease}.broadcast-confirm-yes:hover:not(:disabled){background:#4ecca340}.broadcast-confirm-no{font-family:Inter,sans-serif;font-size:.8rem;font-weight:400;color:var(--text-secondary);background:none;border:1px solid rgba(240,217,160,.15);padding:.5rem 1.2rem;cursor:pointer;transition:background .15s ease}.broadcast-confirm-no:hover:not(:disabled){background:#f0d9a00d}.broadcast-result{font-family:Inter,sans-serif;font-size:.85rem;color:var(--accent-green);padding:.6rem .9rem;background:#4ecca314;border:1px solid rgba(78,204,163,.2);border-radius:3px}.broadcast-result-error{color:#e85454;background:#e8545414;border-color:#e8545433}.message-log{display:flex;flex-direction:column;gap:1rem}.message-filters{display:flex;gap:0;border-bottom:1px solid rgba(240,217,160,.1)}.message-filter-btn{font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;padding:.45rem 1rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.message-filter-btn:hover{color:var(--text-primary);background:none}.message-filter-active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.message-list{display:flex;flex-direction:column;gap:0}.message-row{display:grid;grid-template-columns:1.5rem 7rem 8rem 1fr 4.5rem 8rem;align-items:center;gap:.5rem;padding:.55rem .5rem;border-bottom:1px solid rgba(240,217,160,.05);font-family:Inter,sans-serif;font-size:.82rem;transition:background .12s ease}.message-row:hover{background:#f0d9a008}.message-row-incoming{background:#4ecca30a}.message-row-incoming:hover{background:#4ecca314}.message-dir{font-weight:700;font-size:.9rem;text-align:center}.message-dir-out{color:var(--text-secondary)}.message-dir-in{color:var(--accent-green)}.message-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-phone{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.78rem;white-space:nowrap}.message-body{color:var(--text-primary);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-status{font-size:.7rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase;text-align:center}.message-status-sent,.message-status-delivered,.message-status-received{color:var(--accent-green)}.message-status-failed{color:#e85454}.message-time{color:var(--text-secondary);font-size:.75rem;white-space:nowrap;text-align:right}.message-broadcast-group{border:1px solid rgba(240,217,160,.08);border-radius:3px;margin:.25rem 0}.message-broadcast-header{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;background:#00000026;border:none;border-bottom:1px solid rgba(240,217,160,.06);cursor:pointer;font-family:Inter,sans-serif;font-size:.82rem;color:var(--text-primary);letter-spacing:0;text-transform:none;transition:background .12s ease}.message-broadcast-header:hover{background:#00000040}.message-broadcast-title{font-weight:500;flex:1;text-align:left}.message-broadcast-toggle{font-size:1rem;color:var(--text-secondary);width:1.5rem;text-align:center}.message-broadcast-items{padding-left:.5rem}@media (max-width: 768px){.message-row{grid-template-columns:1.5rem 1fr;grid-template-rows:auto auto auto;gap:.15rem .5rem;padding:.65rem .5rem}.message-name{grid-column:2}.message-phone{display:none}.message-body{grid-column:1 / -1;white-space:normal}.message-status,.message-time{grid-column:2;text-align:left}}.ghost-laugh-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;overflow:hidden}.ghost-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#dc1e1459,#960a0a33);animation:ghost-flash-anim .5s ease-out forwards}.ghost-flash-2{animation:ghost-flash-anim .3s ease-out .4s forwards;opacity:0;background:#c8141426}@keyframes ghost-flash-anim{0%{opacity:1}to{opacity:0}}.ghost-laugh-container{position:absolute;bottom:0;animation:ghost-rise 3s cubic-bezier(.22,.61,.36,1) forwards}@keyframes ghost-rise{0%{transform:translateY(60%) scale(.5);opacity:0}12%{opacity:1}40%{transform:translateY(-35vh) scale(1);opacity:1}60%{transform:translateY(-42vh) scale(1.06);opacity:1}78%{transform:translateY(-45vh) scale(1.04);opacity:.85}to{transform:translateY(-55vh) scale(.9);opacity:0}}.ghost-laugh-svg{filter:drop-shadow(0 0 25px rgba(78,204,163,.45)) drop-shadow(0 0 60px rgba(78,204,163,.15));animation:ghost-wobble .4s ease-in-out infinite alternate}@keyframes ghost-wobble{0%{transform:rotate(-2deg) translate(-3px)}to{transform:rotate(2deg) translate(3px)}}.ghost-arm-l{transform-origin:16px 70px;animation:arm-wave-l .35s ease-in-out infinite alternate}.ghost-arm-r{transform-origin:104px 70px;animation:arm-wave-r .35s ease-in-out infinite alternate}@keyframes arm-wave-l{0%{transform:rotate(0)}to{transform:rotate(-15deg)}}@keyframes arm-wave-r{0%{transform:rotate(0)}to{transform:rotate(15deg)}}.connections-play-link{display:inline-block;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;letter-spacing:0;color:var(--tp-text, #e6edf3);background:var(--tp-accent-subtle, rgba(88, 166, 255, .15));border:1px solid rgba(88,166,255,.3);border-radius:8px;padding:.75rem 2rem;text-decoration:none;text-align:center;margin-top:1rem;transition:all .15s ease}.connections-play-link:hover{background:#58a6ff40;border-color:#58a6ff80}.connections-subtitle{font-family:Inter,sans-serif;font-size:1rem;font-weight:400;color:var(--tp-text-muted, #8b949e);text-shadow:none;margin-bottom:.5rem}.connections-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.25rem}.connections-grid--shake{animation:connections-shake .4s ease-in-out}@keyframes connections-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.connections-grid--shake .connections-word--selected{border-color:var(--tp-red, #f85149);background:var(--tp-red-subtle, rgba(248, 81, 73, .15))}.connections-word{font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;color:var(--tp-text, #e6edf3);background:var(--tp-surface, #161b22);border:1px solid var(--tp-border, rgba(255, 255, 255, .08));border-radius:8px;padding:.9rem .4rem;cursor:pointer;text-align:center;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease;word-break:break-word}.connections-word:hover:not(:disabled){background:#ffffff0f;border-color:var(--tp-border-hover, rgba(255, 255, 255, .16));transform:translateY(-1px)}.connections-word--selected{border-color:var(--tp-accent, #58a6ff);background:var(--tp-accent-subtle, rgba(88, 166, 255, .15));color:var(--tp-text, #e6edf3);transform:translateY(-1px)}.connections-word--selected:hover:not(:disabled){background:#58a6ff33;border-color:var(--tp-accent, #58a6ff)}.connections-word:disabled{opacity:.35;cursor:not-allowed}.connections-actions{display:flex;gap:.6rem;justify-content:center;margin-bottom:1rem}.connections-shuffle-btn,.connections-submit-btn{font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:0;color:var(--tp-text, #e6edf3);background:var(--tp-surface, #161b22);border:1px solid var(--tp-border, rgba(255, 255, 255, .08));border-radius:8px;padding:.6rem 1.5rem;cursor:pointer;transition:all .15s ease}.connections-submit-btn{background:var(--tp-green-subtle, rgba(63, 185, 80, .15));border-color:#3fb9504d;color:var(--tp-green, #3fb950)}.connections-shuffle-btn:hover:not(:disabled){background:#ffffff0f;border-color:var(--tp-border-hover, rgba(255, 255, 255, .16))}.connections-submit-btn:hover:not(:disabled){background:#3fb95040;border-color:#3fb95080}.connections-shuffle-btn:disabled,.connections-submit-btn:disabled{opacity:.35;cursor:not-allowed}.connections-cooldown{text-align:center;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--tp-red, #f85149);background:var(--tp-red-subtle, rgba(248, 81, 73, .15));border:1px solid rgba(248,81,73,.25);border-radius:var(--tp-radius-sm, 8px);padding:.75rem 1rem;margin-bottom:1rem}.connections-solved-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.connections-solved-group{border:1px solid;border-radius:var(--tp-radius-sm, 8px);padding:.85rem 1.1rem;display:flex;flex-direction:column;gap:.25rem}.connections-solved-category{font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;color:var(--tp-text, #e6edf3);text-transform:uppercase;letter-spacing:.5px;text-align:center}.connections-solved-words{font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:#ffffffb3;text-transform:uppercase;letter-spacing:.3px;text-align:center}.connections-phase2{display:flex;flex-direction:column;gap:1rem}.connections-phase2-prompt{font-family:Inter,sans-serif;font-size:.9rem;color:var(--tp-text-muted, #8b949e);text-align:center;margin-bottom:.25rem}.connections-category-row{display:flex;flex-direction:column;gap:.5rem}.connections-solved-group--phase2{margin-bottom:0}.connections-category-input-wrap{display:flex;gap:.5rem;align-items:center}.connections-category-input{flex:1}.connections-category--correct{border-color:var(--tp-green, #3fb950)!important;background:var(--tp-green-subtle, rgba(63, 185, 80, .15))!important;color:var(--tp-green, #3fb950)!important}.connections-category--wrong{border-color:var(--tp-red, #f85149)!important;background:var(--tp-red-subtle, rgba(248, 81, 73, .15))!important}.connections-category-check-btn{font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:0;color:var(--tp-text, #e6edf3);background:var(--tp-surface, #161b22);border:1px solid var(--tp-border, rgba(255, 255, 255, .08));border-radius:6px;padding:.5rem 1rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.connections-category-check-btn:hover{background:#ffffff0f;border-color:var(--tp-border-hover, rgba(255, 255, 255, .16))}.connections-final{display:flex;flex-direction:column;gap:1rem;align-items:center}.connections-final-input-wrap{display:flex;gap:.5rem;width:100%;max-width:500px}.connections-final-input{flex:1}.connections-congrats{text-align:center;padding:1.5rem 1rem}.connections-congrats h2{font-family:Inter,sans-serif;font-size:1.4rem;font-weight:600;color:var(--tp-green, #3fb950);text-shadow:none;margin-bottom:.5rem}.connections-congrats p{font-family:Inter,sans-serif;font-size:.9rem;color:var(--tp-text-muted, #8b949e)}.connections-final-display{margin-top:1rem;padding:1rem;background:var(--tp-green-subtle, rgba(63, 185, 80, .15));border:1px solid rgba(63,185,80,.2);border-radius:var(--tp-radius-sm, 8px);text-align:center}.connections-final-label{font-family:Inter,sans-serif;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--tp-text-muted, #8b949e);display:block;margin-bottom:.35rem}.connections-final-text{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;color:var(--tp-text, #e6edf3)}.connections-admin{display:flex;flex-direction:column;gap:1rem}.connections-admin-title{font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;color:var(--text-primary);text-shadow:none}.connections-admin-groups{display:flex;flex-direction:column;gap:1rem}.connections-admin-group{border-left:3px solid;border-radius:0 6px 6px 0;padding:1rem 1.25rem;background:#0000001f;display:flex;flex-direction:column;gap:.6rem}.connections-admin-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.1rem}.connections-admin-group-label{font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.75px;color:var(--text-secondary)}.connections-admin-group-header-right{display:flex;align-items:center;gap:.5rem}.connections-admin-colors{display:flex;gap:.3rem}.connections-admin-remove-btn{font-size:1.1rem;line-height:1;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:.15rem .4rem;border-radius:4px;opacity:.5;transition:opacity .15s,color .15s}.connections-admin-remove-btn:hover{opacity:1;color:#e85454}.connections-admin-add-btn{font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-secondary);background:none;border:1px dashed rgba(240,217,160,.15);border-radius:6px;padding:.6rem;cursor:pointer;text-align:center;transition:all .15s}.connections-admin-add-btn:hover{border-color:#f0d9a04d;color:var(--text-primary)}.connections-admin-color-btn{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color .15s ease,transform .1s ease}.connections-admin-color-btn:hover{border-color:#f0d9a066;transform:scale(1.15)}.connections-admin-color-active{border-color:var(--text-primary)!important}.connections-admin-words{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}.connections-admin-word-input{font-size:.82rem;text-align:center;padding:.5rem .35rem}.connections-admin-actions{display:flex;align-items:center;gap:1rem}.connections-admin-message{font-family:Inter,sans-serif;font-size:.85rem;color:var(--accent-green)}.connections-admin-message-error{color:#e85454}.connections-admin-progress{margin-top:.5rem}.connections-admin-progress-title{font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.75px;color:var(--text-secondary);margin-bottom:.5rem}.connections-admin-progress-list{display:flex;flex-direction:column;gap:.35rem}.connections-admin-progress-row{display:flex;align-items:center;gap:.75rem;padding:.4rem .65rem;background:#00000014;border-radius:4px;font-family:Inter,sans-serif;font-size:.8rem}.connections-admin-team-name{font-weight:500;color:var(--text-primary);min-width:100px}.connections-admin-team-stat{color:var(--text-secondary);font-size:.75rem}.connections-admin-team-answer{color:var(--accent-green);font-style:italic}.connections-admin-team-done{font-weight:600;color:var(--accent-green);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}@media (max-width: 600px){.connections-grid{grid-template-columns:repeat(4,1fr);gap:.35rem}.connections-word{font-size:.72rem;padding:.6rem .25rem}.connections-admin-words{grid-template-columns:repeat(2,1fr)}.connections-admin-progress-row{flex-wrap:wrap;gap:.4rem}}.puzzle-hub-progress{margin-bottom:1rem}.puzzle-hub-progress-label{display:block;font-family:Inter,sans-serif;font-size:.75rem;font-weight:400;color:var(--tp-text-muted, #8b949e);margin-bottom:.5rem}.puzzle-hub-progress-track{width:100%;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.puzzle-hub-progress-fill{height:100%;background:var(--tp-green, #3fb950);border-radius:2px;transition:width .4s ease}.puzzle-hub-list{display:flex;flex-direction:column;gap:0;background:var(--tp-surface, #161b22);border:1px solid var(--tp-border, rgba(255, 255, 255, .08));border-radius:var(--tp-radius, 12px);overflow:hidden}.puzzle-hub-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:transparent;border:none;border-bottom:1px solid var(--tp-border, rgba(255, 255, 255, .08));border-radius:0;text-decoration:none;box-shadow:none;transition:background .15s ease}.puzzle-hub-card:last-child{border-bottom:none}.puzzle-hub-card:hover{background:#ffffff08;transform:none;box-shadow:none;border-color:var(--tp-border, rgba(255, 255, 255, .08))}.puzzle-hub-card--active{background:var(--tp-accent-subtle, rgba(88, 166, 255, .08));animation:none}.puzzle-hub-card--active:hover{background:#58a6ff1f;animation:none}.puzzle-hub-card--done{opacity:.55}.puzzle-hub-card--done:hover{opacity:.8}.puzzle-hub-card-number{font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;color:var(--tp-text-muted, #8b949e);line-height:1;min-width:1.5rem;text-align:center;flex-shrink:0}.puzzle-hub-card--active .puzzle-hub-card-number{color:var(--tp-accent, #58a6ff)}.puzzle-hub-card--done .puzzle-hub-card-number{color:var(--tp-text-muted, #8b949e)}.puzzle-hub-card-body{flex:1;display:flex;flex-direction:column;gap:.15rem}.puzzle-hub-card-title{font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;color:var(--tp-text, #e6edf3)}.puzzle-hub-card--active .puzzle-hub-card-title{color:var(--tp-accent, #58a6ff)}.puzzle-hub-card-type{font-family:Inter,sans-serif;font-size:.7rem;font-weight:400;color:var(--tp-text-muted, #8b949e)}.puzzle-hub-card-check{position:relative;width:20px;height:20px;flex-shrink:0;background:var(--tp-green-subtle, rgba(63, 185, 80, .15));border-radius:50%}.puzzle-hub-card-check:after{content:"";position:absolute;top:4px;left:7px;width:5px;height:10px;border:solid var(--tp-green, #3fb950);border-width:0 2px 2px 0;transform:rotate(45deg)}.puzzle-admin{display:flex;flex-direction:column;gap:1rem;max-width:700px}.puzzle-admin-header{display:flex;align-items:center;justify-content:space-between}.puzzle-admin-back-btn{font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:.3rem 0;transition:color .15s ease}.puzzle-admin-back-btn:hover{color:var(--text-primary)}.puzzle-admin-create{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#00000026;border:1px solid rgba(240,217,160,.1);border-radius:4px}.puzzle-admin-create-actions{display:flex;gap:.5rem}.puzzle-admin-list{display:flex;flex-direction:column;gap:.4rem}.puzzle-admin-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;background:#0000001a;border:1px solid rgba(240,217,160,.08);border-radius:3px}.puzzle-admin-row-info{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.puzzle-admin-row-title{font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;color:var(--text-primary)}.puzzle-type-badge{font-family:Inter,sans-serif;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:#0003;padding:.15rem .45rem;border-radius:3px;white-space:nowrap}.puzzle-active-badge{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);opacity:.6}.puzzle-active-badge--on{color:var(--accent-green);opacity:1}.puzzle-admin-row-actions{display:flex;gap:.35rem;flex-shrink:0}.puzzle-admin-action-btn{font-family:Inter,sans-serif;font-size:.7rem;font-weight:500;color:var(--text-secondary);background:none;border:1px solid rgba(240,217,160,.15);border-radius:3px;padding:.3rem .5rem;cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.puzzle-admin-action-btn:hover:not(:disabled){background:#f0d9a014;color:var(--text-primary)}.puzzle-admin-action-btn:disabled{opacity:.3;cursor:not-allowed}.puzzle-admin-action-btn--danger{border-color:#e8545433;color:#e85454}.puzzle-admin-action-btn--danger:hover:not(:disabled){background:#e854541a;color:#ff6b6b}.text-puzzle-prompt{font-family:Inter,sans-serif;font-size:1rem;color:var(--tp-text, #e6edf3);line-height:1.7;padding:1.25rem;background:var(--tp-surface, #161b22);border:1px solid var(--tp-border, rgba(255, 255, 255, .08));border-radius:var(--tp-radius, 12px);margin-bottom:1rem;white-space:pre-wrap}.text-puzzle-input-wrap{display:flex;gap:.5rem;margin-bottom:1rem}.text-puzzle-input{flex:1}.puzzle-edit-header{display:flex;flex-direction:column;gap:.5rem}.puzzle-edit-title-row{display:flex;gap:.5rem;align-items:center}.puzzle-edit-title-input{font-family:Inter,sans-serif;font-size:1.2rem;font-weight:600;flex:1}.puzzle-edit-save-title-btn{font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase;padding:.4rem .9rem;white-space:nowrap}.puzzle-edit-save-title-btn:disabled{opacity:.3;cursor:not-allowed}.puzzle-edit-section{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background:#0000001a;border:1px solid rgba(240,217,160,.08);border-radius:6px}.puzzle-edit-section-title{font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);margin-bottom:.25rem}.puzzle-edit-section-desc{font-family:Inter,sans-serif;font-size:.78rem;color:var(--text-secondary);margin-bottom:.25rem}.puzzle-admin-hint-section{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(240,217,160,.1)}.text-puzzle-hint{font-family:Inter,sans-serif;font-size:.95rem;color:var(--tp-text, #e6edf3);line-height:1.6;padding:1rem 1.25rem;background:var(--tp-green-subtle, rgba(63, 185, 80, .1));border:1px solid rgba(63,185,80,.2);border-radius:var(--tp-radius-sm, 8px);text-align:center;white-space:pre-wrap}.puzzle-complete-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem}.puzzle-unlocked-msg{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;color:var(--tp-green, #3fb950);text-shadow:none;text-align:center;animation:fade-in-up .6s ease-out both}.puzzle-progress-msg{font-family:Inter,sans-serif;font-size:.9rem;font-weight:400;color:var(--tp-text-muted, #8b949e);text-align:center}.puzzle-prereq-list{display:flex;flex-direction:column;gap:.4rem}.puzzle-prereq-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.3rem 0}.puzzle-prereq-option input[type=checkbox]{accent-color:var(--accent-green)}.text-puzzle-admin-form{display:flex;flex-direction:column;gap:.4rem}@media (max-width: 600px){.puzzle-admin-row{flex-direction:column;align-items:flex-start;gap:.4rem}.puzzle-admin-row-actions{flex-wrap:wrap}}
