/* Approved Teddy visual direction, real HTML controls, original content retained. */
body.teddy-family-info,body.teddy-family-account{max-width:none!important;margin:0!important;padding:clamp(12px,3vw,40px)!important;background:#071a34!important;color:#f0f7ff!important;font:1rem/1.65 system-ui,sans-serif;min-height:100vh;box-sizing:border-box}
.teddy-family-info *,.teddy-family-account *{box-sizing:border-box}
.teddy-family-info a,.teddy-family-account a{color:#9defff}
.teddy-family-info a:focus-visible,.teddy-family-account :is(a,button,input,summary):focus-visible{outline:3px solid #ffe29d!important;outline-offset:4px}
.teddy-family-info .v114-nav,.teddy-family-account>header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 18px;background:#0b294b;border:1px solid #ba9a56;border-radius:18px;max-width:1440px;margin:0 auto 24px}
.teddy-family-info nav a,.teddy-family-account header a{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;text-decoration:none;border-radius:10px}
.teddy-family-info a:hover,.teddy-family-account a:hover{background:#164367}
.teddy-info-hero{position:relative;max-width:1440px;min-height:360px;margin:0 auto 24px;border:1px solid #e8c474;border-radius:24px;overflow:hidden;isolation:isolate;background:#082849}
.teddy-info-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}
.teddy-info-hero>div{padding:clamp(20px,4vw,54px);width:46%;min-height:360px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#071a34e8,#071a3450)}
.teddy-info-hero h1{margin:0;color:#fff!important;font-size:clamp(26px,3.2vw,48px);line-height:1.15;text-wrap:balance}
.teddy-info-hero p{color:#f8d58e}
.teddy-info-layout{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:24px;max-width:1440px;margin:auto}
.teddy-contents{display:flex;flex-direction:column;gap:6px;align-self:start;background:#0c2948;border:1px solid #4c7997;border-radius:18px;padding:14px;position:sticky;top:16px}
.teddy-contents a{border-bottom:1px solid #31546e}
.teddy-information{background:linear-gradient(140deg,#12375a,#0a213c);border:1px solid #6e98af;border-radius:20px;padding:clamp(18px,4vw,42px);min-width:0;overflow-wrap:anywhere}
.teddy-information h2{color:#a7edff!important;scroll-margin-top:24px;margin-top:2rem;padding-top:1rem;border-top:1px solid #7899aa}
.teddy-information p{max-width:80ch}
.teddy-skip{position:absolute;left:16px;top:-150px;z-index:10;background:#071a34;padding:12px}.teddy-skip:focus{top:16px}
.teddy-family-account .login-scene{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(0,1.3fr);gap:clamp(24px,4vw,64px);max-width:1440px;margin:auto;padding:24px 0;align-items:start;min-height:0;background:none}
.teddy-family-account .login-panel{order:0;width:100%;max-width:640px;padding:clamp(20px,3vw,40px);background:linear-gradient(145deg,#143758,#071c35)!important;color:#f0f7ff;border:1px solid #75d6ee;border-radius:24px;box-shadow:0 0 24px #45bcff25}
.teddy-family-account .login-intro{order:1;min-width:0;display:flex;flex-direction:column;background:none;padding:0}
.teddy-family-account .login-intro .signin-mascot{order:4;display:block!important;position:static!important;float:none;width:100%!important;max-width:none!important;height:auto!important;object-fit:contain;transform:none!important;margin:20px 0;border:1px solid #ddb86b;border-radius:20px;filter:none}
.teddy-family-account .login-intro h1{color:#fff;font-size:clamp(30px,4vw,58px);line-height:1.15;margin:12px 0}
.teddy-family-account :is(input,button,summary){min-height:44px;font:inherit}
.teddy-family-account input{width:100%;color:#09213a!important;background:#f5fbff!important;border:2px solid #78bfdb;padding:12px;border-radius:10px}
.teddy-family-account button{white-space:normal;cursor:pointer;border-radius:12px;padding:12px 18px;color:#09213a;background:linear-gradient(#ffe7b0,#deb769);border:1px solid #fff1cb}
.teddy-family-account button[type=submit]{width:100%;margin:16px 0;background:linear-gradient(#36bbff,#0874d9);color:white;border:1px solid #a5edff}
.teddy-family-account button:disabled{cursor:wait;opacity:.6}
.teddy-family-account .recovery-alternative{margin-top:20px;padding:16px;border:1px solid #648eac;border-radius:12px}.teddy-family-account summary{cursor:pointer}
.teddy-family-account .login-links{display:flex;flex-wrap:wrap;gap:16px}.teddy-family-account .login-links a{min-height:44px;display:inline-flex;align-items:center}
.teddy-family-account footer{max-width:1440px;margin:28px auto;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}
/* Claude (on R30): footer links are touch targets too: at least 44x44 (WCAG 2.5.5), without changing the look */
.teddy-family-account footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 6px}
@media(max-width:800px){.teddy-info-layout{grid-template-columns:1fr}.teddy-contents{position:static;display:flex;flex-direction:row;flex-wrap:wrap}.teddy-info-hero{min-height:0}.teddy-info-hero>div{width:100%;min-height:0;padding:24px;background:#0a2545}.teddy-info-hero>img{position:static;height:auto;display:block;z-index:auto}.teddy-family-account .login-scene{grid-template-columns:1fr}.teddy-family-account .login-panel{max-width:none}.teddy-family-account .login-intro{order:0}.teddy-family-account .login-panel{order:1}.teddy-family-account .login-intro .signin-mascot{max-height:300px!important;width:100%!important;object-fit:contain}.teddy-family-info .v114-nav{gap:4px}.teddy-family-account header nav{display:flex;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.teddy-family-account *,.teddy-family-info *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* R41: the "Back" link on information pages is a full-size touch target */
.teddy-information>a[href]{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
