:root{--font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--ink:#1a1a1a;--ink-soft:#444;--ink-mute:#8a8f94;--ink-faint:#b7bcc1;--surface:#fff;--surface-app:#f4f5f6;--surface-muted:#f4f8fc;--surface-card:#eef1f4;--border:#00000014;--border-soft:#d9d9d980;--accent:#000;--accent-soft:#6e889a;--danger:#c66f6f;--success:#5aa63f;--radius-xl:24px;--radius-lg:16px;--radius-card:12px;--radius-md:14px;--radius-sm:10px;--radius-pill:999px;--shadow-card:0 1px 2px #1014180a;--shadow-pop:0 12px 32px #10141829;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--fs-display:48px;--fs-h1:28px;--fs-h2:24px;--fs-h3:20px;--fs-title:18px;--fs-body:14px;--fs-label:14px;--fs-small:14px;--fs-micro:14px;--fw-bold:600;--fw-semibold:600;--fw-medium:600}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff}#root{min-height:100vh}button,input,textarea{font-family:inherit}button{cursor:pointer;color:inherit;background:0 0;border:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::-webkit-scrollbar{display:none}.app-shell{justify-content:center;align-items:center;height:100dvh;display:flex}.phone{background:var(--surface);flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:clip}.phone-canvas{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}@media (width>=640px){.app-shell{background:#e7e9eb;padding:32px 16px}.phone{aspect-ratio:390/844;width:auto;max-width:100%;height:min(844px,100vh - 64px);box-shadow:var(--shadow-pop);border:8px solid #0b0b0c;border-radius:55px}.phone-canvas{width:390px;height:844px;transform:scale(var(--phone-scale,1));transform-origin:0 0;flex:none}}.phone-scroll{flex-direction:column;flex:1;width:100%;display:flex;overflow:hidden auto}.phone-fixed{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:clip}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}@keyframes timeline-pulse{0%{opacity:.7;transform:scale(.8)}to{opacity:0;transform:scale(4.5)}}.timeline-pulse{background:#0006;border-radius:50%;width:8px;height:8px;animation:1.6s cubic-bezier(.2,.6,.4,1) infinite timeline-pulse;position:absolute}.timeline-pulse--white{background:#ffffffe6}.btn-scale{transition:transform .1s}.btn-scale:active{transform:scale(.95)}.suggested-card{transition:background-color .15s,transform .1s}.suggested-card:active{background-color:#0000000a;transform:scale(.96)}.scroll-body-outer{flex-direction:column;flex:1;min-height:0;display:flex;overflow:clip}.scroll-body{flex:1;min-height:0;overflow:hidden auto}.status-bar{flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px 4px;font-size:15px;font-weight:600;display:flex}.status-bar.on-photo{color:#fff}@media (width<=639px){.status-bar{display:none}}.screen-pad{padding:20px 24px 0}.section-title{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:12px;font-weight:600}.text-display{font-size:var(--fs-display);font-weight:var(--fw-bold);margin:0}.text-h1{font-size:var(--fs-h1);font-weight:var(--fw-bold);margin:0}.text-h2{font-size:var(--fs-h2);font-weight:var(--fw-bold);margin:0}.text-h3{font-size:var(--fs-h3);font-weight:var(--fw-bold);margin:0}.text-title{font-size:var(--fs-title);font-weight:var(--fw-bold);margin:0}.text-body{font-size:var(--fs-body);font-weight:var(--fw-semibold);margin:0}.text-label{font-size:var(--fs-label);font-weight:var(--fw-semibold);margin:0}.text-small{font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--ink-mute);margin:0}.text-micro{font-size:var(--fs-micro);font-weight:var(--fw-medium);color:var(--ink-mute);margin:0}.pill-nav{border-radius:var(--radius-pill);background:var(--surface-muted);gap:6px;padding:6px;display:flex}.pill-nav.on-photo{-webkit-backdrop-filter:blur(3px);background:#00000021;border:.5px solid #ffffff21}.pill-nav button{border-radius:var(--radius-pill);min-width:0;color:var(--ink-mute);white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.pill-nav button span{text-overflow:ellipsis;overflow:hidden}.pill-nav button svg{flex-shrink:0}.pill-nav.on-photo button{color:#ffffffd9}.pill-nav button.active{background:var(--accent);color:#fff}.pill-nav.on-photo button.active{color:#fff;background:#ffffff1f;border:.5px solid #ffffff1c}.btn{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:600;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-ghost{background:var(--surface-card);color:var(--ink-soft)}.btn-outline{border:1px solid var(--border);color:var(--ink-soft);background:0 0}.btn-sm{padding:6px 12px;font-size:13px}.btn-dark-sm{border-radius:var(--radius-pill);background:var(--accent);color:#fff;padding:6px 14px;font-size:13px;font-weight:600}.icon-btn{border-radius:var(--radius-pill);width:38px;height:38px;color:var(--ink-soft);background:#f1f1f1;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn.on-photo{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000002e}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.card-muted{background:var(--surface-card);border-radius:var(--radius-md);padding:16px}.avatar{color:#fff;text-align:center;border:.7px solid #ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:flex}.top-bar{padding:8px 24px 0;padding-top:max(8px, env(safe-area-inset-top,0px));flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.top-bar h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:18px;font-weight:600;overflow:hidden}.fab-btn{right:24px;bottom:max(16px, calc(env(safe-area-inset-bottom,0px) + 8px));z-index:6;border-radius:var(--radius-pill);color:#fff;background:#000;align-items:center;gap:8px;padding:16px 22px;font-size:14px;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 4px 10px #00000026}.bottom-bar{z-index:6;padding:12px 24px;padding-bottom:max(10px, calc(env(safe-area-inset-bottom,0px) + 4px));border-top:1px solid var(--border);background:#fff;flex-shrink:0;gap:12px;margin-top:auto;display:flex;position:sticky;bottom:0}.row-between{justify-content:space-between;align-items:center;display:flex}.list-row{border:1px solid var(--border-soft);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px;display:flex}.list-row+.list-row{margin-top:8px}.field label{color:var(--ink-mute);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field select{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--ink);background:0 0;padding:12px 0;font-size:16px;font-weight:600}.field input:focus,.field select:focus{border-bottom-color:var(--accent);outline:none}.input-box{box-sizing:border-box;width:100%;height:48px;color:var(--ink);background:#fff;border:1px solid #0000001a;border-radius:16px;align-items:center;gap:8px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:400;display:flex}.input-box:focus{border-color:var(--accent);outline:none}.input-box::placeholder{color:var(--ink-mute);font-weight:500}.poll-underline-input::placeholder{color:#00000047}.toast{color:var(--success);border-radius:var(--radius-pill);background:#5aa63f1f;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.sheet-overlay{z-index:50;background:#0a0c0e73;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:24px 24px 0 0;width:100%;max-width:402px;padding:24px 24px 32px;animation:.2s slide-up}.sheet-overlay-right{justify-content:flex-end;align-items:stretch}.sheet-right{background:var(--surface);width:86%;max-width:360px;height:100%;padding:24px 24px 32px;padding-top:max(24px, calc(env(safe-area-inset-top,0px) + 20px));border-radius:24px 0 0 24px;animation:.2s slide-left;overflow-y:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-left{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-route{animation:.18s fade-in}.ticket-divider{border-top:1.5px dashed #ffffff59;width:calc(100% + 40px);height:1px;margin-left:-20px;position:relative}.ticket-divider:before,.ticket-divider:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translateY(-50%)}.ticket-divider:before{left:-8px}.ticket-divider:after{right:-8px}
