.visa-spec-list{display:grid;gap:.5rem;max-height:16rem;overflow:auto}.visa-spec{display:grid;gap:.2rem;width:100%;padding:.75rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-page);color:inherit;text-align:left;cursor:pointer}.visa-spec.is-selected{border-color:var(--color-brand-primary);box-shadow:0 0 0 1px var(--color-brand-primary);background:color-mix(in srgb,var(--color-brand-primary) 6%,#fff)}.visa-spec__name{font-weight:550;font-size:.9375rem}.visa-spec__meta{font-size:.75rem;color:var(--color-text-muted)}.visa-notes{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.visa-pan{display:grid;gap:.35rem;margin-bottom:1rem}.visa-pan label{font-size:.8125rem;color:var(--color-text-secondary)}.tool-field input[type=range],.visa-pan input[type=range]{width:100%}.visa-composer__preview,.visa-preview-frame{display:grid;place-items:center}.visa-preview-frame{width:100%;max-width:22rem;margin-inline:auto;padding:1rem;background:linear-gradient(45deg,#ececec 25%,transparent 0),linear-gradient(-45deg,#ececec 25%,transparent 0),linear-gradient(45deg,transparent 75%,#ececec 0),linear-gradient(-45deg,transparent 75%,#ececec 0);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;border-radius:var(--radius-md)}.visa-preview-canvas{max-width:100%;height:auto;display:block;box-shadow:var(--shadow-md);background:#fff}.visa-bg-actions{display:grid;gap:.45rem;margin:0 0 1.1rem}.visa-bg-hint,.visa-bg-status{margin:0;font-size:.8125rem;line-height:1.45;color:var(--color-text-muted)}.visa-bg-error{margin:0;font-size:.8125rem;line-height:1.45;color:var(--color-error,#c45c4a)}@media (max-width:959px){.visa-drop__btn{width:100%}}.visa-followup{display:grid;gap:2.5rem;margin:2.75rem auto 0;padding-bottom:.5rem;max-width:56rem;text-align:left}.visa-card{padding:2rem 2.25rem;border-radius:var(--radius-lg,12px);background:var(--color-bg-elevated);box-shadow:0 8px 24px rgb(0 0 0/.08),0 2px 6px rgb(66 66 66/.06)}.visa-card__title{margin:0 0 .25rem;font-size:clamp(1.5rem,2.4vw,1.85rem);font-weight:400;line-height:1.18}.visa-card__sub{margin:0 0 1.35rem;font-size:.6875rem;font-weight:550;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted)}.visa-report{width:100%;border-collapse:collapse}.visa-report td{padding:.75rem .5rem;vertical-align:top;border-bottom:1px solid var(--color-border)}.visa-report__label{width:46%;font-size:.9375rem;font-weight:550;line-height:1.4;color:var(--color-text-primary)}.visa-report__detail{font-size:.875rem;line-height:1.5;color:var(--color-text-secondary)}.visa-report__dot{display:inline-block;width:.5rem;height:.5rem;margin-right:.65rem;border-radius:50%;vertical-align:.1em}.visa-report__dot--pass{background:var(--color-success,#2f6b4f)}.visa-report__dot--warn{background:var(--color-warning,#c48a2a)}.visa-report__dot--info{background:var(--color-text-muted)}.visa-official__body{display:flex;flex-wrap:wrap;align-items:flex-start;gap:2.5rem}.visa-official__list{flex:1 1 18rem;margin:0;padding-left:1.2rem}.visa-official__list li{margin-bottom:.65rem;font-size:.9375rem;line-height:1.7;color:var(--color-text-secondary)}.visa-official__figure{flex:0 1 16rem;margin:0}.visa-diagram{display:block;width:100%;max-width:16rem;height:auto;background:var(--color-bg-page);border:1px solid var(--color-border)}.visa-official__figure figcaption{margin-top:.65rem;font-size:.8125rem;line-height:1.5;color:var(--color-text-muted)}.visa-official__note{margin:1.5rem 0 0;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.visa-official__note a{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:3px}@media (max-width:720px){.visa-card{padding:1.5rem 1.25rem}.visa-report__detail,.visa-report__label{display:block;width:100%}.visa-report__detail{padding-top:0}}