/* Isolated three-section concept. */
.edition{padding-top:76px!important;padding-bottom:58px!important}
#open-about{top:68px!important}
.navigation{padding-top:12px;justify-content:space-around}
.navigation a{font-size:12px!important;padding-left:12px!important;padding-right:12px!important}
#view-journal{scrollbar-width:none}#view-journal::-webkit-scrollbar{display:none}

#about-dialog #pro-guide{margin-top:18px}

/* Quiet utility icon and a little more air below both calendars’ dates. */
#open-about .about-grid{display:grid;grid-template-columns:repeat(3,3px);gap:3px;width:15px;height:15px;margin:auto}
#open-about .about-grid span{width:3px;height:3px;border-radius:50%;background:currentColor}
#calendar-days .has-selection::after,#calendar-days .past-day::after,#journal-days .has-selection::after,#journal-days .past-day::after{width:4px;height:4px;left:calc(50% - 2px);transform:translateY(4px)}
#calendar-days .member-special::after{background:var(--member-blue)!important}
#pro-calendar-actions #open-member-drop{display:grid;place-items:center;width:32px;min-height:44px;padding:0;flex:none}
#open-member-drop span{display:block;width:var(--marker-size);height:var(--marker-size);border-radius:50%;background:var(--member-blue)}
#member-drop-dialog{max-width:350px;width:calc(100% - 40px);padding:22px 24px 30px;font-size:12px}
#member-drop-dialog .about-top{margin-bottom:24px}
#member-drop-dialog h2,#member-drop-dialog p,#member-drop-dialog a{font:inherit;line-height:1.4;margin-bottom:16px}
#close-member-drop{width:22px;height:22px;display:grid;place-items:center;font:18px/1 'Courier Prime',monospace;border:1px solid var(--orange);flex:none}
#member-drop-link{color:var(--member-blue)}

.calendar-cities{pointer-events:none}.calendar-cities button{pointer-events:auto}

#view-sudoku .difficulty button,#view-sudoku .game-tools button,#sudoku-timer{font-size:12px;font-weight:400;line-height:1.4}
#view-image .image-caption,#view-ecouter .image-caption{font-size:12px;font-weight:400;line-height:1.4;min-height:0}

#pro-preview{display:grid;grid-template-columns:max-content max-content;column-gap:26px;row-gap:8px;align-items:center}#pro-preview>button{min-height:44px;text-align:left;font:inherit;font-size:12px}#pro-preview-status{grid-column:1/-1;margin:0!important}

