.pub{min-height:100dvh;background:rgb(var(--color-content-bg));color:rgb(var(--color-text-primary));padding-block:28px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.pub-in{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.pub-in.wide{max-width:1180px}.pub-brand{display:flex;align-items:center;gap:12px;padding-bottom:6px;border-bottom:1px solid rgb(var(--color-divider))}.pub-brand b{display:block;font:700 15px var(--font-display),var(--font-sans),system-ui,sans-serif}.pub-brand small{color:rgb(var(--color-text-secondary));font-size:12px}.pub-brand .grow{flex:1}.pub-brand img{height:32px;width:auto;max-width:120px;-o-object-fit:contain;object-fit:contain}.pub-brand .logo-d,html[data-theme=dark] .pub-brand .logo-l{display:none}html[data-theme=dark] .pub-brand .logo-d{display:block}.pub-brand .logo-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#1f2933}.pub-lang button{padding:4px 8px}.pub-hero h1{font-size:32px;line-height:1.1}.pub-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.pub-side{position:sticky;top:16px}.pub-foot{text-align:center;font-size:12px;color:rgb(var(--color-text-muted));padding-top:10px}.pub-foot a{text-decoration:underline}@media (max-width:1000px){.pub-grid{grid-template-columns:minmax(0,1fr)}.pub-side{position:static}}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--color-accent-ink));margin-bottom:6px;display:flex;align-items:center;gap:6px}.big-num{font:700 32px/1.1 var(--font-display),var(--font-sans),system-ui,sans-serif;letter-spacing:-.02em}.totals{display:grid;grid-template-columns:1fr auto;gap:6px 24px;font-size:13px;padding:14px 18px;border-top:1px solid rgb(var(--color-divider))}.totals .big{font:700 20px var(--font-display),var(--font-sans),system-ui,sans-serif;font-variant-numeric:tabular-nums}.mini{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;background:rgb(var(--color-surface-hover));min-width:0}.mini span{font-size:11px;color:rgb(var(--color-text-secondary))}.mini b{font-size:14px;font-weight:700}.ph-img{border-radius:8px;aspect-ratio:4/3;max-width:100%;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:8px;color:#fff;font-size:11px;font-weight:600}.ph-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55))}.ph-img span{position:relative;z-index:1}.q-grp{border-top:1px solid rgb(var(--color-divider))}.q-gh{padding:10px 18px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--color-text-muted))}.q-line{display:flex;align-items:center;gap:12px;padding:9px 18px}.q-line b{font-weight:600}.pay-plan{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pay-plan>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;background:rgb(var(--color-surface-hover))}.pp-n{font:700 13px var(--font-display),var(--font-sans),system-ui,sans-serif;color:rgb(var(--color-accent-ink))}.done-ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgb(var(--color-success-muted));color:rgb(var(--color-success))}.done-ic.warn{background:rgb(var(--color-warning-muted));color:rgb(var(--color-warning))}.done-ic.err{background:rgb(var(--color-error-muted));color:rgb(var(--color-error))}.done-ic.info{background:rgb(var(--color-info-muted));color:rgb(var(--color-info))}.ring{--p:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:radial-gradient(closest-side,rgb(var(--color-content-bg)) 78%,transparent 79%),conic-gradient(rgb(var(--color-accent)) calc(var(--p)*1%),rgb(var(--color-surface-3)) 0)}.ring b{font:700 24px var(--font-display),var(--font-sans),system-ui,sans-serif;display:block}.tl{list-style:none;margin:0;padding:0;flex-direction:column}.tl,.tl li{display:flex}.tl li{gap:12px;padding-bottom:16px;position:relative}.tl li:not(:last-child):before{content:"";position:absolute;left:11px;top:24px;bottom:2px;width:2px;background:rgb(var(--color-divider))}.tl li>i{width:24px;height:24px;border-radius:50%;flex:none;display:grid;place-items:center;border:2px solid rgb(var(--color-border));background:rgb(var(--color-surface));font-style:normal}.tl li div{display:flex;flex-direction:column}.tl-val>i{background:rgb(var(--color-success));border-color:rgb(var(--color-success));color:#fff}.tl-prog>i{border-color:rgb(var(--color-accent));box-shadow:0 0 0 4px rgb(var(--color-accent)/.18)}.tl-prog b{color:rgb(var(--color-accent-ink))}.tl-pend{opacity:.6}.msg{max-width:85%;padding:10px 12px;border-radius:12px;font-size:13px;display:flex;flex-direction:column;gap:2px}.msg span{font-size:11px;opacity:.65}.msg.them{background:rgb(var(--color-surface-hover));align-self:flex-start}.msg.me{background:rgb(var(--color-accent));color:rgb(var(--color-on-accent));align-self:flex-end}.ba{position:relative;aspect-ratio:16/7;max-width:100%;border-radius:12px;overflow:hidden}.ba-img{position:absolute;inset:0;display:flex;align-items:flex-end;padding:12px;color:#fff;font-weight:600;font-size:13px}.ba-before{background:linear-gradient(135deg,#6b7280,#374151)}.ba-after{background:linear-gradient(135deg,#14b8c8,#0b5c6b);clip-path:inset(0 0 0 50%);justify-content:flex-end}.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.sig{position:relative;border:1px dashed rgb(var(--color-border));border-radius:10px;background:rgb(var(--color-surface));overflow:hidden}.sig canvas{display:block;width:100%;height:120px;touch-action:none;cursor:crosshair}.sig-hint{position:absolute;left:12px;bottom:8px;font-size:11px;color:rgb(var(--color-text-muted));pointer-events:none}.sig.signed .sig-hint{display:none}.sig-clear{position:absolute;right:6px;top:6px;border:0;background:transparent;font-size:12px;font-weight:600;color:rgb(var(--color-accent-ink));cursor:pointer;padding:4px 8px;border-radius:6px}.sig-clear:hover{background:rgb(var(--color-surface-hover))}