/* Readable progress labels and quiet controls for a phone. */
#tab-quests .home-quest:has(>.quest-drag-handle) .quest-expand{
 grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto;
 gap:0 7px;min-height:60px;padding:7px 47px 7px 6px;
}
#tab-quests .quest-category{grid-row:1;grid-column:1;border:0;padding:0;align-self:center}
#tab-quests .quest-category svg{width:24px;height:24px;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--category) 35%,transparent))}
#tab-quests .quest-progress{
 position:relative;isolation:isolate;grid-column:2;grid-row:1;display:grid;
 grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;
 min-height:44px;height:auto;box-sizing:border-box;margin:0;padding:6px 7px;
 border:1px solid color-mix(in srgb,var(--category) 32%,#56616c);border-radius:6px;
 background:linear-gradient(115deg,#242b36b8,#101925dc);
 box-shadow:inset 0 1px 2px #ffffff13,inset 0 -1px 3px #0004;
}
#tab-quests .quest-progress .quest-progress-fill{
 position:absolute;z-index:-1;inset:0 auto 0 0;display:block;height:100%;max-width:100%;
 border-radius:5px 0 0 5px;pointer-events:none;
 background:linear-gradient(100deg,color-mix(in srgb,var(--category) 43%,#152132),color-mix(in srgb,var(--category) 28%,#182333));
 box-shadow:inset -1px 0 color-mix(in srgb,var(--category) 80%,transparent),inset 0 1px 2px #ffffff22;
 transition:width .65s cubic-bezier(.2,.65,.25,1);
}
#tab-quests .quest-progress .quest-title{
 grid-column:1;grid-row:1;min-width:0;margin:0;padding:0;
 color:#f4f1e8;font:400 14px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
 letter-spacing:0;overflow-wrap:anywhere;text-shadow:0 1px 3px #000c;
}
#tab-quests .quest-progress .quest-percent{
 position:relative;grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;
 gap:5px;font:500 11px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
 font-variant-numeric:tabular-nums;white-space:nowrap;color:#f4ead4;text-shadow:0 1px 3px #000;
}
#tab-quests .quest-progress .quest-percent>span{font-size:17px;line-height:1;color:#d9ccb2}
#tab-quests .quest-drag-handle{
 top:8px;right:1px;width:44px;height:44px;min-width:44px;min-height:44px;
 border:0;border-radius:0;padding:10px;background:none;box-shadow:none;
 color:#c6b88caa;transition:color .2s ease;
}
#tab-quests .quest-drag-handle svg{width:19px;height:19px;display:block;filter:none}
#tab-quests .quest-drag-handle:hover,#tab-quests .quest-drag-handle:active{background:none;box-shadow:none;color:#f1dfaa}
#tab-quests .quest-drag-handle:focus-visible{border-radius:5px;outline:1px solid #efdaa3;outline-offset:-5px}

/* An explicit navy material prevents colours behind the glass tinting the form green. */
body>#questComposer.quest-composer{
 background-color:#111a29;
 background-image:radial-gradient(ellipse at 12% 0,#7a455e22,transparent 60%),linear-gradient(145deg,#242333f5,#111c2cf7);
 backdrop-filter:blur(22px) saturate(1.04);-webkit-backdrop-filter:blur(22px) saturate(1.04);
}
#questComposer .input,#questComposer input:not([type=hidden]),#questComposer textarea{background-color:#121c2b;background-image:linear-gradient(120deg,#20273970,#121a2c55);color:#f5f0e7}
#questComposer #closeComposer,#questComposer .mic{background:linear-gradient(135deg,#48404a88,#192234dd)}
#questComposer #addQuestBtn{background:linear-gradient(115deg,#785f49c9,#2c293edf)}
#composerBackdrop{background:#0509156b}

