.daily-reflection-dialog{box-sizing:border-box;width:min(calc(100vw - 28px),500px);max-width:none;max-height:calc(var(--fr-viewport-height,100dvh) - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));position:fixed;inset:auto;left:50%;top:var(--fr-center-y,50%);transform:translate(-50%,-50%);margin:0;padding:0;border:1px solid #e8eaf0;border-radius:16px;background:#fff;color:#102b53;font-family:var(--app-font);box-shadow:0 24px 80px #020c2440;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
html:has(.daily-reflection-dialog[open]){overflow:hidden}
.daily-reflection-dialog::backdrop{background:#09172bc9;backdrop-filter:blur(8px)}
.daily-reflection-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;margin:0;padding:12px 24px;border:0;border-bottom:1px solid #dde1ec}
.daily-reflection-dialog h2{margin:0;font:700 1.0625rem/1.5 var(--app-font);letter-spacing:-.025em}
.daily-reflection-dialog>header .icon-button{flex:0 0 44px;width:44px;height:44px;min-height:44px;margin-right:-8px;color:#102b53;border:0;background:none;border-radius:8px}
.daily-reflection-dialog>header .icon{width:27px;height:27px}
.fr-composer{box-sizing:border-box;padding:28px 24px 26px;font-family:var(--app-font);letter-spacing:-.02em;min-width:0}
.fr-composer [hidden]{display:none!important}
.fr-intro{text-align:center}
.fr-editor-title,.fr-intro h3{margin:0;color:#102b53;font:750 1.5rem/1.45 var(--app-font);letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere}
.fr-editor-subtitle{margin:8px 0 0;color:#6a7395;font-size:.9375rem;line-height:1.6;word-break:keep-all}
.fr-status{font-size:.8125rem;line-height:1.6;color:#68728d;text-align:center;margin:0 0 16px;overflow-wrap:anywhere}
.fr-status.is-error{color:#a1304a}
.fr-rating{padding:0;margin:22px 0 32px;border:0;min-width:0}
.fr-rating>div{display:flex;justify-content:center;gap:10px}
.fr-rating label{position:relative;display:grid;place-items:center;flex:0 1 54px;width:54px;height:54px;min-width:44px;cursor:pointer;color:#687396;border-radius:8px}
.fr-rating input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.fr-rating svg{width:50px;height:50px;pointer-events:none}
.fr-rating label:has(input:checked) svg,.fr-rating label:has(~label input:checked) svg{fill:currentColor}
.fr-rating label:has(input:focus-visible){outline:2px solid #183f77;outline-offset:2px}
.fr-rating p{text-align:center;color:#687396;font-size:.9375rem;line-height:1.6;min-height:1.6em;margin:10px 0 0}
.fr-body-label{display:block;font-weight:700;font-size:1.0625rem;line-height:1.5;margin-bottom:10px;color:#102b53}
.fr-input-wrap{padding:15px 15px 11px;background:#fff;border:1px solid #cbd1e2;border-radius:11px}
.fr-input-wrap:focus-within{border-color:#5378ad;box-shadow:0 0 0 2px #dce8f9}
.daily-reflection-dialog .fr-input-wrap textarea{box-sizing:border-box;display:block;width:100%;min-height:112px;padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:#102b53;font:1rem/1.65 var(--app-font);outline:none;resize:vertical;overflow-wrap:anywhere}
.fr-input-wrap textarea::placeholder{color:#858da3;opacity:1}
.fr-input-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#727e9b;font-size:.8125rem;line-height:1.5;font-variant-numeric:tabular-nums}
.fr-privacy{display:flex;align-items:center;gap:13px;position:relative;margin:22px 0 26px;cursor:pointer;min-height:50px}
.fr-lock{display:flex;flex:0 0 25px;color:#102b53}
.fr-lock svg{width:25px;height:30px}
.fr-privacy-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.fr-privacy-copy strong{font-size:1rem;line-height:1.5}
.fr-privacy-copy>span{font-size:.8125rem;line-height:1.5;color:#727c9b;word-break:keep-all;overflow-wrap:anywhere}
.fr-privacy>input{position:absolute;right:0;width:54px;height:44px;opacity:0;cursor:pointer;margin:0}
.fr-switch{position:relative;flex:0 0 52px;height:30px;background:#b3bbce;border-radius:20px;pointer-events:none}
.fr-switch:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0002;transition:transform .15s}
.fr-privacy>input:checked+.fr-switch{background:#163e74}
.fr-privacy>input:checked+.fr-switch:after{transform:translateX(22px)}
.fr-privacy>input:focus-visible+.fr-switch{outline:2px solid #5378ad;outline-offset:3px}
.fr-submit{box-sizing:border-box;width:100%;min-height:52px;border:0;border-radius:10px;background:#153660;color:#fff;font:700 1.125rem/1.5 var(--app-font);padding:13px;cursor:pointer}
.fr-submit:disabled,.fr-edit:disabled{opacity:.5;cursor:default}
.fr-composer :is(button,a,input):focus-visible,.daily-reflection-dialog>header button:focus-visible{outline:2px solid #5378ad;outline-offset:3px}
.fr-editor-actions{display:flex;flex-direction:column;gap:6px}
.fr-cancel{min-height:44px;padding:8px;border:0;background:none;color:#647087;font:500 .875rem/1.5 var(--app-font);cursor:pointer}
.fr-secondary{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;color:#69758c;font-size:.75rem}
.fr-secondary:has(button:not([hidden])){margin-top:12px}
.fr-secondary button{min-height:40px;border:0;background:none;color:inherit;padding:8px;font:inherit;line-height:1.5;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fr-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.fr-saved-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e4e8ef}
.fr-saved-heading h3{margin:0;font:700 1.125rem/1.5 var(--app-font)}
.fr-saved-state{font-size:.8125rem;line-height:1.5;color:#687396;white-space:nowrap}
.fr-saved-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0 16px;color:#68728d;font-size:.8125rem;line-height:1.6;overflow-wrap:anywhere}
.fr-saved-stars{color:#687396;font-size:1.25rem;line-height:1.5;white-space:nowrap}
.fr-saved-body{margin:0;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font:400 1rem/1.8 var(--app-font);color:#243c5a}
.fr-saved-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid #e4e8ef}
.fr-edit{min-height:44px;padding:10px 16px;border:1px solid #bbc9da;border-radius:8px;background:#fff;color:#12345f;font:600 .875rem/1.5 var(--app-font);cursor:pointer}
.fr-saved-actions a{font-size:.8125rem;color:#647087}
@media(max-width:400px){.daily-reflection-dialog>header{padding-left:20px;padding-right:20px}.fr-composer{padding-left:20px;padding-right:20px}.fr-editor-title,.fr-intro h3{font-size:1.3125rem}.fr-editor-subtitle{font-size:.875rem}.fr-rating>div{gap:6px}.fr-rating label{width:48px;height:48px}.fr-rating svg{width:46px;height:46px}}
@media(max-height:720px){.daily-reflection-dialog>header{min-height:60px;padding-top:8px;padding-bottom:8px}.fr-composer{padding-top:20px;padding-bottom:20px}.fr-rating{margin-top:16px;margin-bottom:22px}.fr-rating p{margin-top:6px}.daily-reflection-dialog .fr-input-wrap textarea{min-height:90px}.fr-privacy{margin-top:18px;margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.fr-switch:after{transition:none}}
