:root{--paper: #1D1D1F;--paper-raised: #29292C;--paper-sunken: #161618;--ink: #F2F2F0;--ink-dim: #9B9BA3;--hairline: #FFFFFF1F;--hairline-strong: #FFFFFF38;--accent: #C8102E;--accent-soft: #3A171C;--accent-ink: #FF6B7A;--accent-ring: #c8102e55;--success: #34C98F;--success-soft: #16302A;--danger: #FF6B61;--danger-soft: #3A1E1B;--font-display: "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-wordmark: "DM Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}button,input,select{font-family:inherit}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:24px 20px calc(env(safe-area-inset-bottom,0px) + 24px)}.shell{width:100%;max-width:460px;display:flex;flex-direction:column;gap:22px;flex:1}.brandmark{display:flex;align-items:center;gap:10px;padding-top:8px}.brandmark .tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.brandmark-hero{flex-direction:column;align-items:center;text-align:center;gap:10px;padding:12px 0 4px}.panel{background:var(--paper-raised);border:1px solid var(--hairline);border-radius:20px;padding:22px}.panel+.panel{margin-top:4px}h1.title{font-family:var(--font-display);font-weight:500;font-size:28px;line-height:1.15;margin:0 0 6px;color:var(--ink)}p.subtitle{color:var(--ink-dim);font-size:14.5px;line-height:1.5;margin:0 0 18px}label.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}label.field span{font-size:12px;letter-spacing:.04em;color:var(--ink-dim);text-transform:uppercase}input.control,select.control{background:var(--paper);border:1px solid var(--hairline-strong);color:var(--ink);border-radius:12px;padding:13px 14px;font-size:15px;transition:border-color .16s ease}input.control:focus,select.control:focus{border-color:var(--accent)}input.control::placeholder{color:#9a9da3}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:13px;padding:14px 18px;font-size:15px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .12s ease,filter .16s ease,opacity .16s ease,background .16s ease}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{filter:brightness(1.2)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--hairline-strong)}.btn-ghost:hover{border-color:var(--ink)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{filter:brightness(1.06)}.btn-block{width:100%}.error-text{color:var(--danger);font-size:13px;margin:-6px 0 14px}.link-row{text-align:center;font-size:13.5px;color:var(--ink-dim)}.link-row button{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0;font-size:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 2px}.topbar .who{font-size:12px;color:var(--ink-dim)}.topbar .who b{color:var(--ink)}.icon-btn{background:none;border:1px solid var(--hairline-strong);color:var(--ink-dim);border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px}.icon-btn:hover{border-color:var(--ink);color:var(--ink)}.tabbar{display:flex;gap:6px;background:var(--paper-sunken);border:1px solid var(--hairline);border-radius:14px;padding:5px}.tabbar button{flex:1;background:transparent;border:none;color:var(--ink-dim);padding:10px 8px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .16s ease,color .16s ease}.tabbar button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014}.date-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:4px}.date-chip{flex:0 0 auto;background:var(--paper);border:1px solid var(--hairline-strong);border-radius:12px;padding:9px 14px;font-size:13px;color:var(--ink-dim);cursor:pointer;text-align:center;min-width:62px}.date-chip .d{display:block;font-family:var(--font-mono);font-size:16px;color:var(--ink)}.date-chip.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.date-chip.active .d{color:var(--paper)}.slot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.slot{border-radius:14px;border:1px solid var(--hairline-strong);padding:13px 12px;text-align:left;cursor:pointer;background:var(--paper);transition:border-color .14s ease,background .14s ease}.slot .time{font-family:var(--font-mono);font-size:15px;color:var(--ink);display:block}.slot .status{font-size:11.5px;color:var(--ink-dim);margin-top:3px;display:block}.slot.free:hover{border-color:var(--accent)}.slot.taken{cursor:not-allowed;opacity:.6;background:var(--paper-sunken)}.slot.taken .status{color:var(--danger)}.slot.mine{border-color:var(--accent);background:var(--accent-soft)}.slot.mine .status{color:var(--accent-ink)}.booking-card{border-radius:16px;border:1px solid var(--hairline);padding:16px;background:var(--paper);margin-top:12px}.booking-card .row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--hairline);font-size:14px}.booking-card .row:last-child{border-bottom:none}.booking-card .row span:first-child{color:var(--ink-dim)}.booking-card .row span:last-child{font-family:var(--font-mono);text-align:right}.arc-wrap{position:relative;display:flex;flex-direction:column;align-items:center;padding:12px 6px 6px}.eta-figure{font-family:var(--font-mono);font-size:44px;font-weight:600;color:var(--accent);letter-spacing:-.01em}.eta-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-top:2px}.stops-track{display:flex;align-items:center;width:100%;margin-top:22px;padding:0 4px}.stop-node{width:30px;height:30px;border-radius:50%;border:2px solid var(--hairline-strong);background:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;color:var(--ink-dim);flex:0 0 auto;z-index:1}.stop-node.done{border-color:var(--success);color:var(--success);background:var(--success-soft)}.stop-node.current{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft);box-shadow:0 0 0 4px var(--accent-ring)}.stop-connector{flex:1 1 auto;height:2px;background:var(--hairline-strong);position:relative}.stop-connector.done{background:var(--success)}.stop-meta{display:flex;justify-content:space-between;margin-top:10px}.stop-meta .label{font-size:11px;color:var(--ink-dim);max-width:90px;text-align:center}.stop-meta .label:first-child{text-align:left}.stop-meta .label:last-child{text-align:right}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--success);background:var(--success-soft);border:1px solid #1f9d6b33;border-radius:20px;padding:5px 11px;margin-top:16px}.status-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #1f9d6b33}.empty-state{text-align:center;padding:30px 10px;color:var(--ink-dim);font-size:14px}.section-label{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 10px 2px}.marketing{width:100%;min-height:100dvh;background:var(--paper)}.marketing-nav{width:100%;max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px 20px 0}.marketing-nav .btn{padding:10px 18px;font-size:13.5px}.hero{width:100%;max-width:760px;margin:0 auto;padding:60px 20px 20px;text-align:center}.hero-inner{display:flex;flex-direction:column;align-items:center}.hero-visual{display:none}.hero .eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);background:var(--paper-raised);border:1px solid var(--hairline);border-radius:20px;padding:6px 14px;margin-bottom:22px}.hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,6vw,46px);line-height:1.16;margin:0 0 18px;color:var(--ink)}.hero p.lead{font-size:16.5px;line-height:1.65;color:var(--ink-dim);max-width:560px;margin:0 auto 30px}.hero .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero .cta-row .btn{padding:15px 26px}.section{width:100%;max-width:760px;margin:0 auto;padding:40px 20px}.section h2{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,4vw,28px);margin:0 0 14px;color:var(--ink);text-align:center}.section p.section-lead{font-size:15px;line-height:1.7;color:var(--ink-dim);max-width:620px;margin:0 auto 34px;text-align:center}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.feature-card{background:var(--paper-raised);border:1px solid var(--hairline);border-radius:18px;padding:22px}.feature-card .icon{width:40px;height:40px;border-radius:11px;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.feature-card h3{font-size:15.5px;margin:0 0 8px;color:var(--ink)}.feature-card p{font-size:13.5px;line-height:1.6;color:var(--ink-dim);margin:0}.audience-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.audience-chip{font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--hairline-strong);border-radius:20px;padding:8px 16px}.marketing-footer{width:100%;max-width:760px;margin:0 auto;padding:30px 20px calc(env(safe-area-inset-bottom,0px) + 30px);text-align:center;font-size:12px;color:var(--ink-dim);border-top:1px solid var(--hairline)}.install-steps{display:flex;flex-direction:column;gap:10px}.install-step{display:flex;gap:14px;background:var(--paper);border:1px solid var(--hairline);border-radius:16px;padding:16px}.install-step .num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;font-family:var(--font-mono)}.install-step p{margin:0;font-size:14px;line-height:1.55;color:var(--ink)}.install-step p b{color:var(--ink)}.platform-tabbar{display:flex;gap:6px;background:var(--paper-sunken);border:1px solid var(--hairline);border-radius:14px;padding:5px;margin-bottom:14px}.platform-tabbar button{flex:1;background:transparent;border:none;color:var(--ink-dim);padding:10px 8px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer}.platform-tabbar button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.role-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;text-align:left;background:var(--paper);border:1px solid var(--hairline-strong);border-radius:16px;padding:18px 16px;cursor:pointer;transition:border-color .14s ease,background .14s ease;text-decoration:none;font:inherit}.role-card:hover{border-color:var(--accent);background:var(--accent-soft)}.role-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.role-card.selected .role-title{color:var(--accent-ink)}.role-card .role-title{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:5px}.role-card .role-desc{font-size:12px;line-height:1.5;color:var(--ink-dim)}@media (max-width: 420px){.role-grid{grid-template-columns:1fr}}.mock-frame{width:100%;max-width:320px;background:var(--paper);border:1px solid var(--hairline-strong);border-radius:22px;box-shadow:0 24px 60px -20px #16181c33;overflow:hidden;transform:rotate(-1.5deg)}.mock-topbar{display:flex;gap:6px;padding:14px 16px;border-bottom:1px solid var(--hairline)}.mock-dot{width:8px;height:8px;border-radius:50%;background:var(--hairline-strong)}.mock-body{padding:18px}.mock-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 12px}.mock-slot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.mock-slot{border-radius:12px;border:1px solid var(--hairline-strong);background:var(--paper);padding:10px;font-family:var(--font-mono);font-size:12px;color:var(--ink)}.mock-slot span{display:block;font-family:var(--font-body);font-size:10.5px;color:var(--ink-dim);margin-top:3px}.mock-slot.mine{border-color:var(--accent);background:var(--accent-soft)}.mock-slot.mine span{color:var(--accent-ink)}.mock-slot.taken{opacity:.55;background:var(--paper-sunken)}.mock-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--accent-ink);background:var(--accent-soft);border-radius:20px;padding:7px 13px}.mock-status .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}@media (min-width: 900px){.marketing-nav,.hero,.section,.marketing-footer{max-width:1160px;padding-left:48px;padding-right:48px}.hero{padding-top:84px;padding-bottom:40px}.hero-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:64px;text-align:left}.hero-copy{flex:1 1 480px}.hero .eyebrow,.hero p.lead{margin-left:0;margin-right:0}.hero .cta-row{justify-content:flex-start}.hero-visual{display:flex;justify-content:center;flex:1 1 360px}.feature-grid{grid-template-columns:repeat(3,1fr);gap:20px}.section:not(.section-narrow) p.section-lead{margin-left:0;margin-right:0;text-align:left}.section:not(.section-narrow) h2{text-align:left}}@media (min-width: 1280px){.marketing-nav,.hero,.section,.marketing-footer{max-width:1320px}}
