:root{
  --legal-sky:#f9fdff;
  --legal-ink:#49384e;
  --legal-muted:#826e87;
  --legal-orchid:#a86fba;
  --legal-border:rgba(196,145,209,.34);
  --legal-font:"THEYellowRibbon","Jua","Malgun Gothic",sans-serif;
}
*{box-sizing:border-box}
.homeLegalLinks{display:flex;align-items:center;justify-content:center;gap:8px;margin:3px 0 1px;color:#92739a;font-size:14px;line-height:1.3;letter-spacing:.02em;white-space:nowrap;pointer-events:auto}
.homeLegalLinks a{color:inherit;text-decoration:none}
.homeLegalLinks a:hover{color:#a65fba;text-decoration:underline;text-underline-offset:3px}
.homeLegalLinks a:focus-visible{border-radius:4px;outline:3px solid rgba(220,169,230,.95);outline-offset:2px}

body.legalDocument{min-height:100svh;margin:0;background:radial-gradient(circle at 85% 8%,rgba(229,190,238,.32),transparent 30%),linear-gradient(180deg,#fff 0%,var(--legal-sky) 100%);color:var(--legal-ink);font-family:var(--legal-font);font-weight:400}
.legalHeader{position:sticky;z-index:10;top:0;border-bottom:1px solid var(--legal-border);background:rgba(255,255,255,.88);backdrop-filter:blur(16px)}
.legalHeaderInner{width:min(960px,calc(100% - 48px));min-height:76px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legalBrand{display:inline-flex;width:128px;height:48px;align-items:center}
.legalBrand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.legalHomeLink{color:#76557f;font-size:14px;text-decoration:none}
.legalHomeLink:hover{color:var(--legal-orchid)}
.legalHomeLink:focus-visible,.legalContent a:focus-visible{border-radius:6px;outline:3px solid rgba(220,169,230,.95);outline-offset:3px}
.legalShell{width:min(960px,calc(100% - 48px));margin:0 auto;padding:54px 0 72px}
.legalHero{margin-bottom:24px}
.legalEyebrow{display:block;color:var(--legal-orchid);font-size:13px;letter-spacing:.18em}
.legalHero h1{margin:8px 0 6px;font-size:clamp(34px,6vw,58px);font-weight:400;line-height:1.05;letter-spacing:-.04em}
.legalHero p{margin:0;color:var(--legal-muted);font-size:15px}
.legalContent{padding:clamp(24px,5vw,52px);border:1px solid var(--legal-border);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 22px 60px rgba(83,49,94,.09)}
.legalContent section+section{margin-top:36px;padding-top:32px;border-top:1px solid rgba(196,145,209,.22)}
.legalContent h2{margin:0 0 14px;color:#5f4268;font-size:22px;font-weight:400}
.legalContent p,.legalContent li{font-size:16px;line-height:1.85}
.legalContent p{margin:0 0 12px}
.legalContent ul{margin:10px 0 14px;padding-left:22px}
.legalContent a{color:#8e54a0;text-decoration:underline;text-decoration-color:rgba(142,84,160,.4);text-underline-offset:3px;overflow-wrap:anywhere}
.legalLinks{display:grid;gap:8px;margin:16px 0}
.legalNotice{padding:15px 17px;border-radius:16px;background:#f8effa;color:#705377}
.legalPageFooter{padding:24px;color:#927f97;font-size:13px;text-align:center}
.legalPageFooter a{color:#8e54a0;text-decoration:none}
.legalPageFooter a:hover{text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){
  .homeLegalLinks{font-size:13px}
  .legalHeaderInner,.legalShell{width:calc(100% - 36px)}
  .legalShell{padding-top:38px}
}
@media(max-width:520px){
  .homeLegalLinks{gap:5px;white-space:normal}
  .legalHeaderInner{min-height:66px}
  .legalBrand{width:104px;height:42px}
  .legalHomeLink{font-size:13px}
  .legalShell{padding:30px 0 48px}
  .legalHero h1{font-size:34px}
  .legalContent{padding:22px 18px;border-radius:20px}
  .legalContent section+section{margin-top:28px;padding-top:26px}
  .legalContent h2{font-size:20px}
  .legalContent p,.legalContent li{font-size:15px;line-height:1.78}
}

/* YouTube API policy consent and persistent legal access. */
html.policyConsentOpen,
body.policyConsentOpen{overflow:hidden}
.globalLegalDock{
  position:fixed;
  z-index:950;
  left:14px;
  bottom:12px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid rgba(196,145,209,.38);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:0 6px 20px rgba(77,48,86,.08);
  color:#826e87;
  font-family:var(--legal-font);
  font-size:11px;
  line-height:1;
  backdrop-filter:blur(12px);
}
.globalLegalDock a{color:inherit;text-decoration:none}
.globalLegalDock a:hover{color:#8e54a0;text-decoration:underline;text-underline-offset:2px}
.globalLegalDock a:focus-visible{border-radius:4px;outline:2px solid rgba(220,169,230,.95);outline-offset:2px}
.policyConsent[hidden]{display:none}
.policyConsent{
  position:fixed;
  z-index:10000;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  overflow:auto;
  background:rgba(39,29,43,.48);
  backdrop-filter:blur(10px);
}
.policyConsentCard{
  width:min(660px,100%);
  max-height:calc(100svh - 48px);
  padding:30px;
  overflow:auto;
  border:1px solid rgba(196,145,209,.58);
  border-radius:26px;
  background:#fff;
  box-shadow:0 24px 80px rgba(52,32,61,.2);
  color:var(--legal-ink);
  font-family:var(--legal-font);
  font-weight:400;
}
.policyConsentEyebrow{display:block;color:var(--legal-orchid);font-size:12px;letter-spacing:.18em}
.policyConsentCard h2{margin:8px 0 14px;font-size:28px;font-weight:400;line-height:1.25}
.policyConsentCard p,.policyConsentCard li{font-size:15px;line-height:1.65}
.policyConsentCard ul{margin:16px 0;padding:14px 18px 14px 36px;border-radius:16px;background:#fbf6fc}
.policyConsentLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.policyConsentLinks a{
  padding:10px 12px;
  border:1px solid rgba(196,145,209,.38);
  border-radius:12px;
  color:#76557f;
  text-align:center;
  text-decoration:none;
}
.policyConsentLinks a:hover{border-color:#bd82cb;background:#fbf5fc}
.policyConsentAgreement{margin:18px 0 14px;color:#5f4268}
.policyConsentCard>button{
  width:100%;
  min-height:48px;
  border:1px solid #a86fba;
  border-radius:14px;
  background:#a86fba;
  color:#fff;
  font:400 16px/1 var(--legal-font);
  cursor:pointer;
}
.policyConsentCard>button:hover{background:#965ba8}
.policyConsentCard>button:focus-visible,.policyConsentLinks a:focus-visible{outline:3px solid rgba(220,169,230,.95);outline-offset:3px}
.policyConsentFootnote{margin:12px 0 0!important;color:var(--legal-muted);font-size:12px!important;text-align:center}
.policyConsentFootnote a{color:#8e54a0}
.accountPolicyConsent{display:flex!important;align-items:flex-start;gap:8px}
.accountPolicyConsent input{flex:0 0 auto;width:16px!important;margin-top:3px}
.accountPolicyConsent span{font-size:12px;line-height:1.5}
.accountPolicyConsent a{color:#8e54a0}
@media(max-width:900px){
  .globalLegalDock{position:relative;z-index:40;left:auto;bottom:auto;width:max-content;max-width:calc(100% - 24px);justify-content:center;margin:28px auto 14px}
}
@media(max-width:700px){
  .globalLegalDock{gap:5px;margin:24px auto 12px;padding:7px 9px;font-size:10px}
  .policyConsent{padding:12px}
  .policyConsentCard{max-height:calc(100svh - 24px);padding:23px 18px;border-radius:20px}
  .policyConsentCard h2{font-size:23px}
  .policyConsentCard p,.policyConsentCard li{font-size:14px}
  .policyConsentLinks{grid-template-columns:1fr}
}

