/* OBSL Google Photos — stable */
.obsl-gp-bubble{position:fixed;z-index:2147482100;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;max-width:min(52vw,260px);height:42px;padding:0 13px;border:1px solid var(--gp-border,#d5dbe5);border-radius:999px;background:var(--gp-bg,rgba(255,255,255,.94));color:var(--gp-text,#0f172a);font:800 var(--gp-font-size,14px)/1 var(--gp-font,system-ui);-webkit-backdrop-filter:blur(var(--gp-blur,14px));backdrop-filter:blur(var(--gp-blur,14px));box-shadow:0 4px 14px rgba(15,23,42,.16);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden;transform:translateZ(0)}
.obsl-gp-bubble:active,.obsl-gp-bubble.is-dragging{cursor:grabbing}.obsl-gp-bubble[hidden]{display:none!important}.obsl-gp-bubble img{width:23px;height:23px;object-fit:contain;flex:0 0 auto}.obsl-gp-pinwheel{font-size:20px;line-height:1}.obsl-gp-bubble-content{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-width:0;white-space:nowrap;will-change:translate,scale,filter,opacity}.obsl-gp-bubble.is-blink{animation:gpBtnBlink 1.8s ease-in-out infinite}.obsl-gp-bubble.is-shake{animation:gpBtnShake 2.4s ease-in-out infinite}.obsl-gp-bubble.is-shimmer::after{content:"";position:absolute;inset:-50% auto -50% -40%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);transform:skewX(-20deg);animation:gpBtnShimmer 2.7s ease-in-out infinite;pointer-events:none}@keyframes gpBtnBlink{50%{opacity:.66}}@keyframes gpBtnShake{0%,88%,100%{transform:none}91%{transform:translateX(-2px)}94%{transform:translateX(2px)}97%{transform:translateX(-1px)}}@keyframes gpBtnShimmer{0%,35%{left:-45%}75%,100%{left:120%}}

/* Floating viewer: the photo itself is the window. No frame, border, background or shadow. */
.obsl-gp-frame{position:fixed;z-index:2147482200;display:block;overflow:visible;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;touch-action:none;min-width:220px;min-height:160px;isolation:isolate}.obsl-gp-frame[hidden]{display:none!important}.obsl-gp-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:block;overflow:hidden;filter:none!important;opacity:1!important}.obsl-gp-controls{position:absolute;z-index:12;top:6px;right:6px;display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:3px;border:0;border-radius:999px;background:rgba(248,250,252,.88);box-shadow:0 2px 10px rgba(0,0,0,.20);-webkit-backdrop-filter:blur(8px) saturate(1.1);backdrop-filter:blur(8px) saturate(1.1);opacity:1;transform:translateY(0);transition:opacity .18s ease,transform .18s ease;pointer-events:auto}.obsl-gp-controls button{width:31px;height:31px;min-width:31px;padding:0;display:grid;place-items:center;border:1px solid rgba(100,116,139,.30);border-radius:50%;background:rgba(255,255,255,.96);color:#0f172a;font:900 14px/1 system-ui;cursor:pointer;touch-action:none}.obsl-gp-controls button:hover{border-color:#38bdf8}.obsl-gp-controls .gp-move{cursor:grab;color:#2563eb;background:#eaf2ff;border-color:#60a5fa}.obsl-gp-controls .gp-move:active{cursor:grabbing}.obsl-gp-resize{position:absolute;z-index:13;right:0;bottom:0;width:28px;height:28px;border:0!important;background:transparent!important;box-shadow:none!important;padding:0;cursor:nwse-resize;touch-action:none;opacity:1;transition:opacity .18s ease}.obsl-gp-resize::before,.obsl-gp-resize::after{content:"";position:absolute;right:3px;bottom:3px;border-right:2px solid rgba(255,255,255,.92);border-bottom:2px solid rgba(255,255,255,.92);filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.obsl-gp-resize::before{width:13px;height:13px}.obsl-gp-resize::after{width:7px;height:7px;right:8px;bottom:8px}.obsl-gp-frame.gp-tools-hidden .obsl-gp-controls,.obsl-gp-frame.gp-tools-hidden .obsl-gp-resize{opacity:0;pointer-events:none;transform:translateY(-3px)}.obsl-gp-frame:fullscreen{left:0!important;top:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important}.obsl-gp-frame:fullscreen .obsl-gp-controls{top:10px;right:10px}html.obsl-gp-open{overscroll-behavior:none}
html.dark .obsl-gp-controls{background:rgba(15,23,42,.82)}html.dark .obsl-gp-controls button{background:rgba(30,41,59,.94);color:#f8fafc;border-color:rgba(148,163,184,.34)}html.dark .obsl-gp-controls .gp-move{background:#16304f;color:#93c5fd;border-color:#3b82f6}

/* Public connection tab inside the existing Google Calendar panel. */
.gp-public-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 6px}.gp-public-tabs button{min-height:34px;border:1px solid var(--line,#d1d5db);border-radius:9px;background:var(--panel,#fff);color:inherit;font:800 11px/1.2 system-ui;cursor:pointer}.gp-public-tabs button.active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb;background:color-mix(in srgb,var(--panel,#fff) 88%,#2563eb 12%)}.gp-public-panel{border:1px solid var(--line,#d1d5db);border-radius:10px;background:var(--panel,#fff);padding:8px;display:grid;gap:7px}.gp-public-panel[hidden]{display:none!important}.gp-public-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.gp-public-actions button{min-height:36px;border:1px solid var(--line,#d1d5db);border-radius:9px;background:var(--panel,#fff);color:inherit;font:800 10px/1.2 system-ui;padding:6px;cursor:pointer}.gp-public-status{font:600 9px/1.45 system-ui;white-space:pre-line;padding:7px 8px;border-radius:8px;background:color-mix(in srgb,var(--panel,#fff) 88%,#4285f4 12%)}html.dark .gp-public-tabs button,html.dark .gp-public-panel,html.dark .gp-public-actions button{background:#111820!important;border-color:#344355!important;color:#eef4fb!important}html.dark .gp-public-status{background:#182331!important;color:#dce8f5!important}

/* Admin */
.obsl-gp-admin{display:grid;gap:8px}.obsl-gp-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.obsl-gp-card{border:1px solid var(--line,#d1d5db);border-radius:10px;padding:8px;display:grid;gap:7px;min-width:0}.obsl-gp-card label{display:grid;gap:3px;font-size:10px;font-weight:750}.obsl-gp-card input,.obsl-gp-card select,.obsl-gp-card textarea{width:100%;min-width:0;box-sizing:border-box}.obsl-gp-card .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.obsl-gp-status{font-size:10px;line-height:1.4;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--panel,#fff) 86%,#4285f4 14%);white-space:pre-line}.obsl-gp-note{font-size:9px;line-height:1.35;opacity:.78}.obsl-gp-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.obsl-gp-actions .primary{font-weight:850}html.dark .obsl-gp-bubble{--gp-bg:rgba(21,29,39,.90)!important;--gp-text:#f8fafc!important;--gp-border:#536a84!important;box-shadow:0 8px 26px rgba(0,0,0,.34)}html.dark .obsl-gp-card{background:#111820!important;border-color:#344355!important;color:#eef4fb!important}html.dark .obsl-gp-card :is(input,select,textarea){background:#0d141d!important;color:#f8fafc!important;border-color:#3a4a5d!important}
@media(max-width:760px){.obsl-gp-admin-grid{grid-template-columns:1fr}.obsl-gp-card .row{grid-template-columns:1fr 1fr}.gp-public-actions{grid-template-columns:1fr 1fr}.obsl-gp-bubble{min-width:104px;height:40px;font-size:12px}.obsl-gp-controls{gap:2px;padding:2px;top:4px;right:4px}.obsl-gp-controls button{width:28px;height:28px;min-width:28px;font-size:12px}.obsl-gp-resize{width:30px;height:30px}}
\n/* stable floating photo surface: image only, no panel/background/border/shadow. */
.obsl-gp-frame,.obsl-gp-frame iframe{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important}.obsl-gp-frame{isolation:auto!important}.obsl-gp-frame iframe{color-scheme:normal!important}.obsl-gp-drag-layer{display:none;position:absolute;inset:0;z-index:10;background:transparent!important;cursor:move;touch-action:none}.obsl-gp-frame.gp-edit-mode .obsl-gp-drag-layer{display:block}.obsl-gp-controls .gp-move.active{background:#2563eb!important;color:#fff!important}.obsl-gp-frame.gp-tools-hidden .obsl-gp-controls,.obsl-gp-frame.gp-tools-hidden .obsl-gp-resize{visibility:hidden}.obsl-gp-frame:not(.gp-tools-hidden) .obsl-gp-controls,.obsl-gp-frame:not(.gp-tools-hidden) .obsl-gp-resize{visibility:visible}.obsl-gp-frame::before,.obsl-gp-frame::after{content:none!important}
.obsl-gp-admin-tabs{display:flex;gap:5px;overflow-x:auto;padding:0 0 5px}.obsl-gp-admin-tabs button{flex:0 0 auto;min-height:30px;padding:4px 9px;border:1px solid var(--line,#d1d5db);border-radius:8px;background:var(--panel,#fff);font:800 10px/1.15 system-ui;color:inherit}.obsl-gp-admin-tabs button.active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.obsl-gp-card[data-gp-card][hidden]{display:none!important}
.obsl-gp-sync-busy #gp-picker,.obsl-gp-sync-busy #gp-sync-now,.obsl-gp-sync-busy #gp-public-pick,.obsl-gp-sync-busy #gp-public-sync{opacity:.45!important;pointer-events:none!important}
\n/* stable floating isolation */
#obsl-google-photos-float{contain:layout paint style!important;isolation:isolate!important;position:fixed!important;z-index:2147483200!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;transform:none!important}
#obsl-google-photos-float>iframe{display:block!important;width:100%!important;height:100%!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:auto!important}
#obsl-google-photos-float .obsl-gp-controls{position:absolute!important;top:4px!important;right:4px!important;left:auto!important;bottom:auto!important;z-index:30!important;transition:none!important}
#obsl-google-photos-float.gp-tools-hidden .obsl-gp-controls{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.obsl-gp-bubble[hidden]{display:none!important}
