:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:oklch(10% 0 0);--surface:oklch(14.5% .006 260);--surface-raised:oklch(18% .01 260);--ink:oklch(96% .004 260);--muted:oklch(71% .018 260);--quiet:oklch(65% .015 260);--edge:oklch(28% .012 260);--accent:oklch(64% .16 260);--accent-hover:oklch(72% .15 260);--ready:oklch(74% .16 155);--danger:oklch(67% .19 28);--action-ink:oklch(10% 0 0);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;font-feature-settings:"cv01", "ss03";font-family:Segoe UI Variable,SF Pro Text,Helvetica Neue,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:oklch(98.5% .003 260);--surface:oklch(96% .006 260);--surface-raised:oklch(92.5% .01 260);--ink:oklch(19% .015 260);--muted:oklch(42% .022 260);--quiet:oklch(46% .018 260);--edge:oklch(84% .015 260);--accent:oklch(50% .18 260);--accent-hover:oklch(44% .17 260);--ready:oklch(43% .13 155);--danger:oklch(52% .2 28);--action-ink:oklch(98.5% .003 260)}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-width:320px;color:var(--ink);margin:0}button,input{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}button{border:0}svg{flex:none;width:18px;height:18px}h1,h2,h3,p{margin-top:0}.page-shell{width:min(720px,100% - 40px);padding-bottom:var(--space-16);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--edge);height:64px;display:flex}.brand{align-items:center;gap:var(--space-2);color:var(--ink);letter-spacing:-.02em;font-size:15px;font-weight:590;text-decoration:none;display:inline-flex}.brand-mark{color:var(--accent-hover);place-items:center;display:grid}.brand-mark svg{width:17px;height:17px}.theme-button{cursor:pointer;width:44px;min-height:44px;color:var(--quiet);background:0 0;flex:none;place-items:center;padding:0;transition:color .16s cubic-bezier(.16,1,.3,1);display:grid}.theme-button:hover{color:var(--ink)}.workspace{padding-top:var(--space-16)}.workspace-intro{margin-bottom:var(--space-8)}.workspace-intro h1{max-width:28ch;margin-bottom:var(--space-3);letter-spacing:-.035em;text-wrap:balance;font-size:32px;font-weight:590;line-height:1.15}.workspace-intro p{max-width:58ch;color:var(--muted);text-wrap:pretty;margin-bottom:0;font-size:15px;line-height:1.55}.disclaimer-notice{margin-top:var(--space-4);color:var(--accent-hover);font-size:12px;line-height:1.5}.url-form label{margin-bottom:var(--space-2);color:var(--muted);font-size:12px;font-weight:590;display:block}.url-control{align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid var(--edge);background:var(--surface);border-radius:8px;transition:border-color .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1);display:flex}.url-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent)}.url-icon{padding-left:var(--space-2);color:var(--quiet);place-items:center;display:grid}input[type=url]{min-width:0;padding:10px var(--space-1);color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}input[type=url]::placeholder{color:var(--quiet);opacity:1}input[type=url][aria-invalid=true]{color:var(--danger)}.primary-button,.qr-button,.route-button,.text-button{justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;min-height:44px;font-weight:590;text-decoration:none;transition:transform .16s cubic-bezier(.16,1,.3,1),background-color .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.primary-button{background:var(--accent);width:44px;color:var(--action-ink);white-space:nowrap;border-radius:6px;padding:0}.primary-button:hover{background:var(--accent-hover)}.primary-button:active,.qr-button:active,.route-button:active,.text-button:active{transform:translateY(1px)}.primary-button:disabled{cursor:wait;opacity:.7}.primary-button--loading svg{animation:.8s linear infinite spin}.field-hint{margin:var(--space-2) 0 0;color:var(--quiet);text-wrap:pretty;font-size:12px;line-height:1.5}.alternate-input{align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.alternate-label{color:var(--quiet);font-size:12px}.qr-dropzone{min-width:0;margin:0;position:relative}.qr-dropzone input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.qr-button{min-width:0;padding:0 var(--space-3);background:var(--surface);color:var(--muted);border-radius:6px;font-size:13px}.qr-button small{color:var(--quiet);font-size:12px;font-weight:400}.qr-dropzone:hover .qr-button,.qr-dropzone--active .qr-button{background:var(--surface-raised);color:var(--ink)}.qr-dropzone input:focus-visible+.qr-button{outline:2px solid var(--accent-hover);outline-offset:3px}.qr-dropzone--loading .qr-button{cursor:wait;opacity:.7}.status-line{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-8);padding:var(--space-4) 0;border-top:1px solid var(--edge);color:var(--muted);font-size:14px;line-height:1.5;display:flex}.status-line p{margin:0}.status-line strong{color:var(--ink);font-weight:590}.status-icon{min-width:20px;min-height:20px;color:var(--quiet);place-items:center;display:grid}.status-line--loading .status-icon{color:var(--accent-hover)}.status-line--confirmed .status-icon{color:var(--ready)}.status-line--error .status-icon,.status-line--error strong{color:var(--danger)}.status-action{margin-left:var(--space-2);vertical-align:middle}.score-result{margin-top:var(--space-8);animation:.24s cubic-bezier(.16,1,.3,1) result-in}.score-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.score-heading h2{margin-bottom:var(--space-2);letter-spacing:-.02em;text-wrap:balance;font-size:20px;font-weight:590;line-height:1.3}.score-meta{color:var(--quiet);margin:0;font-size:13px}.text-button{color:var(--accent-hover);white-space:nowrap;padding:0;font-size:13px}.text-button:hover{color:var(--ink)}.export-list{border-top:1px solid var(--edge)}.export-option{gap:var(--space-3);border-bottom:1px solid var(--edge);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;min-height:64px;display:grid}.format-mark{color:var(--quiet);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:590}.format-copy h3{letter-spacing:-.01em;margin-bottom:0;font-size:14px;font-weight:590;line-height:1.4}.format-action{justify-content:flex-end;align-items:center;gap:var(--space-4);display:flex}.availability{align-items:center;gap:var(--space-2);color:var(--quiet);white-space:nowrap;font-size:11px;display:inline-flex}.availability span{background:var(--ready);border-radius:999px;width:6px;height:6px}.availability--off span{background:var(--muted);opacity:.45}.route-button{color:var(--accent-hover);white-space:nowrap;background:0 0;padding:0;font-size:12px}.route-button:hover{color:var(--ink)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-hover);outline-offset:3px}::view-transition-old(root){animation-duration:.16s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-new(root){animation-duration:.16s;animation-timing-function:cubic-bezier(.16,1,.3,1)}@keyframes result-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@media (width<=600px){.page-shell{width:min(100% - 28px,720px)}.workspace{padding-top:var(--space-12)}.workspace-intro{margin-bottom:var(--space-6)}.workspace-intro h1{font-size:28px}.alternate-input{align-items:flex-start}.qr-button{min-height:44px;padding:var(--space-2) var(--space-3);flex-direction:column;align-items:flex-start;gap:0}.score-heading{align-items:flex-start;gap:var(--space-2);flex-direction:column}.export-option{padding:var(--space-3) 0;grid-template-columns:44px minmax(0,1fr)}.format-action{grid-column:2;justify-content:space-between}}@media (width<=360px){.format-action{align-items:flex-start;gap:var(--space-2);flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.primary-button--loading svg{opacity:.65;animation:none}::view-transition-old(root){animation-duration:.01ms}::view-transition-new(root){animation-duration:.01ms}}
