*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#050403;color:#f0f0f0;font-family:Inter,Zen Kaku Gothic New,-apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;-webkit-font-smoothing:antialiased}.brand-logo{--brand-gold: #d6a12f;--brand-white: #f7f0e3;--brand-logo-size: 1rem;--brand-mark-size: 2.05em;--brand-logo-gap: .52em;display:inline-flex;align-items:center;gap:var(--brand-logo-gap);max-width:100%;color:var(--brand-white);font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,"Noto Serif JP",serif;font-size:var(--brand-logo-size);font-weight:600;letter-spacing:0;line-height:1;text-decoration:none;white-space:nowrap}.brand-logo-clickable{cursor:pointer}.brand-logo-clickable:focus-visible{outline:2px solid var(--brand-gold);outline-offset:.35rem}.brand-logo-header{--brand-logo-size: 1.12rem;--brand-mark-size: 2.15em;--brand-logo-gap: .42em}.brand-logo-hero{--brand-logo-size: clamp(3rem, 9vw, 7rem);--brand-mark-size: 1em;--brand-logo-gap: .22em}.brand-mark{width:var(--brand-mark-size);height:auto;flex:0 0 var(--brand-mark-size);display:block}.brand-word{color:var(--brand-white);text-shadow:0 0 .02em rgba(247,240,227,.5)}.brand-logo-hero .brand-word{transform:translateY(-.01em)}@media(max-width:520px){.brand-logo-header{--brand-logo-size: clamp(.9rem, 4vw, 1.05rem);--brand-mark-size: 1.95em;--brand-logo-gap: .42em}.brand-logo-hero{--brand-logo-size: clamp(2.25rem, 11vw, 3.25rem);--brand-mark-size: 1em;--brand-logo-gap: .22em}}@media(max-width:360px){.brand-logo-header{--brand-logo-size: .82rem;--brand-mark-size: 1.8em;--brand-logo-gap: .34em}.brand-logo-hero{--brand-logo-size: clamp(2rem, 10.5vw, 2.35rem)}}.search-main{max-width:680px;margin:0 auto;padding:3rem 2rem 5rem;display:flex;flex-direction:column;gap:2.5rem}.search-title{font-size:1.8rem;font-weight:700;color:#f4f1ea}.filter-section{display:flex;flex-direction:column;gap:.75rem}.filter-label{font-size:.84rem;letter-spacing:.08em;color:#d8d2c7;font-weight:700}.filter-note{font-size:.7rem;color:#777;font-weight:500;margin-left:.5rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.45rem 1rem;background:transparent;border:1px solid #2a2a2a;color:#aaa;font-size:.85rem;font-family:inherit;cursor:pointer;border-radius:2px;transition:border-color .15s,color .15s,background .15s}.chip:hover{border-color:#555;color:#f0f0f0}.chip.active{border-color:#f0f0f0;color:#0f0f0f;background:#f0f0f0}.loc-toggle{display:flex;gap:.5rem}.loc-btn{padding:.45rem 1.25rem;background:transparent;border:1px solid #2a2a2a;color:#aaa;font-size:.85rem;font-family:inherit;cursor:pointer;border-radius:2px;transition:border-color .15s,color .15s,background .15s}.loc-btn.active{border-color:#f0f0f0;color:#0f0f0f;background:#f0f0f0}.geo-status{font-size:.8rem;color:#666;margin-top:.5rem}.geo-error{font-size:.8rem;color:#a05050;margin-top:.5rem}.datetime-row{display:flex;gap:1rem;flex-wrap:wrap}.datetime-field{display:flex;flex-direction:column;gap:.4rem}.datetime-label{font-size:.72rem;color:#666;letter-spacing:.05em}.datetime-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.time-now-btn{padding:.16rem .45rem;background:#11100d;border:1px solid #3a3328;border-radius:2px;color:#d8d2c7;font-size:.68rem;font-family:inherit;line-height:1.2;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}.time-now-btn:hover{background:#17140f;border-color:#d6a12f;color:#f7f0e3}.datetime-input{background:transparent;border:1px solid #2a2a2a;color:#f0f0f0;padding:.5rem .75rem;font-size:.9rem;font-family:inherit;outline:none;cursor:pointer;transition:border-color .15s;color-scheme:dark}.datetime-input:focus{border-color:#f0f0f0}.datetime-input option{background:#1a1a1a;color:#f0f0f0}.party-input-row{display:flex;align-items:center;gap:.5rem}.party-input{width:6rem;text-align:right}.party-input::-webkit-inner-spin-button,.party-input::-webkit-outer-spin-button{opacity:1}.party-unit{font-size:.85rem;color:#aaa}.area-autocomplete{position:relative}.area-input{width:100%;background:transparent;border:1px solid #2a2a2a;color:#f0f0f0;padding:.5rem .75rem;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.area-input::placeholder{color:#555}.area-input:focus{border-color:#f0f0f0}.area-suggestions{position:absolute;top:100%;left:0;right:0;background:#1a1a1a;border:1px solid #333;border-top:none;list-style:none;margin:0;padding:0;z-index:100;max-height:240px;overflow-y:auto}.area-suggestion-item{padding:.6rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;border-bottom:1px solid #222;transition:background .1s}.area-suggestion-item:last-child{border-bottom:none}.area-suggestion-item:hover,.area-suggestion-item.active{background:#252525}.area-suggestion-main{font-size:.88rem;color:#f0f0f0}.area-suggestion-sub{font-size:.75rem;color:#555}.exclude-input-row{display:flex;gap:.5rem}.exclude-input{flex:1}.chip-exclude{border-color:#3a2a2a;color:#c75}.chip-exclude:hover{border-color:#c75;color:#f97;background:transparent}.search-btn{align-self:flex-start;padding:.8rem 3rem;background:#f0f0f0;color:#0f0f0f;border:none;font-size:1rem;font-family:inherit;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:opacity .2s}.search-btn:hover{opacity:.85}.search-btn:disabled{opacity:.35;cursor:not-allowed}:root{--header-h: 64px}.results-layout{display:flex;align-items:flex-start;min-height:calc(100vh - var(--header-h))}.results-sidebar{width:240px;flex-shrink:0;position:sticky;top:0;height:calc(100vh - var(--header-h));overflow-y:auto;border-right:1px solid #1a1a1a;padding:1.75rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem}.results-sidebar .filter-section{gap:.5rem}.results-sidebar .filter-label{font-size:.76rem}.results-sidebar .chip{font-size:.78rem;padding:.35rem .75rem}.results-sidebar .datetime-input{font-size:.82rem;padding:.4rem .6rem}.sidebar-search-btn{align-self:stretch;margin-top:.5rem}.results-content{flex:1;padding:2rem 2rem 5rem;display:flex;flex-direction:column;gap:1.75rem;min-width:0}.results-map-panel{width:340px;flex-shrink:0;position:sticky;top:0;height:calc(100vh - var(--header-h));border-left:1px solid #1a1a1a;overflow:hidden}@media(max-width:1100px){.results-map-panel{width:280px}}@media(max-width:860px){.results-layout{flex-direction:column}.results-sidebar{width:100%;position:static;height:auto;border-right:none;border-bottom:1px solid #1a1a1a;padding:1.5rem 1.25rem 2rem;order:1}.results-map-panel{width:100%;position:static;height:260px;border-left:none;border-top:1px solid #1a1a1a;order:-1}.results-content{padding:1.5rem 1.25rem 4rem}}.results-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.results-title{font-size:1.8rem;font-weight:700;color:#f4f1ea}.results-subtitle{font-size:.8rem;color:#888;margin-top:.3rem;letter-spacing:.03em}.back-btn{background:transparent;border:none;color:#666;font-size:.85rem;font-family:inherit;cursor:pointer;transition:color .2s}.back-btn:hover{color:#f0f0f0}.share-btn{background:transparent;border:1px solid #888;color:#f0f0f0;font-size:.85rem;font-family:inherit;padding:.35rem 1rem;cursor:pointer;transition:border-color .2s,color .2s;white-space:nowrap}.share-btn:hover{border-color:#f0f0f0}.visit-datetime{font-size:.85rem;color:#666;letter-spacing:.05em}.visit-datetime-note{font-size:.75rem;color:#444}.search-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#f0f0f0;color:#0f0f0f;font-size:.85rem;letter-spacing:.08em;padding:.6rem 1.5rem;z-index:200;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.results-status{color:#555;font-size:.95rem;text-align:center;margin-top:3rem;line-height:1.7}.results-status-note{margin-top:.75rem;font-size:.85rem;color:#444}.few-results-prompt{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #2d2d2d;padding:.85rem 1rem;color:#b8b8b8;font-size:.86rem}.few-results-note{color:#666;font-size:.8rem}.expand-search-btn{flex-shrink:0;background:#f0f0f0;border:1px solid #f0f0f0;color:#111;font-family:inherit;font-size:.82rem;font-weight:600;padding:.45rem .8rem;cursor:pointer;transition:background .2s,border-color .2s}.expand-search-btn:hover{background:#d8d8d8;border-color:#d8d8d8}@media(max-width:560px){.few-results-prompt{align-items:stretch;flex-direction:column}}.cards{display:flex;flex-direction:column;gap:1rem}.card{display:flex;flex-direction:column;border:1px solid #2d2d2d;transition:border-color .2s;overflow:hidden;cursor:pointer}.card-exclude-btn{display:block;margin-left:auto;background:transparent;border:1px solid #444;color:#f0f0f0;font-size:.75rem;font-family:inherit;padding:.35rem .75rem;margin-top:.5rem;margin-right:.75rem;cursor:pointer;transition:border-color .2s,color .2s}.card-exclude-btn:hover{border-color:#888;color:#ccc}.card-photo{width:100%;height:180px;object-fit:cover;display:block}.card-inner{display:flex;gap:1.25rem;padding:1.25rem 1.5rem}.card:hover{border-color:#333}.card-rank{font-size:1.5rem;font-weight:700;color:#333;min-width:2rem;padding-top:.1rem}.card:nth-child(1) .card-rank{color:#c9a227}.card:nth-child(2) .card-rank{color:#8a8a8a}.card:nth-child(3) .card-rank{color:sienna}.card-body{display:flex;flex-direction:column;gap:.45rem;flex:1}.card-name{font-size:1.1rem;font-weight:600;color:#f0f0f0}.card-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.card-rating{font-size:.9rem;color:#c9a227}.card-count{font-size:.8rem;color:#555}.card-type{font-size:.75rem;color:#555;border:1px solid #2a2a2a;padding:.1rem .5rem}.card-badge-unverified{font-size:.7rem;color:#666;border:1px solid #333;padding:.1rem .45rem;letter-spacing:.03em}.card-price-range{font-size:.82rem;color:#888;letter-spacing:.02em}.card-summary{font-size:.85rem;color:#aaa;line-height:1.6}.card-address{font-size:.8rem;color:#555}.card-selected{border-color:#444}.card-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:.25rem}.card-links{display:flex;gap:1rem;flex-wrap:wrap}.card-link{font-size:.8rem;color:#888;text-decoration:none;transition:color .2s}.card-link:hover{color:#f0f0f0}.card-link-maps{color:#5a8a5a}.card-link-maps:hover{color:#7abf7a}.card-link-reserve{color:#e8613a;font-weight:500}.card-link-reserve:hover{color:#f08060}.page{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;padding:1.25rem 2.5rem;border-bottom:1px solid #1f1f1f;background:#050403}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3.5rem 2rem 4rem;gap:1.25rem}.hero-title{line-height:.9}.hero-sub{font-size:1rem;color:#666;letter-spacing:.05em}.hero-desc{font-size:.85rem;color:#aaa;letter-spacing:.03em;margin-top:.15rem}.hero-btn{margin-top:.35rem;padding:.82rem 2.5rem;background:#f7f0e3;color:#050403;border:1px solid #d6a12f;font-size:.95rem;font-family:inherit;font-weight:600;letter-spacing:.08em;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.hero-btn:hover{background:#fff7e8;border-color:#e0ad3a;transform:translateY(-1px)}.hero-closed{max-width:760px;margin:0 auto}.closed-label{margin-top:.75rem;color:#d6a12f;font-size:.85rem;font-weight:700;letter-spacing:.12em}.closed-message{max-width:560px;color:#f4f1ea;font-size:1rem;line-height:1.9}.closed-note{max-width:560px;color:#888;font-size:.85rem;line-height:1.8}.footer{padding:1.5rem 2.5rem;border-top:1px solid #1a1a1a;text-align:center;display:flex;justify-content:center;gap:2rem}.footer-link{font-size:.8rem;color:#888;text-decoration:none;transition:color .2s}.footer-link:hover{color:#ccc}
