.snap-button{z-index:3;top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));background:var(--snap-bg,#14100c52);width:44px;height:44px;color:var(--snap-ink,#fff8ee);cursor:pointer;-webkit-backdrop-filter:blur(10px);touch-action:manipulation;border:0;border-radius:999px;place-items:center;padding:0;transition:opacity .6s,transform .12s;display:grid;position:absolute;box-shadow:0 4px 16px #00000024}.snap-button:active{transform:scale(.9)}.snap-button.is-quiet{opacity:.3}.snap-button.is-quiet:hover,.snap-button.is-quiet:focus-visible{opacity:1}.snap-flash{z-index:60;pointer-events:none;background:#fffaf2;animation:.34s ease-out forwards snap-flash;position:fixed;inset:0}@keyframes snap-flash{0%{opacity:.72}to{opacity:0}}.snap-layer{z-index:50;pointer-events:none;position:fixed;inset:0}.snap-layer[hidden]{display:none}.snap-layer.is-open{pointer-events:auto}.snap-backdrop{padding:max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(14px, calc(env(safe-area-inset-bottom) + 8px)) max(12px, env(safe-area-inset-left));touch-action:none;overscroll-behavior:contain;background:#0a08066b;justify-content:center;align-items:flex-end;animation:.22s both snap-fade;display:flex;position:absolute;inset:0}@media (min-height:640px) and (min-width:700px){.snap-backdrop{align-items:center}}.snap-sheet{width:min(520px,100%);max-height:100%;color:var(--ink,#f3e9dc);-webkit-backdrop-filter:blur(16px);background:#1e1915e6;border:1px solid #fff0dc14;border-radius:24px;flex-direction:column;gap:12px;padding:12px;animation:.28s cubic-bezier(.22,.8,.3,1) both snap-rise;display:flex;position:relative;box-shadow:0 24px 60px -20px #000000b3}.snap-preview{object-fit:contain;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;background:#0f0d0b;border-radius:16px;place-self:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(56vh,560px);display:block}.snap-close{z-index:1;cursor:pointer;color:#fff8ee;-webkit-backdrop-filter:blur(8px);background:#14100c8c;border:0;border-radius:999px;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:20px;right:20px}.snap-tip{color:var(--ink-2,#b9aa98);text-align:center;margin:-4px 4px 0;font-size:13px}.snap-strip{scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.snap-thumb{cursor:pointer;opacity:.7;background:#0f0d0b;border:2px solid #0000;border-radius:12px;flex:none;width:50px;height:50px;padding:0;transition:opacity .18s,border-color .18s;overflow:hidden}.snap-thumb img{object-fit:cover;width:100%;height:100%;display:block}.snap-thumb[aria-pressed=true]{border-color:var(--accent,#e9c99a);opacity:1}.snap-actions{gap:10px;display:flex}.snap-action{cursor:pointer;min-height:48px;color:var(--ink,#f3e9dc);background:#fff8ee1f;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16px;font-weight:650;transition:transform .12s,background-color .18s;display:inline-flex}.snap-action.is-main{background:var(--ink,#f3e9dc);color:var(--bg,#14110f)}.snap-action:active{transform:scale(.97)}@media (hover:hover){.snap-action:hover{background:#fff8ee33}.snap-action.is-main:hover{background:#fff6ea}.snap-button:hover{background:var(--snap-bg-hi,#14100c80)}}.snap-toast{left:50%;top:max(70px, calc(env(safe-area-inset-top) + 56px));white-space:nowrap;pointer-events:none;color:#fff8ee;-webkit-backdrop-filter:blur(10px);background:#14100cc7;border-radius:999px;margin:0;padding:9px 18px;font-size:15px;font-weight:600;animation:.2s both snap-fade;position:absolute;transform:translate(-50%)}@media (orientation:landscape) and (max-height:500px){.snap-backdrop{align-items:center}.snap-sheet{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) 210px;align-items:start;width:min(760px,100%);display:grid}.snap-preview{grid-row:1/4;max-height:calc(100vh - 60px)}.snap-tip,.snap-strip{grid-column:2;margin:0}.snap-strip{flex-wrap:wrap;padding-top:48px}.snap-actions{flex-direction:column;grid-area:3/2}.snap-close{top:12px;right:12px}}@keyframes snap-fade{0%{opacity:0}}@keyframes snap-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}}@media (prefers-reduced-motion:reduce){.snap-flash{animation-duration:.2s}@keyframes snap-flash{0%{opacity:.35}to{opacity:0}}.snap-sheet,.snap-backdrop{animation:none}.snap-button,.snap-action{transition:none}}
