.pending-section{margin:0 0 28px}.pending-section .section-heading{margin-bottom:12px}.draft-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid #ddd6f3;background:#f3f0fc;border-radius:16px;margin:10px 0}.draft-card>div{min-width:0}.draft-card h3{font-size:17px;line-height:1.4;overflow-wrap:anywhere;margin:6px 0}.draft-card p{font-size:13px;color:var(--muted);margin:0}.draft-tag{display:inline-block;font-size:11px;font-weight:650;color:#6851bc}.draft-card .button{flex-shrink:0}.first-use .text-button{display:block;text-align:left;margin-top:12px;font-size:13px}.first-use h2{max-width:25ch}.flow-steps{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding:0 0 22px;margin-bottom:4px;border-bottom:1px solid var(--line)}.flow-steps strong{color:var(--purple)}.create-modal label{display:block;margin:20px 0 14px}.count-field{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.count-field input{width:95px}.creator-details{margin:18px 0}.creator-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;color:var(--muted)}.creator-details textarea{width:100%;margin:8px 0 12px}.create-price{font-size:14px;font-weight:600;line-height:1.5}.creator-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.creator-actions .button{flex:1}.manual-choice{display:block;text-align:center;width:100%;margin-top:14px}.create-modal .study-caption{margin:10px 0;color:var(--muted)}.create-modal input,.create-modal textarea{font-size:16px}.proposal-card{grid-template-columns:26px minmax(0,1fr) auto}.proposal-card>.text-button{align-self:start;padding:0 8px;font-size:12px}.proposal-card small{overflow-wrap:anywhere}.proposal-mini .button.primary{color:white;justify-content:center;padding:10px 14px;border-radius:9px;margin-top:12px;min-height:44px;background:var(--purple)}.proposal-mini .draft-tag{display:block;margin-top:10px}.reply-charge{font-size:11px;color:var(--muted);margin:8px 0}.credit-link{min-height:36px!important;font-size:12px;padding:3px 0;white-space:nowrap;color:var(--purple)}.send-button{white-space:nowrap;width:auto;min-width:42px;padding-inline:10px}.compose-help{line-height:1.5}#ai-send-error:not(:empty){font-size:12px;line-height:1.5}#ai-send-error .text-button{padding-inline:0;min-height:36px}.credit-summary{display:block;font-size:13px;margin-top:10px}.settings-disclosure summary{font-size:17px;font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px}.settings-disclosure summary::after{content:'+';margin-left:auto;font-weight:400;color:var(--muted)}.settings-disclosure[open] summary::after{content:'−'}.settings-disclosure>summary::-webkit-details-marker{display:none}.settings-disclosure[open] summary{margin-bottom:16px}.settings-disclosure summary:focus-visible,.card-options summary:focus-visible{outline:3px solid #a89be7;outline-offset:3px}.card-row-actions{flex-direction:row;align-items:flex-start;gap:6px}.card-options{position:relative}.card-options summary{list-style:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--line);border-radius:9px;font-size:24px}.card-options summary::-webkit-details-marker{display:none}.card-options>div{position:absolute;right:0;top:48px;z-index:5;min-width:180px;padding:6px;background:white;box-shadow:0 8px 24px #2222;border:1px solid var(--line);border-radius:12px}.card-options>div button{display:block;width:100%;text-align:left;border:0;white-space:normal;line-height:1.4}.card-options>div button:hover{background:#f1eefb}#draft-edit-content textarea{width:100%;margin:8px 0 16px}#payment-finished{margin-top:18px}#payment-checkout>[hidden]{display:none}.sample-label{font-size:11px;color:var(--muted);margin-bottom:6px}
.deck-card:not(.deck-add){display:flex;flex-direction:column;cursor:default}.deck-card .deck-description{font-size:12px;line-height:1.5;color:var(--muted);margin-bottom:16px}.deck-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto}.deck-actions .button{min-height:44px;padding:10px 18px;font-size:14px}.deck-actions .text-button{min-height:44px;font-size:13px}.deck-actions .button:hover{transform:none}
@media(max-width:640px){.draft-card{align-items:stretch;flex-direction:column;gap:12px;padding:18px}.draft-card .button{align-self:flex-start}.draft-card h3{font-size:16px}.pending-section{margin-bottom:22px}.card-row-actions{flex-direction:row!important}.proposal-card{gap:6px;grid-template-columns:20px minmax(0,1fr) 40px}.proposal-card>.text-button{padding:0;font-size:12px}.first-use .button{width:100%}.first-use .text-button{width:100%;text-align:center}.create-modal{max-height:90vh;max-height:90dvh}.flow-steps{font-size:12px}}

