/* Final visual polish: retain depth, use a whisper-light goal edge, and make deadlines easier to scan. */
.app-shell .goal-card {
  border: 1px solid #d6b96b4a !important;
  box-shadow: inset 0 1px 0 #ffffff0c, 0 5px 10px #0006, 0 16px 28px -8px #000b, 0 0 23px #ffc24f19, 0 9px 26px -6px #efb23920 !important;
}
.app-shell .goal-grid { gap: 18px !important; }
.goal-deadline-row .goal-deadline-date {
  color:#ffe09a !important; font-size:13px !important; font-weight:760 !important;
  text-shadow:0 0 11px #ffcc6338;
}
.goal-deadline-row .goal-countdown {
  color:#ffe3a0 !important; background:#ffcf611a !important; font-weight:820 !important;
  box-shadow:0 0 12px #ffc24f14 !important;
}
.goal-deadline-row .goal-countdown[data-deadline-state="overdue"] { color:#ffc2b0 !important; background:#f0baa914 !important; }
.goal-deadline-row .goal-countdown[data-deadline-state="complete"] { color:#ece1c6 !important; background:#ffffff0a !important; }

/* Splash uses the supplied FLOW artwork only. */
#flow-intro .flow-intro-logo { gap:0 !important; }
#flow-intro .flow-intro-logo > img { width:min(330px,78vw) !important; height:auto !important; filter:drop-shadow(0 0 18px #e9a51d2b); }

/* Reflections are a daily journal, not another form. */
.reflection-daily-copy { margin:7px 0 15px; color:#d1c9ba; font-size:14px; line-height:1.5; }
.reflection-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:4px 0 14px; }
.reflection-actions .btn { min-height:48px; font-size:15px; font-weight:760; }
.reflection-actions .reflection-speak { background:#24262b; border:1px solid #d6b96b4a; color:#ffe09a; box-shadow:0 0 15px #ffc24f12; }
.reflection-speech-box { display:grid; gap:14px; }
.reflection-speech-lead { color:#d6cfbf; line-height:1.55; }
.reflection-speech-status { min-height:22px; color:#e3c77f; font-size:13px; }
.reflection-speech-text { width:100%; min-height:170px; font-size:17px; line-height:1.6; }
.reflection-speech-controls { display:flex; flex-wrap:wrap; gap:9px; }
.reflection-speech-controls .btn { min-height:46px; }
.reflection-speech-controls .gold { flex:1; }

/* Folder cards use the same image-led Library language, but custom folders get a small options affordance. */
.final-library-folder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:14px 0 20px; }
.final-folder-wrap { position:relative; min-width:0; }
.final-folder-card { position:relative; width:100%; min-height:190px; border-radius:18px; overflow:hidden; text-align:left; background:linear-gradient(145deg,#292a2d,#151618); box-shadow:0 5px 20px #0008,0 0 22px #ffc24f12; }
.final-folder-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform-origin:center; }
.final-folder-shade { position:absolute; inset:0; background:linear-gradient(0deg,#000f 0%,#000b 45%,#0002 100%); }
.final-folder-copy { position:absolute; left:15px; right:46px; bottom:15px; z-index:2; }
.final-folder-copy small { display:block; color:#ffdc89; font-size:12px; }
.final-folder-copy strong { display:block; margin-top:5px; color:#fff6e5; font-size:19px; line-height:1.2; overflow-wrap:anywhere; }
.final-folder-menu { position:absolute; z-index:3; top:8px; right:8px; width:44px; height:44px; border-radius:50%; background:#090a0cba; border:1px solid #d6b96b55; color:#ffe09a; font-size:19px; backdrop-filter:blur(7px); }
.final-default-folder-wrap { position:relative; min-width:0; }
.final-default-folder-wrap > .library-collection { width:100%; height:100%; }
.final-default-folder-wrap > .final-folder-menu { top:7px; right:7px; }
.final-library-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:4px 0 12px; }
.final-library-head h2 { font-size:24px; }
.final-library-empty { padding:24px 16px; color:#bdb7aa; text-align:center; }
.final-folder-editor-preview { position:relative; height:190px; border-radius:16px; overflow:hidden; background:#15171a; margin:10px 0 16px; }
.final-folder-editor-preview img { width:100%; height:100%; object-fit:cover; transform-origin:center; }
.final-folder-editor-preview .final-folder-shade { pointer-events:none; }
.final-folder-crop { display:grid; gap:10px; margin:13px 0; }
.final-folder-crop label { display:grid; grid-template-columns:90px minmax(0,1fr); gap:10px; align-items:center; color:#cfc6b5; font-size:13px; }
.final-folder-crop input[type=range] { width:100%; }
.final-folder-add { margin:8px 0 18px; }

@media(max-width:420px){
  .app-shell .goal-grid { gap:16px !important; }
  .final-library-folder-grid { gap:10px; }
  .final-folder-card { min-height:170px; }
  .reflection-actions { gap:8px; }
}
@media(forced-colors:active){ .final-folder-card,.reflection-actions .reflection-speak { box-shadow:none; outline:1px solid CanvasText; } }
