html{font-size: 16px}vaadin-button{--vaadin-button-height: 2rem;--vaadin-button-min-width: 0;--vaadin-button-padding: 0 0.75rem;--vaadin-button-font-size: 0.8125rem}vaadin-tabs:not([orientation="vertical"]){width: 100%}.app-logo{border-radius: min(40%,var(--vaadin-radius-m));margin-inline-start: var(--vaadin-padding-inline-container)}.app-name{font-weight: var(--aura-font-weight-semibold);font-size: var(--aura-font-size-l)}.app-footer{color: var(--vaadin-text-color-secondary);font-size: var(--aura-font-size-s)}vaadin-side-nav:has(vaadin-side-nav-item:only-child)::after{display: block;content: "More menu items will appear here when you add more views.";font-size: var(--aura-font-size-s);color: var(--vaadin-text-color-secondary);box-sizing: border-box;padding: 1em;max-width: 14em;min-width: 100%;white-space: normal}.qr{--qr-maxw: 52rem;--qr-gap: 2.25rem;--qr-card-pad: 1.15rem 1.35rem;--qr-card-gap: 1rem;--vaadin-text-color: var(--qr-text);--vaadin-text-color-secondary: var(--qr-muted);--vaadin-background-color: var(--qr-card);--vaadin-border-color: var(--qr-border);color-scheme: light;height: 100vh;display: flex;flex-direction: column;overflow: hidden;box-sizing: border-box;padding: 0;background: var(--qr-bg);color: var(--qr-text);font-family: var(--qr-font);transition: background 0.2s ease,color 0.2s ease}.qr.qr-dark{color-scheme: dark}.qr-topbar{flex: 0 0 auto;z-index: 5;display: flex;align-items: center;justify-content: space-between;gap: 1rem;padding: 1rem 2rem;background: var(--qr-bar);border-bottom: 1px solid var(--qr-border);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px)}.qr-brand{display: flex;align-items: center;gap: 0.75rem;min-width: 0}.qr-logo{max-height: 24px;width: auto;flex: 0 0 auto}.qr-logo-dark{display: none}.qr-dark .qr-logo-dark{display: inline-block}.qr-dark .qr-logo-light{display: none}.qr-title{margin: 0;font-size: 1.4rem;font-weight: 700;letter-spacing: -0.01em;color: var(--qr-text)}.qr-claim{font-size: 0.85rem;font-weight: 500;color: var(--qr-muted);white-space: nowrap}.qr-footer{flex: 0 0 auto;display: flex;align-items: center;justify-content: space-between;gap: 1rem;padding: 0.4rem 2rem 0.6rem}.qr-site{font-size: 0.85rem;font-weight: 500;color: var(--qr-accent);text-decoration: none;white-space: nowrap}.qr-site:hover{text-decoration: underline}.qr-controls{display: flex;align-items: center;gap: 0.75rem}.qr-progress-label{font-size: 0.85rem;color: var(--qr-muted);white-space: nowrap}.qr-progress{flex: 0 0 auto;height: 6px;background: var(--qr-border)}.qr-progress-bar{height: 100%;width: 0;background: var(--qr-accent);transition: width 0.3s ease}.qr-chips{flex: 0 0 auto;display: flex;flex-wrap: nowrap;overflow: hidden;gap: 0.5rem;padding: 1.5rem 2rem 1.5rem;max-width: var(--qr-maxw);width: 100%;margin: 0 auto}.qr-chip{flex: 0 1 auto;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;padding: 0.35rem 0.9rem;border: 1px solid var(--qr-border);border-radius: 999px;font-size: 0.8rem;font-weight: 500;color: var(--qr-muted);background: var(--qr-card);cursor: pointer;user-select: none;transition: background 0.15s ease,color 0.15s ease,border-color 0.15s ease}.qr-chip:hover{border-color: var(--qr-accent);color: var(--qr-text)}.qr-chip-active{background: var(--qr-accent);border-color: var(--qr-accent);color: #fff}.qr-body{flex: 1 1 auto;min-height: 0;overflow-y: auto;width: 100%;max-width: var(--qr-maxw);margin: 0 auto;padding: 0.5rem 2rem 4rem;display: flex;flex-direction: column;gap: var(--qr-gap)}.qr-section-title{margin: 0 0 1rem;padding-bottom: 0.4rem;border-bottom: 2px solid var(--qr-accent);font-size: 1.1rem;font-weight: 700;color: var(--qr-text)}.qr-card{position: relative;background: var(--qr-card);border: 1px solid var(--qr-border);border-radius: var(--qr-radius);padding: var(--qr-card-pad);margin-bottom: var(--qr-card-gap);box-shadow: var(--qr-shadow);transition: border-color 0.15s ease,box-shadow 0.15s ease}.qr-card:hover{border-color: var(--qr-accent)}.qr-prompt{display: block;font-size: 1rem;font-weight: 600;line-height: 1.4;margin-bottom: 0.15rem;padding-right: 5rem}.qr-required{color: var(--qr-accent)}.qr-roadmap-total{font-size: 0.9rem;font-weight: 600;color: var(--qr-accent);white-space: nowrap}.qr-roadmap-score{display: inline-block;font-size: 0.85rem;font-weight: 600;color: var(--qr-accent);margin-bottom: 0.6rem}.qr-roadmap-rec{border-left: 3px solid var(--qr-accent);padding: 0.25rem 0 0.25rem 0.85rem;margin-top: 0.6rem}.qr-roadmap-rec-title{display: block;font-weight: 600;margin-bottom: 0.35rem}.qr-roadmap-solution{margin-top: 0.6rem;padding: 0.5rem 0.75rem;border-radius: var(--qr-radius);background: color-mix(in srgb,var(--qr-accent) 10%,transparent);border: 1px dashed var(--qr-accent)}.qr-roadmap-solution-title{display: block;font-weight: 600;color: var(--qr-accent);margin-bottom: 0.25rem}.qr-roadmap-badge{font-size: 0.7rem;font-weight: 700;letter-spacing: 0.04em;padding: 0.1rem 0.45rem;border-radius: 999px;background: var(--qr-accent);color: #fff}.qr-radar{display: block;width: 100%;max-width: 34rem;height: auto;aspect-ratio: 480 / 330;margin: 0 auto 1.25rem}.qr-radar-grid{fill: none;stroke: var(--qr-border);stroke-width: 1}.qr-radar-target{fill: none;stroke: var(--qr-accent);stroke-width: 1.5;stroke-dasharray: 4 3;opacity: 0.7}.qr-radar-current{fill: var(--qr-accent);fill-opacity: 0.18;stroke: var(--qr-accent);stroke-width: 2}.qr-radar-axis-label{fill: var(--qr-muted);font-size: 12px}.qr-radar-value{fill: var(--qr-text);font-size: 11px;font-weight: 600;paint-order: stroke;stroke: var(--qr-card);stroke-width: 3px}.qr-gapbars{display: flex;flex-direction: column;gap: 0.5rem}.qr-gapbar{display: grid;grid-template-columns: minmax(8rem,14rem) 1fr auto;align-items: center;gap: 0.75rem}.qr-gapbar-label{font-size: 0.85rem;color: var(--qr-text);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.qr-gapbar-track{position: relative;height: 0.7rem;border-radius: 999px;background: var(--qr-border);overflow: hidden}.qr-gapbar-fill-target{position: absolute;inset: 0 auto 0 0;height: 100%;background: color-mix(in srgb,var(--qr-accent) 22%,transparent)}.qr-gapbar-fill-current{position: absolute;inset: 0 auto 0 0;height: 100%;background: var(--qr-accent);border-radius: 999px}.qr-gapbar-value{font-size: 0.8rem;font-weight: 600;color: var(--qr-muted);white-space: nowrap}.qr-help{margin: -0.1rem 0 1.4rem;font-size: 0.85rem;color: var(--qr-muted)}.qr-ai-button{position: absolute;top: 0.75rem;right: 0.85rem;margin-top: 0;color: var(--qr-accent)}.qr-ai-panel{position: fixed;top: 0;right: 0;width: 24rem;max-width: 92vw;height: 100%;z-index: 20;display: flex;flex-direction: column;gap: 0.75rem;padding: 1rem 1.1rem;box-sizing: border-box;background: var(--qr-card);border-left: 1px solid var(--qr-border);box-shadow: -8px 0 24px rgba(0,0,0,0.18);transform: translateX(100%);transition: transform 0.2s ease}.qr-ai-panel.open{transform: none}.qr-ai-head{display: flex;align-items: center;justify-content: space-between}.qr-ai-title{font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase;font-size: 0.85rem;color: var(--qr-accent)}.qr-ai-qref{margin: 0;font-weight: 600;color: var(--qr-text)}.qr-ai-log{flex: 1 1 auto;overflow: auto;display: flex;flex-direction: column;gap: 0.5rem}.qr-ai-bubble{padding: 0.5rem 0.7rem;border-radius: 10px;font-size: 0.9rem;line-height: 1.4}.qr-ai-bubble-self{align-self: flex-end;background: var(--qr-accent);color: #fff}.qr-ai-bubble-bot{align-self: flex-start;background: var(--qr-border);color: var(--qr-text)}.qr-ai-input{display: flex;align-items: center;gap: 0.4rem}.qr-options{width: 100%;margin-top: -1rem;padding-top: 0}.qr-options::part(label){display: none}.qr-options[role="radiogroup"],.qr-options::part(group-field){display: flex;flex-direction: column;gap: 0.6rem;counter-reset: qr-opt}.qr-options vaadin-radio-button,.qr-options vaadin-checkbox{counter-increment: qr-opt;box-sizing: border-box;width: 100%;margin: 0;padding: 0.7rem 0.95rem;border: 1px solid var(--qr-border);border-radius: 0.7rem;background: var(--qr-card);transition: border-color 0.15s ease,background 0.15s ease}.qr-options vaadin-radio-button:hover,.qr-options vaadin-checkbox:hover{border-color: var(--qr-accent)}.qr-options vaadin-radio-button[checked],.qr-options vaadin-checkbox[checked]{border-color: var(--qr-accent);background: color-mix(in srgb,var(--qr-accent) 14%,var(--qr-card))}.qr-options vaadin-radio-button::part(label)::before,.qr-options vaadin-checkbox::part(label)::before{content: counter(qr-opt,lower-alpha) ")\00a0\00a0";color: var(--qr-muted);font-family: var(--qr-mono,ui-monospace,monospace)}.qr-rating{display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: 0.75rem 1.5rem;width: 100%;padding: 0.75rem 0}.qr-rating-dots{display: flex;flex: 0 0 auto;gap: 0.6rem;justify-content: center}.qr-rating-anchor{flex: 1 1 0;min-width: 9rem;max-width: 16rem;font-size: 0.85rem;line-height: 1.35;color: var(--qr-muted);white-space: normal;overflow-wrap: anywhere}.qr-rating-anchor:first-child{text-align: right}.qr-rating-anchor:last-child{text-align: left}.qr-rating-dot{display: inline-flex;align-items: center;justify-content: center;width: 2.6rem;height: 2.6rem;border-radius: 50%;border: 1px solid var(--qr-border);color: var(--qr-text);font-weight: 600;cursor: pointer;user-select: none;transition: background 0.15s ease,border-color 0.15s ease,color 0.15s ease,transform 0.1s ease}.qr-rating-dot:hover{border-color: var(--qr-accent);transform: translateY(-1px)}.qr-rating-dot-selected{background: var(--qr-accent);border-color: var(--qr-accent);color: #fff}.qr-access-card{max-width: 26rem;margin: 12vh auto 0;display: flex;flex-direction: column;gap: 0.75rem;padding: 2rem;background: var(--qr-card);border: 1px solid var(--qr-border);border-radius: var(--qr-radius);box-shadow: var(--qr-shadow)}.qr-empty{max-width: 52rem;margin: 2rem auto;padding: 0 2rem;color: var(--qr-muted)}.qr-aurora{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #4f8cff;--qr-radius: 14px;--qr-bg: #f4f7ff;--qr-bar: rgba(255,255,255,0.82);--qr-card: #ffffff;--qr-text: #11151c;--qr-muted: #5a6577;--qr-border: #dbe4f5;--qr-shadow: 0 1px 3px rgba(20,40,80,0.07)}.qr-aurora.qr-dark{--qr-accent: #6ea8ff;--qr-bg: #0d1117;--qr-bar: rgba(13,17,23,0.82);--qr-card: #161c26;--qr-text: #e6edf6;--qr-muted: #93a1b5;--qr-border: #273141;--qr-shadow: 0 1px 3px rgba(0,0,0,0.4)}.qr-slate{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #14b88a;--qr-radius: 6px;--qr-bg: #f6f7f8;--qr-bar: rgba(255,255,255,0.9);--qr-card: #ffffff;--qr-text: #1b1f24;--qr-muted: #687078;--qr-border: #e2e5e9;--qr-shadow: 0 1px 2px rgba(0,0,0,0.04)}.qr-slate.qr-dark{--qr-accent: #2dd4a7;--qr-bg: #15181c;--qr-bar: rgba(27,31,36,0.9);--qr-card: #1d2228;--qr-text: #eceff2;--qr-muted: #98a0a8;--qr-border: #2c323a;--qr-shadow: none}.qr-nord{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #5e81ac;--qr-radius: 10px;--qr-bg: #eceff4;--qr-bar: rgba(236,239,244,0.85);--qr-card: #ffffff;--qr-text: #2e3440;--qr-muted: #4c566a;--qr-border: #d8dee9;--qr-shadow: 0 1px 3px rgba(46,52,64,0.08)}.qr-nord.qr-dark{--qr-accent: #88c0d0;--qr-bg: #2e3440;--qr-bar: rgba(46,52,64,0.85);--qr-card: #3b4252;--qr-text: #eceff4;--qr-muted: #abb2bf;--qr-border: #434c5e;--qr-shadow: none}.qr-dracula{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #7c4dff;--qr-radius: 12px;--qr-bg: #f5f3fb;--qr-bar: rgba(245,243,251,0.85);--qr-card: #ffffff;--qr-text: #282a36;--qr-muted: #6c6f85;--qr-border: #e3def2;--qr-shadow: 0 2px 8px rgba(40,42,54,0.08)}.qr-dracula.qr-dark{--qr-accent: #bd93f9;--qr-bg: #282a36;--qr-bar: rgba(40,42,54,0.85);--qr-card: #343746;--qr-text: #f8f8f2;--qr-muted: #b0b3c4;--qr-border: #44475a;--qr-shadow: none}.qr-solarized{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #268bd2;--qr-radius: 6px;--qr-bg: #fdf6e3;--qr-bar: rgba(253,246,227,0.9);--qr-card: #fffbf0;--qr-text: #073642;--qr-muted: #657b83;--qr-border: #eee8d5;--qr-shadow: 0 1px 2px rgba(101,123,131,0.12)}.qr-solarized.qr-dark{--qr-accent: #2aa198;--qr-bg: #002b36;--qr-bar: rgba(0,43,54,0.9);--qr-card: #073642;--qr-text: #eee8d5;--qr-muted: #93a1a1;--qr-border: #0f4956;--qr-shadow: none}.qr-violet{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #7c5cff;--qr-radius: 18px;--qr-maxw: 50rem;--qr-gap: 2.75rem;--qr-card-pad: 1.4rem 1.6rem;--qr-card-gap: 1.2rem;--qr-bg: #f7f5ff;--qr-bar: rgba(255,255,255,0.85);--qr-card: #ffffff;--qr-text: #17141f;--qr-muted: #6b6580;--qr-border: #e5e0f5;--qr-shadow: 0 6px 24px rgba(124,92,255,0.10)}.qr-violet.qr-dark{--qr-accent: #a98bff;--qr-bg: #120f1a;--qr-bar: rgba(18,15,26,0.85);--qr-card: #1b1726;--qr-text: #ece8f7;--qr-muted: #a79fc0;--qr-border: #2e2740;--qr-shadow: 0 6px 24px rgba(0,0,0,0.45)}.qr-violet .qr-section-title{border-bottom: none;border-left: 4px solid var(--qr-accent);padding: 0 0 0 0.7rem}.qr-orange{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #f5821f;--qr-radius: 10px;--qr-maxw: 54rem;--qr-gap: 1.75rem;--qr-card-pad: 0.95rem 1.15rem;--qr-card-gap: 0.7rem;--qr-bg: #fff8f1;--qr-bar: rgba(255,255,255,0.88);--qr-card: #ffffff;--qr-text: #211a12;--qr-muted: #7c6f60;--qr-border: #f0e2d2;--qr-shadow: 0 1px 2px rgba(120,80,20,0.06)}.qr-orange.qr-dark{--qr-accent: #ff9d45;--qr-bg: #1a140d;--qr-bar: rgba(26,20,13,0.88);--qr-card: #241a11;--qr-text: #f4ebe0;--qr-muted: #b9a892;--qr-border: #3a2c1d;--qr-shadow: none}.qr-orange .qr-card{border-left: 3px solid var(--qr-accent)}.qr-red{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #e23b4e;--qr-radius: 6px;--qr-maxw: 48rem;--qr-gap: 2rem;--qr-card-pad: 1.1rem 1.3rem;--qr-card-gap: 0.85rem;--qr-bg: #fdf5f5;--qr-bar: rgba(255,255,255,0.9);--qr-card: #ffffff;--qr-text: #21161a;--qr-muted: #806a6e;--qr-border: #f2dadd;--qr-shadow: 0 1px 2px rgba(120,20,30,0.06)}.qr-red.qr-dark{--qr-accent: #ff5d6c;--qr-bg: #181012;--qr-bar: rgba(24,16,18,0.9);--qr-card: #221518;--qr-text: #f5e7ea;--qr-muted: #c09aa0;--qr-border: #3a242a;--qr-shadow: none}.qr-red .qr-section-title{text-transform: uppercase;letter-spacing: 0.06em;font-size: 0.95rem}.qr-red .qr-card{border-top: 3px solid var(--qr-accent)}.qr-cyan{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #11b3c6;--qr-radius: 12px;--qr-maxw: 56rem;--qr-gap: 2.5rem;--qr-card-pad: 1.25rem 1.5rem;--qr-card-gap: 1rem;--qr-bg: #f1fbfc;--qr-bar: rgba(255,255,255,0.85);--qr-card: #ffffff;--qr-text: #102327;--qr-muted: #5a7479;--qr-border: #d4eef1;--qr-shadow: 0 2px 10px rgba(17,179,198,0.08)}.qr-cyan.qr-dark{--qr-accent: #3ad3e4;--qr-bg: #0c1517;--qr-bar: rgba(12,21,23,0.85);--qr-card: #122023;--qr-text: #e3f4f6;--qr-muted: #8fb3b8;--qr-border: #21383c;--qr-shadow: 0 2px 10px rgba(0,0,0,0.4)}.qr-cyan .qr-card{border-color: transparent}.qr-mono{--qr-font: 'Inter',system-ui,sans-serif;--qr-accent: #111111;--qr-radius: 4px;--qr-bg: #ffffff;--qr-bar: rgba(255,255,255,0.92);--qr-card: #ffffff;--qr-text: #000000;--qr-muted: #555555;--qr-border: #d0d0d0;--qr-shadow: none}.qr-mono.qr-dark{--qr-accent: #ffffff;--qr-bg: #000000;--qr-bar: rgba(0,0,0,0.92);--qr-card: #0e0e0e;--qr-text: #ffffff;--qr-muted: #a8a8a8;--qr-border: #2c2c2c;--qr-shadow: none}.qr-mono.qr-dark .qr-chip-active{color: #000}.qr-tim,.qr-tim.qr-dark{color-scheme: light;--qr-font: 'Inter','Helvetica Neue',Arial,system-ui,sans-serif;--qr-accent: #0d2fff;--qr-radius: 16px;--qr-bg: #f5f7fb;--qr-bar: rgba(255,255,255,0.92);--qr-card: #ffffff;--qr-text: #15151f;--qr-muted: #5b6472;--qr-border: #dfe3ec;--qr-shadow: 0 1px 3px rgba(0,8,40,0.08)}.qr-tim .qr-chip-active,.qr-tim.qr-dark .qr-chip-active{color: #fff}.qr-s2e,.qr-s2e.qr-dark{color-scheme: light;--qr-font: 'Inter','Segoe UI',system-ui,sans-serif;--qr-accent: #12a594;--qr-radius: 12px;--qr-bg: #f5f8f7;--qr-bar: rgba(255,255,255,0.92);--qr-card: #ffffff;--qr-text: #14201c;--qr-muted: #586b66;--qr-border: #dde6e3;--qr-shadow: 0 1px 3px rgba(10,40,35,0.08)}.qr-s2e .qr-chip-active,.qr-s2e.qr-dark .qr-chip-active{color: #fff}