/* Camera, reactions and daily Mood — September 2026 */
.camera-active{overflow:hidden!important}
.camera-dialog.camera-clean{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;background:#090c12;color:#fff;overflow:hidden}
.camera-clean[open]{display:block}
.camera-clean .camera-stage{position:absolute;inset:0;aspect-ratio:auto;max-width:none;width:100%;height:100%;display:block}
.camera-clean .camera-stage video{width:100%;height:100%;object-fit:cover;display:block}
.camera-clean video.mirrored{transform:scaleX(-1)}
.camera-clean .camera-header{position:absolute;inset:0 0 auto;z-index:2;padding:calc(24px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 70px;background:linear-gradient(#0009,transparent);pointer-events:none}
.camera-clean .camera-header strong{font-size:24px;letter-spacing:-.7px}.camera-clean .camera-header small{color:#fffc;font-size:12px}
.camera-clean .icon-btn{width:48px;height:48px;border:1px solid #ffffff38;border-radius:50%;background:#11182766;backdrop-filter:blur(16px);color:#fff;pointer-events:auto}
.camera-clean .camera-bottom{position:absolute;bottom:0;left:0;right:0;padding:55px 0 0;background:linear-gradient(transparent,#0009 40%,#000b)}
.camera-filter-heading{display:flex;justify-content:space-between;max-width:600px;margin:0 auto 12px;padding:0 22px;gap:15px}.camera-filter-heading>span{font-size:10px;letter-spacing:2px;font-weight:700}.camera-filter-heading small{font-size:12px;color:#fffc}
.camera-filters{display:flex;gap:12px;overflow-x:auto;max-width:600px;margin:auto;padding:4px 22px 14px;scrollbar-width:none}.camera-filters::-webkit-scrollbar{display:none}.camera-filters button{flex:0 0 64px;padding:0;color:#fff;display:grid;gap:8px;background:transparent;font-size:11px;text-align:center}.camera-filters canvas{display:block;width:64px;height:78px;border-radius:16px;box-shadow:0 0 0 1px #fff4;background:#303947;transition:box-shadow .2s,transform .2s}.camera-filters [aria-pressed=true] canvas{box-shadow:0 0 0 3px white;transform:translateY(-1px)}.camera-filters [aria-pressed=true] span{font-weight:800}
.camera-clean .camera-controls{display:grid;grid-template-columns:1fr 1fr 1fr;justify-items:center;max-width:420px;margin:auto;gap:30px;padding:12px 24px calc(24px + env(safe-area-inset-bottom))}.camera-clean .camera-shutter{width:76px;height:76px;border:4px solid white;box-shadow:inset 0 0 0 5px #222;background:#fff;transition:transform .15s;cursor:pointer}.camera-clean .camera-shutter:active{transform:scale(.92)}.camera-clean .camera-shutter:disabled{opacity:.4}.camera-photo-label{font-size:10px;letter-spacing:2px;color:#fff9}
.camera-clean button:focus-visible{outline:3px solid #a9cdff;outline-offset:5px}
.reaction-art{object-fit:contain;width:30px;height:30px;filter:drop-shadow(0 2px 2px #0001)}
.reaction-choices{gap:8px;flex-wrap:nowrap;padding:16px 0 22px}.reaction-choices button{min-width:0;padding:12px 3px;gap:9px;border-radius:18px}.reaction-choices .reaction-art{width:46px;height:46px;transition:transform .18s}.reaction-choices small{font-size:11px;font-weight:600}.reaction-choices button:hover .reaction-art{transform:scale(1.12) rotate(-5deg)}.reaction-choices button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--blue)}.story-interaction .reaction-art{width:32px;height:32px}
.profile-mood{margin:18px 0}.profile-mood:empty{display:none}.mood-pill,.mood-empty{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:20px;padding:11px 16px;background:var(--pale,#f0f5ff);color:var(--ink);text-align:left;max-width:100%}.mood-pill img,.mood-empty img{width:44px;height:44px;object-fit:contain}.mood-pill>span{display:grid;gap:4px}.mood-pill small{font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:700}.mood-pill strong{font-size:15px}.mood-pill .mood-edit{font-size:11px;color:var(--blue);margin-left:16px}.mood-empty{font-size:13px}.mood-empty b{font-size:22px;color:var(--blue)}
#modal.mood-dialog{width:min(480px,calc(100vw - 24px));border-radius:28px}.mood-intro{line-height:1.7;margin-bottom:20px;font-size:15px}.mood-intro span{color:var(--muted);font-size:12px}.mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mood-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:18px;min-height:118px;padding:12px 4px;border:1px solid var(--line);background:var(--pale);transition:transform .18s,border-color .18s}.mood-grid img{object-fit:contain;width:60px;height:60px;transition:transform .18s}.mood-grid button:hover img{transform:translateY(-4px) rotate(-5deg)}.mood-grid span{font-size:11px;font-weight:600;text-align:center}.mood-grid [aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.mood-grid button:disabled{opacity:.55}.mood-feedback{font-size:13px;color:var(--muted);margin-top:15px}.mood-remove{margin-top:12px}
@media(max-width:420px){.reaction-choices{gap:3px}.reaction-choices .reaction-art{width:37px;height:37px}.reaction-choices small{font-size:10px}.mood-grid{gap:7px}.mood-grid button{min-height:105px}.mood-grid img{width:48px;height:48px}.mood-grid span{font-size:10px}.camera-clean .camera-header strong{font-size:21px}}
@media(max-height:520px) and (orientation:landscape){.camera-clean .camera-header{padding:15px 20px}.camera-clean .camera-bottom{padding-top:20px}.camera-filters canvas{width:45px;height:48px}.camera-filters button{flex-basis:45px}.camera-clean .camera-controls{position:absolute;right:12px;bottom:20px;display:flex;flex-direction:column;gap:15px;padding:0}.camera-clean .camera-shutter{width:62px;height:62px}.camera-clean .camera-filter-heading,.camera-clean .camera-filters{margin-left:0;margin-right:110px;max-width:500px}.camera-photo-label{display:none}}
@media(prefers-reduced-motion:reduce){.camera-clean *,.reaction-choices *,.mood-grid *{transition:none!important}}
