:root{--bg:#101418;--fg:#e8eef5;--muted:#8b98a8;--ok:#12854a;--warn:#9a6b00;--bad:#a01d1d}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.gate{text-align:center;flex-direction:column;gap:12px;width:min(360px,90vw);margin:auto;display:flex}.gate__title{margin:0;font-size:28px}.gate__hint{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.gate__input,.gate__button{border:1px solid #2b3440;border-radius:8px;padding:14px 16px;font-size:18px}.gate__input{color:var(--fg);text-align:center;letter-spacing:4px;background:#1a212a}.gate__button{color:#fff;cursor:pointer;background:#2563eb;border-color:#2563eb}.gate__error{color:#ff9d9d;margin:0;font-size:14px}.bar{color:var(--muted);border-bottom:1px solid #202832;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.bar__spacer{flex:1}.bar__badge{color:#9ec5fe}.bar__link{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.catcher{opacity:0;border:0;width:1px;height:1px;padding:0;position:fixed;top:0;left:0}.panel{flex-direction:column;flex:1;justify-content:center;padding:24px clamp(16px,4vw,56px);transition:background-color .12s linear;display:flex}.panel--idle{background:var(--bg)}.panel--ok{background:var(--ok)}.panel--warn{background:var(--warn)}.panel--error{background:var(--bad)}.idle{text-align:center;color:var(--muted)}.idle__mark{opacity:.35;font-size:64px}.idle__text{letter-spacing:2px;color:#cfd8e3;font-size:clamp(28px,5vw,52px);font-weight:700}.idle__sub{margin-top:10px;font-size:15px}.fail{text-align:center}.fail__mark{font-size:clamp(56px,9vw,104px);line-height:1}.fail__text{margin-top:8px;font-size:clamp(24px,4vw,44px);font-weight:700}.fail__sub{opacity:.9;margin-top:12px;font-size:17px}.hit__head{align-items:baseline;gap:16px;display:flex}.hit__staff{font-size:clamp(32px,6vw,68px);font-weight:800;line-height:1.05}.hit__time{opacity:.85;font-variant-numeric:tabular-nums;margin-left:auto;font-size:clamp(18px,2.4vw,28px)}.hit__warn{background:#00000047;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:17px;line-height:1.45}.hit__order{flex-wrap:wrap;align-items:baseline;gap:16px;margin-top:12px;display:flex}.hit__sn{font-variant-numeric:tabular-nums;font-size:clamp(20px,2.6vw,30px);font-weight:700}.hit__buyer{opacity:.9;font-size:18px}.items{flex-direction:column;gap:8px;max-height:38vh;margin:16px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.item{background:#00000038;border-radius:8px;align-items:baseline;gap:14px;padding:10px 14px;display:flex}.item__qty{font-variant-numeric:tabular-nums;min-width:2.6em;font-size:clamp(20px,2.4vw,28px);font-weight:800}.item__body{flex-direction:column;gap:2px;display:flex}.item__name{font-size:18px;font-weight:600;line-height:1.3}.item__variant{opacity:.9;font-size:15px}.item__sku{opacity:.75;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.hit__foot{opacity:.9;flex-wrap:wrap;gap:20px;margin-top:14px;font-size:15px;display:flex}.recent{color:var(--muted);border-top:1px solid #202832;flex-direction:column;gap:4px;padding:8px 16px 12px;font-size:13px;display:flex}.recent__row{gap:12px;display:flex}.recent__row--bad{color:#ff9d9d}.recent__time{font-variant-numeric:tabular-nums}.recent__staff{color:#cfd8e3;font-weight:600}.recent__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
