#zn-root [data-err]{color:#c9563b;margin-top:6px;font-size:11.5px;font-weight:600;display:block}#zn-root [data-err][hidden]{display:none}.dark #zn-root [data-err]{color:#f2a48f}#zn-root .field.is-bad{border-color:#e0866f;box-shadow:0 0 0 3px #e0866f26}.zn-in{animation:fadeUp .5s var(--ease-out-expo) both;animation-delay:var(--d,0s)}.zn-fade{animation:fadeUp .4s var(--ease-out-expo) both}.zn-tabs{flex-wrap:wrap;gap:6px;display:flex}.zn-tabs button{border:1px solid var(--color-line);height:34px;transition:transform .3s var(--ease-spring), border-color .2s, background-color .2s;background:#fff;border-radius:99px;align-items:center;gap:6px;padding:0 12px 0 6px;font-size:12.5px;font-weight:600;display:inline-flex}.zn-tabs button:hover{transform:translateY(-1px)}.zn-tabs button[aria-selected=true]{border-color:var(--app);background:color-mix(in srgb, var(--app) 10%, transparent);box-shadow:0 0 0 1px var(--app)}.dark .zn-tabs button{background:#ffffff0a;border-color:#ffffff14}.zn-tabs button[hidden]{display:none}.zn-h{letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted);margin-bottom:8px;font-size:11px;font-weight:800}.zn-banner{animation:fadeUp .4s var(--ease-out-expo) both;border-radius:18px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.zn-banner[hidden]{display:none}.zn-banner.warn{background:var(--color-amber-50);color:var(--color-amber-700)}.zn-banner.info{background:color-mix(in srgb, var(--app) 12%, #fff);color:#2f5e55}.dark .zn-banner.warn{color:#fbc968;background:#f5a5241f}.dark .zn-banner.info{background:color-mix(in srgb, var(--app) 16%, transparent);color:#cfe7e1}.zn-opt{border:1px solid var(--color-line);cursor:pointer;animation:fadeUp .45s var(--ease-out-expo) both;animation-delay:calc(var(--i) * 45ms);transition:transform .35s var(--ease-spring), border-color .2s, background-color .2s, box-shadow .25s;background:#ffffffb3;border-radius:18px;align-items:flex-start;gap:10px;padding:12px;display:flex;position:relative}@media (width>=1024px){.zn-opt{flex-direction:column;gap:10px}}.zn-opt:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.zn-opt:has(input:checked){border-color:var(--app);background:color-mix(in srgb, var(--app) 8%, transparent);box-shadow:0 0 0 1px var(--app)}.zn-opt:has(input:focus-visible),.zn-tpl:has(input:focus-visible),.zn-type:has(input:focus-visible){outline:2px solid var(--app);outline-offset:2px}.zn-opt[hidden]{display:none}.dark .zn-opt{background:#ffffff0a;border-color:#ffffff14}.dark .zn-opt:has(input:checked){border-color:var(--app);background:color-mix(in srgb, var(--app) 14%, transparent)}.zn-opt-ic{width:34px;height:34px;color:var(--app-ink);background:color-mix(in srgb, var(--app) 12%, transparent);transition:transform .4s var(--ease-spring);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.zn-opt:hover .zn-opt-ic{transform:rotate(-6deg)scale(1.06)}.zn-opt:has(input:checked) .zn-opt-ic{background:var(--app);color:#fff}.zn-tpl{border:1px solid var(--color-line);cursor:pointer;transition:transform .3s var(--ease-spring), border-color .2s, box-shadow .2s;background:#fff;border-radius:16px;align-items:flex-start;gap:12px;min-width:0;padding:10px;display:flex}.zn-tpl:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.zn-tpl:has(input:checked){border-color:var(--app);box-shadow:0 0 0 1px var(--app)}.zn-tpl[hidden]{display:none}.dark .zn-tpl{background:#ffffff08;border-color:#ffffff14}.zn-tpl-page,.zn-mini{border:1px solid var(--color-line);background:#fff;border-radius:6px;flex-direction:column;flex-shrink:0;gap:4px;width:40px;height:52px;padding:7px 6px;display:flex;box-shadow:0 6px 12px -8px #22263759}.zn-tpl-page i,.zn-mini i{background:var(--color-line);border-radius:2px;height:3px;display:block}.zn-tpl-page i:first-child,.zn-mini i:first-child{background:var(--app);width:70%;height:4px}.zn-tpl-page i:nth-child(3){width:80%}.dark .zn-tpl-page,.dark .zn-mini{background:#ffffff0f;border-color:#ffffff1a}.dark .zn-tpl-page i,.dark .zn-mini i{background:#ffffff1f}.zn-mf{background:color-mix(in srgb, var(--app) 12%, transparent);color:color-mix(in srgb, var(--app) 70%, #1d3a34);white-space:nowrap;border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.dark .zn-mf{color:#bfe0d8}.zn-rec{border:1px solid var(--color-line);width:100%;transition:transform .3s var(--ease-spring), border-color .2s, box-shadow .2s;background:#fff;border-radius:16px;align-items:center;gap:10px;padding:10px;display:flex}.zn-rec:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.zn-rec[hidden]{display:none}.zn-rec.is-on{border-color:var(--app);box-shadow:0 0 0 1px var(--app)}.dark .zn-rec{background:#ffffff08;border-color:#ffffff14}.zn-rec-ok{color:#0000;border:1.5px solid var(--color-line);width:22px;height:22px;transition:all .25s var(--ease-spring);border-radius:99px;flex-shrink:0;place-items:center;display:grid}.zn-rec.is-on .zn-rec-ok{background:var(--app);border-color:var(--app);color:#fff;transform:scale(1.08)}.zn-ftbl{border-collapse:collapse;width:100%;font-size:12.5px}.zn-ftbl td{border-top:1px solid var(--color-line);vertical-align:middle;padding:6px 4px}.dark .zn-ftbl td{border-color:#ffffff0f}.zn-ftbl tr.miss td{background:#f5a5241a}.zn-ftbl tr.miss td:first-child{box-shadow:inset 3px 0 #f5a524}.zn-type{border:1px solid var(--color-line);cursor:pointer;transition:transform .3s var(--ease-spring), border-color .2s;background:#fff;border-radius:14px;align-items:center;gap:8px;min-width:0;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.zn-type span{color:var(--app-ink);flex-shrink:0}.zn-type:hover{transform:translateY(-2px)}.zn-type:has(input:checked){border-color:var(--app);background:color-mix(in srgb, var(--app) 8%, transparent);box-shadow:0 0 0 1px var(--app)}.dark .zn-type{background:#ffffff08;border-color:#ffffff14}.zn-drop{border:1.5px dashed color-mix(in srgb, var(--app) 45%, var(--color-line));text-align:center;background:color-mix(in srgb, var(--app) 4%, transparent);transition:background-color .2s, border-color .2s, transform .3s var(--ease-spring);border-radius:20px;padding:26px 16px}.zn-drop.is-over{background:color-mix(in srgb, var(--app) 12%, transparent);border-color:var(--app);transform:scale(1.01)}.zn-drop-ic{width:52px;height:52px;color:var(--app-ink);box-shadow:var(--shadow-soft);background:#fff;border-radius:16px;place-items:center;margin:0 auto;animation:3s ease-in-out infinite znBob;display:grid}.dark .zn-drop-ic{background:#ffffff0f}@keyframes znBob{50%{transform:translateY(-4px)}}.zn-bar{background:var(--color-track);border-radius:99px;height:6px;overflow:hidden}.dark .zn-bar{background:#ffffff14}.zn-bar i{background:linear-gradient(90deg, color-mix(in srgb, var(--app) 50%, transparent), var(--app));width:0;height:100%;transition:width .5s var(--ease-out-expo);border-radius:99px;display:block}#zn-upsteps li{align-items:center;gap:6px;transition:color .2s;display:flex}#zn-upsteps li:before{content:"";background:var(--color-line);border-radius:99px;width:8px;height:8px;transition:background-color .2s}#zn-upsteps li.on{color:var(--color-ink);font-weight:600}.dark #zn-upsteps li.on{color:#fff}#zn-upsteps li.on:before,#zn-upsteps li.done:before{background:var(--app)}.zn-row{animation:fadeUp .35s var(--ease-out-expo) both;animation-delay:calc(var(--i,0) * 60ms);background:#fff;border-radius:10px;align-items:center;gap:8px;min-width:0;padding:6px 8px;font-size:12.5px;display:flex}.dark .zn-row{background:#ffffff0a}.zn-ol{border:1px solid var(--color-line);animation:fadeUp .4s var(--ease-out-expo) both;animation-delay:calc(var(--i) * 90ms);background:#fff;border-radius:14px;align-items:flex-start;gap:10px;padding:8px 10px;font-size:13px;display:flex}.dark .zn-ol{background:#ffffff08;border-color:#ffffff14}.zn-ol-n{color:#fff;background:var(--app);border-radius:99px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:10.5px;font-weight:800;display:grid}.zn-person{border:1px solid var(--color-line);cursor:pointer;border-radius:16px;align-items:center;gap:10px;min-width:0;padding:10px;transition:border-color .2s,background-color .2s;display:flex}.zn-person:has(input:checked){border-color:var(--app);background:color-mix(in srgb, var(--app) 7%, transparent)}.dark .zn-person{border-color:#ffffff14}.zn-av{color:#fff;border-radius:99px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:grid}.zn-recip{border:1px solid var(--color-line);animation:fadeUp .35s var(--ease-out-expo) both;border-radius:16px;grid-template-columns:24px minmax(0,1fr) minmax(0,1.2fr) 120px 32px;align-items:start;gap:8px;padding:10px;display:grid}.dark .zn-recip{border-color:#ffffff14}.zn-recip.out{animation:.25s both znOut}@keyframes znOut{to{opacity:0;transform:translate(12px)}}.zn-recip-n{width:24px;height:36px;color:var(--color-muted);place-items:center;font-size:11px;font-weight:800;display:grid}.zn-recip .field{height:36px}@media (width<=640px){.zn-recip{grid-template-columns:24px minmax(0,1fr) 32px}.zn-recip>:nth-child(3),.zn-recip>:nth-child(4){grid-column:2/3}.zn-recip>:nth-child(5){grid-area:1/3}}.zn-sum{border:1px solid var(--color-line);background:var(--color-line);border-radius:16px;grid-template-columns:minmax(0,1fr);gap:1px;display:grid;overflow:hidden}.dark .zn-sum{background:#ffffff0f;border-color:#ffffff0f}.zn-sum>div{animation:fadeUp .35s var(--ease-out-expo) both;animation-delay:calc(var(--i) * 40ms);background:#fff;grid-template-columns:140px minmax(0,1fr);gap:10px;padding:10px 12px;font-size:13px;display:grid}.dark .zn-sum>div{background:var(--color-night-1)}.zn-sum dt{color:var(--color-muted);font-size:12px}.zn-sum dd{overflow-wrap:anywhere;min-width:0}@media (width<=480px){.zn-sum>div{grid-template-columns:1fr;gap:2px}}.zn-foot{z-index:5;border-top:1px solid var(--color-line);backdrop-filter:blur(8px);background:#ffffffe0;align-items:center;gap:8px;padding:12px 16px;display:flex;position:sticky;bottom:0}.dark .zn-foot{background:color-mix(in srgb, var(--color-night-1) 88%, transparent);border-color:#ffffff0f}.zn-foot #zn-back[disabled]{opacity:.4;pointer-events:none}.zn-shake{animation:.4s znShake}@keyframes znShake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}#zn-s-list>div{justify-content:space-between;gap:8px;animation:.3s both fadeUp;display:flex}#zn-s-list dt{color:var(--color-muted);flex-shrink:0}#zn-s-list dd{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:600}
