#wh-cb[hidden],#wh-cb [hidden],#wh-ov[hidden]{display:none!important}
#wh-cb{position:fixed;z-index:99999;background:var(--wh-surface);color:var(--wh-ink);font-family:inherit;box-shadow:0 12px 48px rgba(15,23,42,.22);line-height:1.5}
#wh-cb *{box-sizing:border-box}
#wh-cb.bar{inset-inline-start:0;inset-inline-end:0;bottom:0;border-top:1px solid var(--wh-line);box-shadow:0 -8px 30px rgba(15,23,42,.12)}
#wh-cb.card{inset-inline-start:20px;bottom:20px;width:380px;max-width:calc(100vw - 40px);border-radius:16px;border:1px solid var(--wh-line)}
#wh-cb.modal{left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;border-radius:18px}
#wh-ov{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:99998}
.wh-main{display:flex;align-items:center;gap:20px;padding:18px 28px;max-width:1280px;margin:0 auto}
#wh-cb.card .wh-main,#wh-cb.modal .wh-main{flex-direction:column;align-items:stretch;gap:14px;padding:20px}
.wh-text{flex:1;min-width:0;font-size:13.5px;color:var(--wh-text)}.wh-text b{display:block;font-size:15px;color:var(--wh-ink);margin-bottom:2px}.wh-text p{margin:0}
.wh-text a{color:var(--c);font-weight:600;text-decoration:underline}
.wh-btns{display:flex;gap:10px;align-items:center;flex-wrap:wrap;flex:none}
#wh-cb.card .wh-btns,#wh-cb.modal .wh-btns{flex-direction:column;align-items:stretch}
#wh-cb.open .wh-btns{display:none}
.wh-btn{appearance:none;cursor:pointer;font:600 13.5px/1 inherit;font-family:inherit;padding:12px 20px;border-radius:10px;min-height:44px;border:2px solid #111827;background:var(--wh-surface);color:var(--wh-ink);transition:filter .15s,background .15s}
.wh-btn:hover{background:var(--wh-surface-3)}.wh-btn.fill{background:var(--c);border-color:var(--c);color:#fff}.wh-btn.fill:hover{background:var(--c);filter:brightness(1.08)}
.wh-btn:focus-visible,.wh-link:focus-visible{outline:3px solid #2563EB;outline-offset:2px}
.wh-link{appearance:none;border:0;background:none;cursor:pointer;font:600 13.5px/1 inherit;font-family:inherit;color:var(--wh-text);text-decoration:underline;padding:12px 6px;min-height:44px}
.wh-prefs{border-top:1px solid var(--wh-line);padding:18px 28px 20px;max-width:1280px;margin:0 auto;max-height:70vh;overflow-y:auto}
#wh-cb.card .wh-prefs,#wh-cb.modal .wh-prefs{padding:16px 20px 20px}
.wh-prefs h3{margin:0 0 4px;font-size:15px;color:var(--wh-ink)}.wh-prefs>p{margin:0 0 14px;font-size:13px;color:var(--wh-muted)}
.wh-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--wh-line-soft)}
.wh-row b{display:block;font-size:13.5px;color:var(--wh-ink)}.wh-row small{display:block;font-size:12.5px;color:var(--wh-muted);margin-top:1px}
.wh-on{font-size:12px;font-weight:700;color:var(--tone-green-fg);background:var(--tone-green-bg);border-radius:99px;padding:3px 10px;white-space:nowrap}
.wh-sw{position:relative;flex:none;width:46px;height:26px}.wh-sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.wh-sw i{position:absolute;inset:0;border-radius:99px;background:var(--wh-line-strong);transition:background .15s;pointer-events:none}
.wh-sw i::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:var(--wh-surface);box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.wh-sw input:checked+i{background:var(--c)}.wh-sw input:checked+i::after{transform:translateX(20px)}.wh-sw input:focus-visible+i{outline:3px solid #2563EB;outline-offset:2px}
.wh-pbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.wh-err{margin:10px 0 0;font-size:12.5px;color:var(--tone-red-mid)}
@media(max-width:700px){.wh-main{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.wh-btns{display:grid;grid-template-columns:1fr 1fr}.wh-btns .wh-link{grid-column:1/-1;text-align:center}.wh-prefs{padding:14px 16px 16px}#wh-cb.card{inset-inline-start:10px;inset-inline-end:10px;bottom:10px;width:auto;max-width:none}}
@media(prefers-reduced-motion:no-preference){#wh-cb{animation:whIn .25s ease-out}@keyframes whIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}#wh-cb.modal{animation:none}}