.deck-progress{margin:4px 0 20px}.deck-progress summary{display:block;list-style:none;cursor:pointer;min-height:44px;border-radius:5px;padding:2px 0}.deck-progress summary::-webkit-details-marker{display:none}.deck-progress summary:focus-visible{outline:3px solid #a79bea;outline-offset:4px}.deck-progress-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:10px}.progress-info{font-size:15px;flex-shrink:0}.deck-progress progress{display:block;width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:#e5e9e2;accent-color:#688d56;appearance:none;-webkit-appearance:none}.deck-progress progress::-webkit-progress-bar{background:#e5e9e2;border-radius:99px}.deck-progress progress::-webkit-progress-value{background:#688d56;border-radius:99px}.deck-progress progress::-moz-progress-bar{background:#688d56;border-radius:99px}.deck-card .deck-progress>p{font-size:12px;line-height:1.55;margin:10px 0 0;min-height:0}.deck-progress[open]{margin-bottom:20px}

/* A quiet Monday–Sunday attendance strip; date and symbols supplement colour. */
.weekly-practice{margin-top:28px;padding:22px;background:#fff;border:1px solid #e3e6dc;border-radius:20px;box-shadow:0 4px 18px #28352804}
.weekly-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.weekly-heading h2{font-size:18px;letter-spacing:-.025em;margin:0 0 5px;line-height:1.3}
.weekly-heading p{font-size:12px;color:#6b756c;line-height:1.4;margin:0}
.weekly-total{display:inline-flex;align-items:center;white-space:nowrap;border-radius:12px;background:#f2effb;color:#6250bc;padding:8px 12px;font-size:14px;font-weight:400;line-height:1.4;font-variant-numeric:tabular-nums}
.weekly-days{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.week-day-item{display:flex;flex-direction:column;align-items:center;min-width:0;gap:10px;color:#7a8278}
.week-day-name{font-size:12px;font-weight:550;line-height:1.3}
.week-day-mark{display:flex;align-items:center;justify-content:center;width:36px;height:38px;border-radius:13px;background:#f5f6f2;border:1px solid #e9ece4;color:#727d70;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.week-day-item.studied .week-day-mark{background:#688d56;border-color:#688d56;color:white;font-size:21px}
.week-day-item.missed .week-day-mark{background:#f8eee4;border-color:#efddcb;color:#936940;font-size:20px;font-weight:400}
.week-day-item.not_started .week-day-mark{background:transparent;border-style:dashed;color:#92998e}
.week-day-item.is-today .week-day-name{color:#6652cf;font-weight:700}
.week-day-item.is-today .week-day-mark{outline:2px solid #8471de;outline-offset:3px}
.week-day-item.today .week-day-mark{background:#efebfb;border-color:#e0d8f8;color:#6551ce}
.week-today-dot{height:4px;width:4px;border-radius:50%;background:transparent;margin-top:-2px}
.is-today .week-today-dot{background:#7964d5}
@media(min-width:760px){.weekly-practice{padding:24px 28px}.week-day-mark{width:44px;height:44px;border-radius:15px}.weekly-days{max-width:580px;margin:auto}}
@media(max-width:360px){.weekly-practice{padding:18px 16px}.weekly-days{gap:3px}.week-day-mark{width:30px;height:34px;border-radius:11px}.week-day-name{font-size:11px}.weekly-total{padding:8px 10px}.weekly-heading h2{font-size:17px}}
