/* Keep the established palette and geometry; unify multilingual typography. */
body{font-family:'Noto Sans KR','Inter','Noto Sans JP',sans-serif;letter-spacing:0;text-rendering:auto}
html[lang='ko'] body{font-family:'Noto Sans KR','Inter',sans-serif}
html[lang='ja'] body{font-family:'Noto Sans JP','Inter',sans-serif}
button,select,input,textarea{font-family:inherit}
.l4,.mv-loading-text,#topbar>div>div>div{letter-spacing:0!important}
svg text,svg g[font-family]{font-family:inherit}
#pObservation{grid-area:obs;min-width:0;padding:14px 16px}
#observationHeader{padding:0;height:32px;margin-bottom:10px}
.observation-videos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.observation-videos .cam{grid-area:auto!important;border:0;box-shadow:none;border-radius:6px;min-width:0}
#memoBtn{display:none}
body[data-observation-source='real'] #ppIndBtn{display:none}
body[data-observation-source='real'] #memoBtn{display:inline-flex}
body.mode-ultra #observationHeader{display:flex!important;height:26px;flex:0 0 26px;margin-bottom:6px}
body.mode-ultra #pObservation{display:flex;flex-direction:column;padding:8px;min-height:0}
body.mode-ultra .observation-videos{flex:1;min-height:0}
body.mode-ultra #modeBtnFloat{width:150px;justify-content:center}
body.mode-ultra #copilotToggleFloat{right:174px}
#observationMemo{width:min(740px,92vw);max-height:86vh;box-sizing:border-box;padding:16px 18px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 24px 70px rgba(8,18,40,.3);font-family:inherit;overflow:auto}
#observationMemo::backdrop{background:rgba(8,18,40,.34)}
.memo-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.memo-heading h2{margin:0;font-size:15px;font-weight:600;color:var(--navy)}
.memo-icon{border:0;background:transparent;color:var(--muted);font-size:24px;width:32px;height:32px;cursor:pointer}
.memo-context{font-size:12px;color:var(--muted)}
#memoForm{display:grid;gap:8px}
#memoForm label{font-size:12px;font-weight:500}
#memoTime,#memoText{border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);padding:9px;font-size:13px}
#memoTime{width:120px;font-variant-numeric:tabular-nums}
#memoText{width:100%;resize:vertical;min-height:100px;line-height:1.6}
.memo-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
#memoStorage{font-size:11px;color:var(--muted)}
#memoStatus{font-size:12px;min-height:18px}
#memoHistoryTitle{font-size:13px;font-weight:600}
.memo-entry{padding:12px 0;border-top:1px solid var(--line)}
.memo-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}
.memo-seek{font:inherit;font-variant-numeric:tabular-nums;color:var(--navy);background:var(--navy-tint);border:1px solid var(--line);border-radius:4px;padding:5px 8px;cursor:pointer}
.memo-entry p{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}
@media(max-width:820px){body:not(.mode-ultra) .observation-videos{grid-template-columns:minmax(0,1fr)}}
