*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Mono","Nunito Sans",monospace;background:#fff;color:#0e0d0b;min-height:100dvh}.page-header{padding:2rem 1.5rem 1.2rem;border-bottom:2px solid #0e0d0b;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.page-header h1{font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,6vw,3.5rem);font-weight:600;line-height:1;letter-spacing:-0.02em}.page-header h1 em{font-style:italic;color:#af1901}.page-header p{margin-top:.5rem;font-size:.72rem;color:#7a7060;letter-spacing:.06em}.install-banner{display:none;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.5rem;background:#fff8f7;border-bottom:1px solid #d9ce9c;font-size:.72rem}.install-banner.show{display:flex}.install-banner strong{color:#af1901}.install-banner .install-actions{display:flex;gap:.5rem;flex-shrink:0}.welcome-overlay{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.5);align-items:center;justify-content:center;padding:1rem}.welcome-overlay.show{display:flex}.welcome-card{background:#fff;border:1px solid #d9ce9c;max-width:480px;width:100%;padding:2.5rem 2rem;position:relative;max-height:90vh;overflow-y:auto;text-align:center}.welcome-card h2{font-family:"Cormorant Garamond",serif;font-size:1.6rem;margin-bottom:.3rem}.welcome-card .welcome-sub{font-size:.72rem;color:#7a7060;letter-spacing:.06em;margin-bottom:1.5rem}.welcome-card .welcome-features{text-align:left;margin-bottom:1.5rem}.welcome-card .welcome-features li{list-style:none;font-size:.78rem;padding:.25rem 0;display:flex;align-items:center;gap:.5rem}.welcome-card .welcome-features li .wf-icon{font-size:1.1rem;width:1.5rem;text-align:center}.welcome-card .welcome-btn{width:100%;padding:.6rem;background:#af1901;border:none;color:#fff;font-family:inherit;font-size:.75rem;letter-spacing:.08em;cursor:pointer}.welcome-card .welcome-btn:hover{background:#8a1414}.install-btn{padding:.3rem .7rem;border:1px solid #af1901;background:#af1901;color:#fff;border-radius:2px;font-family:inherit;font-size:.7rem;cursor:pointer}.install-dismiss{padding:.3rem .7rem;border:1px solid #d9ce9c;background:rgba(0,0,0,0);color:#7a7060;border-radius:2px;font-family:inherit;font-size:.7rem;cursor:pointer}.user-menu{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.user-btn{font-family:inherit;font-size:.7rem;letter-spacing:.06em;padding:.4rem .8rem;border:1px solid #d9ce9c;background:rgba(0,0,0,0);color:#7a7060;border-radius:2px;cursor:pointer;white-space:nowrap}.user-btn:hover{border-color:#af1901;color:#af1901}.user-btn.primary{background:#af1901;border-color:#af1901;color:#fff}.user-btn.primary:hover{background:#8a1414;border-color:#8a1414}.user-avatar{width:28px;height:28px;border-radius:50%;background:#d9ce9c;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#7a7060;cursor:pointer;overflow:hidden;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-dropdown{position:relative}.user-dropdown-menu{display:none;position:absolute;top:100%;right:0;z-index:200;background:#fff;border:1px solid #d9ce9c;min-width:180px;margin-top:4px}.user-dropdown-menu.show{display:block}.user-dropdown-menu button{display:block;width:100%;text-align:left;padding:.6rem .8rem;font-family:inherit;font-size:.72rem;border:none;background:none;color:#0e0d0b;cursor:pointer;letter-spacing:.04em}.user-dropdown-menu button:hover{background:#fff8f7}.user-dropdown-menu .divider{border-top:1px solid #d9ce9c;margin:.2rem 0}.user-dropdown-menu .mod-badge{color:#af1901;font-size:.6rem}.user-dropdown-menu .username{font-weight:500}.modal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.4);align-items:center;justify-content:center;padding:1rem}.modal-overlay.show{display:flex}.modal{background:#fff;border:1px solid #d9ce9c;max-width:420px;width:100%;padding:2rem;position:relative;max-height:90vh;overflow-y:auto}.modal h2{font-family:"Cormorant Garamond",serif;font-size:1.3rem;margin-bottom:1.2rem}.modal label{display:block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#7a7060;margin-bottom:.3rem}.modal input,.modal select,.modal textarea{width:100%;padding:.5rem .6rem;border:1px solid #d9ce9c;border-radius:2px;font-family:inherit;font-size:.8rem;margin-bottom:.8rem}.modal textarea{min-height:80px;resize:vertical}.modal .form-error{font-size:.68rem;color:#af1901;margin-top:-0.5rem;margin-bottom:.5rem;display:none}.modal .form-error.show{display:block}.modal .form-success{font-size:.72rem;color:#2e7d32;margin-top:.5rem}.modal-close{position:absolute;top:.6rem;right:.8rem;background:none;border:none;font-size:1.1rem;cursor:pointer;color:#7a7060}.modal-submit{width:100%;padding:.6rem;background:#af1901;border:none;color:#fff;font-family:inherit;font-size:.75rem;letter-spacing:.08em;cursor:pointer;margin-top:.3rem}.modal-submit:hover{background:#8a1414}.modal-submit:disabled{opacity:.5;cursor:not-allowed}.modal-footer{font-size:.68rem;color:#7a7060;margin-top:1rem;text-align:center}.auth-sent{display:none;text-align:center;padding:1rem 0}.auth-sent.show{display:block}.auth-sent .email-icon{font-size:2rem;margin-bottom:.5rem}.app-wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem 4rem}.profile-page{display:none}.profile-page.show{display:block}.profile-header{display:flex;align-items:center;gap:1.8rem;padding:2rem 0 1.5rem;flex-wrap:wrap}.profile-avatar{width:80px;height:80px;border-radius:50%;background:#d9ce9c;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#7a7060;overflow:hidden;flex-shrink:0;border:2px solid #d9ce9c}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-name{font-family:"Cormorant Garamond",serif;font-size:1.8rem;font-weight:500}.profile-meta{font-size:.72rem;color:#7a7060;letter-spacing:.04em}.profile-mod-badge{display:inline-block;font-size:.62rem;color:#af1901;letter-spacing:.1em;margin-top:.3rem}.profile-stats{display:grid;grid-template-columns:repeat(5, 1fr);gap:0;padding:.8rem 0;border-top:1px solid #d9ce9c;border-bottom:1px solid #d9ce9c}.stat-card{padding:.8rem .4rem;text-align:center;border-right:1px solid #f0ede6}.stat-card:last-child{border-right:none}.stat-number{font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:#af1901;line-height:1}.stat-label{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#7a7060;margin-top:.3rem}.profile-tabs{display:flex;gap:.3rem;margin:1.5rem 0 .8rem}.profile-tab{padding:.5rem 1rem;font-family:inherit;font-size:.7rem;border:1px solid #d9ce9c;background:rgba(0,0,0,0);color:#7a7060;cursor:pointer;letter-spacing:.06em;border-radius:2px;transition:background .15s,color .15s,border-color .15s}.profile-tab:hover{border-color:#af1901;color:#af1901}.profile-tab.active{background:#af1901;border-color:#af1901;color:#fff}.profile-tab .tab-count{font-size:.65em;opacity:.7;margin-left:.3em}.profile-tab-content{display:none;padding:.5rem 0}.profile-tab-content.show{display:block}.achievements-header{display:flex;align-items:baseline;gap:.8rem;margin-bottom:.8rem}.achievements-header h3{font-family:"Cormorant Garamond",serif;font-size:1.1rem;font-weight:400}.achievements-counter{font-size:.65rem;color:#7a7060;letter-spacing:.08em}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));gap:.5rem}.achievement-card{border:1px solid #d9ce9c;padding:.9rem .6rem;text-align:center;border-radius:2px}.achievement-card.locked{opacity:.3;filter:grayscale(1)}.achievement-card.earned{border-color:#af1901;background:#fff8f7}.achievement-icon{font-size:1.5rem;margin-bottom:.2rem}.achievement-name{font-size:.65rem;font-weight:500;letter-spacing:.03em}.achievement-desc{font-size:.56rem;color:#7a7060;margin-top:.1rem}.achievement-date{font-size:.55rem;color:#af1901;margin-top:.2rem;letter-spacing:.06em}.profile-list{border-top:1px solid #d9ce9c}.profile-row{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid #f0ede6;flex-wrap:wrap}.profile-row-name{font-family:"Cormorant Garamond",serif;font-size:.95rem;font-weight:500;flex:1;min-width:150px}.profile-row-meta{font-size:.65rem;color:#7a7060;letter-spacing:.06em;white-space:nowrap}.profile-row-actions{display:flex;gap:.3rem;flex-shrink:0}.profile-row-btn{font-family:inherit;font-size:.62rem;letter-spacing:.06em;padding:.3rem .6rem;border:1px solid #d9ce9c;background:rgba(0,0,0,0);border-radius:2px;cursor:pointer;color:#7a7060;white-space:nowrap;line-height:1.3}.profile-row-btn:hover{border-color:#af1901;color:#af1901}.profile-row-btn.active{background:#af1901;border-color:#af1901;color:#fff}.profile-row-btn.active:hover{background:#8a1414;border-color:#8a1414}.profile-empty{padding:2rem 0;text-align:center}.profile-empty p{font-size:.72rem;color:#7a7060;margin-bottom:.8rem}.profile-empty .empty-icon{font-size:2.5rem;margin-bottom:.5rem;opacity:.5}#acr{color:#0e0d0b}#acr *,#acr *::before,#acr *::after{box-sizing:border-box}#acr .controls-wrap{position:sticky;top:0;z-index:100;background:#fff;padding-bottom:1px;transition:box-shadow .2s}#acr .controls-wrap.scrolled{box-shadow:0 2px 8px -4px rgba(0,0,0,.15)}#acr .controls{padding-top:1rem}#acr .filter-group{border-bottom:1px solid #d9ce9c}#acr .filter-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;cursor:pointer;user-select:none}#acr .filter-header:focus-visible{outline:2px solid #af1901;outline-offset:2px;border-radius:2px}#acr .filter-label-wrap{display:flex;align-items:center;gap:.5rem}#acr .filter-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#7a7060}#acr .filter-group:not(.open) .filter-badge.visible{display:inline-block}#acr .filter-badge{display:none;font-size:.6rem;letter-spacing:.06em;color:#af1901;border:1px solid #af1901;border-radius:2px;padding:.05rem .35rem;line-height:1.4}#acr .filter-chevron{font-size:.6rem;color:#7a7060;display:inline-block}#acr .filter-group.open .filter-chevron{transform:rotate(180deg)}#acr .filter-pills{display:none;flex-wrap:wrap;gap:.4rem;padding-bottom:.8rem}#acr .filter-group.open .filter-pills{display:flex}#acr .pill{padding:.3rem .8rem;border:1px solid #d9ce9c;background:rgba(0,0,0,0);border-radius:2px;font-size:.72rem;cursor:pointer;color:#0e0d0b;white-space:nowrap;line-height:1.4;min-height:2rem}#acr .pill.unavailable{display:none}#acr .pill:hover{border-color:#af1901;color:#af1901}#acr .pill.active{background:#af1901;border-color:#af1901;color:#fff}#acr .pill.active:hover{background:#8a1414;border-color:#8a1414}#acr .pill-count{opacity:.65;font-size:.65em;margin-left:.2em}#acr .status-bar{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;font-size:.7rem;color:#7a7060;letter-spacing:.06em;flex-wrap:wrap;gap:.5rem;margin-top:.2rem;border-top:1px solid #d9ce9c}#acr .status-actions{display:flex;align-items:center;gap:1rem}#acr .reset-btn{display:none;background:none;border:none;font-size:.7rem;color:#af1901;cursor:pointer;letter-spacing:.06em;padding:0;font-family:inherit}#acr .reset-btn.visible{display:inline}#acr .reset-btn:hover{color:#8a1414;text-decoration:underline}#acr .dubious-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;user-select:none}#acr .dubious-toggle input[type=checkbox]{accent-color:#af1901;width:13px;height:13px;cursor:pointer;flex-shrink:0}#acr .dubious-toggle span{font-size:.7rem;color:#7a7060;letter-spacing:.06em}#acr .empty{display:none;padding:2rem 0;font-size:.8rem;color:#7a7060;letter-spacing:.08em}#acr .empty.show{display:block}#acr .city-section{margin-top:2.5rem}#acr .city-section.hidden{display:none}#acr .city-heading{display:flex;align-items:baseline;gap:.8rem;margin-bottom:1rem;padding-bottom:.4rem;border-bottom:1px solid #d9ce9c}#acr .city-heading h2{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:400;line-height:1.2;letter-spacing:-0.01em;margin:0;padding:0;border:none;background:none}#acr .city-count{font-size:.65rem;color:#7a7060;letter-spacing:.1em;text-transform:uppercase}#acr .cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:.6rem;align-items:start}#acr .card{background:rgba(0,0,0,0);border:1px solid #d9ce9c;padding:1.1rem 1.3rem;display:flex;flex-direction:column;gap:.45rem;transition:border-color .2s,box-shadow .2s}#acr .card.hidden{display:none}#acr .card.dubious{border-style:dashed}#acr .card.dubious .card-name{color:#7a7060}#acr .card:hover{border-color:#af1901;box-shadow:0 2px 8px rgba(175,25,1,.08)}#acr .card .cuisine-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#af1901;margin-right:.3rem;vertical-align:middle}#acr .dubious-badge{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#7a7060;border:1px dashed #d9ce9c;padding:.1rem .4rem;border-radius:2px;align-self:flex-start}#acr .card-name{font-family:"Cormorant Garamond",serif;font-size:1.05rem;font-weight:600;line-height:1.2;color:#0e0d0b}#acr .card-addr{font-size:.68rem;color:#7a7060;text-decoration:none;line-height:1.4;display:flex;align-items:flex-start;gap:.3rem;padding:.15rem 0}#acr .card-addr svg{width:12px;height:12px;flex-shrink:0;margin-top:2px}#acr .card-addr:hover{color:#af1901}#acr .card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.3rem;gap:.5rem;flex-wrap:wrap}#acr .tag{font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:#af1901}#acr .website-link{font-size:.63rem;color:#7a7060;text-decoration:none;letter-spacing:.06em;display:flex;align-items:center;gap:.25rem;padding:.25rem 0;min-height:2rem}#acr .website-link svg{width:12px;height:12px;flex-shrink:0}#acr .website-link:hover{color:#af1901}.profile-cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:.4rem;align-items:start}.card-actions{display:flex;gap:.3rem;flex-wrap:wrap}.card-action-btn{font-family:inherit;font-size:.65rem;letter-spacing:.06em;padding:.25rem .6rem;border:1px solid #d9ce9c;background:rgba(0,0,0,0);border-radius:2px;cursor:pointer;color:#7a7060;white-space:nowrap;line-height:1.4}.card-action-btn:hover{border-color:#af1901;color:#af1901}.card-action-btn.active{background:#af1901;border-color:#af1901;color:#fff}.card-action-btn.active:hover{background:#8a1414;border-color:#8a1414}.card-action-btn:disabled{opacity:.3;cursor:not-allowed}.card-action-btn .checkmark{font-size:.7rem}.card-action-btn.ghost{opacity:.5;font-style:italic;border-style:dashed}.card-action-btn.ghost:hover{opacity:.8}.mod-dashboard{display:none}.mod-dashboard.show{display:block}.mod-section{margin-top:1.5rem}.mod-section h3{font-family:"Cormorant Garamond",serif;font-size:1.1rem;margin-bottom:.8rem}.mod-table{width:100%;border-collapse:collapse;font-size:.72rem}.mod-table th,.mod-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #d9ce9c}.mod-table th{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#7a7060}.mod-actions{display:flex;gap:.3rem}.mod-btn{font-family:inherit;font-size:.62rem;padding:.25rem .5rem;border:1px solid #d9ce9c;background:rgba(0,0,0,0);border-radius:2px;cursor:pointer}.mod-btn.approve{border-color:#2e7d32;color:#2e7d32}.mod-btn.approve:hover{background:#2e7d32;color:#fff}.mod-btn.reject{border-color:#af1901;color:#af1901}.mod-btn.reject:hover{background:#af1901;color:#fff}.mod-btn.dubious-toggle{border-color:#7a7060;color:#7a7060}.mod-btn.dubious-toggle:hover{background:#7a7060;color:#fff}.pending-badge{font-size:.6rem;padding:.15rem .4rem;border-radius:2px;background:#fff3e0;color:#e65100;letter-spacing:.06em}.pending-badge.approved{background:#e8f5e9;color:#2e7d32}.pending-badge.rejected{background:#ffebee;color:#c62828}.req-motivation{font-size:.65rem;color:#7a7060;max-width:250px}.page-footer{margin-top:4rem;padding:1.5rem 0;border-top:1px solid #d9ce9c;font-size:.68rem;color:#7a7060;letter-spacing:.06em}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:200;width:40px;height:40px;border:1px solid #d9ce9c;background:#fff;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:1.1rem;color:#7a7060;transition:background .2s,border-color .2s,transform .2s}.back-to-top.show{display:flex}.back-to-top:hover{background:#af1901;border-color:#af1901;color:#fff;transform:translateY(-2px)}@media(prefers-reduced-motion: no-preference){#acr .filter-chevron{transition:transform .2s}#acr .pill{transition:background .15s,border-color .15s,color .15s}#acr .card-addr,#acr .website-link{transition:color .15s}}@media(max-width: 768px){.page-header{padding:1.2rem .8rem .8rem;justify-content:space-between}.page-header h1{font-size:1.8rem}.page-header>div:first-child{width:auto;max-width:70%}.page-header p{margin-top:.3rem;font-size:.65rem}.user-menu{margin-left:auto;flex-shrink:0}.user-dropdown-menu{right:0;left:auto;min-width:160px}.app-wrap{padding:0 .8rem 2rem}#acr .controls{padding-top:.6rem}#acr .filter-label{font-size:.6rem}#acr .pill{font-size:.68rem;padding:.3rem .6rem;min-height:2.5rem}#acr .status-bar{font-size:.62rem;gap:.3rem}#acr .cards{grid-template-columns:1fr;gap:.4rem}#acr .card{padding:.9rem 1rem}#acr .city-section{margin-top:1.8rem}#acr .city-heading h2{font-size:1.2rem}.card-action-btn,.profile-row-btn{min-height:2.5rem;padding:.35rem .6rem;font-size:.68rem}.back-to-top{bottom:1rem;right:1rem;width:36px;height:36px;font-size:.9rem}.page-footer{margin-top:2rem;font-size:.62rem}.profile-header{padding:1rem 0;gap:1rem}.profile-avatar{width:60px;height:60px;font-size:1.3rem}.profile-name{font-size:1.3rem}.profile-stats{grid-template-columns:repeat(3, 1fr)}.profile-row{gap:.4rem}.profile-row .profile-row-name{min-width:100px;font-size:.82rem}.profile-row .profile-row-meta{font-size:.58rem}.modal{padding:1.2rem}.modal h2{font-size:1.1rem}.mod-table{font-size:.6rem}.mod-table th,.mod-table td{padding:.3rem .2rem}.welcome-card{padding:1.5rem 1.2rem}.welcome-card h2{font-size:1.3rem}.welcome-card .welcome-sub{font-size:.65rem;margin-bottom:1rem}.welcome-card .welcome-features li{font-size:.72rem;gap:.4rem}.welcome-card .welcome-btn{padding:.7rem;font-size:.8rem}}@media(max-width: 400px){.page-header h1{font-size:1.5rem}.page-header p{font-size:.6rem}#acr .filter-group{padding:.2rem 0}#acr .filter-pills{gap:.3rem}.card-action-btn,.profile-row-btn{font-size:.62rem;padding:.3rem .5rem}.welcome-card{padding:1rem .8rem}.welcome-card h2{font-size:1.1rem}.welcome-card .welcome-sub{font-size:.6rem;margin-bottom:.8rem}.welcome-card .welcome-features li{font-size:.68rem;padding:.15rem 0;gap:.3rem}.welcome-card .welcome-btn{padding:.6rem;font-size:.75rem}}
