.sv-bio-widget { --sv-bio-dock: 0px; position: fixed; right: max(24px, env(safe-area-inset-right)); bottom: calc(var(--sv-bio-dock) + 20px); z-index: 46; pointer-events: none; }
.sv-bio-widget button { pointer-events: auto; -webkit-tap-highlight-color: transparent; }
.sv-bio-expanded { position: relative; padding-top: 24px; }
.sv-bio-launcher { display: flex; align-items: center; gap: 10px; background: transparent; border: 0; padding: 0; color: #173442; font: inherit; border-radius: 20px; text-align: left; }
.sv-bio-bubble { position: relative; display: grid; gap: 7px; padding: 17px 20px; border: 1px solid #c4dce8; border-radius: 20px 20px 5px 20px; background: #fffdf7; box-shadow: 0 5px 22px #18364712; }
.sv-bio-bubble strong { font-size: 18px; line-height: 1.5; font-weight: 700; }
.sv-bio-bubble > span { font-size: 13px; line-height: 1.5; color: #42677a; }
.sv-bio-collapse { position: absolute; top: -4px; right: 0; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #42677a; font-size: 22px; z-index: 2; }
.sv-bio-collapse > span { display: grid; place-items: center; width: 28px; height: 28px; background: #fffdf7; border: 1px solid #bdd4e0; border-radius: 50%; }
.sv-bio { display: grid; width: 120px; height: 130px; flex: 0 0 120px; pointer-events: none; user-select: none; }
.sv-bio > img { display: block; grid-area: 1 / 1; width: 100%; height: 100%; object-fit: contain; margin: 0; padding: 0; }
.sv-bio .sv-bio-animation { visibility: hidden; }
.sv-bio:not([data-bio-state="rest"]) .sv-bio-rest { visibility: hidden; }
.sv-bio[data-bio-state="greeting"][data-bio-frame="0"] .sv-bio-wave[data-bio-frame="0"],
.sv-bio[data-bio-state="greeting"][data-bio-frame="1"] .sv-bio-wave[data-bio-frame="1"],
.sv-bio[data-bio-state="greeting"][data-bio-frame="2"] .sv-bio-wave[data-bio-frame="2"],
.sv-bio[data-bio-state="greeting"][data-bio-frame="3"] .sv-bio-wave[data-bio-frame="3"] { visibility: visible; }
.sv-bio-expand { display: flex; align-items: center; gap: 6px; height: 48px; padding: 3px 10px 3px 4px; border: 1px solid #bed6e3; border-radius: 24px; background: #fffdf7; color: #294e63; font: inherit; font-size: 14px; font-weight: 700; box-shadow: 0 3px 14px #18364712; }
.sv-bio-expand img { width: 38px; height: 41px; object-fit: contain; }
.sv-bio-widget [hidden], .sv-bio-dialog [hidden] { display: none !important; }
.sv-bio-dialog { width: min(410px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); border: 1px solid #c4dce8; border-radius: 22px; padding: 0; background: #fffdf7; color: #173442; box-shadow: 0 14px 70px #102b3a44; overflow-y: auto; overscroll-behavior: contain; }
.sv-bio-dialog::backdrop { background: #102b3a66; backdrop-filter: blur(3px); }
.sv-bio-dialog-header { display: flex; align-items: center; gap: 12px; padding: 17px 18px; border-bottom: 1px solid #d8e4eb; }
.sv-bio-dialog-header > img { width: 48px; height: 52px; object-fit: contain; }
.sv-bio-demo-tag { display: block; font-size: 12px; line-height: 1.5; color: #42677a; }
.sv-bio-dialog h2 { margin: 3px 0 0; font-size: 21px; line-height: 1.4; font-weight: 700; }
.sv-bio-dialog-close { width: 44px; height: 44px; margin-left: auto; border: 0; background: transparent; border-radius: 50%; color: #42677a; font-size: 28px; }
.sv-bio-dialog-body { padding: 20px; }
.sv-bio-demo-notice { background: #eaf4fa; border: 1px solid #c8dfe9; border-radius: 12px; padding: 15px; }
.sv-bio-demo-notice strong { display: block; font-size: 16px; line-height: 1.6; }
.sv-bio-demo-notice p { font-size: 14px; line-height: 1.8; margin: 8px 0 0; color: #42677a; }
.sv-bio-demo-message { margin: 18px 0 12px; font-size: 15px; line-height: 1.8; }
.sv-bio-contact-links { display: grid; gap: 9px; }
.sv-bio-contact-links a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px; border: 1px solid #c3dbe7; border-radius: 10px; font-size: 15px; font-weight: 700; }
.sv-bio-contact-links a:last-child { background: #00863c; border-color: #00863c; color: white; }
.sv-bio-greet { display: block; margin: 13px auto 0; min-height: 44px; background: transparent; border: 0; color: #42677a; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.sv-bio-greet:disabled { text-decoration: none; cursor: default; }
.sv-bio-motion-status { font-size: 13px; line-height: 1.7; color: #42677a; text-align: center; }
.sv-bio-demo-input { display: flex; align-items: center; gap: 8px; padding: 14px 18px; background: #f2f6f8; border-top: 1px solid #d8e4eb; }
.sv-bio-demo-input input { width: 100%; min-width: 0; height: 44px; padding: 0 10px; border: 1px solid #d1dfe6; border-radius: 9px; font-size: 13px; color: #526e7d; background: #fffdf7; opacity: 1; }
.sv-bio-demo-input input::placeholder { color: #526e7d; opacity: 1; }
.sv-bio-demo-input button { flex: 0 0 40px; height: 40px; border: 0; border-radius: 50%; background: #d9e4ea; color: #617b88; font-size: 20px; }
.motion-off .sv-bio .sv-bio-wave { visibility: hidden !important; }
.motion-off .sv-bio .sv-bio-rest { visibility: visible !important; }
@media (prefers-reduced-motion: reduce) {
  .sv-bio .sv-bio-wave { visibility: hidden !important; }
  .sv-bio .sv-bio-rest { visibility: visible !important; }
}
@media (max-width: 700px) {
 .sv-bio-widget { right: max(12px, env(safe-area-inset-right)); bottom: calc(var(--sv-bio-dock) + 10px); }
 .sv-bio { width: 94px; height: 101.833px; flex-basis: 94px; }
 .sv-bio-launcher { gap: 6px; }
 .sv-bio-bubble { padding: 13px 15px; gap: 5px; }
 .sv-bio-bubble strong { font-size: 16px; }
 .sv-bio-bubble > span { font-size: 12px; }
 .sv-bio-expanded { padding-top: 23px; }
 .sv-bio-dialog-body { padding: 17px; }
 .sv-bio-dialog-header { padding: 13px 15px; }
}
.sv-bio-guide-dialog { height: min(610px, calc(100dvh - 28px)); max-height: calc(100dvh - 28px); overflow: hidden; }
.sv-bio-guide-dialog[open] { display: flex; flex-direction: column; }
.sv-bio-guide-dialog .sv-bio-dialog-header { flex: 0 0 auto; }
.sv-bio-guide-dialog .sv-bio-dialog-body { overflow-y: auto; min-height: 0; overscroll-behavior: contain; flex: 1 1 auto; }
.sv-bio-guide-intro { font-size: 15px; line-height: 1.8; margin: 0 0 15px; }
.sv-bio-topics { position: sticky; top: -1px; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 5px 0; background: #fffdf7; }
.sv-bio-topics button { min-height: 46px; padding: 10px; border-radius: 12px; border: 1px solid #bdd6e4; background: #fffdf7; color: #234c62; font-size: 15px; line-height: 1.5; font-weight: 700; }
.sv-bio-topics button[aria-pressed="true"] { background: #234c62; border-color: #234c62; color: #fff; }
.sv-bio-answer { margin-top: 16px; padding: 16px; border: 1px solid #cbdfe9; border-radius: 14px; background: #edf6fb; color: #24475c; }
.sv-bio-answer h3 { font-size: 17px; line-height: 1.5; margin: 0 0 12px; }
.sv-bio-answer p { font-size: 14px; line-height: 1.85; margin: 0; }
.sv-bio-answer p + p { margin-top: 9px; }
.sv-bio-answer dl { display: grid; grid-template-columns: auto 1fr; gap: 9px 16px; margin: 0 0 14px; font-size: 14px; line-height: 1.7; }
.sv-bio-answer dt { font-weight: 700; }
.sv-bio-answer dd { margin: 0; white-space: nowrap; }
.sv-bio-answer .sv-bio-caution { padding-top: 11px; margin-top: 11px; border-top: 1px solid #c8dce8; }
.sv-bio-answer a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: 13px; padding: 10px 13px; border-radius: 10px; background: #234c62; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.6; }
.sv-bio-answer a.sv-bio-naver-link { background: #00863c; }
.sv-bio-answer a.sv-bio-notice-link { color: #234c62; background: transparent; text-decoration: underline; text-underline-offset: 4px; padding: 5px 0; margin-top: 4px; justify-content: flex-start; font-size: 14px; }
.sv-bio-guide-footer { flex: 0 0 auto; padding: 12px 18px 8px; border-top: 1px solid #d8e4eb; background: #f2f6f8; }
.sv-bio-guide-footer > p { font-size: 13px; line-height: 1.7; text-align: center; color: #42677a; }
.sv-bio-guide-footer .sv-bio-greet { margin-top: 0; }
@media (max-width: 359px) {
 .sv-bio-answer { padding: 13px; }
 .sv-bio-answer dl { gap: 8px 10px; font-size: 13px; }
 .sv-bio-topics button { font-size: 14px; }
 .sv-bio-guide-footer { padding-right: 12px; padding-left: 12px; }
}

.sv-bio[data-bio-state="blink"][data-bio-frame="0"] .sv-bio-idle[data-bio-frame="0"],
.sv-bio[data-bio-state="blink"][data-bio-frame="1"] .sv-bio-idle[data-bio-frame="1"],
.sv-bio[data-bio-state="blink"][data-bio-frame="2"] .sv-bio-idle[data-bio-frame="2"],
.sv-bio[data-bio-state="blink"][data-bio-frame="3"] .sv-bio-idle[data-bio-frame="3"],
.sv-bio[data-bio-state="blink"][data-bio-frame="4"] .sv-bio-idle[data-bio-frame="4"],
.sv-bio[data-bio-state="blink"][data-bio-frame="5"] .sv-bio-idle[data-bio-frame="5"] { visibility: visible; }


.sv-bio { position: relative; }
.sv-bio-rest { opacity: 1; transition: opacity 120ms ease; }
.sv-bio-stretch { position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
.sv-bio[data-bio-state="stretch"] .sv-bio-rest { visibility: visible; opacity: 0; }
.sv-bio[data-bio-state="stretch"] .sv-bio-stretch { opacity: 1; }
.motion-off .sv-bio .sv-bio-animation { visibility: hidden !important; }
.motion-off .sv-bio .sv-bio-stretch { opacity: 0 !important; transition: none; }
.motion-off .sv-bio .sv-bio-rest { opacity: 1 !important; transition: none; }
@media (prefers-reduced-motion: reduce) {
 .sv-bio .sv-bio-animation { visibility: hidden !important; }
 .sv-bio .sv-bio-stretch { opacity: 0 !important; transition: none; }
 .sv-bio .sv-bio-rest { opacity: 1 !important; transition: none; }
}
