*{margin:0;padding:0;box-sizing:border-box}html.theme-light,.app.theme-light{--app-bg: #F7F4EF;--app-card-bg: #F0EBE3;--app-text: #1a1a1a;--app-text-secondary: #4a3f35;--app-accent: #5C3D2E;--app-accent-text: #ffffff;--app-border: #d4c4b0;--app-hint: #6b5b4f;--scrollbar-thumb: rgba(92, 61, 46, .4);--scrollbar-thumb-hover: rgba(92, 61, 46, .6);--scrollbar-track: rgba(92, 61, 46, .08)}html.theme-dark,.app.theme-dark{--app-bg: #202328;--app-card-bg: #2a2d32;--app-text: #7a7d82;--app-text-secondary: #8e9196;--app-accent: #cfb28b;--app-accent-text: #202328;--app-border: #7a7d82;--app-hint: #7a7d82;--scrollbar-thumb: rgba(207, 178, 139, .5);--scrollbar-thumb-hover: rgba(207, 178, 139, .75);--scrollbar-track: rgba(122, 125, 130, .2)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));color:var(--app-text, var(--tg-theme-text-color, #000000));height:100vh;max-height:100vh;overflow:hidden;margin:0;padding:0}.app{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{background:var(--app-accent, var(--tg-theme-button-color, #2481cc));color:var(--app-accent-text, var(--tg-theme-button-text-color, #ffffff));padding:.75rem 1rem;text-align:center;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.header h1{font-size:1.3rem;margin-bottom:.25rem}.user-info{font-size:.9rem;opacity:.9}.user-info p{margin:0}.main{flex:1;padding:.75rem;display:flex;justify-content:center;align-items:flex-start;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, rgba(0, 0, 0, .35)) var(--scrollbar-track, transparent)}.main::-webkit-scrollbar{width:10px}.main::-webkit-scrollbar-track{background:var(--scrollbar-track, rgba(0, 0, 0, .05));border-radius:5px}.main::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, rgba(0, 0, 0, .35));border-radius:5px}.main::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, rgba(0, 0, 0, .5))}.card{background:var(--app-card-bg, var(--tg-theme-secondary-bg-color, #f0f0f0));border-radius:12px;padding:2rem;max-width:500px;width:100%;box-shadow:0 4px 12px #0000001a}.card h2{margin-bottom:1rem;color:var(--app-text, var(--tg-theme-text-color, #000000))}.card p{margin-bottom:1.5rem;line-height:1.6;color:var(--app-text-secondary, var(--tg-theme-hint-color, #999999))}.counter{text-align:center;padding:1.5rem;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));border-radius:8px;margin-top:1rem}.counter p{margin-bottom:1rem;font-size:1.2rem}.counter strong{color:var(--app-accent, var(--tg-theme-button-color, #2481cc));font-size:1.5rem}.btn{background:var(--app-accent, var(--tg-theme-button-color, #2481cc));color:var(--app-accent-text, var(--tg-theme-button-text-color, #ffffff));border:none;padding:.75rem 2rem;font-size:1rem;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .1s,opacity .1s;width:100%;max-width:200px}.btn:active{transform:scale(.95);opacity:.8}.btn:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--app-accent, var(--tg-theme-button-color, #2481cc))}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--app-text, var(--tg-theme-text-color, #000000));font-weight:500}.input,.textarea{width:100%;padding:.75rem;border:2px solid var(--app-border, var(--tg-theme-hint-color, #e0e0e0));border-radius:8px;font-size:1rem;font-family:inherit;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));color:var(--app-text, var(--tg-theme-text-color, #000000));transition:border-color .2s}.input:focus,.textarea:focus{outline:none;border-color:var(--app-accent, var(--tg-theme-button-color, #2481cc))}.input-error-border{border-color:#c62828!important;background-color:#ffebee}.input-error-border:focus{border-color:#c62828!important;outline:2px solid rgba(198,40,40,.2)}.input-large{font-size:1.5rem;padding:1rem;text-align:center}.textarea{resize:vertical;min-height:120px}.form-group small{display:block;margin-top:.5rem;color:var(--app-hint, var(--tg-theme-hint-color, #999999));font-size:.85rem}.input-error{display:block;margin-top:.5rem;color:#c62828;font-size:.85rem;font-weight:500}.error-message{background:#ffebee;color:#c62828;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #c62828}.theme-toggle{display:inline-flex;align-items:center;padding:.5rem .75rem;background:var(--app-accent);color:var(--app-accent-text);border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:opacity .2s,transform .1s;box-shadow:0 1px 4px #00000026}.theme-toggle:hover{opacity:.9}.theme-toggle:active{transform:scale(.98)}.home-actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.home-actions .btn{max-width:100%}.session-code-display{text-align:center;margin-bottom:2rem;padding:1.5rem;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));border-radius:12px}.session-code-label{margin-bottom:.5rem;color:var(--app-hint, var(--tg-theme-hint-color, #999999));font-size:.9rem}.session-code{font-size:2.5rem;font-weight:700;letter-spacing:.3em;color:var(--app-accent, var(--tg-theme-button-color, #2481cc));margin:1rem 0;font-family:Courier New,monospace}.session-code-display small{display:block;margin-top:.5rem;color:var(--app-hint, var(--tg-theme-hint-color, #999999))}.participants-list{margin-bottom:2rem}.participants-list h3{margin-bottom:1rem;color:var(--app-text, var(--tg-theme-text-color, #000000));font-size:1.1rem}.participants{list-style:none;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));border-radius:8px;padding:1rem}.participant-item{padding:.75rem;border-bottom:1px solid var(--app-border, var(--tg-theme-hint-color, #e0e0e0));display:flex;align-items:center;gap:.5rem}.participant-item:last-child{border-bottom:none}.host-badge{background:gold;color:#000;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700}.waiting-message{text-align:center;color:var(--app-hint, var(--tg-theme-hint-color, #999999));padding:1rem;font-style:italic}.swipe-container{width:100%;max-width:500px;display:flex;flex-direction:column;align-items:center;overflow:hidden;position:relative;height:100%;flex:1;min-height:0}.swipe-progress{text-align:center;margin-bottom:.5rem;color:var(--app-hint, var(--tg-theme-hint-color, #999999));font-size:.9rem;flex-shrink:0;padding:.25rem 0}.card-stack{width:100%;position:relative;margin-bottom:.5rem;display:flex;justify-content:center;align-items:flex-start;flex:1;min-height:0;z-index:1;overflow:visible}.swipe-card{position:absolute;width:95%;max-width:600px;height:100%;background:var(--app-card-bg, var(--tg-theme-secondary-bg-color, #ffffff));border-radius:20px;box-shadow:0 4px 20px #00000026;display:flex;align-items:flex-start;justify-content:center;-webkit-user-select:none;user-select:none;overflow:hidden;margin-bottom:0;z-index:2;border:1px solid var(--app-border, var(--tg-theme-hint-color, #e0e0e0))}.swipe-card-content{text-align:left;padding:1rem;color:var(--app-text, var(--tg-theme-text-color, #000000));width:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, rgba(0, 0, 0, .4)) var(--scrollbar-track, rgba(0, 0, 0, .08));min-height:0}.swipe-card-content::-webkit-scrollbar{width:10px}.swipe-card-content::-webkit-scrollbar-track{background:var(--scrollbar-track, rgba(0, 0, 0, .08));border-radius:5px}.swipe-card-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, rgba(0, 0, 0, .4));border-radius:5px}.swipe-card-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, rgba(0, 0, 0, .55))}.restaurant-header{margin-bottom:.75rem;flex-shrink:0}.swipe-card-content h2{font-size:1.5rem;font-weight:700;color:var(--app-text, var(--tg-theme-text-color, #000000));margin:0;margin-bottom:.5rem;line-height:1.3}.app.theme-dark .swipe-card-content h2{color:var(--app-accent)}.restaurant-photos-container{position:relative;width:100%;height:40vh;min-height:200px;max-height:300px;margin-bottom:.75rem;border-radius:12px;overflow:hidden;background:var(--app-border, var(--tg-theme-hint-color, #e0e0e0));flex-shrink:0}.restaurant-photo-main{width:100%;height:100%;object-fit:cover;display:block}.photo-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:24px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:background .2s}.photo-nav:hover{background:#000000b3}.photo-nav:active{background:#000000e6}.photo-nav-prev{left:10px}.photo-nav-next{right:10px}.photo-counter{position:absolute;bottom:10px;right:10px;background:#0009;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;z-index:5}.restaurant-description{font-size:.9rem;line-height:1.4;margin-bottom:0;color:var(--app-text-secondary, var(--tg-theme-hint-color, #666666))}.restaurant-info-container{padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--app-border, var(--tg-theme-hint-color, #e0e0e0));flex-shrink:0}.restaurant-info-item{margin-bottom:.5rem;font-size:.85rem;display:flex;flex-direction:row;align-items:baseline;gap:.5rem}.info-label{font-weight:600;color:var(--app-text, var(--tg-theme-text-color, #000000));font-size:.85rem;flex-shrink:0}.info-value{font-weight:400;color:var(--app-text-secondary, var(--tg-theme-text-color, #333333));flex:1;font-size:.85rem}.info-link{color:var(--app-accent, var(--tg-theme-button-color, #2481cc));text-decoration:underline;font-size:.95rem;display:inline-block}.btn-details{background:var(--app-accent, var(--tg-theme-button-color, #2481cc));color:var(--app-accent-text, var(--tg-theme-button-text-color, #ffffff));border:none;padding:.6rem 1.5rem;font-size:.95rem;border-radius:8px;cursor:pointer;font-weight:600;transition:opacity .2s,transform .1s;width:100%;margin-top:auto;align-self:flex-end;flex-shrink:0}.btn-details:active{transform:scale(.98);opacity:.9}.btn-details:hover{opacity:.9}@media (min-width: 768px){.swipe-card{width:90%;max-width:700px;height:100%}.restaurant-photos-container{height:35vh;min-height:250px;max-height:350px}.swipe-card-content h2{font-size:1.75rem}.restaurant-description{font-size:1rem}.swipe-actions{max-width:700px}.swipe-actions .btn{max-width:220px}}.swipe-actions{display:flex;gap:1rem;width:100%;max-width:600px;position:relative;z-index:20;padding:.75rem 0;margin-top:.5rem;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));visibility:visible!important;opacity:1!important;justify-content:center;flex-shrink:0}.swipe-actions .btn{width:auto;flex:1;min-width:120px;max-width:200px}.btn-skip{flex:1;background:#f44336!important;color:#fff!important}.btn-like{flex:1;background:#4caf50!important;color:#fff!important}.results-perfect-match,.results-majority,.results-no-match{text-align:center;padding:2rem;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));border-radius:12px;margin-bottom:1.5rem}.result-icon{font-size:4rem;margin-bottom:1rem}.results-perfect-match h3,.results-majority h3,.results-no-match h3{margin-bottom:1rem;color:var(--app-text, var(--tg-theme-text-color, #000000));font-size:1.5rem}.result-card-name{font-size:2rem;font-weight:700;color:var(--app-accent, var(--tg-theme-button-color, #2481cc));margin:1rem 0}.result-description{color:var(--app-hint, var(--tg-theme-hint-color, #999999));margin-top:.5rem}.result-link{display:inline-block;padding:.5rem 1.5rem;background:var(--app-accent, var(--tg-theme-button-color, #2481cc));color:var(--app-accent-text, var(--tg-theme-button-text-color, #ffffff));text-decoration:none;border-radius:8px;font-weight:600;transition:opacity .2s,transform .1s}.result-link:hover{opacity:.9}.result-link:active{transform:scale(.95)}.results-details{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--app-border, var(--tg-theme-hint-color, #e0e0e0))}.results-details h4{margin-bottom:1rem;color:var(--app-text, var(--tg-theme-text-color, #000000))}.selections-list{list-style:none;background:var(--app-bg, var(--tg-theme-bg-color, #ffffff));border-radius:8px;padding:1rem}.selections-list li{padding:.5rem;border-bottom:1px solid var(--app-border, var(--tg-theme-hint-color, #e0e0e0))}.selections-list li:last-child{border-bottom:none}
