/* EMMU layout reference: emmu.co.jp/ja/terms. Published page and editor share device fonts. */
.score-legal-page,.score-legal-admin{--score-legal-font:"Meiryo UI",system-ui,sans-serif;font-family:var(--score-legal-font)}
.score-legal-page{margin:0;background:#fff;color:#111;font-family:var(--score-legal-font);font-size:16px;line-height:1.8}
.score-legal-page *{box-sizing:border-box}
.score-legal-page a,.score-legal-body a{color:#176875;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.score-legal-hero{min-height:273px;background:linear-gradient(0deg,rgba(0,29,37,.2),rgba(0,29,37,.2)),url("./hero.webp") center/cover;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;padding:36px 20px}
.score-legal-brand{font-family:var(--score-legal-font);font-size:clamp(34px,5vw,56px);font-weight:700;letter-spacing:.08em}
.score-legal-hero p{font-size:14px;letter-spacing:.12em;margin:12px 0 0}
.score-legal-wrap{width:100%;max-width:1080px;margin:0 auto;padding:40px 20px}
.score-legal-meta{font-size:13px;color:#666;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px 20px}
.score-legal-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:24px 0 40px;font-size:14px}
.score-legal-section{scroll-margin-top:20px}
.score-legal-title{font-family:var(--score-legal-font);font-size:32px;font-weight:400;line-height:1.4;text-align:center;margin:0 0 40px}
.score-legal-body{font-family:var(--score-legal-font);font-size:16px;font-weight:400;line-height:1.8;color:#111;overflow-wrap:anywhere}
.score-legal-body h2{font-family:var(--score-legal-font);font-size:28px;font-weight:500;line-height:1.4;margin:32px 0 16px;color:#111}
.score-legal-body h2:first-child{margin-top:0}
.score-legal-body h3{font-family:var(--score-legal-font);font-size:21px;font-weight:500;line-height:1.5;margin:24px 0 12px;color:#111}
.score-legal-body p{margin:0 0 8px 24px}
.score-legal-body ol,.score-legal-body ul{margin:0 0 16px 24px;padding-left:1.5em}
.score-legal-body li{margin-bottom:8px}
.score-legal-body li p{margin-left:0}
.score-legal-body blockquote{margin:16px 0 16px 24px;padding:4px 16px;border-left:3px solid #b8c8ca}
.score-legal-top{text-align:right;font-size:13px;margin:28px 0 72px}
.score-legal-history{border-top:1px solid #ddd;padding-top:24px;margin:32px 0}
.score-legal-history h2{font-family:var(--score-legal-font);font-size:24px;font-weight:500}
.score-legal-history ul{padding-left:24px}
.score-legal-history time{margin-left:24px;color:#666;font-size:14px}
.score-legal-footer{padding:32px 20px;text-align:center;border-top:1px solid #eee;font-size:12px;color:#666}
.score-legal-preview{padding:16px 20px;background:#fff3cd;text-align:center;color:#503e08}
.score-legal-admin{padding-top:16px}
.score-legal-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px 16px;background:#f7f8f9;border-bottom:1px solid #d8dbe0}
.score-legal-toolbar select{width:auto;min-width:130px}
.score-legal-editor{background:#fff;min-height:320px;max-height:650px;overflow:auto;padding:28px;outline:none}
.score-legal-editor:focus{box-shadow:inset 0 0 0 2px #398bbd}
.score-legal-actions{position:sticky;bottom:0;z-index:10;background:#fff;border:1px solid #d8dbe0;border-radius:4px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;box-shadow:0 -3px 12px #00000008}
.score-legal-dialog{max-width:520px;width:calc(100% - 32px);padding:24px;border:0;border-radius:6px;box-shadow:0 12px 48px #0003;color:#333}
.score-legal-dialog::backdrop{background:#0006}
#score-legal-status{font-size:14px;color:#66727b}
/* Narrow screens and touch devices use their platform UI font. */
@media(max-width:600px),(hover:none) and (pointer:coarse){
 .score-legal-page,.score-legal-admin{--score-legal-font:system-ui,sans-serif}
}
@media(max-width:600px){
 .score-legal-hero{min-height:180px}
 .score-legal-wrap{padding:28px 16px}
 .score-legal-title{font-size:28px;margin-bottom:28px}
 .score-legal-body h2{font-size:24px}
 .score-legal-body h3{font-size:20px}
 .score-legal-body p,.score-legal-body ol,.score-legal-body ul{margin-left:12px}
 .score-legal-editor{padding:20px 14px;max-height:65vh}
 .score-legal-toolbar{padding:10px}
 .score-legal-actions{padding:12px}
 .score-legal-nav{justify-content:flex-start;gap:10px 20px;margin-bottom:32px}
}

/* 上限・保存期間の表。本文と管理画面で同じ表示を使う。 */
.score-legal-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:20px 0;width:100%;font-size:15px}
.score-legal-body caption{text-align:left;font-weight:600;padding:8px 0}
.score-legal-body th,.score-legal-body td{border:1px solid #b8c8ca;padding:10px 12px;vertical-align:top;min-width:90px}
.score-legal-body th{background:#f0f5f5;text-align:left;font-weight:600}
