*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{overflow:hidden;background:#000;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.screen{position:relative;width:100vw;height:100dvh;overflow:hidden}.backdrop{position:absolute;inset:0}.layer{position:absolute;inset:0;pointer-events:none}.photo{background-size:cover;background-position:center;filter:brightness(1.12) contrast(1.06)}.art{width:100%;height:100%;display:block}.motif{width:100%;height:100%;opacity:.5}.grain{mix-blend-mode:overlay}.card{position:relative;height:100%;display:flex;padding:max(7vmin,22px,env(safe-area-inset-top)) max(7vmin,22px,env(safe-area-inset-right)) max(7vmin,22px,env(safe-area-inset-bottom)) max(7vmin,22px,env(safe-area-inset-left))}.stack{display:flex;flex-direction:column;animation:rise .7s cubic-bezier(.16,1,.3,1) both}.value{display:block;white-space:nowrap;line-height:.95;text-shadow:0 2px 40px rgba(0,0,0,.35)}.label,.date{font-family:system-ui,sans-serif;font-size:clamp(.72rem,2.5vmin,1.05rem);font-weight:600;letter-spacing:.35em;text-transform:uppercase;text-shadow:0 1px 16px rgba(0,0,0,.55)}.label{margin-bottom:max(.9em,1.6vh)}.date{margin-top:max(1.4em,2.6vh)}.fullscreen{position:fixed;right:max(3vmin,14px,env(safe-area-inset-right));bottom:max(3vmin,14px,env(safe-area-inset-bottom));width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:#00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;opacity:.55;transition:opacity .4s ease}.fullscreen svg{width:20px;height:20px}.fullscreen.is-idle{opacity:0;pointer-events:none}.layout-center{align-items:center;justify-content:center;text-align:center}.layout-center .stack{align-items:center}.layout-lowerLeft{align-items:flex-end;justify-content:flex-start}.layout-upperRight{align-items:flex-start;justify-content:flex-end;text-align:right}.layout-upperRight .stack{align-items:flex-end}.layout-split{align-items:stretch;justify-content:flex-start}.layout-split .stack{flex:1;justify-content:space-between}.layout-split .date{margin-top:0}.layout-diagonal{align-items:center;justify-content:center}.layout-bleed{align-items:center;justify-content:center;padding:0}.layout-bleed .stack{align-items:center}.layout-bleed .date{margin-top:max(2.5em,8vh)}@keyframes rise{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.stack{animation:none}}
