/* All application selectors are scoped; no global theme button, row or image resets. */
.tci-fb { --tcifb-primary:#165d85; --tcifb-bg:#edf2f7; --tcifb-height:580px; --tcifb-mobile-height:450px; position:relative; isolation:isolate; width:100%; max-width:100%; margin:20px auto; border:1px solid #dfe5ec; border-radius:16px; overflow:hidden; background:white; color:#233445; font-family:inherit; font-size:14px; line-height:1.5; text-align:left; box-shadow:0 12px 35px #162f4910; }
.tci-fb *, .tci-fb *::before, .tci-fb *::after { box-sizing:border-box; }
.tci-fb [hidden] { display:none !important; }
.tci-fb button, .tci-fb input { font:inherit; }
.tci-fb button, .tci-fb a, .tci-fb input { -webkit-tap-highlight-color:transparent; }
.tci-fb :focus-visible { outline:3px solid var(--tcifb-primary); outline-offset:3px; }
.tci-fb-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px 18px; border-bottom:1px solid #eef1f5; }
.tci-fb-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:1.8px; color:var(--tcifb-primary); margin-bottom:4px; }
.tci-fb .tci-fb-title { font-family:inherit; font-size:22px; font-weight:650; line-height:1.3; color:#19364c; margin:0; text-transform:none; letter-spacing:-.3px; }
.tci-fb-tag { flex-shrink:0; font-size:9px; font-weight:700; letter-spacing:1.4px; color:#73808d; border:1px solid #e4e9ef; padding:7px 10px; border-radius:5px; }
.tci-fb-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 18px; background:white; position:relative; z-index:3; border-bottom:1px solid #e3e9ef; }
.tci-fb-tools, .tci-fb-navigation { display:flex; align-items:center; gap:5px; }
.tci-fb .tci-fb-btn { display:inline-flex; justify-content:center; align-items:center; flex-shrink:0; gap:7px; min-width:36px; min-height:38px; height:38px; margin:0; padding:7px 10px; border:1px solid transparent; border-radius:7px; box-shadow:none; color:#36516b; background:transparent; font:inherit; font-size:12px; font-weight:600; line-height:1; text-align:center; text-decoration:none; text-transform:none; letter-spacing:0; cursor:pointer; transition:background .16s,color .16s; }
.tci-fb .tci-fb-btn::before, .tci-fb .tci-fb-btn::after { content:none; }
.tci-fb .tci-fb-btn:hover, .tci-fb .tci-fb-btn[aria-expanded=true] { color:var(--tcifb-primary); background:#edf3f8; border-color:#dce7ef; }
.tci-fb .tci-fb-btn:disabled { opacity:.32; cursor:default; pointer-events:none; }
.tci-fb .tci-fb-icon { width:38px; padding:8px; }
.tci-fb svg { display:block; flex-shrink:0; width:20px; height:20px; }
.tci-fb .tci-fb-jump { display:flex; align-items:center; gap:7px; margin:0; color:#768596; white-space:nowrap; }
.tci-fb .tci-fb-jump input { display:block; width:48px; height:33px; min-height:0; padding:4px; margin:0; color:#24435d; border:1px solid #dce4ed; border-radius:5px; background:#f7f9fb; box-shadow:none; text-align:center; line-height:1; font-size:13px; -moz-appearance:textfield; }
.tci-fb-jump input::-webkit-inner-spin-button, .tci-fb-jump input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.tci-fb-total { font-size:12px; }
.tci-fb-body { position:relative; }
.tci-fb-stage { position:relative; height:var(--tcifb-height); display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(ellipse at center,#ffffff65,transparent 75%),var(--tcifb-bg); perspective:2400px; }
.tci-fb-status { position:relative; text-align:center; width:min(90%,440px); padding:25px; color:#637589; font-size:14px; }
.tci-fb-status p { margin:14px 0; }
.tci-fb-original { color:var(--tcifb-primary); font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.tci-fb-spinner { display:inline-block; width:32px; height:32px; border-radius:50%; border:2px solid #cedae4; border-top-color:var(--tcifb-primary); animation:tcifb-spin .8s linear infinite; }
@keyframes tcifb-spin { to { transform:rotate(360deg); } }
.tci-fb-book { position:relative; flex-shrink:0; perspective:2200px; transform-style:preserve-3d; touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-select:none; }
.tci-fb-paper { position:absolute; top:0; width:50%; height:100%; margin:0; padding:0; background:white; box-shadow:0 5px 16px #16304725; overflow:hidden; }
.tci-fb-left { left:0; border-radius:3px 0 0 3px; }
.tci-fb-right { left:50%; border-radius:0 3px 3px 0; }
.tci-fb-whole { width:100%; left:0; border-radius:3px; }
.tci-fb-paper::after { content:''; position:absolute; inset:0; pointer-events:none; }
.tci-fb-left::after { background:linear-gradient(to left,#1329411a,transparent 9%); }
.tci-fb-right::after { background:linear-gradient(to right,#1329411a,transparent 9%); }
.tci-fb .tci-fb-page-image { display:block; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; border-radius:0; object-fit:contain; box-shadow:none; }
.tci-fb-blank { visibility:hidden; box-shadow:none; }
.tci-fb-sheet { position:absolute; top:0; width:50%; height:100%; transform-style:preserve-3d; z-index:5; }
.tci-fb-forward { left:50%; transform-origin:left center; }
.tci-fb-backward { left:0; transform-origin:right center; }
.tci-fb-single .tci-fb-sheet { width:100%; left:0; }
.tci-fb-face { width:100%; height:100%; position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; box-shadow:0 5px 28px #13283b3a; }
.tci-fb-front { transform:rotateY(0deg) translateZ(.2px); }
.tci-fb-back { transform:rotateY(180deg) translateZ(.2px); }
.tci-fb-face::after { background:linear-gradient(90deg,#00000013,transparent 22%,transparent 80%,#0000000d); }
.tci-fb .tci-fb-video-badge { position:absolute; bottom:18px; right:14px; z-index:2; display:inline-flex; align-items:center; min-height:34px; height:auto; margin:0; padding:9px 12px; border:1px solid #ffffff60; border-radius:50px; color:white; background:var(--tcifb-primary); box-shadow:0 4px 14px #12375438; font-size:11px; line-height:1; text-transform:none; letter-spacing:0; cursor:pointer; }
.tci-fb-footer { display:flex; justify-content:space-between; gap:12px; padding:11px 22px; background:#fff; border-top:1px solid #e1e8ef; color:#7a8998; font-size:11px; }
.tci-fb-page-label { white-space:nowrap; font-weight:600; color:#556d81; }
.tci-fb-panel { position:absolute; z-index:8; top:0; left:0; bottom:0; width:310px; max-width:90%; background:#fffffff7; backdrop-filter:blur(10px); border-right:1px solid #dfe7ee; box-shadow:12px 0 40px #1c354223; display:flex; flex-direction:column; }
.tci-fb-panel-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 14px; border-bottom:1px solid #e8edf3; }
.tci-fb-panel-content { overflow:auto; overscroll-behavior:contain; padding:8px 0 18px; }
.tci-fb .tci-fb-content-link { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; min-height:44px; height:auto; margin:0; padding:12px 14px; border:0; border-radius:0; color:#355269; background:transparent; font:inherit; font-size:13px; font-weight:500; line-height:1.45; text-align:left; text-transform:none; letter-spacing:0; box-shadow:none; cursor:pointer; }
.tci-fb-content-link span { overflow-wrap:anywhere; }
.tci-fb-content-link small { flex-shrink:0; font-size:11px; color:#82919e; }
.tci-fb .tci-fb-content-link:hover { background:#ecf2f7; color:var(--tcifb-primary); }
.tci-fb-video-row { border-bottom:1px solid #edf1f5; padding-bottom:8px; }
.tci-fb .tci-fb-goto-video { height:auto; min-height:28px; margin:0 14px; padding:0; border:0; background:none; color:var(--tcifb-primary); text-transform:none; font:inherit; font-size:11px; letter-spacing:0; box-shadow:none; cursor:pointer; }
.tci-fb-empty { padding:20px; color:#6e8091; font-size:13px; }
.tci-fb .tci-fb-message { margin:0; padding:10px 20px; background:#fff7e6; color:#7b581e; font-size:12px; }
.tci-fb .tci-fb-dialog { position:fixed; inset:0; margin:auto; padding:0; width:min(920px,94vw); max-width:94vw; max-height:92vh; max-height:92dvh; border:1px solid #dfe7ee; border-radius:14px; background:white; color:#234258; box-shadow:0 25px 100px #06172566; overflow:hidden; font-family:inherit; }
.tci-fb-dialog::backdrop { background:#091a2bbd; backdrop-filter:blur(5px); }
.tci-fb-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; border-bottom:1px solid #e8edf2; }
.tci-fb .tci-fb-dialog-head h3 { margin:0; padding:0; font:inherit; font-size:16px; font-weight:600; line-height:1.3; color:#234258; text-transform:none; }
.tci-fb-dialog-head .tci-fb-icon { font-size:27px; }
.tci-fb-video-area { position:relative; aspect-ratio:16/9; min-height:200px; background:#102436; }
.tci-fb-video-area iframe { position:absolute; inset:0; display:block; width:100%; height:100%; min-height:200px; max-width:none; margin:0; border:0; }
.tci-fb-consent { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; height:100%; min-height:200px; padding:26px; text-align:center; color:#e5ecf4; }
.tci-fb-consent p { max-width:410px; margin:0; font-size:13px; line-height:1.65; }
.tci-fb-play-symbol { font-size:30px; color:#7db7da; }
.tci-fb .tci-fb-primary, .tci-fb .tci-fb-primary:hover { background:var(--tcifb-primary); color:white; border-color:#ffffff30; padding:12px 18px; }
.tci-fb .tci-fb-video-note { margin:0; padding:12px 18px; font-size:12px; color:#758595; }
.tci-fb-video-note a { color:var(--tcifb-primary); text-decoration:underline; }
.tci-fb .tci-fb-zoom-dialog { width:min(1200px,96vw); max-width:96vw; height:94vh; height:94dvh; max-height:94dvh; }
.tci-fb-zoom-dialog[open] { display:flex; flex-direction:column; }
.tci-fb-zoom-tools { display:flex; align-items:center; justify-content:center; gap:14px; padding:6px; border-bottom:1px solid #e5ecf2; }
.tci-fb-zoom-tools span { width:45px; text-align:center; font-size:12px; }
.tci-fb-zoom-area { flex:1; min-height:0; overflow:auto; background:#e8eef3; padding:16px; text-align:center; overscroll-behavior:contain; }
.tci-fb .tci-fb-zoom-area img { display:block; max-width:none; height:auto; margin:0 auto; background:white; box-shadow:0 4px 18px #20344525; }
.tci-fb:fullscreen, .tci-fb.tci-fb-full-window { width:100vw; height:100vh; height:100dvh; max-width:none; margin:0; border:0; border-radius:0; display:flex; flex-direction:column; background:white; }
.tci-fb.tci-fb-full-window { position:fixed; inset:0; z-index:2147483000; }
.tci-fb:fullscreen .tci-fb-body, .tci-fb-full-window .tci-fb-body { flex:1; min-height:0; }
.tci-fb:fullscreen .tci-fb-stage, .tci-fb-full-window .tci-fb-stage { height:100%; }
.tci-fb-password { display:flex; justify-content:center; gap:8px; }
.tci-fb-password input { width:180px; max-width:65%; height:38px; padding:6px 9px; border:1px solid #bbcbd9; border-radius:6px; margin:0; background:white; }
.tci-fb .tci-fb-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:740px) {
    .tci-fb { border-radius:11px; }
    .tci-fb-header { padding:17px 16px; }
    .tci-fb .tci-fb-title { font-size:18px; }
    .tci-fb-tag { display:none; }
    .tci-fb-toolbar { flex-wrap:wrap; padding:8px 10px; gap:6px; }
    .tci-fb-stage { height:var(--tcifb-mobile-height); }
    .tci-fb-footer { padding:10px 13px; font-size:10px; }
    .tci-fb-hint { max-width:64%; }
    .tci-fb .tci-fb-btn { padding:7px; font-size:11px; }
    .tci-fb .tci-fb-icon { width:34px; min-width:34px; }
    .tci-fb-tools { gap:2px; }
    .tci-fb .tci-fb-jump input { width:39px; }
    .tci-fb-navigation { gap:1px; }
    .tci-fb .tci-fb-video-badge { bottom:13px; right:11px; }
    .tci-fb-consent { padding:18px; gap:9px; }
}
@media(max-width:430px) {
    .tci-fb-toolbar { justify-content:center; }
    .tci-fb-navigation { order:3; width:100%; justify-content:center; border-top:1px solid #f0f3f6; padding-top:5px; }
    .tci-fb-tools:first-child { margin-right:auto; }
    .tci-fb-eyebrow { font-size:9px; letter-spacing:1.2px; }
    .tci-fb .tci-fb-title { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) { .tci-fb *, .tci-fb *::before, .tci-fb *::after { transition:none !important; animation-duration:.01ms !important; } }
/* Narrow UX Builder columns also adapt independently of viewport width. */
.tci-fb { container-type:inline-size; }
@container(max-width:700px) {
    .tci-fb-header { padding:17px 16px; }
    .tci-fb-title { font-size:18px !important; }
    .tci-fb-tag { display:none; }
    .tci-fb-toolbar { flex-wrap:wrap; padding:8px 10px; gap:6px; }
    .tci-fb-tools { gap:2px; }
}
@container(max-width:440px) {
    .tci-fb-toolbar { justify-content:center; }
    .tci-fb-navigation { order:3; width:100%; justify-content:center; border-top:1px solid #f0f3f6; padding-top:5px; }
    .tci-fb-tools:first-child { margin-right:auto; }
}

/* 1.1.0: real curved mesh overlays only while a sheet is moving. */
.tci-fb-curl-canvas { position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; display:block; pointer-events:none; z-index:4; margin:0; padding:0; border:0; background:transparent; }
.tci-fb-stage { touch-action:pan-y pinch-zoom; }
.tci-fb-book { cursor:grab; }
.tci-fb-dragging, .tci-fb-dragging .tci-fb-book { cursor:grabbing; }
.tci-fb-paper { box-shadow:0 1px 0 #d4d1ca,0 3px 0 -1px #fff,0 4px 0 -1px #ccc9c2,0 6px 0 -2px #fff,0 7px 0 -2px #c5c2bb,0 12px 25px #16304730; }
.tci-fb-blank { box-shadow:none; }
.tci-fb-turning .tci-fb-paper { pointer-events:none; }
.tci-fb-left::after { background:linear-gradient(to left,#18212a25,transparent 13%); }
.tci-fb-right::after { background:linear-gradient(to right,#18212a25,transparent 13%); }
