@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/static/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/static/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bp-bg:#FFFCEF;--bp-text:#00253D;--bp-accent:#0193B1;--bp-accent-light:#e6f7fa;--bp-accent-dark:#017a94;--bp-success:#3DAF41;--bp-success-light:#edfaee;--bp-error:#E86AEA;--bp-error-dark:#c23cc4;--bp-error-light:#fdf0fd;--bp-muted:#5a7a8a;--bp-border:rgba(1,147,177,0.15);--bp-glass:rgba(255,255,255,0.7);--bp-font:'Inter',system-ui,-apple-system,sans-serif;--bp-mono:'SF Mono','Fira Code','Cascadia Code',monospace}html{scroll-behavior:smooth}body{background-color:var(--bp-bg);font-family:var(--bp-font);color:var(--bp-text);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nicegui-content{background-color:var(--bp-bg)!important}.q-page-container{background-color:var(--bp-bg)!important}.q-header{background:transparent!important;box-shadow:none!important}.q-footer{background:transparent!important;box-shadow:none!important}.bp-scanner.bp-dragover{border-color:var(--bp-accent)!important;background:linear-gradient(145deg,rgba(230,247,250,0.95) 0%,rgba(200,240,248,0.8) 100%)!important;box-shadow:0 0 0 4px rgba(1,147,177,0.15),0 8px 32px rgba(1,147,177,0.15)!important;transform:scale(1.01)}.bp-upload-overlay{position:absolute!important;top:0;left:0;right:0;bottom:0;opacity:0;cursor:pointer;z-index:10}.bp-upload-overlay .q-uploader{width:100%!important;height:100%!important;background:transparent!important;border:none!important;box-shadow:none!important}.bp-upload-overlay .q-uploader__header{display:none!important}.bp-upload-overlay .q-uploader__list{display:none!important}:root{--q-primary:#00253D;--q-secondary:#0193B1;--q-accent:#0193B1;--q-positive:#38a169;--q-negative:#e53e3e}.bp-scanner{position:relative;background:linear-gradient(145deg,rgba(255,255,255,0.9) 0%,rgba(230,247,250,0.6) 100%);border:2px solid var(--bp-border);border-radius:24px;padding:3rem 2.5rem;text-align:center;cursor:pointer;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(1,147,177,0.08),inset 0 1px 0 rgba(255,255,255,0.8)}.bp-scanner::before{content:'';position:absolute;top:0;left:-50%;width:200%;height:3px;background:linear-gradient(90deg,transparent,var(--bp-accent),transparent);animation:scanline 3s ease-in-out infinite}.bp-scanner::after{content:'';position:absolute;inset:0;border-radius:22px;background:linear-gradient(135deg,rgba(1,147,177,0.03) 0%,transparent 40%,rgba(1,147,177,0.02) 60%,transparent 100%);pointer-events:none}.bp-scanner:hover{border-color:var(--bp-accent);box-shadow:0 12px 48px rgba(1,147,177,0.15),inset 0 1px 0 rgba(255,255,255,0.9),0 0 0 4px rgba(1,147,177,0.08);transform:translateY(-2px)}.bp-scanner:hover::before{animation-duration:1.5s}@keyframes scanline{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}.bp-glass-reflection{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(135deg,rgba(255,255,255,0.4) 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,0) 60%,rgba(255,255,255,0.1) 100%);pointer-events:none;transform:rotate(-15deg)}.bp-trust-badge{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.9rem;font-weight:500;color:var(--bp-accent-dark)}.bp-trust-badge .badge-icon{width:28px;height:28px;border-radius:50%;background:var(--bp-accent-light);display:flex;align-items:center;justify-content:center;font-size:0.85rem}.bp-card{background:#ffffff;border-radius:20px;box-shadow:0 2px 8px rgba(0,37,61,0.04),0 8px 24px rgba(0,37,61,0.06);transition:box-shadow 0.2s ease}.bp-card:hover{box-shadow:0 4px 12px rgba(0,37,61,0.06),0 12px 32px rgba(0,37,61,0.08)}.bp-table-container{border-radius:12px;overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(1,147,177,0.1);scrollbar-width:thin;scrollbar-color:var(--bp-accent) transparent}.bp-table-container::-webkit-scrollbar{height:6px}.bp-table-container::-webkit-scrollbar-track{background:transparent}.bp-table-container::-webkit-scrollbar-thumb{background:var(--bp-accent);border-radius:3px}.bp-table-container::-webkit-scrollbar-thumb:hover{background:var(--bp-accent-dark)}.bp-table{border-collapse:collapse;width:100%;font-family:var(--bp-mono);font-size:0.85rem}.bp-table th,.bp-table td{border:1px solid rgba(1,147,177,0.08);padding:0.5rem 0.75rem;text-align:left}.bp-table th:last-child,.bp-table td:last-child{border-right:none}.bp-table th{background:var(--bp-accent-light);font-weight:600;font-family:var(--bp-font);font-size:0.8rem;color:var(--bp-accent-dark);letter-spacing:0.02em}.bp-cell-ok{background:var(--bp-success-light);color:#276749}.bp-cell-error{border:2px solid var(--bp-error)!important;background:var(--bp-error-light);color:var(--bp-error-dark);position:relative;font-weight:600;cursor:pointer}.bp-cell-error .bp-error-badge{position:absolute;top:-6px;right:2px;width:16px;height:16px;background:var(--bp-error);color:#ffffff;border-radius:50%;font-size:0.65rem;display:flex;align-items:center;justify-content:center;font-weight:800}.bp-cell-reviewed{background:rgba(232,106,234,0.06);color:var(--bp-muted);position:relative;overflow:visible!important;border:1px solid rgba(1,147,177,0.08)!important;font-weight:400}.bp-cell-fp{background:var(--bp-success-light);color:#276749;position:relative;overflow:visible!important;border:1px solid rgba(1,147,177,0.08)!important;font-weight:400}.bp-reviewed-badge,.bp-fp-badge{position:absolute;top:-6px;right:2px;width:16px;height:16px;background:var(--bp-success);color:#ffffff;border-radius:50%;font-size:0.6rem;display:flex;align-items:center;justify-content:center;font-weight:800}.bp-comment-indicator{position:absolute;bottom:2px;right:3px;width:14px;height:14px;color:var(--bp-accent);opacity:0.7;cursor:pointer;z-index:10}.bp-comment-indicator:hover{opacity:1}.bp-comment-indicator:hover + .bp-comment-tooltip,.bp-comment-tooltip:hover{opacity:1;transform:translateY(0);pointer-events:auto}.bp-comment-tooltip{position:absolute;bottom:-4px;right:0;transform:translateY(100%) translateY(-4px);background:var(--bp-text);color:#fff;font-family:var(--bp-font);font-size:0.75rem;font-weight:400;line-height:1.4;padding:0.4rem 0.6rem;border-radius:8px;max-width:220px;white-space:normal;box-shadow:0 4px 16px rgba(0,37,61,0.2);opacity:0;pointer-events:none;transition:all 0.15s ease;z-index:30}.bp-issue-card .q-textarea .q-field__control{border-radius:8px!important}.bp-issue-card .q-textarea textarea{font-family:var(--bp-font)!important;font-size:0.85rem!important;color:var(--bp-text)!important;line-height:1.5!important;scrollbar-width:none;-ms-overflow-style:none}.bp-issue-card .q-textarea textarea::-webkit-scrollbar{display:none}.bp-issue-card .q-textarea .q-field__control:hover::before{border-color:var(--bp-accent)!important}.bp-issue-card .q-textarea.q-field--focused .q-field__control::after{border-color:var(--bp-accent)!important}.bp-cell-error,.bp-cell-reviewed,.bp-cell-fp{overflow:visible!important}.bp-cell-toolbar{display:none;position:absolute;top:50%;right:4px;transform:translateY(-50%);background:rgba(255,255,255,0.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;padding:2px 3px;z-index:20;white-space:nowrap;flex-direction:row;gap:1px}.bp-cell-error:hover .bp-cell-toolbar,.bp-cell-reviewed:hover .bp-cell-toolbar,.bp-cell-fp:hover .bp-cell-toolbar{display:flex}.bp-cell-toolbar button{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;font-size:0.8rem;transition:all 0.15s;line-height:1}.bp-cell-toolbar button.tb-reviewed{color:var(--bp-muted)}.bp-cell-toolbar button.tb-reviewed:hover{background:var(--bp-success-light);color:var(--bp-success)}.bp-cell-reviewed .bp-cell-toolbar button.tb-reviewed{background:var(--bp-success);color:#fff}.bp-cell-toolbar button.tb-fp{color:var(--bp-muted)}.bp-cell-toolbar button.tb-fp:hover{background:var(--bp-success-light);color:var(--bp-success)}.bp-cell-fp .bp-cell-toolbar button.tb-fp{background:var(--bp-success);color:#fff}.bp-cell-toolbar button.tb-comment{color:var(--bp-muted)}.bp-cell-toolbar button.tb-comment:hover{background:var(--bp-accent-light);color:var(--bp-accent)}.bp-issue-card{background:linear-gradient(135deg,var(--bp-error-light),var(--bp-bg));border-radius:16px;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:0.75rem;border-left:4px solid var(--bp-error);transition:box-shadow 0.2s ease;cursor:pointer}.bp-issue-card:hover{box-shadow:0 4px 16px rgba(252,167,253,0.15)}.bp-issue-card.bp-issue-active{border-left-color:var(--bp-accent)!important;border-left-width:4px;background:linear-gradient(135deg,var(--bp-accent-light),white)!important;box-shadow:0 0 0 2px var(--bp-accent),0 4px 16px rgba(1,147,177,0.12)}.bp-issue-card-reviewed{opacity:0.6;border-left-color:var(--bp-muted)!important;background:linear-gradient(135deg,rgba(232,106,234,0.03),var(--bp-bg))!important}.bp-issue-card-fp{background:linear-gradient(135deg,var(--bp-success-light),white)!important;border-left-color:var(--bp-success)!important;opacity:0.7}.bp-anno-row{display:flex;align-items:center;gap:0.35rem;margin-top:0.5rem;padding-top:0.4rem;border-top:1px solid rgba(1,147,177,0.08)}.bp-stepper{display:flex;align-items:center;gap:0}.bp-stepper-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.bp-stepper-step::after{content:'';position:absolute;top:16px;left:50%;width:100%;height:2px;background:rgba(1,147,177,0.15)}.bp-stepper-step:last-child::after{display:none}.bp-stepper-step .step-circle{width:32px;height:32px;border-radius:50%;background:rgba(1,147,177,0.1);color:var(--bp-muted);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:0.85rem;position:relative;z-index:1;transition:all 0.3s ease}.bp-stepper-step.active .step-circle{background:var(--bp-accent);color:#ffffff;animation:pulse 1.5s ease-in-out infinite}.bp-stepper-step.done .step-circle{background:var(--bp-success);color:#ffffff}.bp-stepper-step.done::after{background:var(--bp-success)}.bp-stepper-step .step-label{margin-top:8px;font-size:0.875rem;font-weight:500;color:var(--bp-muted);white-space:nowrap}.bp-stepper-step.active .step-label{color:var(--bp-accent);font-weight:600}.bp-stepper-step.done .step-label{color:var(--bp-success);font-weight:600}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(1.05)}}@keyframes scan{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bp-lupe{0%,100%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(-4px,-8px) rotate(-5deg)}50%{transform:translate(2px,-4px) rotate(3deg)}75%{transform:translate(-2px,-2px) rotate(-2deg)}}.bp-pulse{animation:pulse 1.5s ease-in-out infinite}.bp-scan{animation:scan 2.5s ease-in-out infinite}.bp-float{animation:float 4s ease-in-out infinite}.bp-mascot{width:80px;height:80px;filter:drop-shadow(0 4px 12px rgba(1,147,177,0.2))}.bp-mascot-small{width:48px;height:48px}.bp-privacy{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.8rem;color:var(--bp-muted);padding:0.4rem 1rem;border-radius:20px;background:rgba(1,147,177,0.05);border:1px solid rgba(1,147,177,0.1)}.bp-wp-btn{border:2px solid var(--bp-text)!important;background:transparent!important;color:var(--bp-text)!important;border-radius:8px!important;padding:0.55rem 1.4rem!important;font-weight:600!important;font-size:0.9rem!important;font-family:var(--bp-font)!important;cursor:pointer;transition:all 0.2s ease;text-transform:none!important;box-shadow:none!important;min-height:auto!important}.bp-wp-btn:hover{background:var(--bp-text)!important;color:var(--bp-bg)!important}.bp-wp-btn .q-focus-helper,.bp-wp-btn .q-btn__content::before{display:none!important}.bp-wp-btn::before{display:none!important}.bp-wp-btn-error{border-color:var(--bp-error-dark)!important;color:var(--bp-error-dark)!important}.bp-wp-btn-error:hover{background:var(--bp-error)!important;color:white!important;border-color:var(--bp-error)!important}.bp-wp-btn-ok{border-color:var(--bp-success);color:var(--bp-success)}.bp-wp-btn-sm{padding:0.3rem 0.8rem;font-size:0.8rem;border-width:1.5px}.bp-issue-nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,0.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:2px solid var(--bp-text);border-radius:12px;padding:0.6rem 1.2rem;margin-top:0.5rem;box-shadow:0 4px 12px rgba(0,37,61,0.04);gap:0.3rem}.bp-issue-desc{flex:1;font-size:0.85rem;color:var(--bp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.bp-issue-nav{padding:0.5rem 0.8rem}.bp-issue-desc{order:10;flex:none;width:100%;white-space:normal;font-size:0.8rem;margin-top:0.2rem}}.bp-nav-btn.q-btn,button.q-btn.bp-nav-btn{background:transparent!important;background-color:transparent!important;color:var(--bp-text)!important;border:2px solid var(--bp-text)!important;border-radius:8px!important;font-weight:600!important;box-shadow:none!important;min-height:auto!important;padding:4px 16px!important;transition:all 0.2s ease!important}.bp-nav-btn.q-btn:hover,button.q-btn.bp-nav-btn:hover{background:var(--bp-text)!important;background-color:var(--bp-text)!important;color:white!important}.bp-nav-btn.q-btn:hover .q-btn__content,button.q-btn.bp-nav-btn:hover .q-btn__content{color:white!important}.bp-nav-btn-error.q-btn,button.q-btn.bp-nav-btn-error{color:var(--bp-error-dark)!important;border-color:var(--bp-error-dark)!important}.bp-nav-btn-error.q-btn:hover,button.q-btn.bp-nav-btn-error:hover{background:var(--bp-error)!important;background-color:var(--bp-error)!important;color:white!important;border-color:var(--bp-error)!important}.bp-nav-btn-error.q-btn:hover .q-btn__content{color:white!important}.bp-nav-btn .q-focus-helper,.bp-nav-btn .q-ripple,.bp-nav-btn.q-btn::before{display:none!important}.bp-nav-btn .q-btn__content,.bp-nav-btn.q-btn .q-btn__content,.q-btn.bp-nav-btn .q-btn__content{color:inherit!important}.bp-nav-btn-error .q-btn__content,.bp-nav-btn-error.q-btn .q-btn__content,.q-btn.bp-nav-btn-error .q-btn__content{color:inherit!important}@keyframes bp-cell-focus{0%{box-shadow:0 0 0 0 rgba(1,147,177,0.5)}50%{box-shadow:0 0 0 4px rgba(1,147,177,0.25)}100%{box-shadow:0 0 0 0 rgba(1,147,177,0)}}.bp-cell-active{outline:3px solid var(--bp-accent)!important;outline-offset:-1px;animation:bp-cell-focus 1.5s ease-out 2;z-index:5;position:relative}.bp-card-expandable{transition:max-width 0.4s cubic-bezier(0.4,0,0.2,1),margin 0.4s cubic-bezier(0.4,0,0.2,1),box-shadow 0.3s ease!important}.bp-card-expandable.bp-expanded{max-width:none!important;width:calc(100% - 2rem)!important;margin-left:1rem!important;margin-right:1rem!important;box-shadow:0 8px 32px rgba(0,37,61,0.1)!important}.bp-expand-btn.q-btn{opacity:0!important;transition:opacity 0.2s ease!important;color:var(--bp-muted)!important;background:rgba(1,147,177,0.06)!important}.bp-card-expandable:hover .bp-expand-btn.q-btn{opacity:1!important}.bp-expand-btn.q-btn:hover{background:var(--bp-accent-light)!important;color:var(--bp-accent)!important}.bp-expanded .bp-expand-btn.q-btn{opacity:1!important;background:var(--bp-accent-light)!important;color:var(--bp-accent)!important}.bp-glass-card{background:rgba(255,255,255,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px;border:1px solid var(--bp-border);padding:2.5rem 2rem;box-shadow:0 4px 24px rgba(1,147,177,0.06)}.bp-stepper{width:100%;max-width:480px;margin:0 auto}.bp-progress-status{color:var(--bp-muted);font-size:0.875rem}.bp-code-inline{font-family:var(--bp-mono);background:var(--bp-accent-light);padding:0.1em 0.4em;border-radius:4px;font-size:0.85em}.bp-footer{padding-top:0.75rem;padding-bottom:1rem}.bp-footer-spacer{height:1rem}.bp-footer-link{color:var(--bp-accent);font-size:0.75rem;text-decoration:none}.bp-footer-sep{color:var(--bp-border)}.bp-footer-copyright{font-size:0.75rem;color:var(--bp-muted)}.bp-anno-btn{font-size:0.75rem!important;padding:2px 8px!important;min-height:28px!important}.bp-error-page{padding-top:6rem;padding-bottom:4rem}.bp-error-logo{width:320px;cursor:pointer}.bp-error-code{font-size:6rem;font-weight:800;line-height:1;color:var(--bp-accent);opacity:0.25;letter-spacing:-0.04em}.bp-error-title{font-size:1.5rem;font-weight:700;text-align:center;color:var(--bp-text);margin-top:-1rem}.bp-error-message{font-size:0.875rem;text-align:center;line-height:1.625;color:var(--bp-muted);max-width:360px}.bp-error-mascot{width:80px;opacity:0.4;filter:grayscale(0.5);transform:scaleX(-1);margin:0.5rem 0}.bp-privacy-section-title{font-size:1rem;font-weight:600;color:var(--bp-text)}.bp-privacy-section-text{font-size:0.875rem;line-height:1.625;color:var(--bp-muted)}@media (max-width:768px){.bp-scanner{padding:2rem 1.5rem;border-radius:16px}.bp-table{font-size:0.75rem}.bp-table th,.bp-table td{padding:0.35rem 0.5rem}.q-page-container .q-page{padding-left:0.5rem!important;padding-right:0.5rem!important}.nicegui-content{padding-left:0!important;padding-right:0!important}.q-card{padding:0.5rem!important}.bp-card.bp-card-expandable{margin-left:0!important;margin-right:0!important;border-radius:8px!important;padding:0.5rem!important}.bp-card .bp-table-container{margin-left:-0.5rem!important;margin-right:-0.5rem!important;border-radius:0!important;border-left:none!important;border-right:none!important}.bp-card .w-full.px-5{padding-left:0.5rem!important;padding-right:0.5rem!important}.bp-issue-nav{padding:0.4rem 0.6rem;border-radius:8px}.bp-privacy{font-size:0.7rem;padding:0.3rem 0.8rem}.bp-glass-card{padding:1.5rem 1rem}.bp-stepper{max-width:100%}.bp-stepper-step .step-label{font-size:0.7rem;white-space:normal;text-align:center;line-height:1.2}.bp-stepper-step .step-circle{width:28px;height:28px;font-size:0.75rem}.bp-stepper-step::after{top:14px}}