/* ROUND09: all geometry maps 1:1 to the approved 1672 × 941 MASTER. */
.fv-community{display:block;width:calc(100% - 2 * clamp(24px,3vw,64px));max-width:1672px;margin:0 auto 44px;isolation:isolate;color:#f3f6fa;font-family:Georgia,'Times New Roman',serif;text-align:left}
.fv-community *,.fv-dialog *{box-sizing:border-box}
.fv-community [hidden],.fv-dialog [hidden]{display:none!important}
.fv-stage-wrap{position:relative;width:100%;overflow:hidden;aspect-ratio:1672/941}
.fv-stage{position:relative;width:1672px;height:941px;transform:scale(var(--fv-scale,1));transform-origin:0 0;overflow:visible;font-size:16px;line-height:1.35}
.fv-stage img{max-width:none;object-fit:contain;pointer-events:none;user-select:none}
.fv-lucas{position:absolute!important;left:5px!important;top:201px!important;width:289px!important;height:652px!important}
.fv-header{position:absolute!important;left:294px!important;top:78px!important;width:1083px!important;height:228px!important;z-index:2}
.fv-frame{position:absolute!important;left:294px!important;top:264px!important;width:1083px!important;height:605px!important;z-index:4}
.fv-message-surface{position:absolute;left:321px;top:294px;width:1028px;height:472px;background:#01080e;overflow:hidden}
.fv-message-surface img{position:absolute;right:27px;bottom:-2px;width:336px;height:448px;opacity:.19;filter:brightness(.72) saturate(1.2);mask-image:linear-gradient(to right,transparent,#000 35%);-webkit-mask-image:linear-gradient(to right,transparent,#000 35%)}
.fv-messages{position:absolute;left:321px;top:294px;width:1028px;height:472px;padding:0 9px;overflow:auto;scrollbar-color:#00c9ff #011224;scrollbar-width:auto;z-index:3;background:transparent;overscroll-behavior:contain}
.fv-messages::-webkit-scrollbar,.fv-rule-content::-webkit-scrollbar{width:14px;background:#001124;border:1px solid #1e629d;border-radius:8px}
.fv-messages::-webkit-scrollbar-thumb,.fv-rule-content::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#0071be,#00d2ff,#006cb9);border:3px solid #002644;border-radius:9px}
.fv-entry{display:flex;gap:12px;min-height:59px;padding:4px 0;border-bottom:1px solid #14334888;position:relative;line-height:1.3}
.fv-avatar{width:39px;height:39px;border-radius:50%;overflow:hidden;flex:0 0 39px;background:linear-gradient(145deg,#144e92,#082e64);border:1px solid #347abe;display:grid;place-items:center;margin-top:1px}
.fv-avatar img{width:100%;height:100%;object-fit:cover}
.fv-entry-body{min-width:0;flex:1}.fv-nick{font:bold 16px Arial,sans-serif}.fv-time{font:13px Georgia,serif;color:#c1d0df;margin-left:10px}
.fv-entry p{margin:3px 0 0!important;font:17px/1.35 Georgia,serif!important;overflow-wrap:anywhere;color:#f2f6fb}.fv-entry p>span{white-space:pre-wrap}
.fv-empty{padding:24px 20px;color:#b7cde0;font-size:17px}.fv-report{font:11px Arial,sans-serif!important;border:0!important;background:#021528cc!important;color:#5ebfef!important;cursor:pointer;padding:3px 6px!important;margin-left:8px;opacity:.4}.fv-entry:hover .fv-report,.fv-report:focus{opacity:1}
.fv-art-control{position:absolute;top:786px;height:51px;padding:0!important;border:0!important;border-radius:0!important;background-color:transparent!important;background-size:100% 100%!important;background-repeat:no-repeat!important;cursor:pointer;z-index:6;color:transparent!important;box-shadow:none;font:14px Georgia,serif;appearance:none}
.fv-art-control option{color:#eef5ff;background:#05132a}.fv-art-control:focus-visible,.fv-stage button:focus-visible,.fv-stage select:focus-visible{outline:2px solid #9aeaff!important;outline-offset:3px}
.fv-art-control:hover,.fv-art-control[aria-pressed=true]{filter:brightness(1.45);box-shadow:0 0 14px #008aff88}
.fv-bold{background-image:url('button-bold.png')!important}.fv-italic{background-image:url('button-italic.png')!important}.fv-underline{background-image:url('button-underline.png')!important}.fv-strike{background-image:url('button-strike.png')!important}
.fv-color{left:523px;width:86px;top:789px;height:46px;background-image:url('button-color.png')!important}.fv-font{left:612px;width:70px;top:789px;height:46px;background-image:url('button-font.png')!important}.fv-emoji{left:688px;width:50px;height:52px;background-image:url('button-emoji.png')!important}
#messageInput{position:absolute;left:749px;top:789px;width:380px;height:51px;resize:none;min-height:0;max-height:51px;margin:0;padding:12px 14px!important;border:1px solid #00b8ef!important;border-radius:3px!important;background:linear-gradient(135deg,#081b32,#010811 65%)!important;color:#eef7ff;z-index:6;font:italic 16px/24px Georgia,serif;box-shadow:inset 0 0 8px #0068b044;overflow:auto}
#messageInput::placeholder{color:#a6c4df;opacity:1}
.fv-jewel{position:absolute;left:1138px;top:777px;width:59px;height:73px;z-index:6}
.fv-send{position:absolute;left:1187px;top:776px;width:164px;height:79px;padding:0!important;border:0!important;background:transparent url('button-send.png') center/100% 100% no-repeat!important;border-radius:0!important;z-index:7;cursor:pointer}
.fv-send:hover{filter:brightness(1.3)}.fv-send:disabled{filter:grayscale(.7);cursor:wait}
.fv-rules{position:absolute;left:1371px;top:189px;width:298px;height:573px;background:transparent}
.fv-rules-frame{position:absolute;inset:0;width:298px;height:573px;z-index:2}
.fv-rules:before{content:'';position:absolute;inset:15px;background:#01080e}
.fv-rule-tabs{position:absolute;left:19px;top:22px;width:258px;height:41px;display:flex;gap:0;z-index:3}
/* Language labels exist only in HTML; both tabs use the same active/idle skins. */
.fv-rule-tabs button{width:50%;height:41px;border:0!important;padding:0!important;background:transparent url('rule-tab-idle-r091.png') center/100% 100% no-repeat!important;font:14px Georgia,serif!important;color:#e5f2ff!important;text-shadow:0 0 4px #49b9ff;cursor:pointer}
.fv-rule-tabs button[aria-pressed=false]{filter:brightness(.8)}
.fv-rule-tabs button[aria-pressed=true]{background-image:url('rule-tab-active-r091.png')!important;filter:brightness(1.08);box-shadow:0 0 12px #007fff55}
.fv-rules h3{position:absolute;left:25px;top:82px;width:250px;margin:0!important;font:bold 18px/24px Georgia,serif!important;color:#ecdbb2!important;text-align:center;z-index:3;white-space:nowrap}
.fv-rule-content{position:absolute;left:26px;top:112px;width:249px;height:432px;padding-right:6px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#00b9ff #001124;z-index:3}
.fv-rule-content p{position:relative;padding:0 0 0 58px!important;margin:8px 0 18px!important;color:#f2f5fb!important;font:17px/1.3 Georgia,serif!important;min-height:40px;overflow-wrap:anywhere}
.fv-rule-content p:before{content:'';position:absolute;left:2px;top:2px;width:41px;height:41px;background:center/contain no-repeat url('rule-icon-respect.png')}
.fv-rule-content p:nth-child(2):before{background-image:url('rule-icon-people.png')}.fv-rule-content p:nth-child(3):before{background-image:url('rule-icon-heart.png')}.fv-rule-content p:nth-child(4):before{background-image:url('rule-icon-shield.png')}.fv-rule-content p:nth-child(n+5):before{background-image:url('rule-icon-star.png')}
.fv-account-links{position:absolute;left:330px;top:243px;z-index:5;display:flex;gap:10px}.fv-account-links button{padding:2px 6px!important;font:12px Georgia,serif!important;background:#010a19c9!important;color:#bcdfff!important;border:1px solid #1375b9!important;border-radius:3px!important;cursor:pointer}
.fv-helper{position:absolute;left:325px;top:875px;width:1020px;display:flex;align-items:center;gap:12px;font:12px Arial,sans-serif;color:#afd0ea}.fv-helper select,.fv-helper button{padding:3px 7px!important;background:#021020!important;border:1px solid #185187!important;color:#c4e4ff!important;font:12px Arial,sans-serif!important;border-radius:3px!important}.fv-helper span{margin-left:auto}
.fv-system{position:absolute;left:325px;top:903px;width:1030px;margin:0;font:14px/20px Arial,sans-serif;color:#9cdbff;white-space:normal}
.fv-emoji-panel{position:absolute;left:688px;top:704px;width:342px;padding:10px;display:flex;flex-wrap:wrap;gap:5px;background:#031024;border:1px solid #168dd1;border-radius:5px;box-shadow:0 0 20px #006dff55;z-index:20}.fv-emoji-panel button{padding:4px 6px!important;font-size:23px!important;cursor:pointer;background:#082647!important;border:1px solid #116caa!important;border-radius:4px!important}
.fv-sr,.fv-trap{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.fv-dialog{width:min(94vw,570px);max-height:88vh;overflow:auto;padding:28px!important;border:7px solid #0d385b!important;border-image:linear-gradient(135deg,#090d14,#4382b0,#00baff,#111c2c,#62839e) 1!important;background:radial-gradient(ellipse at top,#092650,#020913 65%)!important;box-shadow:0 0 28px #007fff88,inset 0 0 18px #007fff33;color:#e6f1fb!important;font:15px/1.5 Georgia,serif!important;text-align:left;z-index:1000}
.fv-dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.fv-dialog[data-admin]{width:min(96vw,1000px)}.fv-dialog h2{color:#bde5ff!important;text-shadow:0 0 14px #008cff;font:26px Georgia,serif!important}.fv-dialog h3{font:19px Georgia,serif!important;color:#b3dfff!important}.fv-dialog .dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.fv-dialog label{display:grid;gap:5px;margin:12px 0}.fv-dialog input,.fv-dialog select,.fv-dialog textarea{width:100%;padding:10px!important;border:1px solid #166ba4!important;background:#010914!important;color:#eff6ff!important;font:15px Arial,sans-serif!important;border-radius:3px}.fv-dialog textarea{min-height:160px;resize:vertical}.fv-dialog button{background:linear-gradient(#0b3c6f,#04152d)!important;color:#e1f4ff!important;border:1px solid #22a5e5!important;padding:8px 12px!important;border-radius:3px!important;font:14px Georgia,serif!important;cursor:pointer}.fv-dialog button:hover{box-shadow:0 0 12px #057cff88}.fv-dialog .admin-row{border-bottom:1px solid #164267;padding:10px 0;overflow-wrap:anywhere}.fv-dialog .admin-row button{margin:4px}.fv-dialog .admin-avatar{width:90px;height:90px;object-fit:cover}.fv-dialog #authFeedback,.fv-dialog #adminFeedback{color:#8bdcff}.fv-dialog section{margin:24px 0}
.fv-fmt-bold{font-weight:bold!important}.fv-fmt-italic{font-style:italic!important}.fv-fmt-underline{text-decoration-line:underline!important}.fv-fmt-strike{text-decoration-line:line-through!important}.fv-fmt-underline.fv-fmt-strike{text-decoration-line:underline line-through!important}.fv-color-blue{color:#5da5ff!important}.fv-color-cyan{color:#78edff!important}.fv-color-gold{color:#ffda70!important}.fv-color-green{color:#90ed6c!important}.fv-color-pink{color:#ff9ae1!important}.fv-font-serif{font-family:Georgia,serif!important}.fv-font-sans{font-family:Arial,sans-serif!important}
@media(max-width:700px){.fv-community,.fv-dialog{display:none!important}}

.fv-bold{left:325px;width:47px}.fv-italic{left:374px;width:46px}.fv-underline{left:421px;width:47px}.fv-strike{left:469px;width:47px}.fv-stage:before{content:"";position:absolute;left:320px;top:786px;width:1030px;height:65px;background:#01080e;z-index:1}

/* ROUND 09.1: CSP-safe replacements for generated inline declarations. */
.fv-avatar-silhouette{width:32px;height:32px}
.fv-nick-tone-0{color:#00e5ff}
.fv-nick-tone-1{color:#ff00fb}
.fv-nick-tone-2{color:#ffe600}
.fv-nick-tone-3{color:#72f200}
.fv-nick-tone-4{color:#ff8500}
.fv-nick-tone-5{color:#009eff}
.fv-nick-tone-6{color:#ff3549}
