.download-button-wrap{display:block;margin:14px 0 0;line-height:0}#article-container blockquote:has(.download-button-wrap){padding-bottom:10px}#article-container blockquote p:has(.download-button-wrap){margin-bottom:0}.download-button-trigger{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:8px 13px;border:0;border-radius:8px;background:linear-gradient(135deg,#2388ff 0,#22c18f 100%);color:#fff;font-weight:700;line-height:1;box-shadow:0 10px 20px rgba(35,136,255,.22);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.download-button-trigger:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(35,136,255,.3);filter:saturate(1.08)}.download-button-trigger:active{transform:translateY(0)}.download-button-trigger i{font-size:.95em}dialog.download-password-dialog{width:min(430px,calc(100vw - 36px));max-width:none;overflow:hidden;padding:0;border:1px solid rgba(100,136,190,.2);border-radius:8px;background:0 0;color:#1f2b42;box-shadow:0 24px 70px rgba(18,32,58,.34)}dialog.download-password-dialog:not([open]){display:none!important}dialog.download-password-dialog[open]{animation:downloadModalIn .2s ease}dialog.download-password-dialog::backdrop{background:rgba(14,21,38,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:downloadBackdropIn .2s ease}.download-password-panel{margin:0;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.96))}.download-password-head{position:relative;display:flex;gap:14px;align-items:center;padding:22px 22px 18px;background:radial-gradient(circle at 16% 8%,rgba(34,193,143,.22),transparent 30%),linear-gradient(135deg,#edf6ff 0,#fff7fb 58%,#effff7 100%)}.download-password-head::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2388ff,#22c18f,#ff78a5)}.download-password-icon{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#2388ff,#22c18f);color:#fff;box-shadow:0 10px 22px rgba(35,136,255,.25)}.download-password-title{margin:0;color:#162238;font-size:20px;font-weight:800;line-height:1.25}.download-password-subtitle{margin:5px 0 0;color:#6a7892;font-size:13px;line-height:1.5}.download-password-close{position:absolute;top:12px;right:12px;display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:8px;background:rgba(255,255,255,.7);color:#74829a;cursor:pointer;transition:background .18s ease,color .18s ease}.download-password-close:hover{background:#fff;color:#1f2b42}.download-password-body{padding:20px 22px 22px}.download-password-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#34445f;font-size:14px;font-weight:700}.download-password-badge{max-width:48%;overflow:hidden;padding:5px 9px;border-radius:8px;background:rgba(35,136,255,.1);color:#2388ff;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.download-password-field{position:relative;margin-bottom:16px}.download-password-field i{position:absolute;top:50%;left:14px;color:#8ba0bf;transform:translateY(-50%);pointer-events:none}.download-password-input{width:100%;height:48px;box-sizing:border-box;border:1px solid #d8e3f3;border-radius:8px;outline:0;background:#fff;color:#1d293d;font-size:16px;padding:0 14px 0 42px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.download-password-input:focus{border-color:#2388ff;box-shadow:0 0 0 4px rgba(35,136,255,.14)}.download-password-tip{display:flex;align-items:center;gap:7px;margin:0;color:#7a889f;font-size:13px;line-height:1.5}.download-password-notice{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:9px 10px;border-left:3px solid #e7a13b;border-radius:4px;background:rgba(231,161,59,.09);color:#756142;font-size:12px;font-weight:400;line-height:1.65}.download-password-notice i{flex:0 0 auto;margin-top:.3em;color:#d99128}.download-password-notice p{margin:0}.download-password-error{min-height:0;height:0;margin:0;overflow:hidden;color:#df3158;font-size:13px;line-height:1.5;opacity:0;transition:opacity .18s ease}.download-password-panel.has-error .download-password-error{min-height:20px;height:auto;margin:8px 0 0;opacity:1}.download-password-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.download-password-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:94px;min-height:40px;border:0;border-radius:8px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.download-password-cancel{background:#eef3f9;color:#53637a}.download-password-cancel:hover{background:#e4ebf5}.download-password-submit{background:linear-gradient(135deg,#2388ff,#22c18f);color:#fff;box-shadow:0 10px 20px rgba(35,136,255,.22)}.download-password-submit:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(35,136,255,.28)}.download-password-submit.is-busy{cursor:wait;filter:saturate(.75)}.download-password-submit:disabled{cursor:not-allowed;opacity:.72;box-shadow:none;transform:none}.download-password-toast{position:fixed;z-index:10001;top:24px;left:50%;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:12px 16px;border-radius:8px;background:rgba(24,35,52,.94);color:#fff;font-size:14px;line-height:1.45;box-shadow:0 14px 36px rgba(18,32,58,.28);transform:translateX(-50%);animation:downloadToastIn .22s ease}.download-password-toast i{color:#38e0a3}.download-password-toast.is-hide{animation:downloadToastOut .22s ease forwards}[data-theme=dark] dialog.download-password-dialog{border-color:rgba(255,255,255,.1)}[data-theme=dark] .download-password-panel{background:linear-gradient(180deg,rgba(31,34,47,.98),rgba(22,25,36,.98));color:#f3f6ff}[data-theme=dark] .download-password-head{background:radial-gradient(circle at 16% 8%,rgba(34,193,143,.18),transparent 30%),linear-gradient(135deg,#1d2b45 0,#2a2030 58%,#173128 100%)}[data-theme=dark] .download-password-close:hover,[data-theme=dark] .download-password-title{color:#f3f6ff}[data-theme=dark] .download-password-subtitle,[data-theme=dark] .download-password-tip{color:#aab6ca}[data-theme=dark] .download-password-notice{border-left-color:#d99a3e;background:rgba(217,154,62,.12);color:#d6c6aa}[data-theme=dark] .download-password-close{background:rgba(255,255,255,.08);color:#b4c0d4}[data-theme=dark] .download-password-close:hover{background:rgba(255,255,255,.14)}[data-theme=dark] .download-password-label{color:#dbe5f5}[data-theme=dark] .download-password-input{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#f5f7fb}[data-theme=dark] .download-password-cancel{background:rgba(255,255,255,.1);color:#dce6f6}@keyframes downloadModalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes downloadBackdropIn{from{opacity:0}to{opacity:1}}@keyframes downloadToastIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes downloadToastOut{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,-8px)}}@keyframes downloadToastMobileIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes downloadToastMobileOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@media (max-width:520px){dialog.download-password-dialog{width:calc(100vw - 22px);max-height:calc(100dvh - 28px);border-radius:10px}.download-password-head{gap:11px;padding-top:18px;padding-bottom:15px}.download-password-body{padding:17px 18px 18px}.download-password-panel{max-height:calc(100dvh - 28px);overflow-y:auto}.download-password-body,.download-password-head{padding-left:17px;padding-right:17px}.download-password-icon{flex-basis:40px;width:40px;height:40px}.download-password-title{padding-right:34px;font-size:18px}.download-password-error,.download-password-subtitle,.download-password-tip{font-size:12px}.download-password-label{align-items:flex-start;flex-direction:column;gap:6px}.download-password-badge{max-width:100%}.download-password-input{height:46px}.download-password-actions{gap:9px;margin-top:12px}.download-password-actions button{flex:1;min-width:0;min-height:42px;padding:0 10px}.download-password-toast{top:auto;right:14px;bottom:max(14px,env(safe-area-inset-bottom));left:14px;justify-content:center;max-width:none;width:auto;padding:12px 14px;transform:none;animation:downloadToastMobileIn .22s ease}.download-password-toast.is-hide{animation:downloadToastMobileOut .22s ease forwards}}