/* ========================================================================== Midrand Books — Glassine Architectural Veil & Ribbon Strip ========================================================================== */ /* --- Native Dialog Element Layout Overrides --- */ #components-reconnect-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; max-width: 100vw; max-height: 100vh; margin: 0; padding: 0; border: none; background: transparent; z-index: 99999; overflow: hidden; } /* Remove default browser modal backdrop blockout to allow custom layering below */ #components-reconnect-modal::backdrop { background: transparent; } /* --- Glassine Page Jacket Layer --- Frosted translucent shield that preserves context visibility while blocking mouse actions */ .glassine-page-jacket { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(251, 251, 250, 0.4); /* Premium warm paper tint */ backdrop-filter: blur(5px); /* Elegant frosted glass sweep */ cursor: wait; animation: glassFadeIn 0.35s ease-out forwards; } @keyframes glassFadeIn { from { opacity: 0; backdrop-filter: blur(0px); } to { opacity: 1; backdrop-filter: blur(5px); } } /* --- The Sliding Ribbon Banner --- */ .literary-sync-strip { position: absolute; top: 0; left: 0; width: 100%; background-color: #FFFFFF; border-bottom: 1px solid rgba(0, 0, 0, 0.08); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.02); padding: 1.1rem 2rem; box-sizing: border-box; z-index: 2; /* Animation kinematics: smooth physical drop slide */ transform: translateY(-100%); animation: stripSlideDown 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; } @keyframes stripSlideDown { to { transform: translateY(0); } } /* --- Ribbon Layout Matrix Grid --- */ .strip-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2.5rem; } /* Left Node Ticker Elements & Animated Vector */ .sync-status-indicator { display: flex; align-items: center; gap: 0.85rem; border-right: 1px solid rgba(0, 0, 0, 0.08); padding-right: 2rem; } .small-tracking { font-family: var(--bs-font-monospace); font-size: 0.7rem; letter-spacing: 0.12em; color: #111111; font-weight: 600; } /* Animated Book Helix SVG */ .literary-helix-loader { width: 18px; height: 18px; color: #111111; } .flipping-leaf-vector { transform-origin: 12px 12px; animation: svgLeafFlip 1.6s infinite cubic-bezier(0.4, 0, 0.2, 1); } @keyframes svgLeafFlip { 0% { transform: scaleX(1); opacity: 1; } 50% { transform: scaleX(0); opacity: 0.3; } 100% { transform: scaleX(-1); opacity: 0; } } /* Center Node Text Content */ .sync-message-body { font-family: Georgia, 'Times New Roman', serif; font-size: 0.95rem; color: #333333; font-style: italic; } .text-crimson { color: #A34843; font-style: normal; font-weight: 500; } /* Right Node Fine-Press Button Trigger */ .btn-strip-action { background: #111111; color: #FFFFFF; border: 1px solid #111111; padding: 0.45rem 1.25rem; font-family: var(--bs-font-monospace); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 4px; transition: all 0.2s ease; cursor: pointer; display: inline-flex; align-items: center; gap: 0.5rem; } .btn-strip-action:hover { background: transparent; color: #111111; } .btn-strip-action svg { transition: transform 0.2s ease; } .btn-strip-action:hover svg { transform: rotate(45deg); } /* --- Display Mechanics Matrix Controllers --- */ .components-reconnect-first-attempt-visible, .components-reconnect-repeated-attempt-visible, .components-reconnect-failed-visible, .components-pause-visible, .components-resume-failed-visible { display: none !important; } #components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible, #components-reconnect-modal.components-reconnect-paused .components-pause-visible, #components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible, #components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible, #components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible { display: inline-block !important; } #components-reconnect-modal.components-reconnect-failed .btn-strip-action, #components-reconnect-modal.components-reconnect-paused .btn-strip-action, #components-reconnect-modal.components-reconnect-resume-failed .btn-strip-action { display: inline-flex !important; } /* Tablet Parameters Response Collapse Matrix */ @media (max-width: 768px) { .strip-container { grid-template-columns: 1fr; gap: 0.65rem; text-align: center; } .sync-status-indicator { border-right: none; padding-right: 0; justify-content: center; } .sync-action-node { margin-top: 0.25rem; } }