@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff")}:root{--stu-coral: #FF574B;--stu-coral-strong: #C7443B;--stu-coral-soft: #FFE9E6;--stu-coral-tint: #FFF1EE;--stu-coral-border: #FFD5CE;--stu-coral-ink: #C9332A;--stu-graphite: #202321;--stu-lime: #D2FF32;--stu-lime-soft: #F2FFD9;--stu-lime-ink: #3F5B0E;--stu-lime-dot: #7FA81E;--stu-cream: #F7F5EF;--stu-surface: #FFFFFF;--stu-surface-muted: #FBFAF6;--stu-surface-sunken: #F2EFE6;--stu-border: #E4E1D8;--stu-divider: #F0EDE4;--stu-ink: #202321;--stu-ink-secondary: #6E726B;--stu-ink-muted: #74786F;--stu-ink-inverse: #F7F5EF;--stu-ink-inverse-2: rgba(247, 245, 239, .62);--stu-status-ok: #4E9A5F;--stu-status-warn: #E8B33A;--stu-status-error: #C9332A;--stu-font: "IBM Plex Sans", system-ui, "Segoe UI", sans-serif;--stu-font-mono: "IBM Plex Mono", ui-monospace, monospace;--stu-text-page: 18px;--stu-text-section: 14.5px;--stu-text-body: 13.5px;--stu-text-meta: 12.5px;--stu-text-micro: 11.5px;--stu-text-metric: 27px;--stu-sidebar-w: 248px;--stu-topbar-h: 72px;--stu-content-pad-x: 30px;--stu-content-pad-y: 24px;--stu-radius-card: 13px;--stu-radius-control: 9px;--stu-radius-input: 10px;--stu-radius-modal: 16px;--stu-radius-pill: 999px;--stu-control-h-sm: 34px;--stu-control-h-md: 38px;--stu-control-h-lg: 44px;--stu-row-pad-y: 14px;--stu-gap-card: 14px;--stu-shadow-modal: 0 24px 60px rgba(32, 35, 33, .28);--stu-shadow-toast: 0 12px 32px rgba(32, 35, 33, .3);--stu-overlay: rgba(32, 35, 33, .38);--stu-overlay-drawer: rgba(32, 35, 33, .32)}:root{--stu-chart-primary: #C7443B;--stu-chart-neutral: #6E726B;--stu-heat-1: #FBF3EF;--stu-heat-2: #FFD9D3;--stu-heat-3: #FFB0A6;--stu-heat-4: #FF7F72;--stu-heat-5: #E0402F}:root{--kassa-ink-2: #62665f}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--stu-font);background:var(--stu-cream);color:var(--stu-ink);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}h1{font-size:22px;font-weight:600;margin:0;line-height:1.25}p{margin:0}button{font:inherit}.mono{font-family:var(--stu-font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--kassa-ink-2)}.center{text-align:center}.screen{min-height:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}.screen-center{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:14px}.stack.center{align-items:center;text-align:center}.grow{flex:1}.row{display:flex;gap:10px;align-items:center}.row .input{flex:1;min-width:0}.spread{justify-content:space-between;margin-top:auto}.card{background:var(--stu-surface);border:1px solid var(--stu-border);border-radius:var(--stu-radius-card);padding:20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.brand{font-weight:700;letter-spacing:-.01em}.who{display:flex;flex-direction:column;min-width:0}.who strong,.who span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who span{font-size:13px}.lang{display:inline-flex;background:var(--stu-surface-sunken);border-radius:var(--stu-radius-pill);padding:3px}.lang button{border:0;background:none;padding:6px 10px;border-radius:var(--stu-radius-pill);font-size:13px;font-weight:600;color:var(--kassa-ink-2);min-height:32px}.lang button.active{background:var(--stu-surface);color:var(--stu-ink);box-shadow:0 1px 2px #2023211f}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500}.input{height:52px;padding:0 14px;border-radius:var(--stu-radius-input);border:1px solid var(--stu-border);background:var(--stu-surface-muted);color:var(--stu-ink);font-size:17px}.input:focus{outline:2px solid var(--stu-graphite);outline-offset:1px;background:var(--stu-surface)}.input-code{font-family:var(--stu-font-mono);font-size:24px;letter-spacing:.18em;text-align:center;text-transform:uppercase}.btn{min-height:48px;padding:0 18px;border-radius:var(--stu-radius-control);border:1px solid var(--stu-border);background:var(--stu-surface);color:var(--stu-ink);font-size:16px;font-weight:600;cursor:pointer}.btn-primary{background:var(--stu-coral-strong);border-color:var(--stu-coral-strong);color:#fff}.btn-xl{min-height:64px;font-size:20px}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible,.key:focus-visible,.link:focus-visible{outline:2px solid var(--stu-graphite);outline-offset:2px}.link{background:none;border:0;color:var(--kassa-ink-2);text-decoration:underline;padding:10px;font-size:14px;align-self:center;cursor:pointer}.alert{background:var(--stu-coral-tint);color:var(--stu-coral-ink);border:1px solid var(--stu-coral-border);border-radius:var(--stu-radius-control);padding:10px 12px;font-size:14px;font-weight:500}p.alert.center,.center.alert{background:none;border:0;padding:0}.keypad-wrap{display:flex;flex-direction:column;align-items:center;gap:22px;width:100%}.pin-dots{display:flex;gap:16px}.pin-dots span{width:16px;height:16px;border-radius:50%;border:2px solid var(--stu-graphite)}.pin-dots span.filled{background:var(--stu-graphite)}.pin-dots.shake{animation:shake .35s}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:320px}.key{height:68px;border-radius:16px;border:1px solid var(--stu-border);background:var(--stu-surface);font-family:var(--stu-font-mono);font-size:26px;font-weight:600;color:var(--stu-ink);cursor:pointer}.key:active{background:var(--stu-surface-sunken)}.key-muted{font-family:var(--stu-font);font-size:15px;color:var(--kassa-ink-2);background:transparent;border-color:transparent}.scanner{position:relative;width:min(100%,55svh);margin-inline:auto;aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--stu-graphite);display:grid;place-items:center}.scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;inset:18%;border-radius:16px;box-shadow:0 0 0 999px #20232159;border:3px solid var(--stu-lime)}.scanner-message{position:relative;color:var(--stu-ink-inverse);padding:24px;text-align:center;font-size:15px}.instruction{font-weight:700;text-align:center;line-height:1.2;letter-spacing:-.01em;background:var(--stu-surface);border:2px solid var(--stu-graphite);border-radius:var(--stu-radius-card);padding:28px 18px;margin:8px 0;overflow-wrap:anywhere}.instruction-xl{font-size:30px}.instruction-lg{font-size:26px}.instruction-md{font-size:22px}.actions{display:flex;flex-direction:column;gap:10px;margin-top:auto}.result{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;border-radius:20px;padding:28px 18px}.result-icon{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:52px;font-weight:700}.result-ok{background:var(--stu-lime-soft)}.result-ok .result-icon{background:var(--stu-lime);color:var(--stu-graphite)}.result-ok .instruction{border-color:transparent;background:transparent;padding:0;margin:0}.result-bad{background:var(--stu-coral-tint)}.result-bad .result-icon{background:var(--stu-coral-strong);color:#fff}.reason{font-size:22px;font-weight:600;color:var(--stu-coral-ink)}.summary{font-size:15px;font-weight:600}.list{list-style:none;margin:0;padding:0;background:var(--stu-surface);border:1px solid var(--stu-border);border-radius:var(--stu-radius-card)}.list li{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:12px 14px;border-bottom:1px solid var(--stu-divider)}.list li:last-child{border-bottom:0}.list li div{display:flex;flex-direction:column;min-width:0}.list li .muted{font-size:13px}.list li.mine{background:var(--stu-surface-muted)}@media(prefers-reduced-motion:reduce){.pin-dots.shake{animation:none}}
