:root dialog.nm-dialog { position:fixed; inset:0; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:transparent; color:var(--h-text); overflow:hidden; }
:root dialog.nm-dialog::backdrop { background:transparent; }
:root .nm-dialog > .modal-backdrop { position:absolute; inset:0; height:100%; box-sizing:border-box; animation:none; }
:root .nm-dialog .modal-backdrop.bottom-card,:root .nm-dialog .modal-backdrop.sheet { padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom)); justify-content:flex-end; background:#08050ca6; }
:root .nm-dialog :is(.modal-card,.modal-sheet) { box-sizing:border-box; width:100%; max-height:100%; min-height:0; margin:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--h-border); border-radius:26px; background:var(--h-surface); box-shadow:var(--h-shadow); }
:root .nm-dialog .modal-head { flex:none; padding:16px 20px; gap:12px; border-bottom:1px solid var(--h-border); }
:root .nm-dialog .modal-title { min-width:0; align-items:flex-start; }
:root .nm-dialog .modal-title .titulo { margin:0; color:var(--h-text); font:400 25px/1.2 var(--h-serif); overflow-wrap:anywhere; }
:root .nm-dialog .modal-title .subtitulo { margin:8px 0 0; color:var(--h-muted); font-size:13px; line-height:1.5; }
:root .nm-dialog .modal-close { flex:none; align-self:start; width:44px; height:44px; border:1px solid var(--h-border); color:var(--h-text); background:var(--h-raised); font:400 25px/1 var(--font-inter); border-radius:14px; }
:root .nm-dialog .modal-handle { flex:none; width:44px; height:5px; margin:10px auto 0; border-radius:4px; background:var(--h-border); }
:root .nm-dialog .modal-body { min-height:0; flex:1 1 auto; padding:20px; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
:root .nm-dialog .modal-fields { border:0; margin:0; padding:0; min-width:0; }
:root .nm-dialog .modal-footer { display:flex; flex-wrap:wrap; gap:12px; flex:none; padding:16px 20px; border-top:1px solid var(--h-border); background:var(--h-surface); }
:root .nm-dialog .modal-footer > .btn { flex:1; min-width:110px; }
:root .nm-dialog .modal-footer > :is(.feature-actions,.chat-input) { width:100%; margin:0; padding:0; border:0; }
:root .nm-dialog .modal-footer .feature-actions .btn { flex:1; }
.home-detail-content h2 { font:400 28px/1.25 var(--h-serif); margin:16px 0; }.home-detail-content p { color:var(--h-muted); line-height:1.75; }
.mood-result-content { display:grid; gap:16px; }.mood-result-content .mood-regs { display:grid; gap:10px; }
:root .nm-dialog .modal-full { max-height:100%; }
:root .nm-dialog fieldset.stk-tools { border:0; border-top:1px solid var(--h-border); margin:0; min-width:0; }
:root .nm-dialog .toast-area { z-index:200; bottom:calc(12px + env(safe-area-inset-bottom)); }
.dialog-message { margin:0; line-height:1.75; white-space:pre-line; }
.modal-action-list { display:grid; gap:10px; }.modal-action-list .btn { width:100%; }
.modal-error { margin:12px 0; color:var(--h-danger); font-size:14px; }
:root .reader-custom { background:var(--reader-bg); color:var(--reader-text); }
:root .reader-custom .article-title { color:var(--reader-text); font-size:var(--reader-title); }
:root .reader-custom .article-body,.reading-preview { font-family:var(--reader-font); font-weight:var(--reader-weight); font-size:var(--reader-size); line-height:var(--reader-line); letter-spacing:var(--reader-spacing); color:var(--reader-text); }
:root .reader-custom :is(.article-byline,.article-deck,.article-date) { color:var(--reader-text); opacity:.8; }
.reading-preview { background:var(--reader-bg); border:1px solid var(--h-border); border-radius:16px; padding:20px; }
.diary-card { display:grid; gap:10px; width:100%; padding:22px; margin:14px 0; text-align:left; border:1px solid var(--h-border); border-radius:20px; background:var(--h-surface); color:var(--h-text); }
.diary-card strong { font:400 24px/1.3 var(--h-serif); }.diary-card small { color:var(--h-muted); }.diary-card > span { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; line-height:1.65; }
.diary-text { white-space:pre-wrap; line-height:1.8; }.diary-interaction { padding:14px 0; border-bottom:1px solid var(--h-border); }.diary-interaction p { white-space:pre-wrap; }
.emoji-options { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }.weekly-progress { width:100%; height:12px; accent-color:var(--h-accent); }
.curiosity-answers { display:grid; gap:12px; }.curiosity-answers > div { padding:18px; border-radius:16px; background:var(--h-bg); border:1px solid var(--h-border); }
.curiosity-answers strong { color:var(--h-accent); }.home-question-invite { width:100%; display:grid; gap:10px; text-align:left; padding:20px; margin:0 0 24px; color:var(--h-text); background:var(--h-surface); border:1px solid var(--h-border); border-radius:20px; }
.home-question-invite small { color:var(--h-accent); }.home-question-invite span { font-size:13px; color:var(--h-muted); }
.map-question-group { padding:14px 0; border-bottom:1px solid var(--h-border); }.map-question-group > summary { padding:12px 0; color:var(--h-accent); font-weight:600; cursor:pointer; }
.emoji-options.large .btn { font-size:30px; min-width:64px; min-height:64px; }
@media (min-width:820px) {
    :root .nm-dialog .modal-backdrop.bottom-card,:root .nm-dialog .modal-backdrop.sheet { align-items:center; justify-content:center; padding:32px; }
    :root .nm-dialog :is(.modal-card,.modal-sheet) { width:min(100%,660px); }
    :root .nm-dialog-compact :is(.modal-card,.modal-sheet) { width:min(100%,460px); }
}
@media (prefers-reduced-motion:reduce) { :root .nm-dialog :is(.modal-full,.modal-card,.modal-sheet) { animation:none; } }
