/* Homecoming · styles for the installable-app layer. Reuses the shell's tokens (--s-ink, --s-acc, …) so it reads as part of the same app. */
.hc-mx{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;min-height:44px}
.hc-link{appearance:none;border:0;background:none;padding:10px 2px;min-height:44px;color:var(--s-mute);cursor:pointer;display:flex;align-items:center;gap:8px;
  font:600 12px/1 var(--f-display);letter-spacing:.12em;text-transform:uppercase}
.hc-link svg{width:16px;height:16px;stroke:var(--s-acc2);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hc-link:hover,.hc-link:focus-visible{color:var(--s-ink)}
.hc-link:focus-visible{outline:2px solid var(--s-acc2);outline-offset:2px}
.hc-net{font:600 10.5px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#11181b;background:#ecc35a;padding:5px 7px;border-radius:2px}
.hc-net[hidden]{display:none}

.hc-update{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100vw - 32px);
  display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:6px;background:#0f1315;color:#f2f0ec;border:1px solid rgba(143,208,221,.5);
  box-shadow:0 10px 30px rgba(0,0,0,.35);font:500 13px/1.35 var(--f-body)}
.hc-update button{appearance:none;border:0;background:#ef8a74;color:#11181b;font:700 13px/1 var(--f-display);letter-spacing:.04em;padding:11px 14px;border-radius:4px;cursor:pointer;min-height:40px;flex:none}
.hc-update button:focus-visible{outline:2px solid #8fd0dd;outline-offset:2px}

.hc-wrap{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:12px;padding-top:12px}
.hc-card{border:1px solid var(--s-line);border-radius:6px;padding:16px;background:rgba(242,240,236,.03);display:flex;flex-direction:column;gap:12px}
.hc-card h3{margin:0;font:700 18px/1.1 var(--f-display);letter-spacing:.02em;text-transform:uppercase}
.hc-card p,.hc-card li{margin:0;font:400 13.5px/1.5 var(--f-body);color:rgba(242,240,236,.86);max-width:62ch}
.hc-card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.hc-card dl{margin:0;display:flex;flex-direction:column;gap:9px}
.hc-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 12px;align-items:baseline}
.hc-row dt{font:500 11px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--s-mute)}
.hc-row dd{margin:0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font:400 13px/1.4 var(--f-body);color:rgba(242,240,236,.8)}
.hc-pill{font:600 12.5px/1 var(--f-display);letter-spacing:.04em;color:var(--s-ink)}
.hc-pill.ok{color:#8fd0dd}.hc-pill.warn{color:#ecc35a}.hc-pill.bad,.hc-msg .bad{color:#ef8a74}
.hc-btns{display:flex;flex-wrap:wrap;gap:8px}
.hc-btn{appearance:none;position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:4px;cursor:pointer;
  border:1px solid #ef8a74;background:#ef8a74;color:#11181b;font:700 14px/1 var(--f-display);letter-spacing:.04em}
.hc-btn.ghost{background:transparent;color:var(--s-ink);border-color:var(--s-line)}
.hc-btn.ghost:hover{border-color:var(--s-acc2)}
.hc-btn:disabled,.hc-btn.off{opacity:.45;cursor:not-allowed}
.hc-btn:focus-visible,.hc-btn:focus-within{outline:2px solid #8fd0dd;outline-offset:2px}
.hc-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;font-size:0}
.hc-note{font-size:12.5px!important;color:var(--s-mute)!important}
.hc-msg:empty{display:none}
.hc-msg{font:400 13px/1.45 var(--f-body);color:rgba(242,240,236,.86)}
.hc-msg ul{margin:6px 0 0;padding-left:18px}
@media (max-width:560px){.hc-row{grid-template-columns:1fr}.hc-mx{margin-top:0}}

/* ---------- iOS 26 home-screen app: empty band at the bottom (WebKit bug 301108) ----------
   With the translucent status bar, iOS lays out a viewport shorter than the screen by the status-bar height while the
   page is shorter than the screen, and draws nothing below it. A page at least as tall as the screen gets the full
   viewport. min(100lvh, …) keeps it from becoming taller than the screen (no scrolling). */
@media (display-mode: standalone){ html{min-height:min(100lvh, calc(100% + env(safe-area-inset-top,0px)))} }

/* ---------- home button: same place on every screen (where it sits in 3D: top-right) ---------- */
.hc-home{position:fixed;z-index:3;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));width:40px;height:38px;padding:0;
  display:grid;place-items:center;cursor:pointer;appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:6px;
  box-shadow:0 4px 16px rgba(0,0,0,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hc-home svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hc-home.dark{background:transparent;border-color:var(--s-line);color:var(--s-ink);box-shadow:none}
.hc-home.dark:hover{border-color:var(--s-acc2)}
.hc-home:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.logv header{padding-right:calc(66px + env(safe-area-inset-right,0px))!important}
@media (max-width:640px){.hc-home{top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px))}}

/* ---------- capture dialog: Salvează / Anulează ---------- */
.shot .row .btn{min-height:44px;padding:0 18px;font-size:14px}
.shot .btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}
.shot .btn.ghost:hover{background:var(--chip)}
.shot .msg:empty{display:none}
.shot .card{max-height:calc(100% - 32px)}
.shot #shot-img{width:auto;max-width:100%;max-height:calc(100vh - 190px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin:0 auto;object-fit:contain}
