/* Social: familiar photo feed and vertical Clips, in Luo's black and gold. */
#social.luo-social-page{padding:0 0 16px;max-width:100%;background:#080809;color:#f6f2e9;display:flex;flex-direction:column;overflow:hidden;position:relative;min-height:0;height:100%}
#social.hidden{display:none!important}
#social .luo-social-hero{display:none}
.luo-social-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 9px;gap:12px;flex-shrink:0;background:#0d0d0f}
.luo-social-wordmark{font-size:25px;letter-spacing:-1px;font-weight:850;color:#efd49a;line-height:1.1}
.luo-social-wordmark small{display:block;font-size:9px;letter-spacing:3px;font-weight:600;color:#b7ab95;margin:6px 0 0 2px}
.luo-social-top-actions{display:flex;gap:8px}.luo-social-top-actions button{width:40px;height:40px;min-height:40px;border-radius:50%;border:1px solid #655335;background:#191714;color:#eed29a;font-size:24px;padding:0}
#social .luo-social-tabs{padding:3px 12px 0;margin:0;gap:0;overflow:visible;border-bottom:1px solid #30291f;flex-shrink:0;background:#0d0d0f}
#social .luo-social-tabs .luo-social-chip{flex:1;border:0;border-radius:0;background:none;padding:13px 8px 12px;color:#a8a39a;font-weight:700;font-size:14px;border-bottom:2px solid transparent;min-height:45px}
#social .luo-social-tabs .luo-social-chip[aria-pressed=true]{color:#f0d299;border-bottom-color:#e8bf73}
.luo-social-tools{flex-shrink:0;background:#141210;border-bottom:1px solid #473820}.luo-social-tools summary{cursor:pointer;list-style:none;padding:12px 18px;color:#e5c68e;font-size:13px;font-weight:700}.luo-social-tools summary::after{content:'⌄';float:right}.luo-social-tools[open] summary::after{content:'⌃'}
.luo-social-tool-grid{padding:0 12px 13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.luo-social-tool-grid button{font-size:11px;padding:10px 4px;background:#201b16;color:#e4d4b6;border:1px solid #493923;border-radius:12px;min-height:42px}
#social .luo-social-status:empty{display:none}#social .luo-social-status{margin:0;padding:8px 16px;font-size:12px;flex-shrink:0;min-height:0}
#social .luo-social-content{flex:1;min-height:0;overflow-y:auto;display:block;overscroll-behavior-y:contain;scrollbar-width:thin}
#social .luo-social-content>.luo-social-card,#social .luo-social-content>form,#social .luo-social-content>div:not(.luo-feed){margin:12px}
.luo-feed{height:100%;min-height:0;display:flex;flex-direction:column;max-width:620px;margin:0 auto;background:#080809}
.luo-feed-list{min-height:0;overflow-y:auto;flex:1;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#554325 transparent}
.luo-feed-card{position:relative;border-bottom:1px solid #30281e;isolation:isolate;background:#0d0d0e;outline-offset:-3px}
.luo-feed-author{display:flex;align-items:center;gap:10px;padding:14px 16px;min-height:56px;box-sizing:border-box}
.luo-feed-avatar{flex-shrink:0;display:grid;place-items:center;width:39px;height:39px;border:1.5px solid #d7b66b;border-radius:50%;padding:2px;background:#272016;color:#f0d8a4;font-weight:750;font-size:14px;overflow:hidden}.luo-feed-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.luo-feed-name{display:block;border:0;background:none;color:#f8f4eb;text-align:left;padding:0;font-weight:750;font-size:13px;min-width:0;overflow-wrap:anywhere}.luo-feed-name small{display:block;color:#a69e91;font-size:10px;font-weight:450;margin-top:4px}.luo-feed-delete{margin-left:auto}
.luo-feed-stage{position:relative;aspect-ratio:4/5;max-height:680px;min-height:200px;overflow:hidden;background:radial-gradient(ellipse at 10% 0%,#71552955,transparent 65%),linear-gradient(145deg,#181820,#121014)}
.luo-feed-watermark{position:absolute;top:20px;left:22px;color:#eed49b66;letter-spacing:7px;font-size:10px;pointer-events:none;z-index:1}
.luo-feed-stage video,.luo-feed-stage>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#000}
.luo-feed-text-stage{display:flex;align-items:center;padding:44px 30px;box-sizing:border-box;background:radial-gradient(circle at 0% 100%,#8f6c2a30,transparent 60%),linear-gradient(140deg,#21201e,#0f1014)}
.luo-feed-quote{position:absolute;top:18%;left:22px;font-family:Georgia,serif;font-size:145px;line-height:1;color:#e4bd6f18}.luo-feed-text{position:relative;z-index:1;font-family:Georgia,serif;font-size:clamp(23px,5vw,34px);line-height:1.5;color:#f6e6c8;max-height:100%;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;scrollbar-width:thin}
.luo-feed-footer{padding:0 16px 18px}.luo-feed-actions{display:flex;align-items:center;gap:16px;padding:13px 0 10px}.luo-feed-icon{display:flex;align-items:center;gap:6px;padding:4px 0;border:0;background:transparent;color:#f5e8ce;font:inherit;cursor:pointer;min-height:36px;min-width:34px}.luo-feed-icon svg,.luo-feed-play svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.luo-feed-icon span{font-size:12px;font-weight:650}.luo-feed-actions>.luo-feed-icon:last-child{margin-left:auto}.luo-feed-icon[aria-pressed=true]{color:#e8bf73}.luo-feed-icon[aria-pressed=true] svg{fill:#e8bf7340}.luo-feed-icon:disabled{opacity:.5}.luo-feed-caption h3{font-size:16px;margin:0 0 7px;color:#f5dfa9}.luo-feed-body{font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.luo-feed-clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.luo-feed-read{border:0;background:none;color:#d9bc82;font-size:12px;padding:8px 0 0}
.luo-feed-play{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#f9e8c7;background:transparent;border:0;text-shadow:0 2px 10px #000;font-size:12px;cursor:pointer}.luo-feed-play svg{width:56px;height:56px;border:1px solid #dac18d88;border-radius:50%;padding:16px;background:#0e0d0b88;box-sizing:content-box;backdrop-filter:blur(8px)}.luo-feed-play[hidden]{display:none!important}.luo-feed-clip-label{position:absolute;bottom:16px;left:18px;color:#f5ddb0;font-size:10px;letter-spacing:3px;z-index:1}.luo-feed-sound{position:absolute;right:15px;top:14px;z-index:3;border:1px solid #9b815955;border-radius:50%;width:36px;height:36px;justify-content:center;background:#08080888;padding:0}.luo-feed-sound svg{width:18px;height:18px}.luo-feed-sound span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}
.luo-feed-feedback{text-align:center;color:#aaa08f;font-size:12px;line-height:1.5;padding:8px 20px;margin:0;flex-shrink:0}.luo-feed-feedback:empty{display:none}.luo-feed-more{align-self:center;border:1px solid #7d6338;border-radius:20px;background:#231e14;color:#ebd2a0;padding:10px 24px;margin:4px 12px 12px;flex-shrink:0}.luo-feed-more[hidden]{display:none}
/* One clip fills the available space. The native app's bottom navigation remains reachable. */
.luo-feed-reels{max-width:600px}.luo-feed-reels .luo-feed-list{scroll-snap-type:y mandatory}.luo-feed-reels .luo-feed-card{height:100%;min-height:360px;scroll-snap-align:start;scroll-snap-stop:always;background:#050505;overflow:hidden}.luo-feed-reels .luo-feed-stage{position:absolute;inset:0;aspect-ratio:auto;max-height:none;min-height:0}.luo-feed-reels .luo-feed-stage video{object-fit:contain}.luo-feed-reels .luo-feed-author{position:absolute;bottom:96px;left:0;right:65px;z-index:4;background:none;padding:10px 16px;pointer-events:none}.luo-feed-reels .luo-feed-author button{pointer-events:auto;text-shadow:0 2px 10px #000}.luo-feed-reels .luo-feed-author small{color:#ddd3c0}.luo-feed-reels .luo-feed-footer{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 55%,#000b);padding:0}.luo-feed-reels .luo-feed-actions{position:absolute;right:12px;bottom:80px;display:flex;flex-direction:column;gap:17px;pointer-events:auto;z-index:5;padding:0}.luo-feed-reels .luo-feed-actions>.luo-feed-icon{flex-direction:column;gap:5px;margin:0;min-width:44px;text-shadow:0 2px 8px #000}.luo-feed-reels .luo-feed-actions svg{width:29px;height:29px;filter:drop-shadow(0 2px 5px #0008)}.luo-feed-reels .luo-feed-caption{position:absolute;bottom:20px;left:16px;right:76px;max-height:88px;overflow:auto;pointer-events:auto;text-shadow:0 2px 8px #000}.luo-feed-reels .luo-feed-body{-webkit-line-clamp:2}.luo-feed-reels .luo-feed-clip-label{bottom:auto;top:23px}.luo-feed-reels .luo-feed-stage .luo-feed-watermark{display:none}.luo-feed-reels .luo-feed-feedback{padding:5px 12px;font-size:10px}.luo-feed-reels .luo-feed-more{padding:7px 22px;font-size:11px;margin:0 0 5px}
.luo-feed-comments{position:fixed;inset:auto 0 0;margin:auto;box-sizing:border-box;width:min(100%,620px);max-width:100%;max-height:min(75dvh,650px);padding:0 18px max(20px,env(safe-area-inset-bottom));border:1px solid #695331;border-radius:24px 24px 0 0;background:#141414;color:#f2e4cc;box-shadow:0 -20px 70px #0008;overscroll-behavior:contain}.luo-feed-comments::backdrop{background:#0009}.luo-feed-sheet-head{position:sticky;top:0;background:#141414;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3f3324;z-index:2}.luo-feed-sheet-head h3{font-size:16px}.luo-feed-sheet-head button span{display:none}.luo-feed-comment-list{padding:7px 0}.luo-feed-comment{border-bottom:1px solid #30291f;padding:12px 0;font-size:13px}.luo-feed-comment strong{color:#e4c386;font-size:12px}.luo-feed-comment p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.luo-feed-comment-form{display:flex;gap:8px;position:sticky;bottom:0;background:#141414;padding-top:10px}.luo-feed-comment-form textarea{resize:vertical;min-height:44px;max-height:110px;flex:1;min-width:0;background:#23211e;color:#fff0d0;border:1px solid #6d5736;border-radius:18px;padding:12px;font:inherit;font-size:13px;box-sizing:border-box}.luo-feed-comment-form button{align-self:center;background:#dfb96e;border:0;border-radius:20px;color:#1b150b;padding:10px 15px;font-weight:750}
#social button:focus-visible,.luo-feed-comments button:focus-visible{outline:2px solid #f2ce84;outline-offset:3px}
@media(min-width:900px){.luo-feed{border-inline:1px solid #2e261c}.luo-social-topbar{padding-inline:max(20px,calc((100% - 620px)/2))}.luo-social-tool-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:900px;margin:auto}.luo-feed-reels .luo-feed-card{min-height:450px}}
@media(prefers-reduced-motion:reduce){.luo-feed-list{scroll-behavior:auto;scroll-snap-type:y proximity}}
/* Override legacy generic subpage padding; the shell already reserves the bottom nav. */
.app[data-screen=home][data-tab=social] #home > #social.luo-social-page:not(.hidden){padding:0!important;overflow:hidden!important}
.luo-feed-carousel{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:4}.luo-feed-carousel>span{border-radius:18px;background:#080808bb;padding:5px 11px;font-size:10px;color:#f2d6a3}.luo-feed-photo-nav{border:1px solid #a88a5877;border-radius:20px;background:#080808bb;color:#f5dfb4;padding:7px 10px;font-size:10px}
/* Immersive Reels: one video viewport, no cards or solid navigation panels. */
#social[data-social-view=clips]>.luo-social-topbar,#social[data-social-view=clips]>.luo-social-tabs,#social[data-social-view=clips]>.luo-social-tools{display:none}
.luo-feed-reels{position:relative;max-width:600px;width:100%;background:#000}
.luo-feed-reels .luo-feed-list{scrollbar-width:none;touch-action:pan-y}
.luo-feed-reels .luo-feed-card{min-height:0;border:0;border-radius:0}
.luo-feed-reels .luo-feed-stage video{object-fit:cover}
.luo-reels-top{position:absolute;inset:0 0 auto;z-index:8;display:flex;align-items:center;gap:14px;padding:max(12px,env(safe-area-inset-top)) 12px 28px;background:linear-gradient(#0009,transparent);pointer-events:none;color:white}
.luo-reels-top button{pointer-events:auto;min-height:48px;min-width:44px;background:none;border:0;color:white;padding:6px;font:inherit;font-size:13px;text-shadow:0 2px 5px #000}
.luo-reels-top strong{font-size:21px}.luo-reels-tab[aria-pressed=true]{font-weight:800;color:#f0ce87;border-bottom:2px solid #f0ce87}
.luo-reels-create{margin-left:auto}.luo-reels-create b{font-size:30px;font-weight:300}.luo-reels-create span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.luo-reels-back{display:grid;place-items:center}.luo-reels-back svg{height:24px;width:24px;stroke:currentColor;fill:none;stroke-width:2;transform:rotate(180deg)}.luo-reels-back span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}
.luo-feed-reels .luo-feed-clip-label{display:none}
.luo-feed-reels .luo-feed-footer{background:linear-gradient(transparent 42%,#0002 58%,#000c)}
.luo-feed-reels .luo-feed-actions{right:9px;bottom:80px;gap:9px}
.luo-feed-reels .luo-feed-actions>.luo-feed-icon{min-height:48px;min-width:48px;color:white}
.luo-feed-reels .luo-feed-actions>.luo-feed-icon[aria-pressed=true]{color:#f0c66e}
.luo-feed-reels .luo-feed-actions>.luo-feed-icon:nth-child(n+3)>span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}
.luo-feed-reels .luo-feed-author{bottom:119px;right:76px;padding:8px 16px}
.luo-feed-reels .luo-feed-avatar{width:42px;height:42px;min-width:42px;min-height:42px}
.luo-feed-reels .luo-feed-name{min-height:48px;color:white}
.luo-feed-reels .luo-feed-caption{bottom:32px;max-height:84px;color:white}
.luo-reels-audio{font-size:11px;margin:8px 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.luo-feed-reels .luo-feed-sound{top:85px;right:12px;width:48px;height:48px;background:#0005;border-color:#ffffff44}
.luo-feed-reels .luo-feed-play{inset:calc(40% - 46px) auto auto calc(50% - 38px);transform:none;width:76px;height:92px;z-index:3}
.luo-feed-reels .luo-feed-play svg{width:26px;height:26px;padding:16px;border:0;backdrop-filter:none;background:#0007}
.luo-reels-seek{position:absolute;z-index:6;bottom:7px;left:12px;width:calc(100% - 24px);height:20px;padding:0;margin:0;accent-color:#edc577;cursor:pointer}
.luo-reels-seek:disabled{opacity:.35}
.luo-reels-heart{position:absolute;left:50%;top:45%;z-index:7;color:#efc575;font-size:110px;line-height:1;pointer-events:none;filter:drop-shadow(0 7px 20px #0008);animation:luo-heart-pop .7s ease both}
@keyframes luo-heart-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-14deg)}30%,65%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-8deg)}100%{opacity:0;transform:translate(-50%,-65%) scale(1.15)}}
.luo-reels-fast-label{display:none;position:absolute;left:50%;top:110px;transform:translateX(-50%);padding:8px 15px;border-radius:20px;background:#0009;color:#fff;pointer-events:none;font-size:13px;z-index:5}.luo-reels-fast .luo-reels-fast-label{display:block}
.luo-feed-icon{min-height:48px;min-width:44px}.luo-feed-read{min-height:44px}
.luo-feed-comments{display:flex;flex-direction:column;height:min(78dvh,680px);overflow:hidden;padding-bottom:max(12px,env(safe-area-inset-bottom));border-color:#51432b}
.luo-feed-comments:not([open]){display:none}
.luo-sheet-handle{align-self:center;width:36px;min-height:20px;flex-shrink:0;position:relative;touch-action:none}.luo-sheet-handle::after{content:'';position:absolute;inset:8px 0;border-radius:4px;background:#948a78}
.luo-feed-sheet-head{flex-shrink:0;touch-action:none}.luo-feed-comment-list{overflow-y:auto;min-height:0;flex:1;overscroll-behavior:contain}.luo-feed-comment-form{flex-shrink:0;padding-bottom:3px}.luo-feed-comment-form button{min-height:44px}
.luo-comment-identity{display:flex;align-items:center;gap:9px}.luo-comment-identity time{font-size:10px;color:#c0b6a6;margin-left:auto}.luo-comment-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#423421;color:#ffdfa0}.luo-feed-comment>p{margin-left:39px}
.luo-sheet-action{min-height:48px;border:1px solid #675333;background:#211c15;color:#f6dfb4;border-radius:12px;margin:7px 0;padding:12px;text-align:left}
.luo-report-reason{background:#222;color:#fff;border:1px solid #806945;border-radius:12px;padding:12px;min-height:100px;max-height:200px;font:inherit;resize:vertical}
@media(max-height:640px){.luo-feed-reels .luo-feed-actions{gap:0;bottom:50px}.luo-feed-reels .luo-feed-actions svg{width:24px;height:24px}.luo-feed-reels .luo-feed-author{bottom:99px}.luo-feed-reels .luo-feed-caption{max-height:65px}}
@media(prefers-reduced-motion:reduce){.luo-reels-heart{animation:none;transform:translate(-50%,-50%)}.luo-feed-comments{scroll-behavior:auto}}
.luo-reels-top{flex-wrap:wrap;gap:8px}.luo-reel-feed-switch{display:flex;gap:10px;flex-basis:100%;padding-left:4px}.luo-reel-feed-switch button{min-height:36px;font-size:12px}
.luo-reel-follow{border:1px solid #fff8;border-radius:8px;background:#0003;color:white;font-size:11px;padding:5px 8px;min-height:44px;flex-shrink:0}.luo-reel-follow[aria-pressed=true]{border-color:#e4bf72;color:#f0cf8e}
.luo-reel-repost b{font-size:33px;font-weight:400;line-height:1}.luo-reel-action,.luo-comment-tools button{background:transparent;border:0;color:#e4c585;min-height:44px;padding:7px 10px;font-size:12px}.luo-comment-tools{display:flex;gap:4px;flex-wrap:wrap;margin-left:28px}.luo-comment-tools [aria-pressed=true]{color:#ffe9b7;text-decoration:underline}.luo-comment-replies{margin-left:26px;padding-left:7px;border-left:1px solid #5a4932}.luo-comment-identity small{font-size:10px;color:#e4c585}.luo-comment-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.luo-reel-reply-target{margin:0;font-size:12px;color:#e4c585}.luo-reel-recipient-list{overflow:auto;min-height:0;flex:1}.luo-reel-recipient{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #393025}.luo-reel-send{min-height:44px;border:1px solid #816638;background:#e2bc76;border-radius:18px;color:#17120b;padding:8px 17px}.luo-feed-comments input{padding:12px;border:1px solid #77603a;background:#23201a;color:#fff;border-radius:12px;min-height:44px}
.luo-reel-message-preview{display:block;min-height:80px;min-width:160px;max-width:100%;padding:18px;border:1px solid #8c6b36;border-radius:12px;background:linear-gradient(135deg,#322516,#121212);color:#f1cf8c;text-align:left;font-weight:650}
.luo-clip-composer{max-width:760px;margin:0 auto;padding:18px;color:#f5e5c7}.luo-clip-composer h2{color:#eed097}.luo-clip-composer header p{color:#c9b99c;font-size:13px}.luo-clip-preview{display:block;width:100%;height:min(48dvh,440px);background:#000;object-fit:contain;border:1px solid #65502e;border-radius:16px}.luo-clip-tools{display:flex;flex-wrap:wrap;gap:8px;padding:13px 0}.luo-clip-tool{border:1px solid #7c623a;border-radius:12px;background:#241d14;color:#f2d39b;min-height:44px;padding:9px 14px}.luo-clip-edit{border:1px solid #6a5431;border-radius:14px;padding:14px;display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.luo-clip-edit label{font-size:12px;flex:1;min-width:100px}.luo-clip-composer input,.luo-clip-composer select,.luo-clip-composer textarea{max-width:100%;padding:11px;background:#201c16;color:#fff0d0;border:1px solid #7c6339;border-radius:10px;min-height:44px}.luo-clip-edit input,.luo-clip-edit select{width:100%;display:block;margin-top:7px}.luo-clip-publish{display:grid;gap:12px}.luo-clip-publish textarea{min-height:100px;resize:vertical}.luo-clip-tools input[type=file]{width:100%}
.luo-feed-reels .luo-feed-actions>.luo-reel-repost>span{position:static!important;clip-path:none!important;height:auto!important;width:auto!important;overflow:visible!important}.luo-clip-progress{width:100%;height:8px;accent-color:#e8c171;margin-top:10px}
.luo-clip-drafts{padding:12px;margin:14px 0;border:1px solid #67512e;border-radius:14px;background:#17130f}.luo-clip-drafts summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#ebcb8c;font-weight:650}.luo-clip-drafts p{font-size:12px;color:#c9baa1}.luo-clip-draft-list{display:grid;gap:10px}.luo-clip-draft-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-bottom:1px solid #4b3a24}.luo-clip-draft-row strong,.luo-clip-draft-row small{grid-column:1/-1;overflow-wrap:anywhere}.luo-clip-draft-row small{color:#bfae90}.luo-clip-draft-save{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.luo-clip-draft-save button{flex:1;min-width:190px}
.luo-camera-hud[hidden]{display:none!important}
.luo-clip-composer.luo-camera-live{position:fixed!important;inset:0!important;z-index:1300;max-width:none!important;margin:0!important;padding:0!important;background:#000;overflow:hidden;color:white}
.luo-clip-composer.luo-camera-live>header,.luo-clip-composer.luo-camera-live>.luo-clip-tools,.luo-clip-composer.luo-camera-live>.luo-clip-edit,.luo-clip-composer.luo-camera-live>.luo-clip-publish,.luo-clip-composer.luo-camera-live>.luo-clip-drafts,.luo-clip-composer.luo-camera-live>.luo-clip-draft-save{display:none!important}
.luo-clip-composer.luo-camera-live .luo-clip-preview{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;border:0;border-radius:0;touch-action:none}
.luo-camera-hud{position:absolute;inset:0;pointer-events:none}
.luo-camera-hud button,.luo-camera-hud select,.luo-camera-hud input,.luo-camera-effects{pointer-events:auto}
.luo-camera-hud button{min-width:48px;min-height:48px;border:1px solid #f1ce844d;border-radius:24px;background:#17130f99;color:white;padding:8px 14px;touch-action:manipulation}
.luo-camera-hud button[hidden],.luo-camera-hud input[hidden],.luo-camera-effects[hidden],.luo-camera-hud select[hidden]{display:none!important}
.luo-camera-hud :focus-visible{outline:3px solid #f1c96c;outline-offset:3px}
.luo-camera-top{position:absolute;top:calc(12px + env(safe-area-inset-top));left:12px;right:12px;display:flex;justify-content:space-between;gap:8px}
.luo-camera-rail{position:absolute;right:12px;top:calc(100px + env(safe-area-inset-top));display:grid;gap:12px;max-width:120px}
.luo-camera-rail input[type=range]{max-width:116px}
.luo-camera-bottom{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom));left:12px;right:12px;display:flex;align-items:center;flex-direction:column;gap:12px;color:white;text-shadow:0 1px 4px #000}
.luo-camera-bottom strong{color:#f4cd7c;font-size:12px;letter-spacing:.08em}
.luo-camera-bottom small{font-size:11px;max-width:280px;text-align:center}
.luo-camera-bottom #clipCameraShutter{position:relative;width:82px;height:82px;border-radius:50%;border:3px solid #f0cb7e;background:conic-gradient(#ef5266 var(--capture-progress,0%),#17130faa 0);padding:6px;touch-action:none}
.luo-camera-bottom #clipCameraShutter::after{content:'';position:absolute;inset:6px;background:white;border-radius:50%;transition:background .16s,border-radius .16s}
.luo-camera-live[data-recording=true] #clipCameraShutter::after{background:#dc4156;border-radius:14px;inset:17px}
.luo-camera-live #clipCameraStop{background:#b82e43;border:1px solid #e86c7c}
.luo-clip-composer.luo-camera-live>.luo-feed-feedback{position:absolute;top:calc(70px + env(safe-area-inset-top));left:16px;right:16px;z-index:2;margin:0;font-size:12px;text-align:center;color:#fff;text-shadow:0 2px 4px #000;pointer-events:none}
.luo-clip-composer.luo-camera-live>.luo-clip-progress{position:absolute;top:0;left:0;right:0;margin:0;height:4px;width:100%}
.luo-camera-effects{position:absolute;left:0;right:0;bottom:0;max-height:65dvh;overflow:auto;padding:14px 12px calc(16px + env(safe-area-inset-bottom));border:1px solid #ac8945;border-radius:24px 24px 0 0;background:#15120ff5;box-shadow:0 -12px 36px #0006}
.luo-camera-effects>button{float:right}
.luo-camera-effects .luo-lens-discovery{display:flex;clear:both;flex-wrap:wrap;gap:8px;padding:10px 0}
.luo-camera-effects .luo-lens-discovery input,.luo-camera-effects .luo-lens-discovery select{width:100%}
.luo-camera-effects .luo-effects-carousel{display:flex;gap:10px;overflow:auto;padding:8px 0}
.luo-camera-effects .luo-effects-carousel button{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 76px;padding:4px;border:0;background:none;border-radius:0;font-size:11px}
.luo-camera-effects canvas{width:64px;height:64px;border-radius:50%;background:#322818;border:2px solid #777}
.luo-camera-effects [aria-pressed=true] canvas{border:3px solid #f0cb7e}
.luo-camera-effects [data-favorite=true]::after{content:'★';position:absolute;right:8px;top:2px;color:#ffdb8c;text-shadow:0 1px 4px #000}
.luo-camera-effects.luo-lenses-expanded .luo-effects-carousel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:12px}
.luo-camera-effects p{font-size:11px;color:#e0d3b8}
@media(prefers-reduced-motion:reduce){.luo-camera-hud *{animation:none!important;transition:none!important}}
.luo-clip-timeline{width:100%;min-width:0;padding:12px;border:1px solid #8a6c37;border-radius:14px;background:#17130f}
.luo-clip-timeline[hidden]{display:none!important}
.luo-clip-timeline summary{min-height:44px;cursor:pointer;color:#f0cc83;font-weight:650}
.luo-clip-timeline p{font-size:12px;line-height:1.5;color:#d2c2a5}
.luo-timeline-strip{display:flex;overflow-x:auto;gap:8px;padding:10px 0;max-width:100%}
.luo-timeline-strip button{flex:0 0 140px;min-height:68px;border:1px solid #73603e;background:linear-gradient(135deg,#44341c,#1d1913);border-radius:12px;color:#fff;white-space:normal;padding:10px;font-size:12px}
.luo-timeline-strip [aria-pressed=true]{border:2px solid #f1c96e;background:#5c4424}
.luo-timeline-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.luo-timeline-controls button,.luo-timeline-cancel{min-height:44px;padding:8px 12px;border-radius:12px;border:1px solid #8a703e;background:#282015;color:#ffe2a2}
.luo-timeline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.luo-timeline-fields label{min-width:0!important}
.luo-timeline-fields select{grid-column:1/-1}
.luo-clip-timeline input[type=range]{width:100%;min-width:0}
.luo-timeline-cancel[hidden]{display:none!important}

/* Published Clip three-dot author controls stay in the bottom action sheet. */
.luo-feed-comments .luo-clip-owner-edit{display:grid;gap:10px;padding:8px 14px 12px}
.luo-feed-comments .luo-clip-owner-edit label{display:grid;gap:6px;font-size:13px;color:#ead5ae}
.luo-feed-comments .luo-clip-owner-edit input,.luo-feed-comments .luo-clip-owner-edit textarea{width:100%;max-width:100%;min-height:44px;background:#191715;color:#f8f0e0;border:1px solid #80633b;border-radius:10px;padding:10px 12px;font:14px system-ui}
.luo-feed-comments .luo-clip-owner-edit textarea{min-height:95px;resize:vertical}
.luo-feed-comments .luo-clip-owner-delete{margin:8px 14px 18px;color:#f7bdbd;border:1px solid #814748}
