/* Home controls measured from the public reference. Page/card layout stays with the caller. */
.home-nav.ylh-header{box-sizing:border-box;position:absolute;z-index:30;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px;font-family:var(--app-font,Poppins,sans-serif)}
.ylh-header button{font-family:inherit;color:inherit;cursor:pointer;margin:0}
.ylh-header .ylh-left{display:flex;align-items:center;flex:1;gap:10px;min-width:0}
.ylh-header .ylh-menu-wrap,.ylh-header .ylh-settings-wrap{position:relative;z-index:1;transition:opacity .2s,transform .2s}
.ylh-header .ylh-circle{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #ffffff1a;border-radius:50%;background:#ffffff14;transition:background .15s}
.ylh-header .ylh-circle:hover{background:#ffffff24}
.ylh-header .ylh-menu-icon,.ylh-header .ylh-settings-icon{display:block;width:18px;height:18px;filter:invert(1);opacity:.7}
.ylh-header>.ylh-logo-link{position:absolute;z-index:10;left:50%;top:auto;display:block;width:calc(50px * 230.055 / 102.9);height:50px;transform:translateX(-50%);padding:0;border:0;background:transparent}
.ylh-header .ylh-logo-link img{display:block;width:auto;height:50px;max-width:none;filter:brightness(0) invert(1)}
.ylh-header .ylh-right{position:relative;z-index:10;display:flex;align-items:stretch;justify-content:flex-end;flex:1;gap:10px}
.ylh-header .ylh-language-wrap{position:relative;display:flex}
.ylh-header .ylh-language-button,.ylh-header .ylh-profile-button{box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #ffffff1a;border-radius:100px;background:#ffffff14;color:#ffffffd9;font-size:14px;font-weight:500;line-height:1.5;white-space:nowrap;text-decoration:none;transition:background .15s}
.ylh-header .ylh-profile-button{padding:8px 18px;min-height:42px;max-width:210px}
.ylh-header .ylh-profile-button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ylh-header .ylh-language-button:hover,.ylh-header .ylh-profile-button:hover{background:#ffffff24}
.ylh-header .ylh-language-icon{display:block;flex-shrink:0;width:24px;height:24px;filter:invert(1);opacity:.85}
.ylh-header .ylh-login-icon{display:block;flex-shrink:0;width:16px;height:16px;filter:invert(1);opacity:.8}
.ylh-header .ylh-popup-scrim{position:fixed;z-index:99;inset:0;display:block;width:100vw;height:100dvh;padding:0;border:0;background:#0000008c;cursor:default}
.ylh-header.ylh-menu-open .ylh-menu-wrap{z-index:100;opacity:1;transform:scale(1.1)}
.ylh-header.ylh-menu-open #menu-button{z-index:100}
.ylh-header.ylh-menu-open .ylh-settings-wrap{opacity:.4}
.ylh-header.ylh-language-open .ylh-right{z-index:100}
.ylh-header.ylh-language-open #language{position:relative;z-index:100}
.ylh-header.ylh-language-open #profile-button{opacity:.45}
.ylh-header .ylh-menu-dropdown{box-sizing:border-box;position:absolute;z-index:100;top:calc(100% + 8px);left:0;width:max-content;min-width:214px;max-width:calc(100vw - 40px);padding:6px;border:1px solid #ffffff1a;border-radius:12px;background:#10101b;white-space:nowrap}
.ylh-header .ylh-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:38px;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:#ffffffd9;text-align:left;font-size:14px;font-weight:500;line-height:1.5;white-space:nowrap;text-decoration:none;transition:background .15s}
.ylh-header .ylh-menu-item:hover,.ylh-header .ylh-menu-item:focus-visible{outline:0;background:#ffffff12}
.ylh-header .ylh-menu-item-icon{display:block;flex-shrink:0;width:16px;height:16px;filter:invert(1);opacity:.6}
.ylh-header .ylh-menu-svg-icon{display:block;flex-shrink:0;width:16px;height:16px;color:#fff;opacity:.6}
.ylh-header .ylh-language-menu{box-sizing:border-box;position:absolute;z-index:100;top:calc(100% + 8px);right:0;display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:2px;margin:0;padding:6px;border:1px solid #ffffff1a;border-radius:12px;background:#10101b;white-space:nowrap}
.ylh-header .ylh-language-menu button{display:block;width:100%;padding:9px 16px;border:0;border-radius:8px;background:transparent;color:#ffffffd9;text-align:left;font-size:14px;font-weight:500;line-height:1.5;transition:background .15s}
.ylh-header .ylh-language-menu button:hover,.ylh-header .ylh-language-menu button:focus-visible{outline:0;background:#ffffff12}
.ylh-header .ylh-language-menu button.active{background:#ffffff1a;color:#fff}
@media(hover:hover) and (pointer:fine){
 .ylh-header .ylh-left:has(.ylh-menu-wrap:hover):not(:has([aria-expanded=true])) .ylh-settings-wrap,.ylh-header .ylh-left:has(.ylh-settings-wrap:hover):not(:has([aria-expanded=true])) .ylh-menu-wrap{opacity:.4}
 .ylh-header:not(.ylh-menu-open) .ylh-menu-wrap:hover,.ylh-header:not(.ylh-menu-open) .ylh-settings-wrap:hover{transform:scale(1.1)}
}
/* Shared dialog wrapper supplied by app.showModal. */
dialog.settings-dialog,dialog.language-dialog,dialog.home-sub-dialog{box-sizing:border-box;color:#fff;background:#10101b;border:0;border-radius:20px;max-width:90vw;max-height:85vh;font-family:var(--app-font,Poppins,sans-serif);position:fixed;overflow-y:auto}
dialog.settings-dialog{width:640px;padding:28px 30px 24px}
dialog.language-dialog,dialog.home-sub-dialog{width:420px;border:1px solid #ffffff1a;padding:28px 24px 24px}
dialog.settings-dialog::backdrop,dialog.language-dialog::backdrop,dialog.home-sub-dialog::backdrop{background:#0000008c;backdrop-filter:none}
dialog.settings-dialog>.modal-title,dialog.language-dialog>.modal-title,dialog.home-sub-dialog>.modal-title{margin:0 42px 14px 0;text-align:left;font-size:20px;font-weight:600;line-height:1.5}
dialog.settings-dialog>.modal-body,dialog.language-dialog>.modal-body,dialog.home-sub-dialog>.modal-body{color:inherit;font-family:inherit;font-size:14px;line-height:1.5}
dialog.settings-dialog>.modal-close,dialog.language-dialog>.modal-close,dialog.home-sub-dialog>.modal-close{box-sizing:border-box;position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #ffffff1a;border-radius:50%;background:#ffffff14;color:#ffffffb3;font-family:inherit;font-size:26px;line-height:1;cursor:pointer}
dialog.settings-dialog>.modal-close:hover,dialog.language-dialog>.modal-close:hover,dialog.home-sub-dialog>.modal-close:hover{background:#ffffff24;color:#fff}
.ylh-settings-columns{display:flex;gap:24px}
.ylh-settings-col{flex:1;min-width:0}
.settings-dialog .ylh-section-label{margin:14px 0 6px;padding:0;color:#ffffff59;text-align:left;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:1px;text-transform:uppercase}
.settings-dialog .ylh-section-label:first-child{margin-top:0}
.settings-dialog .ylh-setting-row,.home-sub-dialog .ylh-setting-row{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:0 0 6px;padding:12px 14px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff08;color:inherit;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s}
.settings-dialog .ylh-setting-row:hover,.home-sub-dialog .ylh-setting-row:hover{background:#ffffff12}
.ylh-row-left{display:flex;align-items:center;gap:12px;min-width:0}
.ylh-row-icon{display:block;flex-shrink:0;width:18px;height:18px;filter:invert(1);opacity:.6}
.ylh-row-icon-svg{display:block;flex-shrink:0;width:18px;height:18px;color:#fff;opacity:.6}
.ylh-row-text{min-width:0;color:#ffffffd9;text-align:start;font-size:14px;font-weight:500;line-height:1.25;hyphens:auto;overflow-wrap:anywhere}
.ylh-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ylh-row-value{flex-shrink:0;color:#fff6;text-align:end;white-space:nowrap;font-size:13px}
.ylh-row-chevron{flex-shrink:0;width:16px;height:16px;color:#fff;opacity:.4}
.ylh-row-check{flex-shrink:0;width:16px;height:16px;color:#fff}
.ylh-switch{position:relative;display:block;flex-shrink:0;width:40px;height:22px;border-radius:11px;background:#ffffff26;transition:background .2s}
.ylh-switch>span{position:absolute;top:2px;left:2px;display:block;width:18px;height:18px;border-radius:50%;background:#fff;opacity:.9;transition:transform .2s}
.ylh-switch.on{background:#db5049}
.ylh-switch.on>span{transform:translateX(18px);opacity:1}
.settings-dialog .ylh-inline-note{margin:0 4px 10px;color:#ffffff73;text-align:left;font-size:11px;line-height:1.4}
.ylh-inline-note[hidden]{display:none!important}
.settings-dialog .ylh-contact-footer{text-align:center;margin-top:18px;padding:24px 14px 0;border-top:1px solid #ffffff0f;background:transparent}
.settings-dialog .ylh-contact-footer p{margin:0 0 6px;color:#ffffff59;font-size:12px;line-height:1.5}
.settings-dialog .ylh-contact-footer button{padding:0;border:0;background:transparent;color:#fffc;font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;cursor:pointer}
.settings-dialog .ylh-contact-footer button:hover{color:#fff}
.ylh-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0}
.language-dialog .ylh-language-grid button{display:block;width:100%;padding:12px 16px;border:0;border-radius:10px;background:transparent;color:#ffffffd9;font-family:inherit;text-align:left;font-size:14px;font-weight:500;line-height:1.5;cursor:pointer;transition:background .15s}
.language-dialog .ylh-language-grid button:hover{background:#ffffff12}
.language-dialog .ylh-language-grid button.active{background:#ffffff1a;color:#fff}
.home-sub-dialog .ylh-policy-copy{margin:0 0 14px;color:#ffffffb3;text-align:left;font-size:14px;line-height:1.5}
.home-sub-dialog .ylh-sub-action{display:block;width:100%;padding:10px 16px;border:1px solid #ffffff1a;border-radius:10px;background:#ffffff14;color:#ffffffd9;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer}
.home-sub-dialog .ylh-sub-action:hover{background:#ffffff24}
.home-sub-dialog .ylh-back-settings{display:flex;align-items:center;gap:6px;margin-top:12px;padding:6px 0;border:0;background:transparent;color:#ffffff80;font-family:inherit;font-size:13px;cursor:pointer}
.ylh-back-settings svg{width:16px;height:16px}
@media(max-width:320px),(orientation:portrait){
 .home-nav.ylh-header{position:relative;padding:10px 12px}
 .ylh-header>.ylh-logo-link{display:none}
 .ylh-header .ylh-left,.ylh-header .ylh-right{gap:6px}
 .ylh-header .ylh-circle{width:46px;height:46px}
 .ylh-header .ylh-menu-icon,.ylh-header .ylh-settings-icon{width:20px;height:20px}
 .ylh-header .ylh-current-language{display:none}
 .ylh-header .ylh-language-button{padding:8px 12px}
 .ylh-header .ylh-profile-button{height:46px;padding:8px 16px;max-width:160px}
 .ylh-header .ylh-language-menu{position:fixed;top:auto;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;padding:10px;border-radius:18px;white-space:normal;animation:ylh-language-sheet-in .2s ease-out}
 .ylh-header .ylh-language-menu button{padding:13px 16px}
 dialog.settings-dialog{width:380px}
 .ylh-settings-columns{flex-direction:column;gap:0}
 .settings-dialog .ylh-settings-col+.ylh-settings-col{margin-top:14px}
}
@keyframes ylh-language-sheet-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.ylh-header *,.settings-dialog *,.language-dialog *,.home-sub-dialog *{animation:none!important;transition:none!important}}
