@import "https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap";*{box-sizing:border-box}body{color:#dac8b6;background-color:#0c2e3d;background-image:url(/images/wave-pattern.png),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:300px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;min-height:100vh;margin:0;font-family:Noto Serif JP,serif;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}img{max-width:100%;height:auto;display:block}.top-nav{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c2e3df2;position:sticky;top:0;box-shadow:0 4px 30px #0000001a}.nav-inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:15px 5%;display:flex}.logo{color:#dac8b6;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.logo img{height:40px}nav.main-menu{align-items:center;display:flex}nav.main-menu a{color:#dac8b6;border-radius:20px;margin:0 5px;padding:8px 16px;font-weight:500;text-decoration:none;transition:all .3s}nav.main-menu a:hover,nav.main-menu a.active{color:#0c2e3d;background:#c0a088;transform:translateY(-2px);box-shadow:0 4px 15px #c0a08866}.mobile-menu-btn{color:#c0a088;cursor:pointer;background:0 0;border:none;padding:10px;display:none}.hero{background-color:#0000;background-image:linear-gradient(#0c2e3dd9,#0c2e3dd9),url(/images/great_wave.jpg);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;justify-content:space-between;align-items:center;min-height:95vh;padding:120px 10%;display:flex;position:relative}.hero-left{z-index:10;width:50%}.hero-left h2{color:#fff;text-shadow:0 10px 30px #00000080;margin-bottom:20px;font-size:clamp(3rem,5vw,4.5rem);line-height:1.1}.hero-left p{opacity:.9;max-width:500px;margin-bottom:40px;font-size:1.2rem;line-height:1.6}.hero-right{justify-content:flex-end;align-items:center;width:50%;display:flex;position:relative}.hero-right img{filter:drop-shadow(0 35px 45px #0009)brightness(.9)contrast(1.15)saturate(.85)sepia(.08)hue-rotate(-5deg);width:100%;max-width:600px;animation:6s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(10px)}50%{transform:translateY(-10px)}}.cta{color:#0c2e3d;cursor:pointer;background:#c0a088;border:none;border-radius:30px;padding:12px 28px;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.cta:hover{background:#d4bda8;transform:translateY(-3px);box-shadow:0 10px 20px #c0a08880}section{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18678440;border:1px solid #ffffff0d;border-radius:24px;margin:40px 5%;padding:80px 8%;box-shadow:0 20px 40px #0003}.feature{justify-content:space-between;align-items:center;gap:50px;margin:60px 5%;padding:100px 10%;display:flex}.feature.reverse{flex-direction:row-reverse}.feature-img{justify-content:center;width:50%;display:flex;position:relative}.feature-img img{border-radius:20px;width:100%;max-width:500px;transition:transform .5s;box-shadow:0 20px 50px #0006}.feature-img img:hover{transform:scale(1.02)}.feature-text{width:50%}.feature-text h2{color:#c0a088;letter-spacing:2px;margin-bottom:20px;font-size:2.5rem}.feature-text p{color:#ffffffd9;margin-bottom:20px;font-size:1.1rem;line-height:1.8}.feature-text blockquote{color:#c0a088;border-left:4px solid #c0a088;margin:30px 0 40px;padding-left:20px;font-size:1.2rem;font-style:italic}.menu-header{text-align:center;box-shadow:none;background:0 0;border:none;padding:60px 10% 20px}.menu-header h1{color:#c0a088;margin-bottom:10px;font-size:3.5rem}.menu-section{margin-top:0;padding:40px 8% 60px}.menu-filters{flex-direction:column;align-items:center;gap:30px;margin-bottom:50px;padding:0 5%;display:flex}.search-container{width:100%;max-width:500px;position:relative}.search-container input{color:#fff;background:#1867844d;border:1px solid #c0a0884d;border-radius:30px;outline:none;width:100%;padding:15px 25px;font-size:1.1rem;transition:all .3s}.search-container input:focus{background:#18678480;border-color:#c0a088;box-shadow:0 0 20px #c0a08833}.filter-group{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.filter-btn{color:#c0a088;cursor:pointer;background:0 0;border:1px solid #c0a088;border-radius:25px;padding:10px 24px;font-weight:500;transition:all .3s}.filter-btn:hover,.filter-btn.active{color:#0c2e3d;background:#c0a088;box-shadow:0 5px 15px #c0a0884d}.menu-section h2{color:#c0a088;border-left:6px solid #c0a088;margin-bottom:15px;padding-left:15px;font-size:2rem}.menu-desc{color:#dac8b6;opacity:.9;margin-bottom:30px;font-size:1.1rem}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;display:grid}.menu-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#186784a6;border:1px solid #ffffff1a;border-radius:16px;transition:all .4s;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000004d}.menu-card img{object-fit:cover;filter:brightness(.95)contrast(1.1)saturate(.9);width:100%;height:240px;transition:all .5s}.menu-info{color:#dac8b6;text-align:left;background:linear-gradient(#0c2e3d00,#0c2e3dfa 40%);width:100%;padding:30px 20px 20px;transition:transform .4s;position:absolute;bottom:0;left:0;transform:translateY(40%)}.menu-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #0006}.menu-card:hover .menu-info{transform:translateY(0)}.menu-card:hover img{transform:scale(1.08)}.menu-info strong{color:#fff;font-size:1.2rem}.menu-info span{float:right;color:#c0a088;font-size:1.1rem;font-weight:700}.menu-info p{opacity:0;margin-top:10px;font-size:.95rem;line-height:1.5;transition:opacity .4s .1s}.menu-card:hover .menu-info p{opacity:.9}.promo-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:30px;display:grid}.promo-card{background:#18678499;border:1px solid #ffffff0d;border-radius:20px;padding:30px;transition:transform .3s;box-shadow:0 15px 30px #0003}.promo-card:hover{transform:translateY(-5px)}.promo-card h3{color:#c0a088;margin-bottom:10px;font-size:1.5rem}.promo-price{color:gold;margin-bottom:20px;font-size:2rem;font-weight:700;display:block}.promo-card ul{margin:15px 0;padding-left:20px;line-height:1.8}.reviews-section{text-align:center;box-shadow:none;background:0 0;border:none;padding:80px 5%}.rating-summary-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18678466;border:1px solid #ffffff1a;border-radius:20px;margin-bottom:40px;padding:30px;display:inline-block;box-shadow:0 15px 35px #0003}.rating-avg{justify-content:center;align-items:center;gap:20px;display:flex}.big-number{color:#c0a088;font-size:3.5rem;font-weight:700}.stars-wrap{text-align:left}.rating-subtitle{opacity:.7;margin-top:10px;font-size:.9rem}.reviews-section h2{color:#c0a088;font-size:2.5rem}.reviews-scroll{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c0a088 #1867844d;gap:25px;padding:40px 10px 60px;display:flex;overflow-x:auto}.reviews-scroll::-webkit-scrollbar{height:8px}.reviews-scroll::-webkit-scrollbar-track{background:#1867844d;border-radius:10px}.reviews-scroll::-webkit-scrollbar-thumb{background:#c0a088;border-radius:10px}.review-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scroll-snap-align:center;text-align:left;background:#186784b3;border:1px solid #ffffff0d;border-radius:20px;min-width:300px;padding:25px;transition:all .3s;box-shadow:0 10px 30px #0003}.review-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #c0a0884d}.review-card img{object-fit:cover;border-radius:12px;width:100%;height:180px;margin-bottom:15px}.review-card h3{color:#c0a088;margin:5px 0;font-size:1.3rem}.review-stars{color:gold;gap:2px;margin-bottom:10px;display:flex}.form-panel{text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18678466;border:1px solid #ffffff0d;border-radius:24px;padding:60px 10%;box-shadow:0 20px 40px #0003}.form-panel h2{color:#c0a088;margin-bottom:10px;font-size:2.5rem}.styled-form{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;max-width:800px;margin-top:40px;margin-left:auto;margin-right:auto;display:grid}.styled-form input,.styled-form select,.styled-form textarea{color:#fff;background:#0c2e3d99;border:1px solid #ffffff1a;border-radius:12px;outline:none;padding:15px;font-family:inherit;font-size:1rem;transition:border-color .3s}.styled-form input:focus,.styled-form select:focus,.styled-form textarea:focus{background:#0c2e3dcc;border-color:#c0a088}.styled-form textarea{resize:vertical;grid-column:1/-1;min-height:120px}.styled-form button{color:#0c2e3d;cursor:pointer;background:#c0a088;border:none;border-radius:12px;grid-column:1/-1;padding:16px;font-size:1.1rem;font-weight:700;transition:all .3s}.styled-form button:hover:not(:disabled){background:#d4bda8;transform:translateY(-2px);box-shadow:0 10px 20px #c0a0884d}.styled-form button:disabled{opacity:.7;cursor:not-allowed}.form-success{color:#2ecc71;background:#2ecc7133;border:1px solid #2ecc71;border-radius:12px;margin-top:20px;padding:15px;font-weight:700}.team{text-align:center;flex-wrap:wrap;justify-content:center;gap:40px;display:flex}.team-header{width:100%;margin-bottom:50px}.team-header h2{color:#c0a088;margin-bottom:10px;font-size:2.5rem}.team-header p{opacity:.9;max-width:600px;margin:0 auto;font-size:1.1rem}.team-members{flex-wrap:wrap;justify-content:center;gap:40px;width:100%;display:flex}.member{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#18678480;border:1px solid #ffffff0d;border-radius:24px;width:280px;padding:30px 20px;transition:transform .4s;box-shadow:0 15px 30px #0003}.member img{object-fit:cover;border:4px solid #c0a088;border-radius:50%;width:160px;height:160px;margin:0 auto 20px}.member h3{color:#fff;margin-bottom:5px;font-size:1.5rem}.member p{color:#c0a088;font-size:1.1rem}.member:hover{transform:translateY(-10px);box-shadow:0 20px 40px #c0a0884d}.backtop{color:#dac8b6;cursor:pointer;z-index:999;background:radial-gradient(circle at top,#c0a088,#0c2e3d);border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex;position:fixed;bottom:40px;right:40px;box-shadow:0 10px 20px #c0a08866}.backtop:hover{transform:translateY(-6px);box-shadow:0 15px 30px #c0a08899}footer{color:#c0a088;text-align:center;background:#05141c;border-top:1px solid #c0a08833;margin-top:auto;padding:40px 20px}.steam{pointer-events:none;gap:30px;display:flex;position:absolute;top:12%;right:220px}.steam span{filter:blur(18px);opacity:0;background:#ffffff59;border-radius:50%;width:55px;height:180px;animation:5s ease-in-out infinite steamRise}.steam span:first-child{animation-delay:0s}.steam span:nth-child(2){animation-delay:1.6s}.steam span:nth-child(3){animation-delay:3.2s}@keyframes steamRise{0%{opacity:0;transform:translateY(70px)scale(.6)}30%{opacity:.6}to{opacity:0;transform:translateY(-180px)scale(1.2)}}.aroma{border:2px solid #ffffff14;border-radius:50%;width:300px;height:300px;animation:6s ease-in-out infinite aromaPulse;position:absolute}@keyframes aromaPulse{0%{opacity:0;transform:scale(.6)}50%{opacity:.4}to{opacity:0;transform:scale(1.4)}}@media (width<=900px){.feature{text-align:center;flex-direction:column;gap:40px;padding:60px 5%}.feature.reverse{flex-direction:column}.feature-img,.feature-text{width:100%}.feature-text blockquote{text-align:left}}@media (width<=768px){.hero{text-align:center;flex-direction:column;padding-top:100px}.hero-left,.hero-right{width:100%}.hero-left h2{font-size:2.5rem}.hero-left p{margin:0 auto 30px}.steam{top:0;right:50%;transform:translate(50%)}.mobile-menu-btn{display:block}nav.main-menu{clip-path:circle(0% at 100% 0);background:#0c2e3dfa;flex-direction:column;width:100%;padding:20px 0;transition:clip-path .4s ease-in-out;position:absolute;top:100%;left:0;box-shadow:0 10px 20px #00000080}nav.main-menu.open{clip-path:circle(150% at 100% 0)}nav.main-menu a{margin:10px 0;font-size:1.2rem}}.admin-login-overlay{z-index:1000;background:radial-gradient(circle,#1a1a2e 0%,#0a0a0a 100%);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.admin-login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:400px;padding:40px;box-shadow:0 25px 50px -12px #00000080}.admin-icon-wrap{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;display:flex}.admin-login-card h1{color:#fff;margin-bottom:8px;font-size:2rem}.admin-login-card p{color:#94a3b8;margin-bottom:32px}.admin-login-card form{flex-direction:column;gap:16px;display:flex}.admin-login-card input{color:#fff;background:#0003;border:1px solid #ffffff1a;border-radius:12px;padding:12px 16px;font-size:1rem;transition:all .3s}.admin-login-card input:focus{background:#0006;border-color:#6366f1;outline:none}.admin-login-card button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border:none;border-radius:12px;padding:12px;font-weight:600;transition:transform .2s,opacity .2s}.admin-login-card button:hover{opacity:.9;transform:translateY(-2px)}.error-msg{color:#ef4444;margin-top:-8px;font-size:.875rem}.admin-dashboard{color:#fff;background:#0f172a;min-height:100vh}.admin-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0f172acc;border-bottom:1px solid #ffffff1a;padding:16px 40px;position:sticky;top:0}.admin-header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.logo-group{align-items:center;gap:12px;display:flex}.admin-logo{color:#6366f1}.logo-group h1{margin:0;font-size:1.25rem}.logo-group span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.logout-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;transition:all .2s;display:flex}.logout-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef4444}.admin-main{max-width:1200px;margin:0 auto;padding:40px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:40px;display:grid}.stat-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:20px;padding:24px;display:flex}.stat-card svg{color:#6366f1;width:32px;height:32px}.stat-info h3{margin:0;font-size:1.5rem}.stat-info p{color:#94a3b8;margin:0;font-size:.875rem}.data-section{background:#ffffff08;border:1px solid #ffffff0d;border-radius:20px;margin-bottom:32px;padding:24px}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#94a3b8;border-bottom:1px solid #ffffff1a;padding:16px;font-size:.875rem;font-weight:500}td{border-bottom:1px solid #ffffff0d;padding:16px;font-size:.875rem}.status-badge{text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600}.status-badge.pending{color:#f59e0b;background:#f59e0b1a}.status-badge.confirmed{color:#22c55e;background:#22c55e1a}.status-badge.cancelled{color:#ef4444;background:#ef44441a}.action-btns{gap:8px;display:flex}.action-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.action-btn.confirm:hover{color:#22c55e;background:#22c55e1a;border-color:#22c55e}.action-btn.cancel:hover{color:#ef4444;background:#ef44441a;border-color:#ef4444}.empty-row{text-align:center;color:#64748b;padding:40px}.section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.view-toggle{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:4px;display:flex}.view-toggle button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 16px;font-weight:500;transition:all .2s}.view-toggle button.active{color:#fff;background:#6366f1}.calendar-view{grid-template-columns:1fr 350px;gap:30px;display:grid}.calendar-grid{background:#0003;border-radius:16px;padding:20px}.calendar-header{text-align:center;color:#6366f1;grid-template-columns:repeat(7,1fr);margin-bottom:15px;font-weight:700;display:grid}.calendar-body{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;background:#ffffff08;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.calendar-day:hover{background:#ffffff14}.calendar-day.selected{background:#6366f11a;border:2px solid #6366f1}.calendar-day.has-res{color:#fff;font-weight:700}.res-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;position:absolute;bottom:8px}.date-details{background:#ffffff0d;border-radius:16px;padding:20px}.day-res-card{background:#0003;border-radius:10px;flex-direction:column;gap:5px;margin-bottom:10px;padding:15px;display:flex}.day-res-card strong{color:#fff}.day-res-card span{color:#94a3b8;font-size:.8rem}@media (width<=900px){.calendar-view{grid-template-columns:1fr}}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.admin-review-card{background:#0003;border:1px solid #ffffff0d;border-radius:12px;padding:20px}.review-meta{justify-content:space-between;margin-bottom:12px;display:flex}.rating{color:#f59e0b}.admin-review-card p{color:#cbd5e1;margin-bottom:12px;font-size:.9375rem;line-height:1.5}.admin-review-card .date{color:#64748b;font-size:.75rem}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
