@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes floatNotFound{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes orbFloat{0%{transform:translate(0)scale(1)}50%{transform:translate(-30px,40px)scale(1.1)}to{transform:translate(0)scale(1)}}@keyframes panda-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.1)}}@keyframes hat-wiggle{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes pom-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes ear-wiggle-left{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(4deg)}}@keyframes ear-wiggle-right{0%,to{transform:rotate(0)}25%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}@keyframes blink{0%,45%,55%,to{opacity:1}50%{opacity:.1}}@keyframes confetti-float{0%{opacity:1;transform:translateY(0)rotate(0)}50%{opacity:.7}to{opacity:1;transform:translateY(15px)rotate(360deg)}}@keyframes button-pulse{0%,to{box-shadow:0 4px 12px #ff6b9d4d}50%{box-shadow:0 4px 20px #ff6b9d80}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes borderChase{0%{background-position:0 0}to{background-position:300% 0}}@keyframes memoryBorderFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes memoryGlow{0%,to{box-shadow:0 0 20px #ffc0cb4d,0 0 40px #ffb6c133,0 0 60px #ffa07a1a}50%{box-shadow:0 0 30px #ffc0cb66,0 0 50px #ffb6c14d,0 0 70px #ffa07a33}}@keyframes memoryFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(5deg)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes gentlePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes sparklePop{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes card-enter{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes boldGrow{0%,to{color:var(--pink);transform:scale(.9)}50%{color:var(--blue);transform:scale(1.1)}}@keyframes year-pop{0%{color:var(--primary-color);transform:scale(1)}50%{color:gold;text-shadow:0 0 8px #ffd70099;transform:scale(1.2)}to{color:var(--primary-color);transform:scale(1)}}@keyframes bounce{0%,to{transform:translate(5px)scale(1.1)translateY(0)}50%{transform:translate(5px)scale(1.1)translateY(-5px)}}@keyframes wiggle{0%,to{transform:translate(5px)scale(1.1)rotate(0)}25%{transform:translate(5px)scale(1.1)rotate(-5deg)}75%{transform:translate(5px)scale(1.1)rotate(5deg)}}@keyframes shake{0%,to{transform:translate(5px)scale(1.1)translate(0)}25%{transform:translate(5px)scale(1.1)translate(-2px)}75%{transform:translate(5px)scale(1.1)translate(2px)}}@keyframes electric-pulse{0%,to{filter:brightness()saturate();box-shadow:0 6px 25px #667eea99}50%{filter:brightness(1.3)saturate(1.2);box-shadow:0 8px 30px #f093fbcc}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes panda-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes gentle-bounce{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-5px)rotate(2deg)}}@keyframes sparkle{0%,to{filter:brightness();transform:rotate(0)scale(1)}25%{filter:brightness(1.3);transform:rotate(10deg)scale(1.1)}75%{filter:brightness(1.3);transform:rotate(-10deg)scale(1.1)}}@keyframes togglePreview{0%,45%{opacity:1;transform:scale(1)}50%,95%{opacity:.3;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes toggleRaw{0%,45%{opacity:.3;transform:scale(.98)}50%,95%{opacity:1;transform:scale(1)}to{opacity:.3;transform:scale(.98)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes hat-wiggle-subtle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes pom-bounce-subtle{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes italicLine{0%,to{color:var(--pink);transform:translate(0)skew(0)}50%{color:var(--blue);transform:translate(2px)skew(10deg)}}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes danceColor{0%,to{color:var(--pink);transform:translate(0)translateY(0)}25%{color:var(--blue);transform:translate(1px)translateY(-1px)}50%{color:var(--pink);transform:translate(0)translateY(0)}75%{color:var(--blue);transform:translate(-1px)translateY(1px)}}@keyframes friendAppear{0%{opacity:0;transform:translate(-20px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes gifFlash{0%,to{color:var(--red)}50%{color:var(--blue)}}@keyframes sparkleFuse{0%{opacity:.8;stroke:var(--pink);fill:var(--pink);transform:scale(.3)}50%{opacity:.9;stroke:var(--pink);fill:var(--pink);transform:scale(.8)}to{opacity:1;stroke:var(--blue);fill:var(--blue);transform:scale(1)}}@keyframes listLineAppear{0%{color:var(--pink);opacity:.5;transform:scale(.8)}30%{opacity:1;transform:scale(1)}50%{color:var(--pink)}60%{color:var(--blue)}to{color:var(--blue);opacity:1;transform:scale(1)}}@keyframes listDotAppear{0%{opacity:0;fill:var(--pink);transform:scale(0)}10%{opacity:1;transform:scale(1)}30%{fill:var(--pink)}50%{fill:var(--pink)}60%{fill:var(--blue)}to{opacity:1;fill:var(--blue);transform:scale(1)}}@keyframes listNumberAppear{0%{opacity:0;fill:var(--pink);transform:scale(0)translateY(0)}10%{opacity:1;transform:scale(1)translateY(0)}30%{fill:var(--pink);transform:scale(1)translateY(0)}50%{fill:var(--pink);transform:scale(1)translateY(0)}60%{fill:var(--blue);transform:scale(1)translateY(0)}to{opacity:1;fill:var(--blue);transform:scale(1)translateY(0)}}@keyframes bolt-pulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.1)}}@keyframes bolt-excited{0%,to{filter:brightness(1.2);transform:rotate(-15deg)scale(1.1)}25%{filter:brightness(1.4);transform:rotate(-10deg)scale(1.2)}50%{filter:brightness(1.3);transform:rotate(-20deg)scale(1.15)}75%{filter:brightness(1.5);transform:rotate(-5deg)scale(1.25)}}@keyframes drag-hint{0%,to{opacity:.6;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}@keyframes comment-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes mischief-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes lightning-pulse{0%,to{filter:brightness();transform:scale(1)rotate(0)}50%{filter:brightness(1.2);transform:scale(1.05)rotate(5deg)}}@keyframes machine-shake{0%,to{transform:scale(1.1)}25%{transform:scale(1.12)translate(-1px)}75%{transform:scale(1.12)translate(1px)}}@keyframes drum-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes clothes-tumble{0%{transform:rotate(0)translate(0)}25%{transform:rotate(90deg)translate(2px,-2px)}50%{transform:rotate(180deg)translateY(-4px)}75%{transform:rotate(270deg)translate(-2px,-2px)}to{transform:rotate(360deg)translate(0)}}@keyframes gentle-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gentle-tumble{0%{transform:rotate(0)translate(0)}25%{transform:rotate(90deg)translate(1px,-1px)}50%{transform:rotate(180deg)translateY(-2px)}75%{transform:rotate(270deg)translate(-1px,-1px)}to{transform:rotate(360deg)translate(0)}}@keyframes photocopy-action{0%{transform:scale(1)}25%{transform:scale(1.1)}50%{color:var(--success-color);transform:scale(1.05)}75%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes imageFrame{0%,to{color:var(--pink);transform:scale(1)}50%{color:var(--blue);transform:scale(1.1)}}@keyframes linkConnect{0%,to{color:var(--pink);transform:translate(0)translateY(0)}25%{color:var(--blue);transform:translate(.5px)translateY(-.5px)}50%{color:var(--pink);transform:translate(0)translateY(0)}75%{color:var(--blue);transform:translate(-.5px)translateY(.5px)}}@keyframes paperclipBounce{0%,to{color:var(--blue);transform:translateY(0)rotate(0)}25%{color:var(--pink);transform:translateY(-1px)rotate(-2deg)}50%{color:var(--blue);transform:translateY(0)rotate(0)}75%{color:var(--pink);transform:translateY(-1px)rotate(2deg)}}@keyframes helpPulse{0%,to{color:var(--pink);transform:scale(1)}50%{color:var(--blue);transform:scale(1.1)}}events-list{& .events-container{max-width:1200px;margin:0 auto;padding:2rem}& .events-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}& .events-header h1{color:var(--text-color);margin:0}& .header-actions{align-items:center;gap:.75rem;display:flex}& .btn-view-calendar{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;text-decoration:none;transition:all .2s;display:flex}& .btn-view-calendar:hover{background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}& .events-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}& .events-list{flex-direction:column;gap:2rem;display:flex}& .events-section{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}& .events-divider{border:none;border-top:2px solid var(--border-color);margin:1rem 0}& .events-section-title{color:var(--text-secondary);grid-column:1/-1;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}& .event-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);cursor:pointer;padding:1.5rem}& .event-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}& .event-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}& .event-card-header h3{color:var(--text-color);flex:1;margin:0}& .event-title-link{color:inherit;text-decoration:none;transition:color .2s}& .event-title-link:hover{color:var(--primary-color);text-decoration:underline}& .event-card-body{margin-bottom:1rem}& .event-date{color:var(--text-color);margin-bottom:.5rem}& .event-location,& .event-attendees{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem}& .event-card-footer{margin-top:1rem}& .rsvp-badge{border-radius:12px;margin-top:.5rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}& .rsvp-badge.rsvp-yes{color:#155724;background:#d4edda}& .rsvp-badge.rsvp-maybe{color:#856404;background:#fff3cd}& .rsvp-badge.rsvp-no{color:#721c24;background:#f8d7da}& .badge-public,& .badge-private{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}& .badge-public{color:#004085;background:#cce5ff}& .badge-private{color:#383d41;background:#d6d8db}& .btn-view{background:var(--primary-color);color:#fff;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;padding:.5rem 1rem;font-weight:600}& .btn-view:hover{background:var(--primary-color-hover);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}& .btn-create-event:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));transform:translateY(-3px)scale(1.02);box-shadow:0 6px 20px #ff6b9d80}& .btn-create-event:active{transform:translateY(-1px)scale(.98)}& .empty-state{text-align:center;max-width:600px;margin:2rem auto;padding:3rem 2rem}& .party-panda{width:200px;height:200px;margin-bottom:1.5rem;animation:2s ease-in-out infinite panda-bounce;display:inline-block;position:relative}& .party-panda svg{filter:drop-shadow(0 4px 12px #0000001a);width:100%;height:100%}& .party-panda .party-hat{transform-origin:100px 60px;animation:1s ease-in-out infinite hat-wiggle}& .party-panda .hat-pom{animation:.5s ease-in-out infinite pom-bounce}& .party-panda .panda-body{transform-origin:50%;animation:2s ease-in-out infinite breathe}& .party-panda .ear-left{transform-origin:70px 60px;animation:2s ease-in-out infinite ear-wiggle-left}& .party-panda .ear-right{transform-origin:130px 60px;animation:2s ease-in-out infinite ear-wiggle-right}& .party-panda .eye-white-left,& .party-panda .eye-white-right,& .party-panda .pupil-left,& .party-panda .pupil-right{animation:4s ease-in-out infinite blink}& .party-panda .confetti-1{animation:3s ease-in-out infinite confetti-float}& .party-panda .confetti-2{animation:2.5s ease-in-out .3s infinite confetti-float}& .party-panda .confetti-3{animation:3.2s ease-in-out .6s infinite confetti-float}& .party-panda .confetti-4{animation:2.8s ease-in-out .9s infinite confetti-float}& .party-panda .confetti-5{animation:3.5s ease-in-out 1.2s infinite confetti-float}& .party-panda .confetti-6{animation:3s ease-in-out 1.5s infinite confetti-float}& .empty-state h2{color:var(--text-color);margin-bottom:1rem;font-size:1.8rem}& .empty-state .panda-message{color:var(--text-color);margin-bottom:1rem;font-size:1.1rem;line-height:1.6}& .empty-state .panda-encouragement{color:var(--primary-color);margin-bottom:2rem;font-size:1.05rem;font-weight:600;line-height:1.6}& .empty-state button{animation:2s ease-in-out infinite button-pulse}& .toggle-checkbox-label{cursor:pointer;user-select:none;align-items:center;padding:.5rem 1rem;display:flex}& .toolbar-action-bar .toggle-checkbox-label{padding:0;display:inline-flex}& .toggle-checkbox{opacity:0;cursor:pointer;width:0;height:0;position:absolute}& .toggle-checkbox-custom{background-color:var(--border-color);border-radius:28px;width:56px;height:28px;margin-right:1rem;transition:all .3s;display:inline-block;position:relative}& .toggle-checkbox-custom:after{content:"";background-color:#fff;border-radius:50%;width:24px;height:24px;transition:all .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}& .toggle-checkbox:checked+.toggle-checkbox-custom{background-color:var(--primary-color)}& .toggle-checkbox:checked+.toggle-checkbox-custom:after{left:calc(100% - 2px);transform:translate(-100%)}& .toggle-checkbox:focus+.toggle-checkbox-custom{box-shadow:0 0 0 3px #ff6b9d4d}& .toggle-label-text{color:var(--text-color);font-size:1rem;font-weight:600}& .toggle-actions{align-items:center;gap:1rem;display:flex}& .toggle-checkbox-label.icon-only{cursor:pointer;align-items:center;gap:.5rem;margin-right:0;display:flex}& .toggle-checkbox-label.icon-only .toggle-icon{font-size:1.25rem;line-height:1}& .toggle-checkbox-label.icon-only .toggle-checkbox-custom{width:44px;height:24px;margin-right:0}& .toggle-checkbox-label.icon-only .toggle-checkbox-custom:after{width:20px;height:20px;left:2px}& .toggle-checkbox-label.icon-only .toggle-checkbox:checked+.toggle-checkbox-custom:after{left:calc(100% - 2px);transform:translate(-100%)}& .event-card.deleted{opacity:.7;border-color:var(--border-color)}& .event-card.deleted:hover{opacity:.9}& .badge-deleted{color:#721c24;background:#f8d7da;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}& .deleted-info{border-top:1px solid var(--border-color);margin-top:.75rem;padding-top:.75rem}& .deleted-info p{color:var(--text-secondary);margin:.25rem 0;font-size:.85rem}& .deletion-reason{font-style:italic}& .attendee-count{font-weight:600}& .btn-restore{color:#fff;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:linear-gradient(135deg,#28a745,#20c997);border:none;width:100%;padding:.5rem 1rem;font-weight:600}& .btn-restore:hover{background:linear-gradient(135deg,#20c997,#28a745);transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}& .restore-disabled{color:var(--text-secondary);font-size:.9rem;font-style:italic}@media (prefers-color-scheme:dark){& .rsvp-badge.rsvp-yes{color:#9fdf9f;background:#1e4620}& .rsvp-badge.rsvp-maybe{color:#ffe484;background:#4a4419}& .rsvp-badge.rsvp-no{color:#f5c2c7;background:#4a1f22}& .badge-public{color:#99c9ff;background:#1a3a52}& .badge-private{color:#d6d8db;background:#2d3032}& .badge-deleted{color:#f5c2c7;background:#4a1f22}}}event-comments{& .event-comments{border-top:2px solid var(--border-color);margin-top:2rem;padding-top:2rem}& .public-event-warning{border-radius:var(--border-radius);background:linear-gradient(135deg,#ffc1071a,#ff98001a);border:2px solid #ffc1074d;border-left:4px solid #ffc107;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}& .warning-icon{flex-shrink:0;font-size:1.5rem}& .warning-text{color:var(--text-primary);flex:1;font-size:.875rem;line-height:1.5}& .warning-text strong{color:#ffc107;font-weight:600}& .guest-fields{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}& .guest-input{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.875rem;transition:all .3s}& .guest-input:focus{border-color:var(--primary-color);background:linear-gradient(135deg,#ffd70005,#ff6b9d05);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .guest-input::placeholder{color:var(--text-muted);font-style:italic}& .comments-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}& .comments-header h3{color:var(--primary-color);align-items:center;margin:0;font-size:1.25rem;display:flex}& .comments-header-right{align-items:center;gap:1rem;display:flex}& .comments-count{background:var(--accent-color);color:var(--text-on-accent);border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}& .comments-content{min-height:100px}& .loading-state{text-align:center;color:var(--text-secondary);padding:2rem}& .loading-spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .error-state{text-align:center;color:var(--text-secondary);padding:2rem}& .error-icon{opacity:.6;margin-bottom:1rem;font-size:2rem;display:block}& .comment-form{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);margin-top:2rem;margin-bottom:0;padding:1.5rem;position:relative;overflow:hidden}& .inline-reply-form{border-color:var(--primary-color);background:linear-gradient(135deg,#ffd7000d,#ff6b9d0d);margin-top:1rem;margin-bottom:1rem}& .inline-reply-container{margin-left:1rem;position:relative}& .comment-form-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}& .comment-form-title{color:var(--primary-color);margin:0;font-size:1rem;font-weight:600}& .cancel-reply-btn{color:#dc2626;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:#ef44441a;border:1px solid #fecaca;padding:.25rem .75rem;font-size:.75rem;font-weight:600}& .cancel-reply-btn:hover{background:#fee2e2}& .comment-form textarea{border:2px solid var(--border-color);border-radius:var(--border-radius);width:100%;min-height:100px;color:var(--text-primary);resize:vertical;transition:var(--transition);padding:1rem;font-family:inherit;font-size:1rem}& .comment-form .gif-picker-row{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}& .comment-form .gif-picker-row tenor-gif-picker{flex:1;margin-top:0}& .comment-form .gif-picker-row tenor-gif-picker .tenor-toggle-btn{justify-content:center;width:100%}& .comment-form .gif-picker-row #mediaSourceBtn{min-width:0;font-size:inherit;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .9rem;font-weight:600;display:inline-flex}& .comment-form textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .alias-field{margin-bottom:1rem;position:relative}& .alias-label{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}& .mischief-icon{cursor:help;font-size:1rem;transition:all .3s}& .mischief-icon:hover{transform:scale(1.3)rotate(15deg)}& .alias-input{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.875rem;transition:all .3s}& .alias-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .comment-form-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}& .btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:2px solid #0000;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}& .btn:disabled{opacity:.6;cursor:not-allowed}& .btn-secondary{color:var(--text-primary);border-color:var(--border-color)}& .btn-secondary:hover:not(:disabled){background:var(--background-alt);transform:translateY(-1px)}& .btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color)}& .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d4d}& .btn.loading .btn-text{display:none}& .btn.loading .btn-loading{display:inline}& .btn-loading{display:none}& .comments-list{flex-direction:column;gap:1rem;display:flex}& .comment-item{background:var(--card-bg);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:1.5rem;position:relative;overflow:hidden}& .comment-item:before{content:"";background:linear-gradient(180deg,var(--primary-color),var(--accent-secondary));width:3px;position:absolute;top:0;bottom:0;left:0}& .comment-thread{position:relative}& .comment-reply{margin-left:calc(var(--thread-depth)*2rem);margin-top:1rem;position:relative}& .comment-replies{position:relative}& .parent-context{background:linear-gradient(135deg,#ffd7001a,#ff6b9d1a);border-left:3px solid gold;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem;font-size:.8rem;display:flex}& .parent-context-author{color:var(--primary-color);flex-shrink:0;font-weight:600}& .parent-context-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}& .comment-item:hover{box-shadow:var(--shadow-fun);border-color:var(--primary-color);transform:translateY(-1px)}& .comment-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}& .comment-author{align-items:center;gap:.75rem;display:flex}& .comment-avatar{background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:600;display:flex}& .comment-author-info{flex:1}& .comment-author-name{color:var(--text-primary);margin-bottom:.125rem;font-weight:600}& .comment-author-link{color:inherit;transition:var(--transition);text-decoration:none}& .comment-author-link:hover{color:var(--primary-color);text-decoration:underline}& .comment-meta{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}& .comment-time{cursor:pointer;transition:var(--transition)}& .comment-time:hover{color:var(--primary-color)}& .comment-actions{align-items:center;gap:.5rem;display:flex}& .comment-action-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:.875rem}& .comment-action-btn:hover{color:var(--primary-color);background:#ff6b9d1a}& .comment-content{color:var(--text-primary);margin-bottom:1rem;line-height:1.6}& .comment-content img{max-width:100%;height:auto;box-shadow:var(--shadow);border-radius:8px;margin:.75rem 0;display:block}& .comment-content .image-blocked{background:var(--background-alt);border-radius:4px;margin:.75rem 0;padding:.5rem;display:block}& .comment-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}& .comment-reply-btn{color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:flex}& .comment-reply-btn:hover{background:var(--background-alt);transform:translateY(-1px)}& .comment-permalink{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);transition:var(--transition);border-radius:4px;padding:.25rem .5rem;text-decoration:none}& .comment-permalink:hover{color:var(--primary-color);background:#ff6b9d1a;text-decoration:none}& .empty-state{text-align:center;color:var(--text-muted);background:var(--background-alt,#f9f9f9);border-radius:var(--border-radius,8px);padding:1rem;font-size:.9rem}& .empty-state-icon{display:none}& .empty-state h4{color:var(--text-secondary);margin:0;font-size:.9rem;font-weight:600;display:inline}& .empty-state p{color:var(--text-muted);margin:0;font-size:.9rem;display:inline}& .reminder-button-container{justify-content:flex-end;align-items:flex-end;margin-top:.5rem;display:flex}& .btn-icon-round{border:2px solid var(--primary-color);background:var(--card-bg);cursor:pointer;border-radius:40px;justify-content:center;align-items:center;width:50px;height:50px;padding:0;transition:all .2s;display:inline-flex}& .btn-icon-round:hover{background:var(--primary-color);transform:scale(1.1);box-shadow:0 4px 12px #ff6b9d4d}& .btn-icon-round svg{width:34px;height:34px}& .edit-comment-form{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--primary-color);border-radius:var(--border-radius);margin-top:.5rem;padding:1rem;position:relative;overflow:hidden}& .edit-form-group{flex-direction:column;gap:1rem;display:flex}& .edit-comment-textarea{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);width:100%;min-height:80px;color:var(--text-primary);resize:vertical;transition:var(--transition);outline:none;padding:.75rem;font-family:inherit;font-size:.9rem;line-height:1.5}& .edit-comment-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b9d1a}& .edit-form-actions{justify-content:flex-end;gap:.75rem;display:flex}& .edit-submit-btn,& .edit-cancel-btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:flex}& .edit-submit-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff}& .edit-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b9d4d}& .edit-submit-btn:disabled{opacity:.6;cursor:not-allowed}& .edit-cancel-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}& .edit-cancel-btn:hover{background:var(--border-color);color:var(--text-primary)}& .char-count{text-align:right;color:var(--text-secondary);margin-top:-.5rem;font-size:.75rem}& .reply-indicator{color:var(--primary-color);font-weight:500}@media (width<=768px){& .comments-header{text-align:center;flex-direction:column;gap:.5rem}& .comment-reply{margin-left:calc(var(--thread-depth)*1rem)}& .comment-header{flex-direction:column;align-items:flex-start;gap:1rem}& .comment-footer{flex-direction:column;align-items:flex-start;gap:.75rem}& .comment-form-actions{flex-direction:column-reverse}}}post-item{& .post-item{transition:var(--transition);margin-bottom:1rem}& .post-item:hover{transform:translateY(-2px)}& .post-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}& .post-author{align-items:center;gap:.75rem;display:flex}& .post-item .avatar{background:var(--primary-color);color:#fff;box-shadow:none;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;width:2.5rem!important;height:2.5rem!important;font-size:1rem!important}& .author-info{flex:1}& .author-name{color:var(--text-primary);font-size:.875rem;font-weight:600}& .author-link .user-mention-link{color:inherit;transition:var(--transition);text-decoration:none}& .author-link .user-mention-link:hover{color:var(--primary-color);text-decoration:underline}& .post-time{color:var(--text-muted);font-size:.75rem}& .post-actions{opacity:0;transition:var(--transition);gap:.25rem;display:flex}& .post-actions:empty{display:none}& .post-item:hover .post-actions{opacity:1}& .prompt-context{border-radius:var(--border-radius);background:#ff6b9d0d;border:1px solid #ff6b9d33;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.75rem;display:flex}& .prompt-indicator{justify-content:space-between;align-items:center;gap:.5rem;display:flex}& .prompt-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}& .prompt-reuse-btn{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}& .prompt-reuse-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #ff6b9d4d}& .prompt-reuse-btn:active{transform:translateY(0)}& .prompt-title{color:var(--primary-color);font-size:.9rem;font-style:italic;font-weight:600}& .post-title{margin-bottom:1rem}& .post-title h2{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700;line-height:1.3}& .post-content{margin-bottom:1rem}& .post-text{color:var(--text-primary);word-wrap:break-word;line-height:1.6}& .mood-post{text-align:center;padding:1.5rem}& .mood-display{flex-direction:column;align-items:center;gap:1rem;display:flex}& .mood-icon-large{filter:drop-shadow(0 2px 4px #0000001a);font-size:4rem;line-height:1}& .mood-status{color:var(--text-primary);max-width:400px;margin:0 auto;font-size:1.1rem;font-weight:500;line-height:1.4}& .music-post{margin:1rem 0}& .url-preview{margin-top:1rem}& .url-preview-card{border:1px solid var(--border-color);background:var(--surface-color);border-radius:8px;transition:border-color .2s;overflow:hidden}& .url-preview-card:hover{border-color:var(--primary-color)}& .url-preview-image{object-fit:cover;background:var(--border-color);width:100%;height:200px}& .url-preview-content{padding:1rem}& .url-preview-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.3}& .url-preview-title a{color:var(--text-primary);text-decoration:none;transition:color .2s}& .url-preview-title a:hover{color:var(--primary-color)}& .url-preview-description{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}& .post-text h1,& .post-text h2,& .post-text h3{color:var(--text-primary);margin:1rem 0 .5rem}& .post-text h1{font-size:1.5rem}& .post-text h2{font-size:1.25rem}& .post-text h3{font-size:1.125rem}& .post-text p{margin:.5rem 0}& .post-text strong{color:var(--text-primary);font-weight:600}& .post-text em{font-style:italic}& .post-text code{background:var(--background-alt);font-family:var(--font-mono);color:var(--primary-color);border-radius:3px;padding:.125rem .25rem;font-size:.875em}& .post-text pre{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);margin:1rem 0;padding:1rem;overflow-x:auto}& .post-text pre code{color:var(--text-primary);background:0 0;padding:0}& .post-text a{color:var(--primary-color);transition:var(--transition);border-bottom:1px solid #0000;text-decoration:none}& .post-text a:hover{border-bottom-color:var(--primary-color)}& .post-text blockquote{border-left:3px solid var(--primary-color);background:var(--background-alt);border-radius:0 var(--border-radius)var(--border-radius)0;margin:1rem 0;padding-left:1rem}& .post-text blockquote p{color:var(--text-secondary);margin:.5rem 0}& .post-text ul{margin:1rem 0;padding-left:1.5rem}& .post-text li{margin:.25rem 0}& .post-text del{opacity:.6}& .import-badge{border-radius:var(--border-radius);background:#3b82f61a;border:1px solid #3b82f633;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.875rem;display:flex}& .import-icon{font-size:1rem}& .import-text{color:var(--text-secondary);flex:1}& .import-link{color:var(--primary-color);transition:var(--transition);font-weight:500;text-decoration:none}& .import-link:hover{text-decoration:underline}& .post-text img{max-width:100%;height:auto;box-shadow:var(--shadow);border-radius:8px;margin:1rem 0;display:block}& .post-text .image-blocked{background:var(--background-alt);border-radius:4px;margin:1rem 0;padding:.5rem;display:block}& .unresolved-image-wrapper,& .unresolved-video-wrapper,& .unresolved-audio-wrapper{margin:1rem 0}& .unresolved-image-container,& .unresolved-media-container{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;flex-direction:column;width:100%;max-width:100%;display:flex;overflow:hidden}& .unresolved-image-container img,& .unresolved-media-container video,& .unresolved-media-container audio{opacity:.3;filter:grayscale();object-fit:contain;background:var(--bg-primary);width:100%;max-width:100%;max-height:200px;display:block}& .unresolved-image-block,& .unresolved-media-block{background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex}& .unresolved-image-message,& .unresolved-media-message{color:#ffffffe6;background:#0009;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-weight:500;display:flex}& .unresolved-icon{font-size:1.5rem}& .unresolved-text{font-size:.9rem}& .resolve-image-btn,& .resolve-media-btn{margin:0 auto;padding:.5rem 1rem;font-size:.875rem}& .post-footer{border-top:1px solid var(--border-color);padding-top:.75rem}& .post-stats{justify-content:space-between;align-items:center;display:flex}& .post-permalink{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);transition:var(--transition);border-radius:4px;padding:.25rem .5rem;text-decoration:none}& .post-permalink:hover{color:var(--primary-color);background:#ff6b9d1a;text-decoration:none}& .post-actions-footer{align-items:center;gap:.5rem;display:flex}& .comments-toggle-btn{border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:flex}& .comments-toggle-btn:hover{background:var(--background-alt);color:#1a1a1a;box-shadow:var(--shadow);transform:translateY(-1px)}& .post-comments{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}& .edit-form{margin:1rem 0}& .edit-title-input{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);margin-bottom:.75rem;padding:.75rem;font-family:inherit;font-size:1rem;font-weight:600}& .edit-title-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d33}& .edit-textarea{border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;background:var(--background);width:100%;min-height:100px;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}& .edit-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d33}& .edit-actions{gap:.5rem;margin-top:.5rem;display:flex}& .edit-actions .btn{padding:.375rem .75rem;font-size:.75rem}@media (width<=768px){& .post-actions{opacity:1}& .post-header{flex-direction:column;gap:.5rem}}& .post-item.memory-share{background-clip:padding-box;border:2px solid #0000;animation:3s ease-in-out infinite memoryGlow;position:relative}& .post-item.memory-share:before{content:"";border-radius:inherit;z-index:-1;filter:blur(8px);opacity:.7;background:linear-gradient(45deg,#ffc0cb99,#ffb6c166,#ffa07a80,#ffc0cb99) 0 0/200% 200%;animation:4s infinite memoryBorderFlow;position:absolute;inset:-2px}& .post-item.memory-share:after{content:"";border-radius:inherit;z-index:-2;filter:blur(12px);opacity:.5;background:linear-gradient(135deg,#ffb6c166,#ffc0cb4d,#ffa07a66,#ffb6c166) 0 0/300% 300%;animation:6s infinite reverse memoryBorderFlow;position:absolute;inset:-2px}& .post-item.memory-share .post-header{position:relative}& .post-item.memory-share .post-header:before{content:"💭";opacity:.8;z-index:1;pointer-events:none;font-size:1.5rem;animation:2s ease-in-out infinite memoryFloat;position:absolute;top:-.75rem;right:-.75rem}@media (prefers-color-scheme:dark){& .post-item.memory-share:before{background:linear-gradient(45deg,#ff69b480,#ff14934d,#ff450066,#ff69b480)}& .post-item.memory-share:after{background:linear-gradient(135deg,#ff14934d,#ff69b433,#ff45004d,#ff14934d)}& .post-item.memory-share{box-shadow:0 0 20px #ff69b433,0 0 40px #ff149326,0 0 60px #ff45001a}}}add-friend-cta{& .add-friend-cta{box-shadow:var(--shadow-fun);background:linear-gradient(135deg,#ff6b9d1a,#74c0fc1a);border:2px solid #0000;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.5rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}& .add-friend-cta:before{content:"";background:linear-gradient(90deg,var(--primary-color),var(--accent-secondary),var(--secondary-color),var(--accent-color),var(--primary-color));z-index:-1;background-size:300% 100%;border-radius:999px;animation:3s linear infinite borderChase;position:absolute;inset:-2px}& .add-friend-cta:after{content:"";z-index:-1;background:linear-gradient(135deg,#ff6b9d1a,#74c0fc1a);border-radius:999px;position:absolute;inset:0}& .add-friend-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b9d4d}& .cta-content{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}& .cta-icon{flex-shrink:0;font-size:1.5rem;animation:2s ease-in-out infinite gentleBounce}& .cta-text{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:500;overflow:hidden}& .cta-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #ff6b9d4d}& .cta-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b9d66}& .cta-button:active{transform:translateY(0)}& .cta-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:.25rem;font-size:1.5rem;line-height:1;transition:all .2s;display:flex}& .cta-close:hover{color:var(--text-primary);background:#0000000d}& .cta-close:active{transform:scale(.9)}@media (width<=768px){& .add-friend-cta{gap:.5rem;padding:.5rem .75rem}& .cta-content{gap:.5rem}& .cta-icon{font-size:1.25rem}& .cta-text{font-size:.875rem}& .cta-button{padding:.5rem 1rem;font-size:.8rem}& .cta-close{width:1.5rem;height:1.5rem;font-size:1.25rem}}@media (prefers-color-scheme:dark){& .add-friend-cta{background:linear-gradient(135deg,#ff79c626,#8be9fd26)}& .cta-close:hover{background:#ffffff1a}}& [data-theme=dark] .add-friend-cta{background:linear-gradient(135deg,#ff79c626,#8be9fd26)}& [data-theme=dark] .cta-close:hover{background:#ffffff1a}}media-sources-settings{& .media-sources-settings{max-width:900px;margin:0 auto;padding:2rem}& .settings-header{margin-bottom:2rem}& .settings-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:2rem}& .settings-header p{color:var(--text-muted);margin:0}& .settings-content{flex-direction:column;gap:2rem;display:flex}& .providers-section h3,& .accounts-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.5rem}& .providers-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}& .provider-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}& .provider-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}& .provider-header h4{color:var(--text-primary);margin:0}& .provider-description{color:var(--text-muted);flex:1;margin:0}& .provider-actions{flex-wrap:wrap;gap:.5rem;display:flex}& .no-providers,& .no-accounts{color:var(--text-muted);text-align:center;background:var(--background-alt);border-radius:var(--border-radius);padding:2rem;font-style:italic}& .provider-accounts{margin-bottom:2rem}& .provider-accounts h4{color:var(--text-primary);margin:0 0 1rem;font-size:1.25rem}& .accounts-list{flex-direction:column;gap:1rem;display:flex}& .account-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}& .account-item.expired{opacity:.7;border-color:var(--warning-color,orange)}& .account-info{flex-direction:column;flex:1;gap:.5rem;display:flex}& .account-identifier{align-items:center;gap:.5rem;display:flex}& .account-identifier strong{color:var(--text-primary)}& .account-label{color:var(--text-muted);font-size:.9rem}& .account-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.875rem;display:flex}& .badge{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}& .badge-free,& .badge-success{background:var(--success-color,#4caf50);color:#fff}& .badge-warning{background:var(--warning-color,orange);color:#fff}& .loading-state,& .error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}& .loading-state .spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}& .error-state p{color:var(--error-color,#f44336);margin-bottom:1rem}& .btn{border-radius:var(--border-radius);cursor:pointer;border:none;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}& .btn-primary{background:var(--primary-color);color:#fff}& .btn-primary:hover{opacity:.9;transform:translateY(-1px)}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color)}& .btn-secondary:hover{background:var(--background-hover)}& .btn-danger{background:var(--error-color,#f44336);color:#fff}& .btn-danger:hover{opacity:.9}& .settings-footer{border-top:1px solid var(--border-color);justify-content:flex-start;margin-top:2rem;padding-top:1.5rem;display:flex}@media (width<=768px){& .settings-footer{justify-content:stretch}& .settings-footer .btn-secondary{width:100%}}}auth-status{& .auth-status.loading{justify-content:center;padding:1rem}& .auth-status.authenticated{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);justify-content:space-between;padding:.75rem 1rem}& .user-info{align-items:center;gap:.75rem;display:flex}& .auth-status .avatar{background:var(--primary-color);color:#fff;box-shadow:none;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;width:2rem!important;height:2rem!important;font-size:.875rem!important}& .username{color:var(--text-primary);font-size:.875rem;font-weight:600}& .user-email{color:var(--text-muted);font-size:.75rem}& .logout-btn{padding:.25rem .75rem;font-size:.75rem}@media (width<=768px){& .user-details{display:none}}& .auth-status{align-items:center;gap:1rem;display:flex}& .auth-status.unauthenticated{justify-content:flex-end}& .auth-actions{gap:.5rem;display:flex}& .login-btn,& .register-btn{padding:.5rem 1rem;font-size:.875rem}@media (width<=480px){& .auth-actions{flex-direction:column;gap:.25rem}& .login-btn,& .register-btn{padding:.375rem .75rem;font-size:.75rem}}}memories-view{& .memories-container{width:100%;max-width:800px;margin:0 auto;padding:1.5rem}& .memories-header{text-align:center;margin-bottom:2rem}& .memories-header h2{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}& .memories-subtitle{color:var(--text-muted);margin:0;font-size:1rem}& .memories-controls{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}& .date-selector{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}& .date-selector label{color:var(--text-primary);font-size:.9rem;font-weight:500}& .date-input{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:1rem}& .date-input:hover{border-color:var(--primary-color)}& .date-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .load-date-btn{margin-left:auto}& .memories-content{min-height:200px}& .loading-state,& .error-state,& .empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}& .loading-state .spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .error-message{color:var(--error-color);margin-bottom:1rem}& .empty-state p{color:var(--text-muted);margin:.5rem 0}& .empty-subtitle{font-size:.9rem}& .memories-list{flex-direction:column;gap:1.5rem;display:flex}& .memory-wrapper{flex-direction:column;gap:.5rem;display:flex}& .memory-header-badge{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.5rem 1rem;display:flex}& .memory-date-info{align-items:center;gap:1rem;display:flex}& .memory-actions{align-items:center;gap:.5rem;display:flex}& .memory-actions .btn{white-space:nowrap;padding:.375rem .75rem;font-size:.875rem}& .memory-actions .btn.shared{background:var(--success-color,#4caf50);color:#fff;border-color:var(--success-color,#4caf50)}& .memory-year{color:var(--primary-color);font-size:1.25rem;font-weight:700}& .memory-date{color:var(--text-muted);font-size:.9rem}& .retry-btn{margin-top:1rem}@media (prefers-color-scheme:dark){& .memory-item:hover{box-shadow:0 4px 12px #0000004d}}@media (width<=768px){& .memory-header-badge{flex-direction:column;align-items:flex-start;gap:.75rem}& .memory-actions{justify-content:flex-end;width:100%}}}media-attachment{& .media-attachment{border-radius:var(--border-radius);margin:1rem 0;overflow:hidden}& .media-loading{background:var(--background-alt);border-radius:var(--border-radius);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .media-loading .spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .media-error{border-radius:var(--border-radius);text-align:center;background:#ef44441a;border:2px solid #ef44444d;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}& .media-error .error-icon{margin-bottom:1rem;font-size:3rem}& .media-error .error-content{max-width:400px}& .media-error .error-message{color:var(--text-primary);margin-bottom:1rem;font-weight:500}& .media-error .error-hint{color:var(--text-muted);margin-top:.75rem;font-size:.875rem}& .media-error .reconnect-btn,& .media-error .retry-btn{margin-top:.5rem}& .media-image-container{background:var(--background-alt);border-radius:var(--border-radius);position:relative;overflow:hidden}& .media-image{object-fit:contain;width:100%;height:auto;max-height:80vh;display:block}& .media-caption{background:var(--background-alt);color:var(--text-muted);border-top:1px solid var(--border-color);padding:.75rem 1rem;font-size:.875rem}& .media-video-container{background:var(--background-alt);border-radius:var(--border-radius);position:relative;overflow:hidden}& .media-video{background:#000;width:100%;max-height:80vh;display:block}& .media-audio-container{background:var(--background-alt);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}& .media-audio-player{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}& .media-audio-player .audio-icon{flex-shrink:0;font-size:2rem}& .media-audio{flex:1;min-width:0}& .media-pdf-container{background:var(--background-alt);border:2px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}& .media-pdf-container .pdf-viewer{background:#525252;width:100%;height:600px;position:relative}& .media-pdf{border:none;width:100%;height:100%}& .media-pdf-container .media-actions{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem;display:flex}& .media-document-container{background:var(--background-alt);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}& .document-preview{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}& .document-icon{flex-shrink:0;font-size:3rem}& .document-info{flex:1;min-width:0}& .document-name{color:var(--text-primary);word-break:break-word;margin-bottom:.25rem;font-weight:600}& .document-type{color:var(--text-muted);font-size:.875rem}& .media-generic-container{background:var(--background-alt);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}& .generic-preview{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}& .generic-icon{flex-shrink:0;font-size:3rem}& .generic-icon .mascot-icon,& .generic-icon img.mascot-icon{width:100px;max-width:100px;height:auto;display:block}& img.mascot-icon{width:100px}& .generic-info{flex:1;min-width:0}& .generic-name{color:var(--text-primary);word-break:break-word;margin-bottom:.25rem;font-weight:600}& .generic-type{color:var(--text-muted);font-size:.875rem}& .media-actions{align-items:center;gap:.75rem;display:flex}& .media-actions .btn{padding:.5rem 1rem;font-size:.875rem}& .media-placeholder{background:var(--background-alt);border:2px dashed var(--border-color);border-radius:var(--border-radius);text-align:center;color:var(--text-muted);padding:2rem}@media (width<=768px){& .media-pdf-container .pdf-viewer{height:400px}& .media-audio-player{flex-direction:column;align-items:stretch}& .media-audio-player .audio-icon{text-align:center}& .media-actions{flex-direction:column}& .media-actions .btn{width:100%}}@media (prefers-color-scheme:dark){& .media-pdf-container .pdf-viewer{background:#1a1a1a}}}invitations-list{& .invitations-list{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);transition:var(--transition)}& .invitations-header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1.5rem 1.5rem 0;display:flex}& .invitations-header h3{color:var(--primary-color);margin:0;font-size:1.25rem}& .invitations-content{padding:0 1.5rem 1.5rem}& .loading-state{text-align:center;color:var(--text-secondary);padding:2rem}& .loading-spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem 2rem}& .empty-state-icon{margin-bottom:1rem;font-size:2.5rem;display:block}& .invitation-item{border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);background:#ffffff4d;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem;display:flex}& .invitation-item:hover{box-shadow:var(--shadow-fun);border-color:var(--primary-color);transform:translateY(-2px)}& .invitation-item.expired{opacity:.6;background:#c8c8c833}& .invitation-item.accepted{border-color:var(--secondary-color);background:#c7f9cc33}& .invitation-info{flex:1}& .invitation-email{color:var(--text-primary);margin-bottom:.25rem;font-weight:600}& .invitation-meta{color:var(--text-muted);font-size:.875rem}& .invitation-status{border-radius:1rem;margin-top:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}& .status-pending{background:var(--accent-color);color:var(--text-on-accent);border:1px solid var(--accent-color)}& .status-accepted{background:var(--secondary-color);color:var(--text-on-accent);border:1px solid var(--secondary-color)}& .status-expired{background:var(--text-muted);color:var(--text-on-accent);border:1px solid var(--text-muted)}& .invitation-actions{align-items:center;gap:.5rem;display:flex}& .resend-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:var(--text-on-accent);border:2px solid var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);padding:.5rem 1rem;font-size:.875rem;font-weight:600}& .resend-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #ff6b9d66}& .resend-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}& .resend-btn.admin-resend{background:linear-gradient(135deg,var(--accent-secondary),var(--secondary-color));color:var(--text-on-accent);border-color:var(--accent-secondary);font-weight:600;box-shadow:0 2px 8px #74c0fc4d}& .resend-btn.admin-resend:hover{background:linear-gradient(135deg,var(--secondary-color),var(--accent-secondary));transform:translateY(-1px);box-shadow:0 4px 12px #74c0fc66}& .resend-btn.admin-resend:active{transform:translateY(0);box-shadow:0 2px 6px #667eea4d}& .alert{border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem;font-size:.875rem}& .alert-success{border:2px solid var(--secondary-color);color:var(--text-primary);background:#c7f9cc4d}& .alert-error{color:#dc2626;background:#ef44441a;border:2px solid #fecaca}@media (width<=768px){& .invitation-item{flex-direction:column;align-items:flex-start;gap:1rem}& .invitation-actions{justify-content:center;width:100%}}}blocked-domains{& .blocked-domains{background:var(--background);border-radius:var(--border-radius);overflow:hidden}& .domains-header{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .domains-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}& .domains-header p{color:var(--text-muted);margin:0;font-size:.875rem}& .domains-actions{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1rem 1.5rem}& .add-form{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .add-form.hidden{display:none}& .form-group{margin-bottom:1rem}& .form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}& .form-group input,& .form-group textarea{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:1rem}& .form-group input:focus,& .form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d33}& .form-group textarea{resize:vertical;min-height:80px}& .form-actions{gap:.5rem;margin-top:1rem;display:flex}& .domains-content{padding:1.5rem}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .domains-list{flex-direction:column;gap:1rem;display:flex}& .domain-item{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:1.5rem}& .domain-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}& .domain-header{justify-content:space-between;align-items:start;margin-bottom:1rem;display:flex}& .domain-info{flex:1}& .domain-name{color:var(--text-primary);word-break:break-all;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}& .domain-details{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0;display:grid}& .domain-detail{flex-direction:column;gap:.25rem;display:flex}& .domain-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}& .domain-detail-value{color:var(--text-primary);font-weight:500}& .domain-reason{background:var(--background);border-radius:var(--border-radius);color:var(--text-primary);margin:1rem 0;padding:.75rem}& .domain-actions{gap:.5rem;margin-top:1rem;display:flex}& .domain-action-btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;padding:.5rem 1rem;font-weight:500}& .domain-action-btn.delete{color:#fff;background:#f44336}& .domain-action-btn.delete:hover{background:#da190b}& .domain-action-btn:disabled{opacity:.5;cursor:not-allowed}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem}& .empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .error-state{text-align:center;color:#f44336;border-radius:var(--border-radius);background:#f443361a;margin:1rem 0;padding:2rem}& .btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:500}& .btn-primary{background:var(--primary-color);color:#fff}& .btn-primary:hover{background:#ff5a8f}& .btn-secondary{background:var(--background);color:var(--text-primary);border:1px solid var(--border-color)}& .btn-secondary:hover{background:var(--background-alt)}}upcoming-events-banner{& .upcoming-events-banner{background:var(--card-bg);border:1px solid var(--border-color,#7e57f459);color:var(--text-primary);border-radius:18px;margin-bottom:2rem;padding:1.5rem;position:relative;overflow:hidden;box-shadow:0 12px 30px -20px #7e57f473}& .upcoming-events-banner:before{content:"✨";opacity:.25;font-size:4rem;position:absolute;top:-20px;right:-10px;transform:rotate(15deg)}& .banner-header{flex-direction:column;gap:.35rem;margin-bottom:1.25rem;display:flex}& .banner-title{color:var(--text-primary);align-items:center;gap:.65rem;font-size:1.25rem;font-weight:700;display:inline-flex}& .banner-icon{font-size:1.75rem;animation:4s ease-in-out infinite floaty}& .banner-subtitle{color:var(--text-muted);font-size:.95rem}& .banner-body{gap:1rem;display:grid}& .event-card{border:1px solid #ffffff59;border-radius:14px;padding:1rem 1.25rem;transition:transform .25s,box-shadow .25s}& .event-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px -18px #7e57f48c}& .event-link{color:inherit;grid-template-columns:minmax(120px,160px) 1fr auto;align-items:center;gap:1rem;text-decoration:none;display:grid}& .event-date{color:var(--text-primary);flex-direction:column;gap:.25rem;font-weight:600;display:flex}& .event-weekday{font-size:.95rem}& .event-time{color:var(--text-muted);font-size:.85rem}& .event-details{overflow:hidden}& .event-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;overflow:hidden}& .event-location{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 0;font-size:.9rem;overflow:hidden}& .event-arrow{color:var(--text-muted);font-size:1.25rem;transition:transform .2s}& .event-link:hover .event-arrow{transform:translate(6px)}& .banner-footer{justify-content:flex-end;margin-top:1.25rem;display:flex}& .more-events-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#f472b6);border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.5rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}& .more-events-btn:hover{transform:translateY(-2px);box-shadow:0 12px 20px -12px #7c3aed99}& .more-events-btn:focus-visible{outline-offset:2px;outline:3px solid #7c3aed66}& .sparkle{animation:1.6s ease-in-out infinite sparklePop}& .loading-state,& .error-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0;display:flex}& .error-message{text-align:center;margin:0;font-size:.95rem}& .error-icon{font-size:2rem}& .spinner{border:3px solid #7c3aed33;border-top-color:#7c3aedd9;border-radius:50%;width:32px;height:32px;animation:.9s linear infinite spin}@media (width<=768px){& .event-link{grid-template-rows:auto auto;grid-template-columns:1fr auto}& .event-date{flex-direction:row;grid-column:1/-1;gap:.5rem}& .event-details{grid-column:1/2}}@media (prefers-color-scheme:dark){& .upcoming-events-banner{border:1px solid #7c3aed73;box-shadow:0 12px 35px -22px #7c3aedd9}& .event-card{background:#2614428c;border-color:#ffffff14}}}not-found{& .not-found-container{justify-content:center;align-items:center;min-height:60vh;padding:2rem 1rem;display:flex}& .not-found-content{text-align:center;width:100%;max-width:600px}& .not-found-icon{margin-bottom:1.5rem;font-size:5rem;animation:3s ease-in-out infinite floatNotFound}& .not-found-content h1{color:var(--text-primary);margin-bottom:1rem;font-size:clamp(2rem,5vw,3rem);font-weight:700}& .not-found-message{color:var(--text-secondary);margin-bottom:2rem;font-size:1.125rem;line-height:1.7}& .not-found-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}& .not-found-actions .btn{border-radius:50px;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}& .not-found-actions .btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 4px 15px #667eea66}& .not-found-actions .btn-primary:hover{background:linear-gradient(135deg,#764ba2 0%,#667eea 100%);transform:translateY(-2px);box-shadow:0 8px 25px #667eea99}& .not-found-actions .btn-primary:active{transform:translateY(0);box-shadow:0 4px 15px #667eea66}@media (width<=640px){& .not-found-icon{font-size:4rem}& .not-found-message{font-size:1rem}}}settings-page{& .settings-page{max-width:800px;margin:0 auto;padding:2rem}& .settings-header{text-align:center;border-bottom:2px solid var(--border-color);margin-bottom:3rem;padding-bottom:1.5rem}& .settings-header h1{color:var(--text-primary);margin:0 0 .5rem;font-size:2rem}& .settings-header p{color:var(--text-muted);margin:0;font-size:1rem}& .settings-list{flex-direction:column;gap:1rem;display:flex}& .settings-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;align-items:center;gap:1.5rem;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex}& .settings-item:hover{background:var(--background-alt);border-color:var(--primary-color);transform:translate(5px);box-shadow:0 4px 12px #0000001a}& .item-icon{background:var(--background-alt);border-radius:var(--border-radius);flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:2rem;display:flex}& .item-content{flex-direction:column;flex:1;gap:.25rem;display:flex}& .item-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}& .item-description{color:var(--text-muted);font-size:.9rem}& .item-arrow{color:var(--text-muted);flex-shrink:0;font-size:1.5rem;transition:transform .3s}& .settings-item:hover .item-arrow{color:var(--primary-color);transform:translate(5px)}@media (width<=768px){& .settings-page{padding:1rem}& .settings-header h1{font-size:1.5rem}& .settings-item{gap:1rem;padding:1rem}& .item-icon{width:2.5rem;height:2.5rem;font-size:1.5rem}& .item-title{font-size:1rem}& .item-description{font-size:.85rem}}@media (prefers-color-scheme:dark){& .settings-item:hover{background:#ffffff0d}}& [data-theme=dark] .settings-item:hover{background:#ffffff0d}}theme-toggle{& .theme-toggle{position:relative}& .theme-toggle-btn{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);color:var(--text-secondary);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;display:flex}& .theme-toggle-btn:hover{box-shadow:var(--shadow-fun);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px)}& .theme-icon{transition:var(--transition);font-size:1rem;display:inline-block}& .theme-toggle-btn:hover .theme-icon{transform:rotate(20deg)scale(1.1)}& .theme-label{text-transform:capitalize;font-size:.75rem}@media (width<=768px){& .theme-label{display:none}& .theme-toggle-btn{padding:.5rem}}}user-management{& .user-management{background:var(--background);border-radius:var(--border-radius);overflow:hidden}& .user-header{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .user-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}& .user-header p{color:var(--text-muted);margin:0;font-size:.875rem}& .user-content{max-height:600px;padding:1.5rem;overflow-y:auto}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .spinner-small{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem}& .empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .user-list{flex-direction:column;gap:1rem;display:flex}& .user-item{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);transition:var(--transition)}& .user-item:hover{border-color:var(--primary-color);box-shadow:0 2px 4px #0000001a}& .user-main{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.5rem;display:flex}& .user-info{flex:1}& .user-header-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}& .user-username{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}& .role-badge{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}& .role-badge.admin{background:var(--primary-color);color:#fff}& .role-badge.user{background:var(--background-alt);color:var(--text-secondary);border:1px solid var(--border-color)}& .verified-badge{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}& .verified-badge:not(.unverified){color:#22c55e;background:#22c55e1a}& .verified-badge.unverified{color:#ef4444;background:#ef44441a}& .user-details{flex-direction:column;gap:.5rem;display:flex}& .user-detail{gap:.5rem;font-size:.875rem;display:flex}& .detail-label{color:var(--text-muted);min-width:80px;font-weight:500}& .detail-value{color:var(--text-secondary)}& .toggle-friends-btn{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;color:var(--text-primary);transition:var(--transition);white-space:nowrap;padding:.5rem 1rem;font-size:.875rem}& .toggle-friends-btn:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}& .toggle-friends-btn:disabled{opacity:.5;cursor:not-allowed}& .user-friends{border-top:1px solid var(--border-color);background:var(--background-alt);padding:1rem 1.5rem}& .friends-loading{color:var(--text-muted);align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;display:flex}& .friends-list{flex-direction:column;gap:.5rem;display:flex}& .friend-item{background:var(--background);border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:1rem;padding:.5rem;font-size:.875rem;display:flex}& .friend-username{color:var(--text-primary);min-width:120px;font-weight:600}& .friend-email{color:var(--text-secondary);flex:1}& .friend-name{color:var(--text-muted);font-size:.8125rem}& .friends-empty{color:var(--text-muted);padding:.5rem 0;font-size:.875rem;font-style:italic}& .pagination{border-top:1px solid var(--border-color);background:var(--background-alt);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}& .pagination-info{color:var(--text-muted);font-size:.875rem}& .pagination-controls{align-items:center;gap:.5rem;display:flex}& .pagination-btn{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);color:var(--text-primary);padding:.5rem .75rem;font-size:.875rem}& .pagination-btn:hover:not(:disabled){background:var(--background-alt);border-color:var(--primary-color)}& .pagination-btn:disabled{opacity:.5;cursor:not-allowed}& .pagination-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}@media (width<=768px){& .user-main{flex-direction:column;align-items:stretch}& .toggle-friends-btn{width:100%}& .user-header-row{flex-direction:column;align-items:flex-start}& .user-details{gap:.25rem}& .friend-item{flex-direction:column;align-items:flex-start;gap:.25rem}& .friend-username{min-width:auto}& .pagination{flex-direction:column;gap:1rem}}}taco-menu{& .taco-menu-container{position:relative}& .slide-menu{background:var(--card-bg);border-right:2px solid var(--border-color);z-index:9999;width:320px;height:100vh;transition:all .3s;position:fixed;top:0;left:-320px;overflow-y:auto;box-shadow:4px 0 20px #0000001a}& .slide-menu.open{left:0}& .slide-menu.always-open{height:auto;box-shadow:none;border-right:1px solid var(--border-color);position:relative;left:0}& .menu-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#ff6b9d1a,#ffd7001a);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}& .menu-header h2{color:var(--primary-color);margin:0;font-size:1.5rem}& .close-menu-btn{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.5rem}& .close-menu-btn:hover{background:var(--background-alt);color:var(--text-primary)}& .always-open .close-menu-btn{display:none}& .menu-content{flex-direction:column;min-height:calc(100vh - 80px);padding:1.5rem;display:flex}@media (width>=1024px){& .menu-content{min-height:auto}}& .menu-section{margin-bottom:2rem}& .menu-section h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;opacity:.8;margin:0 0 1rem;font-size:.9rem;font-weight:600}& .menu-items{margin:0;padding:0;list-style:none}& .menu-items li{margin-bottom:.5rem}& .menu-item{color:var(--text-primary);border-radius:var(--border-radius);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex;position:relative}& .notification-badge{color:#fff;background:linear-gradient(135deg,#ff6b9d,#ff8fab);border-radius:12px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:auto;padding:.25rem .5rem;font-size:.75rem;font-weight:700;animation:2s infinite pulse;display:flex;box-shadow:0 2px 8px #ff6b9d4d}& .menu-item{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}& .menu-item:hover{filter:hue-rotate(10deg)saturate(1.2);transform:translate(5px)scale(1.1)}& .menu-item:hover:first-child{animation:.6s ease-in-out bounce}& .menu-item:hover:nth-child(2){animation:.5s ease-in-out wiggle}& .menu-item:hover:nth-child(3){animation:.8s ease-in-out spin}& .menu-item:hover:nth-child(4){animation:.4s ease-in-out shake}@media (prefers-color-scheme:dark){& .menu-item{filter:brightness(1.2)contrast(1.1)}& .menu-item:hover{filter:brightness(1.4)contrast(1.3)hue-rotate(10deg)saturate(1.2)}}& [data-theme=dark] .menu-item{filter:brightness(1.2)contrast(1.1)}& [data-theme=dark] .menu-item:hover{filter:brightness(1.4)contrast(1.3)hue-rotate(10deg)saturate(1.2)}& .menu-item:hover{background:var(--background-alt);color:var(--primary-color)}& .menu-item.active{color:var(--primary-color);border-left:3px solid var(--primary-color);background:#ff6b9d1a;font-weight:600}& .admin-section{border-top:1px solid var(--border-color);padding-top:1.5rem}& .menu-utilities{background:var(--background-alt);border-radius:var(--border-radius);flex-direction:column;gap:1rem;padding:1rem;display:flex}& .menu-washing-machine{flex-shrink:0;transition:all .3s}& .menu-item:hover .menu-washing-machine{filter:brightness(1.2);transform:rotate(15deg)}& .menu-overlay{z-index:9998;opacity:0;visibility:hidden;backdrop-filter:blur(3px);background:#00000080;transition:all .3s;position:fixed;inset:0}& .menu-overlay.visible{opacity:1;visibility:visible}@media (width>=1024px){& .menu-overlay{display:none}& .slide-menu{width:280px;height:auto;box-shadow:none;border-right:1px solid var(--border-color);position:relative;left:0}}& .support-mascot-section{border-top:1px solid var(--border-color);margin-top:auto;padding-top:2rem}& .support-mascot-btn{cursor:pointer;border-radius:var(--border-radius);background:0 0;border:none;justify-content:center;align-items:center;width:100%;padding:1rem;transition:all .3s;display:flex}& .support-mascot-btn:hover{background:var(--background-alt);transform:scale(1.05)}& .support-mascot-btn:active{transform:scale(.95)}& .support-mascot-btn .mascot-icon{width:80px;height:80px;transition:all .3s}& .support-mascot-btn:hover .mascot-icon{filter:brightness(1.2)saturate(1.2);transform:rotate(5deg)}@media (width<=768px){& .slide-menu{width:280px}& .menu-header,& .menu-content{padding:1rem}}}.friends-tabs{border-bottom:2px solid var(--border-color);gap:.5rem;margin-top:1.5rem;margin-bottom:1.5rem;display:flex}.friends-tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;position:relative}.friends-tab:hover{color:var(--primary-color);background:var(--background-alt)}.friends-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.friends-tab-content{position:relative}.tab-panel{display:none}.tab-panel.active{display:block}.request-indicator{margin-left:.25rem;font-size:.875rem;animation:2s ease-in-out infinite gentlePulse}@media (width<=768px){.friends-tabs{flex-wrap:wrap;gap:.25rem}.friends-tab{padding:.5rem 1rem;font-size:.875rem}}site-stats{& .site-stats{background:var(--background);border-radius:var(--border-radius);overflow:hidden}& .stats-header{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .stats-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}& .stats-header p{color:var(--text-muted);margin:0;font-size:.875rem}& .stats-content{padding:1.5rem}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}& .stat-card{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);text-align:center;padding:1.5rem}& .stat-icon{margin-bottom:.5rem;font-size:2rem}& .stat-value{color:var(--primary-color);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}& .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem}& .stat-description{color:var(--text-secondary);font-size:.75rem}& .recent-activity{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:2rem}& .activity-title{color:var(--text-primary);margin-bottom:1rem;font-size:1.125rem;font-weight:600}& .activity-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}& .activity-card{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);text-align:center;padding:1rem}& .activity-value{color:var(--primary-color);margin-bottom:.25rem;font-size:1.5rem;font-weight:600}& .activity-label{color:var(--text-muted);font-size:.875rem}@media (width<=768px){& .stats-grid,& .activity-grid{grid-template-columns:1fr}}}auth-modal{& .auth-modal-overlay{backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s,visibility .3s;display:none;position:fixed;top:0;left:0}& .auth-modal-overlay.open{opacity:1;visibility:visible;display:flex}& .auth-modal{background:var(--background);box-shadow:var(--shadow-lg);border-radius:12px;width:100%;max-width:400px;max-height:100vh;margin:1rem;transition:transform .3s;overflow:auto;transform:translateY(-20px)}& .auth-modal-overlay.open .auth-modal{transform:translateY(0)}& .auth-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0;display:flex}& .auth-modal-title{color:var(--primary-color);margin:0;font-size:1.5rem;font-weight:600}& .auth-modal-close{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.25rem}& .auth-modal-close:hover{background:var(--secondary-color);color:var(--text-primary)}& .auth-modal-body{padding:0 1.5rem 1.5rem}& .auth-tabs{border-bottom:1px solid var(--border-color);margin-bottom:2rem;display:flex}& .auth-tab{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.75rem 1rem;font-weight:500}& .auth-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}& .auth-tab:hover{color:var(--primary-color)}& .auth-form{margin-bottom:1.5rem}& .auth-submit-btn{justify-content:center;width:100%}& .auth-footer{text-align:center;border-top:1px solid var(--border-color);padding-top:1rem}& .auth-switch{color:var(--text-secondary);margin:0;font-size:.875rem}& .auth-link{color:var(--primary-color);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}& .auth-link:hover{color:var(--primary-hover)}& .hidden{display:none!important}& .qr-code-container{text-align:center;border-radius:var(--border-radius);border:1px solid var(--border-color);background:#fff;margin:1rem 0;padding:1rem}& .qr-code{width:100%;max-width:200px;height:auto}& .manual-key-container{align-items:center;gap:.5rem;display:flex}& .manual-key-container input{flex:1}& .copy-btn{white-space:nowrap;flex-shrink:0}@media (width<=480px){& .auth-modal{border-radius:8px;margin:.5rem}& .auth-modal-header{padding:1rem 1rem 0}& .auth-modal-body{padding:0 1rem 1rem}}& .verification-info{text-align:center;padding:2rem 1rem}& .verification-icon{margin-bottom:1rem;font-size:3rem}& .verification-info p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}& .verification-info strong{color:var(--text-primary)}& .field-error{color:var(--danger-color,#dc3545);margin-top:.25rem;font-size:.875rem;display:block}& .form-control.is-invalid{border-color:var(--danger-color,#dc3545);background-color:var(--danger-bg,#dc35450d)}& .form-control.is-invalid:focus{border-color:var(--danger-color,#dc3545);box-shadow:0 0 0 .2rem #dc354540}}:root{--landing-max-width:1200px}body.landing-visible{background:radial-gradient(circle at 10% 20%,#ff6b9d59,transparent 60%),radial-gradient(circle at 80% 0%,#74c0fc59,transparent 55%),var(--background-gradient);min-height:100vh}body.landing-visible .app-layout{display:none}body.landing-visible .landing-page-host{display:block}.landing-page-host{width:100%;padding:2.5rem 1.5rem 4rem;display:none}.landing-page{max-width:var(--landing-max-width);flex-direction:column;gap:3rem;margin:0 auto;display:flex;position:relative}.landing-page:before,.landing-page:after{content:"";filter:blur(60px);opacity:.35;z-index:-1;border-radius:50%;width:220px;height:220px;animation:18s ease-in-out infinite orbFloat;position:absolute}.landing-page:before{background:var(--primary-color);top:-40px;left:-60px}.landing-page:after{background:var(--accent-secondary);animation-delay:4s;bottom:-60px;right:-40px}.landing-hero{background:var(--card-bg);border:2px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:28px;grid-template-columns:1fr;gap:2.5rem;padding:3rem;display:grid}.landing-hero__eyebrow{letter-spacing:.2rem;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1rem;font-size:.85rem}.landing-hero__title{color:var(--text-primary);margin-bottom:1rem;font-size:clamp(2rem,3vw,3.25rem);font-weight:900;line-height:1.1}.landing-hero__title span{background:linear-gradient(120deg,var(--primary-color),var(--accent-color));-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block;transform:rotate(-1deg)}.landing-hero__copy{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem}.landing-hero__cta{flex-wrap:wrap;gap:1rem;display:flex}.landing-hero__cta button{cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-fun);border:none;border-radius:999px;padding:.85rem 1.75rem;font-size:1rem;font-weight:700}.landing-hero__cta button.primary{background:var(--primary-color);color:var(--text-on-accent)}.landing-hero__cta button.primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 12px 25px #ff6b9d4d}.landing-hero__cta button.secondary{color:var(--text-primary);border:2px dashed var(--accent-secondary);background:0 0}.landing-hero__cta button.secondary:hover{border-style:solid;transform:translateY(-2px)}.landing-ethos{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.landing-ethos__card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:24px;padding:1.75rem;position:relative;overflow:hidden}.landing-ethos__card:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff0d,#0000);position:absolute;inset:0}.landing-ethos__card h3{margin-bottom:.75rem;font-size:1.25rem}.landing-ethos__card p{color:var(--text-secondary)}.landing-checklist{background:var(--card-bg);border:2px solid var(--border-color);border-radius:28px;padding:2.5rem}.landing-checklist__items{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.landing-checklist__item{border:1px dashed var(--accent-secondary);background:#fff9;border-radius:18px;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.landing-checklist__item strong{color:var(--text-primary);font-size:1rem;display:block}.landing-carousel{background:var(--card-bg);border:2px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:28px;padding:2rem}.landing-carousel__items{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.landing-carousel__card{border:1px solid var(--border-color);background:#ffffffb3;border-radius:20px;padding:1.5rem;position:relative;overflow:hidden}.landing-carousel__card span{text-transform:uppercase;letter-spacing:.15rem;color:var(--text-muted);font-size:.85rem}.landing-carousel__card h4{margin:.5rem 0;font-size:1.1rem}.landing-carousel__card p{color:var(--text-secondary);font-size:.95rem}.landing-secondary-cta{text-align:center;background:var(--background);border:2px solid var(--border-color);border-radius:24px;padding:1.25rem 1.75rem}.landing-secondary-cta button{cursor:pointer;transition:var(--transition);background:var(--accent-color);color:var(--text-on-accent);border:none;border-radius:999px;padding:.75rem 1.5rem;font-weight:700}.landing-ticker{border:1px solid var(--border-color);background:#ffffffb3;border-radius:16px;align-items:center;gap:.75rem;margin-top:1.5rem;padding:.75rem 1rem;font-weight:600;display:flex}.landing-ticker span{font-size:1.25rem}@media (width<=960px){.landing-hero{grid-template-columns:1fr}}@media (width<=640px){.landing-page{gap:2rem}.landing-hero,.landing-checklist,.landing-carousel{padding:2rem 1.5rem}.landing-secondary-cta{border-radius:24px;flex-direction:column}}@media (prefers-reduced-motion:reduce){.landing-page:before,.landing-page:after,.landing-mascots__card{animation:none}}.tenor-picker{margin-top:.75rem;position:relative}.tenor-toggle-btn{background:linear-gradient(120deg,var(--primary-color),var(--accent-secondary));color:#1a1a1a;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .9rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 12px #ff6b9d40}.tenor-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ff6b9d59}.tenor-picker[data-open=true] .tenor-toggle-btn{box-shadow:0 6px 18px #ff6b9d80}.tenor-floating-backdrop{backdrop-filter:blur(2px);opacity:0;pointer-events:none;z-index:1000;background:#0006;transition:opacity .15s;position:fixed;inset:0}.tenor-floating-backdrop.visible{opacity:1;pointer-events:auto}.tenor-floating-panel{pointer-events:none;opacity:0;z-index:1001;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed;inset:0}.tenor-floating-panel.visible{opacity:1;pointer-events:auto}.tenor-panel{background:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;width:min(480px,90vw);max-height:85vh;padding:1.25rem;display:flex;box-shadow:0 18px 45px #1a1a1a59}.tenor-panel-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.tenor-search-group{flex:1;position:relative}.tenor-search-input{border:1px solid var(--border-color);background:var(--surface-color);width:100%;color:var(--text-primary);border-radius:999px;padding:.6rem .85rem;font-family:inherit}.tenor-trending-btn{background:var(--surface-color);color:var(--text-primary);cursor:pointer;border:none;border-radius:10px;padding:.5rem .85rem;font-weight:600;transition:background .2s}.tenor-trending-btn:hover{background:var(--background-alt)}.tenor-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.5rem;font-size:1.2rem;font-weight:600;line-height:1;transition:background .2s,color .2s;display:flex}.tenor-close-btn:hover{background:var(--background-alt);color:var(--text-primary)}.tenor-status{min-height:40px;margin-bottom:.5rem}.tenor-status-message{border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.tenor-status-loading{color:var(--text-secondary);background:#fff9}.tenor-status-error{color:#dc2626;background:#ef44441a}.tenor-status-empty{color:var(--text-secondary);background:#ffffff80}.tenor-spinner{border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}.tenor-results-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.35rem;max-height:55vh;padding-bottom:.25rem;padding-right:.25rem;display:grid;overflow-y:auto}.tenor-result-card{cursor:pointer;isolation:isolate;border:none;border-radius:12px;padding:0;position:relative;overflow:hidden}.tenor-result-card img{object-fit:cover;background:var(--surface-color);width:100%;height:100%;display:block}.tenor-result-overlay{color:#fff;opacity:0;background:#00000073;justify-content:center;align-items:center;font-weight:600;transition:opacity .2s;display:flex;position:absolute;inset:0}.tenor-result-card:hover .tenor-result-overlay,.tenor-result-card:focus-visible .tenor-result-overlay{opacity:1}.tenor-panel-footer{text-align:center;margin-top:.75rem}.tenor-load-more-btn{border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer;border-radius:12px;width:100%;padding:.5rem 1rem}@media (prefers-color-scheme:dark){.tenor-panel{color:#fafafa;background:#121212f2}.tenor-panel:before{background:#121212f2}.tenor-floating-backdrop,.tenor-result-overlay{background:#0009}}prompt-management{& .prompt-management{max-width:1200px;margin:0 auto;padding:2rem}& .prompt-header{text-align:center;margin-bottom:2rem}& .prompt-header h2{color:var(--primary-color);justify-content:center;align-items:center;gap:1rem;margin:0 0 1rem;font-size:2rem;display:flex}& .prompt-description{color:var(--text-secondary);max-width:600px;margin:0 auto 1.5rem;font-size:1.1rem;line-height:1.6}& .add-prompt-btn{background:var(--primary-color);color:#fff;border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:.5rem;margin:0 auto;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:flex}& .add-prompt-btn:hover{background:#e91e63;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}& .prompt-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}& .stat-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);text-align:center;transition:var(--transition);padding:1.5rem}& .stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}& .stat-number{color:var(--primary-color);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}& .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}& .prompt-content{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}& .loading-state{text-align:center;color:var(--text-secondary);padding:3rem}& .spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .prompt-item{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);margin-bottom:1rem;padding:1.5rem}& .prompt-item:hover{border-color:var(--primary-color)}& .prompt-item-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}& .prompt-item-info{flex:1}& .prompt-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}& .prompt-meta{color:var(--text-secondary);gap:1rem;margin-bottom:.5rem;font-size:.85rem;display:flex}& .prompt-body{color:var(--text-secondary);background:#ff6b9d0d;border:1px solid #ff6b9d33;border-radius:4px;margin-top:.5rem;padding:.75rem;font-size:.9rem;font-style:italic}& .prompt-actions{align-items:center;gap:.5rem;display:flex}& .status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}& .status-badge.public{color:#059669;background:#22c55e1a;border:1px solid #22c55e4d}& .status-badge.private{color:#dc2626;background:#ef44441a;border:1px solid #ef44444d}& .action-btn{border:1px solid var(--border-color);background:var(--background);color:var(--text-primary);cursor:pointer;transition:var(--transition);border-radius:4px;padding:.375rem .75rem;font-size:.8rem}& .action-btn:hover{background:var(--background-alt);transform:translateY(-1px)}& .action-btn.promote{color:#059669;background:#22c55e1a;border-color:#22c55e4d}& .action-btn.demote{color:#dc2626;background:#ef44441a;border-color:#ef44444d}& .admin-prompt-modal{z-index:10000;position:fixed;inset:0}& .modal-backdrop{backdrop-filter:blur(5px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex}& .modal-content{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 60px #0000004d}& .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}& .modal-header h3{color:var(--primary-color);margin:0;font-size:1.5rem}& .close-btn{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.5rem}& .close-btn:hover{background:var(--background-alt);color:var(--text-primary)}& .form-group{margin-bottom:1.5rem}& .form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}& .help-text{color:var(--text-muted);font-size:.8rem;font-style:italic;font-weight:400}& .form-group input,& .form-group textarea,& .form-group select{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.9rem;transition:all .3s}& .form-group input:focus,& .form-group textarea:focus,& .form-group select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .form-actions{justify-content:flex-end;gap:1rem;display:flex}& .btn{border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:flex}& .btn-primary{background:var(--primary-color);color:#fff}& .btn-primary:hover{background:#e91e63;transform:translateY(-1px)}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color)}& .btn-secondary:hover{background:var(--background);transform:translateY(-1px)}& .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media (width<=768px){& .prompt-management{padding:1rem}& .prompt-stats{grid-template-columns:1fr}& .prompt-item-header{flex-direction:column;align-items:stretch}& .prompt-actions{justify-content:flex-start;margin-top:1rem}}}site-footer{& .main-footer{border-top:2px solid var(--border-color);background:linear-gradient(135deg,#ff6b9d1a,#ffd7001a);margin-top:auto;padding:2rem 0;position:relative;overflow:hidden}& .main-footer:before{content:"";pointer-events:none;opacity:.3;background:linear-gradient(45deg,#ffd7000d 25%,#0000 25% 75%,#ff6b9d0d 75%) 0 0/20px 20px;position:absolute;inset:0}& .footer-content{z-index:1;flex-direction:column;align-items:center;gap:1rem;display:flex;position:relative}& .footer-main{text-align:center}& .footer-copyright{color:var(--text-secondary);letter-spacing:.5px;margin:0;font-size:.875rem;font-weight:500}& #copyright-year{color:var(--primary-color);font-weight:600;transition:all .3s;display:inline-block}& #copyright-year.year-updated{animation:.6s ease-out year-pop}& .footer-extras{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}& .footer-emoji{font-size:1rem;animation:3s ease-in-out infinite sparkle}& .footer-tagline{font-style:italic}& .footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;display:flex}& .footer-links a{color:var(--text-secondary);font-weight:600;text-decoration:none}& .footer-links a:hover{color:var(--primary-color);text-decoration:underline}@media (width<=768px){& .main-footer{padding:1.5rem 0}& .footer-content{gap:.75rem}& .footer-copyright{font-size:.8rem;line-height:1.4}& .footer-extras{font-size:.75rem}& .footer-links{font-size:.8rem}}@media (width<=480px){& .footer-content{padding:0 1rem}& .footer-copyright{font-size:.75rem}}}event-invite-modal{& .event-invite-modal{z-index:10000;opacity:0;visibility:hidden;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}& .event-invite-modal.open{opacity:1;visibility:visible}& .modal-backdrop{backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}& .modal-container{background:var(--card-bg);backdrop-filter:blur(20px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);width:90%;max-width:600px;max-height:90vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:relative;overflow-y:auto;transform:scale(.9)translateY(20px)}& .event-invite-modal.open .modal-container{transform:scale(1)translateY(0)}& .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0;display:flex}& .modal-header h3{color:var(--primary-color);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;display:flex}& .close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.5rem;font-size:1.5rem;display:flex}& .close-btn:hover{color:var(--primary-color);background:#ff6b9d1a}& .modal-body{padding:0 1.5rem 1.5rem}& .tabs{border-bottom:2px solid var(--border-color);gap:.5rem;margin-bottom:1.5rem;display:flex}& .tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1rem;font-size:.875rem;font-weight:600}& .tab:hover{color:var(--primary-color)}& .tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}& .tab-content{min-height:300px;margin-bottom:1.5rem}& .loading-state,& .empty-state{text-align:center;color:var(--text-secondary);padding:3rem 2rem}& .spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .empty-state{color:var(--text-muted)}& .empty-state.small{text-align:left;padding:.5rem 0;font-size:.85rem}& .friends-list,& .invite-lists{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}& .friend-item,& .list-item{border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:.75rem}& .friend-item:hover,& .list-item:hover{background:var(--background-alt);border-color:var(--primary-color)}& .friend-item.disabled,& .list-item.disabled{opacity:.5;background:var(--background-alt)}& .friend-item.disabled:hover,& .list-item.disabled:hover{background:var(--background-alt);border-color:var(--border-color)}& .checkbox-label{cursor:pointer;user-select:none;align-items:center;gap:.75rem;display:flex}& .friend-item.disabled .checkbox-label{cursor:not-allowed}& .checkbox-label input[type=checkbox],& .checkbox-label input[type=radio]{cursor:pointer;width:1.25rem;height:1.25rem}& .checkbox-label span{flex-direction:column;gap:.25rem;display:flex}& .checkbox-label strong{color:var(--text-primary);font-size:.875rem}& .checkbox-label small{color:var(--text-secondary);font-size:.75rem}& .external-invites{flex-direction:column;gap:1.5rem;display:flex}& .existing-invites{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-color);flex-direction:column;gap:.75rem;padding:1rem;display:flex}& .existing-invites-header{color:var(--text-primary);justify-content:space-between;align-items:center;font-weight:600;display:flex}& .existing-invites .badge{background:var(--primary-light);color:var(--primary-color);border-radius:999px;padding:.1rem .75rem;font-size:.75rem;font-weight:600}& .invited-chip-list{flex-direction:column;gap:.5rem;display:flex}& .invite-chip{border-radius:var(--border-radius);background:var(--background-alt);border:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}& .invite-chip-label{color:var(--text-primary);font-size:.875rem}& .invite-status{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--border-radius);border:1px solid #0000;padding:.2rem .5rem;font-size:.75rem}& .invite-status.status-yes{color:#16a34a;background:#22c55e26;border-color:#22c55e4d}& .invite-status.status-maybe{color:#a16207;background:#facc1526;border-color:#facc154d}& .invite-status.status-no{color:#b91c1c;background:#f8717126;border-color:#f871714d}& .invite-status.status-pending{color:#1d4ed8;background:#60a5fa26;border-color:#60a5fa4d}& .form-group{flex-direction:column;gap:.5rem;display:flex}& .form-group label{color:var(--text-primary);font-size:.875rem;font-weight:600}& .form-group textarea{border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);transition:var(--transition);resize:vertical;padding:.75rem;font-family:inherit;font-size:1rem}& .form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .input-hint{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}& .form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1.5rem;display:flex}& .btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:flex}& .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}& .btn-secondary{color:var(--text-primary);border-color:var(--border-color)}& .btn-secondary:hover:not(:disabled){background:var(--background-alt);transform:translateY(-1px)}& .btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color)}& .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d4d}& .btn.loading .btn-text{display:none}& .btn.loading .btn-loading{display:inline}& .toast-notification{background:var(--primary-color);color:#fff;border-radius:var(--border-radius);max-height:4rem;box-shadow:var(--shadow-fun);z-index:10001;padding:1rem 1.5rem;animation:.3s ease-out slideIn;position:fixed;top:2rem;right:2rem}@media (width<=768px){& .modal-container{width:95%;margin:1rem}& .modal-header{padding:1rem 1rem 0}& .modal-body{padding:0 1rem 1rem}& .form-actions{flex-direction:column-reverse}& .tabs{gap:.25rem}& .tab{padding:.5rem .75rem;font-size:.75rem}}}friend-requests{& .friend-requests{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);transition:var(--transition)}& .requests-header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1.5rem 1.5rem 0;display:flex}& .requests-header h3{color:var(--primary-color);margin:0;font-size:1.25rem}& .requests-content{padding:0 1.5rem 1.5rem}& .requests-section{margin-bottom:2rem}& .requests-section:last-child{margin-bottom:0}& .section-title{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;font-weight:600;display:flex}& .section-count{background:var(--accent-color);color:var(--text-on-accent);border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}& .request-item{border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);background:#ffffff4d;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem;display:flex}& .request-item:hover{box-shadow:var(--shadow-fun);border-color:var(--primary-color);transform:translateY(-2px)}& .request-info{flex:1;align-items:center;gap:1rem;display:flex}& .request-details h4{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem}& .request-details p{color:var(--text-secondary);margin:0;font-size:.875rem}& .request-date{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}& .request-actions{gap:.5rem;display:flex}& .accept-btn{background:linear-gradient(135deg,var(--secondary-color),#90faa3);color:var(--text-primary);border:2px solid var(--secondary-color)}& .accept-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #c7f9cc66}& .decline-btn{color:#dc2626;background:#ef44441a;border:2px solid #fecaca}& .decline-btn:hover{background:#fee2e2;transform:translateY(-2px);box-shadow:0 8px 25px #ef444433}& .action-btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:flex}& .action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}& .empty-state{text-align:center;color:var(--text-secondary);padding:2rem}& .empty-state-icon{margin-bottom:1rem;font-size:2.5rem;display:block}& .loading-state{text-align:center;color:var(--text-secondary);padding:2rem}& .loading-spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}@media (width<=768px){& .request-item{flex-direction:column;align-items:flex-start;gap:1rem}& .request-actions{justify-content:center;width:100%}& .requests-header{text-align:center;flex-direction:column;gap:1rem}}}oauth-authorize{& .oauth-authorize-container{justify-content:center;align-items:center;min-height:60vh;padding:2rem 1rem;display:flex}& .oauth-authorize-card{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);width:100%;max-width:600px;padding:2.5rem;animation:.4s ease-out card-enter;position:relative;overflow:hidden}& .oauth-authorize-card:before{content:"";background:linear-gradient(90deg,var(--primary-color),var(--accent-secondary),var(--accent-color));height:4px;position:absolute;top:0;left:0;right:0}& .oauth-authorize-header{text-align:center;margin-bottom:2rem}& .oauth-authorize-header h1{color:var(--primary-color);margin:0 0 .5rem;font-size:2rem;font-weight:700}& .oauth-authorize-subtitle{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.5}& .oauth-authorize-client{background:var(--background-alt);border:2px solid var(--border-color);border-radius:calc(var(--border-radius)*.75);margin-bottom:2rem;padding:1.5rem}& .oauth-authorize-client-info h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.5rem;font-weight:600}& .oauth-authorize-client-id{color:var(--text-muted);font-size:.875rem;font-family:var(--font-mono);word-break:break-all;margin:0}& .oauth-authorize-scopes{margin-bottom:2rem}& .oauth-authorize-scopes h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.125rem;font-weight:600}& .oauth-authorize-scope-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}& .oauth-authorize-scope-item{background:var(--background-alt);border:1px solid var(--border-color);border-radius:calc(var(--border-radius)*.5);transition:var(--transition);align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}& .oauth-authorize-scope-item:hover{background:var(--card-bg);border-color:var(--primary-color);transform:translate(4px)}& .oauth-authorize-scope-icon{color:var(--success-color);flex-shrink:0;margin-top:.125rem;font-size:1.25rem;font-weight:700}& .oauth-authorize-scope-text{color:var(--text-primary);flex:1;font-size:.9375rem;line-height:1.5}& .oauth-authorize-no-scopes{background:var(--background-alt);border:1px solid var(--border-color);border-radius:calc(var(--border-radius)*.5);color:var(--text-secondary);text-align:center;margin:0;padding:1rem;font-size:.9375rem;font-style:italic}& .oauth-authorize-actions{border-top:2px solid var(--border-color);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;display:flex}& .oauth-authorize-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-width:120px;padding:.875rem 2rem;font-family:inherit;font-size:1rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}& .oauth-authorize-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}& .oauth-authorize-btn-approve{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px #ff6b9d4d}& .oauth-authorize-btn-approve:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d66}& .oauth-authorize-btn-approve:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}& .oauth-authorize-btn-approve:hover:before{left:100%}& .oauth-authorize-btn-deny{background:var(--background-alt);color:var(--text-primary);border-color:var(--border-color)}& .oauth-authorize-btn-deny:hover:not(:disabled){background:var(--error-color);color:#fff;border-color:var(--error-color);transform:translateY(-2px);box-shadow:0 4px 15px #ef44444d}& .oauth-authorize-error{text-align:center;padding:2rem}& .oauth-authorize-error h2{color:var(--error-color);margin:0 0 1rem;font-size:1.5rem}& .oauth-authorize-error p{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.6}@media (width<=768px){& .oauth-authorize-container{min-height:50vh;padding:1rem}& .oauth-authorize-card{padding:1.5rem}& .oauth-authorize-header h1{font-size:1.5rem}& .oauth-authorize-actions{flex-direction:column-reverse}& .oauth-authorize-btn{width:100%}}@media (prefers-color-scheme:dark){& .oauth-authorize-card{background:#1e1e2ee6}& .oauth-authorize-client,& .oauth-authorize-scope-item{background:#18182580}& .oauth-authorize-scope-item:hover{background:#1e1e2ee6}& .oauth-authorize-btn-deny{background:#18182580}}}admin-dashboard{& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}@media (width<=768px){& .admin-dashboard{padding:1rem}& .admin-tabs{flex-wrap:wrap}}& .unauthorized-state{text-align:center;padding:4rem 2rem}& .unauthorized-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}& .unauthorized-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}& .unauthorized-message{color:var(--text-muted);margin-bottom:2rem}& .admin-dashboard{max-width:1200px;margin:0 auto;padding:2rem}& .admin-header{border-bottom:2px solid var(--primary-color);margin-bottom:2rem;padding-bottom:1rem}& .admin-title{color:var(--primary-color);align-items:center;gap:.5rem;margin:0;font-size:2rem;font-weight:700;display:flex}& .admin-subtitle{color:var(--text-muted);margin:.5rem 0 0}& .admin-tabs{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:2rem;display:flex}& .admin-tab{cursor:pointer;color:var(--text-muted);transition:var(--transition);border-radius:var(--border-radius)var(--border-radius)0 0;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;display:inline-flex}& .admin-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--background-alt)}& .admin-tab:hover{color:var(--primary-color);background:var(--background-alt)}& .admin-content{min-height:400px}@media (width<=768px){& .admin-dashboard{padding:1rem}& .admin-tabs{flex-wrap:wrap}}}rss-feeds{& .rss-feeds{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-top:2rem;padding:1.5rem}& .rss-feeds-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}& .rss-feeds-header h3{color:var(--text-primary);margin:0;font-size:1.25rem}& .add-feed-form{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}& .add-feed-form h4{color:var(--text-primary);margin:0 0 1rem}& .form-group{margin-bottom:1rem}& .form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}& .form-control{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-size:1rem}& .form-control:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d33}& .form-help{color:var(--text-muted);margin-top:.25rem;font-size:.875rem;display:block}& .form-actions{gap:.5rem;margin-top:1rem;display:flex}& .loading-state,& .empty-state{text-align:center;color:var(--text-muted);padding:3rem 2rem}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .empty-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .empty-hint{margin-top:.5rem;font-size:.875rem}& .feeds-list{flex-direction:column;gap:1rem;display:flex}& .feed-item{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:1.5rem}& .feed-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #ff6b9d1a}& .feed-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}& .feed-info{flex:1;min-width:0}& .feed-title{color:var(--text-primary);word-break:break-word;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}& .feed-meta{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}& .feed-url{word-break:break-all}& .feed-site{color:var(--text-secondary)}& .feed-status{border-radius:var(--border-radius);white-space:nowrap;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;display:flex}& .status-active{color:#10b981;background:#10b9811a}& .status-paused{color:#fbbf24;background:#fbbf241a}& .status-error{color:#ef4444;background:#ef44441a}& .status-pending{color:#9ca3af;background:#9ca3af1a}& .feed-details{background:var(--background-alt);border-radius:var(--border-radius);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}& .feed-stat{flex-direction:column;gap:.25rem;display:flex}& .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}& .stat-value{color:var(--text-primary);font-size:.875rem;font-weight:500}& .stat-value.error{color:var(--error-color)}& .feed-actions{border-top:1px solid var(--border-color);gap:.5rem;padding-top:1rem;display:flex}& .alert{border-radius:var(--border-radius);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;animation:.3s slideIn}& .alert-error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}& .alert-success{color:#10b981;background:#10b9811a;border:1px solid #10b98133}@media (width<=768px){& .rss-feeds{padding:1rem}& .rss-feeds-header{flex-direction:column;align-items:flex-start;gap:1rem}& .feed-header{flex-direction:column}& .feed-details{grid-template-columns:1fr}& .feed-actions{flex-direction:column}& .feed-actions .btn{width:100%}}}markdown-toolbar{& .markdown-toolbar{background:var(--surface-color);border:none;border-bottom:1px solid var(--border-color);border-radius:0;align-items:center;gap:.5rem;margin:0;padding:.5rem;display:flex}& .markdown-toolbar .toolbar-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:all .2s;display:inline-flex}& .markdown-toolbar .toolbar-btn:hover{background:var(--hover-bg);color:var(--text-primary);transform:translateY(-1px)}& .markdown-toolbar .toolbar-btn:active{background:var(--active-bg);transform:translateY(0)}& .markdown-toolbar .toolbar-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}& .markdown-toolbar .toolbar-btn:disabled:hover{color:var(--text-secondary);background:0 0}& .markdown-toolbar .toolbar-btn .material-symbols-outlined{pointer-events:none;width:18px;height:18px;font-size:18px;line-height:1}& .bold-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--pink);transform-origin:50%;animation:2s ease-in-out infinite boldGrow}& .italic-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--pink);transform-origin:50%;animation:2s ease-in-out infinite italicLine}& .dance-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--pink);transform-origin:50%;animation:2s ease-in-out infinite danceColor}& .image-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--pink);animation:2s ease-in-out infinite imageFrame}& .link-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--pink);animation:2s ease-in-out infinite linkConnect}& .gif-icon{--red:#ef4444;--blue:#3b82f6;color:var(--red);animation:1s ease-in-out infinite gifFlash}& .sparkle-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--blue);transform-origin:50%;animation:2s ease-in-out infinite paperclipBounce}& .help-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--pink);transform-origin:50%;animation:2s ease-in-out infinite helpPulse}& .list-icon{--pink:#ff6b9d;--blue:#74c0fc;color:var(--pink);animation:3s ease-in-out infinite listLineAppear}& .markdown-toolbar .toolbar-divider{background:var(--border-color);width:1px;height:20px;margin:0 .25rem}& .markdown-toolbar .toolbar-btn-help.active{background:var(--primary-color);color:#fff}& .markdown-preview-wrapper+.markdown-toolbar{border-top:none}& .markdown-help-pane{background:var(--card-bg);border-bottom:1px solid var(--border-color);opacity:0;max-height:0;transition:max-height .3s,opacity .3s;overflow:hidden;box-shadow:0 4px 12px #0000001a}& .markdown-help-pane.open{opacity:1;max-height:800px}& .help-pane-content{max-height:350px;color:var(--text-primary);background:linear-gradient(135deg,#ff6b9d08,#74c0fc08);padding:1.25rem 1.5rem;overflow:auto}& .close-help{text-align:right;color:var(--text-muted);border-bottom:1px dashed var(--border-color);margin-bottom:1rem;padding-bottom:.75rem;font-size:.85rem;font-style:italic}& .help-section{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem;transition:all .2s;overflow:hidden}& .help-section:hover{border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px #ff6b9d26}& .help-section:last-child{margin-bottom:0}& .help-section summary{cursor:pointer;color:var(--text-primary);user-select:none;background:linear-gradient(135deg,#ff6b9d1a,#74c0fc1a);align-items:center;gap:.5rem;padding:1rem 1.25rem;font-size:1.1rem;font-weight:600;list-style:none;transition:all .2s;display:flex;position:relative}& .help-section summary::-webkit-details-marker{display:none}& .help-section summary:before{content:"▼";color:var(--primary-color);margin-right:.25rem;font-size:.7rem;transition:transform .2s;display:inline-block}& .help-section[open] summary:before{transform:rotate(0)}& .help-section summary:hover{color:var(--primary-color);background:linear-gradient(135deg,#ff6b9d26,#74c0fc26)}& .help-section-content{padding:1rem 1.25rem 1.25rem}& .help-section-content p{color:var(--text-secondary);margin:0 0 1rem;line-height:1.7}& .help-section-content p:last-child{margin-bottom:0}& .markdown-examples{color:var(--text-secondary);margin:1rem 0;padding-left:1.75rem;line-height:1.8}& .markdown-examples li{margin-bottom:.75rem;position:relative}& .markdown-examples li::marker{color:var(--primary-color);font-size:1.2em}& .markdown-examples code{background:var(--surface-color);border:1px solid var(--border-color);color:var(--primary-color);border-radius:4px;margin:0 .2rem;padding:.15rem .4rem;font-family:Courier New,Courier,monospace;font-size:.9em;display:inline-block;box-shadow:0 1px 2px #0000000d}& .help-button-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-top:.5rem;display:grid}& .help-button-item{background:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);align-items:flex-start;gap:.75rem;padding:.875rem 1rem;line-height:1.6;transition:all .2s;display:flex;position:relative}& .help-button-icon{flex-shrink:0;width:20px;height:20px;margin-top:.1rem;font-size:20px;display:inline-block}& .help-button-item:before{content:"";background:linear-gradient(180deg,var(--primary-color),var(--accent-color));border-radius:var(--border-radius)0 0 var(--border-radius);opacity:0;width:3px;height:100%;transition:opacity .2s;position:absolute;top:0;left:0}& .help-button-item:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#ff6b9d0d,#74c0fc0d);transform:translate(2px);box-shadow:0 2px 6px #ff6b9d1a}& .help-button-item:hover:before{opacity:1}& .help-button-item strong{color:var(--primary-color);margin-right:.5rem;font-size:1.05em;font-weight:600}& .help-button-item kbd{border:1px solid var(--primary-color);color:var(--primary-color);background:linear-gradient(135deg,#ff6b9d1a,#74c0fc1a);border-radius:4px;margin:0 .25rem;padding:.2rem .5rem;font-family:Courier New,Courier,monospace;font-size:.85em;font-weight:600;display:inline-block;transform:translateY(-1px);box-shadow:0 1px 3px #ff6b9d33}& .help-link-btn{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border-radius:var(--border-radius);border:2px solid #0000;margin-top:.75rem;padding:.875rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block;box-shadow:0 2px 6px #ff6b9d4d}& .help-link-btn:hover{border-color:#ffffff4d;transform:translateY(-2px)scale(1.02);box-shadow:0 4px 12px #ff6b9d66}& .help-link-btn:active{transform:translateY(0)scale(1)}@media (width<=768px){& .help-button-grid{grid-template-columns:1fr}& .help-pane-content,& .help-section-content{padding:1rem}& .help-section summary{padding:.875rem 1rem;font-size:1rem}}@media (prefers-color-scheme:dark){& .markdown-toolbar{background:var(--surface-color);border-color:var(--border-color)}& .markdown-toolbar .toolbar-btn:hover{background:var(--hover-bg)}& .help-pane-content{background:linear-gradient(135deg,#ff6b9d0d,#74c0fc0d)}& .help-section{border-color:var(--border-color)}& .help-section:hover{border-color:var(--primary-color)}& .help-button-item{border-color:var(--border-color)}& .help-button-item:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#ff6b9d1a,#74c0fc1a)}}}admin-settings-page{& .admin-settings-page{max-width:800px;margin:0 auto;padding:2rem}& .admin-settings-header{text-align:center;border-bottom:2px solid var(--border-color);margin-bottom:3rem;padding-bottom:1.5rem}& .admin-settings-header h1{color:var(--text-primary);margin:0 0 .5rem;font-size:2rem}& .admin-settings-header p{color:var(--text-muted);margin:0;font-size:1rem}& .admin-settings-list{flex-direction:column;gap:1rem;display:flex}& .admin-settings-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;align-items:center;gap:1.5rem;padding:1.5rem;text-decoration:none;transition:all .3s;display:flex}& .admin-settings-item:hover{background:var(--background-alt);border-color:var(--primary-color);transform:translate(5px);box-shadow:0 4px 12px #0000001a}& .admin-settings-item .item-icon{background:var(--background-alt);border-radius:var(--border-radius);flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:2rem;display:flex}& .admin-settings-item .item-icon svg{width:100%;height:100%}& .admin-settings-item .item-content{flex-direction:column;flex:1;gap:.25rem;display:flex}& .admin-settings-item .item-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}& .admin-settings-item .item-description{color:var(--text-muted);font-size:.9rem}& .admin-settings-item .item-arrow{color:var(--text-muted);flex-shrink:0;font-size:1.5rem;transition:transform .3s}& .admin-settings-item:hover .item-arrow{color:var(--primary-color);transform:translate(5px)}& .loading-state,& .unauthorized-state{text-align:center;padding:3rem 1rem}& .loading-state .spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:3rem;height:3rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .unauthorized-icon{margin-bottom:1rem;font-size:4rem}& .unauthorized-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.5rem}& .unauthorized-message{color:var(--text-muted);margin:0 0 1.5rem}@media (width<=768px){& .admin-settings-page{padding:1rem}& .admin-settings-header h1{font-size:1.5rem}& .admin-settings-item{gap:1rem;padding:1rem}& .admin-settings-item .item-icon{width:2.5rem;height:2.5rem;font-size:1.5rem}& .admin-settings-item .item-title{font-size:1rem}& .admin-settings-item .item-description{font-size:.85rem}}@media (prefers-color-scheme:dark){& .admin-settings-item:hover{background:#ffffff0d}}& [data-theme=dark] .admin-settings-item:hover{background:#ffffff0d}}release-notes{& .release-notes-page{max-width:900px}& .release{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:3rem;padding:2rem;box-shadow:0 4px 12px #0000000d}& .release-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:baseline;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}& .release-header h2{color:var(--primary-color);margin:0;font-size:1.75rem}& .release-header time{color:var(--text-secondary);cursor:help;font-size:.9rem}& .release-content h3{color:var(--text-primary);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.2rem}& .release-content h4{color:var(--text-primary);margin-top:1.25rem;margin-bottom:.75rem;font-size:1.05rem;font-weight:600}& .release-content p{margin-bottom:1rem;line-height:1.6}& .release-content ol,& .release-content ul{margin-bottom:1rem;margin-left:1.5rem}& .release-content li{margin-bottom:.5rem;line-height:1.6}& .release-content .material-symbols-outlined{vertical-align:middle;color:var(--primary-color);margin:0 .15rem;font-size:1.2em;display:inline-block}& .step-list{flex-direction:column;gap:2rem;margin-left:0;padding:0;list-style:none;display:flex}& .step-item{align-items:flex-start;gap:1.5rem;margin-bottom:0;display:flex}& .step-screenshot{flex-shrink:0;width:250px;max-width:35%}& .step-screenshot .release-screenshot{border:2px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:none;height:auto;box-shadow:0 4px 12px #0000001a}& .step-content{flex:1;line-height:1.6}& .step-content img,& .release-content img,& .release-header h2 img,& .release-content h3 img{vertical-align:middle;width:auto;height:1em;margin:0 .25em;display:inline-block}& .release-content strong{color:var(--primary-color)}& .screenshot-placeholder{background:var(--background-alt);border:2px dashed var(--border-color);border-radius:var(--border-radius);text-align:center;justify-content:center;align-items:center;min-height:200px;margin:2rem 0;padding:2rem;display:flex}& .screenshot-placeholder p{color:var(--text-secondary);margin:0;font-style:italic}& .screenshot-container{text-align:center;margin:2rem 0}& .screenshot-container .release-screenshot{border:2px solid var(--border-color);border-radius:var(--border-radius);max-width:100%;height:auto;margin:0 auto;display:block;box-shadow:0 4px 12px #0000001a}& .safety-armadillo-container{background:var(--background-alt);border-radius:var(--border-radius);padding:2rem}& .safety-armadillo-container .mascot-icon,& .mascot-container .mascot-icon{width:200px;max-width:100%;height:auto}& .mascot-container{background:var(--background-alt);border-radius:var(--border-radius);padding:2rem}& .preview-toggle-container{justify-content:center;margin:2rem 0;display:flex}& .preview-toggle-images{align-items:flex-start;gap:1rem;width:100%;max-width:100%;display:flex;position:relative}& .preview-toggle-images .release-screenshot{border:2px solid var(--border-color);border-radius:var(--border-radius);opacity:1;flex:1;width:100%;max-width:calc(50% - .5rem);height:auto;transition:opacity .6s ease-in-out,transform .6s ease-in-out;display:block;box-shadow:0 4px 12px #0000001a}& .preview-image{animation:8s ease-in-out infinite togglePreview}& .raw-image{animation:8s ease-in-out infinite toggleRaw}& .release-footer{border-radius:var(--border-radius);text-align:center;border:2px dashed var(--border-color);background:linear-gradient(135deg,#ff6b9d1a,#ffd7001a);margin-top:3rem;padding:1.5rem}@media (width<=768px){& .release-header{flex-direction:column;gap:.5rem}& .release{padding:1.5rem}& .step-item{flex-direction:column;gap:1rem}& .step-screenshot{width:100%;max-width:100%}}}music-player{& .music-player{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;margin:1rem 0;overflow:hidden}& .music-embed{background:var(--surface-color);border:none;border-radius:12px;width:100%}& .music-embed.youtube{height:315px;min-height:200px}& .music-embed.spotify{height:380px}& .music-embed.spotify.track{height:152px}& .music-embed.tidal{height:400px}& .music-embed.apple-music{height:450px}& .music-embed.soundcloud{height:166px}& .music-fallback{text-align:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;margin:1rem 0;padding:1.5rem}& .fallback-content{align-items:center;gap:1rem;max-width:400px;margin:0 auto;display:flex}& .fallback-image{object-fit:cover;background:var(--border-color);border-radius:8px;flex-shrink:0;width:60px;height:60px}& .fallback-details{text-align:left;flex:1;min-width:0}& .fallback-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .25rem;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden}& .fallback-artist{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .5rem;font-size:.85rem;overflow:hidden}& .fallback-platform{background:var(--primary-color);color:#fff;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-flex}& .fallback-platform:hover{background:var(--primary-hover)}& .platform-icon{font-size:.875rem}@media (width<=768px){& .music-embed.youtube{height:200px}& .music-embed.spotify{height:352px}& .music-embed.tidal{height:300px}& .music-embed.apple-music{height:350px}& .fallback-content{text-align:center;flex-direction:column}& .fallback-details{text-align:center}& .fallback-title,& .fallback-artist{white-space:normal;text-overflow:initial;overflow:visible}}@media (prefers-color-scheme:dark){& .music-player{border-color:var(--border-color-dark)}}}.prompt-picker{margin-bottom:1rem}.prompt-display{align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.prompt-actions{align-items:center;gap:.5rem;display:flex}.propose-prompt-btn{cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);border:2px solid #667eea;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.2rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #667eea66}.propose-prompt-btn:before{content:"";opacity:0;background:linear-gradient(45deg,#ffffff4d 25%,#0000 25% 75%,#ffffff4d 75%) 0 0/8px 8px;transition:opacity .3s;animation:2s linear infinite shimmer;position:absolute;inset:0}.propose-prompt-btn:hover{border-color:#f093fb;animation:.6s ease-in-out electric-pulse;transform:scale(1.15);box-shadow:0 6px 25px #667eea99}.propose-prompt-btn:hover:before{opacity:1}.prompt-text{color:var(--text-primary);flex:1;font-size:1.1rem;font-weight:500;transition:all .3s}.prompt-text.has-prompt{color:var(--primary-color);font-weight:600}.prompt-body{border-radius:var(--border-radius);color:var(--text-secondary);background:#ff6b9d0d;border:1px solid #ff6b9d33;margin-top:.5rem;padding:.75rem;font-size:.9rem;font-style:italic;line-height:1.4}.loading-prompts{opacity:.6;pointer-events:none}@media (width<=768px){.prompt-display{gap:.75rem}.prompt-text{font-size:1rem}#washingMachineBtn{--size:3rem}}.user-prompt-modal{z-index:10000;position:fixed;inset:0}.modal-backdrop{backdrop-filter:blur(5px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex}.modal-content{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:500px;max-height:90vh;padding:2rem;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header h3{color:var(--primary-color);margin:0;font-size:1.5rem}.close-btn{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.5rem}.close-btn:hover{background:var(--background-alt);color:var(--text-primary)}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}.help-text{color:var(--text-muted);font-size:.8rem;font-style:italic;font-weight:400}.form-group input,.form-group textarea{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.9rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}.form-notice{border-radius:var(--border-radius);background:#ffd7001a;border:1px solid #ffd7004d;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.notice-icon{flex-shrink:0;font-size:1.2rem}.notice-text{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.form-actions{justify-content:flex-end;gap:1rem;display:flex}.btn{border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:flex}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:#e91e63;transform:translateY(-1px)}.btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--background);transform:translateY(-1px)}mood-selector{& .mood-selector{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;padding:1.5rem}& .mood-header{text-align:center;margin-bottom:1rem}& .mood-header h3{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}& .mood-icons{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1rem;display:flex}& .mood-icon{border:2px solid var(--border-color);background:var(--surface-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;transition:all .2s;display:flex}& .mood-icon:hover{border-color:var(--primary-color);transform:scale(1.1);box-shadow:0 2px 8px #ff6b9d4d}& .mood-icon.selected{border-color:var(--primary-color);background:var(--primary-color);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #ff6b9d66}& .shuffle-btn{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-color:var(--primary-color);animation:2s linear infinite spin}& .shuffle-btn:hover{animation:1s linear infinite spin}& .mood-status-input{margin-top:1rem}& .mood-status-input textarea{border:1px solid var(--border-color);background:var(--surface-color);width:100%;color:var(--text-primary);resize:none;border-radius:8px;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}& .mood-status-input textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d1a}& .char-count{text-align:right;color:var(--text-secondary);margin-top:.25rem;font-size:.8rem}& .mood-post-text{margin-top:1rem}& .mood-post-text textarea{border:1px solid var(--border-color);background:var(--surface-color);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}& .mood-post-text textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d1a}& .mood-actions{justify-content:center;gap:.75rem;margin-top:1rem;display:flex}& .clear-mood-btn{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}& .clear-mood-btn:hover{background:var(--border-color);color:var(--text-primary)}& .share-mood-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}& .share-mood-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b9d4d}@media (width<=768px){& .mood-selector{padding:1rem}& .mood-icons{gap:.5rem}& .mood-icon{width:45px;height:45px;font-size:1.3rem}}}post-writer{& .post-type-selector{justify-content:center;gap:.5rem;display:flex}& .post-type-btn{border:2px solid var(--border-color);background:var(--surface-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}& .post-type-btn:hover{border-color:var(--primary-color);color:var(--text-primary);transform:translateY(-1px)}& .post-type-btn.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #ff6b9d4d}& .mood-section,& .music-section{margin-bottom:1rem}}event-edit{& .event-edit-container button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit}& .event-edit-container{max-width:800px;margin:0 auto;padding:2rem;position:relative}@media (width<=768px){& .event-edit-container{padding:1rem}}& .party-panda-helper{z-index:100;flex-direction:column;align-items:center;gap:1rem;max-width:200px;animation:.5s ease-out panda-slide-in;display:flex;position:fixed;top:120px;right:2rem}& .party-panda-helper.tip-change .panda-avatar{animation:.5s ease-in-out panda-bounce}& .panda-avatar{width:80px;height:80px;animation:3s ease-in-out infinite gentle-bounce}& .panda-avatar svg{filter:drop-shadow(0 2px 8px #0000001a);width:100%;height:100%}& .panda-avatar .party-hat{transform-origin:100px 60px;animation:1.5s ease-in-out infinite hat-wiggle-subtle}& .panda-avatar .hat-pom{animation:.8s ease-in-out infinite pom-bounce-subtle}& .panda-avatar .ear-left{transform-origin:70px 60px;animation:3s ease-in-out infinite ear-wiggle-left}& .panda-avatar .ear-right{transform-origin:130px 60px;animation:3s ease-in-out infinite ear-wiggle-right}& .panda-avatar .eye-white-left,& .panda-avatar .eye-white-right,& .panda-avatar .pupil-left,& .panda-avatar .pupil-right{animation:4s ease-in-out infinite blink}& .panda-tip{background:var(--card-bg);border:2px solid var(--primary-color);backdrop-filter:blur(10px);border-radius:12px;padding:1rem;position:relative;box-shadow:0 4px 12px #ff6b9d33}& .panda-tip:before{content:"";border-left:10px solid #0000;border-right:10px solid #0000;border-bottom:10px solid var(--primary-color);width:0;height:0;position:absolute;top:-10px;left:50%;transform:translate(-50%)}& .panda-tip p{color:var(--text-color);text-align:center;margin:0;font-size:.9rem;line-height:1.4}@media (width<=1200px){& .party-panda-helper{display:none}}& .event-edit-header{margin-bottom:2rem}@media (width<=768px){& .event-edit-header{margin-bottom:1rem}}& .event-edit-header h1{color:var(--text-color);flex-wrap:wrap;align-items:center;gap:1rem;margin:.5rem 0 0;display:flex}& .edit-badge{text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:12px;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}& .edit-badge-instance{background:#00d9ff;box-shadow:0 2px 6px #00d9ff4d}& .edit-badge-recurring{color:#2d2d2d;background:#ffd166;box-shadow:0 2px 6px #ffd1664d}& .event-form{flex-direction:column;gap:2rem;display:flex}@media (width<=768px){& .event-form{gap:1rem}}& .form-section{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}& .editing-instance .form-section{border-color:#00d9ff;box-shadow:0 2px 8px #00d9ff26}& .editing-recurring .form-section{border-color:#ffd166;box-shadow:0 2px 8px #ffd16626}@media (width<=768px){& .form-section{padding:1rem}}& .form-section h2{color:var(--text-color);margin-top:0;margin-bottom:1.5rem}@media (width<=768px){& .form-section h2{margin-bottom:1rem;font-size:1.2rem}}& .form-group{margin-bottom:1.5rem}@media (width<=768px){& .form-group{margin-bottom:1rem}}& .form-group:last-child{margin-bottom:0}& .form-group label{color:var(--text-color);margin-bottom:.5rem;font-weight:600;display:block}& .form-group input[type=text],& .form-group input[type=url],& .form-group input[type=datetime-local],& .form-group textarea,& .form-group select{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--input-bg);width:100%;color:var(--text-color);transition:var(--transition);padding:.75rem;font-size:1rem}@media (width<=768px){& .form-group input[type=text],& .form-group input[type=url],& .form-group input[type=datetime-local],& .form-group textarea,& .form-group select{padding:.6rem;font-size:1rem}}& .form-group input:focus,& .form-group textarea:focus,& .form-group select:focus{border-color:var(--primary-color);outline:none}& .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){& .form-row{grid-template-columns:1fr}}& .radio-group{flex-wrap:wrap;gap:1rem;display:flex}& .radio-label{cursor:pointer;flex:1}& .radio-label input[type=radio]{display:none}& .radio-card{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--input-bg);transition:var(--transition);text-align:center;padding:1rem}@media (width<=768px){& .radio-card{padding:.75rem}}& .radio-label input[type=radio]:checked+.radio-card{border-color:var(--primary-color);background:var(--primary-color);color:#fff}& .radio-card strong{margin-bottom:.25rem;display:block}& .radio-card small{opacity:.9;font-size:.85rem}& .checkbox-label{cursor:pointer;color:var(--text-color);align-items:center;gap:.5rem;display:flex}& .help-text{color:var(--text-secondary);margin-top:.5rem;font-size:.85rem;display:block}& .no-links-msg{color:var(--text-secondary);font-style:italic}& .external-link-input{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}& .external-link-input input{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--input-bg);color:var(--text-color);padding:.75rem}@media (width<=768px){& .external-link-input input{padding:.6rem}}& .btn-remove{color:#fff;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:#dc3545;border:none;padding:.75rem 1rem;font-size:1.2rem;line-height:1}& .btn-remove:hover{background:#c82333}& .form-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}@media (width<=768px){& .form-actions{gap:.5rem;margin-top:1rem}}& .btn-back{color:var(--primary-color);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:.5rem 0;font-size:1rem}& .btn-back:hover{text-decoration:underline}& #cancelBtn{background:var(--input-bg);color:var(--text-color);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);padding:.75rem 1.5rem}@media (width<=768px){& #cancelBtn{padding:.6rem 1rem;font-size:.9rem}}& #cancelBtn:hover{border-color:var(--primary-color)}& #submitBtn{background:var(--primary-color);color:#fff;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;padding:.75rem 1.5rem;font-weight:600}@media (width<=768px){& #submitBtn{padding:.6rem 1rem;font-size:.9rem}}& #submitBtn:hover{background:var(--primary-color-hover);transform:translateY(-2px)}& #submitBtn:disabled{opacity:.6;cursor:not-allowed}& #addLinkBtn{margin-top:1rem}@media (width<=768px){& #addLinkBtn{margin-top:.75rem;padding:.6rem 1rem;font-size:.9rem}}& .checkbox-group{flex-wrap:wrap;gap:1rem;display:flex}& .occurrence-input{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg);margin-bottom:1rem;padding:1rem}& .btn-remove-occurrence{color:#fff;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:#dc3545;border:none;margin-top:1.5rem;padding:.75rem 1rem;font-size:1.2rem;line-height:1}& .btn-remove-occurrence:hover{background:#c82333}& #addOccurrenceBtn{margin-top:.5rem}}reminder-config{& .reminder-config-overlay{backdrop-filter:blur(4px);z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}& .reminder-config-modal{background:var(--card-bg,#fff);border:2px solid var(--border-color,#e5e5e5);border-radius:var(--border-radius,12px);box-shadow:var(--shadow-fun,0 4px 6px #0000001a);flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex}& .modal-header{border-bottom:1px solid var(--border-color,#e5e5e5);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}& .modal-header h2{color:var(--primary-color,#ff6b9d);margin:0;font-size:1.5rem}& .close-btn{color:var(--text-muted,#999);cursor:pointer;transition:var(--transition,all .2s ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:.5rem;font-size:2rem;line-height:1;display:flex}& .close-btn:hover{background:var(--background-alt,#f9f9f9);color:var(--text-primary,#333)}& .modal-body{flex:1;padding:1.5rem;overflow-y:auto}& .reminder-config-content{flex-direction:column;gap:1.5rem;display:flex}& .help-text{color:var(--text-secondary,#666);margin:0;font-size:.875rem}& .reminders-list{flex-direction:column;gap:1rem;display:flex}& .reminder-item{background:var(--background-alt,#f9f9f9);border:2px solid var(--border-color,#e5e5e5);border-radius:var(--border-radius,8px);padding:1.5rem}& .reminder-item.new{border-color:var(--primary-color,#ff6b9d);border-style:dashed}& .reminder-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}& .reminder-header h3{color:var(--text-primary,#333);margin:0;font-size:1rem;font-weight:600}& .btn-icon{cursor:pointer;transition:var(--transition,all .2s ease);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.25rem}& .btn-icon:hover{background:var(--card-bg,#fff)}& .delete-btn:hover{color:#ef4444}& .remove-btn:hover{color:var(--text-muted,#999)}& .reminder-fields{flex-direction:column;gap:1rem;display:flex}& .field-group{flex-direction:column;gap:.5rem;display:flex}& .field-group label{color:var(--text-primary,#333);font-size:.875rem;font-weight:600}& .offset-selector{flex-wrap:wrap;gap:.5rem;display:flex}& .offset-selector select{border:2px solid var(--border-color,#e5e5e5);border-radius:var(--border-radius,6px);background:var(--card-bg,#fff);min-width:120px;color:var(--text-primary,#333);flex:1;padding:.5rem;font-size:.875rem}& .offset-selector select:focus{border-color:var(--primary-color,#ff6b9d);outline:none}& .offset-preview{color:var(--text-secondary,#666);margin:0;font-size:.875rem;font-style:italic}& .notification-type-selector{gap:1rem;display:flex}& .radio-label{cursor:pointer;border:2px solid var(--border-color,#e5e5e5);border-radius:var(--border-radius,6px);transition:var(--transition,all .2s ease);align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}& .radio-label:hover{border-color:var(--primary-color,#ff6b9d)}& .radio-label input[type=radio]{margin:0}& .radio-label input[type=radio]:checked+span{color:var(--primary-color,#ff6b9d);font-weight:600}& .radio-label input[type=radio]:checked~.radio-label{border-color:var(--primary-color,#ff6b9d)}& .reminder-status{border-top:1px solid var(--border-color,#e5e5e5);align-items:center;gap:.5rem;padding-top:.5rem;display:flex}& .status-badge{border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}& .status-badge.sent{color:#fff;background:#22c55e}& .sent-time{color:var(--text-muted,#999);font-size:.75rem}& .actions{border-top:1px solid var(--border-color,#e5e5e5);justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}& .btn{border-radius:var(--border-radius,8px);cursor:pointer;transition:var(--transition,all .2s ease);border:2px solid #0000;padding:.75rem 1.5rem;font-weight:600}& .btn-primary{background:var(--primary-color,#ff6b9d);color:#fff;border-color:var(--primary-color,#ff6b9d)}& .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}& .btn-secondary{background:var(--card-bg,#fff);color:var(--text-primary,#333);border-color:var(--border-color,#e5e5e5)}& .btn-secondary:hover{background:var(--background-alt,#f9f9f9)}& .loading-container{text-align:center;padding:3rem}& .spinner{border:4px solid var(--border-color,#e5e5e5);border-top:4px solid var(--primary-color,#ff6b9d);border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:1s linear infinite spin}@media (width<=768px){& .reminder-config-modal{max-height:95vh}& .offset-selector{flex-direction:column}& .offset-selector select{width:100%}& .notification-type-selector{flex-direction:column}& .actions{flex-direction:column-reverse}& .btn{width:100%}}}music-selector{& .music-selector{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;padding:1.5rem}& .music-header{text-align:center;margin-bottom:1.5rem}& .music-header h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}& .music-header p{color:var(--text-secondary);margin:0;font-size:.9rem}& .music-input-group{margin-bottom:1rem;position:relative}& .music-url-input{border:2px solid var(--border-color);background:var(--surface-color);width:100%;color:var(--text-primary);border-radius:8px;padding:.75rem 2.5rem .75rem .75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}& .music-url-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d1a}& .music-url-input:invalid{border-color:var(--error-color)}& .clear-url-btn{background:var(--text-secondary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;transition:background-color .2s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}& .clear-url-btn:hover{background:var(--error-color)}& .url-status{margin-bottom:1rem}& .loading-indicator,& .generating-indicator{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;display:flex}& .refresh-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:.25rem .5rem;font-size:.8rem;transition:background-color .2s}& .refresh-btn:hover{background:var(--primary-hover)}& .refresh-btn:disabled{background:var(--text-muted);cursor:not-allowed}& .spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}& .error-message{color:var(--error-color);background:rgba(var(--error-color-rgb),.1);border-radius:4px;padding:.5rem;font-size:.9rem}& .music-preview{border:1px solid var(--border-color);background:var(--surface-color);border-radius:8px;margin-bottom:1rem;overflow:hidden}& .music-post-text{margin-bottom:1rem}& .music-post-text textarea{border:1px solid var(--border-color);background:var(--surface-color);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}& .music-post-text textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d1a}& .preview-content{gap:1rem;padding:1rem;display:flex}& .preview-image{object-fit:cover;background:var(--border-color);border-radius:6px;flex-shrink:0;width:80px;height:80px}& .preview-details{flex:1;min-width:0}& .preview-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .25rem;font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}& .preview-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .5rem;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}& .preview-site{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.8rem;display:flex}& .site-icon{font-size:1rem}& .music-actions{justify-content:center;gap:.75rem;margin-top:1rem;display:flex}& .clear-music-btn{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}& .clear-music-btn:hover{background:var(--border-color);color:var(--text-primary)}& .share-music-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}& .share-music-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b9d4d}& .share-music-btn:disabled{background:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}@media (width<=768px){& .music-selector{padding:1rem}& .preview-content{gap:.75rem;padding:.75rem}& .preview-image{width:60px;height:60px}}}audit-logs{& .audit-logs{background:var(--background);border-radius:var(--border-radius);overflow:hidden}& .audit-header{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .audit-header h2{color:var(--text-primary);margin:0 0 1rem;font-size:1.25rem;font-weight:600}& .audit-controls{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}& .filter-group{flex-direction:column;gap:.25rem;min-width:150px;display:flex}& .filter-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}& .audit-content{max-height:600px;overflow-y:auto}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .log-entry{border-bottom:1px solid var(--border-color);transition:var(--transition);padding:1rem 1.5rem}& .log-entry:hover{background:var(--background-alt)}& .log-entry:last-child{border-bottom:none}& .log-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}& .log-action{color:var(--primary-color);text-transform:capitalize;font-weight:600}& .log-time{color:var(--text-muted);font-size:.875rem;font-family:var(--font-mono)}& .log-user{color:var(--text-secondary);margin-bottom:.25rem;font-size:.875rem}& .log-details{color:var(--text-muted);font-size:.875rem;font-family:var(--font-mono);background:var(--background-alt);word-break:break-all;border-radius:4px;margin-top:.5rem;padding:.5rem}& .log-ip{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem}& .empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .pagination{border-top:1px solid var(--border-color);background:var(--background-alt);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}& .pagination-info{color:var(--text-muted);font-size:.875rem}& .pagination-controls{align-items:center;gap:.5rem;display:flex}& .pagination-btn{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);padding:.5rem .75rem;font-size:.875rem}& .pagination-btn:hover:not(:disabled){background:var(--background-alt);border-color:var(--primary-color)}& .pagination-btn:disabled{opacity:.5;cursor:not-allowed}& .pagination-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}@media (width<=768px){& .audit-controls{flex-direction:column;align-items:stretch}& .filter-group{min-width:auto}& .log-header{flex-direction:column;align-items:flex-start;gap:.25rem}& .pagination{flex-direction:column;gap:1rem}}}::slotted([slot=mascot]){justify-content:center;align-items:center;min-width:28px;min-height:28px;display:flex}mascot-icon{filter:drop-shadow(0 2px 6px #0000001f);width:28px;height:28px;display:block}::slotted([slot=actions]){flex:1;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.toolbar-right,.actions{flex-direction:row;flex:1;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}@media (width<=768px){.toolbar-action-bar{flex-wrap:wrap}.toolbar-right{width:100%}::slotted(.btn){flex:1;justify-content:center}}watch-button{& .watch-button-container{align-items:center;display:inline-flex;position:relative}& .watch-btn{background:var(--card-bg,#fff);cursor:pointer;border:2px solid;border-radius:12px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #0000000d}& .watch-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}& .watch-btn-arrow{opacity:.7;font-size:.75rem}& .watch-btn-off{border-color:var(--text-muted,#999);color:var(--text-muted,#999)}& .watch-btn-off:hover{border-color:var(--text-secondary,#666);color:var(--text-secondary,#666)}& .watch-btn-all{color:#fff;background:#4a90e2;border-color:#4a90e2}& .watch-btn-all:hover{background:#357abd;border-color:#357abd}& .watch-btn-threads{color:#fff;background:#b388ff;border-color:#b388ff}& .watch-btn-threads:hover{background:#96f;border-color:#96f}& .watch-dropdown{background:var(--card-bg,#fff);border:2px solid var(--border-color,#e5e5e5);border-radius:var(--border-radius,8px);z-index:1000;min-width:220px;padding:.5rem 0;animation:.2s dropdownSlideIn;position:absolute;top:calc(100% + .5rem);left:0;box-shadow:0 4px 12px #00000026}& .watch-option{text-align:left;cursor:pointer;width:100%;color:var(--text-primary,#333);background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:background .15s;display:flex}& .watch-option:hover{background:var(--background-alt,#f9f9f9)}& .watch-option.active{background:var(--primary-light,#fff5f8);font-weight:600}& .watch-option.active:after{content:"✓";color:var(--primary-color,#ff6b9d);margin-left:auto;font-weight:700}@media (prefers-color-scheme:dark){& .watch-btn{background:var(--card-bg,#1e1e1e)}& .watch-btn-off{border-color:var(--text-muted,#666);color:var(--text-muted,#666)}& .watch-dropdown{background:var(--card-bg,#1e1e1e);border-color:var(--border-color,#444)}& .watch-option:hover{background:var(--background-alt,#2a2a2a)}& .watch-option.active{background:var(--primary-dark,#3a1426)}}@media (width<=768px){& .watch-btn{padding:.3rem .6rem;font-size:.85rem}& .watch-dropdown{min-width:200px}}}markdown-preview{& .markdown-preview-wrapper{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg);flex-direction:column;margin-top:1rem;display:flex;overflow:hidden}& .markdown-toolbar-container{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);display:block}& .markdown-preview-tabs{border-bottom:1px solid var(--border-color);background:var(--background-alt);display:flex}& .preview-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}& .preview-tab:hover{color:var(--text-primary);background:var(--background-hover)}& .preview-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--card-bg)}& .markdown-preview-content{min-height:100px;position:relative}& .markdown-textarea-container{display:block}& .markdown-textarea-container textarea{width:100%;font-family:inherit;font-size:inherit;resize:vertical;background:0 0;border:none;padding:.75rem}& .markdown-preview-container{min-height:100px;max-height:500px;color:var(--text-primary);padding:.75rem;line-height:1.6;overflow-y:auto}& .markdown-preview-container h1,& .markdown-preview-container h2,& .markdown-preview-container h3{margin-top:1rem;margin-bottom:.5rem;font-weight:600}& .markdown-preview-container h1{font-size:1.75rem}& .markdown-preview-container h2{font-size:1.5rem}& .markdown-preview-container h3{font-size:1.25rem}& .markdown-preview-container p{margin-bottom:.75rem}& .markdown-preview-container ul,& .markdown-preview-container ol{margin:.75rem 0;padding-left:1.5rem}& .markdown-preview-container li{margin-bottom:.25rem}& .markdown-preview-container blockquote{border-left:3px solid var(--primary-color);color:var(--text-secondary);margin:.75rem 0;padding-left:1rem;font-style:italic}& .markdown-preview-container code{background:var(--background-alt);border-radius:3px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9em}& .markdown-preview-container pre{background:var(--background-alt);border-radius:var(--border-radius);margin:.75rem 0;padding:1rem;overflow-x:auto}& .markdown-preview-container pre code{background:0 0;padding:0}& .markdown-preview-container a{color:var(--primary-color);text-decoration:underline}& .markdown-preview-container a:hover{text-decoration:none}& .markdown-preview-container img{border-radius:var(--border-radius);max-width:100%;height:auto;margin:.75rem 0}& .markdown-empty{color:var(--text-muted);margin:0;font-style:italic}& .markdown-loading{color:var(--text-secondary);margin:0;font-style:italic}& .markdown-error{color:var(--error-color,#dc3545);margin:0;font-style:italic}}.btn-create-event{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:all .3s;box-shadow:0 4px 12px #ff6b9d4d}oauth-clients{& .oauth-clients{background:var(--background);border-radius:var(--border-radius);overflow:hidden}& .clients-header{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .clients-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}& .clients-header p{color:var(--text-muted);margin:0;font-size:.875rem}& .clients-actions{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1rem 1.5rem}& .add-form,& .edit-form{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .add-form h3,& .edit-form h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.125rem;font-weight:600}& .form-group{margin-bottom:1.5rem}& .form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9375rem;font-weight:500;display:block}& .form-input{border:1px solid var(--border-color);border-radius:calc(var(--border-radius)*.5);background:var(--background);width:100%;color:var(--text-primary);transition:var(--transition);padding:.75rem;font-family:inherit;font-size:1rem}& .form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d33}& .form-input:disabled{background:var(--background-alt);opacity:.6;cursor:not-allowed}& .form-help{color:var(--text-muted);margin:.5rem 0 0;font-size:.875rem}& .uri-input-group{gap:.5rem;margin-bottom:.5rem;display:flex}& .uri-input-group .form-input{flex:1}& .scopes-checkboxes{background:var(--background-alt);border-radius:calc(var(--border-radius)*.5);border:1px solid var(--border-color);flex-wrap:wrap;gap:1rem;padding:.75rem;display:flex}& .checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:.5rem;font-size:.9375rem;display:flex}& .checkbox-label input[type=checkbox]{cursor:pointer;width:1.125rem;height:1.125rem;accent-color:var(--primary-color)}& .form-actions{border-top:1px solid var(--border-color);gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}& .clients-content{padding:1.5rem}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}& .empty-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .empty-state h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem}& .empty-state p{margin:0;font-size:.9375rem}& .clients-list{flex-direction:column;gap:1rem;display:flex}& .client-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:1.5rem}& .client-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow)}& .client-card.revoked{opacity:.6;border-color:var(--error-color)}& .client-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}& .client-info{flex:1}& .client-info h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}& .client-id{color:var(--text-muted);font-size:.875rem;font-family:var(--font-mono);margin:.25rem 0}& .client-id code{background:var(--background-alt);word-break:break-all;border-radius:4px;padding:.25rem .5rem;font-size:.8125rem}& .client-meta{color:var(--text-muted);margin:.25rem 0 0;font-size:.8125rem}& .revoked-badge{background:var(--error-color);color:#fff;border-radius:12px;margin-top:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}& .client-actions{gap:.5rem;display:flex}& .client-details{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}& .detail-group{flex-direction:column;gap:.5rem;display:flex}& .detail-group label{color:var(--text-primary);font-size:.875rem;font-weight:600}& .uri-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}& .uri-list li{background:var(--background-alt);font-family:var(--font-mono);word-break:break-all;border-radius:4px;padding:.5rem;font-size:.8125rem}& .uri-list code{color:var(--text-primary)}& .scopes-list{flex-wrap:wrap;gap:.5rem;display:flex}& .scope-badge{background:var(--primary-color);color:#fff;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}& .btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:calc(var(--border-radius)*.5);cursor:pointer;transition:var(--transition);border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}& .btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color)}& .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ff6b9d4d}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border-color:var(--border-color)}& .btn-secondary:hover{background:var(--card-bg);border-color:var(--primary-color)}& .btn-danger{background:var(--error-color);color:#fff;border-color:var(--error-color)}& .btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 15px #ef44444d}@media (width<=768px){& .client-header{flex-direction:column;gap:1rem}& .client-actions{width:100%}& .client-actions .btn{flex:1}& .client-details{grid-template-columns:1fr}& .form-actions{flex-direction:column-reverse}& .form-actions .btn{width:100%}}@media (prefers-color-scheme:dark){& .client-card{background:#1e1e2ee6}& .add-form,& .edit-form,& .scopes-checkboxes{background:#18182580}}}event-detail{& .event-container{max-width:1200px;margin:0 auto;padding:2rem}& .event-header{margin-bottom:2rem}& .event-title-row{align-items:center;gap:1rem;margin-top:1rem;display:flex}& .event-title-row h1{color:var(--text-color);margin:0}& .event-header toolbar-action-bar{margin-top:1rem}& .event-content{margin-top:2rem}& .event-main{flex-direction:column;gap:1.5rem;display:flex}& .event-info-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}& .event-container.viewing-instance .event-info-card{border-color:#00d9ff;box-shadow:0 2px 8px #00d9ff26}& .event-container.viewing-recurring .event-info-card{border-color:#ffd166;box-shadow:0 2px 8px #ffd16626}& .event-details{margin-bottom:1.5rem}& .detail-row{flex-wrap:wrap;align-items:flex-start;margin-bottom:1rem;display:flex}& .detail-row:last-child{margin-bottom:0}& .detail-label{color:var(--text-color);flex-shrink:0;min-width:120px;margin-right:1rem;font-weight:600}& .detail-value{color:var(--text-color);flex:1;max-width:100%}& .detail-value>*{text-overflow:ellipsis;overflow:hidden}& .links-list{margin:0;padding:0;list-style:none}& .links-list li{margin-bottom:.5rem}& .links-list li:last-child{margin-bottom:0}& .detail-value .external-link{color:var(--link-color);text-decoration:none}& .detail-value .external-link:hover{text-decoration:underline}& .organizer-name{margin-right:.5rem}& .attendance-stat{margin-right:1rem}& .event-divider{background:var(--border-color);height:1px;margin:1.5rem 0}& .rsvp-section{margin-top:1rem}& .rsvp-header{margin-bottom:1rem}& .rsvp-label{color:var(--text-color);font-size:1.1rem;font-weight:600}& .event-info-card p{color:var(--text-color);margin:.5rem 0}& .timezone{color:var(--text-secondary);font-size:.9rem}& .rsvp-options{gap:.75rem;margin-bottom:1rem;display:flex}& .rsvp-btn{border:2px solid var(--border-color);background:var(--input-bg);color:var(--text-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);flex:1;min-width:80px;padding:.75rem 1.5rem;font-weight:600}& .rsvp-btn:hover{border-color:var(--primary-color);transform:translateY(-2px)}& .rsvp-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}& .rsvp-status{border-top:1px solid var(--border-color);justify-content:space-between;align-items:top;flex-direction:row;margin-top:1rem;padding-top:1rem;display:flex}& .rsvp-current{color:var(--text-color);margin-bottom:.5rem;font-weight:600}& .reminder-info{color:var(--text-secondary);margin:0;font-size:.9rem}& .external-links{flex-direction:column;gap:.5rem;display:flex}& .external-link{background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--primary-color);transition:var(--transition);padding:.5rem 1rem;text-decoration:none;display:inline-block}& .external-link:hover{background:var(--primary-color);color:#fff;transform:translate(4px)}& .organizers-list{flex-direction:column;gap:.5rem;display:flex}& .organizer-item{justify-content:space-between;align-items:center;display:flex}& .organizer-name{color:var(--text-color);font-weight:500}& .badge-primary{background:var(--primary-color);color:#fff;border-radius:4px;margin-left:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}& .badge-public,& .badge-private{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}& .badge-public{color:#004085;background:#cce5ff}& .badge-private{color:#383d41;background:#d6d8db}& .attendance-summary{gap:2rem;display:flex}& .attendance-stat{color:var(--text-color)}& .btn-back{color:var(--primary-color);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:.5rem 0;font-size:1rem}& .btn-back:hover{text-decoration:underline}& .toast-notification{background:var(--card-bg);border:2px solid var(--primary-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);z-index:10000;padding:1rem 1.5rem;transition:bottom .3s;position:fixed;bottom:-100px;right:2rem}& .toast-notification.show{bottom:2rem}& .invited-tabs{border-bottom:2px solid var(--border-color);gap:.5rem;margin-bottom:1.5rem;display:flex}& .invited-tabs .tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1rem;font-size:.875rem;font-weight:600}& .invited-tabs .tab:hover{color:var(--primary-color)}& .invited-tabs .tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}& .tab-content-area{min-height:200px}& .empty-state{text-align:center;color:var(--text-secondary);padding:3rem 2rem}& .invited-list{flex-direction:column;gap:.75rem;display:flex}& .invited-item{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);justify-content:space-between;align-items:center;padding:1rem;display:flex}& .invited-item:hover{border-color:var(--primary-color)}& .invited-info{flex-direction:column;gap:.5rem;display:flex}& .invited-name,& .invited-email{color:var(--text-primary);font-weight:600}& .invited-email{color:var(--text-secondary);font-size:.875rem}& .invited-rsvp{border-radius:12px;width:fit-content;padding:.25rem .75rem;font-size:.875rem;font-weight:600;display:inline-block}& .invited-rsvp.yes{color:#065f46;background:#d1fae5}& .invited-rsvp.maybe{color:#92400e;background:#fef3c7}& .invited-rsvp.no{color:#991b1b;background:#fee2e2}& .invited-rsvp.pending{background:var(--background-alt);color:var(--text-secondary)}& .loading,& .error{text-align:center;color:var(--text-color);padding:2rem}@media (prefers-color-scheme:dark){& .badge-public{color:#99c9ff;background:#1a3a52}& .badge-private{color:#d6d8db;background:#2d3032}& .invited-rsvp.yes{color:#86efac;background:#064e3b}& .invited-rsvp.maybe{color:#fcd34d;background:#78350f}& .invited-rsvp.no{color:#fca5a5;background:#7f1d1d}}& .reminder-copy-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}& .reminder-copy-modal{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);width:90%;max-width:500px;padding:2rem;animation:.3s ease-out slideUp;box-shadow:0 4px 20px #0003}& .reminder-copy-modal .modal-header{margin-bottom:1.5rem}& .reminder-copy-modal .modal-header h2{color:var(--text-color);margin:0;font-size:1.5rem}& .reminder-copy-modal .modal-body{margin-bottom:1.5rem}& .reminder-copy-modal .modal-body p{color:var(--text-color);margin:0 0 1.5rem;line-height:1.6}& .reminder-copy-modal .modal-body strong{color:var(--text-color);font-weight:600}& .reminder-copy-modal .modal-actions{flex-direction:column;gap:.75rem;display:flex}& .reminder-copy-modal .modal-actions .btn{border-radius:var(--border-radius);cursor:pointer;border:2px solid #0000;width:100%;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}& .reminder-copy-modal .modal-actions .btn-primary{background:var(--primary-color);color:#fff}& .reminder-copy-modal .modal-actions .btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #00000026}& .reminder-copy-modal .modal-actions .btn-secondary{background:var(--background-alt);color:var(--text-color);border-color:var(--border-color)}& .reminder-copy-modal .modal-actions .btn-secondary:hover{background:var(--background);border-color:var(--primary-color)}& .rsvp-reminder-opt-out{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:1rem}& .rsvp-reminder-opt-out .checkbox-label{cursor:pointer;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}& .rsvp-reminder-opt-out .checkbox-label input[type=checkbox]{cursor:pointer;margin-top:.25rem}& .rsvp-reminder-opt-out .help-text{color:var(--text-secondary);margin-top:.5rem;font-size:.875rem;line-height:1.5;display:block}}activity-panel{& .activity-panel-container{position:relative}& .drag-handle{background:var(--primary-color);cursor:pointer;z-index:1001;border-radius:8px 0 0 8px;flex-direction:column;justify-content:center;align-items:center;width:30px;height:100vh;transition:all .3s;display:flex;position:fixed;top:0;right:0;overflow:hidden;box-shadow:-2px 0 8px #ff6b9d4d}& .drag-handle.expanded{border-radius:0 8px 8px 0;right:320px}& .activity-panel{z-index:1000;background:var(--surface-color);border-left:1px solid var(--border-color);width:320px;height:100vh;transition:all .3s;position:fixed;top:0;right:-320px;box-shadow:-4px 0 12px #0000001a}& .activity-panel.expanded{right:0}& .activity-panel.always-visible{width:320px;height:auto;position:relative;right:0}& .activity-overlay{z-index:999;opacity:0;visibility:hidden;backdrop-filter:blur(3px);background-color:#0000004d;transition:all .3s;position:fixed;inset:0}& .activity-overlay.visible{opacity:1;visibility:visible}& .always-visible .drag-handle{display:none}& .drag-handle:hover{background:var(--primary-hover);transform:scale(1.05);box-shadow:-4px 0 12px #ff6b9d66}& .drag-handle:active{transform:scale(.95)}& .drag-handle:before{content:"";background:linear-gradient(#fff3 0%,#0000 50%,#0000001a 100%);position:absolute;inset:0}& .lightning-bolt{color:#fff;text-shadow:0 2px 4px #0000004d;z-index:2;margin-bottom:.5rem;font-size:1.8rem;transition:all .2s;animation:2s ease-in-out infinite bolt-pulse;transform:rotate(-15deg)}& .drag-handle:hover .lightning-bolt{animation:.5s ease-in-out infinite bolt-excited;transform:rotate(-15deg)scale(1.1)}& .drag-indicator{z-index:2;background:#fff9;border-radius:2px;width:4px;height:40px;margin-top:1rem;position:relative}& .drag-indicator:before{content:"";border-radius:2px;height:100%;animation:3s ease-in-out infinite drag-hint;position:absolute;top:0;left:0;right:0}& .panel-content{background:var(--card-bg);width:100%;height:100vh;box-shadow:none;border:none;flex-direction:column;display:flex;overflow:hidden}& .panel-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#ff6b9d1a,#ffd7001a);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}& .panel-header h3{color:var(--primary-color);margin:0;font-size:1.25rem}& .close-panel-btn{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.2rem}& .close-panel-btn:hover{background:var(--background-alt);color:var(--text-primary)}& .always-visible .close-panel-btn{display:none}& .activities-container{-webkit-overflow-scrolling:touch;flex:1;padding:1rem;overflow:hidden auto}& .loading-state{text-align:center;color:var(--text-secondary);padding:2rem}& .spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:1.5rem;height:1.5rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .activities-list{flex-direction:column;gap:1rem;display:flex}& .activity-item{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:1rem;position:relative;overflow:hidden}& .activity-item:before{content:"";background:var(--primary-color);width:3px;position:absolute;top:0;bottom:0;left:0}& .activity-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow);transform:translateY(-1px)}& .activity-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}& .activity-icon{flex-shrink:0;font-size:1rem}& .activity-user{color:var(--primary-color);font-weight:600}& .activity-action{color:var(--text-secondary);font-size:.9rem}& .activity-target{border-left:2px solid var(--primary-color);background:#ff6b9d0d;border-radius:4px;margin-top:.5rem;padding:.5rem}& .activity-target-title{color:var(--text-primary);margin-bottom:.25rem;font-size:.9rem;font-weight:600}& .activity-target-content{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-height:3rem;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}& .mood-activity{color:var(--primary-color);font-style:italic}& .activity-time{color:var(--text-muted);margin-top:.5rem;font-size:.75rem}& .activity-link{color:inherit;text-decoration:none}& .activity-link:hover{color:var(--primary-color)}& .load-more-container{text-align:center;padding:1rem}& .load-more-btn{background:var(--primary-color);color:#fff;border-radius:var(--border-radius);cursor:pointer;border:none;padding:.75rem 1.5rem;font-weight:600;transition:all .3s}& .load-more-btn:hover{background:#e91e63;transform:translateY(-1px)}& .load-more-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}& .empty-state{text-align:center;color:var(--text-secondary);padding:2rem}& .empty-icon{margin-bottom:1rem;font-size:3rem}& .empty-state h4{color:var(--text-primary);margin:0 0 .5rem}& .empty-state p{color:var(--text-secondary);margin:0}& .error-state{text-align:center;color:var(--text-secondary);padding:2rem}& .error-icon{margin-bottom:1rem;font-size:3rem}& .error-state h4{color:var(--error-color,#f44336);margin:0 0 .5rem}& .error-state p{color:var(--text-secondary);margin:0}@media (width>=1024px){& .drag-handle{display:none!important}& .activity-overlay{display:none}& .activity-panel{width:320px;height:auto;box-shadow:none;border-left:1px solid var(--border-color);position:relative;right:0}& .close-panel-btn{display:none}}@media (width<=768px){& .activity-panel{width:calc(100vw - 30px);right:calc(30px - 100vw)}& .drag-handle.expanded{right:calc(100vw - 30px)}& .panel-header{padding:1rem}& .activities-container,& .activity-item{padding:.75rem}}& .user-mention{& .add-friend-title{display:none}}@media (width<=768px) and (orientation:landscape){& .activity-panel{width:320px;right:-320px}& .drag-handle.expanded{right:320px}}}posts-feed{& .posts-feed{width:100%}& .feed-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}& .feed-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600}& .refresh-btn{align-items:center;gap:.5rem;display:flex}& .refresh-icon{transition:transform .3s}& .refresh-btn:hover .refresh-icon{transform:rotate(180deg)}& .feed-content{min-height:200px}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}& .loading-state .spinner{width:2rem;height:2rem;margin-bottom:1rem}& .error-state{text-align:center;padding:3rem 1rem}& .error-message{color:#ef4444;margin-bottom:1rem}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}& .empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .posts-container{flex-direction:column;gap:1rem;display:flex}& .fade-in{animation:.3s ease-in-out fadeIn}& .load-more-container{flex-direction:column;align-items:center;gap:1rem;margin-top:2rem;padding:1rem;display:flex}& .pagination-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}& .load-more-btn,& .load-previous-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50px;justify-content:center;align-items:center;gap:.75rem;min-width:200px;padding:1rem 2rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #667eea66}& .load-more-btn:hover,& .load-previous-btn:hover{background:linear-gradient(135deg,#764ba2 0%,#667eea 100%);transform:translateY(-2px);box-shadow:0 8px 25px #667eea99}& .load-more-btn:active,& .load-previous-btn:active{transform:translateY(0);box-shadow:0 4px 15px #667eea66}& .load-more-btn:disabled,& .load-previous-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}& .load-more-icon{font-size:1.2rem;animation:2s infinite sparkle}& .load-more-arrow{font-size:1rem;animation:1.5s infinite bounce}& .load-more-text{text-align:center;flex:1}& .pagination-info{color:var(--text-muted);text-align:center;margin-top:.75rem;font-size:.9rem}& .spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}@media (width<=768px){& .feed-header{text-align:center;flex-direction:column;gap:1rem}& .pagination-buttons{flex-direction:column;width:100%}& .load-more-btn,& .load-previous-btn{width:100%;min-width:180px;max-width:300px;padding:.875rem 1.5rem;font-size:1rem}}}invite-friend-modal{& .invite-modal{z-index:10000;opacity:0;visibility:hidden;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}& .invite-modal.open{opacity:1;visibility:visible}& .modal-backdrop{backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}& .modal-container{background:var(--card-bg);backdrop-filter:blur(20px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);width:90%;max-width:500px;max-height:90vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:relative;overflow-y:auto;transform:scale(.9)translateY(20px)}& .invite-modal.open .modal-container{transform:scale(1)translateY(0)}& .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0;display:flex}& .modal-header h3{color:var(--primary-color);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;display:flex}& .close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.5rem;font-size:1.5rem;display:flex}& .close-btn:hover{color:var(--primary-color);background:#ff6b9d1a}& .modal-body{padding:0 1.5rem 1.5rem}& .modal-description{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}& .invite-form{flex-direction:column;gap:1.5rem;display:flex}& .form-group{flex-direction:column;gap:.5rem;display:flex}& .form-group label{color:var(--text-primary);font-size:.875rem;font-weight:600}& .form-group input{border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);transition:var(--transition);padding:.75rem;font-size:1rem}& .form-group input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .form-group input:invalid{border-color:#ef4444}& .input-hint{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}& .form-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}& .btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:flex}& .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}& .btn-secondary{color:var(--text-primary);border-color:var(--border-color)}& .btn-secondary:hover:not(:disabled){background:var(--background-alt);transform:translateY(-1px)}& .btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color)}& .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d4d}& .btn-loading,& .btn.loading .btn-text{display:none}& .btn.loading .btn-loading{display:inline}@media (width<=768px){& .modal-container{width:95%;margin:1rem}& .modal-header{padding:1rem 1rem 0}& .modal-body{padding:0 1rem 1rem}& .form-actions{flex-direction:column-reverse}}}:root{--public-page-max-width:900px}body.public-page-visible{background:linear-gradient(135deg,#ffffffe6,#f0f9ffcc);min-height:100vh}body.public-page-visible .app-layout,body.public-page-visible .landing-page-host{display:none}.public-page-host{width:100%;padding:3rem 1.5rem 4rem;display:none}.public-page-host.active{display:block}.public-page{max-width:var(--public-page-max-width);background:var(--card-bg);border:2px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:28px;margin:0 auto;padding:2.5rem}.public-page header{text-align:center;margin-bottom:2rem}.public-page header h1{color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(2rem,5vw,2.75rem)}.public-page header h1 img{vertical-align:middle;width:auto;height:1em;margin:0 .25em;display:inline-block}.public-page header p{color:var(--text-secondary);font-size:1rem}.public-page section{margin-bottom:2rem}.public-page section:last-child{margin-bottom:0}.public-page h2{color:var(--text-primary);margin-bottom:.75rem;font-size:1.35rem}.public-page p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.7}.public-page ul{margin:0 0 1.25rem;padding-left:0;list-style:none}.public-page li{color:var(--text-secondary);margin-bottom:.75rem;padding-left:1.5rem;position:relative}.public-page li:before{content:"✨";position:absolute;top:0;left:0}.public-page .card{border:1px solid var(--border-color);background:#ffffffb3;border-radius:18px;margin-bottom:1rem;padding:1.25rem}.public-page .note{color:var(--text-muted);font-size:.9rem}@media (width<=640px){.public-page{padding:1.75rem}}user-profile{& .user-profile{max-width:800px;margin:0 auto;padding:2rem}& .profile-header{text-align:center;margin-bottom:2rem}& .profile-header h2{color:var(--primary-color);margin:0;font-size:2rem}& .profile-content{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .profile-info{grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:2rem;display:grid}& .profile-avatar{text-align:center;flex-direction:column;align-items:center;display:flex}& .avatar{background:var(--primary-color);color:#fff;border:4px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:1rem;font-size:3rem;display:flex}& .profile-details{flex-direction:column;gap:1rem;display:flex}& .profile-name{color:var(--text-primary);margin:0;font-size:2rem;font-weight:700}& .profile-username{color:var(--text-muted);margin-top:.25rem;font-size:1rem;font-weight:500}& .profile-email{color:var(--text-muted);font-size:1rem}& .profile-joined{color:var(--text-muted);font-size:.9rem}& .admin-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:1rem;margin-top:.5rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}& .connection-badge{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border-radius:1rem;margin-top:.5rem;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}& .pending-badge{color:#92400e;border-radius:var(--border-radius);background:#fef3c7;border:1px solid #fcd34d;margin-top:1rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-block}& .btn-success{color:#fff;border-radius:var(--border-radius);cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;margin-top:1rem;padding:.75rem 1.5rem;font-weight:600;transition:transform .2s,box-shadow .2s}& .btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}& .btn-success:disabled{opacity:.6;cursor:not-allowed}& .profile-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem;display:grid}& .stat-item{text-align:center;background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem}& .stat-value{color:var(--primary-color);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}& .stat-label{color:var(--text-muted);font-size:.875rem}& .profile-posts{margin-top:2rem}& .posts-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}& .posts-header h3{color:var(--text-primary);margin:0}& .posts-list{flex-direction:column;gap:1rem;display:flex}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem 2rem}& .empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .error-state{text-align:center;color:var(--error-color);padding:3rem 2rem}& .error-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .edit-profile-modal{z-index:10000;position:fixed;inset:0}& .modal-backdrop{backdrop-filter:blur(5px);background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex}& .modal-content{background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:500px;max-height:90vh;padding:2rem;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}& .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}& .modal-header h3{color:var(--primary-color);margin:0;font-size:1.5rem}& .close-btn{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.5rem}& .close-btn:hover{background:var(--background-alt);color:var(--text-primary)}& .form-group{margin-bottom:1.5rem}& .form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}& .form-group input{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.9rem;transition:all .3s}& .form-group input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .form-actions{justify-content:flex-end;gap:1rem;display:flex}& .btn{border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s;display:flex}& .btn-primary{background:var(--primary-color);color:#fff}& .btn-primary:hover:not(:disabled){background:#e91e63;transform:translateY(-1px)}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color)}& .btn-secondary:hover{background:var(--background);transform:translateY(-1px)}& .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}& .btn-loading,& .btn.loading .btn-text{display:none}& .btn.loading .btn-loading{display:inline}@media (width<=768px){& .user-profile{padding:1rem}& .profile-info{text-align:center;grid-template-columns:1fr}& .profile-stats{grid-template-columns:repeat(2,1fr)}}}friends-list{& .friends-list{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);transition:var(--transition);position:relative;overflow:hidden}& .friends-list:before{content:"";background:linear-gradient(90deg,var(--secondary-color),var(--accent-color),var(--accent-secondary));height:4px;position:absolute;top:0;left:0;right:0}& .friends-header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1.5rem 1.5rem 0;display:flex}& .header-actions{align-items:center;gap:.5rem;display:flex}& .btn-icon{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .2s;display:flex;position:relative}& .refresh-btn{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}& .refresh-btn:hover{background:var(--hover-bg);transform:translateY(-1px)scale(1.05);box-shadow:0 2px 8px #0000001a}& .btn-icon:active{transform:scale(.95)}& .friends-header h3{color:var(--primary-color);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;display:flex}& .friends-count{background:var(--accent-color);color:var(--text-on-accent);border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}& .friends-content{padding:0 1.5rem 1.5rem}& .friend-item{border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem;display:flex;position:relative;overflow:hidden}& .friend-item:before{content:"";background:linear-gradient(180deg,var(--primary-color),var(--accent-secondary));width:4px;position:absolute;top:0;bottom:0;left:0}& .friend-item:hover{box-shadow:var(--shadow-fun);border-color:var(--primary-color);transform:translateY(-2px)rotate(.5deg)}& .friend-info{flex:1;align-items:center;gap:1rem;display:flex}& .friend-item .avatar{background:var(--primary-color);color:#fff;box-shadow:none;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;width:3rem!important;height:3rem!important;font-size:1.25rem!important}& .friend-details h4{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem;font-weight:600}& .friend-link{color:inherit;transition:var(--transition);text-decoration:none}& .friend-link:hover{color:var(--primary-color);text-decoration:underline}& .friend-details p{color:var(--text-secondary);margin:0;font-size:.875rem}& .friendship-date{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}& .friend-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}& .friend-status{background:var(--secondary-color);color:var(--text-on-accent);border-radius:12px;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:flex}& .remove-friend-btn{opacity:1;color:#fecaca;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:#dc2626;border:1px solid #fecaca;padding:.375rem .75rem;font-size:.75rem;font-weight:600}& .remove-friend-btn:hover{color:#dc2626;background:#fee2e2;transform:translateY(-1px);box-shadow:0 4px 8px #ef444433}& .loading-state{text-align:center;color:var(--text-secondary);padding:3rem 2rem}& .loading-spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem 2rem}& .empty-state-icon{opacity:.6;margin-bottom:1rem;font-size:3rem;display:block}& .empty-state h4{color:var(--text-secondary);margin-bottom:.5rem}& .empty-state p{margin:0;font-size:.875rem}& .friend-item{animation:.5s ease-out friendAppear}@media (width<=768px){& .friend-item{flex-direction:column;align-items:flex-start;gap:1rem}& .friend-actions{justify-content:space-between;width:100%}& .remove-friend-btn{opacity:1}& .friends-header{text-align:center;flex-direction:column;gap:1rem}}}image-flags{& .image-flags{background:var(--background);border-radius:var(--border-radius);overflow:hidden}& .flags-header{border-bottom:1px solid var(--border-color);background:var(--background-alt);padding:1.5rem}& .flags-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}& .flags-header p{color:var(--text-muted);margin:0;font-size:.875rem}& .flags-filters{border-bottom:1px solid var(--border-color);background:var(--background-alt);gap:.5rem;padding:1rem 1.5rem;display:flex}& .filter-btn{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;transition:var(--transition);padding:.5rem 1rem;font-weight:500}& .filter-btn:hover{background:var(--background-alt);border-color:var(--primary-color)}& .filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}& .flags-content{padding:1.5rem}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .flags-list{flex-direction:column;gap:1rem;display:flex}& .flag-item{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:1.5rem}& .flag-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}& .flag-header{justify-content:space-between;align-items:start;margin-bottom:1rem;display:flex}& .flag-info{flex:1}& .flag-status{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}& .flag-status.pending{color:#000;background:gold}& .flag-status.approved{color:#fff;background:#4caf50}& .flag-status.rejected{color:#fff;background:#f44336}& .flag-image-container{max-width:400px;margin:1rem 0}& .flag-image{border-radius:var(--border-radius);border:1px solid var(--border-color);max-width:100%;height:auto}& .flag-image-blocked{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);text-align:center;color:var(--text-muted);padding:2rem;font-style:italic}& .flag-details{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0;display:grid}& .flag-detail{flex-direction:column;gap:.25rem;display:flex}& .flag-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}& .flag-detail-value{color:var(--text-primary);font-weight:500}& .flag-actions{gap:.5rem;margin-top:1rem;display:flex}& .flag-action-btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;padding:.5rem 1rem;font-weight:500}& .flag-action-btn.approve{color:#fff;background:#4caf50}& .flag-action-btn.approve:hover{background:#45a049}& .flag-action-btn.reject{color:#fff;background:#f44336}& .flag-action-btn.reject:hover{background:#da190b}& .flag-action-btn:disabled{opacity:.5;cursor:not-allowed}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem}& .empty-state-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}& .error-state{text-align:center;color:#f44336;border-radius:var(--border-radius);background:#f443361a;margin:1rem 0;padding:2rem}}washing-machine-icon{& .washing-machine-container{justify-content:center;align-items:center;display:inline-flex}& .washing-machine-container[data-size=small]{width:2.5rem;height:2.5rem}& .washing-machine-container[data-size=medium]{width:4.5rem;height:4.5rem}& .washing-machine-container[data-size=large]{width:5.5rem;height:5.5rem}& .washing-machine-container.interactive{cursor:pointer;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:3px solid #6c757d;border-radius:8px;padding:.25rem;transition:all .3s;box-shadow:0 4px 12px #6c757d4d}& .washing-machine-container.interactive:hover{border-color:#495057;transform:scale(1.1);box-shadow:0 6px 20px #6c757d66}& .washing-machine-container.interactive:active{transform:scale(1.05)}& .washing-machine-container.static{background:0 0;border:none;padding:0}& .washing-machine{justify-content:center;align-items:center;width:100%;height:100%;display:flex}& .machine-body{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:4px;flex-direction:column;width:100%;height:100%;display:flex;position:relative}& .machine-door{background:linear-gradient(135deg,#e9ecef,#dee2e6);border:2px solid #adb5bd;border-radius:50%;flex:1;justify-content:center;align-items:center;margin:.1rem;display:flex;position:relative}& .machine-drum{background:#343a40;border-radius:50%;justify-content:center;align-items:center;width:70%;height:70%;display:flex;position:relative;overflow:hidden}& .drum-inner{border-radius:50%;width:80%;height:80%;position:relative}& .clothes-item{border-radius:50%;transition:all .3s;position:absolute}& .clothes-item:first-child{background:#ff6b9d;top:20%;left:30%}& .clothes-item:nth-child(2){background:#4ecdc4;top:60%;right:25%}& .clothes-item:nth-child(3){background:#ffd93d;bottom:30%;left:50%}& .door-handle{background:#6c757d;border-radius:2px;position:absolute;top:50%;right:.15rem;transform:translateY(-50%)}& .control-panel{background:linear-gradient(135deg,#dee2e6,#ced4da);justify-content:space-around;align-items:center;padding:0 .2rem;display:flex}& .control-button{background:#28a745;border-radius:50%;box-shadow:inset 0 1px 2px #0000001a}& .control-button:last-child{background:#dc3545}& .washing-machine-container[data-size=small] .clothes-item{width:4px;height:4px}& .washing-machine-container[data-size=small] .door-handle{width:.1rem;height:.25rem}& .washing-machine-container[data-size=small] .control-panel{height:.25rem}& .washing-machine-container[data-size=small] .control-button{width:.1rem;height:.1rem}& .washing-machine-container[data-size=medium] .clothes-item{width:8px;height:8px}& .washing-machine-container[data-size=medium] .door-handle{width:.2rem;height:.5rem}& .washing-machine-container[data-size=medium] .control-panel{height:.4rem}& .washing-machine-container[data-size=medium] .control-button{width:.2rem;height:.2rem}& .washing-machine-container[data-size=large] .clothes-item{width:10px;height:10px}& .washing-machine-container[data-size=large] .door-handle{width:.25rem;height:.6rem}& .washing-machine-container[data-size=large] .control-panel{height:.5rem}& .washing-machine-container[data-size=large] .control-button{width:.25rem;height:.25rem}& .washing-machine-container.interactive.spinning{animation:.6s ease-in-out machine-shake}& .washing-machine-container.interactive.spinning .drum-inner{animation:.6s linear drum-spin}& .washing-machine-container.interactive.spinning .clothes-item{animation:.6s linear clothes-tumble}& .washing-machine-container.interactive:hover .drum-inner{animation:2s linear infinite gentle-spin}& .washing-machine-container.interactive:hover .clothes-item{animation:2s linear infinite gentle-tumble}}iframe[src*="docs.google.com"],iframe[src*=picker]{z-index:999999!important}facebook-import-posts,facebook-import-friends{& .facebook-import{max-width:900px;margin:0 auto;padding:2rem}& .settings-header{text-align:center;border-bottom:2px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}& .settings-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.75rem}& .settings-header p{color:var(--text-muted);margin:0;font-size:1rem}& .error-message{background:var(--error-bg,#fee);border:1px solid var(--error-border,#fcc);border-radius:var(--border-radius);color:var(--error-text,#c33);margin-bottom:1.5rem;padding:1rem}& .import-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:2rem;padding:1.5rem}& .form-group{margin-bottom:1.5rem}& .form-group:last-child{margin-bottom:0}& .form-group label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}& .form-group input,& .form-group select{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-size:1rem}& .form-group input:focus,& .form-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb,255,107,157),.1);outline:none}& .form-group input:disabled,& .form-group select:disabled{opacity:.6;cursor:not-allowed}& .form-help{color:var(--text-muted);margin-top:1rem;font-size:.875rem;line-height:1.6;display:block}& .form-help p{margin:.5rem 0}& .form-help ol{margin:.5rem 0 .5rem 1.5rem;padding:0}& .form-help li{margin:.5rem 0}& .form-help a{color:var(--primary-color);text-decoration:underline}& .form-help a:hover{text-decoration:none}& .help-warning{background:var(--warning-bg,#fff3cd);border:1px solid var(--warning-border,#ffc107);border-radius:var(--border-radius);color:var(--warning-text,#856404);margin-top:1rem;padding:.75rem}& .selected-folder{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);align-items:center;gap:1rem;margin-bottom:.5rem;padding:1rem;display:flex}& .folder-icon{flex-shrink:0;font-size:1.5rem}& .folder-name{color:var(--text-primary);flex:1;font-weight:500}& .btn-change-folder{background:var(--background);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}& .btn-change-folder:hover{background:var(--background-alt);border-color:var(--primary-color)}& .btn{border-radius:var(--border-radius);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}& .btn-primary{background:var(--primary-color,#ff6b9d);color:#fff}& .btn-primary:hover:not(:disabled){background:var(--primary-color-hover,#ff4d8a);transform:translateY(-1px);box-shadow:0 4px 8px #0003}& .btn-primary:disabled{opacity:.6;cursor:not-allowed}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color)}& .btn-secondary:hover{background:var(--background);border-color:var(--primary-color)}& .selected-files{background:var(--background-alt);border:1px solid var(--border-color);border-radius:var(--border-radius);flex-direction:column;gap:.75rem;margin-bottom:.5rem;padding:1rem;display:flex}& .files-collapsible{width:100%}& .files-summary{cursor:pointer;user-select:none;color:var(--text-primary);border-radius:var(--border-radius);align-items:center;gap:.75rem;padding:.5rem;font-weight:500;list-style:none;transition:background-color .2s;display:flex}& .files-summary:hover{background:var(--background)}& .files-summary::-webkit-details-marker{display:none}& .files-summary .file-icon{flex-shrink:0;font-size:1.2rem}& .files-summary .file-count{flex:1}& .files-summary .expand-icon{color:var(--text-muted);font-size:.75rem;transition:transform .2s;display:inline-block}& .files-collapsible[open] .files-summary .expand-icon{transform:rotate(180deg)}& .files-list{border-top:1px solid var(--border-color);flex-direction:column;gap:.5rem;max-height:300px;margin-top:.75rem;padding-top:.75rem;display:flex;overflow-y:auto}& .file-item{background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}& .file-item .file-icon{flex-shrink:0;font-size:1rem}& .file-item .file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}& .btn-remove-file{width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;transition:all .2s;display:flex}& .btn-remove-file:hover{background:var(--error-bg,#fee);color:var(--error-text,#c33)}& .file-actions{align-items:center;gap:.5rem;display:flex}& .jobs-section,& .import-jobs-section{margin-bottom:2rem}& .jobs-section h3,& .import-jobs-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.25rem}& .empty-state{text-align:center;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}& .jobs-list,& .job-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}& .job-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}& .job-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}& .job-status,& .status-badge,& .job-status{border-radius:var(--border-radius);text-transform:capitalize;padding:.25rem .75rem;font-size:.875rem;font-weight:600;display:inline-block}& .status-pending,& .job-status.status-pending{background:var(--warning-bg,#fff3cd);color:var(--warning-text,#856404)}& .status-processing,& .job-status.status-processing{background:var(--info-bg,#d1ecf1);color:var(--info-text,#0c5460)}& .status-completed,& .job-status.status-completed{background:var(--success-bg,#d4edda);color:var(--success-text,#155724)}& .status-failed,& .job-status.status-failed{background:var(--error-bg,#f8d7da);color:var(--error-text,#721c24)}& .job-id,& .job-created-at{color:var(--text-muted);font-size:.875rem}& .job-progress{align-items:center;gap:.5rem;margin:.75rem 0;display:flex}& .progress-text{color:var(--text-primary);font-size:.875rem}& .job-actions{gap:.5rem;margin-top:1rem;display:flex}& .delete-job-btn{background:var(--error-bg,#f8d7da);color:var(--error-text,#721c24);border:1px solid var(--error-border,#f5c6cb);border-radius:var(--border-radius);cursor:pointer;justify-content:center;align-items:center;min-width:2rem;height:2rem;padding:.4rem .8rem;font-size:1.2rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}& .delete-job-btn:hover:not(:disabled){background:var(--error-text,#721c24);color:#fff}& .delete-job-btn:disabled{opacity:.5;cursor:not-allowed}& .btn-sm{padding:.5rem 1rem;font-size:.875rem}& .btn-danger{background:var(--error-bg,#f8d7da);color:var(--error-text,#721c24);border:1px solid var(--error-border,#f5c6cb)}& .btn-danger:hover:not(:disabled){background:var(--error-text,#721c24);color:#fff}& .job-details{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}& .job-stat{flex-direction:column;gap:.25rem;display:flex}& .stat-label{color:var(--text-muted);font-size:.875rem}& .stat-value{color:var(--text-primary);font-size:1rem;font-weight:600}& .job-error{background:var(--error-bg,#fee);border:1px solid var(--error-border,#fcc);border-radius:var(--border-radius);color:var(--error-text,#c33);margin-top:.75rem;padding:.75rem;font-size:.875rem}& .spinner-small{border-width:2px;width:16px;height:16px;margin:0}& .active-job-message{background:var(--warning-bg,#fff3cd);border:1px solid var(--warning-border,#ffc107);border-radius:var(--border-radius);color:var(--warning-text,#856404);margin-top:1rem;padding:.75rem;font-size:.875rem}& .settings-footer{border-top:1px solid var(--border-color);justify-content:flex-start;padding-top:1.5rem;display:flex}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@media (width<=768px){& .facebook-import{padding:1rem}& .job-details{grid-template-columns:1fr}& .job-header{flex-direction:column;align-items:flex-start;gap:.5rem}}}imported-friends{& .imported-friends{max-width:900px;margin:0 auto;padding:2rem}& .settings-header{text-align:center;border-bottom:2px solid var(--border-color);margin-bottom:2rem;padding-bottom:1.5rem}& .settings-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.75rem}& .settings-header p{color:var(--text-muted);margin:0;font-size:1rem}& .error-message{background:var(--error-bg,#fee);border:1px solid var(--error-border,#fcc);border-radius:var(--border-radius);color:var(--error-text,#c33);margin-bottom:1.5rem;padding:1rem}& .filters-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:grid}& .filter-group{flex-direction:column;gap:.5rem;display:flex}& .filter-group label{color:var(--text-primary);font-size:.875rem;font-weight:600}& .filter-group input,& .filter-group select{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);color:var(--text-primary);padding:.75rem;font-size:1rem}& .filter-group input:focus,& .filter-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb,255,107,157),.1);outline:none}& .bulk-actions{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}& .checkbox-label{cursor:pointer;color:var(--text-primary);align-items:center;gap:.5rem;font-weight:500;display:flex}& .checkbox-label input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem}& .bulk-buttons{gap:.75rem;display:flex}& .friends-section{margin-bottom:2rem}& .empty-state{text-align:center;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:3rem 2rem}& .friends-list{flex-direction:column;gap:1rem;display:flex}& .friend-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);align-items:center;gap:1rem;padding:1.5rem;transition:all .2s;display:flex}& .friend-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}& .friend-item.selected{background:var(--background-alt);border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb,255,107,157),.2)}& .friend-checkbox-container{flex-shrink:0}& .friend-checkbox-container input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem}& .friend-info{flex-direction:column;flex:1;gap:.5rem;display:flex}& .friend-name{color:var(--text-primary);align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;display:flex}& .friend-email{color:var(--text-muted);font-size:.9rem}& .friend-email-input{flex:1;min-width:200px;max-width:300px}& .email-input{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.5rem .75rem;font-size:.9rem;transition:all .2s}& .email-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb,255,107,157),.1);outline:none}& .email-input:disabled{background:var(--background-alt);color:var(--text-muted);cursor:not-allowed}& .friend-actions{flex-shrink:0;gap:.5rem;display:flex}& .status-badge{border-radius:var(--border-radius);padding:.25rem .75rem;font-size:.75rem;font-weight:600}& .status-pending{background:var(--warning-bg,#fff3cd);color:var(--warning-text,#856404)}& .status-invited{background:var(--info-bg,#d1ecf1);color:var(--info-text,#0c5460)}& .status-ignored{background:var(--text-muted-bg,#e9ecef);color:var(--text-muted)}& .status-accepted{background:var(--success-bg,#d4edda);color:var(--success-text,#155724)}& .btn{border-radius:var(--border-radius);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}& .btn-sm{padding:.5rem 1rem;font-size:.875rem}& .btn-primary{background:var(--primary-color,#ff6b9d);color:#fff}& .btn-primary:hover:not(:disabled){background:var(--primary-color-hover,#ff4d8a);transform:translateY(-1px);box-shadow:0 4px 8px #0003}& .btn-primary:disabled{opacity:.6;cursor:not-allowed}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color)}& .btn-secondary:hover:not(:disabled){background:var(--background);border-color:var(--primary-color)}& .btn-secondary:disabled{opacity:.6;cursor:not-allowed}& .settings-footer{border-top:1px solid var(--border-color);justify-content:flex-start;padding-top:1.5rem;display:flex}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@media (width<=768px){& .imported-friends{padding:1rem}& .filters-section{grid-template-columns:1fr}& .bulk-actions{flex-direction:column;align-items:flex-start;gap:1rem}& .bulk-buttons{flex-direction:column;width:100%}& .bulk-buttons .btn{width:100%}& .friend-item{flex-wrap:wrap}& .friend-email-input{width:100%;min-width:100%;max-width:100%}& .friend-actions{justify-content:flex-start;width:100%}}& .pagination{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem;display:flex}& .pagination-info{color:var(--text-muted);font-size:.9rem}& .pagination-buttons{gap:.5rem;display:flex}& .page-btn{min-width:100px}}photocopy-icon{& .photocopy-icon{color:var(--text-secondary);justify-content:center;align-items:center;transition:all .2s;display:inline-flex}& .photocopy-icon svg{width:100%;height:100%}& .photocopy-small{width:16px;height:16px}& .photocopy-medium{width:20px;height:20px}& .photocopy-large{width:24px;height:24px}& .photocopy-icon.interactive{cursor:pointer;color:var(--text-muted)}& .photocopy-icon.interactive:hover{color:var(--primary-color);transform:scale(1.1)}& .photocopy-icon.interactive:active{transform:scale(.95)}& .photocopy-icon.copying{animation:.6s ease-in-out photocopy-action}& .photocopy-icon.disabled{opacity:.5;cursor:not-allowed}& .photocopy-icon.disabled:hover{color:var(--text-muted);transform:none}}notification-settings{& .notification-settings{background:var(--bg-primary);max-width:800px;box-shadow:var(--shadow-md);border-radius:12px;margin:0 auto;padding:2rem}& .settings-header{text-align:center;border-bottom:2px solid var(--border-color);margin-bottom:2rem;padding-bottom:1rem}& .settings-header h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.8rem}& .settings-header p{color:var(--text-secondary);margin:0;font-size:1rem}& .notification-group{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}& .group-header h3{color:var(--text-primary);margin:0 0 .5rem;font-size:1.2rem}& .group-description{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}& .notification-options{flex-direction:column;gap:1rem;display:flex}& .option-row{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}& .option-info{flex-direction:column;gap:.25rem;display:flex}& .option-label{color:var(--text-primary);font-size:.95rem;font-weight:500}& .option-description{color:var(--text-secondary);font-size:.8rem}& .toggle-switch{width:50px;height:24px;display:inline-block;position:relative}& .toggle-switch input{opacity:0;width:0;height:0}& .toggle-slider{cursor:pointer;background-color:var(--border-color);border-radius:24px;transition:all .3s;position:absolute;inset:0}& .toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}& input:checked+.toggle-slider{background-color:var(--accent-color)}& input:checked+.toggle-slider:before{transform:translate(26px)}& input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}& .settings-footer{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:2rem;display:flex}& .save-status{border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}& .save-status.saving{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}& .save-status.success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}& .save-status.error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border)}& .loading-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}& .spinner{border:3px solid var(--border-color);border-top:3px solid var(--accent-color);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}& .error-state{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}& .error-icon{font-size:3rem}& .retry-button{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:background-color .2s}& .retry-button:hover{background:var(--accent-hover)}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);padding:.75rem 1.5rem;font-size:1rem;font-weight:500}& .btn-secondary:hover{background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}@media (width<=768px){& .notification-settings{border-radius:0;margin:0;padding:1rem}& .option-row{flex-direction:column;align-items:flex-start;gap:.75rem}& .toggle-switch{align-self:flex-end}& .settings-footer{align-items:stretch}& .settings-footer .btn-secondary{width:100%}}}events-calendar{& .calendar-container{margin:0 auto;padding:0}& .calendar-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}& .calendar-header h1{color:var(--primary-color);margin:0;font-size:2rem}& .calendar-controls{flex:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}& .header-left{align-items:center;gap:1rem;display:flex}& .header-right{align-items:center;gap:.75rem;display:flex}& .view-switcher{background:var(--card-bg);border-radius:8px;gap:.5rem;padding:.25rem;display:flex}& .view-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}& .view-btn:hover{background:var(--hover-bg)}& .view-btn.active{background:var(--primary-color);color:#fff}& .calendar-nav{align-items:center;gap:1rem;display:flex}& .nav-btn{background:var(--card-bg);width:2rem;height:2rem;color:var(--text-color);cursor:pointer;border:none;border-radius:4px;font-size:1.2rem;transition:all .2s}& .nav-btn:hover{background:var(--hover-bg)}& .current-period{text-align:center;min-width:150px;font-size:1.1rem;font-weight:600}& .btn-view-list{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.95rem;text-decoration:none;transition:all .2s;display:flex}& .btn-view-list:hover{background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}& .btn-create-event:hover{background:var(--primary-hover)}& .events-tabs{border-bottom:2px solid var(--border-color);align-items:center;gap:1rem;margin-top:1rem;margin-bottom:0;display:flex}& .tab-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:.5rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;position:relative}& .tab-btn:hover{background:var(--hover-bg)}& .tab-btn.active{background:var(--primary-color);color:#fff}& .toggle-checkbox-label{cursor:pointer;align-items:center;gap:.5rem;margin-left:auto;display:flex}& .toggle-checkbox{display:none}& .toggle-checkbox-custom{background:var(--border-color);border-radius:1rem;width:2.5rem;height:1.25rem;transition:background .2s;position:relative}& .toggle-checkbox-custom:before{content:"";background:#fff;border-radius:50%;width:1rem;height:1rem;transition:left .2s;position:absolute;top:.125rem;left:.125rem}& .toggle-checkbox:checked+.toggle-checkbox-custom{background:var(--primary-color)}& .toggle-checkbox:checked+.toggle-checkbox-custom:before{left:1.25rem}& .toggle-label-text{color:var(--text-color);font-size:.9rem}& .calendar-view{background:var(--card-bg);border-radius:12px;overflow:auto visible;box-shadow:0 2px 4px #0000001a}& .calendar-grid{background:var(--border-color);grid-template-columns:repeat(7,1fr);gap:1px;min-width:700px;display:grid}& .day-name{text-align:center;background:var(--card-bg);color:var(--text-color);padding:1rem;font-size:.9rem;font-weight:600}& .calendar-day{background:var(--card-bg);cursor:pointer;flex-direction:column;min-height:100px;padding:.5rem;transition:background .2s;display:flex}& .calendar-day:hover{background:var(--hover-bg)}& .calendar-day.empty{background:var(--bg-color);cursor:default}& .calendar-day.today{background:var(--primary-light)}& .day-number{color:var(--text-color);margin-bottom:.5rem;font-weight:600}& .calendar-day.today .day-number{color:var(--primary-color);font-weight:700}& .day-events{flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden}& .event-dot{background:var(--primary-color);color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:4px;padding:2px 6px;font-size:.75rem;transition:all .2s;overflow:hidden}& .event-dot:hover{background:var(--primary-hover);transform:translateY(-1px)}& .event-dot.more{background:var(--secondary-color);text-align:center;font-weight:600}& .event-dot.more-events{opacity:.7}& .event-dot.rsvp-yes{background:#28a745}& .event-dot.rsvp-no{opacity:.7;background:#dc3545}& .event-dot.rsvp-maybe{color:#333;background:#ffc107}& .event-dot.rsvp-none{background:var(--primary-color)}& .week-view{grid-template-columns:repeat(7,1fr);gap:1rem;min-width:1050px;padding:1rem;display:grid}& .week-day{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;min-height:400px;padding:.5rem}& .week-day.today{border-color:var(--primary-color);background:var(--primary-light)}& .week-day-header{border-bottom:1px solid var(--border-color);flex-direction:column;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}& .week-day-name{color:var(--text-muted);font-size:.9rem;font-weight:600}& .week-day-number{color:var(--text-color);margin-top:.25rem;font-size:1.5rem;font-weight:700}& .week-day.today .week-day-number{color:var(--primary-color)}& .week-day-events{flex-direction:column;gap:.5rem;display:flex}& .empty-day{text-align:center;color:var(--text-muted);padding:1rem;font-size:.85rem}& .timeline{padding:1rem}& .timeline-hour{grid-template-columns:80px 1fr;min-height:60px;margin-bottom:.5rem;display:grid}& .hour-label{color:var(--text-muted);text-align:right;padding:.5rem;font-size:.85rem}& .hour-events{border-left:1px solid var(--border-color);padding-left:1rem;position:relative}& .hour-events.past{opacity:.5}& .empty-slot{height:40px}& .event-card{background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;gap:1rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s;display:flex}& .event-card:hover{border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}& .event-card.past{opacity:.6}& .event-card.rsvp-yes{border-left:4px solid #28a745}& .event-card.rsvp-no{opacity:.8;border-left:4px solid #dc3545}& .event-card.rsvp-maybe{border-left:4px solid #ffc107}& .event-card.rsvp-none{border-left:4px solid var(--primary-color)}& .event-card h4{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .5rem;font-size:1rem;overflow:hidden}& .event-time{background:var(--bg-color);border-radius:6px;flex-direction:column;align-items:center;min-width:80px;padding:.5rem;display:flex}& .event-time .time{color:var(--primary-color);font-size:1.1rem;font-weight:600}& .event-time .date{color:var(--text-muted);font-size:.75rem}& .event-info{flex:1;min-width:0}& .event-info h3{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;margin:0 0 .5rem;font-size:1.1rem;overflow:hidden}& .event-location{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem}& .rsvp-badge{border-radius:4px;margin-top:.5rem;padding:.25rem .5rem;font-size:.85rem;font-weight:600;display:inline-block}& .rsvp-badge.rsvp-yes{color:#155724;background:#d4edda}& .rsvp-badge.rsvp-maybe{color:#856404;background:#fff3cd}& .rsvp-badge.rsvp-no{color:#721c24;background:#f8d7da}& .events-list{padding:1rem}& .empty-state{text-align:center;padding:3rem}& .mascot{margin-bottom:1rem;font-size:4rem}& .empty-state p{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.1rem}& .btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;transition:all .2s}& .btn-primary:hover{background:var(--primary-hover)}& .loading{text-align:center;color:var(--text-muted);padding:2rem}@media (prefers-color-scheme:dark){& .event-time{background:var(--hover-bg)}}}comments-section{& .comments-section{border-top:2px solid var(--border-color);margin-top:2rem;padding-top:2rem}& .comments-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}& .comments-header h3{color:var(--primary-color);align-items:center;margin:0;font-size:1.25rem;display:flex}& .lazy-loading-state{text-align:center;padding:2rem}& .lazy-load-trigger{justify-content:center;display:flex}& .load-comments-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));cursor:pointer;border:none;border-radius:50px;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 15px #ff6b9d4d;color:#1a1a1a!important}& .load-comments-btn:hover{background:linear-gradient(135deg,var(--primary-hover),var(--primary-color));transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d66;color:#1a1a1a!important}& .load-comments-btn:active{transform:translateY(0)}& .load-icon{filter:brightness(1.3)contrast(1.2);font-size:1.2rem;transition:transform .3s,filter .3s;animation:2s ease-in-out infinite comment-pulse;display:inline-block}& .load-text{color:#1a1a1a;text-shadow:0 1px 2px #fffc;font-weight:600}& .load-comments-btn:hover .load-icon{filter:brightness(1.5)contrast(1.3)hue-rotate(20deg);transform:rotate(15deg)scale(1.15)}& .comments-count{background:var(--accent-color);color:var(--text-on-accent);border-radius:12px;padding:.25rem .75rem;font-size:.875rem;font-weight:600}& .comments-content{min-height:100px}& .loading-state{text-align:center;color:var(--text-secondary);padding:2rem}& .loading-spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .error-state{text-align:center;color:var(--text-secondary);padding:2rem}& .error-icon{opacity:.6;margin-bottom:1rem;font-size:2rem;display:block}& .comment-form{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);margin-top:2rem;margin-bottom:0;padding:1.5rem;position:relative;overflow:hidden}& .inline-reply-form{border-color:var(--primary-color);background:linear-gradient(135deg,#ffd7000d,#ff6b9d0d);margin-top:1rem;margin-bottom:1rem}& .inline-reply-container{margin-left:1rem;position:relative}& .inline-reply-container:before{content:"⚡";z-index:10;background:linear-gradient(135deg,gold,orange);border:1px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.7rem;display:flex;position:absolute;top:1rem;left:-1.5rem;box-shadow:0 2px 6px #ffd70066}& .comment-form:before{content:"";background:linear-gradient(90deg,var(--secondary-color),var(--accent-color));height:3px;position:absolute;top:0;left:0;right:0}& .comment-form-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}& .comment-form-title{color:var(--primary-color);margin:0;font-size:1rem;font-weight:600}& .cancel-reply-btn{color:#dc2626;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:#ef44441a;border:1px solid #fecaca;padding:.25rem .75rem;font-size:.75rem;font-weight:600}& .cancel-reply-btn:hover{background:#fee2e2}& .comment-form textarea{border:2px solid var(--border-color);border-radius:var(--border-radius);width:100%;min-height:100px;color:var(--text-primary);resize:vertical;transition:var(--transition);padding:1rem;font-family:inherit;font-size:1rem}& .comment-form .gif-picker-row{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}& .comment-form .gif-picker-row tenor-gif-picker{flex:1;margin-top:0}& .comment-form .gif-picker-row tenor-gif-picker .tenor-toggle-btn{justify-content:center;width:100%}& .comment-form .gif-picker-row #mediaSourceBtn{min-width:0;font-size:inherit;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .9rem;font-weight:600;display:inline-flex}& .comment-form textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .alias-field{margin-bottom:1rem;position:relative}& .alias-label{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}& .mischief-icon{cursor:help;font-size:1rem;transition:all .3s;animation:3s ease-in-out infinite mischief-wiggle}& .mischief-icon:hover{filter:brightness(1.2);transform:scale(1.3)rotate(15deg)}& .alias-input{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.875rem;transition:all .3s}& .alias-input:focus{border-color:var(--primary-color);background:linear-gradient(135deg,#ffd70005,#ff6b9d05);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .alias-input::placeholder{color:var(--text-muted);font-style:italic}& .comment-form-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}& .btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:2px solid #0000;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}& .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}@media (prefers-color-scheme:dark){& .btn-secondary{color:var(--text-primary);border-color:var(--border-color)}& .btn-secondary:hover:not(:disabled){background:var(--background-alt);transform:translateY(-1px)}}& .btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color)}& .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d4d}& .btn.loading .btn-text{display:none}& .btn.loading .btn-loading{display:inline}& .btn-loading{display:none}& .comments-list{flex-direction:column;gap:1rem;display:flex}& .comment-item{background:var(--card-bg);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:1.5rem;position:relative;overflow:hidden}& .comment-item:before{content:"";background:linear-gradient(180deg,var(--primary-color),var(--accent-secondary));width:3px;position:absolute;top:0;bottom:0;left:0}& .comment-thread{position:relative}& .comment-reply{margin-left:calc(var(--thread-depth)*2rem);margin-top:1rem;position:relative}& .comment-reply:before{content:"⚡";z-index:10;background:linear-gradient(135deg,gold,orange,#ff6b9d);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;font-size:1rem;display:flex;position:absolute;top:1rem;left:-1.5rem;box-shadow:0 2px 8px #ff6b9d4d}& .comment-reply[data-depth="1"]:before{content:"⚡";background:linear-gradient(135deg,gold,orange)}& .comment-reply[data-depth="2"]:before{content:"⚡";background:linear-gradient(135deg,#00bfff,#1e90ff)}& .comment-reply[data-depth="3"]:before{content:"⚡";background:linear-gradient(135deg,#ff69b4,#ff1493)}& .comment-reply:before{transition:all .3s;animation:2s ease-in-out infinite lightning-pulse}& .comment-reply:hover:before{transform:scale(1.2)rotate(15deg);box-shadow:0 4px 12px #ffd70080}& .comment-replies{position:relative}& .comment-replies:before{content:"";z-index:1;background:linear-gradient(#ffd70066 0%,#ffa5004d 33%,#00bfff4d 66%,#ff69b466 100%);border-radius:1px;width:2px;position:absolute;top:-.5rem;bottom:1rem;left:-.9rem}& .parent-context{background:linear-gradient(135deg,#ffd7001a,#ff6b9d1a);border-left:3px solid gold;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem;font-size:.8rem;display:flex;position:relative;overflow:hidden}& .parent-context:before{content:"";pointer-events:none;background:linear-gradient(45deg,#ffd7000d 25%,#0000 25% 75%,#ffd7000d 75%) 0 0/8px 8px;position:absolute;inset:0}& .parent-context-line{background:linear-gradient(135deg,gold,orange);border:1px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.7rem;display:flex;box-shadow:0 1px 3px #ffd7004d}& .parent-context-line:before{content:"⚡"}& .parent-context-content{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}& .parent-context-author{color:var(--primary-color);flex-shrink:0;font-weight:600}& .parent-context-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}& .reply-indicator{color:var(--primary-color);font-weight:500}& .comment-item:hover{box-shadow:var(--shadow-fun);border-color:var(--primary-color);transform:translateY(-1px)}& .comment-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}& .comment-author{align-items:center;gap:.75rem;display:flex}& .comment-avatar{background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:600;display:flex}& .comment-author-info{flex:1}& .comment-author-name{color:var(--text-primary);margin-bottom:.125rem;font-weight:600}& .comment-author-link .user-mention-link{color:inherit;transition:var(--transition);text-decoration:none}& .comment-author-link .user-mention-link:hover{color:var(--primary-color);text-decoration:underline}& .comment-meta{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}& .comment-time{cursor:pointer;transition:var(--transition)}& .comment-time:hover{color:var(--primary-color)}& .comment-actions{align-items:center;gap:.5rem;display:flex}& .comment-action-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:.875rem}& .comment-action-btn:hover{color:var(--primary-color);background:#ff6b9d1a}& .comment-content{color:var(--text-primary);margin-bottom:1rem;line-height:1.6}& .comment-content h1,& .comment-content h2,& .comment-content h3{color:var(--primary-color);margin-top:1rem;margin-bottom:.5rem}& .comment-content p{margin-bottom:.75rem}& .comment-content code{color:var(--primary-color);font-family:var(--font-mono);background:#ff6b9d1a;border-radius:4px;padding:.125rem .375rem;font-size:.875em}& .comment-content pre{color:#f8f8f2;border-radius:var(--border-radius);background:#282a36cc;margin:.75rem 0;padding:1rem;overflow-x:auto}& .comment-content blockquote{border-left:3px solid var(--primary-color);color:var(--text-secondary);margin:.75rem 0;padding-left:1rem;font-style:italic}& .comment-content img{max-width:100%;height:auto;box-shadow:var(--shadow);border-radius:8px;margin:.75rem 0;display:block}& .comment-content .image-blocked{background:var(--background-alt);border-radius:4px;margin:.75rem 0;padding:.5rem;display:block}& .comment-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}& .comment-reply-btn{color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:flex}& .comment-reply-btn:hover{background:var(--background-alt);transform:translateY(-1px)}& .comment-permalink{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono);transition:var(--transition);border-radius:4px;padding:.25rem .5rem;text-decoration:none}& .comment-permalink:hover{color:var(--primary-color);background:#ff6b9d1a;text-decoration:none}& .empty-state{text-align:center;color:var(--text-muted);padding:3rem 2rem}& .empty-state-icon{opacity:.6;margin-bottom:1rem;font-size:3rem;display:block}& .empty-state h4{color:var(--text-secondary);margin-bottom:.5rem}& .empty-state p{margin:0;font-size:.875rem}& .edit-comment-form{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--primary-color);border-radius:var(--border-radius);margin-top:.5rem;padding:1rem;position:relative;overflow:hidden}& .edit-comment-form:before{content:"";background:linear-gradient(90deg,var(--primary-color),var(--primary-hover));height:3px;position:absolute;top:0;left:0;right:0}& .edit-form-group{flex-direction:column;gap:1rem;display:flex}& .edit-comment-textarea{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-primary);width:100%;min-height:80px;color:var(--text-primary);resize:vertical;transition:var(--transition);outline:none;padding:.75rem;font-family:inherit;font-size:.9rem;line-height:1.5}& .edit-comment-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff6b9d1a}& .edit-form-actions{justify-content:flex-end;gap:.75rem;display:flex}& .edit-submit-btn,& .edit-cancel-btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:flex}& .edit-submit-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff}& .edit-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b9d4d}& .edit-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}& .edit-cancel-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}& .edit-cancel-btn:hover{background:var(--border-color);color:var(--text-primary)}& .char-count{text-align:right;color:var(--text-secondary);margin-top:-.5rem;font-size:.75rem}& .edit-submit-btn.loading{color:#0000;position:relative}& .edit-submit-btn.loading:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;margin:-.5rem 0 0 -.5rem;animation:1s linear infinite spin;position:absolute;top:50%;left:50%}@media (width<=768px){& .comments-header{text-align:center;flex-direction:column;gap:.5rem}& .comment-reply{margin-left:calc(var(--thread-depth)*1rem)}& .comment-reply:before{width:1rem;height:1rem;font-size:.8rem;left:-1rem}& .comment-replies:before{left:-.5rem}& .parent-context{padding:.375rem;font-size:.75rem}& .parent-context-line{width:.8rem;height:.8rem;font-size:.6rem}& .parent-context-text{max-width:120px}& .inline-reply-container{margin-left:.5rem}& .inline-reply-container:before{width:.8rem;height:.8rem;font-size:.6rem;left:-1rem}& .comment-header{flex-direction:column;align-items:flex-start;gap:1rem}& .comment-actions{align-self:flex-end}& .comment-footer{flex-direction:column;align-items:flex-start;gap:.75rem}& .comment-form-actions{flex-direction:column-reverse}}}two-factor-settings{& .two-factor-settings{background:var(--card-bg);border-radius:var(--border-radius);max-width:600px;box-shadow:var(--shadow-fun);border:1px solid var(--border-color);margin:0 auto;padding:2rem}& .settings-header{text-align:center;margin-bottom:2rem}& .settings-header h3{color:var(--primary-color);margin:0 0 .5rem;font-size:1.5rem}& .settings-description{color:var(--text-muted);margin:0}& .two-factor-status{text-align:center;background:var(--background);border-radius:var(--border-radius);border:1px solid var(--border-color);margin-bottom:2rem;padding:1.5rem}& .status-indicator{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.1rem;font-weight:600;display:flex}& .status-indicator.enabled{color:var(--success-color)}& .status-indicator.disabled{color:var(--error-color)}& .status-description{color:var(--text-muted);margin:0}& .enable-2fa,& .disable-2fa{text-align:center}& .enable-2fa h4,& .disable-2fa h4{color:var(--text-primary);margin:0 0 .5rem}& .enable-2fa p,& .disable-2fa p{color:var(--text-muted);margin:0 0 1.5rem}& .disable-form{background:var(--background);border-radius:var(--border-radius);border:1px solid var(--border-color);text-align:left;margin-top:1rem;padding:1.5rem}& .form-group{margin-bottom:1rem}& .form-label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}& .form-control{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);transition:var(--transition);padding:.75rem;font-size:1rem}& .form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}& .form-text{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}& .form-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}& .btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}& .btn:disabled{opacity:.6;cursor:not-allowed}& .btn-primary{background:var(--primary-color);color:#fff}& .btn-primary:hover:not(:disabled){background:var(--primary-hover)}& .btn-outline{color:var(--text-color);border:1px solid var(--border-color);background:0 0}& .btn-outline:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary-color);color:var(--text-color)}& #showDisableFormBtn{font-weight:500;color:var(--text-color)!important;border-color:var(--border-color)!important}& #showDisableFormBtn:hover{background:var(--hover-bg)!important;border-color:var(--primary-color)!important;color:var(--text-color)!important}& .btn-danger{background:var(--error-color);color:#fff}& .btn-danger:hover:not(:disabled){background:#dc2626}& .spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}& .hidden{display:none!important}& .alert{border-radius:var(--border-radius);margin-bottom:.5rem;padding:.75rem 1rem;font-size:.9rem}& .alert-error{color:#dc2626;background:#ef44441a;border:1px solid #ef444433}& .alert-success{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e33}& .loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}& .loading-state .spinner{border-width:3px;width:2rem;height:2rem;margin-bottom:1rem}& .settings-footer{border-top:1px solid var(--border-color);justify-content:flex-start;margin-top:2rem;padding-top:1.5rem;display:flex}& .btn-secondary{background:var(--background-alt);color:var(--text-primary);border:1px solid var(--border-color)}& .btn-secondary:hover:not(:disabled){background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}@media (width<=768px){& .two-factor-settings{padding:1rem}& .form-actions{flex-direction:column}& .btn{justify-content:center;width:100%}& .settings-footer{justify-content:stretch}& .settings-footer .btn{width:100%}}}guest-rsvp{& .guest-route-host{justify-content:center;width:100%;padding:2rem 1rem 4rem;display:flex}& .guest-route-host.hidden{display:none}& .guest-rsvp-container{width:100%;max-width:600px;margin:0 auto;padding:0 1rem}& .guest-rsvp-card{background:var(--card-bg,#fff);border:2px solid var(--border-color,#e5e5e5);border-radius:var(--border-radius,12px);box-shadow:var(--shadow-fun,0 4px 6px #0000001a);padding:2rem}& .guest-rsvp-banner{border-radius:var(--border-radius,8px);border:2px solid #0000;margin-bottom:1.5rem;padding:1rem 1.5rem;font-weight:600}& .guest-rsvp-banner.success{color:#15803d;background:#22c55e1f;border-color:#22c55e}& .guest-rsvp-card h2{color:var(--primary-color,#ff6b9d);margin:0 0 1.5rem;font-size:1.5rem}& .event-preview{background:var(--background-alt,#f9f9f9);border-radius:var(--border-radius,8px);margin-bottom:1.5rem;padding:1.5rem}& .event-preview h3{color:var(--text-primary,#333);margin:0 0 .5rem;font-size:1.25rem}& .event-description,& .event-date,& .event-location{color:var(--text-secondary,#666);margin:.5rem 0;font-size:.875rem}& .instruction-text{color:var(--text-primary,#333);margin-bottom:1.5rem;line-height:1.6}& .contact-options{flex-direction:column;gap:1rem;margin-bottom:.5rem;display:flex}& .contact-option{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}& .contact-option strong{font-size:1rem}& .contact-option span{color:var(--text-secondary,#666);font-size:.85rem}& .help-text{color:var(--text-muted,#999);margin-top:1rem;font-size:.875rem}& .current-rsvp{background:var(--background-alt,#f9f9f9);border-radius:var(--border-radius,8px);margin-bottom:1.5rem;padding:1rem}& .current-rsvp p{color:var(--text-primary,#333);margin:0}& .rsvp-buttons{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}& .rsvp-btn{border-radius:var(--border-radius,8px);border:2px solid var(--border-color,#e5e5e5);background:var(--card-bg,#fff);min-width:120px;color:var(--text-primary,#333);cursor:pointer;flex:1;padding:1rem;font-weight:600;transition:all .2s}& .rsvp-btn:hover{box-shadow:var(--shadow-fun,0 4px 6px #0000001a);transform:translateY(-2px)}& .rsvp-btn.active{border-color:var(--primary-color,#ff6b9d);background:var(--primary-color,#ff6b9d);color:#fff}& .rsvp-btn.rsvp-yes.active{background:#22c55e;border-color:#22c55e}& .rsvp-btn.rsvp-maybe.active{background:#f59e0b;border-color:#f59e0b}& .rsvp-btn.rsvp-no.active{background:#ef4444;border-color:#ef4444}& .guest-rsvp-loading{text-align:center;padding:3rem}& .spinner{border:4px solid var(--border-color,#e5e5e5);border-top:4px solid var(--primary-color,#ff6b9d);border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:1s linear infinite spin}& .guest-rsvp-card.success{border-color:#22c55e}& .guest-rsvp-card.error{border-color:#ef4444}& .guest-rsvp-card.error h2{color:#ef4444}& .guest-rsvp-card.error p{margin-bottom:1rem}& .btn{border-radius:var(--border-radius,8px);cursor:pointer;border:2px solid #0000;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}& .btn-primary{background:var(--primary-color,#ff6b9d);color:#fff;border-color:var(--primary-color,#ff6b9d)}& .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}& .btn-secondary{background:var(--card-bg,#fff);color:var(--text-primary,#333);border-color:var(--border-color,#e5e5e5)}& .btn-secondary:hover{background:var(--background-alt,#f9f9f9)}@media (width<=768px){& .guest-rsvp-container{padding:0 .5rem}& .guest-rsvp-card{padding:1.5rem}& .rsvp-buttons{flex-direction:column}& .rsvp-btn,& .contact-option{width:100%}}}media-source-picker{& .media-picker-modal{z-index:10000;opacity:0;visibility:hidden;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}& .media-picker-modal.open{opacity:1;visibility:visible}& .media-picker-modal .modal-backdrop{backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}& .media-picker-modal .modal-container{background:var(--card-bg);backdrop-filter:blur(20px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);flex-direction:column;width:90%;max-width:900px;max-height:90vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;transform:scale(.9)translateY(20px)}& .media-picker-modal.open .modal-container{transform:scale(1)translateY(0)}& .media-picker-modal .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}& .media-picker-modal .modal-header h3{color:var(--primary-color);align-items:center;gap:.5rem;margin:0;font-size:1.25rem;display:flex}& .media-picker-modal .close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.5rem;font-size:1.5rem;display:flex}& .media-picker-modal .close-btn:hover{color:var(--primary-color);background:#ff6b9d1a}& .media-picker-modal .modal-body{flex:1;min-height:0;padding:1.5rem;overflow-y:auto}& .media-picker-modal .modal-footer{border-top:1px solid var(--border-color);background:var(--background-alt);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}& .media-picker-modal .selected-count{color:var(--text-muted);font-size:.9rem}& .media-picker-modal .footer-actions{gap:.75rem;display:flex}& .account-selector{margin-bottom:1.5rem}& .account-selector label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}& .account-selector .form-control{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-color);width:100%;color:var(--text-primary);transition:var(--transition);padding:.75rem;font-size:1rem}& .account-selector .form-control:hover{border-color:var(--primary-color)}& .account-selector .form-control:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .account-selector .empty-state{text-align:center;color:var(--text-muted);padding:2rem}& .breadcrumb{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}& .breadcrumb-items{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}& .back-btn{background:var(--primary-color);color:#fff;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:flex}& .back-btn:hover{background:var(--primary-color-dark,#ff6b9d);transform:translate(-2px)}& .breadcrumb-item{color:var(--primary-color);cursor:pointer;border-radius:var(--border-radius);transition:var(--transition);background:0 0;border:none;padding:.25rem .5rem;font-size:.9rem}& .breadcrumb-item:hover{background:#ff6b9d1a}& .breadcrumb-separator{color:var(--text-muted)}& .search-bar{gap:.75rem;margin-bottom:1.5rem;display:flex}& .search-bar .form-control{border:2px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-color);color:var(--text-primary);flex:1;padding:.75rem;font-size:1rem}& .search-bar .form-control:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .picker-content{min-height:300px}& .loading-state,& .empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}& .loading-state .spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:2rem;height:2rem;margin-bottom:1rem;animation:1s linear infinite spin}& .file-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;display:grid}& .file-item{background:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);text-align:center;flex-direction:column;align-items:center;min-height:120px;padding:1rem;display:flex;position:relative}& .file-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-fun);transform:translateY(-2px)}& .file-item.selected{border-color:var(--primary-color);background:#ff6b9d1a}& .file-item.directory{cursor:pointer}& .file-item.directory:hover{background:var(--background-alt)}& .file-checkbox{position:absolute;top:.5rem;right:.5rem}& .file-checkbox input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem;accent-color:var(--primary-color)}& .file-icon{margin-bottom:.5rem;font-size:2.5rem}& .file-thumbnail{object-fit:cover;border-radius:var(--border-radius);background:var(--background-alt);width:100%;height:120px;margin-bottom:.5rem}& .file-info{width:100%}& .file-name{color:var(--text-primary);word-break:break-word;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.25rem;font-size:.9rem;font-weight:500;display:-webkit-box;overflow:hidden}& .file-size{color:var(--text-muted);font-size:.75rem}& .pagination-controls{justify-content:center;margin-top:1rem;padding:1.5rem 0;display:flex}& .pagination-controls .btn{min-width:120px}& .pagination-controls .btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){& .media-picker-modal .modal-container{width:95%;max-height:95vh}& .file-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}& .file-item{min-height:100px;padding:.75rem}& .file-icon{font-size:2rem}& .search-bar{flex-direction:column}& .modal-footer{flex-direction:column;align-items:stretch;gap:1rem}& .footer-actions{width:100%}& .footer-actions .btn{flex:1}}@media (prefers-color-scheme:dark){& .media-picker-modal .modal-backdrop{background:#000000b3}}}post-detail{& .post-detail{max-width:800px;margin:0 auto;padding:2rem 1rem}& .post-detail-header{border-bottom:2px solid var(--border-color);align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}& .post-detail-header h2{color:var(--primary-color);margin:0;font-size:1.5rem}& .back-btn{color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;display:flex}& .back-btn:hover{background:var(--background-alt);box-shadow:var(--shadow);transform:translateY(-1px)}& .post-detail-content{min-height:200px}& .loading-state{text-align:center;color:var(--text-secondary);padding:3rem 2rem}& .loading-spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:3rem;height:3rem;margin:0 auto 1rem;animation:1s linear infinite spin}& .error-state{text-align:center;color:var(--text-secondary);padding:3rem 2rem}& .error-icon{opacity:.6;margin-bottom:1rem;font-size:3rem;display:block}& .error-state h3{color:var(--text-primary);margin-bottom:.5rem}& .error-state p{margin:0;font-size:.875rem}& .post-container{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);position:relative;overflow:hidden}& .post-container:before{content:"";background:linear-gradient(90deg,var(--secondary-color),var(--accent-color),var(--accent-secondary));height:4px;position:absolute;top:0;left:0;right:0}& .post-content{padding:2rem}& .post-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}& .post-author{flex:1;align-items:center;gap:1rem;display:flex}& .avatar{background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:1.5rem;font-weight:600;display:flex}& .author-info{flex:1}& .author-name{color:var(--text-primary);margin-bottom:.25rem;font-size:1.25rem;font-weight:600}& .author-link .user-mention-link{color:inherit;transition:var(--transition);text-decoration:none}& .author-link .user-mention-link:hover{color:var(--primary-color);text-decoration:underline}& .post-time{color:var(--text-muted);font-size:.875rem}& .post-text{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.7}& .post-text h1,& .post-text h2,& .post-text h3{color:var(--primary-color);margin-top:1.5rem;margin-bottom:.75rem}& .post-text p{margin-bottom:1rem}& .post-text code{color:var(--primary-color);font-family:var(--font-mono);background:#ff6b9d1a;border-radius:4px;padding:.125rem .375rem;font-size:.875em}& .post-text pre{color:#f8f8f2;border-radius:var(--border-radius);background:#282a36cc;margin:1rem 0;padding:1rem;overflow-x:auto}& .post-text blockquote{border-left:4px solid var(--primary-color);color:var(--text-secondary);margin:1rem 0;padding-left:1rem;font-style:italic}& .post-text img{max-width:100%;height:auto;box-shadow:var(--shadow-lg);border-radius:8px;margin:1.5rem 0;display:block}& .post-text .image-blocked{background:var(--background-alt);border-radius:8px;margin:1.5rem 0;padding:.75rem;display:block}& .mood-post{text-align:center;padding:2rem}& .mood-display{flex-direction:column;align-items:center;gap:1.5rem;display:flex}& .mood-icon-large{filter:drop-shadow(0 4px 8px #00000026);font-size:5rem;line-height:1}& .mood-status{color:var(--text-primary);max-width:500px;margin:0 auto;font-size:1.25rem;font-weight:500;line-height:1.5}& .music-post{margin:1.5rem 0}& .url-preview{margin-top:1.5rem}& .url-preview-card{border:1px solid var(--border-color);background:var(--surface-color);border-radius:12px;transition:border-color .2s;overflow:hidden}& .url-preview-card:hover{border-color:var(--primary-color)}& .url-preview-image{object-fit:cover;background:var(--border-color);width:100%;height:250px}& .url-preview-content{padding:1.5rem}& .url-preview-title{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;line-height:1.4}& .url-preview-title a{color:var(--text-primary);text-decoration:none;transition:color .2s}& .url-preview-title a:hover{color:var(--primary-color)}& .url-preview-description{color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:1rem;line-height:1.6;display:-webkit-box;overflow:hidden}& .prompt-context{background:#ff6b9d0d;border:1px solid #ff6b9d33;border-radius:8px;margin-bottom:1.5rem;padding:1rem}& .prompt-indicator{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}& .prompt-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}& .prompt-title{color:var(--primary-color);margin-bottom:.5rem;font-size:1rem;font-weight:600}& .prompt-body{color:var(--text-secondary);font-size:.9rem;font-style:italic;line-height:1.5}& .prompt-reuse-btn{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}& .prompt-reuse-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-1px);box-shadow:0 3px 8px #ff6b9d4d}& .prompt-reuse-btn:active{transform:translateY(0)}& .import-badge{border-radius:var(--border-radius);background:#3b82f61a;border:1px solid #3b82f633;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}& .import-icon{font-size:1.125rem}& .import-text{color:var(--text-secondary);flex:1}& .import-link{color:var(--primary-color);transition:var(--transition);font-weight:500;text-decoration:none}& .import-link:hover{text-decoration:underline}& .post-footer{background:var(--background);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}& .post-stats{align-items:center;gap:1rem;display:flex}& .post-id{color:var(--text-muted);font-size:.875rem;font-family:var(--font-mono)}& .permalink-btn{background:linear-gradient(135deg,var(--accent-color),var(--accent-secondary));color:var(--text-primary);border:2px solid var(--accent-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:flex}& .permalink-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ffd93d4d}& .post-actions{align-items:center;gap:.5rem;display:flex}& .edit-btn,& .delete-btn{color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:.5rem;display:flex}& .edit-btn:hover{background:#ffc1071a;border-color:#ffc107;transform:translateY(-1px)}& .delete-btn:hover{background:#dc35451a;border-color:#dc3545;transform:translateY(-1px)}& .edit-form{margin:1rem 0}& .edit-title-input{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--background);width:100%;color:var(--text-primary);margin-bottom:.75rem;padding:.75rem;font-family:inherit;font-size:1rem;font-weight:600}& .edit-title-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d33}& .edit-textarea{border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;background:var(--background);width:100%;min-height:100px;color:var(--text-primary);padding:.75rem;font-family:inherit;font-size:.875rem;line-height:1.5}& .edit-textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #ff6b9d33}& .edit-actions{gap:.5rem;margin-top:.5rem;display:flex}& .edit-actions .btn{padding:.375rem .75rem;font-size:.75rem}@media (width<=768px){& .post-detail{padding:1rem .5rem}& .post-detail-header{flex-direction:column;align-items:flex-start;gap:.5rem}& .post-content{padding:1.5rem}& .post-header,& .post-footer{flex-direction:column;align-items:flex-start;gap:1rem}& .avatar{width:3rem;height:3rem;font-size:1.25rem}}& .unresolved-image-wrapper,& .unresolved-video-wrapper,& .unresolved-audio-wrapper{margin:1rem 0}& .unresolved-image-container,& .unresolved-media-container{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;flex-direction:column;width:100%;max-width:100%;display:flex;overflow:hidden}& .unresolved-image-container img,& .unresolved-media-container video,& .unresolved-media-container audio{opacity:.3;filter:grayscale();object-fit:contain;background:var(--bg-primary);width:100%;max-width:100%;max-height:200px;display:block}& .unresolved-image-block,& .unresolved-media-block{background:var(--bg-secondary);border-top:1px solid var(--border-color);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex}& .unresolved-image-message,& .unresolved-media-message{color:#ffffffe6;background:#0009;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-weight:500;display:flex}& .unresolved-icon{font-size:1.5rem}& .unresolved-text{font-size:.9rem}& .resolve-image-btn,& .resolve-media-btn{margin:0 auto;padding:.5rem 1rem;font-size:.875rem}}safety-armadillo{& .safety-armadillo-backdrop{backdrop-filter:blur(5px);z-index:10000;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}& .safety-armadillo-modal{background:var(--card-bg,#fff);border:2px solid var(--border-color,#e0e0e0);border-radius:var(--border-radius,12px);flex-direction:column;width:100%;max-width:800px;max-height:90vh;animation:.3s ease-out slideUp;display:flex;position:relative;box-shadow:0 20px 60px #0000004d}& .safety-armadillo-modal .modal-header{border-bottom:2px solid var(--border-color,#e0e0e0);background:linear-gradient(135deg,var(--primary-color,#ff6b9d)0%,#e91e63 100%);color:#fff;border-radius:var(--border-radius,12px)var(--border-radius,12px)0 0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}& .safety-armadillo-modal .header-content{align-items:center;gap:1rem;display:flex}& .safety-armadillo-modal .armadillo-icon{flex-shrink:0;width:48px;height:48px}& .safety-armadillo-modal .armadillo-icon svg{width:100%;height:100%}& .safety-armadillo-modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:600}& .safety-armadillo-modal .close-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;transition:all .3s;display:flex}& .safety-armadillo-modal .close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}& .safety-armadillo-modal .modal-body{flex:1;padding:1.5rem;overflow-y:auto}& .safety-armadillo-modal .view-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}& .safety-armadillo-modal .view-header h3{color:var(--text-primary,#333);margin:0;font-size:1.25rem}& .tickets-list{flex-direction:column;gap:1rem;display:flex}& .ticket-item{background:var(--background-alt,#f8f9fa);border:2px solid var(--border-color,#e0e0e0);border-radius:var(--border-radius,8px);cursor:pointer;padding:1rem;transition:all .3s}& .ticket-item:hover{border-color:var(--primary-color,#ff6b9d);transform:translate(4px);box-shadow:0 4px 12px #0000001a}& .ticket-item .ticket-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}& .ticket-item .ticket-subject{color:var(--text-primary,#333);flex:1;margin:0;font-size:1.1rem;font-weight:600}& .ticket-item .ticket-meta{color:var(--text-muted,#666);gap:1rem;margin-top:.5rem;font-size:.875rem;display:flex}& .ticket-item .ticket-preview{color:var(--text-secondary,#555);margin:.5rem 0 0;font-size:.9rem;line-height:1.5}& .empty-state{text-align:center;color:var(--text-muted,#666);padding:3rem 1rem}& .empty-state .empty-icon{opacity:.5;width:120px;height:120px;margin:0 auto 1rem}& .empty-state .empty-icon svg{width:100%;height:100%}& .ticket-type-tabs{border-bottom:2px solid var(--border-color,#e0e0e0);gap:.5rem;margin-bottom:1.5rem;display:flex}& .ticket-type-tabs .tab{cursor:pointer;color:var(--text-muted,#666);background:0 0;border:none;border-bottom:3px solid #0000;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .3s}& .ticket-type-tabs .tab:hover{color:var(--primary-color,#ff6b9d);background:var(--background-alt,#f8f9fa)}& .ticket-type-tabs .tab.active{color:var(--primary-color,#ff6b9d);border-bottom-color:var(--primary-color,#ff6b9d)}& .create-ticket-form,& .comment-form{margin-top:1rem}& .form-group{margin-bottom:1.5rem}& .form-group label{color:var(--text-primary,#333);margin-bottom:.5rem;font-weight:600;display:block}& .form-group input,& .form-group textarea{border:2px solid var(--border-color,#e0e0e0);border-radius:var(--border-radius,8px);background:var(--background,#fff);width:100%;color:var(--text-primary,#333);padding:.75rem;font-family:inherit;font-size:.9rem;transition:all .3s}& .form-group input:focus,& .form-group textarea:focus{border-color:var(--primary-color,#ff6b9d);outline:none;box-shadow:0 0 0 3px #ff6b9d1a}& .form-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}& .ticket-detail-header{border-bottom:2px solid var(--border-color,#e0e0e0);margin-bottom:1.5rem;padding-bottom:1rem}& .ticket-detail-header h3{color:var(--text-primary,#333);margin:0 0 .5rem}& .ticket-detail-header .ticket-meta{color:var(--text-muted,#666);align-items:center;gap:1rem;font-size:.875rem;display:flex}& .ticket-thread{flex-direction:column;gap:1.5rem;max-height:400px;margin-bottom:2rem;padding-right:.5rem;display:flex;overflow-y:auto}& .thread-message{border-radius:var(--border-radius,8px);border:2px solid var(--border-color,#e0e0e0);padding:1rem}& .thread-message.customer{background:var(--primary-color,#ff6b9d);border-color:var(--primary-color,#ff6b9d);background:linear-gradient(135deg,#ff6b9d1a 0%,#e91e631a 100%);margin-left:2rem}& .thread-message.agent{background:var(--background-alt,#f8f9fa);margin-right:2rem}& .thread-message .message-header{color:var(--text-primary,#333);justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}& .thread-message .message-date{color:var(--text-muted,#666);font-size:.8rem;font-weight:400}& .thread-message .message-body{color:var(--text-primary,#333);white-space:pre-wrap;line-height:1.6}& .btn{border-radius:var(--border-radius,8px);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .3s;display:inline-flex}& .btn-primary{background:var(--primary-color,#ff6b9d);color:#fff}& .btn-primary:hover:not(:disabled){background:#e91e63;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}& .btn-secondary{background:var(--background-alt,#f8f9fa);color:var(--text-primary,#333);border:2px solid var(--border-color,#e0e0e0)}& .btn-secondary:hover:not(:disabled){background:var(--background,#fff);transform:translateY(-2px)}& .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}& .loading-overlay{z-index:1000;border-radius:var(--border-radius,12px);background:#ffffffe6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}& .spinner{border:4px solid var(--border-color,#e0e0e0);border-top-color:var(--primary-color,#ff6b9d);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}& .loading{text-align:center;color:var(--text-muted,#666);padding:2rem}& .status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}@media (width<=768px){& .safety-armadillo-modal{border-radius:0;max-width:100%;max-height:100vh}& .safety-armadillo-modal .modal-header{border-radius:0}& .ticket-type-tabs{flex-wrap:wrap}& .ticket-type-tabs .tab{flex:1;min-width:120px;padding:.5rem .75rem;font-size:.8rem}& .thread-message.customer{margin-left:0}& .thread-message.agent{margin-right:0}}}user-mention{& .user-mention{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}& .user-mention-link{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .2s}& .user-mention-link:hover{color:var(--primary-hover);text-decoration:underline}& .user-mention-loading{opacity:.7;font-size:.9rem;animation:1s linear infinite spin;display:inline-block}& .btn{border-radius:var(--border-radius);cursor:pointer;border:none;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}& .btn-sm{padding:.25rem .5rem;font-size:.8rem}& .btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none}& .btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}& .btn-success:disabled{opacity:.6;cursor:not-allowed}& .pending-badge{color:#92400e;border-radius:var(--border-radius);white-space:nowrap;background:#fef3c7;border:1px solid #fcd34d;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}}.card{background:var(--card-bg);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-fun);transition:var(--transition);position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,var(--primary-color),var(--accent-secondary),var(--accent-color));height:4px;position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-lg),0 0 20px #ff6b9d26;transform:translateY(-4px)rotate(.5deg)}.card-header{border-bottom:1px solid var(--border-color);padding:1rem}.card-body{padding:1rem}.card-footer{border-top:1px solid var(--border-color);background:var(--background-alt);padding:1rem}.btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);background:0 0;border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px #ff6b9d4d}a.btn{color:var(--text-on-accent);text-decoration:none}a.btn.btn-primary{color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d66}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:100%}.btn-secondary{background:var(--secondary-color);color:var(--text-primary);border:2px solid var(--accent-color);box-shadow:0 4px 15px #2d1b694d}@media (prefers-color-scheme:dark){.btn-secondary{color:#1a1a1a;font-weight:600}}[data-theme=dark] .btn-secondary{color:#fff;border:2px solid var(--accent-color);backdrop-filter:blur(10px);background:#ffffff1a;font-weight:600}.btn-secondary:hover:not(:disabled){background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent);transform:translateY(-2px);box-shadow:0 8px 25px #2d1b6966}.btn-danger{background:var(--error-bg,#f8d7da);color:var(--error-text,#721c24);border:1px solid var(--error-border,#f5c6cb)}@media (prefers-color-scheme:dark){.btn-secondary{color:#fff;border:2px solid var(--accent-color);backdrop-filter:blur(10px);background:#ffffff1a}.btn-secondary:hover:not(:disabled){background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent);font-weight:600;transform:translateY(-2px);box-shadow:0 8px 25px #7fff0066}}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent);font-weight:600;transform:translateY(-2px);box-shadow:0 8px 25px #7fff0066}toolbar-action-bar .btn-secondary,toolbar-action-bar .btn-danger{color:var(--text-color)!important;box-shadow:none!important;background:0 0!important;border:none!important}toolbar-action-bar .btn-secondary:hover{background:var(--secondary-bg,#e9f7ff)!important;border:2px solid var(--secondary-border,#b3e1ff)!important}toolbar-action-bar .btn-danger:hover{background:var(--danger-bg,#ffe7ea)!important;border:2px solid var(--danger-border,#ffb3bd)!important}toolbar-action-bar .btn{padding:.55rem;border:none!important}toolbar-action-bar .btn:hover{border:none!important;box-shadow:0 2px 10px #ff6b9d4d!important}toolbar-action-bar .btn:last-child{margin-right:0;border:none!important}.btn-outline{color:var(--primary-color);border-color:var(--primary-color);background:#ff6b9d1a}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #ff6b9d4d}.btn-sm{padding:.25rem .75rem;font-size:.75rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.form-group{margin-bottom:1rem}.form-label{color:var(--text-primary);margin-bottom:.25rem;font-weight:500;display:block}.form-control{width:100%;color:var(--text-primary);background:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:var(--transition);padding:.5rem .75rem;font-size:.875rem;line-height:1.5;display:block}.form-control:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #6366f11a}textarea.form-control{resize:vertical;min-height:100px}.form-text{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.alert{border-radius:var(--border-radius);border:2px solid #0000;margin-bottom:1rem;padding:1rem 1.5rem;font-weight:600;position:relative;overflow:hidden}.alert:before{content:"";opacity:.3;background:currentColor;height:3px;position:absolute;top:0;left:0;right:0}.alert-success{border-color:var(--secondary-color);color:#065f46;background:linear-gradient(135deg,#d1fae5,#c7f9cc)}.alert-error{color:#991b1b;background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#f87171}.alert-info{border-color:var(--accent-secondary);color:#1e40af;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.loading{color:var(--text-muted);align-items:center;gap:.5rem;display:inline-flex}.spinner{border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}.avatar{background:linear-gradient(135deg,var(--primary-color),var(--accent-secondary));color:#fff;border:3px solid var(--accent-color);width:2.5rem;height:2.5rem;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:flex;box-shadow:0 4px 15px #ff6b9d4d}.avatar:hover{transform:scale(1.1)rotate(5deg);box-shadow:0 6px 20px #ff6b9d66}.avatar-sm{width:2rem;height:2rem;font-size:.75rem}.avatar-lg{width:3rem;height:3rem;font-size:1.25rem}.badge{background:var(--secondary-color);color:var(--text-primary);border-radius:9999px;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-primary{background:var(--primary-color);color:#fff}.badge-success{color:#fff;background:#10b981}@media (width<=768px){.card-body{padding:.75rem}.btn{padding:.75rem 1rem;font-size:1rem}.form-control{padding:.75rem;font-size:1rem}}
/*# sourceMappingURL=public.21e48657.css.map */
