.qr-app-page{--paper:#fff8f3;--paper-low:#f9f2ed;--paper-card:#f3ede7;--paper-line:#e7e1dc;--rule:#d2c4b7;--ink:#1d1b18;--ink-soft:#4e453b;--ink-faint:#80756a;--brand:#715530;--brand-wash:#8c6d46;--accent:#963f2d;--serif:Georgia,"Times New Roman","Noto Serif Devanagari","Mangal","Nirmala UI","Kokila",serif;--sans:system-ui,-apple-system,"Segoe UI","Noto Sans Devanagari","Nirmala UI","Mangal",Roboto,"Helvetica Neue",Arial,sans-serif;margin:0;background:#2b2620;overscroll-behavior:none;-webkit-tap-highlight-color:#fff0;-webkit-text-size-adjust:100%;text-size-adjust:100%}.qr-app-page img{max-width:none}.qr-app{position:fixed;inset:0;height:100dvh;max-width:520px;margin:0 auto;background:var(--paper);color:var(--ink);font-family:var(--sans);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 60px rgb(0 0 0 / .5);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.36 0 0 0 0 0.27 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}.qr-top{position:relative;z-index:30;background:var(--paper);border-bottom:2px solid var(--brand);padding-top:env(safe-area-inset-top,0)}.qr-progress{height:3px;background:var(--paper-line)}.qr-progress-fill{display:block;height:100%;width:0;background:var(--accent);transition:width .35s ease}.qr-top-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .8rem .3rem}.qr-brand{display:flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--ink)}.qr-seal{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:2px solid var(--brand);border-radius:50%;font-family:var(--serif);font-weight:700;color:var(--brand);font-size:1rem;flex:none}.qr-seal--lg{width:3.4rem;height:3.4rem;font-size:1.6rem}.qr-top-bar .qr-seal{width:28px;height:28px;font-size:.72rem;border-width:1.5px}.qr-brand-title{font-family:var(--serif);font-weight:700;font-size:.95rem;line-height:1;white-space:nowrap}.qr-count{font-family:var(--serif);font-size:.78rem;color:var(--ink-faint);letter-spacing:.05em;white-space:nowrap}.qr-chips{display:flex;gap:.35rem;overflow-x:auto;flex-wrap:nowrap;padding:.25rem .8rem .45rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding:0 .8rem;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}.qr-chips::-webkit-scrollbar{display:none}.qr-chip{flex:none;border:1px solid var(--rule);background:var(--paper-low);color:var(--ink-soft);border-radius:999px;padding:5px 10px;min-height:0;font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--sans);white-space:nowrap;scroll-snap-align:start;touch-action:manipulation;display:inline-flex;align-items:center;line-height:1.2}.qr-chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.qr-chips{display:flex;gap:.5rem;overflow-x:auto;padding:.4rem .9rem .7rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding:0 .9rem;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}.qr-chips::-webkit-scrollbar{display:none}.qr-chip{flex:none;border:1px solid var(--rule);background:var(--paper-low);color:var(--ink-soft);border-radius:999px;padding:.4rem 1rem;min-height:2.75rem;font-size:.86rem;font-weight:600;cursor:pointer;font-family:var(--sans);white-space:nowrap;scroll-snap-align:start;touch-action:manipulation;display:inline-flex;align-items:center}.qr-chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.qr-count{position:absolute;right:.9rem;bottom:-1.55rem;z-index:31;font-family:var(--serif);font-size:.82rem;color:var(--paper);background:var(--ink);padding:.22rem .65rem;border-radius:999px;letter-spacing:.05em}.qr-deck{position:relative;flex:1;perspective:1400px;touch-action:none;overflow:hidden}.qr-card{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--paper);transform:translateY(105%);transition:transform .5s cubic-bezier(.22,.9,.28,1),opacity .4s ease;transform-origin:center top;opacity:0;will-change:transform;border-top:1px solid var(--paper-line);contain:paint}.qr-card.is-active{transform:translateY(0);opacity:1;z-index:2}.qr-card.is-above{transform:translateY(-105%);opacity:0;z-index:1}.qr-card.is-leaving{transform:translateY(-16%) rotateX(38deg) scale(.96);opacity:0;z-index:3;transform-origin:center top;transition:transform .45s cubic-bezier(.5,.05,.8,.4),opacity .4s ease}.qr-card.is-leaving-down{transform:translateY(16%) rotateX(-38deg) scale(.96);opacity:0;z-index:3;transform-origin:center bottom;transition:transform .45s cubic-bezier(.5,.05,.8,.4),opacity .4s ease}.qr-card.is-entering{transition:transform .5s cubic-bezier(.22,.9,.28,1),opacity .4s ease}.qr-card.is-entering::before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(180deg,rgb(58 51 44 / .20),#fff0 32%);animation:qr-curlfade .5s ease forwards}@keyframes qr-curlfade{from{opacity:1}to{opacity:0}}.qr-card.is-dragging{transition:none}.qr-media{position:relative;flex:0 0 40%;flex-basis:40%;min-height:0;overflow:hidden;background:var(--paper-card);border-bottom:3px double var(--brand)}.qr-photo{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.45) contrast(1.03) brightness(.97)}.qr-photo--blank{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,var(--paper-card),var(--paper-card) 14px,var(--paper-low) 14px,var(--paper-low) 28px)}.qr-photo--blank span{font-family:var(--serif);font-size:3rem;color:var(--rule)}.qr-media::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px rgb(58 51 44 / .35)}.qr-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;background:rgb(29 27 24 / .82);color:#f6f0ea;font-size:.7rem;letter-spacing:.16em;padding:.45rem .8rem;display:flex;justify-content:space-between;gap:.5rem}.qr-body{flex:1 1 60%;min-height:0;overflow:hidden;padding:.7rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}.qr-stamp{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);background:var(--accent);padding:.26rem .72rem;border-radius:2px;box-shadow:1px 1px 0 var(--brand);margin-bottom:.6rem}.qr-headline{font-family:var(--serif);font-weight:700;font-size:1.34rem;line-height:1.28;margin:0 0 .55rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.qr-summary{font-size:.96rem;line-height:1.62;color:var(--ink-soft);margin:0;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.qr-summary::first-letter{font-family:var(--serif);font-weight:700;font-size:1.9em;float:left;line-height:.9;padding-right:.12em;color:var(--brand)}.qr-rule{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);height:4px;margin:.75rem 0 .6rem}.qr-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;font-size:.8rem;color:var(--ink-faint)}.qr-author{font-weight:700;color:var(--ink-soft)}.qr-dot{opacity:.6}.qr-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;margin-top:auto;padding-top:.5rem}.qr-btn{font-family:var(--sans);font-size:.81rem;font-weight:700;cursor:pointer;border:1.5px solid var(--brand);background:#fff0;color:var(--brand);border-radius:999px;padding:7px 12px;min-height:2.25rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;touch-action:manipulation;white-space:nowrap;flex:none;line-height:1.2}.qr-btn:active{transform:scale(.96)}.qr-share.on,.qr-save.on{background:var(--brand);color:#fff8f3}.qr-full{margin-left:auto;border-color:var(--accent);color:var(--accent)}.qr-empty{align-items:center;justify-content:center;text-align:center}.qr-empty-inner{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2rem}.qr-empty-inner h2{font-family:var(--serif);font-size:1.3rem;margin:.4rem 0 0}.qr-empty-inner p{color:var(--ink-faint);margin:0}.qr-navbtns{position:absolute;right:calc(.55rem + env(safe-area-inset-right,0px));bottom:calc(4.6rem + env(safe-area-inset-bottom,0px));z-index:40;display:flex;flex-direction:column;gap:.45rem}.qr-navbtns button{width:34px;height:34px;border-radius:50%;border:1px solid var(--brand);background:rgb(255 248 243 / .72);color:var(--brand);font-size:1.05rem;line-height:1;cursor:pointer;box-shadow:0 1px 5px rgb(29 27 24 / .14);touch-action:manipulation;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qr-navbtns button:active{transform:scale(.93)}.qr-hint{position:absolute;left:50%;bottom:calc(1.35rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:39;font-size:.8rem;letter-spacing:.12em;color:var(--ink-faint);background:rgb(255 248 243 / .9);border:1px solid var(--rule);border-radius:999px;padding:.35rem .95rem;animation:qr-bob 1.8s ease-in-out infinite;pointer-events:none;white-space:nowrap}@keyframes qr-bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-6px)}}.qr-toast{position:absolute;left:50%;bottom:calc(4.8rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(20px);z-index:50;background:var(--ink);color:var(--paper);font-size:.86rem;padding:.6rem 1.15rem;border-radius:999px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap}.qr-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.qr-install{position:absolute;left:.8rem;right:.8rem;bottom:calc(.8rem + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:.7rem;background:var(--paper);border:2px solid var(--brand);border-radius:10px;padding:.75rem .85rem;box-shadow:0 6px 24px rgb(29 27 24 / .25)}.qr-install-text{display:flex;flex-direction:column;flex:1;line-height:1.3}.qr-install-text strong{font-family:var(--serif);font-size:.94rem}.qr-install-text small{color:var(--ink-faint);font-size:.76rem}#qr-install-go{border:0;background:var(--brand);color:#fff8f3;font-weight:700;font-size:.86rem;border-radius:999px;padding:.55rem 1.05rem;min-height:2.75rem;cursor:pointer;font-family:var(--sans);touch-action:manipulation}#qr-install-no{border:0;background:none;color:var(--ink-faint);font-size:1.05rem;cursor:pointer;padding:.5rem;min-width:2.75rem;min-height:2.75rem}@media (max-height:620px){.qr-summary{-webkit-line-clamp:5}.qr-headline{font-size:1.22rem}}@media (min-width:560px){.qr-headline{font-size:1.5rem}.qr-summary{-webkit-line-clamp:8}}@media (min-width:720px){.qr-app{border-left:1px solid var(--rule);border-right:1px solid var(--rule)}}@media (prefers-reduced-motion:reduce){.qr-card,.qr-card.is-entering::before{transition:none;animation:none}.qr-hint{animation:none}}.qr-app [hidden]{display:none!important}.qr-card{-webkit-user-select:none;user-select:none}.qr-headline{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.qr-summary{overflow-wrap:break-word}.qr-install{left:.8rem;right:4.9rem}.qr-app{overflow:hidden;max-height:100dvh}