@import"https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@400;600;700&display=swap";:root{--sign-blue: #0A4D8C;--sign-red: #C8102E;--sign-yellow: #F2C400;--ink: #111111;--bg-page: #FFFFFF;--bg-surface: #F1F3F5;--bg-elevated: #FFFFFF;--bg-overlay: rgba(10, 20, 35, .5);--border-subtle: #DDE1E6;--border-default: #B9C0C8;--border-strong: #111111;--text-primary: #111111;--text-secondary: #464C53;--text-muted: #646B73;--text-disabled: #B9C0C8;--text-inverse: #FFFFFF;--accent: var(--sign-blue);--accent-hover: #083D70;--accent-light: #E5EDF6;--accent-border: #A9C0DB;--text-accent: var(--sign-blue);--success: #17773A;--success-light: #E8F4EC;--error: var(--sign-red);--error-light: #FBE9EC;--warning: #8A5A00;--warning-light: #FFF6D1;--plate-bg: #FFFFFF;--plate-text: #111111;--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Barlow", system-ui, sans-serif;--font-mono: "Barlow Condensed", "Arial Narrow", sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 48px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-full: 9999px;--shadow: 0 1px 2px rgba(10, 20, 35, .12);--shadow-lg: 0 8px 24px rgba(10, 20, 35, .16);--bg: var(--bg-page);--surface: var(--bg-surface);--surface2: var(--bg-surface);--border: var(--border-subtle);--text: var(--text-primary);--muted: var(--text-secondary);--dim: var(--text-muted);--yellow: var(--accent);--green: var(--success);--red: var(--error);--orange: var(--warning);--purple: var(--accent)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);background:var(--bg-page);color:var(--text-primary);min-height:100dvh;min-height:100vh;-webkit-font-smoothing:antialiased;overscroll-behavior:none}::selection{background:var(--sign-blue);color:#fff}input,textarea{caret-color:var(--sign-blue)}a{text-underline-offset:3px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-in{animation:fadeIn .25s ease both}.spinner{width:20px;height:20px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes mmRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes mmDrop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes mmModal{0%{opacity:0;transform:scale(.94) translateY(18px)}to{opacity:1;transform:none}}.mm-rise{animation:mmRise .55s cubic-bezier(.2,.7,.3,1) both}.mm-head{animation:mmDrop .35s cubic-bezier(.2,.7,.3,1)}.mm-modal{animation:mmModal .35s cubic-bezier(.2,.7,.3,1)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.plate{display:flex;align-items:stretch;background:#fff;border:2.5px solid var(--ink);border-radius:6px;overflow:hidden;transition:box-shadow .2s var(--ease-out)}.plate:focus-within{box-shadow:0 0 0 4px var(--accent-light),0 0 0 6px var(--sign-blue)}.plate[data-state=invalid]{border-color:var(--sign-red)}.plate-band{flex:0 0 34px;background:var(--sign-blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:6px;font:700 15px/1 var(--font-display)}.plate-band svg{margin-bottom:auto;margin-top:7px}.plate input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:700 40px/1 var(--font-display);letter-spacing:.06em;color:var(--ink);padding:12px 14px;text-transform:uppercase;font-variant-numeric:tabular-nums}.plate input::placeholder{color:var(--text-muted);font-weight:400}.plate-mark{align-self:center;padding-right:14px;display:flex}.label{font:600 13px/1.2 var(--font-body);color:var(--text-secondary);margin-bottom:10px}.sign-btn{display:flex;align-items:center;gap:12px;text-align:left;min-height:64px;padding:10px 12px;background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius-md);font:600 15px/1.2 var(--font-body);cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s,border-color .16s}.sign-btn svg{flex-shrink:0}.sign-btn:active:not(:disabled){transform:scale(.97)}@media (hover: hover){.sign-btn:hover:not(:disabled){background:var(--accent-light)}}.sign-btn:disabled{border-color:var(--border-subtle);color:var(--text-muted);cursor:not-allowed}.sign-btn:disabled svg{opacity:.45}.sign-btn[aria-pressed=true]{border-color:var(--sign-blue);background:var(--accent-light)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 18px;background:var(--sign-blue);color:#fff;border:none;border-radius:var(--radius-md);font:700 17px/1 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .16s var(--ease-out),background-color .16s}.btn:active:not(:disabled){transform:scale(.97)}@media (hover: hover){.btn:hover:not(:disabled){background:var(--accent-hover)}}.btn:disabled{background:var(--border-subtle);color:var(--text-muted);cursor:not-allowed}.link-btn{background:none;border:none;padding:6px 0;cursor:pointer;font:600 15px/1.2 var(--font-body);color:var(--text-accent);text-decoration:underline;text-decoration-thickness:1.5px}.badge{display:inline-block;padding:2px 6px;border-radius:2px;font:700 11px/1.3 var(--font-body);letter-spacing:.04em;text-transform:uppercase}.badge-urgent{background:var(--ink);color:#fff}.sign-list{border:2px solid var(--ink);border-radius:var(--radius-md);overflow:hidden}.sign-list .sign-btn{width:100%;border:none;border-radius:0;min-height:52px;justify-content:space-between}.sign-list .sign-btn+.sign-btn{border-top:1px solid var(--border-default)}.sign-list .sign-btn:active:not(:disabled){transform:none;background:var(--accent-light)}.sign-list.is-disabled{border-color:var(--border-subtle)}.sign-list.is-disabled .badge{opacity:.45}::view-transition-group(sign){animation-duration:.32s;animation-timing-function:var(--ease-out)}.badge-premium{background:var(--sign-yellow);color:var(--ink)}.field{width:100%;background:#fff;color:var(--ink);border:2px solid var(--border-default);border-radius:var(--radius-md);font:500 16px/1.4 var(--font-body);padding:12px 14px;outline:none;transition:border-color .16s}.field:focus{border-color:var(--sign-blue)}.field:disabled{background:var(--bg-surface);color:var(--text-muted)}.direction-panel{view-transition-name:sign;background:var(--sign-blue);color:#fff;border-radius:var(--radius-lg);border:2px solid #fff;outline:2px solid var(--sign-blue);padding:18px 18px 20px;width:100%}.direction-panel .route{display:flex;align-items:center;gap:12px}.direction-panel .dest{font:700 40px/1 var(--font-display);letter-spacing:.06em;font-variant-numeric:tabular-nums}.direction-panel .arrow{display:flex}.direction-panel .arrow.moving{animation:mmArrow 1s var(--ease-out) infinite}@keyframes mmArrow{0%{transform:translate(-6px);opacity:.4}to{transform:translate(4px);opacity:1}}.direction-panel .msg{margin-top:14px;font:500 15px/1.45 var(--font-body);color:#dce6f2}@keyframes mmPanelIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}.panel-in{animation:mmPanelIn .3s var(--ease-out) both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