.calendar-cities button[data-city="paris"]{font-weight:700}
.language-control{display:flex;gap:26px;align-items:center;margin:14px 0;font-size:12px}.language-control button{position:relative;min-height:44px;padding-bottom:12px}.language-control [aria-pressed=true]::after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:var(--orange);left:calc(50% - 2px);bottom:6px}
#about-dialog{position:fixed;inset:var(--about-align-top,54px) 0 auto;width:100%;max-width:100%;height:fit-content;max-height:calc(100dvh - var(--about-align-top,54px) - 12px);margin:0;padding:22px 24px 28px}#about-dialog .about-top{align-items:baseline}#about-dialog .about-top .wordmark{font-size:21px;line-height:1.1}#about-dialog .about-copy{margin-top:26px}
#about-dialog{inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:var(--about-logo-top,76px) 24px max(28px,env(safe-area-inset-bottom));box-shadow:none}#about-dialog .about-top{align-items:flex-start}
/* Preview feedback must never dictate the width of the full-screen sheet. */
#about-dialog{overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;touch-action:pan-y}
#about-dialog>*{min-width:0;max-width:100%}
#pro-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-width:0}
#pro-preview>button{min-width:0;justify-self:start}
#pro-preview-status{min-width:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#about-dialog .about-copy,#about-dialog #pro-guide,#about-dialog p{overflow-wrap:break-word}
#about-dialog #close-about{margin-right:0;flex-shrink:0}
#about-dialog #close-about{position:fixed;top:var(--about-close-top,68px);left:var(--about-close-left);right:auto;margin:0;width:44px;height:44px;z-index:2}
#subscription-dialog #close-subscription{position:relative;top:auto;right:auto;width:44px;height:44px;min-width:44px;min-height:44px;flex:none;margin:0;border:0;font:20px/1 Arial,sans-serif;display:grid;place-items:center}
#subscription-dialog #close-subscription::after,#privacy-dialog #close-privacy::after{content:'';position:absolute;inset:auto;left:50%;top:50%;width:20px;height:20px;box-sizing:border-box;transform:translate(-50%,-50%);border:1px solid var(--orange);pointer-events:none}
#privacy-dialog #close-privacy{position:absolute;top:12px;right:12px;width:44px;height:44px;min-width:44px;min-height:44px;border:0;font:20px/1 Arial,sans-serif;display:grid;place-items:center}
/* Keep the city label clear of both the calendar dots and event date. */
body.native-app #view-sortir .calendar-cities{top:0;margin-top:4px;margin-bottom:12px;min-height:40px}
body.native-app #view-sortir #calendar-detail-date{top:-8px}
@media(min-width:900px){#view-sortir .calendar-cities{top:0;margin-bottom:12px}#view-sortir .calendar-detail{top:-18px}}
.journal-photo-tools{flex:none;font:inherit;display:flex;flex-wrap:wrap;column-gap:24px;row-gap:4px}.journal-photo-tools button{font:inherit;min-height:32px;padding:0;color:var(--orange)}
#journal-photo-preview{flex-basis:100%;display:flex;align-items:center;gap:16px;margin-top:4px}#journal-photo-preview[hidden]{display:none}#journal-photo-preview img{width:64px;height:64px;object-fit:cover}
.journal-photo-thumbnail{width:48px;height:48px;object-fit:cover;float:left;margin:0 12px 4px 0}
#journal-composer{height:min(430px,calc(var(--editor-height,100dvh) - 48px - env(safe-area-inset-top,0px)))}
.city-control{font:inherit;font-size:12px;margin:16px 0}.city-control>div,.city-control[role=group]{display:flex;gap:28px}.city-control button{position:relative;min-height:44px;padding:0 0 12px;font:inherit}.city-control [aria-pressed=true]::after{content:'';position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:var(--orange);border-radius:50%}
#calendar-city-label{display:inline-block;position:relative;font:700 12px/1.4 'Courier Prime',monospace;padding-bottom:16px}#calendar-city-label::after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--orange)}
#city-choice-dialog{width:calc(100% - 48px);max-width:350px;padding:24px;font:12px/1.4 'Courier Prime',monospace;color:var(--ink);background:var(--paper)}#city-choice-dialog h2{font:700 12px/1.4 'Courier Prime',monospace;margin:0 0 16px}#city-choice-dialog p{font:inherit;margin:0 0 12px}#city-choice-dialog .city-control{margin-bottom:0}
/* Text controls use a quiet focus treatment, never an orange rectangular outline. */
button:focus-visible,a:focus-visible{outline:none!important;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:4px}
.city-control button:focus-visible{text-decoration:none;color:var(--orange)}
#licence-dialog{max-width:350px;width:calc(100% - 48px);max-height:calc(100dvh - 80px);overflow-y:auto;padding:24px;font:12px/1.5 'Courier Prime',monospace}
#licence-dialog .licence-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
#licence-dialog h2{font:700 12px/1.4 'Courier Prime',monospace;margin:0}
#licence-dialog p{font:inherit;margin:0 0 16px}#licence-dialog p:last-child{margin-bottom:0}
#licence-dialog button{width:28px;height:28px;flex:none;font:20px/1 Arial,sans-serif}#licence-dialog a{color:var(--orange)}

.city-control>strong,.language-setting>strong{display:block;font-size:12px;font-weight:700;line-height:1.4;margin-bottom:4px}.language-setting{margin:16px 0;font-size:12px}.language-setting .language-control{margin:0}
#about-dialog .city-control{margin-top:28px}
#view-sudoku .difficulty{width:100%}#sudoku-timer{margin-left:auto}
#view-sudoku .difficulty{width:var(--content-square,100%)}
#sudoku-timer{min-width:0;width:max-content;padding-left:0;padding-right:0;justify-content:flex-end;text-align:right;flex-shrink:0}

#journal-title{flex:none;box-sizing:border-box;width:100%;min-height:36px;padding:10px;border:1px solid var(--orange);border-radius:0;background:transparent;color:var(--ink);font:inherit;outline:none;box-shadow:none;-webkit-appearance:none;appearance:none;caret-color:var(--orange)}
#journal-title:focus-visible{outline:none;box-shadow:none}
.journal-entry-title{display:block;font:inherit;font-weight:700}
.journal-entry-preview{display:block;font:inherit;opacity:.65;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}

#calendar-city-label::after{top:var(--city-dot-top,25px);bottom:auto}

/* Journal composer: one aligned column with distinct writing and photo actions. */
#journal-composer[open]{gap:12px;padding:20px;max-width:420px}
#journal-composer #journal-title{height:40px;min-height:40px;margin:0;font:inherit}
#journal-composer #journal-note{min-height:80px;padding:10px;font:inherit}
#journal-composer .journal-actions{margin:0;gap:28px;align-items:center}
#journal-composer .journal-actions button{min-height:32px;padding:0;align-items:center}
#journal-composer .journal-photo-tools{gap:8px 28px;margin:0;align-items:center}
#journal-composer .journal-photo-tools>button{min-height:36px}
#journal-composer #journal-photo-preview{margin:0}

.city-control>div,.city-control[role=group]{flex-wrap:wrap;column-gap:22px;row-gap:0}

.mood-takeover{font-family:inherit;font-size:10px;line-height:1.4;text-align:left;margin:6px 0 0;display:block;flex:none;width:100%;color:var(--orange)}
