*{box-sizing:border-box}:root{color:#f7fff8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#07110f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}[hidden]{display:none!important}.app-shell{background:#07110f;min-width:320px;position:fixed;inset:0;overflow:hidden}.camera,.capture-canvas{position:absolute;inset:0}.camera{object-fit:cover;background:#07110f;width:100%;height:100%}.capture-canvas{display:none}.shade{pointer-events:none;position:absolute;left:0;right:0}.shade.top{background:linear-gradient(#040a09b3,#040a0900);height:28%;top:0}.shade.bottom{background:linear-gradient(#040a0900,#040a09c2);height:34%;bottom:0}.toolbar,.bottom-bar,.result-panel{z-index:3;position:absolute}.toolbar{top:max(14px, env(safe-area-inset-top));grid-template-columns:minmax(132px,1fr) 42px auto auto;align-items:center;gap:8px;display:grid;left:14px;right:14px}.control-button,.status-pill,.scan-button{color:#f7fff8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05120fb8;border:1px solid #ffffff38;border-radius:8px;min-height:42px;box-shadow:0 10px 28px #0000002e}.control-button,.scan-button{cursor:pointer;padding:0 14px}.control-button:active,.scan-button:active,.control-button.is-active{background:#147a5ec7}.icon-button{min-width:42px;padding:0;font-size:1.3rem;line-height:1}.icon-button.is-loading{color:#c6f6dc}.scan-button:disabled{cursor:wait;opacity:.66}.status-pill{color:#c6f6dc;white-space:nowrap;justify-content:center;align-items:center;min-width:104px;padding:0 10px;font-size:.82rem;display:inline-flex}.scan-frame{z-index:2;pointer-events:none;border:2px dashed #62ffb0f5;border-radius:8px;width:min(78vw,560px);height:clamp(72px,12vh,108px);position:absolute;top:39%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #0000002e,inset 0 0 28px #62ffb014}.scan-frame:before,.scan-frame:after{content:"";background:#62ffb0f5;width:24px;height:2px;position:absolute;top:50%}.scan-frame:before{left:10px}.scan-frame:after{right:10px}.result-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#040f0dc7;border:1px solid #ffffff2e;border-radius:8px;width:min(82vw,560px);min-height:76px;padding:14px 16px;top:calc(39% + clamp(72px,12vh,108px)/2 + 14px);left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0000003d}.result-panel.has-result{background:#032319d1;border-color:#62ffb08c}.result-panel.is-scanning{outline:1px solid #62ffb05c}.result-main{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.2rem,5vw,2rem);font-weight:800;line-height:1.1;overflow:hidden}.result-sub{color:#b9d8ca;text-overflow:ellipsis;white-space:nowrap;min-height:18px;margin-top:6px;font-size:.84rem;line-height:1.25;overflow:hidden}.bottom-bar{right:14px;bottom:max(14px, env(safe-area-inset-bottom));grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid;left:14px}.status-text{color:#d7f8e7;text-align:right;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 8px #0006;min-width:0;font-size:.9rem;overflow:hidden}.permission-panel{z-index:5;background:#040a09d1;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.permission-box{background:#081b17f0;border:1px solid #ffffff2e;border-radius:8px;width:min(92vw,360px);padding:22px}.permission-box h1{margin:0 0 8px;font-size:1.4rem}.permission-box p{color:#c9ded3;margin:0 0 18px;line-height:1.4}.settings-dialog{color:#f7fff8;background:#0b211c;border:1px solid #ffffff29;border-radius:8px;width:min(92vw,340px);padding:0}.settings-dialog::backdrop{background:#0000008c}.settings-form{gap:12px;padding:18px;display:grid}.settings-form label{color:#c6f6dc;font-weight:700}.settings-form input{color:#f7fff8;background:#07110f;border:1px solid #ffffff2e;border-radius:8px;width:100%;min-height:44px;padding:8px 10px}.settings-form menu{grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 0;padding:0;display:grid}.settings-form menu button{background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;min-height:42px}@media (max-width:390px){.toolbar{grid-template-columns:1fr 42px auto}.status-pill{grid-column:1/-1;justify-self:end;min-height:34px}.result-main{font-size:1.16rem}}
