/* Upfront app installation follows the existing rose / plum controls. */
[data-up-install][hidden]{display:none!important}
.up-install-entry{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ddb3c9;border-radius:10px;background:#fff7fb99;color:#593747;min-height:40px;padding:8px 11px;font:600 12px/1.2 var(--sans);white-space:nowrap}
.up-install-entry svg{width:18px;height:18px;flex:none}.up-install-header{width:36px;min-height:40px;padding:7px;border:0;background:transparent}.up-install-header span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.up-install-entry:hover{background:#f4dbe9}.up-install-entry:focus-visible,.up-install-menu:focus-visible{outline:2px solid #824366;outline-offset:3px}
.auth-tools .up-install-auth{width:36px;height:40px;border-radius:10px}.auth-tools .up-install-auth span{display:none}
.account-settings .up-install-menu{width:100%;display:flex;align-items:center;gap:12px;padding:16px;text-align:left;color:var(--ink);background:transparent;border:0;border-top:1px solid var(--line);font-family:var(--sans)}
.up-install-menu>span:nth-child(2){flex:1;min-width:0}.up-install-menu b,.up-install-menu small{display:block}.up-install-menu b{font-size:14px;font-weight:650;line-height:1.5}.up-install-menu small{font-size:12px;line-height:1.5;color:#75566c;margin-top:2px}.up-install-menu svg{width:21px;height:21px;flex:none}
.up-install-dialog{box-sizing:border-box;width:min(480px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:26px;border:1px solid #dbb4cc;border-radius:16px;background:#fff7fb;color:#352033;font:400 14px/1.6 var(--sans);box-shadow:0 3px 8px #35203316}
.up-install-dialog::backdrop{background:#24132288}.up-install-dialog header{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.up-install-dialog header p{font-size:12px;color:#754b66;margin:0 0 5px}.up-install-dialog h2{font:650 23px/1.3 var(--sans);letter-spacing:-.02em;margin:0;text-wrap:balance}.up-install-close{border:0;border-radius:8px;background:transparent;width:36px;height:36px;flex:none;font-size:26px;color:#633d56;line-height:1}
.up-install-brand{display:flex;align-items:center;gap:14px;padding:24px 0}.up-install-brand img{border-radius:14px}.up-install-brand b{display:block;font-size:22px;line-height:1.3}.up-install-brand span{display:block;margin-top:4px;color:#75566c;font-size:12px}
.up-install-platforms{display:flex;gap:6px;border-bottom:1px solid #e6c9d9;padding-bottom:10px}.up-install-platforms button{flex:1;min-height:40px;background:transparent;border:0;border-radius:8px;color:#754b66;font:600 12px var(--sans);white-space:nowrap}.up-install-platforms [aria-pressed=true]{background:#352033;color:#fff7fb}
.up-install-steps{padding:18px 0 5px 22px;margin:0;list-style:decimal;display:grid;gap:12px}.up-install-steps li{padding-left:5px;font-size:14px;line-height:1.6;text-wrap:pretty}.up-install-steps li::marker{color:#8a5073;font-weight:650}
.up-install-note{font-size:12px;line-height:1.6;color:#75566c;margin:12px 0 0}.up-install-status{padding:10px 12px;border-radius:8px;background:#f4e0ec;font-size:12px;color:#603e53;margin:16px 0 0}.up-install-link{display:block;font-size:12px;color:#75566c;margin-top:16px}.up-install-link input{display:block;width:100%;box-sizing:border-box;border:1px solid #dbb4cc;border-radius:8px;background:white;color:#593747;padding:10px;margin-top:5px;font:12px var(--sans)}
.up-install-dialog footer{display:flex;gap:10px;margin-top:24px}.up-install-dialog footer button{flex:1;min-height:44px;border-radius:10px;padding:10px 16px;font:600 14px var(--sans)}.up-install-primary{background:#754b66;color:#fff;border:1px solid #754b66}.up-install-done{border:1px solid #dbb4cc;background:transparent;color:#593747}.up-install-primary:disabled{opacity:.65;cursor:wait}.up-install-dialog button:focus-visible{outline:2px solid #824366;outline-offset:3px}
@media(max-width:359px){.site-header .up-install-header{display:none}.auth-tools{gap:6px}.auth-tools .up-install-auth{width:32px}.up-install-dialog{padding:20px}.up-install-dialog h2{font-size:21px}}
@media(display-mode:standalone){[data-up-install]{display:none!important}}
