/* A quiet entry above the family dock. The dialog reuses the existing overlay. */
.qy-floating-weekly-dock{position:fixed;z-index:35;right:max(18px,env(safe-area-inset-right));bottom:calc(max(var(--qy-floating-dock,0px),env(safe-area-inset-bottom)) + 18px)}
.qy-floating-weekly-dock[hidden]{display:none!important}
.qy-floating-weekly-launcher{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 50px 10px 11px;border:1px solid #bda16d;border-radius:28px;background:linear-gradient(135deg,#29251d,#141414);color:#f9edd3;box-shadow:0 5px 22px #00000033;text-align:left;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
.qy-floating-weekly-close{position:absolute;right:0;top:0;display:grid;place-items:center;width:44px;height:54px;border:0;background:transparent;color:#f9edd3;font-size:24px;cursor:pointer}
.qy-floating-weekly-close:focus-visible{outline:3px solid #dfbc73;outline-offset:3px;border-radius:25px}
.qy-floating-weekly-launcher[hidden]{display:none!important}
.qy-floating-weekly-launcher small{display:block;margin-top:3px;color:#d3c8ad;font-size:10px;font-weight:400}
.qy-floating-weekly-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d9bc7c;color:#252b22}
.qy-floating-weekly-icon svg{width:20px;height:20px}
.qy-floating-weekly-launcher:focus-visible,.qy-floating-weekly-dialog button:focus-visible{outline:3px solid #dfbc73;outline-offset:3px}
.qy-premium .modal.qy-floating-weekly-dialog{width:min(100%,420px);max-width:420px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;padding:22px;background:linear-gradient(150deg,#22271f,#131914);border:1px solid #766544;border-radius:20px;color:#f8efdc}
.qy-floating-weekly-dialog>.row h2{font-size:21px;color:#fff6e5}
.qy-floating-weekly-dialog>.row>.link{min-width:44px;min-height:44px;color:#ead9b8}
.qy-floating-weekly-dialog>.modal-actions{display:none}
.qy-floating-weekly-dialog .qy-floating-weekly-child{font-size:14px;color:#e4c78d;margin:10px 0 0;overflow-wrap:anywhere}
.qy-floating-weekly-child span{font-size:10px;color:#c5c1b2;margin-left:7px}
.qy-floating-weekly-dialog .qy-weekly-progress{margin:16px 0}
.qy-floating-weekly-dialog .qy-weekly-open{min-height:94px;gap:10px;padding:10px}
.qy-floating-weekly-dialog .qy-weekly-open img{width:65px;height:72px}
.qy-floating-weekly-dialog .qy-weekly-copy strong{font-size:14px}
.qy-floating-weekly-dialog .qy-weekly-copy>b{font-size:16px}
.qy-floating-weekly-dialog .qy-weekly-task-foot{padding:0 10px 10px;gap:7px}
.qy-floating-weekly-dialog .qy-weekly-task-foot .button{min-height:44px;max-width:155px;font-size:12px}
.qy-floating-weekly-dialog .qy-weekly-state{font-size:11px}
.qy-floating-weekly-guide{text-align:center;padding:14px 0 10px}
.qy-floating-weekly-emblem{display:grid;place-items:center;margin:0 auto;width:52px;height:52px;border-radius:50%;background:#dec188;color:#302714}
.qy-floating-weekly-guide p{line-height:1.9;color:#e0d6c2;font-size:14px}
.qy-floating-weekly-dialog .qy-floating-weekly-error{padding:12px;border:1px solid #d4a284;border-radius:9px;color:#ffd1b2;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.qy-floating-weekly-error .button{margin-top:9px;min-height:44px;color:#fff3da!important;border-color:#d4b786!important}
@media(max-width:760px){.qy-floating-weekly-dock{right:max(12px,env(safe-area-inset-right));bottom:calc(max(var(--qy-floating-dock,72px),72px + env(safe-area-inset-bottom)) + 12px)}.qy-premium .modal.qy-floating-weekly-dialog{padding:17px;width:100%;max-width:420px;border-radius:17px}}
@media(max-width:360px){.qy-floating-weekly-launcher{font-size:12px;gap:7px}.qy-floating-weekly-dialog .qy-weekly-open img{width:57px;height:68px}.qy-floating-weekly-dialog .qy-weekly-copy strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.qy-floating-weekly-launcher,.qy-floating-weekly-dialog{scroll-behavior:auto;transition:none}}

/* Both list and the reused task detail stay inside device safe areas. */
.qy-floating-weekly-backdrop{padding:calc(16px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
#qyFloatingWeeklyDialog.qy-weekly-dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overscroll-behavior:contain}
#qyFloatingWeeklyDialog.qy-weekly-dialog>.row>.link{width:44px;height:44px;min-width:44px;min-height:44px}
#qyFloatingWeeklyDialog.qy-weekly-dialog .qy-weekly-actions .button{min-height:44px}
#qyFloatingWeeklyDialog.qy-weekly-dialog summary{min-height:44px;display:flex;align-items:center}
