.qr-workspace{align-items:stretch;gap:var(--space-24);grid-template-columns:minmax(0,1fr) minmax(0,.9fr);display:grid}.qr-editor{gap:var(--space-24);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.qr-panel{min-width:0}.qr-panel input::placeholder{color:var(--shell-text-muted);opacity:.8}.qr-panel input:focus-visible,.bookmark-open:focus-visible{outline:2px solid var(--shell-focus);outline-offset:3px}.qr-error{margin:var(--space-8) 0 var(--space-20);color:var(--ui-danger);font-size:var(--font-size-14);line-height:1.6}.qr-error:empty{margin:0 0 var(--space-24)}.qr-panel .qr-field-error{color:var(--ui-danger)}.local-badge{color:var(--shell-text-muted);font-size:var(--font-size-12)}.count{color:var(--shell-nav-accent);font-size:var(--font-size-14)}.bookmark-empty{padding:var(--space-12) 0 var(--space-8);color:var(--shell-text-muted)}.bookmark-empty>strong{margin:0 0 var(--space-8);font-size:var(--font-size-14)}.bookmark-empty span{font-size:var(--font-size-12);line-height:1.7}.qr-bookmarks{flex-direction:column;min-height:0;display:flex}.qr-bookmark-content{flex:1;min-height:150px;position:relative}.qr-bookmark-content>.bookmark-empty{flex-direction:column;justify-content:center;display:flex;position:absolute;inset:0}.qr-bookmarks ul{margin:0;padding:0;list-style:none;position:absolute;inset:0;overflow-y:auto}.qr-bookmarks li{gap:var(--space-12);padding-right:var(--space-8);border-top:1px solid var(--shell-hairline);align-items:center;display:flex}.bookmark-open{align-items:flex-start;gap:var(--space-4);min-width:0;padding:var(--space-16) var(--space-4);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;flex:1;display:flex}.bookmark-open:hover{background:var(--shell-row-hover)}.bookmark-open strong,.bookmark-open span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bookmark-open strong{font-size:var(--font-size-14)}.bookmark-open span{color:var(--shell-text-muted);font-size:var(--font-size-12)}.qr-page .qr-download-actions .ui-button[data-variant=primary]{color:var(--color-white);background:var(--color-primary);border-color:var(--color-primary)}.qr-page .qr-download-actions .ui-button[data-variant=primary]:not(:disabled):hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.qr-page .qr-download-actions .qr-svg-download{color:var(--color-white);background:var(--color-background-2);border-color:var(--color-background-2)}.qr-page .qr-download-actions .qr-svg-download:not(:disabled):hover{color:var(--color-white);background:var(--color-background-21);border-color:var(--color-background-21)}.qr-preview-panel{flex-direction:column;min-width:0;display:flex}.qr-preview{width:100%;padding:var(--space-16);margin-bottom:var(--space-20);background:var(--shell-surface);border:1px solid var(--shell-hairline);border-radius:12px;flex-direction:column;flex:none;align-items:center;display:flex;overflow:hidden}.qr-preview-square{aspect-ratio:1;flex:none;place-items:center;width:min(280px,100%);display:grid;position:relative}.qr-preview-code{width:100%;height:100%;display:block}.qr-caption-space{flex:none;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;height:48px;display:grid}.qr-preview .qr-preview-caption{width:100%;min-width:0;color:var(--shell-text-heading);font-family:SUIT Full,sans-serif;font-size:var(--font-size-22);text-align:center;white-space:pre;-webkit-user-select:text;user-select:text;justify-content:center;align-items:center;margin:0;font-weight:700;line-height:32px;display:flex}.qr-preview-caption span{flex:none}.qr-preview-busy{background:color-mix(in srgb, var(--shell-surface) 95%, transparent);color:var(--shell-text-muted);font-size:var(--font-size-14);place-items:center;display:grid;position:absolute;inset:0}.qr-placeholder{width:100%;height:100%;color:var(--shell-text-muted);text-align:center;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.qr-placeholder-icon{color:var(--shell-text-muted)}.qr-placeholder strong{color:var(--shell-text-muted);font-size:var(--font-size-14);margin:0;font-weight:600;line-height:20px}.qr-download-actions{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.qr-actions button,.qr-download-actions button,.qr-save{min-height:44px}.qr-guide{gap:var(--space-16);margin-top:var(--space-32);display:grid}.qr-guide-steps{gap:var(--space-24);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.qr-guide h3{margin:0 0 var(--space-12);color:var(--shell-text-heading);font-size:var(--font-size-14);line-height:1.6}.qr-guide p{color:var(--shell-text-muted);font-size:var(--font-size-14);word-break:keep-all;overflow-wrap:anywhere;margin:0;line-height:1.8}.qr-guide .qr-guide-intro{margin-bottom:var(--space-24)}.qr-faq{gap:var(--space-28);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;display:grid}.qr-expanded .qr-preview{width:100%;margin:0 auto}.qr-expanded .qr-preview-square{width:min(440px,100%)}body:has(.qr-expanded[open],.qr-print-settings[open],.qr-save-image[open]){overflow:hidden}.qr-save-content{gap:var(--space-16);min-height:0;font-size:var(--font-size-14);overflow-wrap:anywhere;line-height:1.6;display:grid}.qr-save-content p{margin:0}.qr-save-content img{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;width:100%;height:auto;display:block}.qr-print{display:none}@media (width<=760px){.qr-workspace{gap:var(--space-20);grid-template-columns:minmax(0,1fr)}.qr-editor{grid-template-rows:auto auto}.qr-bookmark-content:has(ul){flex:none;height:240px}.qr-preview{max-width:360px;margin-left:auto;margin-right:auto}.qr-caption-space{height:44px}.qr-preview .qr-preview-caption{font-size:var(--font-size-20);line-height:28px}.qr-placeholder-icon{width:64px;height:64px}.qr-guide-steps,.qr-faq{gap:var(--space-24);grid-template-columns:minmax(0,1fr)}}@media print{@page qr-code-sheet{size:A4 portrait;margin:10mm}:is(html:has(.site-shell.qr-code),body:has(.site-shell.qr-code)){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--color-white)!important;margin:0!important;padding:0!important}body:has(.site-shell.qr-code){background:var(--color-white)!important}body:has(.site-shell.qr-code) .site-shell{background:var(--color-white)!important}.site-shell.qr-code>:not(.qr-print){display:none!important}.site-shell.qr-code{min-height:0;display:block}.site-shell.qr-code .shell-content{min-height:0;margin:0!important;padding:0!important;display:block!important}.site-shell.qr-code .shell-content>:not(.qr-print){display:none!important}.qr-print{page:qr-code-sheet;grid-template-columns:repeat(var(--print-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--print-rows), minmax(0, 1fr));break-inside:avoid;gap:4mm;width:190mm;height:276mm;display:grid}.qr-print-cell{box-sizing:border-box;border:.2mm solid var(--color-black);place-items:center;min-width:0;min-height:0;padding:2mm;display:grid}.qr-print img{object-fit:contain;width:100%;height:100%;display:block}.qr-print-single img{max-width:140mm}}.qr-actions{gap:var(--space-8);margin-top:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.qr-actions .ui-button{padding:0 var(--space-8);font-size:var(--font-size-14)}.qr-svg-notice{margin-top:var(--space-12);color:var(--shell-text-muted);font-size:var(--font-size-14);overflow-wrap:anywhere;line-height:1.6}.qr-svg-notice p{margin:0}.qr-svg-notice p+p:not(:empty){margin-top:var(--space-8)}.qr-page .ui-button:disabled{opacity:.5}.qr-print-options{gap:var(--space-12);margin:var(--space-24) 0;border:0;padding:0;display:grid}.qr-print-options legend{margin-bottom:var(--space-12);font-size:var(--font-size-14);font-weight:700}.qr-print-options label{align-items:center;gap:var(--space-12);padding:var(--space-16);border:1px solid var(--shell-hairline);font-size:var(--font-size-16);cursor:pointer;border-radius:8px;display:flex}.qr-print-options label:has(:checked){border-color:var(--shell-focus);background:var(--shell-nav-wash)}.qr-print-options input{accent-color:var(--shell-nav-accent)}.qr-print-options input:focus-visible{outline:2px solid var(--shell-focus);outline-offset:4px}
