/* Luo secondary surfaces V4: profile, shared media, comments, message options, creation.
   Every interactive action continues to use the existing server-authorized handler. */
:root{--luo-v4-paper:#0b0a0f;--luo-v4-panel:#1a171d;--luo-v4-raised:#292129;--luo-v4-line:#654d33;--luo-v4-gold:#e5c17f;--luo-v4-text:#f6eadb;--luo-v4-muted:#b3a99f}
#personDialog.person-dialog[open]{width:min(98vw,520px)!important;max-height:min(94dvh,930px)!important;padding:0!important;border-radius:25px!important;background:#09080d!important;border:1px solid #6e5335!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
#personDialog .dialog-heading{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;margin:0!important;padding:15px 19px!important;background:#0c0a0ecf!important;border:0!important;min-height:60px;backdrop-filter:blur(15px)}
#personDialog #personHeading{font-size:19px;color:var(--luo-v4-text);margin:0;font-weight:850}
#personDialog #closePerson{background:#292129;border:1px solid #6a5032;color:#f9e1b7;border-radius:13px;padding:7px 13px;min-height:39px}
#personDialog #personStatus{padding:0 16px;color:#e9c68a;font-size:12px;margin:0}
#personDialog #personStatus:empty{display:none!important}
#personDialog #personBody{padding:0 17px 22px;overflow:auto;min-height:0;display:flex;flex-direction:column;gap:15px;overscroll-behavior:contain}
#personDialog .person-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;min-height:241px;padding:92px 13px 19px!important;border:1px solid #4c3a2b;border-radius:17px;background:#151116!important;overflow:hidden}
#personDialog .luo-profile-cover{position:absolute;inset:0 0 auto;height:145px;background:radial-gradient(circle at 17% 20%,#f2c87d50,transparent 50%),radial-gradient(circle at 87% 40%,#a16e3e66,transparent 45%),linear-gradient(150deg,#2a1a1f,#4c3927 70%,#22171d);pointer-events:none}
#personDialog .luo-profile-cover:after{content:'LUO';position:absolute;left:17px;top:15px;letter-spacing:8px;font-size:10px;color:#e7c78e7a}
#personDialog .person-avatar-large{position:relative!important;z-index:2!important;width:99px!important;height:99px!important;min-width:99px!important;min-height:99px!important;border-radius:50%!important;background:#18131c!important;border:4px solid #e1b874!important;box-shadow:0 6px 27px #0009!important;margin:0!important;flex-shrink:0}
#personDialog .person-avatar-large img{width:100%;height:100%;object-fit:cover;border-radius:50%}
#personDialog .person-hero h3{position:relative;margin:10px 0 0;font-size:clamp(21px,5vw,27px);line-height:1.3;font-weight:850;color:#f6e8d1;letter-spacing:-.4px;overflow-wrap:anywhere}
#personDialog .person-hero .muted{margin:0;color:#c5a879;font-size:13px;letter-spacing:.2px}
#personDialog .luo-profile-about{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:15px;border:1px solid #51402d;background:#17141a;border-radius:15px}
#personDialog .luo-profile-about-heading{grid-column:1 / -1;font-size:13px;text-transform:uppercase;letter-spacing:1.6px;font-weight:850;color:#efca84;margin:0}
#personDialog .person-bio{grid-column:1 / -1;color:#ddd0c0;line-height:1.6;font-size:14px;margin:0;overflow-wrap:anywhere}
#personDialog .luo-profile-copy{justify-self:start;border:1px solid #705739;color:#e6c88f;background:#2b221f;border-radius:20px;min-height:34px;padding:7px 12px;font-size:12px;font-weight:750}
#personDialog .relationship-label{color:#ebc17c!important;padding:10px 12px;margin:0;border:1px solid #54412d;border-radius:12px;background:#251d1c;font-size:12px;font-weight:750}
#personDialog #personActions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0!important;margin:0}
#personDialog #personActions button{min-height:48px;border-radius:13px!important;padding:11px 14px!important;font-weight:800;font-size:13px;border:1px solid #75603f;background:#2d2623;color:#f4e1c2}
#personDialog #personActions .primary{background:linear-gradient(120deg,#f2dba2,#d4ae6c)!important;color:#20150b!important;border-color:#cba563!important}
#personDialog #personActions .danger{color:#e5aaa1;border-color:#81544e!important;background:#302222!important}
#personDialog .luo-profile-retry{min-height:46px;border-radius:13px;background:#e8c485;color:#1c160b;border:0;font-weight:750}
#personDialog button:focus-visible{outline:2px solid #f5d58a!important;outline-offset:2px!important}
#personPhotoDialog[open]{inset:0!important;margin:auto!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px!important;border:0!important;border-radius:0!important;background:#030305!important}
#personPhotoDialog .dialog-heading{position:absolute;inset:12px 16px auto;z-index:5;background:transparent!important;border:0!important}
#personPhotoDialog img{display:block;max-width:min(95vw,900px)!important;max-height:80dvh!important;width:auto;height:auto;object-fit:contain;border-radius:12px}
.luo-dm-settings[open]{width:min(98vw,790px);max-height:92dvh;overflow:auto;border:1px solid #876b43!important;border-radius:22px;background:linear-gradient(140deg,#211a1c,#0c0a10 70%)!important}
.luo-dm-settings .luo-dm-settings-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;min-height:66px;z-index:5;background:#151015dc;backdrop-filter:blur(12px);border-bottom:1px solid #5d4a33;margin-bottom:12px}
.luo-dm-settings .luo-dm-settings-head h2{font-size:21px;color:#f4d39b;font-weight:850}
.luo-dm-settings .luo-dm-profile{border:1px solid #55412e;border-radius:16px;background:#261e1d;padding:14px;min-height:76px}
.luo-dm-settings .luo-dm-quick-actions{display:flex;flex-wrap:wrap;gap:9px;padding:13px 0}
.luo-dm-settings .luo-dm-quick-actions button{border-radius:15px;min-height:43px;background:#282026;border:1px solid #715638;color:#f1d9ac}
.luo-dm-settings .luo-dm-wallpapers{padding:16px 0}
.luo-dm-settings .luo-dm-wallpapers h3{font-size:17px;color:#edca8c}
.luo-dm-settings .luo-dm-wallpaper-search{display:block;width:100%;min-height:46px;padding:12px 16px;border-radius:22px;border:1px solid #705532;background:#1a171d;color:#f8e7cb;font-size:16px}
.luo-feed-comments[open]{width:min(100vw,660px)!important;max-height:85dvh!important;border-radius:23px 23px 0 0!important;background:#111014!important;border:1px solid #614c31!important;box-shadow:0 20px 60px #000a!important;padding:9px 18px calc(18px + env(safe-area-inset-bottom,0px))!important}
.luo-feed-comments .luo-sheet-handle{width:39px;height:5px;border-radius:4px;background:#8f785b;margin:1px auto 11px}
.luo-feed-comments .luo-feed-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:7px 3px 16px;border-bottom:1px solid #4f3b2e;position:sticky;top:0;background:#111014ed;z-index:5;backdrop-filter:blur(12px)}
.luo-feed-comments .luo-feed-sheet-head h3{margin:0;font-size:17px;color:#f3e3cb}
.luo-feed-comments .luo-feed-comment-list{display:grid;gap:0;overflow:auto;overscroll-behavior:contain;max-height:55dvh;min-height:70px;padding:8px 0}
.luo-feed-comments .luo-feed-comment{padding:15px 3px;border-bottom:1px solid #51402d55;display:grid;gap:9px;align-content:start}
.luo-feed-comments .luo-comment-identity{display:flex;align-items:center;gap:10px;color:#f5e7d5;font-size:12px}
.luo-feed-comments .luo-comment-avatar{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border:1px solid #a48458;border-radius:50%;background:#302722;color:#f4d093;font-weight:800}
.luo-feed-comments .luo-comment-identity time{margin-inline-start:auto;font-size:10px;color:#948a87}
.luo-feed-comments .luo-feed-comment p{margin:0 0 4px 44px;font-size:14px;color:#e5dad0;overflow-wrap:anywhere;line-height:1.55}
.luo-feed-comments .luo-feed-comment-form{position:sticky;bottom:0;display:flex;align-items:end;gap:9px;border-top:1px solid #4c3927;background:#151216eb;padding:13px 0 3px;backdrop-filter:blur(12px)}
.luo-feed-comments .luo-feed-comment-form textarea{min-height:44px;max-height:100px;flex:1;resize:vertical;border-radius:23px;padding:10px 13px;background:#252025;border:1px solid #66543a;color:#f2e8d7;font-size:15px}
.luo-feed-comments .luo-feed-comment-form button{background:#e5c182;color:#1a1209;border:0;border-radius:18px;min-height:43px;padding:0 17px;font-weight:850}
#sharedDialog[open]{width:min(96vw,730px);max-height:93dvh;background:#111014!important;color:#f5e7d5}
#sharedDialog #sharedFilters{display:grid;grid-template-columns:1fr minmax(110px,170px);gap:10px;padding:12px 0;border-bottom:1px solid #50412e}
#sharedDialog #sharedFilters .field{min-height:46px;border:1px solid #6e5739;border-radius:12px;background:#252026;color:#f8e6cb;font-size:15px;padding:10px}
#sharedDialog #sharedList{display:grid;gap:10px;padding:12px 0;overflow:auto;max-height:60dvh}
#mediaViewer[open]{width:min(100vw,1030px)!important;max-height:99dvh!important;background:#060609!important;border:1px solid #4b3b29!important;border-radius:18px;padding:12px!important}
#mediaViewer #mediaContent{display:grid;place-items:center;min-height:45dvh;max-height:80dvh;overflow:hidden;border-radius:12px;background:radial-gradient(circle,#19171c,#050506)}
#mediaViewer #mediaContent img,#mediaViewer #mediaContent video{max-width:100%;max-height:75dvh;width:auto;height:auto;object-fit:contain}
#mediaViewer #mediaTools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:9px}
#mediaViewer #mediaTools button{min-height:42px;padding:8px 14px;border-radius:10px;border:1px solid #6f5436;background:#252024;color:#eacb91}
#pollDialog[open],#scheduleDialog[open]{width:min(98vw,540px);max-height:91dvh;overflow:auto;background:#131118!important;border:1px solid #795b34!important;border-radius:18px;padding:23px}
#pollDialog form,#scheduleDialog form{display:grid;gap:9px}
#pollDialog form h2,#scheduleDialog form h2{color:#eed5a3;font-size:22px}
#pollDialog form .field,#scheduleDialog form .field{min-height:45px;background:#231f25!important;color:#f7e7d0;border:1px solid #775f42;border-radius:12px;padding:10px}
#pollDialog .dialog-actions,#scheduleDialog .dialog-actions{display:flex;gap:10px;margin-top:14px}
#pollDialog .dialog-actions button,#scheduleDialog .dialog-actions button{flex:1;min-height:45px;border-radius:11px}
@media(max-width:690px){#personDialog.person-dialog[open]{inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}#personDialog #personBody{padding:0 13px calc(25px + env(safe-area-inset-bottom,0px))}#personDialog .dialog-heading{padding-top:calc(13px + env(safe-area-inset-top,0px))!important}#sharedDialog[open],#pollDialog[open],#scheduleDialog[open]{inset:auto 0 0!important;width:100vw!important;max-width:100vw!important;max-height:93dvh!important;margin:0!important;border-radius:23px 23px 0 0!important;padding:18px!important;border-bottom:0!important}#sharedDialog #sharedFilters{grid-template-columns:1fr}#mediaViewer[open]{inset:0!important;width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;border-radius:0!important;margin:0!important;display:flex;flex-direction:column}#mediaViewer #mediaContent{flex:1;min-height:0;max-height:none}#mediaViewer #mediaContent img,#mediaViewer #mediaContent video{max-height:calc(100dvh - 155px)}.luo-dm-settings[open]{inset:0!important;width:100vw!important;max-width:100vw!important;max-height:100dvh!important;height:100dvh!important;margin:0!important;border-radius:0!important;padding:16px!important}.luo-feed-comments[open]{inset:auto 0 0!important;max-width:100vw!important;margin:0!important}.luo-feed-comments .luo-feed-comment-list{max-height:57dvh}}
@media(prefers-reduced-motion:reduce){#personDialog *,#mediaViewer *,#sharedDialog *,.luo-feed-comments *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
