@layer t2.module {
/* Path: T2Editor/js/utils/privacy-consent.css */
/* 개인정보 표면 토큰. 역할별로 중립 재료·잉크 토큰에서만 가져온다.
   제품색은 강조(primary)와 은은한 면(subtle)에만 쓴다 — 표면색이나 본문
   글자색으로 쓰면 대비가 무너진다. 다크 매핑이 실제로 그렇게 되어 있었고,
   결과는 밝은 파란 상자 위에 11% 불투명도 파란 글자였다(사실상 안 보임). */
.t2privacy-dialog,.t2privacy-notice{--t2-privacy-surface:var(--t2-floating);--t2-privacy-on-surface:var(--t2-ink);--t2-privacy-muted:var(--t2-ink-muted);--t2-privacy-subtle:var(--t2-product-wash);--t2-privacy-border:rgba(20,24,31,.18);--t2-privacy-primary:var(--t2-product);--t2-privacy-primary-text:#fff;--t2-privacy-focus:rgba(53,111,192,.48)}
:root[data-theme="dark"] .t2privacy-dialog,:root[data-theme="dark"] .t2privacy-notice,:root[data-t2editor-theme="dark"] .t2privacy-dialog,:root[data-t2editor-theme="dark"] .t2privacy-notice{--t2-privacy-surface:var(--t2-floating);--t2-privacy-on-surface:var(--t2-ink);--t2-privacy-muted:var(--t2-ink-muted);--t2-privacy-subtle:var(--t2-product-wash);--t2-privacy-border:var(--t2-line-strong);--t2-privacy-primary:var(--t2-product);--t2-privacy-primary-text:var(--t2-base);--t2-privacy-focus:rgba(127,168,255,.52)}
@media(prefers-color-scheme:dark){:root:not([data-theme]):not([data-t2editor-theme]) .t2privacy-dialog,:root:not([data-theme]):not([data-t2editor-theme]) .t2privacy-notice{--t2-privacy-surface:var(--t2-floating);--t2-privacy-on-surface:var(--t2-ink);--t2-privacy-muted:var(--t2-ink-muted);--t2-privacy-subtle:var(--t2-product-wash);--t2-privacy-border:var(--t2-line-strong);--t2-privacy-primary:var(--t2-product);--t2-privacy-primary-text:var(--t2-base);--t2-privacy-focus:rgba(127,168,255,.52)}}
/* 기하·위치·딤·본문 잠금·스크롤 소유권은 공통 모달 원형(js/utils/modal.css)이
   갖는다. 여기에는 개인정보 표면의 재료와 타이포그래피만 남는다 — 두 곳이 같은
   상자를 각자 정하면 어느 쪽이 이겼는지 화면을 봐야만 알 수 있다(708 G-4). */
.t2privacy-dialog{color-scheme:light dark;color:var(--t2-privacy-on-surface);outline:none}
.t2privacy-dialog h2{margin:0 0 var(--t2-s2);font-size:20px;line-height:1.35}.t2privacy-dialog p{margin:0 0 var(--t2-s3);line-height:1.58}
.t2privacy-data{margin:var(--t2-s3) 0 var(--t2-s4);padding:var(--t2-s3) var(--t2-s4);border:1px solid var(--t2-privacy-border);border-radius: var(--t2-radius-island);background:var(--t2-privacy-subtle)}
.t2privacy-data strong{display:block;margin-bottom:var(--t2-s2)}.t2privacy-data ul{margin:0;padding-left:var(--t2-s5)}.t2privacy-data li{margin:var(--t2-s1) 0;line-height:1.45}
.t2privacy-detail{font-size:12px;color:var(--t2-privacy-muted)}
.t2privacy-actions{display:flex;justify-content:flex-end;gap:var(--t2-s2);flex-wrap:wrap;margin-top:var(--t2-s4)}
.t2privacy-btn{min-height:44px;border-radius: var(--t2-radius-island);border:1px solid var(--t2-privacy-border);padding:var(--t2-s2) var(--t2-s3);background:var(--t2-privacy-surface);color:var(--t2-privacy-on-surface);font:inherit;font-weight:700;cursor:pointer;-webkit-appearance:none;appearance:none}
.t2privacy-btn:focus-visible{outline:1px solid var(--t2-privacy-focus);outline-offset:2px}.t2privacy-btn-primary{border-color:transparent;background:transparent linear-gradient(var(--t2-privacy-primary),var(--t2-privacy-primary)) center bottom / calc(100% - 16px) 2px no-repeat;color:var(--t2-privacy-primary);font-weight:750}
.t2privacy-notice{color-scheme:light dark;color:var(--t2-privacy-on-surface);line-height:1.48}
.t2privacy-notice strong{display:block;margin-bottom:var(--t2-s1)}
/* overflow:hidden 은 펼침 영역을 각 안쪽으로 자르려고 건 것인데, 그 부작용으로
   flex 항목의 자동 최소 크기가 0 이 된다(자동 최소 크기는 overflow:visible 일 때만
   내용 높이를 지킨다). 그래서 이 고지가 세로 flex 컨테이너 안에 들어가면 높이가
   눌려 자기 글자를 잘랐다 — AI 패널 재구성 모드에서 44.1px 상자가 51px 짜리 두 줄
   요약을 담고 있었다(실측). 줄어들지 않게 못 박는다. flex 밖 문맥에서는 무시된다. */
.t2privacy-inline{display:block;flex:0 0 auto;min-width:0;margin:var(--t2-s2) 0 var(--t2-s3);padding:0;border:1px solid rgba(127,127,127,.26);border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius: var(--t2-radius-island);background:rgba(127,127,127,.06);background:color-mix(in srgb,currentColor 5%,transparent);color:inherit;font-size:12px;line-height:1.45;text-align:left;opacity:.92;overflow:hidden}
.t2privacy-inline-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--t2-s2);width:100%;min-height:44px;margin:0;padding:var(--t2-s2) var(--t2-s3);border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;font-weight:650;line-height:1.45;text-align:start;cursor:pointer;-webkit-appearance:none;appearance:none}
.t2privacy-inline-toggle:focus-visible{outline:1px solid rgba(53,111,192,.5);outline:1px solid color-mix(in srgb,var(--t2-product) 55%,transparent);outline-offset:-3px}
.t2privacy-inline-summary{display:block;min-width:0;white-space:pre-line;overflow-wrap:anywhere}
.t2privacy-inline-arrow{flex:0 0 20px;width:20px;height:20px;transition:transform .18s ease;transform:rotate(0deg)}
.t2privacy-inline-arrow path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t2privacy-inline-toggle[aria-expanded="true"] .t2privacy-inline-arrow{transform:rotate(180deg)}
.t2privacy-inline-details{padding:0 var(--t2-s3) var(--t2-s3);border-top:1px solid rgba(127,127,127,.2);border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.t2privacy-inline-details[hidden]{display:none!important}
.t2privacy-inline-details-title{margin:var(--t2-s2) 0 var(--t2-s2);font-weight:700;opacity:.78}
.t2privacy-inline-list{display:grid;gap:var(--t2-s1);margin:0;padding:0;list-style:none}
.t2privacy-inline-list li{position:relative;display:grid;grid-template-columns:8px minmax(0,1fr);gap:var(--t2-s2);align-items:start;margin:0;padding:0;min-width:0;overflow-wrap:anywhere}
.t2privacy-inline-list li::before{content:"";width:6px;height:6px;margin-top:.5em;border-radius:50%;background:currentColor;opacity:.46}
.t2privacy-compliance-notice{border-width: 1px}.t2privacy-compliance-notice strong{padding-right:var(--t2-s2)}
.t2privacy-notice-body{white-space:pre-line}
@media(max-width:640px){.t2privacy-actions{display:grid;grid-template-columns:1fr}.t2privacy-btn{width:100%}.t2privacy-inline-toggle{min-height:44px}}
@media(prefers-reduced-motion:reduce){.t2privacy-inline-arrow{transition:none}}

/* 706 의 스크롤 소유권은 모달 표면이 갖는다. 개인정보 표면은 그 안의 내용이다. */
.t2privacy-dialog { max-width: 100%; }

}
