.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:20px}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #206968;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{margin-top:20px;color:#666;font-size:14px}.layout{display:flex;flex-direction:column;min-height:100vh;background-color:#f5f5f5}.layout-header{position:sticky;top:0;background:linear-gradient(135deg,#206968,#206968);color:#fff;padding:16px;box-shadow:0 2px 8px #0000001a;z-index:100;display:flex;align-items:center;gap:12px}.back-button{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.back-button:hover{background-color:#ffffff1a}.layout-title{font-size:20px;font-weight:600;flex:1}.layout-content{flex:1;padding-bottom:70px;overflow-y:auto}.layout-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-around;padding:8px 0;box-shadow:0 -2px 8px #0000001a;z-index:100}.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px 8px;transition:opacity .2s;flex:1;max-width:120px}.nav-button:hover{opacity:.8}.nav-button-img{width:auto;height:48px;max-width:100%;object-fit:contain;display:block}.search-theme-page{padding:16px}.search-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.search-input-group{margin-bottom:16px}.search-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .2s}.search-input:focus{outline:none;border-color:#206968}.city-filter{margin-bottom:16px}.filter-label{display:block;font-size:14px;color:#666;margin-bottom:8px}.city-buttons{display:flex;flex-wrap:wrap;gap:8px}.city-button{padding:8px 16px;border:1px solid #e0e0e0;background:#fff;border-radius:20px;font-size:14px;cursor:pointer;transition:all .2s}.city-button:hover{background:#f5f5f5}.city-button.active{background:#206968;color:#fff;border-color:#206968}.search-button{width:100%;padding:14px;background:linear-gradient(135deg,#206968,#206968);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.search-button:active{transform:translateY(0)}.search-button:disabled{opacity:.6;cursor:not-allowed}.results-section{margin-top:20px}.results-header{font-size:16px;color:#666;margin-bottom:16px;padding:0 4px}.no-results{text-align:center;padding:40px 20px;background:#fff;border-radius:12px}.no-results p{margin:8px 0;font-size:16px}.no-results .hint{color:#999;font-size:14px}.theme-list{display:flex;flex-direction:column;gap:16px}.theme-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.theme-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.theme-image{width:100%;height:180px;overflow:hidden;background:#f5f5f5;position:relative}.theme-image img{width:100%;height:100%;object-fit:cover}.game-over-badge{position:absolute;top:12px;right:12px;background:#ff6b6bf2;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;box-shadow:0 2px 4px #0003}.theme-info{padding:16px}.theme-name{font-size:18px;font-weight:600;margin-bottom:12px;color:#333}.theme-details{display:flex;flex-wrap:wrap;gap:12px}.detail-item{font-size:13px;color:#666}.detail-item.price{color:#333;font-weight:600;font-size:14px}.theme-detail-page{background:#f5f5f5;min-height:100vh;padding-bottom:80px}.theme-banner{width:100%;height:250px;overflow:hidden;background:#e0e0e0;position:relative}.theme-banner-label{position:absolute;top:16px;left:16px;right:16px;background:#000000b3;color:#fff;padding:12px 16px;border-radius:8px;font-size:18px;font-weight:600;z-index:2;text-align:center}.theme-banner img{width:100%;height:100%;object-fit:cover}.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:3}.game-over-text{background:#ff6b6bf2;color:#fff;padding:16px 32px;border-radius:12px;font-size:24px;font-weight:700;box-shadow:0 4px 12px #0000004d}.theme-detail-content{padding:16px}.theme-header{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.theme-header h2{font-size:22px;margin-bottom:0;color:#333}.info-section{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{font-size:15px;color:#666}.info-value{font-size:15px;color:#333;font-weight:500}.info-value.price{color:#333;font-size:18px;font-weight:600}.address-section{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.address-section h3{font-size:16px;margin-bottom:12px;color:#333}.address-section p{color:#666;line-height:1.6;margin-bottom:12px}.map-link{display:inline-block;color:#206968;text-decoration:none;font-size:14px;padding:8px 16px;border:1px solid #206968;border-radius:8px;transition:all .2s}.map-link:hover{background:#206968;color:#fff}.review-section{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.review-button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.review-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.review-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.review-loading{text-align:center;padding:20px 0}.review-loading-hint{margin-top:12px;color:#666;font-size:14px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.review-error{text-align:center;padding:20px;color:#999}.review-content{animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.review-header h3{font-size:18px;color:#333}.review-rating{font-size:14px;color:#666}.review-summary{color:#666;line-height:1.6;margin-bottom:20px}.review-highlights,.review-warnings{margin-bottom:16px}.review-highlights h4,.review-warnings h4{font-size:16px;margin-bottom:12px;color:#333}.review-highlights ul,.review-warnings ul{list-style:none;padding:0}.review-highlights li,.review-warnings li{padding:8px 0 8px 24px;position:relative;color:#666}.review-highlights li:before{content:"✓";position:absolute;left:0;color:#206968;font-weight:700}.review-warnings li:before{content:"!";position:absolute;left:0;color:#ff6b6b;font-weight:700}.link-section{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.external-link{display:block;text-align:center;color:#206968;text-decoration:none;font-size:15px;padding:12px;border:1px solid #206968;border-radius:8px;transition:all .2s}.external-link:hover{background:#206968;color:#fff}.action-buttons{position:fixed;bottom:70px;left:0;right:0;display:flex;gap:12px;padding:12px 16px;background:#fff;box-shadow:0 -2px 8px #0000001a}.action-button{flex:1;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.action-button:hover{transform:translateY(-2px)}.action-button.primary{background:linear-gradient(135deg,#206968,#206968);color:#fff}.action-button.secondary{background:#fff;color:#206968;border:2px solid #206968}.event-list-page{background:#f5f5f5;min-height:100vh}.tabs{display:flex;background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:10}.tab{flex:1;padding:16px;background:none;border:none;font-size:16px;color:#666;cursor:pointer;position:relative;transition:color .2s}.tab:hover{color:#206968}.tab.active{color:#206968;font-weight:600}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#206968}.event-list{padding:16px}.event-card{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.event-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.event-title{font-size:18px;font-weight:600;color:#333;flex:1;margin-right:12px}.event-status{background:#e8f5e9;color:#206968;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;white-space:nowrap}.event-status.full{background:#fff3e0;color:#ff9800}.event-info{margin-bottom:12px}.event-location,.event-time{font-size:14px;color:#666;margin-bottom:4px}.event-participants{padding-top:12px;border-top:1px solid #f0f0f0}.participant-avatars{display:flex;align-items:center;gap:4px}.participant-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:#e0e0e0;border:2px solid white;margin-left:-8px}.participant-avatar:first-child{margin-left:0}.participant-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;font-weight:600}.participant-more{width:32px;height:32px;border-radius:50%;background:#f5f5f5;color:#666;display:flex;align-items:center;justify-content:center;font-size:12px;margin-left:-8px;border:2px solid white}.empty-state{text-align:center;padding:60px 20px}.empty-state p{color:#999;font-size:16px;margin-bottom:24px}.search-button{padding:12px 24px;background:linear-gradient(135deg,#206968,#206968);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.search-button:hover{transform:translateY(-2px)}.create-event-page{padding:16px;background:#f5f5f5;min-height:100vh}.theme-preview{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.theme-preview h3{font-size:18px;color:#333;margin-bottom:8px}.theme-preview p{color:#666;font-size:14px}.theme-preview .current-participants{color:#206968;font-weight:600;margin-top:8px}.form-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:15px;color:#333;margin-bottom:8px;font-weight:500}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#206968}.form-group .warning-text{color:#ff9800;font-size:13px;margin-top:8px;font-weight:500}.create-button{width:100%;padding:16px;background:linear-gradient(135deg,#206968,#206968);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s;margin-top:12px}.create-button:hover{transform:translateY(-2px)}.create-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.event-detail-page{padding:16px 16px 100px;background:#f5f5f5;min-height:100vh}.event-info-card{background:#fff;padding:24px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.event-info-card h2{font-size:22px;color:#333;margin-bottom:16px}.event-meta{display:flex;flex-direction:column;gap:8px}.meta-item{font-size:15px;color:#666}.participants-card{background:#fff;padding:20px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.participants-card h3{font-size:16px;color:#333;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.participants-list{display:flex;flex-direction:column;gap:12px}.participant-item{display:flex;align-items:center;gap:12px}.participant-item img,.participant-placeholder{width:40px;height:40px;border-radius:50%;object-fit:cover}.participant-placeholder{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.participant-name{font-size:15px;color:#333}.theme-info-section{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.theme-info-btn,.map-btn{padding:14px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s;background:#fff;border:2px solid #206968;color:#206968}.theme-info-btn:hover,.map-btn:hover{transform:translateY(-2px);background:#f5f5f5}.action-section{display:flex;flex-direction:column;gap:12px}.share-btn,.join-btn,.leave-btn,.edit-btn,.delete-btn{width:100%;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.share-btn:hover,.join-btn:hover,.leave-btn:hover,.edit-btn:hover,.delete-btn:hover{transform:translateY(-2px)}.edit-btn,.share-btn{background:#fff;color:#206968;border:2px solid #206968}.join-btn{background:linear-gradient(135deg,#206968,#206968);color:#fff}.leave-btn{background:#fff;color:#ff9800;border:2px solid #ff9800}.delete-btn{background:#fff;color:#f44336;border:2px solid #f44336}.profile-page{background:#f5f5f5;min-height:100vh;padding:16px}.profile-header{background:#fff;border-radius:12px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a;text-align:center}.avatar-section{margin-bottom:20px;position:relative}.change-avatar-button{margin-top:12px;padding:8px 16px;background:#f5f5f5;color:#666;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.change-avatar-button:hover{background:#e0e0e0;border-color:#206968}.change-avatar-button:disabled{opacity:.6;cursor:not-allowed}.avatar-picker{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:16px;margin:16px 0;max-height:400px;overflow-y:auto}.avatar-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.avatar-picker-header h3{font-size:16px;color:#333;margin:0}.close-picker{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-picker:hover{background:#f5f5f5;color:#666}.avatar-categories{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:8px}.category-button{padding:8px 16px;background:#f5f5f5;border:2px solid #e0e0e0;border-radius:20px;font-size:14px;cursor:pointer;white-space:nowrap;transition:all .2s}.category-button:hover{background:#e0e0e0}.category-button.active{background:#206968;color:#fff;border-color:#206968}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px}.avatar-option{display:flex;flex-direction:column;align-items:center;padding:12px;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s}.avatar-option:hover{border-color:#206968;background:#f9f9f9}.avatar-option.selected{border-color:#206968;background:#e8f5f4}.avatar-option img{width:60px;height:60px;border-radius:50%;object-fit:cover;margin-bottom:8px}.avatar-option .avatar-name{font-size:11px;color:#666;text-align:center;word-wrap:break-word;max-width:100%}.avatar-option.selected .avatar-name{color:#206968;font-weight:600}.avatar-large{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid #f0f0f0}.avatar-large.placeholder{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:36px;font-weight:600}.profile-info h2{font-size:22px;margin-bottom:16px;color:#333}.edit-button{padding:10px 24px;background:#206968;color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer;transition:background .2s}.edit-button:hover{background:#05b34b}.edit-form{width:100%}.form-group{margin-bottom:16px;text-align:left}.form-group label{display:block;font-size:14px;color:#666;margin-bottom:8px}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#206968}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-actions{display:flex;gap:12px}.cancel-button,.save-button{flex:1;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-button{background:#f5f5f5;color:#666}.cancel-button:hover{background:#e0e0e0}.save-button{background:#206968;color:#fff}.save-button:hover{background:#05b34b}.cancel-button:disabled,.save-button:disabled{opacity:.6;cursor:not-allowed}.profile-sections{display:flex;flex-direction:column;gap:16px}.section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.section h3{font-size:16px;margin-bottom:16px;color:#333;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-label{font-size:14px;color:#666}.info-value{font-size:14px;color:#333}.about-content{color:#666;line-height:1.8}.about-content p{margin:4px 0}.section.danger{border:1px solid #ffebee}.reset-button{width:100%;padding:10px 16px;background:#fff;color:#ff9800;border:2px solid #ff9800;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.reset-button:hover{background:#ff9800;color:#fff}.reset-button:disabled{opacity:.6;cursor:not-allowed}.logout-button{width:100%;padding:14px;background:#fff;color:#f44336;border:2px solid #f44336;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.logout-button:hover{background:#f44336;color:#fff}.error-message{text-align:center;padding:40px 20px;color:#666}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;text-align:center;background:#f5f5f5}.error-screen h2{font-size:24px;color:#333;margin-bottom:16px}.error-screen p{color:#666;margin:8px 0;line-height:1.6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}
