:root{--bg: #0a0f0d;--bg-alt: #0e1613;--surface: #131f1a;--surface-2: #18271f;--felt: #0c3b2e;--felt-2: #11553f;--green: #28a06a;--green-bright: #36d399;--gold: #d4af37;--gold-bright: #f0d77a;--text: #f4f2ea;--text-muted: #9aa79f;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--danger: #e5594f;--radius: 16px;--radius-sm: 10px;--shadow: 0 18px 40px rgba(0, 0, 0, .45);--shadow-sm: 0 8px 20px rgba(0, 0, 0, .35);--maxw: 1180px;--ff-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ff-head: "Playfair Display", Georgia, "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--ff-body);background-color:var(--bg);background-image:radial-gradient(1200px 600px at 80% -10%,rgba(40,160,106,.12),transparent 60%),radial-gradient(900px 500px at 0% 0%,rgba(212,175,55,.06),transparent 55%);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--ff-head);line-height:1.15;font-weight:700}.app{display:flex;flex-direction:column;min-height:100vh}.app__main{flex:1}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.section{padding:64px 0}.section--alt{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.center{text-align:center;margin-top:24px}.muted{color:var(--text-muted)}.page-head{margin-bottom:32px}.page-head h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:8px}.page-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:8px}.page-head p{color:var(--text-muted);max-width:640px}.page-head--center{text-align:center}.page-head--center p{margin:0 auto}.back-link{display:inline-block;margin-bottom:20px;color:var(--text-muted);font-weight:500;transition:color .2s}.back-link:hover{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border:1px solid transparent;border-radius:999px;font-family:var(--ff-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s,border-color .2s,color .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--gold{background:linear-gradient(135deg,var(--gold),var(--gold-bright));color:#21180a;box-shadow:0 10px 24px #d4af3740}.btn--gold:hover{box-shadow:0 14px 30px #d4af3761}.btn--outline{border-color:var(--border-strong);color:var(--text);background:#ffffff08}.btn--outline:hover{border-color:var(--gold);color:var(--gold)}.btn--ghost{background:#ffffff0d;color:var(--text);border-color:var(--border)}.btn--ghost:hover{background:#ffffff1a}.btn--sm{padding:8px 16px;font-size:.85rem}.btn--lg{padding:16px 32px;font-size:1.05rem}.btn--block{width:100%;margin-top:8px}.header{position:sticky;top:0;z-index:50;background:#0a0f0dd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:72px}.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-head);font-weight:700;font-size:1.3rem}.logo__mark{font-size:1.5rem}.logo__text span{color:var(--gold)}.logo--footer{font-size:1.2rem;margin-bottom:14px}.nav{display:flex;align-items:center;gap:8px}.nav__link{position:relative;padding:8px 14px;border-radius:999px;color:var(--text);font-weight:500;font-size:.95rem;transition:color .2s,background .2s}.nav__link:hover{color:var(--gold)}.nav__link.active{color:var(--gold);background:#d4af371a}.nav__cart{display:inline-flex;align-items:center;gap:6px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--gold);color:#21180a;font-size:.72rem;font-weight:700}.burger{display:none;flex-direction:column;gap:5px;width:42px;height:42px;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border);border-radius:12px;cursor:pointer}.burger span{width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .25s}.burger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger--open span:nth-child(2){opacity:0}.burger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{position:relative;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,var(--felt-2) 0%,var(--felt) 38%,#07271d 75%,var(--bg) 100%);border-bottom:1px solid var(--border)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.04) 1px,transparent 0);background-size:22px 22px;pointer-events:none}.hero__inner{position:relative;z-index:1;text-align:center;padding:96px 20px 88px}.hero__eyebrow{display:inline-block;padding:6px 16px;border:1px solid rgba(212,175,55,.4);border-radius:999px;color:var(--gold-bright);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}.hero__title{font-size:clamp(2.8rem,8vw,5.5rem);letter-spacing:-.01em;margin-bottom:18px}.hero__title span{color:var(--gold)}.hero__subtitle{max-width:620px;margin:0 auto 36px;font-size:1.12rem;color:#f4f2eadb}.hero__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.hero__stats{display:flex;justify-content:center;gap:48px;margin-top:56px}.hero__stats dt{font-family:var(--ff-head);font-size:2.4rem;color:var(--gold)}.hero__stats dd{color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.grid{display:grid;gap:24px}.grid--features{grid-template-columns:repeat(4,1fr)}.grid--cards{grid-template-columns:repeat(3,1fr)}.grid--split{grid-template-columns:1fr 1fr;align-items:start}.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;text-align:center;transition:transform .2s,border-color .2s}.feature:hover{transform:translateY(-4px);border-color:#d4af3766}.feature__icon{font-size:2.4rem;display:block;margin-bottom:14px}.feature h3{font-size:1.1rem;margin-bottom:8px}.feature p{color:var(--text-muted);font-size:.92rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-sm)}.panel h2{font-size:1.5rem;margin-bottom:20px}.panel__note{margin-top:18px;color:var(--text-muted);font-size:.9rem}.schedule,.contacts{list-style:none;display:flex;flex-direction:column;gap:14px}.schedule li,.contacts li{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.schedule li:last-child,.contacts li:last-child{border-bottom:none}.contacts span{color:var(--text-muted)}.contacts strong a:hover{color:var(--gold)}.cta{background:linear-gradient(135deg,var(--felt),#07271d);border-top:1px solid var(--border)}.cta__inner{text-align:center;padding:72px 20px}.cta h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:12px}.cta p{color:#f4f2eacc;margin-bottom:28px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);border-color:#d4af3759;box-shadow:var(--shadow)}.card__body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}.card__title{font-size:1.3rem}.card__text{color:var(--text-muted);font-size:.92rem;flex:1}.card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.price{font-family:var(--ff-head);font-size:1.4rem;color:var(--gold);font-weight:700}.price small{font-family:var(--ff-body);font-size:.8rem;color:var(--text-muted);font-weight:500}.table-card__top{position:relative;height:140px;display:flex;align-items:flex-start;justify-content:space-between;padding:16px;background:linear-gradient(135deg,var(--felt-2),var(--felt))}.table-card__top--american_pool{background:linear-gradient(135deg,#1d4ed8,#0c2a6b)}.table-card__top--snooker{background:linear-gradient(135deg,#7c1d2e,#3b0d16)}.table-card__balls{font-size:2.4rem;opacity:.85;align-self:center}.chip{display:inline-block;padding:5px 12px;background:#00000059;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.76rem;font-weight:600;letter-spacing:.03em;color:#fff}.chip--floating{position:absolute;top:12px;left:12px}.tournament-card__head{display:flex;gap:8px;flex-wrap:wrap}.meta-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.meta-list--lg{grid-template-columns:1fr;gap:14px}.meta-list li{display:flex;flex-direction:column}.meta-list--lg li{flex-direction:row;justify-content:space-between}.meta-list span{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.meta-list strong{font-size:1rem}.prize{font-size:.9rem;color:var(--gold-bright);font-weight:600}.food-card__media{position:relative;aspect-ratio:3 / 2;background:var(--surface-2)}.food-card__media img{width:100%;height:100%;object-fit:cover}.food-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,var(--surface-2),var(--felt))}.qty{display:inline-flex;align-items:center;gap:4px;background:#ffffff0d;border:1px solid var(--border);border-radius:999px;padding:4px}.qty button{width:30px;height:30px;border-radius:50%;border:none;background:#ffffff14;color:var(--text);font-size:1.1rem;cursor:pointer;transition:background .2s}.qty button:hover{background:var(--gold);color:#21180a}.qty span{min-width:28px;text-align:center;font-weight:600}.status{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.76rem;font-weight:600;border:1px solid transparent}.status--gold,.status--upcoming,.status--pending,.status--new,.status--cooking{background:#d4af3724;color:var(--gold-bright);border-color:#d4af3759}.status--green,.status--active,.status--confirmed,.status--ready{background:#36d39924;color:var(--green-bright);border-color:#36d39959}.status--muted,.status--finished,.status--delivered{background:#ffffff14;color:var(--text-muted);border-color:var(--border)}.status--danger,.status--cancelled{background:#e5594f24;color:#ff9b94;border-color:#e5594f59}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.filter{padding:9px 18px;border-radius:999px;border:1px solid var(--border);background:#ffffff08;color:var(--text);font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s}.filter:hover{border-color:var(--gold)}.filter--active{background:linear-gradient(135deg,var(--gold),var(--gold-bright));color:#21180a;border-color:transparent}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field>span{font-size:.85rem;color:var(--text-muted);font-weight:500}.field input,.field select{width:100%;padding:12px 14px;background:#00000040;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--ff-body);font-size:.98rem;transition:border-color .2s,box-shadow .2s}.field input::placeholder{color:#9aa79f99}.field input:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d4af372e}.field input.has-error{border-color:var(--danger)}.field input[type=date],.field input[type=time]{color-scheme:dark}.field__error{color:#ff9b94;font-size:.82rem;font-style:normal}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem;margin:12px 0;border:1px solid transparent;white-space:pre-line}.alert--error{background:#e5594f1f;color:#ff9b94;border-color:#e5594f4d}.alert--success{background:#36d3991f;color:var(--green-bright);border-color:#36d3994d}.alert--muted{background:#ffffff0d;color:var(--text-muted);border-color:var(--border)}.auth{display:flex;justify-content:center}.auth__card{width:100%;max-width:440px;padding:36px}.auth__card h1{font-size:1.8rem;margin-bottom:10px}.auth__hint{color:var(--text-muted);font-size:.88rem;margin-bottom:24px}.auth__hint code{background:#ffffff14;padding:2px 6px;border-radius:6px;color:var(--gold-bright);font-size:.85rem}.auth__switch{margin-top:20px;text-align:center;color:var(--text-muted);font-size:.9rem}.auth__switch a{color:var(--gold);font-weight:600}.detail__hero{position:relative;border-radius:var(--radius);padding:40px 32px;overflow:hidden;background:linear-gradient(135deg,var(--felt-2),#07271d);border:1px solid var(--border);min-height:320px;display:flex;flex-direction:column;gap:14px}.detail__hero--american_pool{background:linear-gradient(135deg,#1d4ed8,#0c2a6b)}.detail__hero--snooker{background:linear-gradient(135deg,#7c1d2e,#3b0d16)}.detail__hero--tournament{background:linear-gradient(135deg,#2a2350,#120e2c)}.detail__hero h1{font-size:clamp(1.8rem,4vw,2.6rem)}.detail__hero p{color:#f4f2ead6}.detail__ball{position:absolute;right:-10px;bottom:-10px;font-size:9rem;opacity:.18}.detail__price{margin-top:auto;font-family:var(--ff-head);font-size:2.4rem;color:var(--gold-bright);font-weight:700}.detail__price small{font-family:var(--ff-body);font-size:.95rem;color:#f4f2eab3;font-weight:500}.detail__prize{margin-top:auto;font-size:1.2rem;color:var(--gold-bright);font-weight:600}.estimate{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#00000040;border-radius:var(--radius-sm);margin-top:4px}.estimate strong{font-family:var(--ff-head);font-size:1.5rem;color:var(--gold-bright)}.estimate__note{font-size:.8rem;color:var(--text-muted);margin:8px 0 4px}.occupancy{margin-top:28px;border-top:1px solid var(--border);padding-top:20px}.occupancy h3{font-size:1.05rem;margin-bottom:12px}.occupancy ul{list-style:none;display:flex;flex-direction:column;gap:8px}.occupancy li{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#e5594f14;border:1px solid rgba(229,89,79,.2);border-radius:var(--radius-sm);font-size:.92rem}.occupancy__tag{font-size:.74rem;color:#ff9b94;text-transform:uppercase;letter-spacing:.05em}.occupancy__free{color:var(--green-bright)}.cart{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}.cart__list{list-style:none;display:flex;flex-direction:column;gap:14px}.cart__item{flex-direction:row;align-items:center;gap:16px;padding:16px 20px}.cart__info{flex:1;display:flex;flex-direction:column}.cart__sum{font-weight:700;color:var(--gold);min-width:90px;text-align:right}.cart__remove{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;transition:color .2s}.cart__remove:hover{color:var(--danger)}.cart__summary{position:sticky;top:92px}.cart__total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:8px}.cart__total strong{font-family:var(--ff-head);font-size:1.6rem;color:var(--gold-bright)}.orders{display:flex;flex-direction:column;gap:18px}.order{padding:22px;gap:14px}.order__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.order__head strong{font-size:1.1rem}.order__date{display:block;font-size:.85rem}.order__items{list-style:none;display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--border)}.order__items li{display:flex;justify-content:space-between;font-size:.92rem;color:var(--text-muted)}.order__total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--border);padding-top:14px}.order__total strong{font-family:var(--ff-head);font-size:1.3rem;color:var(--gold-bright)}.profile__head{display:flex;align-items:center;gap:20px;margin-bottom:40px}.avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--ff-head);font-size:2rem;font-weight:700;color:#21180a;background:linear-gradient(135deg,var(--gold),var(--gold-bright));flex-shrink:0}.profile__head h1{font-size:1.8rem}.profile__section{margin-bottom:40px}.profile__section h2{font-size:1.4rem;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--border)}.profile__list{display:flex;flex-direction:column;gap:12px}.profile__item{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px}.profile__item strong{display:block}.profile__item-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.profile__item--column{flex-direction:column;align-items:stretch}.profile__order-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile__order-head strong{display:inline}.profile__order-head .muted{flex:1;font-size:.85rem}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 20px;text-align:center;color:var(--text-muted)}.spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.state--error{color:#ff9b94}.toast-container{position:fixed;top:84px;right:20px;z-index:100;display:flex;flex-direction:column;gap:10px;max-width:360px}.toast{padding:14px 18px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--shadow);font-size:.9rem;cursor:pointer;animation:toast-in .25s ease;white-space:pre-line}.toast--success{border-left:4px solid var(--green-bright)}.toast--error{border-left:4px solid var(--danger)}.toast--info{border-left:4px solid var(--gold)}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.footer{margin-top:auto;background:var(--bg-alt);border-top:1px solid var(--border)}.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding:56px 20px 40px}.footer__col h4{font-family:var(--ff-body);font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin-bottom:16px}.footer__col a,.footer__col p{display:block;color:var(--text-muted);font-size:.92rem;margin-bottom:10px;transition:color .2s}.footer__col a:hover{color:var(--gold)}.footer__about{max-width:320px}.footer__bottom{border-top:1px solid var(--border);padding:20px 0;color:var(--text-muted);font-size:.85rem;text-align:center}@media (max-width: 980px){.grid--features,.grid--cards{grid-template-columns:repeat(2,1fr)}.footer__inner{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.burger{display:flex}.nav{position:fixed;top:72px;right:0;bottom:0;width:min(80vw,320px);flex-direction:column;align-items:stretch;gap:6px;padding:24px 20px;background:var(--bg-alt);border-left:1px solid var(--border);transform:translate(100%);transition:transform .3s ease;overflow-y:auto}.nav--open{transform:translate(0)}.nav__link,.nav .btn{width:100%;text-align:left}.grid--split,.cart,.field-row{grid-template-columns:1fr}.hero__stats{gap:28px}.section{padding:48px 0}.cart__summary{position:static}.detail__ball{font-size:6rem}}@media (max-width: 520px){.grid--cards,.grid--features,.footer__inner{grid-template-columns:1fr}.hero__actions{flex-direction:column}.hero__actions .btn{width:100%}.profile__item{flex-direction:column;align-items:flex-start}.profile__item-right{justify-content:flex-start}.cart__item{flex-wrap:wrap}}
