.law-dialog {
  --dialog-ink: var(--ink, #173959);
  --dialog-paper: var(--paper, #ffffff);
  --dialog-line: var(--line, #dce3eb);
  --dialog-muted: var(--muted, #606e7c);
  --dialog-lime: var(--lime, #e1f0fa);
  color: var(--dialog-ink);
  background: white;
  border: 0;
  border-radius: 7px;
  box-shadow: 0 20px 100px rgba(12, 33, 29, .22);
  padding: 0;
  width: min(680px, calc(100vw - 48px));
  max-width: none;
  max-height: calc(100dvh - 64px);
  margin: auto;
  overflow: hidden;
  font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  overscroll-behavior: contain;
}

.law-dialog::backdrop { background: rgba(12, 31, 27, .64); backdrop-filter: blur(3px); }
.law-dialog *, .law-dialog *::before, .law-dialog *::after { box-sizing: border-box; }
.law-dialog [hidden] { display: none !important; }
.law-dialog__panel { display: flex; flex-direction: column; max-height: calc(100dvh - 64px); min-height: 0; }
.law-dialog__header { flex: 0 0 auto; padding: 24px 32px 22px; background: var(--dialog-paper); border-bottom: 1px solid var(--dialog-line); }
.law-dialog__topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.law-dialog__section-label { font-size: 12px; letter-spacing: .04em; font-weight: 600; }
.law-dialog__brand { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 16px; line-height: 1.4; font-weight: 650; letter-spacing: -.035em; }
.law-dialog__brand small { display: block; font-size: 11px; line-height: 1.5; font-weight: 500; letter-spacing: .06em; color: var(--dialog-muted); }
.law-dialog__brand-mark { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid currentColor; font-family: 'Songti SC', 'Batang', serif; font-size: 22px; }
.law-dialog__close { width: 46px; height: 46px; padding: 0; border: 1px solid var(--dialog-line); background: transparent; display: grid; place-items: center; color: inherit; cursor: pointer; border-radius: 50%; flex: 0 0 auto; }
.law-dialog__close:hover { background: white; border-color: var(--dialog-ink); }
.law-dialog__heading { margin-top: 20px; }
.law-dialog__eyebrow { margin: 0 0 9px; font-size: 12px; font-weight: 650; line-height: 1.5; color: var(--dialog-ink); }
.law-dialog h2 { margin: 0; font-size: clamp(24px, 2.4vw, 30px); font-weight: 650; line-height: 1.4; letter-spacing: -.055em; text-wrap: balance; white-space: pre-line; }
.law-dialog h2:focus { outline: none; }
.law-dialog__scroll-area { position: relative; display: flex; flex: 1 1 auto; min-height: 0; }
.law-dialog__body { width: 100%; padding: 28px 32px 30px; overflow-y: auto; min-height: 0; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #a0aab4 transparent; font-size: 16px; line-height: 1.8; letter-spacing: -.023em; }
.law-dialog__content > :first-child { margin-top: 0; }
.law-dialog__content > :last-child { margin-bottom: 0; }
.law-dialog__content p { margin: 0 0 18px; }
.law-dialog__content h2, .law-dialog__content h3 { margin: 30px 0 12px; font-size: 18px; font-weight: 650; line-height: 1.55; letter-spacing: -.035em; }
.law-dialog__content h4 { margin: 24px 0 10px; font-size: 16px; font-weight: 700; line-height: 1.55; }
.law-dialog__content a { color: var(--dialog-ink); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.law-dialog__content ul, .law-dialog__content ol { padding-left: 22px; margin: 0 0 18px; }
.law-dialog__content li + li { margin-top: 6px; }
.law-dialog__content blockquote { margin: 20px 0; padding: 14px 18px; background: var(--dialog-paper); border-left: 2px solid var(--dialog-ink); }
.law-dialog__content blockquote p { margin: 0; }
.law-dialog__content img { display: block; width: auto; max-width: 100%; height: auto; border-radius: 3px; }
.law-dialog__image { margin: 0 0 24px; }
.law-dialog__image img { width: 100%; }
.law-dialog__scroll-hint { position: absolute; pointer-events: none; display: flex; gap: 10px; align-items: center; justify-content: center; bottom: 14px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 40px); width: max-content; margin: 0; padding: 9px 14px; background: var(--dialog-ink); color: white; font-size: 12px; line-height: 1.5; border-radius: 3px; box-shadow: 0 4px 16px rgba(10, 35, 30, .15); }
.law-dialog__scroll-hint svg { flex: 0 0 auto; }
.law-dialog__footer { flex: 0 0 auto; border-top: 1px solid var(--dialog-line); padding: 20px 32px; background: white; }
.law-dialog__actions { display: flex; gap: 10px; }
.law-dialog__button { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; flex: 1 1 0; border: 1px solid transparent; border-radius: 4px; font: inherit; font-size: 15px; line-height: 1.5; font-weight: 600; letter-spacing: -.02em; text-decoration: none; cursor: pointer; text-align: center; }
.law-dialog__button--primary { background: var(--dialog-ink); color: white; border-color: var(--dialog-ink); }
.law-dialog__button--primary:hover { background: #243b52; color: white; }
.law-dialog__button--secondary { color: var(--dialog-ink); background: white; border-color: var(--dialog-line); }
.law-dialog__button--secondary:hover { background: var(--dialog-paper); border-color: #9ea8b2; }
.law-dialog__button:disabled { opacity: .55; cursor: wait; }
.law-dialog__error { margin: 0 0 12px; padding: 10px 12px; color: #8a352c; background: #fff1e9; border-left: 2px solid currentColor; font-size: 14px; line-height: 1.6; }
.law-dialog__hide-preference { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; margin-top: 4px; padding-top: 8px; color: var(--dialog-muted); font-size: 13px; line-height: 1.5; cursor: pointer; }
.law-dialog__hide-preference input { width: 17px; height: 17px; margin: 0; accent-color: var(--dialog-ink); flex: 0 0 auto; }
.law-dialog__hide-preference small { font-size: 11px; }
.law-dialog button:focus-visible, .law-dialog a:focus-visible, .law-dialog input:focus-visible, .law-dialog__body:focus-visible { outline: 2px solid var(--dialog-ink); outline-offset: 3px; }
.law-dialog__body:focus-visible { outline-offset: -3px; }
.law-dialog--entry .law-dialog__content .law-dialog__numbered-heading { display: flex; gap: 12px; align-items: baseline; }
.law-dialog--entry .law-dialog__content .law-dialog__numbered-heading::before { content: attr(data-section-number); font-family: Georgia, serif; font-weight: 400; font-size: 22px; color: #6c7a89; flex: 0 0 auto; }
.law-dialog__notice-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 12px; line-height: 1.5; color: var(--dialog-muted); padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--dialog-line); }
.law-dialog__notice-meta span { padding: 4px 8px; border: 1px solid var(--dialog-line); border-radius: 2px; color: var(--dialog-ink); }
.law-dialog__demo-note { padding: 16px 18px; background: var(--dialog-paper); border-left: 2px solid var(--dialog-ink); font-size: 14px; line-height: 1.75; }
.law-dialog .law-dialog__case-name { margin-top: 26px; margin-bottom: 20px; font-size: 20px; }
.law-dialog .law-dialog__steps { list-style: none; padding: 0; margin: 0; }
.law-dialog .law-dialog__steps li { display: flex; gap: 17px; padding: 17px 0; border-top: 1px solid var(--dialog-line); margin: 0; }
.law-dialog__step-number { width: 28px; flex: 0 0 auto; padding-top: 1px; font-family: Georgia, serif; font-size: 23px; line-height: 1.3; color: #6c7a89; }
.law-dialog__steps strong { display: block; font-size: 16px; font-weight: 650; line-height: 1.6; }
.law-dialog .law-dialog__steps p { margin: 4px 0 0; color: var(--dialog-muted); font-size: 14px; line-height: 1.7; }

@media (max-width: 600px) {
  .law-dialog { width: calc(100vw - 28px); max-height: calc(100dvh - 28px); border-radius: 5px; }
  .law-dialog__panel { max-height: calc(100dvh - 28px); }
  .law-dialog__header { padding: 18px 22px 20px; }
  .law-dialog__heading { margin-top: 19px; }
  .law-dialog h2 { font-size: 25px; line-height: 1.4; }
  .law-dialog__body { padding: 24px 22px 28px; font-size: 16px; line-height: 1.8; }
  .law-dialog__footer { padding: 16px 22px 14px; }
  .law-dialog__button { padding: 12px 12px; }
  .law-dialog__scroll-hint { font-size: 11px; gap: 6px; }
  .law-dialog--mobile-full { width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; margin: 0; top: 0; left: 0; }
  .law-dialog--mobile-full .law-dialog__panel { height: 100dvh; max-height: 100dvh; }
  .law-dialog--mobile-full .law-dialog__header { padding-top: max(16px, env(safe-area-inset-top)); }
  .law-dialog--mobile-full .law-dialog__footer { padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  .law-dialog__brand { font-size: 15px; }
  .law-dialog__brand-mark { width: 35px; height: 35px; }
  .law-dialog__hide-preference small { max-width: 130px; }
}

@media (prefers-reduced-motion: no-preference) {
  .law-dialog[open] { animation: law-dialog-enter .18s ease-out; }
  @keyframes law-dialog-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}

/* Entry notice: Sedam's reading flow, with Jihyang's established identity. */
.law-dialog--entry{width:min(700px,calc(100vw - 48px));max-height:calc(100dvh - 48px);border-radius:0;border:1px solid #ffffff29;box-shadow:0 24px 90px #06172c55}
.law-dialog--entry::backdrop{background:#081221bd;backdrop-filter:none}
.law-dialog--entry .law-dialog__panel{max-height:calc(100dvh - 50px)}
.law-dialog--entry .law-dialog__header{padding:14px 28px;background:var(--brand-dark,#173959);border-bottom:0}
.law-dialog--entry .law-dialog__topline{gap:14px}
.law-entry-brand{display:flex;align-items:center;gap:20px;min-width:0}
.law-entry-brand img{width:168px;height:auto;filter:brightness(0) invert(1)}
.law-entry-brand>span{padding-left:20px;border-left:1px solid #ffffff42;color:#fff;font-size:12px;white-space:nowrap;letter-spacing:-.03em}
.law-dialog--entry .law-dialog__close{width:44px;height:44px;border-color:#ffffff40;color:#fff;background:transparent}
.law-dialog--entry .law-dialog__close:hover{background:#ffffff12;border-color:#ffffff80}
.law-dialog--entry .law-dialog__close:focus-visible{outline:2px solid white}
.law-dialog--entry .law-dialog__body{padding:32px 36px;font-size:15px;line-height:1.95;color:#5b6775}
.law-dialog--entry .law-dialog__heading{margin:0;padding-bottom:30px;border-bottom:1px solid var(--dialog-line);color:var(--ink)}
.law-dialog--entry .law-dialog__eyebrow{display:inline-block;padding:6px 13px;background:#edf4fb;color:var(--brand);border-radius:20px;font-size:11px;margin-bottom:15px;font-weight:600;line-height:1.6}
.law-dialog--entry h2{font-size:28px;line-height:1.4;font-weight:600;letter-spacing:-.055em;text-wrap:initial}
.law-dialog--entry .law-dialog__content h3{padding-top:24px;margin:24px 0 14px;border-top:1px solid var(--dialog-line);font-size:17px;line-height:1.6;color:var(--ink);font-weight:600}
.law-dialog--entry .law-dialog__content h3:first-child{padding-top:24px;margin-top:0;border-top:0}
.law-dialog--entry .law-dialog__content h3:before{font-family:Arial,sans-serif!important;font-size:12px!important;font-weight:600!important;color:var(--brand)!important}
.law-dialog--entry .law-dialog__content p{margin:0 0 20px;word-break:keep-all;overflow-wrap:break-word}
.law-dialog--entry .law-dialog__content strong{color:var(--ink);font-weight:600}
.law-dialog--entry .law-dialog__footer{padding:10px 28px 8px;position:relative}
.law-dialog--entry .law-dialog__scroll-hint{position:static;transform:none;max-width:none;width:auto;margin:0 0 9px;padding:0;min-height:20px;gap:6px;box-shadow:none;background:transparent;color:#647385;font-size:11px;line-height:1.8;border-radius:0}
.law-dialog--entry .law-dialog__actions{gap:10px}
.law-dialog--entry .law-dialog__button{min-height:48px;line-height:1.5;font-size:14px;font-weight:500;padding:12px 14px;border-radius:6px}
.law-dialog--entry .law-dialog__button--secondary{flex:0 0 100px}
.law-dialog--entry .law-dialog__button--primary{flex:1;background:var(--brand);border-color:var(--brand);gap:12px}
.law-dialog--entry .law-dialog__button--primary:after{content:'→';font-size:19px;line-height:1}
.law-dialog--entry .law-dialog__button--primary:hover{background:#224b79}
.law-dialog__hide-today{display:block;margin:5px auto 0;min-height:44px;padding:8px 16px;font-size:12px;color:#687686;text-decoration:underline;text-underline-offset:3px;line-height:1.6}
.law-dialog__hide-today:hover{color:var(--brand)}
.law-dialog__hide-today:disabled{opacity:.5;cursor:default}
@media(max-width:600px){
 .law-dialog--entry{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);height:auto;margin:auto;top:auto;left:auto}
 .law-dialog--entry .law-dialog__panel{max-height:calc(100dvh - 26px);height:auto}
 .law-dialog--entry .law-dialog__header{padding:12px 18px}
 .law-entry-brand{gap:12px}.law-entry-brand img{width:136px}.law-entry-brand>span{font-size:10px;padding-left:12px}
 .law-dialog--entry .law-dialog__topline{gap:8px}
 .law-dialog--entry .law-dialog__body{padding:24px 22px;font-size:15px;line-height:1.95}
 .law-dialog--entry .law-dialog__heading{padding-bottom:25px}.law-dialog--entry .law-dialog__eyebrow{font-size:10px;margin-bottom:14px}
 .law-dialog--entry h2{font-size:24px;line-height:1.45}.law-dialog--entry .law-dialog__content h3{font-size:16px;gap:10px;padding-top:22px;margin-top:22px}
 .law-dialog--entry .law-dialog__footer{padding:9px 18px 8px}.law-dialog--entry .law-dialog__button{font-size:12px;padding:12px 10px}.law-dialog--entry .law-dialog__button--secondary{flex-basis:64px}
 .law-dialog--entry .law-dialog__scroll-hint{font-size:10px;margin-bottom:8px;gap:4px}
 .law-dialog__hide-today{font-size:11px;margin-top:3px}
}
@media(max-width:360px){.law-entry-brand img{width:115px}.law-entry-brand>span{padding-left:8px;font-size:9px}.law-entry-brand{gap:8px}}
.law-dialog--entry{inset:0;margin:auto}
@media(max-width:600px){.law-dialog--entry{inset:0;margin:auto}}
