/* HAVEN_FOLIO_WHISPER_R2B */
.fw-root{height:100%;min-height:0;overflow:auto;box-sizing:border-box;padding:32px 34px 78px;color:#332c39;background:linear-gradient(180deg,rgba(249,247,251,.96),rgba(247,245,249,.99));font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.fw-head{max-width:920px;margin:0 auto 25px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.fw-head h1{margin:0;font:italic 400 32px/1.1 Georgia,"Times New Roman","Songti SC",serif;color:#332a3a}
.fw-head p{margin:7px 0 0;font-size:11px;line-height:1.6;color:#968a9c}
.fw-refresh{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(83,64,94,.10);border-radius:50%;background:rgba(255,255,255,.76);color:#74578f;font:400 16px/1 Georgia,serif;cursor:pointer;box-shadow:0 4px 14px rgba(54,40,63,.035)}
.fw-refresh:disabled{opacity:.5;cursor:default}

.fw-list{max-width:920px;margin:0 auto;display:grid;gap:10px}
.fw-card{position:relative;padding:15px 18px 13px 42px;border:1px solid rgba(78,60,88,.075);border-radius:14px;background:rgba(255,255,255,.84);box-shadow:0 6px 20px rgba(52,38,61,.025);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.fw-card:hover{transform:translateY(-1px);border-color:rgba(110,79,154,.16);box-shadow:0 10px 28px rgba(52,38,61,.055)}
.fw-card:focus-visible{outline:2px solid rgba(110,79,154,.32);outline-offset:2px}
.fw-card-mark{position:absolute;left:17px;top:16px;color:#9277ad;font:italic 400 16px/1 Georgia,serif;opacity:.72}
.fw-card-main{min-width:0}
.fw-card-title{margin:0 0 7px;color:#55405f;font:500 11.5px/1.4 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.01em}
.fw-text{margin:0;color:#514756;font:400 13px/1.8 Georgia,"Noto Serif SC","Songti SC",serif;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-wrap;word-break:break-word}
.fw-card footer{margin-top:10px;padding-top:9px;border-top:1px solid rgba(79,61,89,.055);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;color:#aaa0ac}
.fw-open-hint{color:#9a89a4;opacity:.82}

.fw-state{max-width:720px;margin:86px auto 0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#968b9a}
.fw-state strong{font-size:13px;font-weight:500;color:#675d6c}
.fw-state span{font-size:10.5px;line-height:1.7}
.fw-state button{margin-top:5px;border:1px solid rgba(110,79,154,.14);border-radius:9px;background:#fff;color:#6e4f9a;padding:7px 11px;font:inherit;font-size:10px;cursor:pointer}
.fw-empty-mark{font:italic 400 30px/1 Georgia,serif;color:rgba(110,79,154,.35)}
.fw-spinner{width:18px;height:18px;border:1.5px solid rgba(110,79,154,.15);border-top-color:#6e4f9a;border-radius:50%;animation:fw-spin .8s linear infinite}
@keyframes fw-spin{to{transform:rotate(360deg)}}

.fw-modal-backdrop{position:fixed;inset:0;z-index:10050;background:rgba(34,27,39,.24);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:28px}
.fw-modal{position:relative;width:min(720px,92vw);max-height:min(760px,86vh);overflow:auto;border:1px solid rgba(77,58,87,.11);border-radius:18px;background:rgba(255,253,255,.985);box-shadow:0 24px 70px rgba(43,31,49,.16);padding:29px 34px 27px}
.fw-modal-close{position:absolute;right:18px;top:15px;width:31px;height:31px;border:0;border-radius:50%;background:transparent;color:#8b7c91;font:300 25px/1 Georgia,serif;cursor:pointer}
.fw-modal-close:hover{background:rgba(110,79,154,.06)}
.fw-modal-mark{color:#9b82b2;font:italic 400 20px/1 Georgia,serif}
.fw-modal-kicker{margin:8px 38px 17px 0;color:#5a4264;font-size:12px;font-weight:500}
.fw-modal-body{white-space:pre-wrap;word-break:break-word;color:#413847;font:400 14px/1.95 Georgia,"Noto Serif SC","Songti SC",serif}
.fw-modal-loading,.fw-modal-error{padding:20px 0;color:#968a9c;font-size:12px}
.fw-modal-error{color:#9a5d69}
.fw-modal-time{margin-top:22px;padding-top:13px;border-top:1px solid rgba(79,61,89,.07);font-size:9.5px;color:#aaa0ac}
.fw-tech{margin-top:13px;font-size:9.5px;color:#aaa0ac}
.fw-tech summary{cursor:pointer;user-select:none}
.fw-tech div{margin-top:7px}
.fw-tech code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#817288}

.fw-root.is-mobile{padding:24px 14px 92px}
.fw-root.is-mobile .fw-head{margin-bottom:18px}
.fw-root.is-mobile .fw-head h1{font-size:28px}
.fw-root.is-mobile .fw-card{padding:14px 14px 12px 38px;border-radius:13px}
.fw-root.is-mobile .fw-card-mark{left:14px;top:15px}
.fw-root.is-mobile .fw-text{font-size:12.5px;line-height:1.8;-webkit-line-clamp:4}
.fw-root.is-mobile .fw-open-hint{display:none}
.fw-root.is-mobile .fw-modal-backdrop{padding:12px;align-items:flex-end}
.fw-root.is-mobile .fw-modal{width:100%;max-height:88vh;border-radius:18px 18px 12px 12px;padding:25px 21px 24px}
.fw-root.is-mobile .fw-modal-body{font-size:13.5px;line-height:1.9}
