.sg-privacy-notice {
    position: fixed; bottom: 16px; left: 16px; right: 16px; z-index: 1200;
    max-width: 680px; margin-left: auto; padding: 24px;
    background: #fff; color: var(--ink); border: 1px solid #d8d2cb;
    border-radius: var(--r-sm); font-size: var(--t-sm); line-height: 1.7;
    max-height: calc(100dvh - 32px); overflow-y: auto; text-align: left;
}
.sg-privacy-notice h2 { margin: 0 0 8px; color: var(--ink); font-size: var(--t-lg); }
.sg-privacy-notice p { margin: 8px 0; }
.sg-privacy-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.sg-privacy-actions button, .sg-privacy-settings {
    background: transparent; color: var(--hanji); font: inherit; cursor: pointer;
    border: 1px solid var(--line-strong); border-radius: var(--r-sm); padding: 10px 16px;
}
.sg-privacy-actions button {
    flex: 1; min-height: 44px; background: #fff; color: var(--ink); border-color: #b8aea3;
}
.sg-privacy-actions button:hover, .sg-privacy-actions button:focus-visible {
    background: #f3f0ec; color: var(--ink);
}
.sg-privacy-actions button:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.sg-privacy-actions button:disabled { cursor: wait; opacity: .6; }
.sg-privacy-settings { border: 0; padding: 0; text-align: left; }
.sg-privacy-notice a { color: var(--ink); text-decoration: underline; }
.sg-policy a { color: var(--hanji-title); text-decoration: underline; }
.sg-policy { max-width: 880px; margin: 0 auto; padding: 64px var(--gut); color: var(--hanji); line-height: 1.85; text-align: left; }
.sg-policy h1 { font-family: var(--serif); font-size: var(--t-2xl); margin-bottom: 16px; }
.sg-policy h2 { font-size: var(--t-lg); margin: 40px 0 16px; color: var(--hanji-title); }
.sg-policy ul { padding-left: 24px; }
.sg-policy-table { overflow-x: auto; }
.sg-policy table { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.sg-policy th, .sg-policy td { border-bottom: 1px solid var(--line); padding: 12px; text-align: left; vertical-align: top; }
.sg-policy time { color: var(--hanji-dim); }
.sg-privacy-status { color: var(--hanji-dim); }
@media (max-width: 480px) {
    .sg-privacy-notice { padding: 16px; bottom: 8px; left: 8px; right: 8px; }
    .sg-policy { padding-top: 40px; }
}
