:root{color-scheme:light;--brand: #ff8800;--brand-strong: #e97600;--on-brand: #201400;--brand-tint: #fff3e2;--brand-ring: rgba(255, 136, 0, .32);--page: #f3f4f7;--surface: #ffffff;--surface-2: #f6f7f9;--ink: #14171c;--ink-2: #5b6472;--line: #e7e9ee;--ok: #12a150;--bad: #e5484d;--shadow: 0 12px 32px rgba(20, 23, 28, .09);--shadow-sm: 0 2px 10px rgba(20, 23, 28, .05);--sheet-shadow: 0 -10px 44px rgba(20, 23, 28, .08);--radius: 16px;--radius-lg: 22px;--maxw: 460px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, "Roboto Mono", Menlo, monospace}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--brand-tint: rgba(255, 136, 0, .15);--page: #0e1013;--surface: #171a20;--surface-2: #1e222a;--ink: #f2f4f7;--ink-2: #9aa2ad;--line: #272c34;--shadow: 0 14px 36px rgba(0, 0, 0, .5);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .32);--sheet-shadow: 0 -12px 44px rgba(0, 0, 0, .5)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100dvh}html{background:var(--page)}body{background:var(--page);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;color:inherit}img{display:block}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.shell,.stage{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:0}.brandbar{width:100%;max-width:var(--maxw);display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 18px 10px}.brandbar__id{display:flex;align-items:center;gap:9px}.brandbar__mark{width:26px;height:26px}.brandbar__name{font-weight:800;font-size:16px;letter-spacing:.14em}.lang{position:relative}.lang__btn{width:40px;height:30px;border:1px solid var(--line);background:var(--surface);border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer}.flag{width:22px;height:16px;border-radius:3px;object-fit:cover}.lang__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px;min-width:174px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px}.lang__item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:none;background:transparent;border-radius:9px;cursor:pointer;font-size:14px;text-align:left}.lang__item:hover{background:var(--surface-2)}.lang__item.is-active{background:var(--brand-tint);color:var(--brand-strong);font-weight:600}.hero{width:100%;max-width:var(--maxw);display:flex;justify-content:center;padding:8px 16px 30px;animation:fade .3s ease both}.ring{position:relative}.ring svg{display:block}.ring__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:0 20px}.ring__cap{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.ring__amount{font-size:32px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.05}.ring__time{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.ring__time.low{color:var(--bad)}.sheet{position:relative;width:100%;max-width:var(--maxw);flex:1;margin-top:-16px;background:var(--surface);border:1px solid var(--line);border-bottom:none;border-radius:26px 26px 0 0;box-shadow:var(--sheet-shadow);padding:12px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:sheet-up .4s cubic-bezier(.16,1,.3,1) both}.sheet__grip{width:40px;height:4px;border-radius:999px;background:var(--line);align-self:center;margin:2px 0 6px}.sheet__cta{margin-top:auto}.reqcard{position:relative;width:100%;text-align:left;display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);background:var(--surface-2);border-radius:16px;cursor:pointer;transition:border-color .15s,background .15s,transform .05s}.reqcard:hover{border-color:var(--brand-ring)}.reqcard:active{transform:scale(.99)}.reqcard.is-copied{border-color:color-mix(in oklab,var(--ok) 45%,var(--line));background:color-mix(in oklab,var(--ok) 8%,var(--surface))}.reqcard__icon{width:40px;height:40px;flex:none;border-radius:12px;background:var(--brand-tint);color:var(--brand-strong);display:flex;align-items:center;justify-content:center}.reqcard.is-copied .reqcard__icon{background:color-mix(in oklab,var(--ok) 16%,var(--surface));color:var(--ok)}.reqcard__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.reqcard__label{font-size:12px;color:var(--ink-2)}.reqcard__value{font-family:var(--mono);font-size:16px;font-weight:600;line-height:1.2;word-break:break-word}.reqcard__hint{font-size:11px;color:var(--ink-2)}.reqcard.is-copied .reqcard__hint{color:var(--ok)}.reqcard__copy{width:36px;height:36px;flex:none;border-radius:10px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);display:flex;align-items:center;justify-content:center}.reqcard.is-copied .reqcard__copy{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 45%,var(--line))}.meta{display:flex;gap:10px}.meta__item{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.meta__logo{width:32px;height:32px;flex:none;border-radius:9px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}.meta__logo img{width:20px;height:20px}.meta__body{min-width:0;display:flex;flex-direction:column;gap:1px}.meta__label{font-size:11px;color:var(--ink-2)}.meta__value{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail{display:flex;flex-direction:column;gap:10px}.rail__title{margin:0 2px;font-size:13px;color:var(--ink-2)}.rail__track{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.rail__track::-webkit-scrollbar{display:none}.railapp{flex:none;width:64px;display:flex;flex-direction:column;align-items:center;gap:8px;border:none;background:transparent;padding:0;cursor:pointer}.railapp__logo{width:58px;height:58px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .06s,border-color .15s}.railapp:hover .railapp__logo{border-color:var(--brand-ring)}.railapp:active .railapp__logo{transform:scale(.94)}.railapp__logo img{width:32px;height:32px}.railapp__name{font-size:12px;font-weight:600;white-space:nowrap}.only-touch{display:none}@media(max-width:640px),(pointer:coarse){.only-touch{display:flex}}.qrhead{display:flex;gap:12px;align-items:flex-start}.qrhead__icon{width:36px;height:36px;flex:none;border-radius:10px;background:var(--brand-tint);color:var(--brand-strong);display:flex;align-items:center;justify-content:center}.qrhead__title{margin:0 0 2px;font-weight:700;font-size:15px}.qrhead__hint{margin:0;font-size:13px;color:var(--ink-2);line-height:1.4}.qr{display:flex;justify-content:center}.qr__frame{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.qr__frame img{width:220px;height:220px}.btn{width:100%;height:54px;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .05s,background .15s,opacity .15s}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--brand);color:var(--on-brand);box-shadow:0 8px 22px var(--brand-ring)}.btn--primary:hover:not(:disabled){background:var(--brand-strong)}.btn--ghost{height:48px;font-size:15px;background:transparent;color:var(--ink-2);border:1px solid var(--line)}.copy{width:40px;height:40px;flex:none;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .05s}.copy:active{transform:scale(.94)}.copy--done{background:color-mix(in oklab,var(--ok) 14%,var(--surface));border-color:color-mix(in oklab,var(--ok) 45%,var(--line));color:var(--ok)}.toast{position:fixed;left:50%;top:18px;transform:translate(-50%);z-index:100;background:var(--ink);color:var(--surface);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:var(--shadow);animation:toast-in .2s ease}.state{flex:1;width:100%;max-width:var(--maxw);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:0 24px 12vh;animation:fade .3s ease both}.state__title{margin:0;font-size:22px;font-weight:700}.state__note{margin:0;max-width:300px;color:var(--ink-2);font-size:14px;line-height:1.5}.badge{position:relative;width:132px;height:132px;display:flex;align-items:center;justify-content:center}.badge__track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:4px solid var(--line)}.badge--ok .badge__track{border-color:color-mix(in oklab,var(--ok) 45%,var(--line))}.badge--bad .badge__track{border-color:color-mix(in oklab,var(--bad) 45%,var(--line))}.badge__spin{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:4px solid transparent;border-top-color:var(--brand);animation:spin 1s linear infinite}.badge__icon{display:flex}.badge--busy .badge__icon{color:var(--brand)}.badge--ok .badge__icon{color:var(--ok)}.badge--bad .badge__icon{color:var(--bad)}.pulse{width:52px;height:52px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:spin 1s linear infinite}.openring{position:relative;width:132px;height:132px}.openring__track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:4px solid var(--line)}.openring__arc{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:4px solid transparent;border-top-color:var(--brand);opacity:0}.openring.is-opening .openring__arc{opacity:1;animation:spin 1s linear infinite}.openring__chip{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.openring__chip img{width:52px;height:52px}.open__head{display:flex;flex-direction:column;gap:6px;text-align:center;padding:2px 6px;animation:statusfade .3s ease}.open__title{margin:0;font-size:21px;font-weight:700}.open__note{margin:0 auto;max-width:300px;color:var(--ink-2);font-size:14px;line-height:1.5}.open__actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.open__loading{display:flex;justify-content:center;padding:20px 0}.handoff__debug{position:fixed;left:0;right:0;bottom:0;z-index:99;margin:0;padding:10px 12px;max-height:42vh;overflow:auto;background:#000000e0;color:#7cfc9b;font:11px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-all}.manual{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.manual__toggle{width:100%;border:none;background:transparent;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;font-weight:600}.manual__chev{display:flex;color:var(--ink-2);transition:transform .25s}.manual__chev.is-open{transform:rotate(180deg)}.manual__body{max-height:0;overflow:hidden;transition:max-height .28s ease}.manual__body.is-open{max-height:560px}.manual__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-top:1px solid var(--line);text-align:left}.manual__field{min-width:0}.manual__note{margin:10px 16px 14px;font-size:12.5px;color:var(--ink-2);line-height:1.45;text-align:left}.field__label{margin:0 0 3px;font-size:12px;color:var(--ink-2)}.field__value{margin:0;font-size:15px;font-weight:600;word-break:break-word}.pop{animation:pop .5s cubic-bezier(.16,1,.3,1) both}.rise{animation:rise .4s ease both}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes statusfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
