:root{--paper: #EDEBE9;--ink: #313130;--mint: #C0DFD3;--butter: #FFF698;--rose: #EED9DF;--sky: #BFD8EE;--soft: rgba(49, 49, 48, .62);--rule: rgba(49, 49, 48, .14);--faint: rgba(49, 49, 48, .07);--r: 24px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:#dedbd6;color:var(--ink);font-family:Manrope,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.45}#root{max-width:430px;margin:0 auto;min-height:100dvh;background:var(--paper);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}img{display:block}.serif{font-family:Prata,Georgia,serif;font-weight:400}.lbl{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.soft{color:var(--soft)}.btn{height:54px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--paper);border-radius:999px;font-size:15px;font-weight:600}.btn:active{transform:scale(.98)}.btn-outline{height:52px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--ink);border-radius:999px;font-size:14px;font-weight:600}.btn-outline:active{transform:scale(.98)}.card{border-radius:var(--r);background:var(--faint)}.screen{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding-bottom:96px}.arch{border-radius:172px 172px var(--r) var(--r);overflow:hidden;position:relative}.chip{border-radius:999px;padding:7px 13px;font-size:11.5px;font-weight:600}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:flex;gap:4px;padding:8px 10px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--rule);z-index:50}.tab{flex:1;height:52px;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--soft);font-size:10.5px;letter-spacing:.04em;font-weight:500}.tab.on{background:var(--mint);color:var(--ink);font-weight:600}.toast{position:fixed;left:50%;bottom:104px;transform:translate(-50%);background:var(--ink);color:var(--paper);border-radius:999px;padding:12px 22px;font-size:14px;font-weight:600;z-index:100;white-space:nowrap;animation:toast-in .25s cubic-bezier(.22,.61,.36,1)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.fade-in{animation:fade .28s cubic-bezier(.22,.61,.36,1)}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast,.fade-in{animation:none}}.chips-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.chips-row::-webkit-scrollbar{display:none}.tab.center{background:var(--faint);color:var(--ink);font-weight:600}.tab.center.on{background:var(--ink);color:var(--paper)}:root{--ease: cubic-bezier(.22,.61,.36,1);--spring: cubic-bezier(.34,1.56,.64,1)}.stagger>*{animation:rise .5s var(--ease) both}.stagger>*:nth-child(1){animation-delay:.03s}.stagger>*:nth-child(2){animation-delay:.08s}.stagger>*:nth-child(3){animation-delay:.13s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.23s}.stagger>*:nth-child(6){animation-delay:.28s}.stagger>*:nth-child(7){animation-delay:.33s}.stagger>*:nth-child(8){animation-delay:.38s}.stagger>*:nth-child(9){animation-delay:.43s}.stagger>*:nth-child(n+10){animation-delay:.48s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.title-in{animation:title .6s var(--ease) both}@keyframes title{0%{opacity:0;transform:translateY(10px);letter-spacing:.02em}to{opacity:1;transform:none;letter-spacing:-.02em}}.sq-draw path{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.1s var(--ease) .15s forwards}@keyframes draw{to{stroke-dashoffset:0}}.arch{animation:arch-open .7s var(--ease) both}.arch img{animation:breathe 9s ease-in-out infinite alternate;transform-origin:50% 60%}@keyframes arch-open{0%{opacity:0;transform:scale(.94);clip-path:inset(18% 0 0 0 round 172px 172px 24px 24px)}to{opacity:1;transform:none;clip-path:inset(0 round 172px 172px 24px 24px)}}@keyframes breathe{0%{transform:scale(1)}to{transform:scale(1.06)}}.pill-in{animation:pill .55s var(--spring) .35s both}@keyframes pill{0%{opacity:0;transform:translate(-50%,18px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.grow{transform-origin:left;animation:grow .6s var(--ease) both}@keyframes grow{0%{transform:scaleX(0)}}.ring-anim{transition:stroke-dasharray 1.1s var(--ease)}.pop{animation:pop .4s var(--spring)}@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}.seat-on{animation:seat-glow 2.2s ease-in-out infinite}@keyframes seat-glow{0%,to{box-shadow:0 0 #c0dfd3e6}50%{box-shadow:0 0 0 9px #c0dfd300}}.check-circle{animation:pop .6s var(--spring) both}.check-draw path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw .5s var(--ease) .35s forwards}.tab.on svg{animation:tab-bounce .45s var(--spring)}@keyframes tab-bounce{0%{transform:translateY(0)}40%{transform:translateY(-5px) scale(1.12)}to{transform:none}}.tab{transition:background .25s var(--ease),color .25s var(--ease)}.card,.chip,.btn,.btn-outline,.seat{transition:transform .15s var(--ease),background .2s var(--ease)}button.card:active,.seat:active{transform:scale(.97)}.floor{perspective:640px}.floor-grid{transform:rotateX(34deg);transform-style:preserve-3d}.seat{transition:transform .15s var(--ease),background .2s var(--ease),box-shadow .2s}@media(prefers-reduced-motion:reduce){.stagger>*,.title-in,.arch,.arch img,.pill-in,.grow,.pop,.seat-on,.check-circle,.tab.on svg{animation:none!important}.sq-draw path,.check-draw path{stroke-dashoffset:0!important;animation:none!important}}.in{width:100%;padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--rule, rgba(49,49,48,.22));border-radius:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.in:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #3131301a}.lbl>.in{margin-top:6px;display:block}.link{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
