:root{color-scheme:dark;--bg:#080808;--panel:#141414;--red:#f3241c;--text:#f7f5f2;--muted:#b0b0b0;--edge:#363636}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}body{overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}
.idle{position:fixed;inset:0;background:#000 url('/brand.png') center/contain no-repeat}.idle-touch{position:absolute;inset:0;width:100%;border:0;background:transparent;text-align:left}.idle-touch span{position:absolute;bottom:9%;left:5%;font-size:clamp(23px,2.5vw,46px);font-weight:700}.idle-touch span::before{content:'';display:inline-block;width:42px;height:4px;margin-right:24px;vertical-align:middle;background:var(--red)}
.home{min-height:100dvh;display:flex}.brand-pane{width:35%;background:#000 url('/brand.png') center/auto 100% no-repeat;border-right:1px solid #292929;position:relative}.brand-name{font-size:clamp(15px,1.5vw,28px);font-weight:900;letter-spacing:.08em}.brand-pane>.brand-name{position:absolute;top:6%;left:10%}.home-content{width:65%;padding:clamp(32px,4vw,76px);display:flex;flex-direction:column;justify-content:center}.home h1{font-size:clamp(30px,3.2vw,60px);margin:0 0 7%;line-height:1.08;letter-spacing:-.03em}.menu{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.3vw,24px)}.menu-card{display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(150px,22vh,250px);text-align:left;border:1px solid var(--edge);border-radius:18px;background:var(--panel);padding:clamp(20px,2vw,34px);font-size:clamp(24px,2.2vw,42px);font-weight:800;line-height:1.1}.menu-card.primary{background:var(--red);border-color:var(--red)}.menu-index{font-size:clamp(14px,1.15vw,22px);color:#a0a0a0;font-weight:600}.menu-card.primary .menu-index{color:#ffd4d0}
.flow{min-height:100dvh}.flow-header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid #252525}.back,.text-button{border:0;background:transparent;min-height:56px;font-size:20px;padding:10px 0}.flow-content{padding:clamp(24px,3vw,56px) 6%;font-size:clamp(18px,1.45vw,27px);line-height:1.45}.flow-content h1{font-size:clamp(32px,3.3vw,62px);line-height:1.1;letter-spacing:-.035em;margin:0 0 24px}.flow-content h2{font-size:clamp(28px,2.4vw,46px);line-height:1.12;margin:0 0 20px}.eyebrow{color:var(--red);font-size:17px;font-weight:700;letter-spacing:.1em;margin:0 0 20px;text-transform:uppercase}.muted{color:var(--muted)}.narrow{max-width:830px;margin:2vh auto}.primary:not(.menu-card),.secondary{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:68px;padding:18px 26px;border-radius:12px;font-weight:700;font-size:clamp(20px,1.5vw,29px);border:1px solid var(--edge)}.primary{background:var(--red);border-color:var(--red);color:#fff}.secondary{background:var(--panel)}form>.primary{width:100%;margin-top:20px}.actions{display:flex;gap:16px;margin-top:24px}.actions>.primary{flex:1.3}.actions>.secondary{flex:1}.identity{display:flex;flex-direction:column;gap:12px;padding:32px;border:1px solid var(--edge);border-radius:16px;background:var(--panel);margin:35px 0}.identity strong{font-size:clamp(36px,4vw,76px);line-height:1.15;overflow-wrap:anywhere}label{display:block;font-size:20px;margin:24px 0 12px}input{width:100%;min-height:76px;border:1px solid #545454;border-radius:10px;background:#171717;color:#fff;padding:16px 20px;font-size:30px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{appearance:none}.amount-options{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}.amount-options button{min-height:80px;border:1px solid var(--edge);border-radius:12px;background:var(--panel);font-size:26px}.success-check{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:50%;border:2px solid var(--red);color:var(--red);font-size:45px}.success-heading{display:flex;gap:24px;align-items:center}.success-heading h1{margin-bottom:0}.success-heading .eyebrow{margin-bottom:8px}.gift-layout{display:grid;grid-template-columns:minmax(230px,.65fr) 1.35fr;gap:5vw;align-items:center;margin:35px 0}.qr-block{background:#f6f6f6;border-radius:12px;overflow:hidden;max-width:470px;text-align:center}.qr-block img{width:100%;height:auto;display:block;image-rendering:pixelated}.qr-block p{color:#333;font-size:17px;margin:0;padding:8px 16px 18px}.instructions{padding-left:28px;font-size:clamp(18px,1.6vw,30px)}.instructions li{margin:14px 0;padding-left:8px}.password-tip{font-size:18px;color:var(--muted)}.payment-layout{display:grid;grid-template-columns:1fr .8fr;gap:6vw;align-items:center;max-width:1200px;margin:2vh auto}.payment-layout>div:first-child{max-width:560px}.payment-layout h1{font-size:clamp(48px,5vw,92px)}.result-amount{font-size:64px;font-weight:800;color:var(--red);margin:20px 0}.zone-tabs{display:flex;gap:12px;overflow-x:auto;margin:26px 0}.zone-tabs button{min-height:60px;border:1px solid var(--edge);border-radius:10px;background:var(--panel);padding:12px 22px;white-space:nowrap;font-size:20px}.zone-tabs button[aria-pressed=true]{background:var(--red);border-color:var(--red)}.host-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px}.host-card{min-height:135px;border:1px solid var(--edge);border-radius:14px;background:var(--panel);padding:20px;text-align:left;display:flex;flex-direction:column;gap:16px}.host-card strong{font-size:25px}.host-card span{font-size:17px;color:var(--muted)}.host-card[data-status=FREE]{border-color:#637e6c}.host-card[data-status=OFFLINE]{border-color:#595959}.host-state{font-size:28px}.error{color:#ffbdb8;border:1px solid #7d3833;background:#301a18;border-radius:10px;padding:16px 20px;font-size:19px}.global-error{position:fixed;bottom:24px;left:6%;right:6%;z-index:10;box-shadow:0 8px 24px #0008}dialog{background:var(--panel);color:var(--text);border:1px solid var(--edge);border-radius:18px;padding:36px;max-width:90vw}dialog::backdrop{background:#000c}dialog h2{font-size:32px;margin-top:0}dialog p{font-size:21px}dialog button{width:100%}#registration-frame{width:100%;height:calc(100dvh - 210px);min-height:550px;border:0;background:var(--bg)}.info-block{padding:24px 0;border-bottom:1px solid var(--edge)}
body.embedded{background:var(--bg);color:var(--text)}body.embedded main{max-width:none;padding:10px 0;margin:0}body.embedded main>header,body.embedded .steps,body.embedded aside,body.embedded .diagnostics{display:none}body.embedded .layout{display:block;max-width:850px;margin:auto}body.embedded .panel{background:var(--panel);border:1px solid var(--edge);border-radius:16px;padding:28px}body.embedded label,body.embedded h2{color:var(--text)}body.embedded input{background:#171717;color:#fff;border:1px solid #545454;min-height:60px;font-size:22px}body.embedded .primary{background:var(--red);min-height:64px;border-color:var(--red)}body.embedded .hint,body.embedded .optional{color:var(--muted)}body.embedded .text-button,body.embedded a{color:#ff8c85}body.embedded .consent input{min-height:0}body.embedded .error{background:#301a18;color:#ffbdb8;border:1px solid #7d3833}body.embedded #recover-verification{display:none}body.embedded .success-mark{color:var(--red);background:none}
@media(max-width:800px){.brand-pane{width:29%}.home-content{width:71%;padding:24px}.brand-pane>.brand-name{font-size:13px}.menu-card{font-size:22px;padding:18px;min-height:155px}.flow-header{padding:12px 5%}.flow-content{padding:24px 5%}.gift-layout,.payment-layout{gap:28px}.qr-block{max-width:320px}.instructions li{margin:9px 0}.amount-options{gap:8px}.amount-options button{font-size:20px}.actions .primary,.actions .secondary{font-size:18px;padding:16px}.flow-header .brand-name{font-size:14px}}
@media(max-width:540px){.brand-pane{display:none}.home-content{width:100%;min-height:100dvh}.gift-layout,.payment-layout{grid-template-columns:1fr}.qr-block{max-width:280px;margin:auto}.instructions{font-size:18px}.amount-options{grid-template-columns:1fr 1fr}.actions{flex-direction:column}.flow-header .brand-name{display:none}}
@media(prefers-reduced-motion:no-preference){.menu-card:active,.primary:active,.secondary:active{transform:scale(.985);transition:transform .1s ease}}

@media(min-width:801px) and (max-height:800px){.flow-content[data-screen=gift]{padding:20px 5%}.flow-content[data-screen=gift] h1{font-size:34px}.flow-content[data-screen=gift] h2{font-size:30px}.flow-content[data-screen=gift] .success-check{width:54px;height:54px;font-size:34px}.flow-content[data-screen=gift] .gift-layout{grid-template-columns:260px 1fr;gap:48px;margin:20px auto;max-width:1020px}.flow-content[data-screen=gift] .instructions{font-size:19px}.flow-content[data-screen=gift] .instructions li{margin:10px 0}.flow-content[data-screen=gift] .password-tip{margin:12px 0}.flow-content[data-screen=gift] .actions{margin-top:16px}.flow-content[data-screen=gift] .actions button{min-height:60px;padding:14px 24px}}

img.brand-name{display:block;width:144px;height:auto;object-fit:contain}.brand-pane>img.brand-name{width:144px}@media(max-width:800px){img.brand-name,.brand-pane>img.brand-name{width:120px}}