/* Category names now share the filled bar with their percentages. */
.character-dashboard .category-stat{
 grid-template-columns:19px minmax(0,1fr);grid-template-rows:minmax(0,1fr);
 gap:4px;align-items:center;align-content:center;padding:1px 0;
}
.character-dashboard .category-mark{grid-column:1;grid-row:1;align-self:center}
.character-dashboard .category-mark svg{width:18px;height:18px}
.character-dashboard .category-meter{
 position:relative;grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;
 gap:4px;min-width:0;width:100%;height:28px;box-sizing:border-box;padding:0 4px;
 border-radius:5px;isolation:isolate;
 background:linear-gradient(#343442b0,#1a2332ed);
}
.character-dashboard .category-meter i{position:absolute;inset:0 auto 0 0;z-index:-1;height:100%;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--category) 62%,#273043),color-mix(in srgb,var(--category) 48%,#263044));opacity:1}
.character-dashboard .category-meter .category-name{
 position:relative;grid-column:auto;grid-row:auto;align-self:auto;min-width:0;
 color:#f5f0e9;font:400 11.5px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
 letter-spacing:0;white-space:nowrap;text-shadow:0 1px 2px #000,0 0 4px #0008;
}
.character-dashboard .category-meter b{
 position:relative;inset:auto;display:inline;flex:none;padding:0;color:#fff4db;
 font:600 11.5px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
 font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000,0 0 4px #0008;
}
#tab-quests .home-dock #dailyQuest .daily-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
#tab-quests .home-dock #dailyQuest .daily-copy strong{display:block;overflow-wrap:anywhere}
#tab-quests .home-dock #dailyQuest .daily-created{display:block;color:#c8bdb0;font-size:10px;line-height:1.25;font-variant-numeric:tabular-nums}
@media(min-width:410px){
 #tab-quests .quest-progress .quest-title{font-size:14px}
 .character-dashboard .category-meter .category-name,.character-dashboard .category-meter b{font-size:12px}
}
@media(prefers-reduced-motion:reduce){#tab-quests .quest-progress .quest-progress-fill{transition:none}}
#tab-quests .home-quest:not(.is-open) .quest-progress .quest-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

/* A quiet focus session lives inside its own expanded quest. */
.focus-session{
 min-width:0;margin:9px 0 7px;padding:10px;
 border:1px solid color-mix(in srgb,var(--category) 32%,#576171);border-radius:8px;
 background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--category) 10%,transparent),transparent 75%),linear-gradient(135deg,#1b2432ef,#101927f5);
 box-shadow:inset 0 1px #fff1d518;
}
.focus-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin-bottom:8px}
.focus-label{min-width:0;color:#d3c9b7;font-size:12px;line-height:1.3}
.focus-clock{flex:none;color:#fff0c4;font:500 20px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;letter-spacing:.03em;font-variant-numeric:tabular-nums;text-shadow:0 0 6px #f1c65e33}
.focus-meter{position:relative;height:5px;overflow:hidden;border-radius:4px;background:#39405190;border:1px solid #a5956929;box-shadow:inset 0 1px 2px #0005}
.focus-meter>i{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--category) 65%,#e8d7ae),var(--category));box-shadow:0 0 6px color-mix(in srgb,var(--category) 50%,transparent);transition:width .35s linear}
.focus-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px}
.focus-actions button{flex:1;min-width:88px;min-height:44px;padding:8px 10px;border:1px solid #b99b5d80;border-radius:6px;background:linear-gradient(135deg,#57443477,#20283bd9);color:#efdfb6;font:500 12px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;box-shadow:inset 0 1px #ffe8b121}
.focus-actions button:active{background:linear-gradient(135deg,#75563799,#252e42);border-color:#e8c981}
.focus-actions button:disabled{opacity:.45}
.focus-status{display:block;margin-top:7px;color:#b7b4b0;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.quest-streak{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;margin-top:9px;color:#cfc3a9}
.streak-caption{font-size:11px;line-height:1.2;white-space:nowrap}
.streak-track{display:flex;align-items:center;gap:4px;flex:1;min-width:95px;max-width:165px}
.streak-track>i{display:block;flex:1;min-width:0;height:4px;border:0;border-radius:3px;background:#56607066}
.streak-track>i.is-done{background:color-mix(in srgb,var(--category) 75%,#e8d59d);box-shadow:0 0 4px color-mix(in srgb,var(--category) 35%,transparent)}
.streak-track>b{margin-left:3px;color:#e7d4a7;font:500 11px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Completed daily quests offer a fresh session without taking over the list. */
.recurring-offers{display:grid;gap:7px;margin-top:9px;min-width:0}
.recurring-offers[hidden]{display:none!important}
.recurring-offer{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:9px 8px;border:1px solid #b29a6266;border-left:2px solid var(--category,#d5bb7b);border-radius:8px;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--category) 10%,transparent),transparent 70%),linear-gradient(130deg,#212738ec,#111a29f2);box-shadow:inset 0 1px #fff1cb15}
.recurring-icon{display:grid;place-items:center;color:var(--category,#e2c677)}
.recurring-icon svg,.recurring-offer>svg{display:block;width:24px;height:24px;color:var(--category,#e2c677)}
.recurring-copy{min-width:0}
.recurring-copy>strong{display:block;min-width:0;color:#eee6d8;font-size:12px;line-height:1.3;font-weight:500;overflow-wrap:anywhere}
.recurring-copy>small{display:block;margin-top:3px;color:#bfb5a5;font-size:10px;line-height:1.3}
.recurring-copy .quest-streak{margin-top:6px}
.recurring-copy .streak-track{min-width:70px;max-width:115px}
.recurring-offer>button{min-height:44px;padding:7px 9px;border:1px solid #c5aa6c99;border-radius:6px;background:linear-gradient(135deg,#66503c88,#24283bd9);color:#f0ddb0;font:500 11px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;white-space:nowrap}

#questComposer .repeat-choice{display:flex;align-items:center;gap:10px;min-height:52px;margin:16px 0 0;padding:10px 11px;border:1px solid #b29b6555;border-radius:9px;background:linear-gradient(125deg,#343245b3,#172235d4);box-sizing:border-box}
#questComposer .repeat-choice input[type=checkbox]{flex:none;width:21px;height:21px;min-width:21px;min-height:21px;margin:0;padding:0;accent-color:#ddc17d;border-radius:4px}
#questComposer .repeat-choice>span{display:flex;flex-direction:column;gap:4px;min-width:0}
#questComposer .repeat-choice strong{color:#ece2c9;font:500 13px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
#questComposer .repeat-choice small{color:#bdb3a7;font-size:11px;line-height:1.35}
#questComposer .repeat-lock-note{font-size:11px;line-height:1.4;color:#c4b799;margin:7px 1px 0}

/* Hold feedback covers the full quest surface; its text remains readable. */
#tab-quests .quest-expand{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:pan-y}
.home-quest.is-holding::after,.home-quest.is-hold-committing::after{
 content:'';position:absolute;inset:0 auto 0 0;z-index:4;pointer-events:none;
 width:calc(clamp(0,var(--hold-progress,0),1)*100%);height:100%;border-radius:inherit;
 background:linear-gradient(90deg,color-mix(in srgb,var(--category) 76%,transparent),color-mix(in srgb,var(--category) 95%,transparent));
 box-shadow:inset -2px 0 color-mix(in srgb,var(--category) 55%,white),1px 0 8px color-mix(in srgb,var(--category) 45%,transparent);
 opacity:.3;mix-blend-mode:screen;transition:none;
}
.home-quest.is-holding{border-color:color-mix(in srgb,var(--category) 65%,#ead5a2)}
.home-quest.is-hold-committing{border-color:#f2d9a1;box-shadow:0 0 10px color-mix(in srgb,var(--category) 42%,transparent),inset 0 0 6px color-mix(in srgb,var(--category) 20%,transparent)}
.home-quest.is-hold-committing::after{width:100%;opacity:.42}
.is-page-entering{animation:quest-page-enter .28s ease-out both}
@keyframes quest-page-enter{from{opacity:.12}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.is-page-entering{animation:none!important}.focus-meter>i{transition:none}}
.focus-actions>.focus-status{flex-basis:100%;margin-top:0}
#questComposer .quest-options>label.repeat-choice{display:flex}
