.foot-links{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:6px}.foot-links .back-link{margin-top:0}.back-link{display:inline-block;margin-top:14px;font-size:13px;color:var(--text-dim);cursor:pointer;background:none;border:none;font-family:inherit;text-decoration:underline}.back-link:hover{color:var(--ink)}.session-hint{font-size:12px;color:var(--text-dim);display:inline-flex;align-items:center;gap:6px;min-width:0}.session-hint[hidden]{display:none}.session-hint b{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9em}.link-mini{border:none;background:none;padding:0;font:inherit;font-size:12px;color:var(--accent);text-decoration:underline;cursor:pointer}.link-mini:hover{color:var(--ink)}.island-head{display:flex;gap:14px;align-items:center;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(27,42,58,.12)}.island-meta{min-width:0}.island-name{font-size:18px;font-weight:700;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.island-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:22px;letter-spacing:3px;color:var(--accent)}.rooms-account{margin-top:6px;font-size:12px;color:var(--text-dim);text-align:right;flex-shrink:0}.cover{width:78px;height:78px;border-radius:14px;object-fit:cover;background:#14283c1f;flex-shrink:0}.cover-fallback{width:78px;height:78px;border-radius:14px;background:#ffffff8c;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;color:var(--accent);flex-shrink:0}.cover-warn{margin-top:6px;font-size:12px;color:var(--danger)}.divider{display:flex;align-items:center;gap:12px;margin:14px 0 12px;color:var(--text-faint);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#1b2a3a1f}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.shake{animation:shake .4s ease-in-out}@media (prefers-reduced-motion: reduce){.shake{animation:none!important}}.error{min-height:20px;margin-top:12px;font-size:13px;color:var(--danger);text-align:center}
